Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and...
Transcript of Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and...
![Page 1: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/1.jpg)
Level 3 Computing
Year 1
Lecturer: Phil Smith
![Page 2: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/2.jpg)
Learning outcomes Previously we learnt about:
1. SDLC.
1. Six steps in a cycle.
1. Project scope and requirements.
2. Specification.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 3: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/3.jpg)
Software Development Life cycle Example diagram.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 4: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/4.jpg)
Learning outcomes Now we will continue with SDLC .
Design
Code (develop)
Test
Maintain (Support)
This is still learning outcome 2 “Understand the principles of software design”.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 5: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/5.jpg)
SDLC - Design Now you have the scope of the project and hopefully a definitive set of requirements that you can work with.
Now depending upon your organisational IT platform you need to consider the design of the system.
1. Will it be form based or web based.
2. Who will be using the software.
3. What security is needed (if any)
4. Does the new system sit behind the company firewall?
Some of this should be in the requirements!!!
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 6: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/6.jpg)
SDLC - Design Then what does the user interface look like?
Is there more than one UI required?
How does the navigation work?
Etc.
You will need to design storyboards and/or wireframe diagrams for the UI’s. Annotated to demonstrate how they operate.
What are the inputs and outputs?
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 7: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/7.jpg)
SDLC - Design You will need to produce a detailed design covering:
1. UI’s in detail.
2. Structure of the software showing how procures will be used and how they relate to each other etc.
3. The information requirements, where will data come from, where will the outputs be stored etc.
There are a number of techniques to cover these design requirements. Some of which you have met before.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 8: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/8.jpg)
Designing a Program All programs need to be designed and there a number
of ways to achieve this.
Flow charts.
Data flow diagrams.
UML
Pseudocode
We shall look at each of these in turn later, however we will not be able to go into great depth.
![Page 9: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/9.jpg)
9
Why develop new Software? As hardware will always eventually wear out, it will
need to replaced.
Software on the other hand, doesn’t wear out in this traditional sense, but will become increasingly less useful as users requirements for it changes over time. This means that software needs to be either periodically
updated or replaced.
Understanding the process of software development is
therefore paramount in keeping software systems/applications continually useful to its users.
![Page 10: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/10.jpg)
10
Introduction to the Software Development Process There are many documented software development
processes; too many to mention here. However, all software development processes can be categorised into:
Sequential Process Models
Where software is developed in a sequence of stages, typically: Analyse, Design, Code, Test.
Iterative Process Models
Where a sequential process model is repeated until the software is deemed correct. Typically used when the requirements for a piece of software are not fully known when development starts.
![Page 11: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/11.jpg)
11
The Prototyping Model (Iterative)
This allows the requirements of the system to be explored by the customer.
Once the customer is satisfied with the software system, it can then be taken as the final system or thrown away to allow a fresh system to be developed from the requirements specification.
Listen to customer
- Analyse their
Requirements
Build/revise
mock-up
Customer
test-drives
mock-up
Start
Finish Spec
![Page 12: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/12.jpg)
12
The Prototyping Model (Iterative) Task 1.
Create a PowerPoint slide then
Research two advantages and two disadvantages.
Add these to your slide.
![Page 13: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/13.jpg)
13
The Waterfall Model (Sequential)
While other process models will be investigated in this unit, we have been focussing upon the central stages of the Waterfall Model of Software Development.
Analysis
Design
Code
Test
Requirements
Software
![Page 14: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/14.jpg)
14
The Waterfall model Task 2.
Add a PowerPoint slide to the one from task 1 then -
Research two advantages and two disadvantages.
Add these to your slide.
![Page 15: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/15.jpg)
15
The Spiral Model The spiral model combines the idea of iterative
development with the systematic, controlled aspects of the waterfall model.
Spiral model is a combination of iterative development process model and sequential linear development model i.e. waterfall model with very high emphasis on risk analysis.
It allows for incremental releases of the product, or incremental refinement through each iteration around the spiral.
![Page 16: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/16.jpg)
16
The Spiral Model The main four elements of the spiral design.
![Page 17: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/17.jpg)
When to use Spiral Model When creation of a prototype is appropriate When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment unwise because of
potential changes to economic priorities Users are unsure of their needs Requirements are complex New product line Significant changes are expected (research and
exploration)
![Page 18: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/18.jpg)
18
The Spiral Model Task 3.
Create a PowerPoint slide then
Research two advantages and two disadvantages.
Add these to your slide.
![Page 19: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/19.jpg)
19
The Agile Model This model is iterative and is very much like the
prototyping model.
Here development continues while requirements are provided. The full cycle is completed in a set of small phases with weekly or fortnightly releases for test.
Once the business requirements are met the development stops.
This help to prevent scope creep and helps to focus on need to have requirements rather than nice to have requirements.
![Page 20: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/20.jpg)
Agile SDLC’s Speed up or bypass one or more life cycle phases
Usually less formal and reduced scope
Used for time-critical applications
Used in organizations that employ disciplined methods
![Page 21: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/21.jpg)
Some Agile Methods Adaptive Software Development (ASD)
Feature Driven Development (FDD)
Dynamic Software Development Method (DSDM)
Rapid Application Development (RAD)
Scrum
Extreme Programming (XP)
![Page 22: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/22.jpg)
22
The Agile Model Task 4.
Create a PowerPoint slide then
Research two advantages and two disadvantages.
Add these to your slide.
![Page 23: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/23.jpg)
Designing a Program Let’s consider a very simple example.
A program needs to load a customer file.
Be able to add and delete Customers.
Save the file including all changes.
These are a simple set of requirements.
![Page 24: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/24.jpg)
SDLC - Design Task 5.
Design a simple GUI for these requirements and then identify the program functions you think you will need.
This is revision as you have done this before.
What you are producing is the start of a design.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 25: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/25.jpg)
SDLC - Design Design also covers the general structure of the program(s), this must include the procedures required and how these relate to each other.
The procedures themselves should be designed to sow how they will meet specific requirements. A procedure should only do one thing.
Finally, the data or information requirements must be documented.
All of this design should be completed before any coding should start.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 26: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/26.jpg)
SDLC - Design Task 6.
From your previous design (task 5) -
Identify any functions/procedures.
List the known data and there types identified in the requirements.
List the unknown data and type that you think you may need.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 27: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/27.jpg)
SDLC - Coding Coding starts following the design and the development progresses in line with the design.
This does not always happen.
We shall be doing some more coding shortly.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 28: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/28.jpg)
SDLC - Testing All code should be tested.
Testing is done by the developer (unit testing), and by the end users.
End users usually complete questionnaires on whether the program(s) actually meet the business requirements.
You have done some of this in EDP.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 29: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/29.jpg)
SDLC - Support
Once a program/system is deployed into the production environment it has to be supported by several classes of people.
Developers for bug fixing.
Users for business suitability and change.
Database administrators (if applicable).
IT support staff, for deployment and infrastructure.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 30: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/30.jpg)
SDLC - Support
Task 7.
Research these roles and state briefy their main responsibilities.
1. Systems Analyst.
2. Analyst/programmer.
3. Tester.
4. IT Support.
5. Database administrator.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
![Page 31: Level 3 Computing Year 1 Lecturer: Phil Smith fileBTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith . Software Development Life cycle Example diagram. BTEC Level](https://reader030.fdocuments.us/reader030/viewer/2022040714/5e1b786272db15699742c4f7/html5/thumbnails/31.jpg)
Summary
Today we completed the key points of SDLC
1. About the principles of software design.
1. Software development life cycle.
1. Requirements.
2. Specification.
3. Design.
4. Code.
5. Test.
6. Support.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith