Unit 1 of 4 · BCA Sem 3

Unit 1: Process models and agile development

Software Engineering notes · PTU syllabus (UGCC2514)

3 min read4 topics10 exam questions
On this page
  1. Unit summary
  2. Software and its changing nature
  3. Layered technology and the process framework
  4. Prescriptive process models
  5. Agility and agile methods
  6. Key terms
  7. Quick revision
  8. Important questions

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
ComparisonWaterfall vs agile
Waterfall
Agile

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

1

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.

2

Topic 2

Layered technology and the process framework

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

Prescriptive process models

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.

4

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

  1. Q1.Define software engineering.
  2. Q2.Why does software deteriorate but not wear out?
  3. Q3.List the framework activities of a software process.
  4. Q4.What is the main drawback of the waterfall model?
  5. Q5.What is pair programming?
  6. Q6.Name the three roles in Scrum.

Long-answer questions

  1. Q1.Explain software engineering as a layered technology and the generic process framework.
  2. Q2.Explain the waterfall, incremental and spiral models with diagrams, and compare them.
  3. Q3.Explain agile development, Extreme Programming and Scrum.
  4. 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.

WhatsApp us