You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
This lesson covers the Software Development Lifecycle (SDLC) for the OCR A-Level Computer Science (H446) specification. You need to understand the stages of software development, common development methodologies, documentation practices, and version control.
The Software Development Lifecycle is a structured process that guides the development of software from initial concept to deployment and maintenance. It ensures that software is developed systematically, meets user needs, and is delivered on time and within budget.
| Stage | Description | Key Activities |
|---|---|---|
| Requirements | Gather and document what the system must do. | Interviews, questionnaires, observation, document analysis. |
| Design | Plan the system architecture and components. | Data structures, algorithms, UI design, database schema. |
| Implementation | Write the code according to the design. | Programming, unit testing, code reviews. |
| Testing | Verify the system works correctly. | Unit, integration, system, acceptance testing. |
| Deployment | Release the system to users. | Installation, data migration, user training. |
| Maintenance | Support and improve the system after release. | Bug fixes, updates, enhancements. |
| Type | Description | Example |
|---|---|---|
| Functional | What the system must DO. | "The system must allow users to register with an email and password." |
| Non-functional | HOW the system should perform. | "The system must load pages within 2 seconds." |
| User requirements | Written from the user's perspective. | "As a student, I want to view my grades online." |
| System requirements | Technical specifications for developers. | "The database must use PostgreSQL 14 or later." |
| Technique | Advantages | Disadvantages |
|---|---|---|
| Interviews | Detailed, can ask follow-up questions | Time-consuming, subjective |
| Questionnaires | Reach many people quickly | Limited depth, low response rates |
| Observation | See real workflows | Time-consuming, may alter behaviour |
| Document analysis | Understand existing systems | Documents may be outdated |
| Prototyping | Users can see and interact with a model | Can create unrealistic expectations |
| Activity | Description |
|---|---|
| System architecture | Overall structure: client-server, microservices, etc. |
| Data design | Database tables, relationships, normalisation. |
| Algorithm design | Pseudocode, flowcharts for key processes. |
| Interface design | User interface mockups and wireframes. |
| Module design | Classes, functions, and their interactions. |
| Notation | Purpose |
|---|---|
| Pseudocode | Describe algorithms in structured English. |
| Flowcharts | Visual representation of program flow. |
| UML class diagrams | Show classes, attributes, methods, and relationships. |
| Entity-relationship diagrams | Show database entities and their relationships. |
| Data flow diagrams | Show how data moves through the system. |
Implementation is the stage where the design is translated into working code.
| Aspect | What to Check |
|---|---|
| Correctness | Does the code do what it should? |
| Readability | Is the code clear and well-structured? |
| Efficiency | Are there unnecessary operations or redundant code? |
| Security | Are there vulnerabilities (e.g., SQL injection, unsanitised input)? |
| Standards | Does the code follow agreed conventions? |
Testing has been covered in detail in the previous lesson. The key testing activities in the SDLC are:
| Strategy | Description | Risk |
|---|---|---|
| Direct changeover | Old system switched off; new system switched on immediately. | High -- no fallback if it fails. |
| Parallel running | Old and new systems run simultaneously until confidence is built. | Low -- but expensive (running two systems). |
| Phased implementation | New system introduced in stages (e.g., one department at a time). | Medium -- issues found early in each phase. |
| Pilot implementation | New system tested by a small group before full rollout. | Low -- limited impact if problems occur. |
Exam Tip: OCR may ask you to recommend a deployment strategy for a scenario. Always justify your choice: direct changeover is fast but risky; parallel running is safe but costly.
After deployment, software requires ongoing maintenance:
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.