Software and Software Engineering: The Nature of Software, The Unique Nature of Web Apps, Software Engineering. The Software Process, Software Engineering Practice, Software Myths.


Process Models: A Generic Process Model, Process Assessment and Improvement Prescriptive Process Models, Specialized Process Models, The Unified Process Personal and Team Process Models, Process Technology, Product and Process.


Understanding requirements: Requirements Engineering, Establishing the Groundwork, Eliciting Requirements, Developing Use Cases, Building the Requirement Model, Negotiating Requirements, Validating Requirements.



Requirements Modeling: Requirements Analysis, Scenario-Based Modeling. Design Concepts: Design within the Context of Software Engineering, The Design Process, Design Concepts. Architectural Design: Software Architecture, Architecture Genres, Architecture Styles, Architecture Design, Assessing Alternative Architecture Designs, Architecture Mapping Using Data Flow.


Component level Design: Designing Class-Based Components, Conducting Component- Level Design, Designing Traditional Components, Component-Based Development.



Quality Concepts: Software Quality, Achieving Software Quality.


Review Techniques: Cost Impact of Software Defects.


Software Quality Assurance: Background Issues, Elements of Software Quality Assurance, SQA Tasks, Goals and Metrics, Formal Approaches to SQA, Statistical Software Quality Assurance, Software Reliability, The ISO 9000 Quality Standards, The SQA Plan.


Software Testing Strategies: A Strategic Approach to Software Testing, Strategic Issues, Test Strategies for Conventional Software, Validation Testing, System Testing, The Art of Debugging.



Testing Conventional Applications: Software Testing Fundamentals, Internal and External Views of Testing, White-Box Testing, Basis Path Testing, Control Structure Testing, Black – BoxTesting, Model-Based Testing. Software Configuration Management: Software Configuration Management.


Product Metrics: A Framework for Product Metrics, Metrics for the Requirements Model, Metrics for the Design Model, Metrics for Testing, Metrics for Maintenance.



Estimation: Observations on Estimation, The Project Planning Process, Software Scope and Feasibility, Resources, Software Project Estimation, Decomposition Techniques, Empirical Estimation Models, Specialized Estimation Techniques, The Make/Buy Decision.


Risk Management: Reactive versus Proactive Risk Strategies, Software Risks, Risk Identification, Risk Projection, Risk Refinement, Risk Mitigation, Monitoring, and Management, The RMMM Plan.


Software Process Improvement: The SPI Process, The CMMI, The people CMM, Other SPI Frameworks, SPI Return on Investment, SPI Trends.


Suggested Reading:

1. Roger S.Pressman, Software Enigneering: A Practitioners Approach, Seventh Edition, McGraHill, 2009.

2. Ali Behforoz and Frederic J.Hadson, Software Engineering Fundamentals, Oxford University Press, 1996.

3. Pankaj Jalote “An Integrated Approach to Software Engineering, Third Edition, Narosa Publishing house, 2008.

4. James F.Peters, Witold Pedrycz, Software Engineering-An enginnering Approach, John Wiley Inc., 2000.