Monday 24 February 2014

Software Engineering & Project Management

RATIONALE:
The purpose of this subject is to cover the underlying concepts and techniques used in
Software Engineering & Project Management. Some of these techniques can be used in
software design & its implementation.
PREREQUISITE:-
The students should have at least one year of experience in programming a high-level
language and databases. In addition, a familiarity with software development life cycle
will be useful in studying this subject..


Unit I: The Software Product and Software Process:
Software Product and Process Characteristics, Software Process Models: Linear
Sequential Model, Prototyping Model, RAD Model, Evolutionary Process Models like
Incremental Model, Spiral Model, Component Assembly Model, RUP and Agile
processes. Software Process customization and improvement, CMM, Product and
Process Metrics
Unit II: Requirement Elicitation, Analysis, and Specification
Functional and Non-functional requirements, Requirement Sources and Elicitation
Techniques, Analysis Modeling for Function-oriented and Object-oriented software
development, Use case Modeling, System and Software Requirement Specifications,
Requirement Validation, Traceability
Unit III: Software Design
The Software Design Process, Design Concepts and Principles, Software Modeling and
UML, Architectural Design, Architectural Views and Styles, User Interface Design,
Function-oriented Design, SA/SD Component Based Design, Design Metrics
Unit IV: Software Analysis and Testing
Software Static and Dynamic analysis, Code inspections, Software Testing
Fundamentals, Software Test Process, Testing Levels, Test Criteria, Test Case Design,
Test Oracles, Test Techniques, Black-Box Testing, White-Box Unit Testing and Unit
Testing Frameworks, Integration Testing, System Testing and other Specialized
Testing, Test Plan, Test Metrics, Testing Tools. , Introduction to Object-oriented
analysis, design and comparison with structured software engg.
Unit V: Software Maintenance & Software Project Measurement
Need and Types of Maintenance, Software Configuration Management (SCM), Software
Change Management, Version Control, Change control and Reporting, Program
Comprehension Techniques, Re-engineering, Reverse Engineering, Tool Support.
Project Management Concepts, Feasilibility Analysis, Project and Process Planning,
Resources Allocations, Software efforts, Schedule, and Cost estimations, Project
Scheduling and Tracking, Risk Assessment and Mitigation, Software Quality Assurance
(SQA). Project Plan, Project Metrics.


Practical and Lab work
Lab work should include a running case study problem for which different deliverables
at the end of each phase of a software development life cycle are to be developed. This
will include modeling the requirements, architecture and detailed design. Subsequently
the design models will be coded and tested. For modeling, tools like Rational Rose
products. For coding and testing, IDE like Eclipse, NetBeans, and Visual Studio can be
used.


Suggested Reading:
.
1. Pankaj Jalote ,”An Integrated Approach to Software Engineering”, Narosa Pub, 2005
2. Rajib Mall, “Fundamentals of Software Engineering” Second Edition, PHI Learning
3. R S. Pressman ,”Software Engineering: A Practitioner's Approach”, Sixth edition
2006, McGraw-Hill.
4. Sommerville,”Software Enginerring”,Pearson Education.
5. Richard H.Thayer,”Software Enginerring & Project Managements”,Willey India
6. Waman S.Jawadekar,”Software Enginerring”, TMH
7. Schwalbe,”IT Project Managements”,Cengage Learning.

No comments:

Post a Comment