Unit 1 of 4 · M.Sc IT Sem 2

Unit 1: Process models

Software Engineering notes · PTU syllabus (PGCA1912)

3 min read14 topics10 exam questions
On this page
  1. Unit summary
  2. Software and software engineering
  3. The software process
  4. Software engineering practice
  5. Software myths
  6. Prescriptive process models: an overview
  7. Waterfall model
  8. Incremental process models
  9. Evolutionary process models
  10. The spiral model
  11. The concurrent development model
  12. Specialised process models
  13. The Unified Process
  14. Personal and team process models
  15. Agile process models
  16. Key terms
  17. Quick revision
  18. Important questions

Unit summary

A software process gives structure to the creative work of building software. This unit covers the software process and engineering practice, software myths, prescriptive process models — waterfall, incremental, evolutionary and concurrent — specialised models — component-based, formal methods and aspect-oriented — the Unified Process and its phases, and personal and team process models.

After this unit you can

  • Explain the software process, engineering practice and common myths
  • Compare prescriptive process models
  • Explain specialised process models
  • Describe the Unified Process, PSP and TSP

PTU syllabus topics

  • Introduction to the software process and engineering practice
  • software development myths
  • prescriptive process models (waterfall, incremental, evolutionary, concurrent)
  • specialized models (component-based, formal methods, aspect-oriented)
  • the unified process and its phases
  • personal and team process models
ComparisonProcess models compared
Best when
Weakness

Waterfall

Stable, clear requirements

Changes are costly

Incremental

Early partial delivery needed

Needs good planning

Evolutionary (spiral, prototyping)

Uncertain requirements, high risk

Complex to manage

Unified process

Large OO projects

Heavyweight

1

Topic 1

Software and software engineering

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.

2

Topic 2

The software process

HierarchySoftware engineering: a layered technology
  1. Tools

    Automated support for methods (CASE tools)

  2. Methods

    How to do each task: analysis, design, coding, testing

  3. Process

    The framework that holds the layers together

  4. 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.

3

Topic 3

Software engineering practice

ProcessEssence of practice (Polya)
  1. 1Understand the problem

    Communication and analysis

  2. 2Plan a solution

    Modelling and design

  3. 3Carry out the plan

    Code generation

  4. 4Examine the result

    Testing and quality assurance

Key termsHooker's general principles
The reason it all exists
Provide value to users
Keep it simple
Designs as simple as possible
Maintain the vision
Consistent architecture
What you produce, others will consume
Write for maintainers
Be open to the future
Design for change
Plan ahead for reuse
Reduce cost
Think
Clear thought before action
4

Topic 4

Software myths

ComparisonSoftware myths and realities
Myth
Reality

Management

"We have a book of standards, so we are fine." "If behind schedule, add more programmers."

