You are on page 1of 22

Fsoft Design Process

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Agenda

Fsoft Engineering Processes


Design process
Design workflow
Design considerations
Fsoft design documents

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Fsoft Engineering Processes

FPT SOFTWARE TRAINING MATERIAL Internal use

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

FPT SOFTWARE TRAINING MATERIAL Internal use

Review
design
documents

ADD, HLD,
DDD

Approved
Design
Documents

04e-BM/NS/HDCV/FSOFT v2/3

Design process
Develop the design

AD/HLD, DD: Step and Activities


Review and approve high level design:
- Prepare for high level design review, inform and
send documents, records to the reviewers
- Review: Design methodology, system architecture,
feasibility of detail design process and coding
- Approve high level design
Detail design:
- Design Screen, Report, Algorithms and other
modules
- Create detail design document

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Design Work Flow


Overview
A

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Design Work Flow


Step 1 - Plan
Purpose:
It is to establish Design Plan.
Trigger:
Project is opened and PM is appointed
Inputs
- Project Plan
- Customer Requirements
Steps
- Study design requirements: type and description; standards, regulations,
procedures and guidelines; similar designs and reusable, tools and create for
- Study design inputs (functional requirements and performance; regulatory
and legal requirements; other requirements), resolve unclear requirements and
inconsistencies, if any.
- Create Design Plan: scopes and objectives, tasks and results; stages and
milestones, schedule and resource, interfaces, design standards and criteria.
- Review and approve Design Plan
Outputs
- Design Plan is created and approved: Design Process, Resource for Design,
Tools used, Schedule.
- Standard, template and checklist used for Design is established
FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Design Work Flow


Step 2 - Develop High Level Design

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

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Design Work Flow


Step 2 - Develop High Level Design

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

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Design Work Flow


Step 3 Review, Approve High Level Design

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

Design Work Flow


Step 4 - Develop Detail Design
Purpose
To develop detail design
Trigger
When requirements & Architectural design are ready for detail design
Inputs
- SRS, URD, and customer requirements
- Architectural Design Document
- Project Plan
Steps
- Design screen
- Design reports
- Design algorithms
- Design other modules
- Create detail design document
- Develop design prototype for critical module,
functions or requirements (optional)
Outputs
- Detail Design Document
- Design Prototype (optional)
FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Design Work Flow


Step 5 - Conduct Design Transition

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.

FPT SOFTWARE TRAINING MATERIAL Internal use

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.

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Fsoft Design Documents


High-level design
A High-Level Design provides an overview of a solution, platform, system,
product, service, or process.
Such an overview is important in a multi-project development to make sure that
each supporting component design will be compatible with its neighboring
designs and with the big picture.
The highest level solution design should briefly describe all platforms,
systems, products, services and processes that it depends upon and include
any important changes that need to be made to them.
A high-level design document will usually include a high-level architecture
diagram depicting the components, interfaces and networks that need to be
further specified or developed.

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Fsoft Design Documents


High-level design

Sample architecture diagram for the Android (operating system)


FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Fsoft Design Documents


Detailed Designs

Detailed design documents include the following documents:


1.Screen Design Document
2.Data Design Document
3.Class Design Document

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Fsoft Design Documents


Detailed Design Screen Design
We have to define the following items in Screen Design document:
1. Screen follow
Screen structure or transition between screens. It should be in diagram
2. Screens component list
3. Screen picture
Refer to Fsoft Screen Design Template

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Fsoft Design Documents


Detailed Design Data Design

We have to define the following items in Data Design document:


1. Entity relationship diagrams
2. Tables structure
3. Fields structure
4. Files structure
5. Design the format of codes (ex. Customer codes, product codes )
Refer to Fsoft Data Design Template

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Fsoft Design Documents


Detailed Design Class Design
We have to define the following items in Class Design document:
1. COMMON package declaration
2. Error, exception handling
3. Log, trace and debug
4. Performance optimizing mechanism
5. Class diagram & Sequence diagram
6. External interface
7. Method declaration
Refer to Fsoft Class Design Template

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

Q&A

FPT SOFTWARE TRAINING MATERIAL Internal use

04e-BM/NS/HDCV/FSOFT v2/3

You might also like