level 3 computing year 1 lecturer: phil smith filebtec level 3 year 1 - unit 6 software design and...
TRANSCRIPT
Level 3 Computing
Year 1
Lecturer: Phil Smith
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
Software Development Life cycle Example diagram.
BTEC Level 3 Year 1 - Unit 6 Software Design and Development, Phil Smith
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
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
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
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
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.
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.
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.
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
12
The Prototyping Model (Iterative) Task 1.
Create a PowerPoint slide then
Research two advantages and two disadvantages.
Add these to your slide.
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
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.
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.
16
The Spiral Model The main four elements of the spiral design.
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)
18
The Spiral Model Task 3.
Create a PowerPoint slide then
Research two advantages and two disadvantages.
Add these to your slide.
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.
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
Some Agile Methods Adaptive Software Development (ASD)
Feature Driven Development (FDD)
Dynamic Software Development Method (DSDM)
Rapid Application Development (RAD)
Scrum
Extreme Programming (XP)
22
The Agile Model Task 4.
Create a PowerPoint slide then
Research two advantages and two disadvantages.
Add these to your slide.
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.
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
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
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
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
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
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
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
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