Professional Documents
Culture Documents
04e-BM/NS/HDCV/FSOFT v2/3
Agenda
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
Design process
Overview
Software
Requirement
Specification
Select from
alternative
solutions
Purpose:
Develop solutions to requirements
Create Architecture design, high level and detail
design documents
Develop
design
documents
Alternative Design
solutions
Evaluation Criteria
DAR report
Review
design
documents
ADD, HLD,
DDD
Approved
Design
Documents
04e-BM/NS/HDCV/FSOFT v2/3
Design process
Develop the design
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
Purpose
To develop Architectural design
Trigger
Plan for Design is approved
Inputs
- SRS, URD, and Customer Requirements
- Project Plan
Steps
- Study business analysis documents and user requirement specifications
- Define main points of system architecture as technical model, operation
model, database model, program structure model, Prototype (if needed)
Design data
Design programs
Design interfaces
Design tools for installation
Create Architectural Design Document
04e-BM/NS/HDCV/FSOFT v2/3
Outputs
- Type of software requirements
- Software model, Prototype (if any)
- Data design results
- Program design results
- Interface design results
- Design results of tools for installation
- Architectural Design Document
04e-BM/NS/HDCV/FSOFT v2/3
Purpose
To verify and validate Architectural Design
Trigger
Architectural Design is ready to be reviewed and approved
Inputs
- Architectural Design Document
- Design Requirements, Standard
Steps
- Prepare for high level design review, inform and send documents, records to
the reviewers
- Review high level design: design methodology; standards and tools; system
architecture; feasibility of detail design process and coding
- Approve high level design and change request (if needed)
Outputs
- Design Checklist
- Review Report, change request (if needed)
- Approved Architectural Design and its change requests
FPT SOFTWARE TRAINING MATERIAL Internal use
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
Purpose
Deliver design package to next phase
Trigger
Design package is ready to be transferred
Inputs
- Architectural Design
- Detail Design
- Design Prototype (optional)
Steps
- Summarize design results, review notes and define further work
- Review and approve design products before delivering to customer, if needed
- Deliver design products to production teams, and to customer (if required)
- Create design summary report
- Maintain documents, records
Outputs
- Delivered design products
- Design summary report2
FPT SOFTWARE TRAINING MATERIAL Internal use
04e-BM/NS/HDCV/FSOFT v2/3
Design considerations
There are many aspects to consider in the design of a piece of software. The
importance of each should reflect the goals the software is trying to achieve. Some
of these aspects are:
Compatibility - The software is able to operate with other products that are
designed for interoperability with another product. For example, a piece of software
may be backward-compatible with an older version of itself.
Extensibility - New capabilities can be added to the software without major
changes to the underlying architecture.
Fault-tolerance - The software is resistant to and able to recover from component
failure.
Maintainability - The software can be restored to a specified condition within a
specified period of time. For example, antivirus software may include the ability to
periodically receive virus definition updates in order to maintain the software's
effectiveness.
FPT SOFTWARE TRAINING MATERIAL Internal use
04e-BM/NS/HDCV/FSOFT v2/3
Design considerations
Modularity - the resulting software comprises well defined, independent
components. That leads to better maintainability. The components could be then
implemented and tested in isolation before being integrated to form a desired
software system. This allows division of work in a software development project.
Packaging - Printed material such as the box and manuals should match the style
designated for the target market and should enhance usability. All compatibility
information should be visible on the outside of the package. All components
required for use should be included in the package or specified as a requirement on
the outside of the package.
Reliability - The software is able to perform a required function under stated
conditions for a specified period of time.
04e-BM/NS/HDCV/FSOFT v2/3
Design considerations
Reusability - the software is able to add further features and modification with
slight or no modification.
Robustness - The software is able to operate under stress or tolerate
unpredictable or invalid input. For example, it can be designed with a resilience to
low memory conditions.
Security - The software is able to withstand hostile acts and influences.
Usability - The software user interface must be usable for its target user/audience.
Default values for the parameters must be chosen so that they are a good choice
for the majority of the users.
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
Q&A
04e-BM/NS/HDCV/FSOFT v2/3