SlideShare una empresa de Scribd logo
1 de 8
Software
Architect
Documentation
Guide Book
January 20
2015
By SalimBhonhariya(CloudArchitect)
Designed
Software
Guide Book
1
1
Contents
Context..............................................................................................................................................3
What isthisall about?Designdetailswhichcontaindetailsnecessarytobuildthe systembutnot
needed to reason about failure. These details are not architectural...................................................3
Functional Overview...........................................................................................................................3
What does the system do?..............................................................................................................3
Functional requirements:................................................................................................................3
Context:.........................................................................................................................................3
Container:......................................................................................................................................3
Component:...................................................................................................................................3
Classes:..........................................................................................................................................3
Quality Attributes...............................................................................................................................4
Are there any significant non-functional requirements?....................................................................4
Constraints.........................................................................................................................................4
Are there any significant constraints? ..............................................................................................4
Principles ...........................................................................................................................................4
What design and development principles have been adopted? .........................................................4
Software Architecture.........................................................................................................................5
What does the big picture looklike and how is the system architecture?...........................................5
External Interfaces..............................................................................................................................6
What are the external systems interfaces?.......................................................................................6
Code..................................................................................................................................................6
Implementation details need to be explained?.................................................................................6
Structure ...................................................................................................................................6
Vision ........................................................................................................................................6
Technical Risks.........................................................................................................................6
Data...................................................................................................................................................7
What does the data model looklike andwhere it is being stored?.....................................................7
Infrastructure Architecture..................................................................................................................7
What does the target deploymentenvironment look like?................................................................7
Deployment.......................................................................................................................................7
What is the mapping between software andinfrastructure? .............................................................7
2
2
Operation and Support .......................................................................................................................7
How will people operates and support the system............................................................................7
Decision Log.......................................................................................................................................7
What decisions are takenwhile designing this document? ................................................................7
3
3
Context
What is this all about? Design details which contain details necessary to build
the system but not needed to reason about failure. These details are not
architectural.
Functional Overview
What does the system do?
Functional requirements: Requirements drive architecture. You need to know
vaguely what you’re building, irrespective of how you capture and record those
requirements (i.e. user stories, use cases, requirements specifications, acceptance
tests, etc.).
Explain how your software system works at various levels of abstraction? What
concepts and levels of abstraction would you use to do this?
Use UML to visualize the design of your software.
Create software architecture diagrams for your software system which represent
the codebase
Context: A high-level diagram that sets the scene; including key system
dependencies and actors.
Container: A container diagram shows the high-level technology choices, how
responsibilities are distributed across them and how the containers
communicate.
Component: For each container, a component diagram lets you see the key
logical components and their relationships.
Classes: This is an optional level of detail and I will draw a small number of high-
level UML class diagrams if I want to explain how a particular pattern or
component will be (or has been) implemented. The factors that prompt me to
draw class diagrams for parts of the software system include the complexity of
4
4
the software plus the size and experience of the team. Any UML diagrams that I
do draw tend to be sketches rather than comprehensive models
Quality Attributes
Are there any significant non-functional requirements?
The non-functional requirements (e.g. performance, scalability, security, etc.) are
usually technical in nature and are hard to retrofit. They ideally need to be baked
into the initial design and ignoring these qualities will lead you to a software system
that is either over- or under-engineered.
Constraints
Are there any significant constraints?
Constraints: The real-world usually has constraints; ranging from approved
technology lists, prescribed integration standards, target deployment environment,
size of team, etc. Again, not considering these could cause you to deliver a
software system that doesn’t complement your environment, adding unnecessary
friction.
Principles
What design and development principles have been adopted?
Principles: These are the things that you want to adopt in an attempt to provide
consistency and clarity to the software. From a design perspective, this includes
things like your decomposition strategy (e.g. layers vs components vs micro-
services), separation of concerns, architectural patterns, etc. Explicitly outlining a
starting set of principles is essential so that the team building the software starts
out heading in the same direction.
5
5
Software Architecture
What does the big picture look like and how is the system architecture?
Model of all possible failures in the system called risk and reason about those
risks. When the system fails you know that you have a reason to fail and how to fix
it.
You include the details in the model only if you have reason about failure about the
system to identify. You omit other design details.
Details design is architectural only if it can be traced back to avoiding failure risk.
That is how we know that the information detail is architectural.
The model helps you reason about and failure you are worried about. Detail you
have in model is architectural.
Cross-cutting concerns such as logging and exception handling.
Security; including authentication, authorization and confidentiality of sensitive
data.
Performance, scalability, availability and other quality attributes.
Audit and other regulatory requirements.
Real-world constraints of the environment.
Interoperability/integration with other software systems.
Operational, support and maintenance requirements.
Consistency of structure and approach to solving problems/implementing features
across the codebase.
Technology choices.
6
6
External Interfaces
What are the external systems interfaces?
Code
Implementation details need to be explained?
Structure
1. What: Understand the significant structural elements and how they fit
together, based upon requirements and constraints.
2. How: Design and decomposition down to containers and components.
Vision
3. What: Create Technical strategy, Vision, Roadmap and communicate
a vision for the team to work with.
4. How: Context, container and component diagrams.
Technical Risks
5. What: Identify and mitigate the highest priority risks. To insure that the
architecture works.
6. How: Risk-storming and concrete experiments
7. Project Documentation
7
7
Data
What does the data model look like and where it is being stored?
Infrastructure Architecture
What does the target deployment environment look like?
Deployment
What is the mapping between software and infrastructure?
Operationand Support
How will people operates and support the system.
DecisionLog
What decisions are taken while designing this document?

