Course code Course Title L T P J C
SOFTWARE ENGINEERING 3 0 2 0 4
Pre-requisite - Syllabus version
v.1.0.
Course Objectives:
To introduce the essential software engineering concepts involved in developing software
products and components.
To impart skills in the design and implementation of efficient software systems across
disciplines and also ensure engineering practices and standards.
Course Outcome:
On completion of this course, the student will be able to
(1) Explain the principles of the engineering processes in software development
(2) Develop the software products using software management principles
(3) Classify the requirements specification of the software projects.
(4) Design the prototype of the software projects.
(5) Implement all the software development processes activities
(6) Support post maintenance of the software projects.
(7) Produce good quality software projects.
Module:1 OVERVIEW OF SOFTWARE 6 hours CO1, CO2
ENGINEERING
Nature of Software, Why Software Engineering, Software – process, project, product, Process
Models – Classical & Evolutionary models, Overview of System Engineering, Project Planning
Risk Management, Software Measurements, Project Management Processes
Module:2 AGILE METHODOLOGY 5 hours CO4
Agile Processes – Lean Principles, Feature driven, behavior driven and test driven development,
Scrum master, Product owner, Scrum and XP team, Agile metrics.
Module:3 MODELLING – REQUIREMENTS 8 hours CO3
Module Requirements Engineering process– Requirement Elicitation, System Modelling –
Requirements
Specification and Requirement Validation, Requirement Analysis – Scenario based, Class based,
Behavior based and Flow based Analysis
Module:4 SOFTWARE DESIGN 8 hours CO4, 5
Design concepts and principles - Abstraction - Refinement - Modularity – Cohesion & Coupling,
Architectural design, Detailed Design – Transaction & Transformation, Refactoring of designs,
Object-oriented Design User-Interface Design.
Module:5 VALIDATION & VERIFICATION 8 hours CO5
Strategic Approach to Software Testing, Testing Fundamentals – Test Plan, Test Design, Test
Execution, Reviews.
Inspection & Auditing, Functional Testing – Control coverage, data coverage, conditional
coverage, Non-Functional Testing – Performance – Load, volume, endurance, scalability stress
testings and Security Testing
Module:6 SOFTWARE MAINTENANCE 4 hours CO6
Software Maintenance, Types of Maintenance, Software Configuration Management, Overview
of Re-engineering & Reverse Engineering, Software version control
Module:7 QUALITY MANAGEMENT 4 hours CO1
Quality Concepts, Quality Assurance, Review Techniques, Product & Process Metrics, Quality
Standards & Models –ISO, TQM, Six-Sigma
Module:8 RECENT TRENDS 2 hours
Recent Trends in Software Design/Specialized Software Testing, Related Tools and Standards
Total Hours: 45 Hours
References Books:
1. Roger Pressman, Software Engineering: A Practitioner's Approach, 8th Edition, McGraw-
Hill, 2015.
2. Ian Sommerville, Software Engineering, 9th Edition, Addison-Wesley, 2016
3. Pankaj Jalote, A Concise Introduction to Software Engineering, Springer, 2008
4. William E. Lewis , ―Software Testing and Continuous Quality Improvement‖, Third
Edition, Auerbach Publications, 2008
Mode of Evaluation: CAT / Assignment / Quiz / FAT / Project / Seminar
Recommended by Board of Studies
Approved by Academic Council Date
Lab (Indicative List of Experiments (in the areas of ) CO: 1, 5,
6
1 Work Break-down Structure (Process Based, Product Based, 30 Hours
Geographic Based and Role
2 Based)
3 Estimations – Cost & Schedule
4 Entity Relationship Diagram, Context flow diagram, DFD (Structural
Modelling and
5 Functional Modelling)
6 State Transition Diagrams (Behavioural Modelling)
7 System Requirements Specification
8 UML diagrams for OO Design
9 Tools for Version Control
10 Black-box, White box testing
11 Non-functional testing
List of Challenging Experiments (Indicative)
1 Prepare a WBS for developing a customized social networking portal
for your institution.
2 Using the WBS estimate the effort that will be needed to finish the
product. Also give a detailed cost estimation & budget for completing
this project
3 Identify the Actors involved, modularize the problem, context of the
modules. Draw refined structures of DFD and make a functional model
of the system.
4 Impart dynamism to the functional model, so that the system behaves
in states and transition according to the requirements
5 Prepare the complete SRS
6 Detail the functional model of the system using UML diagrams in the
context of OO development
7 Evaluate the performance of the system in terms of load, stress,
endurance and scalability
Total Laboratory Hours 30 Hours