Software Engineering

When computer software succeeds- when it meets the needs of the people who use it,when it performs flawlessly over a long period of time,when it is easy to modify and even easier to use- it can change things for the better.But when software fails-when users are dissatisfied,when it is error prone,when it is difficult to change and even harder to use-bad things can and do happen.We all want to build software that makes things better,avoiding the bad things that lurk in the shadow of failed efforts.To succeed,we need discipline when software is designed and built.We need an engineering approach.

Syllabus

i) Introduction, What is software engineering?

ii) Software Development Life Cycle, Requirements Analysis, Software Design,
Coding, Testing, Maintenance etc.

iii) Software Requirement Specification, Waterfall Model, Prototyping Model, Iterative Enhancement Model, Spiral Model, Role of Management in Software Development, Role of Metrics and Measurement, Problem Analysis, Requirement Specification,Validation, Metrics, Monitoring and Control.

iv) System Design, Problem Partitioning, Abstraction, Top-down and bottom-up
design, Structured Approach, Functional v/s Object-Oriented Approach, Design
specification & verification, metrics, Monitoring & Control

v) Coding, Top-down & Bottom-up, Structured Programming, Information Hiding,
Programming Style, Internal Documentation, Verification, Metrics, monitoring &
control

vi) Testing, Levels of Testing- Functional Testing, Structural Testing, Test Plan, Test
Cases Specification, Reliability assessment.

vii) Software Project Management, Cost Estimation, Project Scheduling, Staffing,
Software Configuration Management, Quality Assurance, Project Monitoring, Risk
Management

Text Book
Software Engineering- A Practitioners Approach, R. Pressman, McGraw Hill An Integrated Approach to Software Engineering, Pankaj Jalote, Narosa.

Reference:

Object Oriented Modelling and Design, J. Rumbaugh, M.Blaha, W. Premerlani, F.
Eddy and W. Loresen, Prentice Hall of India
Fundamentals of Software Engineering, C.Ghezzi, M. Jazayeri and D. Mandrioli,
Prentice Hall of India
Software Engineering, S. L. Pfleeger, MacMillan
Software Engineering Concepts, Richard E. Fairley, TMG
Software Quality, Mordechai Ben-Menachemm, Garry S Marlis, Thompson Learning

Term Work
Should contain at least 10 assignments covering the syllabus

Tutorial
Tutorial should contain 5 assignments