Software Design
Software Design
and Development
and Development
( A guide )
( A guide )
Software Design & Development
Software Design & Development
Day 1 - Definitions and Overview
Day 2 - Software Design
Software Development
Day 1 - Definitions & Overview
Definitions
What is software ?
What is software design ?
What is software development ?
What is a CASE tool ?
Day 1 - Definitions & Overview
Definitions
Software development life-cycle
Software development process
Software development models
Day 1 - Definitions & Overview
What is software ?
Software is computer programs that
provide instructions for individual
machines to function and for
combinations of machines to work
together
Day 1 - Definitions & Overview
What is software design ?
Consisting of 3 parts :
Conceptual design
Logical design
Physical design
Day 1 - Definitions & Overview
Software design - 3 parts
Conceptual
Logical
Physical
Scenarios
Services &
Objects, UI
logical DB
Components,
UI &
Physical DB
Day 1 - Definitions & Overview
Part 1 of Software Design
Conceptual
Scenarios
•
Identify business needs
•
Understand users’ requirements
•
Generate scenarios that reflect
complete & accurate requirements
by involving the customers, users
and other stakeholders
Day 1 - Definitions & Overview
Part 2 of Software Design
Logical
Services &
Objects, UI,
logical DB
•
Organize the solution
•
Formulate an abstract model
•
Take the scenarios from conceptual
and produces objects & services,
UI prototypes and a logical DB
Day 1 - Definitions & Overview
Part 3 of Software Design
Physical
Components,
UI &
Physical DB
•
Apply real-world technology
constraints incl. implementation
& performance considerations,
to the outputs of Logical design by
specifying the details of the solution
•
Take the outputs of Logical Design
to produce components, UI specs
and physical DB design
Day 1 - Definitions & Overview
What is software development ?
Software development is a process of
developing a software system from
requirements ie. System, Information
Operations
Day 1 - Definitions & Overview
What is software development ?
Software development comprises many
individual tasks and activities that are
performed in a fairly standard manner,
the only difference being the objects on
which they are being performed
Day 1 - Definitions & Overview
Requirements
System
•
Business needs
•
Functional - inputs,
processing, outputs,
human interface,
storage structure
dependencies
•
Performance
•
System & data
security
Information
•
Project Overview
•
Data models
•
Data definitions
Operations
•
Organization
•
Human
resources
•
Regulatory
- legal
- government
- industry
•
Standards
What is a CASE tool ?
CASE refers to Computer-Aided
Software Engineering
A software engineering process which
provides a disciplined approach to
assigning tasks and responsibilities within
a development organization.
Day 1 - Definitions & Overview
Why do you use a CASE tool ?
Its goal is to ensure the production of
high-quality software, meeting the needs
of its end-users, within a predictable
schedule and budget.
Day 1 - Definitions & Overview
Requirement
Mission analysis
stage
Concept.
Dev. Stage
Initiation Phase
Development Phase
System
analysis
stage
System
design
stage
Construct
& acq.
stage
User
accept.
stage
Operation and Maintenance Phase
Implementation stage Maintenance stage
Day 1 - Definitions & Overview
Software development life-cycle
Day 1 - Definitions & Overview
Software development life-cycle
Installation, Operation
& maintenance
Needs Definition
& development
Shutdown &
disposal
Design, Development,
Production & testing
Users/Developers
Day 1 - Definitions & Overview
Software development process
Day 1 - Definitions & Overview
Software development models
Needs Definition
Proposal Baseline
Functional Spec.
Detailed Design
Development
Testing
Installation
Performance Assessment
Water Fall model
Day 1 - Definitions & Overview
Software development models
Spiral model
Planning &Analysis
Design
Assessment Implementation
Day 1 - Definitions & Overview
Procedural model
Planning & Mgmt SOW Architecture Plans
Software req. Architecture Func. Spec. Review,sign
Life cycle phases Input Output Controls
Pre. Design Func spec Detailed doc Review,sign
Detailed Pre. Design Detailed spec Review,sign
Code & test Detailed spec Final spec Walk-thru
Syst. Accept. Int., syst. Syst. Accept. Test plan
Accept test doc.
Day 1 - Definitions & Overview
Node A
Node B Node C
Node D
Node E
Node F
Node G
Node H Node I
Software Life Cycle
Day 1 - Definitions & Overview
Node A
Node B Node C
Node D
Node E
Node F
Node G
Node H Node I
A.. A new software
has been identified
and an initial
set of software
requirements
has been prepared
Day 1 - Definitions & Overview
Node A
Node B Node C
Node D
Node E
Node F
Node G
Node H Node I
B.. The last task per-
formed prior to
node B is a DRR
where commitments
are made.
S/W dev. is ready
to begin
Day 1 - Definitions & Overview
Node A
Node B Node C
Node D
Node E
Node F
Node G
Node H Node I
C.. For acquired
software
components,
all required
formal
agreements have
been obtained