Unit 1: Process models and agile development
Software Engineering notes · PTU syllabus (UGCC2514)
On this page
Unit summary
Software engineering is the disciplined, systematic approach to building software that is reliable, on time and within budget. This unit explains the nature of software, the layered technology of software engineering, the process framework, the classic process models, and modern agile methods such as Extreme Programming and Scrum.
After this unit you can
- Explain the changing nature of software and why engineering discipline is needed
- Describe the layered technology and the generic process framework
- Compare waterfall, incremental, evolutionary and unified process models
- Explain agility, XP and Scrum, and compare plan-driven and agile development
PTU syllabus topics
- Evolving role and changing nature of software
- layered technology
- process framework
- waterfall/incremental/evolutionary process models
- the unified process
- agility principles and agile methods
- plan-driven vs agile development
- extreme programming
- Scrum
Approach
Linear phases, one after another
Short iterations (sprints)
Changes
Costly once a phase is complete
Expected and welcomed
Customer involvement
Mainly at start and end
Continuous
Best for
Stable, well-defined requirements
Evolving requirements
Topic 1
Software and its changing nature
Software is a set of programs plus documentation and data that make it work. Unlike hardware, it does not wear out, but it deteriorates as changes introduce errors, and it is largely custom-built. Categories: system software, application software, engineering/scientific software, embedded software, product-line software, web and mobile apps, and AI software. Software engineering (IEEE) is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software.
Topic 2
Layered technology and the process framework
- Tools
Automated support for methods (CASE tools)
- Methods
How to do each task: analysis, design, coding, testing
- Process
The framework that holds the layers together
- Quality focus
The foundation of everything
The generic process framework has five activities: communication, planning, modelling, construction (coding and testing) and deployment, supported by umbrella activities such as project tracking, risk management, quality assurance and configuration management.
Topic 3
Prescriptive process models
Waterfall
Sequential phases: requirements → design → code → test → deploy
Clear, stable requirements
Incremental
Delivers the product in working increments
Early partial delivery
Evolutionary: prototyping
Build a quick prototype to clarify requirements
Unclear requirements
Evolutionary: spiral
Iterative loops with risk analysis in each
Large, high-risk projects
Unified process
Iterative, use-case driven, architecture-centric
Object-oriented projects
Phases of the Unified Process: inception, elaboration, construction, transition (and production).
Exam tip
For the waterfall model, list its drawback clearly: working software appears late, and changing requirements are costly.
Topic 4
Agility and agile methods
Agility is the ability to respond to change quickly. The Agile Manifesto values individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.
- Extreme Programming (XP): user stories, small releases, pair programming, test-first development, continuous integration, refactoring and simple design.
- Scrum: work is done in sprints (usually 2–4 weeks). Roles: Product Owner, Scrum Master, Development Team. Artefacts: product backlog, sprint backlog, increment. Events: sprint planning, daily stand-up, sprint review and retrospective.
Planning
Detailed up front
Incremental, each iteration
Documentation
Heavy
Light
Change
Costly
Welcomed
Customer involvement
At the start and end
Continuous
Suits
Safety-critical, large regulated systems
Fast-changing products
Key terms
- Software engineering
- A systematic approach to developing and maintaining software
- Process model
- A structured set of activities for building software
- Prototype
- An early working model used to clarify requirements
- Sprint
- A fixed time-boxed iteration in Scrum
- Pair programming
- Two programmers working together at one workstation
Quick revision
- Layers: quality focus → process → methods → tools.
- Framework activities: communication, planning, modelling, construction, deployment.
- Spiral adds risk analysis; prototyping clarifies requirements.
- Scrum: Product Owner, Scrum Master, team; sprints and daily stand-ups.
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.Define software engineering.
- Q2.Why does software deteriorate but not wear out?
- Q3.List the framework activities of a software process.
- Q4.What is the main drawback of the waterfall model?
- Q5.What is pair programming?
- Q6.Name the three roles in Scrum.
Long-answer questions
- Q1.Explain software engineering as a layered technology and the generic process framework.
- Q2.Explain the waterfall, incremental and spiral models with diagrams, and compare them.
- Q3.Explain agile development, Extreme Programming and Scrum.
- Q4.Compare plan-driven and agile development.
Stuck on this unit?
Message SBS on WhatsApp for help with Software Engineering, or to ask about studying BCA at Synetic.
