Software and its Types; Attributes of Good Software; Software Engineering and its Importance; Fundamental Software Engineering Activities; Difference between Software Engineering and Computer Science; Difference between Software Engineering and System Engineering; Challenges and Cost of Software Engineering; Professional Software Development; Software Engineering Diversity; Internet Software Engineering; Software Engineering Ethics
Chapter 2
Software Processes
Software Process; Software Process Models (Waterfall Model; Incremental Development; Integration and Configuration); Software Process Activities (Software Specification, Software Design and Implementation; Software Validation; Software Evolution); Coping with Change (Prototyping, Incremental Delivery); Process Improvement
Chapter 3
Agile Software Development
Agile Development; Plan-Driven vs. Agile Development; Agile Methods; Agile Development Techniques; Introduction to Agile Project Management
Chapter 4
Requirements Engineering
Concept of User and System Requirements; Functional and Non-Functional Requirements; Requirements Engineering Process; Requirements Elicitation; Requirements Specification; Requirements Validation; Requirements Change
Chapter 5
System Modeling
Introduction to System Modeling; Context Models; Interaction Models; Structural Models; Behavioral Models; Model-Driven Architecture
Chapter 6
Architectural Design
Introduction; Architectural Design Decisions; Architectural Views; Architectural Patterns; Application Architectures\n72
Chapter 7
Design and Implementation
Introduction; Object-Oriented Design using UML; Design Patterns; Implementation Issues; Open-Source Development
Chapter 8
Software Testing
Introduction; Validation and Verification Testing; Software Inspection; Software Testing Process; Development Testing; Test-Driven Development; Release Testing; User Testing
Chapter 9
Software Evolution
Evolution Process; Legacy Systems; Software Maintenance
Chapter 10
Software Management
Software Project Management; Project Management Activities (Project Planning, Risk Management, People Management, Reporting and Proposal Writing); Project Planning (Software Pricing, Plan-Driven Development, Project Scheduling, Estimation Techniques, COCOMO Cost Modeling); Introduction to Quality Management and Configuration Management Laboratory / Project Work: Students should prepare a project report along with software product using different concepts of software engineering. The project can be done in groups with at most four members in each group using any suitable database, programming, interfacing technologies, and project management concepts.