Key Concepts
Software engineering ≠ just coding. It's a disciplined, engineering approach to building software that works.
Professional Software Development
Software made for others — must be maintained, depended on, and evolved over time.
Software Process
The set of activities required to develop a software system — spec, development, validation, evolution.
SE Ethics
Software engineers must act ethically — confidentiality, competence, IP rights, computer misuse.
Concept Deep Dives
Click each concept to expand — real examples, diagrams, pros & cons.
Professional Software Development
When to Use
Any commercial, organizational, or team-built software.
Real-World Example
Online banking app vs a personal script. The bank app needs docs, testing, SLAs. The script doesn't.
✓ Advantages
- Clear quality standards
- Supports team development
- Software outlives original devs
⚠ Watch Out
- More upfront effort
- Requires process discipline
Software Process
When to Use
All software projects — defines how teams move from idea to shipped product.
Real-World Example
A startup using GitHub Issues + PRs + CI/CD is following a (lightweight) software process.
✓ Advantages
- Repeatable quality
- Shared team understanding
- Basis for improvement
⚠ Watch Out
- Too heavy = bureaucracy
- Too light = chaos
SE Ethics
When to Use
Always — especially when employer/client interests conflict with public interest.
Real-World Example
Volkswagen emissions scandal — engineers wrote software to cheat tests. Clear ethical violation.
✓ Advantages
- Builds trust
- Protects public safety
- Long-term career protection
⚠ Watch Out
- Sometimes conflicts with employer demands
Quick Reference
- 1Software engineering is concerned with theories, methods, and tools for professional software development.
- 2The software process includes activities of specification, development, validation, and evolution.
- 34 key attributes: maintainability, dependability and security, efficiency, acceptability.
- 4Software engineers have responsibilities to the engineering profession and to society.
- 5Professional societies (ACM, IEEE) publish codes of ethics that are standards of behavior.
From the Book & Beyond
Case Study — The Insulin Pump Control System
Sommerville's flagship embedded-system case study is a software-controlled insulin pump for diabetics. A microsensor embedded in the patient measures blood conductivity, the controller computes the sugar level and required dose, then sends pulses to a miniature pump — one pulse delivers exactly one unit of insulin. It's safety-critical: too much insulin causes dangerously low blood glucose (brain malfunction, even death); too little causes long-term eye, kidney, and heart damage. Hence its two essential requirements: the system shall be available when needed and shall reliably deliver the correct dose.
2026 Perspective — Code Is Cheap, Judgment Isn't
In 2026, AI pair programmers like GitHub Copilot and Claude can generate working code in seconds — exactly the part of the job this chapter says was never the hard part. What AI can't do is decide whether an insulin pump should fail open or fail safe, weigh privacy against availability in a Mentcare-style system, or take ethical responsibility for a shipped product. Sommerville's core claim has aged well: software engineering is about the whole lifecycle and its trade-offs, not typing code. That judgment is now the scarce skill.
Quiz — Test Yourself
Think through your answer first, then reveal.