unit 6 - software design and developmentwiki.computing.hct.ac.uk/_media/computing/btec/... ·...

Post on 08-May-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LESSON 6 – PRINCIPLES OF

SOFTWARE DESIGN

Unit 6 - Software Design and Development

PREVIOUSLY

The key features of programming languages.

The basics for any programming language.

Design models.

LEARNING OUTCOMES

1. Know the features of programming languages

2. Understand the principles of software design

3. Be able to use tools to demonstrate software

designs.

WHAT IS COVERED IN THIS

SESSION

Understanding requirements

Software design

SYSTEMS ANALYSIS

In order to properly understand what it is we need to design and

develop a computer program all information must be used at the

design phase.

This is what systems analysis is.

The study of an activity or procedure to determine the desired

end and the most efficient method of obtaining this end.

Systems analysis is a step by step approach to understanding

requirements and identifying components.

REQUIREMENTS

Being able to interpret what the user wants and be able to

identify what it is you need to develop –

Use of English can really help here.

CONSIDER THE FOLLOWING

A new costume hire company needs a program to

manage the hiring of costumes to clients. They need

to take bookings from new customers with start and

return dates and the costume(s) needed. Stock

must be checked to ensure the booking can be

taken. The cost of the hire must be calculated

based upon the cost per day * by the number of

hire days. The bookings must be saved into a file.

Previous bookings also need to be viewed within a

specified range of dates. The costumes must be

selected from drop down lists.

WHAT DOES THIS MEAN?

This is a simple user specification.

But what should the screen look like?

Is there a logical flow the user must follow?

What about validation?

What are the data requirements?

What actions need to be done?

What code constructs would I need?

All valid questions.

ANALYSIS OF REQUIREMENTS.

Each of the questions on the preceding slide needs to be

thought about and designed.

For each question there is a specific type of diagram that you

would use, and, we shall cover these later in the unit.

As a heads up - for program flow there are diagrams that you

can use and a special language called pseudo code.

Now we shall look at each of the questions and how we use

English to understand what we need to do.

ANALYSE USER REQUIREMENTS

But what should the screen look like?

What are the data requirements? Or information needs?

To help us here we need to identify various components specified in the user requirements.

But first a little English will help us focus on the things we want.

Adjectives - a word naming an attribute of a noun, such as sweet, red.

Nouns - a word used to identify any of a class of people, places, or things.

Verbs - a word used to describe an action, state, or occurrence, and forming the main part of the predicate of a sentence, such as hear, become, happen.

ANALYSE USER REQUIREMENTS

Adjectives - a word naming an attribute of a noun, such

as sweet, red.

In computing, an attribute is a specification that defines a property of an object, element, or file For

clarity, attributes should more correctly be considered

metadata.

Metadata is data about data!

EXAMPLE - What are the nouns, adjectives and verbs you can see (if any)

in this partial requirement ?

A new costume hire company needs a program to manage

the hiring of costumes to clients. They need to take bookings

from new customers with start and return dates and the

costume(s) needed.

TASK Download the requirements from the wiki for the costume hire

given above. This is the LAB05 exercise.

Complete the table with the names of Nouns, Verbs,

Adjectives.

How many did you find?

Extension –

Thinking of the Graphical user interface – answer these questions.

1. What do you think actions relate to on the GUI.

2. What do you think Nouns might relate to on the GUI.

3. Sane for adjectives.

REVIEW LAB05 EXERCISE

A new costume hire company needs a program to manage the hiring of costumes to clients. They need to take bookings from new customers with start and return dates and the costume(s) needed. Stock must be checked to ensure the booking can be taken. The cost of the hire must be calculated based upon the cost per day * by the number of hire days. The bookings must be saved into a file. Previous bookings also need to be viewed within a specified range of dates. The costumes must be selected from drop down lists.

SOFTWARE DESIGN

Computer software

a complex process

requires a great deal of technical expertise.

Successful software deployment follows a sound

design process

SOFTWARE DEVELOPMENT

LIFECYCLE

number of steps required to produce an effective workable solution for a computer program.

applies to all types of program paradigm and platform e.g. form based, web based, app based.

In general a program is never finished, it continues to evolve along with the business.

once written it has to be supported and enhanced to meet current business needs.

a cycle

SDLC – 6 STEPS

1. Determination of scope

2. Requirements &Specification

3. Design

4. Write

5. Test

6. Support

Create a diagram to show

these in a continuous

cycle

PROJECT SCOPE

the part of project planning that involves

determining and documenting:

a list of specific project goals,

deliverables,

tasks,

costs

deadlines.

“what will the system do, and what it will not do?”.

PROJECT SCOPE/REQUIREMENTS

cannot include everything possible in any solution,

constrained by:

time,

money,

technology

resources.

It is common to adopt a need to have philosophy and try to leave out the nice to have.

more cost and time effective.

common to use a phased approach, breaking a large project down into smaller manageable chunks to make sub – projects.

PROJECT SCOPE/REQUIREMENTS

TASK 12

Create a 5 column table

complete the table using the information provided in Lab06 part a

Requirement Need to

have

Nice to

have

Include Exclude

USER REQUIREMENTS

The previous task is a typical business brief but there are

gaps which may have to be filled in order for this project to

proceed.

You may have made assumptions during the task.

Note any assumptions you made.

Assumption can kill a project.

GAP ANALYSIS

need to identify gaps in the requirements as early as possible.

Assumptions or gaps.

There is a database of members?

There is a court management system?

Number of courts etc.

REQUIREMENTS

The user may not clearly understand what is

required or may not be able to give enough

information.

The user requirements are stated in terms which

relate to the business; developers/analysts may

not understand these.

The user may not understand what is and what is

not possible.

Need to discuss the requirements with the user for clarification.

REQUIREMENTS

Key questions about the proposed system.

What are the primary aims of the system?

How does the current system work (business process)?

This may be a manual (paper) system or an older legacy

system.

Are there any other systems we need to interface with?

It is quite likely that the new system is just part of a much

bigger system. Isolated (or silo) systems are not so

common today.

REQUIREMENTS TASK 13

Lab06 part B.

top related