Unit 1: End-to-end software engineering practice
Software Engineering Laboratory notes · PTU syllabus (UGCC2515)
On this page
Unit summary
In this lab you apply software engineering to a mini project of your choice — for example a library, hostel or online shopping system. You define scope, write an SRS, draw UML and DFD models, schedule the project, choose a process model and measure the software with metrics.
After this unit you can
- Define project scope and write an SRS
- Draw use case, class, sequence and DFD models with a data dictionary
- Represent a schedule as a Gantt chart and derive a structured design
- Calculate LOC, function points and cyclomatic complexity
PTU syllabus topics
- Project scope and objective identification
- software requirements specification
- UML use case model
- class diagrams
- project scheduling representation
- DFD model (level-0, level-1, data dictionary)
- sequence diagram
- structured design from the DFD
- waterfall/prototype/spiral model development
- LOC/FP/Cyclomatic Complexity metrics
- 1Scope and objectives
- 2SRS document
Functional and non-functional requirements
- 3UML models
Use case, class and sequence diagrams
- 4DFDs
Level 0 and level 1 with data dictionary
- 5Metrics
LOC, function points, cyclomatic complexity
Topic 1
Scope, objectives and SRS
Start with a one-paragraph problem statement, the objectives, and what is in and out of scope. The SRS (IEEE 830 style) contains: introduction (purpose, scope, definitions), overall description (users, constraints, assumptions), specific requirements (functional and non-functional), and interface requirements.
Topic 2
UML models
- Use case model: actors (Student, Librarian, Admin) connected to use cases (Search, Issue, Return, Fine).
- Class diagram: classes with attributes and methods, and associations with multiplicity (one Member borrows 0..* Books).
- Sequence diagram: a time-ordered flow of messages, for example Student → System: searchBook(); System → Database: query(); Database → System: result.
Topic 3
DFD model and data dictionary
- 1Level 0 (context)
The whole system as one process with external entities
- 2Level 1
Main processes, data stores and flows
- 3Data dictionary
Define every data flow and store
- 4Structured design
Map DFD processes to modules (structure chart)
DFD symbols: circle/bubble = process, rectangle = external entity, open rectangle (parallel lines) = data store, arrow = data flow.
Topic 4
Scheduling, process models and metrics
- Represent the project schedule as a Gantt chart (tasks against weeks) and identify the critical path.
- Justify a process model for the project: waterfall for fixed requirements, prototype if the UI is unclear, spiral for high risk.
| Metric | How to calculate |
|---|---|
| LOC | Count non-blank, non-comment source lines |
| Function points | FP = UFP × [0.65 + 0.01 × Σ(complexity adjustment factors)] |
| Cyclomatic complexity | V(G) = E − N + 2 = number of decision points + 1 |
Example
A function with two if statements and one while loop has V(G) = 3 + 1 = 4, so four independent paths must be tested.
Key terms
- Context diagram
- A level-0 DFD showing the system as one process
- Data dictionary
- Definitions of all data items in the DFDs
- Structure chart
- A hierarchy of modules derived from DFDs
- Unadjusted function points
- FP before applying complexity adjustment
Quick revision
- SRS = intro + overall description + specific requirements.
- DFD: process, external entity, data store, data flow.
- FP = UFP × (0.65 + 0.01 × ΣFi).
- V(G) = decisions + 1.
Important exam questions
Practice questions written to the PTU exam pattern for this unit's syllabus: short answers (Section A style) and long answers (Sections B and C style).
Short-answer questions
- Q1.What is a context diagram?
- Q2.List the symbols used in a DFD.
- Q3.What does a data dictionary contain?
- Q4.How is cyclomatic complexity calculated?
- Q5.What is the formula for function points?
Long-answer questions
- Q1.Prepare an SRS for a library management system.
- Q2.Draw the level-0 and level-1 DFDs for an online shopping system with a data dictionary.
- Q3.Draw use case, class and sequence diagrams for a hostel management system.
- Q4.Calculate the function points of a project from given counts and complexity factors.
Stuck on this unit?
Message SBS on WhatsApp for help with Software Engineering Laboratory, or to ask about studying BCA at Synetic.
