Sie sind auf Seite 1von 33

Software Development

Life Cycle
What is Software?

Instructions (computer programs) that when executed


provide desired function and performance
Data structures enable the programs to adequately
manipulate information
Documents that describe the operation and use of the
program
Software engineering : A Practitioner's Approach
A definition of the software
development:

The application of a systemic, disciplined,


quantifiable approach to development,
operation, and maintenance of software.
Who’s Who
CUSTOMER Sponsors system
development

$$$, DEVELOPER
needs
USER Contractual
obligation
Uses Builds
system system
Needs

Software system
What is the Software Life Cycle
Software Engineering is a
series of steps for producing
software.

Methods, procedures, and


tools are defined.

Engineering discipline

Metrics and measures -


prediction
Classic Life Cycle Models
Linear sequential (Waterfall)
Prototyping
Rapid Application
Development (RAD)
Incremental (Block Release)
Spiral
Component Assembly
Concurrent Development
Fourth Generation techniques
Rapid Application Development
(RAD)
A good model for small VB systems
The IDE is designed to allow us to develop
the small system.
Waterfall Model
REQUIREMENTS
ANALYSIS

SYSTEM
DESIGN

PROGRAM
DESIGN

CODING

UNIT & INTE-


GRATION TESTING

SYSTEM
TESTING

ACCEPTANCE
TESTING OPERATION
& MAINTENANCE
“Interactive” (Chaotic) Model
REQUIREMENTS
ANALYSIS
MAINTENANCE
SYSTEM
DESIGN

DELIVERY

PROGRAM
DESIGN
SYSTEM
TESTING

PROGRAM
INTEGRATION IMPLEMENTATION
TESTING UNIT
TESTING
Waterfall with Prototyping
REQUIREMENTS
Validate
ANALYSIS

SYSTEM
Verify
DESIGN

PROGRAM
DESIGN

CODING

PROTOTYPING UNIT & INTE-


GRATION TESTING

SYSTEM
TESTING

ACCEPTANCE
TESTING OPERATION
& MAINTENANCE
Prototyping Cycles
LIST OF LIST OF LIST OF
REVISIONS REVISIONS REVISIONS

revise user/
prototype customer
review

PROTOTYPE PROTOTYPE PROTOTYPE TEST


REQUIREMENTS DESIGN SYSTEM

DELIVERED
SYSTEM SYSTEM
REQUIREMENTS
(sometimes informal
or incomplete)
Multiple Builds
Development systems
DEVELOPERS

Build Release 1 Build Release 2 Build Release 3

Time
USERS

Use Release 1 Use Release 2 Use Release 3

Production systems
Spiral Model
Planning

Customer Risk
Communication Analysis

Start Axis

Customer
Evaluation Development

Integration
Process Metrics
Process Assessment
 Document review
 Peer reviews:
completed vs scheduled
results reported
 Problem report status
Product Quality
 Defect characteristics
 Difficulty of accurate measurement
Let us Examine the Classic
Waterfall Model
Linear sequential model
Tries to define each part of the cycle
Very good method for developing large
systems
Stage 1: Defining the problem

What Happens in this Stage:


To Identify and understand the problem you
must look at the:
Needs of Users and System
Objectives that the solution is to meet
Boundaries of solution

Feasibility Study

Design Specifications Modelling System

User Requirements System Requirements


Stage 1: Design specification

The design specification helps you form the


basis for the planning and designing the final
solution.
You will use this specification throughout the
system development to help plan, build and
test the final solution.
The Design specifications give a workable
framework to aid development of the system
(and further understanding of the system).
Stage 1:

A quote on the problem of ill-defined system


requirements:
"the creation of software requirements is
reminiscent of hiking in a fog that is gradually
lifting”

Software Productivity Research Inc (1996)


Stage 1: Design specifications

You need to consider the specification for the


