Software Development Lifecycles
This topic covers different software development lifecycles (SDLC), the importance of feasibility studies, and the application of an SDLC. It also discusses software behavioural design techniques.
Assessment criteria
Topic Overview
This module, 'Digital Technologies in Computer Science,' is a core component of the Pearson BTEC Level 5 Higher National Diploma in Digital Technologies for England. It provides a comprehensive foundation in the principles and practices that underpin modern computing systems. You will explore how hardware, software, and networks interact to solve real-world problems, from designing algorithms to managing data securely. This knowledge is essential for roles such as software developer, IT consultant, or systems analyst, and it prepares you for further study at degree level.
The curriculum is structured around key areas: computational thinking, programming paradigms, data structures, and system architecture. You'll learn to write efficient code using Python or Java, understand how operating systems manage resources, and apply database concepts to store and retrieve information. Practical projects, such as building a simple application or configuring a network, allow you to apply theory to realistic scenarios. By the end, you'll have a solid grasp of how digital technologies drive innovation in industries like finance, healthcare, and entertainment.
This module also emphasises professional and ethical considerations, including data protection laws (e.g., GDPR) and cybersecurity best practices. You'll evaluate the impact of technology on society and develop skills in project management and documentation. Mastering these topics not only helps you pass assessments but also builds the confidence to tackle complex technical challenges in your career.
Key Concepts
Core ideas you must understand for this topic
- →Computational thinking: Decomposition, pattern recognition, abstraction, and algorithm design to solve problems systematically.
- →Programming paradigms: Understanding procedural, object-oriented, and event-driven programming, and when to use each.
- →Data structures and algorithms: Arrays, linked lists, stacks, queues, trees, and sorting/searching algorithms (e.g., bubble sort, binary search).
- →System architecture: CPU components (ALU, control unit, registers), memory hierarchy (cache, RAM, storage), and the fetch-execute cycle.
- →Networking fundamentals: OSI and TCP/IP models, IP addressing, subnetting, and common protocols (HTTP, FTP, DNS).
Learning Objectives
What you need to know and understand
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
Assessment Criteria
Key criteria assessors look for in your portfolio
- Describe different SDLC models (e.g., Waterfall, Agile).
- Explain the purpose and importance of a feasibility study.
- Undertake a software development lifecycle for a given scenario.
- Discuss the suitability of behavioural design techniques.
- Describe different SDLC models and their phases.
- Explain the purpose and components of a feasibility study.
- Undertake a full SDLC for a given scenario.
- Discuss the suitability of behavioural design techniques.
- Describe different software development lifecycles.
- Explain the importance of a feasibility study.
- Undertake a software development lifecycle for a given scenario.
- Discuss the suitability of behavioural design techniques.
- Describe different software development lifecycles.
- Explain importance of feasibility study.
- Undertake a software development lifecycle.
- Discuss suitability of behavioural design techniques.
- Describes different software development lifecycles.
- Explains the importance of a feasibility study.
- Undertakes a software development lifecycle.
- Discusses the suitability of software behavioural design techniques.
- Describe the phases of at least two SDLC models (e.g., Waterfall, Agile).
- Explain the purpose and components of a feasibility study.
- Apply an SDLC to a given scenario, producing relevant documentation.
- Discuss the suitability of behavioural design techniques like use cases or user stories.
- Describes various SDLC models (e.g., waterfall, agile).
- Explains the purpose and components of a feasibility study.
- Applies an SDLC to a given scenario.
- Discusses the suitability of behavioural design techniques (e.g., user stories, use cases).
- Describe different SDLC models (waterfall, agile, spiral).
- Explain the purpose and components of a feasibility study.
- Undertake a full SDLC for a given scenario.
- Discuss suitability of behavioural design techniques (e.g., use cases, user stories).
- Evaluate the strengths and weaknesses of each lifecycle.
Assessment Guidance
Guidance for achieving higher grades
- 💡Use diagrams to illustrate SDLC stages.
- 💡Compare and contrast different models.
- 💡Always link the choice of model to project requirements.
- 💡Learn the key differences between Waterfall and Agile.
- 💡Use case studies to illustrate feasibility study outputs.
- 💡Justify your choice of SDLC model for a given project.
- 💡Compare and contrast waterfall and agile methodologies.
- 💡Understand the components of a feasibility study.
- 💡Know when to use techniques like user stories or prototyping.
- 💡Use diagrams to illustrate lifecycles.
- 💡Justify choice of lifecycle for a project.
- 💡Link feasibility to project success.
- 💡Compare waterfall, agile, and spiral models.
- 💡Use real-world examples to illustrate feasibility.
- 💡Understand UML for behavioural design.
- 💡Use real-world examples to illustrate SDLC phases.
- 💡Link feasibility study outcomes to project decisions.
- 💡Compare and contrast different design techniques.
- 💡Compare and contrast SDLC models.
- 💡Use a case study to demonstrate SDLC application.
- 💡Understand when to use different design techniques.
- 💡Use a case study to compare lifecycles.
- 💡Understand when to use agile vs. waterfall.
- 💡Practice creating user stories and use case diagrams.
- 💡When answering algorithm questions, always trace through your code with a sample input to verify correctness. Show intermediate steps (e.g., variable values) to demonstrate understanding. This can earn you method marks even if the final answer is wrong.
- 💡For system architecture questions, use diagrams to illustrate the fetch-execute cycle or memory hierarchy. Label components clearly and explain their roles. Visual aids help examiners see your thought process and can boost marks.
- 💡In networking questions, memorise the OSI model layers (7-Application, 6-Presentation, 5-Session, 4-Transport, 3-Network, 2-Data Link, 1-Physical) and their functions. Use mnemonics like 'All People Seem To Need Data Processing' to recall the order.
Common Mistakes
Common errors to avoid in your coursework
- Confusing Waterfall with Agile methodologies.
- Overlooking the feasibility study stage.
- Failing to justify the choice of SDLC model.
- Confusing iterative and incremental models.
- Omitting feasibility study from the lifecycle.
- Applying a model without considering project context.
- Confusing agile with lack of planning.
- Skipping feasibility study due to time pressure.
- Applying behavioural design without user research.
- Confusing waterfall with agile.
- Skipping feasibility study steps.
- Misapplying design techniques.
- Choosing an SDLC model without considering project requirements.
- Skipping feasibility study leading to project failure.
- Overlooking behavioural design in user experience.
- Confusing the order of phases in different SDLC models.
- Overlooking the role of feasibility in project success.
- Failing to justify the choice of design technique.
- Confusing different SDLC models.
- Skipping feasibility study in project planning.
- Not justifying choice of design technique.
- Assuming one lifecycle fits all projects.
- Skipping feasibility study in haste.
- Confusing verification and validation.
- Misconception: 'The CPU's clock speed is the only factor determining performance.' Correction: While clock speed matters, performance also depends on core count, cache size, architecture efficiency, and thermal throttling. A multi-core processor with lower clock speed can outperform a single-core high-speed CPU for multitasking.
- Misconception: 'Object-oriented programming is always better than procedural programming.' Correction: Each paradigm has strengths. Procedural programming is simpler for small, linear tasks, while OOP excels in large, complex systems requiring modularity and reusability. Choose based on project needs.
- Misconception: 'IPv4 addresses are running out, so IPv6 is just a larger address space.' Correction: IPv6 also improves security (IPsec built-in), simplifies header processing, and enables auto-configuration. It's not just more addresses—it's a redesigned protocol.
Frequently Asked Questions
Common questions students ask about this topic
Pass / Merit / Distinction Evidence Checklist
How your portfolio evidence is graded for PEARSON Software Development Lifecycles
Demonstrate baseline knowledge, accurate terminology, and core practical application.
Provide detailed analysis, structured explanations, and clear workplace reasoning.
Deliver thorough evaluation, original problem solving, and fully justified recommendations.
Before You Start
Prior knowledge that will help with this topic
- •Basic understanding of computer hardware (e.g., what a CPU, RAM, and hard drive are) from GCSE or Level 3 study.
- •Familiarity with mathematical concepts like binary, hexadecimal, and Boolean logic (AND, OR, NOT).
- •Some experience with a programming language (e.g., Python or JavaScript) is helpful but not mandatory—this module will teach you from the ground up.
Coursework AI Review
Self-check your coursework evidence against P/M/D criteria
Key Terminology
Essential terms to know
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
- 1. Describe different software development lifecycles.2. Explain the importance of a feasibility study.3. Undertake a software development lifecycle.4. Discuss the suitability of software behavioural design techniques.
Ready to learn?
AI-powered learning tailored to this unit