Más contenido relacionado

La actualidad más candente

Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...
Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...
Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...Misu Md Rakib Hossain
 
Engineering Software Products: 4. software architecture
Engineering Software Products: 4. software architectureEngineering Software Products: 4. software architecture
Engineering Software Products: 4. software architecturesoftware-engineering-book
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
Project Plan And Srs Final
Project Plan And Srs FinalProject Plan And Srs Final
Project Plan And Srs Finalguest24783f
 
NCC assingment l4dc ddoocp
NCC assingment l4dc ddoocpNCC assingment l4dc ddoocp
NCC assingment l4dc ddoocpDavid Parker
 
Visual Basic menu
Visual Basic menuVisual Basic menu
Visual Basic menukuldeep94
 
Example for SDS document in Software engineering
Example for SDS document in Software engineeringExample for SDS document in Software engineering
Example for SDS document in Software engineeringRavi Yasas
 
07 software design
07   software design07   software design
07 software designkebsterz
 
Toolbar, statusbar, coolbar in vb
Toolbar, statusbar, coolbar in vbToolbar, statusbar, coolbar in vb
Toolbar, statusbar, coolbar in vbAmandeep Kaur
 
Hotel managementsystemcorrectfinalsrs
Hotel managementsystemcorrectfinalsrsHotel managementsystemcorrectfinalsrs
Hotel managementsystemcorrectfinalsrsvidya_shankar
 
Software Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet CafeSoftware Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet CafeHari
 
Ddoocp assignment qp spring winter 2021 final
Ddoocp assignment qp spring   winter 2021 finalDdoocp assignment qp spring   winter 2021 final
Ddoocp assignment qp spring winter 2021 finalBoitumeloSelelo
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSanthia RK
 
Library Management System
Library Management SystemLibrary Management System
Library Management SystemMartins Okoi
 
Object Oriented Programming(OOP) CS304 handouts
Object Oriented Programming(OOP)   CS304 handoutsObject Oriented Programming(OOP)   CS304 handouts
Object Oriented Programming(OOP) CS304 handoutsSohaib Danish
 
End user development
End user developmentEnd user development
End user developmentgavhays
 
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...Dr Sukhpal Singh Gill
 
Software Requirements Specification Final
Software Requirements Specification FinalSoftware Requirements Specification Final
Software Requirements Specification Finaljangjong
 
Software Design Description (SDD) sample
Software Design Description (SDD) sampleSoftware Design Description (SDD) sample
Software Design Description (SDD) samplePeny Gama
 

La actualidad más candente (20)

Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...
Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...
Software Requirement Analysis and Specification (SRS) of Automated Cyber Cafe...
 
Engineering Software Products: 4. software architecture
Engineering Software Products: 4. software architectureEngineering Software Products: 4. software architecture
Engineering Software Products: 4. software architecture
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Project Plan And Srs Final
Project Plan And Srs FinalProject Plan And Srs Final
Project Plan And Srs Final
 
NCC assingment l4dc ddoocp
NCC assingment l4dc ddoocpNCC assingment l4dc ddoocp
NCC assingment l4dc ddoocp
 
