18
The Software The Software Development Cycle Development Cycle 9.2.1 Defining and understanding the problem

The Software Development Cycle 9.2.1 Defining and understanding the problem

Embed Size (px)

Citation preview

Page 1: The Software Development Cycle 9.2.1 Defining and understanding the problem

The Software Development The Software Development CycleCycle

9.2.1 Defining and understanding the problem

Page 2: The Software Development Cycle 9.2.1 Defining and understanding the problem

Defining the problemDefining the problem

Defining the problem involves:– identifying the problem– determining the feasibility of the

solution

Page 3: The Software Development Cycle 9.2.1 Defining and understanding the problem

Identifying the problemIdentifying the problem

Identifying the problem involves examining: – the needs of users– the objectives of the solution– the boundaries within which the

solution will operate

Page 4: The Software Development Cycle 9.2.1 Defining and understanding the problem

FeasibilityFeasibility

Feasibility is about whether it is actually possible to implement a proposed solution. It involves consideration of the following:– Is the problem worth solving?– Is the problem able to be solved?

Read the textbook:

Chapter 3: Defining and understanding the problem.

FOR MORE INFO...

Page 5: The Software Development Cycle 9.2.1 Defining and understanding the problem

Feasibility issuesFeasibility issues

Feasibility issues include:– constraints– budgetary considerations– operational considerations– technical considerations– scheduling or timing of the project– possible alternative solutions– social and ethical considerations

Page 6: The Software Development Cycle 9.2.1 Defining and understanding the problem

Design specificationsDesign specifications

Design specifications detail the requirements of the problem solution.

Page 7: The Software Development Cycle 9.2.1 Defining and understanding the problem

The developer’s perspective of The developer’s perspective of the problemthe problem The developer needs to thoroughly

understand all aspects of the problem. The developer looks at the problem in

terms of:– data types– variables – processes

Read the textbook:

Chapter 3: Defining and understanding the problem.

FOR MORE INFO...

Page 8: The Software Development Cycle 9.2.1 Defining and understanding the problem

The importance of the user in The importance of the user in defining the problemdefining the problem

Any problem has to be solved in accordance with the user since: – users are the source of knowledge about the functioning of a system

– users manage the software and its interface long after implementation is finished

Page 9: The Software Development Cycle 9.2.1 Defining and understanding the problem

The user’s perspective of the The user’s perspective of the problem problem The user is only concerned with the

ability of the solution to fully meet his or her needs.

The user wants the problem solved and has little interest in how the solution was achieved.

Page 10: The Software Development Cycle 9.2.1 Defining and understanding the problem

ModellingModelling

A model is a design to imitate a ‘real- world’ situation.

Modelling a solution uses diagrams to represent a proposed system.

There are a wide range of such diagrams, each suitable for a different purpose or modelling a different perspective.

Page 11: The Software Development Cycle 9.2.1 Defining and understanding the problem

Modelling techniques: IPO chartsModelling techniques: IPO charts

An IPO chart is a tabular representation of the inputs, processes and outputs of a system but it does not show relationships between them.

Read the textbookChapter 3: Defining and understanding the problem.

FOR MORE INFO...

Input Process Output

Page 12: The Software Development Cycle 9.2.1 Defining and understanding the problem

Modelling techniques: Modelling techniques: StoryboardsStoryboards A storyboard provides a step-by-step

representation of the relationship between screens in a program. It can be designed in different ways:– Linear (sequential) – Non-linear– Hierarchical – Combinations

Read the textbook: Chapter 3: Defining and understanding the problem.

FOR MORE INFO...

Page 13: The Software Development Cycle 9.2.1 Defining and understanding the problem

Modelling techniques: Modelling techniques: Data flow diagramsData flow diagrams DFDs show the flow

or path of data through the system.

They indicate how and where data enters, is stored, processed and output.

They show where tasks overlap or where unnecessary storage or transmission of data occurs.

Symbols used in data flow diagrams:

Source or

destination of

data - sink. Data flow

ProcessA file or

data storage

Page 14: The Software Development Cycle 9.2.1 Defining and understanding the problem

Modelling techniques: Modelling techniques: System flowchartsSystem flowcharts

System flowcharts enable a graphical model of the physical system to be developed, indicating hardware devices, the storage medium and processing units.

Disk

storage

Processing

On-line

storage

Manual

operationDisplay device

Document

Connectors

Tape

storage

Manual input

Communications link

Standard symbols used in systems flowcharts.

Page 15: The Software Development Cycle 9.2.1 Defining and understanding the problem

Screen designsScreen designs

The screen is the interface between the computer and the user.

Screen design sheets will:– contain an area for the actual screen design– specify the links between that screen and

other screens– contain a heading area that provides the

details of the program, programmers, date of design and any other important aspects of the screen design

Page 16: The Software Development Cycle 9.2.1 Defining and understanding the problem

Limited prototypesLimited prototypes

Prototypes are working models of a system. They are usually designed rapidly using one or

more CASE tools, often without regard to data validation or verification.

Prototypes aim to determine how a system works, especially in the area of the human interface where interactivity is involved.

They are useful for gathering feedback from clients when the project specifications are unclear.

Page 17: The Software Development Cycle 9.2.1 Defining and understanding the problem

Communication issuesCommunication issues

Communication during defining a project involves important aims including:– the need to empower the user (allowing

users to help make decisions)

– the need to acknowledge the user’s perspective

– enabling and accepting feedback from the user and the client

Page 18: The Software Development Cycle 9.2.1 Defining and understanding the problem

RememberRemember

Defining the problem is important as without a clear definition the project may never achieve its objectives.

The results of defining the problem should be:– a formal problem statement– a list of design specifications for the

project To end show:

On a Mac, press ESC.

On a PC, click on theContents button in thebrowser window.