+ All Categories
Home > Documents > Day2_Fsoft Design Process

Day2_Fsoft Design Process

Date post: 16-Feb-2016
Category:
Upload: minh-nguyen
View: 217 times
Download: 4 times
Share this document with a friend
Description:
h
Popular Tags:
22
Fsoft Fsoft Design Process Design Process FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Transcript
Page 1: Day2_Fsoft Design Process

FsoftFsoft Design ProcessDesign Process

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

Page 2: Day2_Fsoft Design Process

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

Design process

Design workflow

Design considerations Fsoft design documents

Page 3: Day2_Fsoft Design Process

Fsoft Engineering Processes

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

Page 4: Day2_Fsoft Design Process

Design processOverview

SoftwareRequirementSpecification

Select fromalternativesolutions

Developdesign

documents

Reviewdesign

documents

Purpose: Develop solutions to requirements

Create Architecture design, high level and detaildesign documents

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

Alternative Designsolutions

Evaluation CriteriaDAR report

ADD, HLD,DDD

ApprovedDesign

Documents

Select fromalternativesolutions

Developdesign

documents

Reviewdesign

documents

Page 5: Day2_Fsoft Design Process

Design processDevelop the design

AD/HLD, DD: Step and ActivitiesReview and approve high level design:

- Prepare for high level design review, inform andsend 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 othermodules

- Create detail design document© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

AD/HLD, DD: Step and ActivitiesReview and approve high level design:

- Prepare for high level design review, inform andsend 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 othermodules

- Create detail design document

Page 6: Day2_Fsoft Design Process

Design Work FlowOverview

A B

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

A B

Page 7: Day2_Fsoft Design Process

Design Work FlowStep 1 - Plan

Purpose: It is to establish Design Plan.Trigger: Project is opened and PM is appointedInputs

- Project Plan - Customer RequirementsSteps

- 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; regulatoryand legal requirements; other requirements), resolve unclear requirements andinconsistencies, if any.- Create Design Plan: scopes and objectives, tasks and results; stages andmilestones, 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

Purpose: It is to establish Design Plan.Trigger: Project is opened and PM is appointedInputs

- Project Plan - Customer RequirementsSteps

- 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; regulatoryand legal requirements; other requirements), resolve unclear requirements andinconsistencies, if any.- Create Design Plan: scopes and objectives, tasks and results; stages andmilestones, 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

Page 8: Day2_Fsoft Design Process

Design Work FlowStep 2 - Develop High Level Design

PurposeTo develop Architectural design

TriggerPlan 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

PurposeTo develop Architectural design

TriggerPlan 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

Page 9: Day2_Fsoft Design Process

Design Work FlowStep 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

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

Page 10: Day2_Fsoft Design Process

Design Work FlowStep 3 – Review, Approve High Level Design

PurposeTo verify and validate Architectural Design

TriggerArchitectural 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

PurposeTo verify and validate Architectural Design

TriggerArchitectural 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

Page 11: Day2_Fsoft Design Process

Design Work FlowStep 4 - Develop Detail Design

PurposeTo develop detail design

TriggerWhen 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

PurposeTo develop detail design

TriggerWhen 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)

Page 12: Day2_Fsoft Design Process

Design Work FlowStep 5 - Conduct Design Transition

PurposeDeliver design package to next phase

TriggerDesign 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

PurposeDeliver design package to next phase

TriggerDesign 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

Page 13: Day2_Fsoft Design Process

Design considerations

There are many aspects to consider in the design of a piece of software. Theimportance of each should reflect the goals the software is trying to achieve. Someof these aspects are:

Compatibility - The software is able to operate with other products that aredesigned for interoperability with another product. For example, a piece of softwaremay be backward-compatible with an older version of itself.

Extensibility - New capabilities can be added to the software without majorchanges to the underlying architecture.

Fault-tolerance - The software is resistant to and able to recover from componentfailure.

