Software Engineering Notes
Subject Overview
Software Engineering covers software characteristics and process models, project planning/
Subject at a glance
4
Units
26
Topics
5
Credits
4
Infographics
Unit-wise Syllabus
4 units — open any unit for detailed topic-wise notes, diagrams and important exam questions
- Software characteristics
- components and applications
- process models (waterfall, spiral, prototyping, fourth generation techniques)
- project management concepts
- role of metrics and measurement
Waterfall
Requirements are clear and fixed
Late feedback, hard to change
Prototyping
Requirements are unclear
Users may mistake prototype for final product
Spiral
Large, high-risk projects
Complex and costly
Agile
Requirements change often
Less documentation
Study guide
This unit covers software characteristics and applications, process models (waterfall, spiral, prototyping, fourth-generation techniques), project management and the role of metrics. Compare the models in a table with their strengths and weaknesses.
- Decomposition techniques
- software sizing
- problem-based and process-based estimation
- COCOMO model
- structured analysis principles
- requirement analysis
- DFD
- ER diagrams
- data dictionary
- design objectives/principles/concepts
- data/architecture/procedural design
- object-oriented concepts
Effort
E = a × (KLOC)^b person-months
Development time
D = c × (E)^d months
Organic mode
a = 2.4, b = 1.05
Semi-detached mode
a = 3.0, b = 1.12
Embedded mode
a = 3.6, b = 1.20
Study guide
You study decomposition techniques, sizing, estimation, the COCOMO model, structured analysis, requirement analysis, DFD, ER diagrams, the data dictionary, design principles and data, architectural and procedural design and OO concepts. Practise a basic COCOMO calculation.
- Testing objectives
- principles and testability
- white-box and black-box test case design
- verification and validation
- unit/integration/validation/system testing
Based on
Internal code structure
Requirements and behaviour
Techniques
Statement, branch, path coverage
Equivalence partitioning, boundary values
Done by
Developers
Testers and users
Finds
Logic errors
Missing or wrong functions
Study guide
You study testing objectives and principles, testability, white-box and black-box test design, verification and validation and unit, integration, validation and system testing. Learn basis path testing as an example of white-box testing.
- Reverse engineering
- restructuring
- forward engineering
- taxonomy of CASE tools
- 1Inventory analysis
Which systems to re-engineer
- 2Reverse engineering
Recover the design
- 3Restructuring
Clean code and data
- 4Forward engineering
Rebuild with modern methods
Study guide
You study reverse engineering, restructuring, forward engineering and the taxonomy of CASE tools. Be able to explain the three ideas with a simple example.
Why Software Engineering Matters
Software engineering is how real projects are planned, built and tested, and it prepares you for teamwork in software companies.
How to Prepare for Software Engineering
- Practise DFDs and ER diagrams for small systems.
- Learn the process models and testing types in tables.
- Understand how COCOMO estimates effort.
Software Engineering: Frequently Asked Questions
What is the waterfall model?
The waterfall model is a linear sequence of phases (requirements, design, implementation, testing, maintenance), each completed before the next begins.
What is white-box testing?
White-box testing designs test cases from knowledge of the internal code and logic.
