Date post: | 16-Feb-2016 |
Category: |
Documents |
Upload: | minh-nguyen |
View: | 217 times |
Download: | 4 times |
FsoftFsoft Design ProcessDesign 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
Design process
Design workflow
Design considerations Fsoft design documents
Fsoft Engineering Processes
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
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
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
Design Work FlowOverview
A B
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
A B
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
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
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
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
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)
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
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.
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.
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.
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.
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)
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
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
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
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
Q&A
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3