Maintainability - The software can be restored to a specified condition within aspecified period of time. For example, antivirus software may include the ability toperiodically receive virus definition updates in order to maintain the software'seffectiveness.

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

There are many aspects to consider in the design of a piece of software. Theimportance of each should reflect the goals the software is trying to achieve. Someof these aspects are:

Compatibility - The software is able to operate with other products that aredesigned for interoperability with another product. For example, a piece of softwaremay be backward-compatible with an older version of itself.

Extensibility - New capabilities can be added to the software without majorchanges to the underlying architecture.

Fault-tolerance - The software is resistant to and able to recover from componentfailure.

Maintainability - The software can be restored to a specified condition within aspecified period of time. For example, antivirus software may include the ability toperiodically receive virus definition updates in order to maintain the software'seffectiveness.

Page 14: Day2_Fsoft Design Process

Design considerations

Modularity - the resulting software comprises well defined, independentcomponents. That leads to better maintainability. The components could be thenimplemented and tested in isolation before being integrated to form a desiredsoftware system. This allows division of work in a software development project.

Packaging - Printed material such as the box and manuals should match the styledesignated for the target market and should enhance usability. All compatibilityinformation should be visible on the outside of the package. All componentsrequired for use should be included in the package or specified as a requirement onthe outside of the package.

Reliability - The software is able to perform a required function under statedconditions for a specified period of time.

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

Modularity - the resulting software comprises well defined, independentcomponents. That leads to better maintainability. The components could be thenimplemented and tested in isolation before being integrated to form a desiredsoftware system. This allows division of work in a software development project.

Packaging - Printed material such as the box and manuals should match the styledesignated for the target market and should enhance usability. All compatibilityinformation should be visible on the outside of the package. All componentsrequired for use should be included in the package or specified as a requirement onthe outside of the package.

Reliability - The software is able to perform a required function under statedconditions for a specified period of time.

Page 15: Day2_Fsoft Design Process

Design considerations

Reusability - the software is able to add further features and modification withslight or no modification.

Robustness - The software is able to operate under stress or tolerateunpredictable or invalid input. For example, it can be designed with a resilience tolow 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 choicefor the majority of the users.

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

Reusability - the software is able to add further features and modification withslight or no modification.

Robustness - The software is able to operate under stress or tolerateunpredictable or invalid input. For example, it can be designed with a resilience tolow 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 choicefor the majority of the users.

Page 16: Day2_Fsoft Design Process

Fsoft Design DocumentsHigh-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 thateach supporting component design will be compatible with its neighboringdesigns 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 includeany important changes that need to be made to them.

A high-level design document will usually include a high-level architecturediagram depicting the components, interfaces and networks that need to befurther specified or developed.

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

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 thateach supporting component design will be compatible with its neighboringdesigns 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 includeany important changes that need to be made to them.

A high-level design document will usually include a high-level architecturediagram depicting the components, interfaces and networks that need to befurther specified or developed.

Page 17: Day2_Fsoft Design Process

Fsoft Design DocumentsHigh-level design

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

Sample architecture diagram for the Android (operating system)

Page 18: Day2_Fsoft Design Process

Fsoft Design DocumentsDetailed 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

Detailed design documents include the following documents:

1.Screen Design Document

2.Data Design Document

3.Class Design Document

Page 19: Day2_Fsoft Design Process

Fsoft Design DocumentsDetailed Design – Screen Design

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

1. Screen followScreen structure or transition between screens. It should be in diagram

2. Screen’s component list

3. Screen picture

Refer to Fsoft Screen Design Template

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

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

1. Screen followScreen structure or transition between screens. It should be in diagram

2. Screen’s component list

3. Screen picture

Refer to Fsoft Screen Design Template

Page 20: Day2_Fsoft Design Process

Fsoft Design DocumentsDetailed 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

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

Page 21: Day2_Fsoft Design Process

Fsoft Design DocumentsDetailed 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

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

Page 22: Day2_Fsoft Design Process

Q&A

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3


Recommended