Visual Basic menu
Visual Basic menuVisual Basic menu
Visual Basic menu
 
Example for SDS document in Software engineering
Example for SDS document in Software engineeringExample for SDS document in Software engineering
Example for SDS document in Software engineering
 
07 software design
07   software design07   software design
07 software design
 
Toolbar, statusbar, coolbar in vb
Toolbar, statusbar, coolbar in vbToolbar, statusbar, coolbar in vb
Toolbar, statusbar, coolbar in vb
 
Hotel managementsystemcorrectfinalsrs
Hotel managementsystemcorrectfinalsrsHotel managementsystemcorrectfinalsrs
Hotel managementsystemcorrectfinalsrs
 
Software Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet CafeSoftware Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet Cafe
 
Ddoocp assignment qp spring winter 2021 final
Ddoocp assignment qp spring   winter 2021 finalDdoocp assignment qp spring   winter 2021 final
Ddoocp assignment qp spring winter 2021 final
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Library Management System
Library Management SystemLibrary Management System
Library Management System
 
Object Oriented Programming(OOP) CS304 handouts
Object Oriented Programming(OOP)   CS304 handoutsObject Oriented Programming(OOP)   CS304 handouts
Object Oriented Programming(OOP) CS304 handouts
 
End user development
End user developmentEnd user development
End user development
 
Srs template
Srs templateSrs template
Srs template
 
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
 
Software Requirements Specification Final
Software Requirements Specification FinalSoftware Requirements Specification Final
Software Requirements Specification Final
 
Software Design Description (SDD) sample
Software Design Description (SDD) sampleSoftware Design Description (SDD) sample
Software Design Description (SDD) sample
 

Similar a Software architect design documentation template

A summary of software architecture guide
A summary of software architecture guideA summary of software architecture guide
A summary of software architecture guideTriet Ho
 
Software architecture-patterns
Software architecture-patternsSoftware architecture-patterns
Software architecture-patternspedro
 
Software arquitectura patron diseño
Software arquitectura patron diseñoSoftware arquitectura patron diseño
Software arquitectura patron diseñopedro
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patternsPallav Kumar
 
Software architecture for developers
Software architecture for developersSoftware architecture for developers
Software architecture for developersChinh Ngo Nguyen
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and designRobinsonObura
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?iasaglobal
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manualVivek Kumar Sinha
 
Aspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSDAspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSDCan R. PAHALI
 
IT 600 Final Project Milestone Two Template Analytical Organi.docx
IT 600 Final Project Milestone Two Template Analytical Organi.docxIT 600 Final Project Milestone Two Template Analytical Organi.docx
IT 600 Final Project Milestone Two Template Analytical Organi.docxpriestmanmable
 

Similar a Software architect design documentation template (20)

A summary of software architecture guide
A summary of software architecture guideA summary of software architecture guide
A summary of software architecture guide
 
Software architecture-patterns
Software architecture-patternsSoftware architecture-patterns
Software architecture-patterns
 
Software arquitectura patron diseño
Software arquitectura patron diseñoSoftware arquitectura patron diseño
Software arquitectura patron diseño
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patterns
 
Software architecture for developers
Software architecture for developersSoftware architecture for developers
Software architecture for developers
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
L16 Documenting Software
L16 Documenting SoftwareL16 Documenting Software
L16 Documenting Software
 
Unit2 2
Unit2 2Unit2 2
Unit2 2
 
020170482 x
020170482 x020170482 x
020170482 x
 
Ch2
Ch2Ch2
Ch2
 
Ch2
Ch2Ch2
Ch2
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Block 1 ms-034 unit-2
Block 1 ms-034 unit-2Block 1 ms-034 unit-2
Block 1 ms-034 unit-2
 
Chapter1
Chapter1Chapter1
Chapter1
 
Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manual
 
Aspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSDAspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSD
 
IT 600 Final Project Milestone Two Template Analytical Organi.docx
IT 600 Final Project Milestone Two Template Analytical Organi.docxIT 600 Final Project Milestone Two Template Analytical Organi.docx
IT 600 Final Project Milestone Two Template Analytical Organi.docx
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 

Más de Salim M Bhonhariya

Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSalim M Bhonhariya
 
SSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSalim M Bhonhariya
 
Decide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selectionDecide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selectionSalim M Bhonhariya
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistSalim M Bhonhariya
 