USER and the System (Developer's) point of
view.
Developer: Overall design specifications
User: Interface design specifications
Stage 1: Activity:

Developer's perspective
 Algorithms,
 Variables
 Software design approach
 Modelling the system
 Documentation
User's perspective
 Screen design
 Ergonomic issues
 Appropriate icons
 Appropriate screen messages
 Social and ethical issues
 Relevant data formats for display
Stage 1: System Documentation:
Modelling different aspects of the System
Modelling tools are part of the documentation to be
interpreted by developers, maintainers and users, and
are used to represent a system.
They use diagrammatic methods and include:
 Input Process Output (IPO) diagrams
 System Flowcharts
 Storyboards
 Screen designs
 Dataflow diagrams
 Prototype
Stage 1: Questions:

Q 1: What are the aims of the first stage of the


development cycle?
Q 2: Why is the problem specification so important
in this stage?
Q 3: Why are modelling tools used in this stage?
Stage 2: Planning and Design of
Software Solution
Documentation and Models developed in
previous stage are used to give an overall view
of system design and help in the development of
data structures and logic necessary to fully
develop each module.
Stage 2: Planning and Design of
Software Solution
What Happens in this Stage:
The Planning stage consists of designing a solution. So in
this stage you need to:
1: Identify all inputs, outputs and processes
2: Select and describe relevant Data Structures
3: Create the Algorithm for final solution.
Stage 2 :

Use structured programming techniques of writing


programs.
You need to define your system's Data Structures
and files
You need to be able to recognize the logic in
Standard Algorithms
You need to test your algorithm
Documentation tools used to represent the overall
software solution in diagrammatic form
Chose your programming language wisely
Stage 2 : Questions:
Q 1: Which Documentation tools in the above table are used in
"stage one" of the SDC to help you understand and "model" the
new system.
Q 2: Which Documentation tools in the above table are used in
"stage two" of the SDC to help you Represent a Solution to the
problem.
Q 3: What is the different between customised and standard
algorithms?
Q 4: What information does a data dictionary hold?
Q 5: What is the term used for the ‘computer software’ that the
development team uses to help with analysis documentation and
development?
Q 6: Say the Planning stage is complete and the Programmer is
about to start to code. Select any two of the Representation Tools
below and describe how they both can complement each other to
give the programmer a better description of the system
Data dictionary, structure diagram, algorithm, IPO chart
Stage 3: Implementation of Software
Solution
What happens in this stage:
Source code written and tested., Ensure effective user
interface
Stage 3:

Use tools and techniques that will help correct and


detect errors.
Understand the Type of errors :
Syntax, Logic, Run-time
Consider the Hardware and software requirement of new
software.
Stage 3: Questions

Q 1: State one documentation prepared in this stage and


describe why it is important AND who is it important for?
Stage 4: Testing and Evaluation of
Software Solution
What happens in this stage:
Verify program solution using test data both at
program and system level.
Testing and Evaluation is integral to all stages.
Test that the Systems original “System Requirements
and Objectives” are being met.
Are we doing the “RIGHT JOB?”
Are we doing the “JOB RIGHT?”
Stage 4: Testing and Evaluation of
Software Solution
To ensure a quality product testing and evaluation is
done.

Quote: “definitions of software testing, however, boil


down to essentially the same thing: software testing is
the process of executing software in a controlled
manner, in order to answer the question ”Does the
software behave as specified?” .”
Stage 4: Questions

Q 1: What is the result from stage one of the SDC that is


used in this stage to help rest the solution?
Stage 5: Maintenance of Software Solution

What happens in this stage:


On-going process of corrections and refinement.
Modifications to code, macro, and scripts are often required. These
modifications do not need to be made by original developers.
In these situations, the original documentation is very important.
You need to keep in mind the ethical issues associated with
assessing and modifying the code of others.
For all Changes:
 Test changes
 Document changes
Modify present documentation

Das könnte Ihnen auch gefallen