Software Engineering
Subject Code : Total Contact Hours : 45
Credits : 03 L-T-P : 3-0-0
Prerequisite: Knowledge of Basic Computers
Course Objectives:
Be successful professionals in the field with solid fundamental knowledge of software
engineering
Utilize and exhibit strong communication and interpersonal skills, as well as
professional and ethical principles when functioning as members and leaders of multi-
disciplinary teams
Apply their foundations in software engineering to adapt to readily changing
environments using the appropriate theory, principles and processes.
Unit I: (8 Hours)
Software Product and Process
Introduction – S/W Engineering Paradigm – Verification – Validation – Life Cycle Models –
System Engineering – Computer Based System – Business Process Engineering, Overview –
Product Engineering Overview.
Unit II: (10 Hours)
Software Requirements
Functional and Non-Functional – Software Document – Requirement Engineering Process –
Feasibility Studies – Software Prototyping – Prototyping in the Software Process – Data –
Functional and Behavioral Models – Structured Analysis and Data Dictionary.
Unit III: (9 Hours)
Analysis, Design Concepts and Principles
Systems Engineering - Analysis Concepts - Design Process And Concepts – Modular Design
– Design Heuristic – Architectural Design – Data Design – User Interface Design – Real
Time Software Design – System Design – Real Time Executives – Data Acquisition System
– Monitoring And Control System.
Unit IV: (9 Hours)
Testing
Taxonomy of Software Testing – Types Of S/W Test – Black Box Testing – Testing
Boundary Conditions – Structural Testing – Test Coverage Criteria Based On Data Flow
Mechanisms – Regression Testing – Unit Testing – Integration Testing – Validation Testing
– System Testing And Debugging – Software Implementation Techniques
Unit V : (9 Hours)
Software Project Management
Measures And Measurements – ZIPF’s Law – Software Cost Estimation – Function Point
Models – COCOMO Model – Delphi Method – Scheduling – Earned Value Analysis – Error
Tracking – Software Configuration Management – Program Evolution Dynamics – Software
Maintenance – Project Planning – Project Scheduling– Risk Management – CASE Tools
Course Outcomes:
At the end of the course, Students will be able to:
Apply the software engineering lifecycle models by demonstrating competence in
communication, planning, analysis, design, construction, and deployment of software
An ability to work in one or more significant application domains
Work as an individual and as part of a multidisciplinary team to develop and deliver
quality software
Demonstrate an understanding of and apply current theories, models, and techniques
that provide a basis for the software lifecycle
Demonstrate an ability to use the techniques and tools necessary for engineering
practice
Text Books:
1. Ian Sommerville, “Software engineering”, Seventh Edition, Pearson Education Asia,
2007
2. Roger S. Pressman, “Software Engineering – A practitioner’s Approach”, Sixth
Edition, McGraw-Hill International Edition, 2005
References Books:
1. Pfleedger S. L, “Software Engineering: The Production of Quality software”,
Macmillan Publishing.
2. Ghezzi C., Jazayeri M. And Mandrioli D, “Fundamentals of Software Engineeing”,
Prentice Hall, N.J.
3. Rajib Mall, “Fundamentals of Software Engineeing”, PHI Learning Pvt.