Unit 1 of 4 · B.Sc IT Sem 5

Unit 1: Software and process models

Software Engineering notes · PTU syllabus (BSIT503/BSBC401)

3 min read11 topics10 exam questions
On this page
  1. Unit summary
  2. Software and software engineering
  3. Software characteristics
  4. Software components
  5. Software applications
  6. Process models: an overview
  7. Waterfall model
  8. Prototyping model
  9. Spiral model
  10. Fourth generation techniques (4GT)
  11. Project management concepts
  12. Role of metrics and measurement
  13. Key terms
  14. Quick revision
  15. Important questions

Unit summary

Software engineering applies discipline to building software that is reliable, on time and within budget. This unit covers software characteristics, components and applications, the waterfall, spiral, prototyping and fourth-generation-technique process models, project management concepts and the role of metrics and measurement.

After this unit you can

  • Explain the characteristics, components and applications of software
  • Compare the waterfall, spiral, prototyping and 4GT models
  • Explain the 4 Ps of project management
  • Explain the role of metrics and measurement

PTU syllabus topics

  • Software characteristics
  • components and applications
  • process models (waterfall, spiral, prototyping, fourth generation techniques)
  • project management concepts
  • role of metrics and measurement
ComparisonSoftware process models
Best when
Weakness

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

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

Software characteristics

Key termsCharacteristics of software
Developed, not manufactured
Cost lies in engineering, not production
Does not wear out
But deteriorates as changes add defects (idealised vs actual failure curve)
Mostly custom-built
Though component reuse is growing
Intangible and complex
Progress hard to see and measure
Easily changed
Which invites uncontrolled change
  • Failure curves: hardware follows a bathtub curve (early failures, steady period, wear-out); software ideally flattens after early defects are fixed, but each change causes spikes, so the actual curve rises over time.
3

Topic 3

Software components

  • Components: programs (source and executable code), data (files, databases, configuration) and documentation (requirements, design, user manuals).
  • Reusable components: libraries, frameworks, APIs and services built once and used in many systems — reducing cost and defects.
4

Topic 4

Software applications

ClassificationSoftware application domains
Software
  • System software

    Operating systems, compilers, drivers

  • Application software

    Payroll, billing, ERP

  • Engineering and scientific

    CAD, simulation

  • Embedded

    Washing machines, car ABS

  • Product-line

    Word processors, spreadsheets

  • Web and mobile apps

    E-commerce, banking apps

  • Artificial intelligence

    Expert systems, machine learning

5

Topic 5

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

Prototyping model

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

Topic 8

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

Topic 9

Fourth generation techniques (4GT)

  • 4GT: tools that let developers state software characteristics at a high level and generate code automatically — report generators, query languages (SQL), screen painters, spreadsheets, code generators and today's low-code platforms.
Process4GT process
  1. 1Requirements gathering
  2. 2Design strategy (for large systems)
  3. 3Implementation using a 4GL
  4. 4Testing and documentation
  • Advantages: much shorter development time, higher productivity for business applications. Disadvantages: generated code may be inefficient; tools limited to certain domains; large systems still need design.
10

Topic 10

Project management concepts

FrameworkThe four Ps
  • People

    Stakeholders, team leaders, software team; the most important factor

  • Product

    Scope, objectives and problem decomposition

  • Process

    Framework and model chosen for the project

  • Project

    Planning, monitoring and control to avoid failure

  • W5HH principle (Boehm): why is the system being developed, what will be done, when, who is responsible, where are they located, how will it be done technically and managerially, and how much of each resource is needed.
  • Signs of trouble: unclear requirements, changing scope, unrealistic deadlines, poor communication, lack of sponsor support.
11

Topic 11

Role of metrics and measurement

  • Measure: a quantitative indication of an attribute (e.g., 12 defects). Metric: a measure relating attributes (e.g., defects per KLOC). Indicator: a metric or combination giving insight for decisions.
Key termsTypes of software metrics
Process metrics
Improve the process — defect removal efficiency, effort per phase
Project metrics
Control the current project — schedule variance, cost, productivity
Product metrics
Assess the product — size, complexity, reliability
Size-oriented
Lines of code: errors per KLOC, cost per LOC
Function-oriented
Function points: FP per person-month
  • Why measure: to estimate, plan, track progress, assess quality and improve — "you cannot control what you cannot measure".

Key terms

Software engineering
Systematic, disciplined approach to software development
Waterfall model
Sequential linear process model
Spiral model
Risk-driven iterative process model
4GT
Techniques generating code from high-level specifications
Metric
Quantitative measure of a software attribute

Quick revision

  • Software characteristics; failure curves; components; applications.
  • Waterfall, prototyping, spiral (four quadrants), 4GT.
  • 4 Ps; W5HH.
  • Measure, metric, indicator.
  • Process, project and product metrics; size and function oriented.

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.Why does software not wear out?
  2. Q2.State two drawbacks of the waterfall model.
  3. Q3.When is prototyping useful?
  4. Q4.Name the four quadrants of the spiral model.
  5. Q5.What are fourth generation techniques?
  6. Q6.Distinguish a measure and a metric.

Long-answer questions

  1. Q1.Explain the characteristics and applications of software.
  2. Q2.Compare the waterfall, prototyping and spiral models.
  3. Q3.Explain fourth generation techniques with merits and demerits.
  4. Q4.Explain project management concepts and the role of metrics.

Stuck on this unit?

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

WhatsApp us