Use corporate login from mobile applications to access on
Use corporate login from mobile applications to access onUse corporate login from mobile applications to access on
Use corporate login from mobile applications to access onSalim M Bhonhariya
 
Azure to on premise integration
Azure to on premise integrationAzure to on premise integration
Azure to on premise integrationSalim M Bhonhariya
 
Azure applications performance checklist
Azure applications performance checklistAzure applications performance checklist
Azure applications performance checklistSalim M Bhonhariya
 

Más de Salim M Bhonhariya (7)

Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation Template
 
SSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory Credentials
 
Decide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selectionDecide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selection
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance Checklist
 
Use corporate login from mobile applications to access on
Use corporate login from mobile applications to access onUse corporate login from mobile applications to access on
Use corporate login from mobile applications to access on
 
Azure to on premise integration
Azure to on premise integrationAzure to on premise integration
Azure to on premise integration
 
Azure applications performance checklist
Azure applications performance checklistAzure applications performance checklist
Azure applications performance checklist
 

Último

Call Girls Jalaun Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Jalaun Just Call 8617370543 Top Class Call Girl Service AvailableCall Girls Jalaun Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Jalaun Just Call 8617370543 Top Class Call Girl Service AvailableNitya salvi
 
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime PondicherryPondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherrymeghakumariji156
 
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证eeanqy
 
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...nirzagarg
 
Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...gajnagarg
 
Simple Conference Style Presentation by Slidesgo.pptx
Simple Conference Style Presentation by Slidesgo.pptxSimple Conference Style Presentation by Slidesgo.pptx
Simple Conference Style Presentation by Slidesgo.pptxbalqisyamutia
 
Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...
Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...
Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...gargpaaro
 
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best ServiceHigh Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best ServiceIndependent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecturesaipriyacoool
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Websitemark11275
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfamanda2495
 
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证eeanqy
 
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样awasv46j
 
Gamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad IbrahimGamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad Ibrahimamgadibrahim92
 
Furniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptxFurniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptxNikhil Raut
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...instagramfab782445
 
Resume all my skills and educations and achievement
Resume all my skills and educations and  achievement Resume all my skills and educations and  achievement
Resume all my skills and educations and achievement 210303105569
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024Ilham Brata
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationZenSeloveres
 

Último (20)

Call Girls Jalaun Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Jalaun Just Call 8617370543 Top Class Call Girl Service AvailableCall Girls Jalaun Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Jalaun Just Call 8617370543 Top Class Call Girl Service Available
 
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime PondicherryPondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
 
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
 
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
 
Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In fatehgarh [ 7014168258 ] Call Me For Genuine Models...
 
Simple Conference Style Presentation by Slidesgo.pptx
Simple Conference Style Presentation by Slidesgo.pptxSimple Conference Style Presentation by Slidesgo.pptx
Simple Conference Style Presentation by Slidesgo.pptx
 
Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...
Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...
Mohanlalganj ! Call Girls in Lucknow - 450+ Call Girl Cash Payment 9548273370...
 
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best ServiceHigh Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
 
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best ServiceIndependent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Website
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
 
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
 
Gamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad IbrahimGamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad Ibrahim
 
Furniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptxFurniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptx
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
 
Resume all my skills and educations and achievement
Resume all my skills and educations and  achievement Resume all my skills and educations and  achievement
Resume all my skills and educations and achievement
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 

