Unit 1: Software and process models
Software Engineering notes · PTU syllabus (BSIT503/BSBC401)
On this page
- Unit summary
- Software and software engineering
- Software characteristics
- Software components
- Software applications
- Process models: an overview
- Waterfall model
- Prototyping model
- Spiral model
- Fourth generation techniques (4GT)
- Project management concepts
- Role of metrics and measurement
- Key terms
- Quick revision
- 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
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
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.
Topic 2
Software characteristics
- 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.
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.
Topic 4
Software applications
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
Topic 5
Process models: an overview
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 6
Waterfall model
- 1Requirements analysis and specification
- 2Design
- 3Coding and unit testing
- 4Integration and system testing
- 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.
Topic 7
Prototyping model
- 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.
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.
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.
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.
- 1Requirements gathering
- 2Design strategy (for large systems)
- 3Implementation using a 4GL
- 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.
Topic 10
Project management concepts
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.
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.
- 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
- Q1.Why does software not wear out?
- Q2.State two drawbacks of the waterfall model.
- Q3.When is prototyping useful?
- Q4.Name the four quadrants of the spiral model.
- Q5.What are fourth generation techniques?
- Q6.Distinguish a measure and a metric.
Long-answer questions
- Q1.Explain the characteristics and applications of software.
- Q2.Compare the waterfall, prototyping and spiral models.
- Q3.Explain fourth generation techniques with merits and demerits.
- 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.
