Software Engineering

Objective:
The course is designed with an objective to
 Demonstrate software process models such as the waterfall and evolutionary models.
 Discuss the role of project management including planning, scheduling, risk
management, etc.
 Define software engineering and explain its importance.

Learning Outcome:
On completion of the course, students will be able to
 Design software from the root level starting from requirement gathering to maintenance
with the appropriate SDLC.
 Define software engineering and explain its importance.
 Identify the processes to be followed in the software development life cycle.
 Explain testing approaches such as unit testing and integration testing.

Unit I: 8L
Software Process: Introduction ,S/W Engineering Paradigm , life cycle models (water fall,
incremental, spiral, evolutionary, prototyping, object oriented) , System engineering, computer based
system, verification, validation, life cycle process, development process, system engineering
hierarchy.

Unit II: 10L
Software requirements: Functional and non-functional , user, system, requirement engineering
process, feasibility studies, requirements, elicitation, validation and management, software
prototyping, prototyping in the software process, rapid prototyping techniques, user interface
prototyping, S/W document. Analysis and modeling, data, functional and behavioral models,
structured analysis and data dictionary.

Unit III: 12L
Design Concepts and Principles: Design process and concepts, modular design, design heuristic,
design model and document, Architectural design, software architecture, data design, architectural
design, transform and transaction mapping, user interface design, user interface design principles.
Real time systems, Real time software design, system design, real time executives, data acquisition
system, monitoring and control system.

Unit IV: 8L
Software Configuration Management: The SCM process, Version control, Change control,
Configuration audit, SCM standards.

Unit V: 8L
Software Project Management: Measures and measurements, S/W complexity and science
measure, size measure, data and logic structure measure, information flow measure. Estimations for
Software Projects, Empirical Estimation Models, Project Scheduling.

Unit VI: 8L
Testing: Taxonomy of software testing, levels, test activities, types of s/w test, black box testing,
testing boundary conditions, structural testing, test coverage criteria based on data flow,
mechanisms, regression testing, testing in the large. S/W testing strategies, strategic approach and
issues, unit testing, integration testing, validation testing, system testing and debugging.

Unit VII: 6L
Trends in Software Engineering: Reverse Engineering and Re-engineering – wrappers – Case
Study of CASE tools.

Books Recommended:

1. Roger S.Pressman, Software engineering- A practitioner’s Approach, McGraw-Hill
2. Ian Sommerville, Software engineering, Pearson education Asia, 6th edition, 2000.
3. Pankaj Jalote- An Integrated Approach to Software Engineering, Springer Verlag, 1997.
4. James F Peters and Witold Pedryez, “Software Engineering – An Engineering Approach”,
John Wiley and Sons, New Delhi, 2000.
5. Ali Behforooz and Frederick J Hudson, “Software Engineering Fundamentals”, Oxfor
University Press, New Delhi, 1996.
6. Pfleeger, ”Software Engineering”, Pearson Education India, New Delhi, 1999.
7. Carlo Ghezzi, Mehdi Jazayari and Dino Mandrioli, “Fundamentals of Software
Engineering”, Prentice Hall of India, New Delhi, 1991.

No comments:

Post a Comment