Upload
mariah-leonard
View
214
Download
2
Embed Size (px)
Citation preview
The Software Development The Software Development CycleCycle
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
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
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...
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
Design specificationsDesign specifications
Design specifications detail the requirements of the problem solution.
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...
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
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.
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.
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
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...
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
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.
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
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.
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
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.