31
Level 3 Computing Year 1 Lecturer: Phil Smith

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

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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