Grade "A+" Accredited by NAAC with a CGPA of 3.46
Grade "A+" Accredited by NAAC with a CGPA of 3.46

Software Engineering

Course ID
BHCS 09
Level
Undergraduate
Program
B.Sc. CS (Hons.)
Semester
Fourth
Credits
6.0
Paper Type
Core Course
Method
Lecture & Practical

Unique Paper Code: Update Awaited

The course introduces fundamental Software Engineering approaches and techniques for software development. The students also develop a case study using appropriate software model.

Learning Outcomes:

At the end of the course, students should be able to:

  • Analyse and model customer’s requirements and model its software design.
  • Use suitable software model for the problem at hand.
  • Estimate cost and efforts required in building software.
  • Analyse and compute impact of various risks involved in software development.
  • Design and build test cases, and to perform software testing.

Course Contents

Unit 1
Unit 2
Unit 3
Unit 4
Unit 5
Unit 6

Unit 1

Introduction: Software Engineering – A Layered Approach; Software Process – Process Framework, Umbrella Activities; Process Models – Waterfall Model, Incremental Model, and Evolutionary process Model (Prototyping, Spiral Model); Introduction to Agile – Agility Principles, Agile Model – Scrum.

Unit 2

Software Requirements Analysis and Specifications: Use Case Approach, Software Requirement Specification Document, Flow oriented Modeling, Data Flow Modeling, Sequence Diagrams.

Unit 3

Design Modeling: Translating the Requirements model into the Design Model, The Design Process, Design Concepts – Abstraction, Modularity and Functional Independence; Architectural Mapping using Data Flow.

Unit 4

Software Metrics and Project Estimations: Function based Metrics, Software Measurement, Metrics for Software Quality; Software Project Estimation (FP based estimations, COCOMO II Model); Project Scheduling (Timeline charts, tracking the schedule).

Unit 5

Quality Control and Risk Management: Quality Control and Quality Assurance, Software Process Assessment and Improvement Capability Maturity Model Integration (CMMI); Software Risks, Risk Identification, Risk Projection and Risk Refinement, Risk Mitigation, Monitoring and Management.

Unit 6

Software Testing: Strategic Approach to Software Testing, Unit Testing, Integration Testing, Validation Testing, System Testing; Black-Box and White Box Testing, Basis Path Testing.

 

Practicals

Lab List 1

  1. Requirement Analysis, Creating a Data Flow, Data Dictionary, Use Cases
  2. Computing FP, Effort, Schedule, Risk Table, Timeline chart
  3. Design Engineering, Architectural Design, Data Design, Component Level Design
  4. Testing, Basis Path Testing

Sample Projects

  1. Criminal Record Management: Implement a criminal record management system for jailers, police officers and CBI officers
  2. DTC Route Information: Online information about the bus routes and their frequency and fares
  3. Car Pooling: To maintain a web based intranet application that enables the corporate employees within an organization to avail the facility of carpooling effectively.
  4. Patient Appointment and Prescription Management System
  5. Organized Retail Shopping Management Software
  6. Online Hotel Reservation Service System
  7. Examination and Result computation system
  8. Automatic Internal Assessment System
  9. Parking Allocation System
  10. Wholesale Management System

Additional Information

Text Books


Aggarwal, K. K., & Singh, Y. (2007). Software Engineering. 3rd edition. New Age International Publishers.
Pressman, R. S., & Maxim, B. R. (2015). Software Engineering: A Practitioner’s Approach. 8th edition. McGraw-Hill.

Additional Resources


Jalote, P. (2005). An Integrated Approach to Software Engineering. 3rd edition. Narosa Publishing House.
Schwaber, K. & Sutherland, J. (2016). The Definitive Guide to Scrum: The Rules of the Game. [https://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf]
Sommerville. (2011). Software Engineering. 9th edition. Addison Wesley.

Teaching Learning Process


Use of ICT tools in conjunction with traditional class room teaching methods
Interactive sessions
Class discussions

Assessment Methods

Written tests, assignments, quizzes, presentations as announced by the instructor in the class

Keywords

Software models, requirement analysis, software design and testing, software risks and costs.

Disclaimer: Details on this page are subject to change as per University of Delhi guidelines. For latest update in this regard please refer to the University of Delhi website here.