Unit I: Introduction: Introduction to Software Engineering, Software Components, Software
Characteristics, Software Crisis, Software Engineering Processes, Similarity and Differences from Conventional Engineering Processes, Software Quality Attributes. Software Development Life
Cycle (SDLC) Models: Water Fall Model, Prototype Model, Spiral Model, Evolutionary
Development Models, Iterative Enhancement Models.
Unit II : Software Requirement Specifications (SRS): Requirement Engineering Process: Elicitation,
Analysis, Documentation, Review and Management of User Needs, Feasibility Study, Information
Modelling, Data Flow Diagrams, Entity Relationship Diagrams, Decision Tables, SRS Document,
IEEE Standards for SRS. Software Quality Assurance (SQA): Verification and Validation, SQA
Plans, Software Quality Frameworks, ISO 9000 Models, SEI-CMM Model.
Software Design: Basic Concept of Software Design, Architectural Design, Low Level Design:
Modularization, Design Structure Charts, Pseudo Codes, Flow Charts, Coupling and Cohesion
Measures, Design Strategies: Function Oriented Design, Object Oriented Design, Top-Down and
Bottom-Up Design. Software Measurement and Metrics: Various Size Oriented Measures:
Halestead’s Software Science, Function Point (FP) Based Measures, Cyclomatic Complexity
Measures: Control Flow Graphs.
Software Testing: Testing Objectives, Unit Testing, Integration Testing, Acceptance Testing,
Regression Testing, Testing for Functionality and Testing for Performance, TopDown and Bottom-
Up Testing Strategies: Test Drivers and Test Stubs, Structural Testing (White Box Testing),
Functional Testing (Black Box Testing), Test Data Suit Preparation, Alpha and Beta Testing of
Products. Static Testing Strategies: Formal Technical Reviews (Peer Reviews), Walk Through,
Code Inspection, Compliance with Design and Coding Standards.
Software Maintenance and Software Project Management: Software as an Evolutionary Entity,
Need for Maintenance, Categories of Maintenance: Preventive, Corrective and Perfective
Maintenance, Cost of Maintenance, Software Re- Engineering, Reverse Engineering. Software
Configuration Management Activities, Change Control Process, Software Version Control, An
Overview of CASE Tools. Estimation of Various Parameters such as Cost, Efforts,