Standards are often unused; adding people to a late project makes it later (Brooks's law)

Customer

"A general statement of objectives is enough to start coding." "Changes are easy because software is flexible."

Vague requirements cause failure; late changes cost far more

Practitioner

"Once the program works, our job is done." "The only deliverable is working code."

Most effort comes after delivery; documentation and models are also deliverables

5

Topic 5

Prescriptive process models: an overview

ComparisonProcess models
How it works
Best for

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.

6

Topic 6

Waterfall model

ProcessWaterfall model
  1. 1Requirements analysis and specification
  2. 2Design
  3. 3Coding and unit testing
  4. 4Integration and system testing
  5. 5Deployment and maintenance
  • Advantages: simple, well-documented, easy to manage, suitable for stable requirements. Disadvantages: working software arrives late, changes are costly, risk is high, users see the product only at the end.
7

Topic 7

Incremental process models

ProcessIncremental model
  1. 1Increment 1

    Core product with essential features delivered first

  2. 2Increment 2

    More features added after customer feedback

  3. 3Increment 3

    Further features

  4. 4Final increment

    Complete product

  • Each increment follows a mini-waterfall; useful when staff are limited or an early market release is needed. RAD (rapid application development) is a high-speed incremental model using component reuse and short cycles (60–90 days).
8

Topic 8

Evolutionary process models

CyclePrototyping model
Prototyping model
1Gather initial requirements
2Quick design
3Build prototype
4Customer evaluation
5Refine requirements
6Build the final product once agreed
  • Advantages: clarifies unclear requirements, early user feedback, reduces risk of building the wrong product. Disadvantages: customers may mistake the prototype for the final system; quick-fix code may creep into the product.
9

Topic 9

The spiral model

  • Proposed by Barry Boehm (1986); combines prototyping with the systematic waterfall approach and stresses risk analysis; each loop of the spiral is a phase.
FrameworkQuadrants of each spiral loop
  • Determine objectives

    Objectives, alternatives and constraints

  • Identify and resolve risks

    Risk analysis and prototyping

  • Develop and test

    Build and verify the next-level product

  • Plan the next iteration

    Review with the customer and plan

  • Advantages: risk-driven, suits large and high-risk projects, changes accommodated. Disadvantages: complex, costly, needs risk-assessment expertise, not for small projects.
10

Topic 10

The concurrent development model

  • Activities (communication, modelling, construction) exist simultaneously, each in a state — inactive, under development, awaiting changes, under review, baselined or done. Events (such as a requirements change) trigger transitions. It reflects real projects in which several activities proceed in parallel, and suits client–server and web systems.
11

Topic 11

Specialised process models

ComparisonSpecialised models
Idea
Use and limitations

Component-based development

Build systems by assembling reusable commercial-off-the-shelf (COTS) components: research, evaluate, integrate, test

Reduces cost and time; depends on availability and quality of components

Formal methods model

Mathematical specification and verification of software (cleanroom software engineering)

Defect-free safety-critical systems — avionics, medical devices; costly and needs expertise

Aspect-oriented development

Separates cross-cutting concerns (security, logging, transactions) into aspects woven into the code

Cleaner modules; tools and methods still maturing

12

Topic 12

The Unified Process

  • A use-case driven, architecture-centric, iterative and incremental process created by Jacobson, Booch and Rumbaugh, using UML.
ProcessPhases of the Unified Process
  1. 1Inception

    Business case, scope, initial use cases, risks

  2. 2Elaboration

    Refine use cases, baseline the architecture, plan construction

  3. 3Construction

    Build and test components iteratively

  4. 4Transition

    Beta testing, user training, deployment

  5. 5Production

    Monitor use, provide support, handle defects

  • Work products: vision document, use-case model, analysis and design models, software architecture description, test cases, deployment plan.
13

Topic 13

Personal and team process models

ComparisonPSP and TSP
Personal Software Process (PSP)
Team Software Process (TSP)

Focus

Individual engineer's discipline

Self-directed teams of 3–20 engineers

Activities

Planning, high-level design, design review, development, postmortem

Launch, high-level design, implementation, integration and test, postmortem

Measures

Time, size, defects per phase

Team goals, roles, quality plans, earned value

Aim

Better estimates and fewer defects

Predictable, high-quality team output

  • Both were developed by Watts Humphrey at the SEI.
14

Topic 14

Agile process models

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.
ComparisonPlan-driven vs agile
Plan-driven
Agile

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 process
Framework of activities for building software
Software myth
Misleading belief about software development
Incremental model
Delivering software in functional increments
Component-based development
Building systems from reusable components
Unified Process
Use-case driven, iterative process using UML

Quick revision

  • Layered technology; five framework activities; umbrella activities.
  • Polya's practice; Hooker's principles; management, customer and practitioner myths.
  • Waterfall, incremental (RAD), prototyping, spiral, concurrent.
  • Component-based, formal methods (cleanroom), aspect-oriented.
  • UP phases: inception, elaboration, construction, transition, production; PSP and TSP; agile methods.

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

  1. Q1.Name the five generic framework activities.
  2. Q2.State one management myth and its reality.
  3. Q3.When is the incremental model suitable?
  4. Q4.What is the concurrent development model?
  5. Q5.What is an aspect in aspect-oriented development?
  6. Q6.Name the phases of the Unified Process.

Long-answer questions

  1. Q1.Explain the software process and software engineering practice.
  2. Q2.Explain software myths with their realities.
  3. Q3.Compare the waterfall, incremental, evolutionary and concurrent models.
  4. Q4.Explain specialised process models and the Unified Process.

Stuck on this unit?

Message SBS on WhatsApp for help with Software Engineering, or to ask about studying M.Sc IT at Synetic.

WhatsApp us