ITPC602 SOFTWARE ENGINEERING

UNIT I
INTRODUCTION TO SOFTWARE ENGINEERING: Software Engineering Discipline – Evolution and Impact– Software Development projects – Emergence of Software Engineering – Computer System Engineering Software Life Cycle Models: classic Waterfall model – Iterative Lifecycle model – prototyping model – Evolutionary model –spiral model – Comparison of Life cycle models.

UNIT II
SOFTWARE PROJECT MANAGEMENT AND REQUIREMENTS ANALYSIS: Responsibilities of a Software Project Manager – Project Planning – Metrics for Project Size Estimation – Empirical Estimation Techniques – CO-COMO – Halstead’s Software Science – Staffing Level Estimation – Scheduling – Organization and Team structures –Staffing – Risk Management – Software Configuration Management - Requirements Analysis and Specification - Re-quirements Gathering and Analysis – Software Requirements specification – Formal System Specification – Axiomatic Specification - Algebraic Specification – 4GL.

UNIT III
SOFTWARE DESIGN: Outcome of a Design Process – Characteristics of a Good Software Design – Coupling and Cohesion – Approaches to Software Design – Object Oriented Vs Function Oriented Software Design approaches, Function Oriented Software Design: Structured Analysis – Data Flow Diagrams – Applying DFD to Real time systems– Structured and Detailed Design.

UNIT IV
CODING AND TESTING: Coding – Software Documentation – Testing – Unit Testing – Black Box testing – White Box testing – Debugging – Program Analysis tools – Integration testing – Testing Object Oriented programs – SystemTesting – Issues.

UNIT V
SOFTWARE RELIABILITY AND QUALITY: Software Reliability – Software Quality – ISO 9000 – SEI CMM– Six Sigma - CASE and Software Maintenance - CASE environment – CASE support in Software Life cycle –Characteristics of CASE tools – characteristics of software maintenance – software reverse engineering – softwaremaintenance process models.

Text Books:
1. Rajib Mall, “Fundamentals of Software Engineering”, PHI Learning, 5th Edition,2018.
References:
1. Roger S.Pressman, “Software Engineering:A Prac”,McGraw-Hill International Edition, 7th Edition,2009.
2. S.L.Pfleeger and J.M.Atlee, “Software Engineering Theory and Practice”,Pearson Education, 4th Edition,2012.
3. Pankaj Jalote, “An Integrated Approach to Software Engineering”,Narosa, 3rd Edition,2008.
4. Ian Sommerville, “Software Engineering”,Pearson Education, 10th Edition,2015.
ONLINE/NPTEL Courses:
1. Software Engineering: https://nptel.ac.in/courses/106105182