Software architect design documentation template

  • 1. Software Architect Documentation Guide Book January 20 2015 By SalimBhonhariya(CloudArchitect) Designed Software Guide Book
  • 2. 1 1 Contents Context..............................................................................................................................................3 What isthisall about?Designdetailswhichcontaindetailsnecessarytobuildthe systembutnot needed to reason about failure. These details are not architectural...................................................3 Functional Overview...........................................................................................................................3 What does the system do?..............................................................................................................3 Functional requirements:................................................................................................................3 Context:.........................................................................................................................................3 Container:......................................................................................................................................3 Component:...................................................................................................................................3 Classes:..........................................................................................................................................3 Quality Attributes...............................................................................................................................4 Are there any significant non-functional requirements?....................................................................4 Constraints.........................................................................................................................................4 Are there any significant constraints? ..............................................................................................4 Principles ...........................................................................................................................................4 What design and development principles have been adopted? .........................................................4 Software Architecture.........................................................................................................................5 What does the big picture looklike and how is the system architecture?...........................................5 External Interfaces..............................................................................................................................6 What are the external systems interfaces?.......................................................................................6 Code..................................................................................................................................................6 Implementation details need to be explained?.................................................................................6 Structure ...................................................................................................................................6 Vision ........................................................................................................................................6 Technical Risks.........................................................................................................................6 Data...................................................................................................................................................7 What does the data model looklike andwhere it is being stored?.....................................................7 Infrastructure Architecture..................................................................................................................7 What does the target deploymentenvironment look like?................................................................7 Deployment.......................................................................................................................................7 What is the mapping between software andinfrastructure? .............................................................7
  • 3. 2 2 Operation and Support .......................................................................................................................7 How will people operates and support the system............................................................................7 Decision Log.......................................................................................................................................7 What decisions are takenwhile designing this document? ................................................................7
  • 4. 3 3 Context What is this all about? Design details which contain details necessary to build the system but not needed to reason about failure. These details are not architectural. Functional Overview What does the system do? Functional requirements: Requirements drive architecture. You need to know vaguely what you’re building, irrespective of how you capture and record those requirements (i.e. user stories, use cases, requirements specifications, acceptance tests, etc.). Explain how your software system works at various levels of abstraction? What concepts and levels of abstraction would you use to do this? Use UML to visualize the design of your software. Create software architecture diagrams for your software system which represent the codebase Context: A high-level diagram that sets the scene; including key system dependencies and actors. Container: A container diagram shows the high-level technology choices, how responsibilities are distributed across them and how the containers communicate. Component: For each container, a component diagram lets you see the key logical components and their relationships. Classes: This is an optional level of detail and I will draw a small number of high- level UML class diagrams if I want to explain how a particular pattern or component will be (or has been) implemented. The factors that prompt me to draw class diagrams for parts of the software system include the complexity of
  • 5. 4 4 the software plus the size and experience of the team. Any UML diagrams that I do draw tend to be sketches rather than comprehensive models Quality Attributes Are there any significant non-functional requirements? The non-functional requirements (e.g. performance, scalability, security, etc.) are usually technical in nature and are hard to retrofit. They ideally need to be baked into the initial design and ignoring these qualities will lead you to a software system that is either over- or under-engineered. Constraints Are there any significant constraints? Constraints: The real-world usually has constraints; ranging from approved technology lists, prescribed integration standards, target deployment environment, size of team, etc. Again, not considering these could cause you to deliver a software system that doesn’t complement your environment, adding unnecessary friction. Principles What design and development principles have been adopted? Principles: These are the things that you want to adopt in an attempt to provide consistency and clarity to the software. From a design perspective, this includes things like your decomposition strategy (e.g. layers vs components vs micro- services), separation of concerns, architectural patterns, etc. Explicitly outlining a starting set of principles is essential so that the team building the software starts out heading in the same direction.
  • 6. 5 5 Software Architecture What does the big picture look like and how is the system architecture? Model of all possible failures in the system called risk and reason about those risks. When the system fails you know that you have a reason to fail and how to fix it. You include the details in the model only if you have reason about failure about the system to identify. You omit other design details. Details design is architectural only if it can be traced back to avoiding failure risk. That is how we know that the information detail is architectural. The model helps you reason about and failure you are worried about. Detail you have in model is architectural. Cross-cutting concerns such as logging and exception handling. Security; including authentication, authorization and confidentiality of sensitive data. Performance, scalability, availability and other quality attributes. Audit and other regulatory requirements. Real-world constraints of the environment. Interoperability/integration with other software systems. Operational, support and maintenance requirements. Consistency of structure and approach to solving problems/implementing features across the codebase. Technology choices.
  • 7. 6 6 External Interfaces What are the external systems interfaces? Code Implementation details need to be explained? Structure 1. What: Understand the significant structural elements and how they fit together, based upon requirements and constraints. 2. How: Design and decomposition down to containers and components. Vision 3. What: Create Technical strategy, Vision, Roadmap and communicate a vision for the team to work with. 4. How: Context, container and component diagrams. Technical Risks 5. What: Identify and mitigate the highest priority risks. To insure that the architecture works. 6. How: Risk-storming and concrete experiments 7. Project Documentation
  • 8. 7 7 Data What does the data model look like and where it is being stored? Infrastructure Architecture What does the target deployment environment look like? Deployment What is the mapping between software and infrastructure? Operationand Support How will people operates and support the system. DecisionLog What decisions are taken while designing this document?