SlideShare a Scribd company logo
Tips & Tricks for documenting Software
architecture
Karthikeyan VK
Karthik_3030@yahoo.com
@karthik3030
https://blogs.karthikeyanvk.in
Enter Text
Why Document Software Architecture?
Record important decisions.
One place to understand, how different system works with each
other.
Makes your platform scalable.
Common understanding among stakeholders
https://blogs.karthikeyanvk.in
Enter Text
Good software architecture doc means?
Strong and easy to maintain even on add/change in features.
Domain concepts and boundary clearly specified.
Flexible, extensible, and usable for the long term.
Responds positively to change.
https://blogs.karthikeyanvk.in
Enter Text
Mindset to Build architecture document
Everything changes.
Address only what customer wants
Address all stakeholders
Don’t over-architect
Decision tracker
https://blogs.karthikeyanvk.in
Enter Text
Architecture documentation – Principles
Addressing Stakeholder concerns
Effective Communication (KISS)
Should be structured, Fluid in nature
Pragmatic, addresses real world & practical concerns
Flexible
Technology agnostic
https://blogs.karthikeyanvk.in
Enter Text
Principles architecture document
Integrate with Software life cycle
Aligns with Engineering practises and quality management
standards.
https://blogs.karthikeyanvk.in
Enter Text
Architecture Document
Viewpoints
Perspectives
https://blogs.karthikeyanvk.in
Enter Text
What is Architectural Concern
https://blogs.karthikeyanvk.in
A concern is a requirement, an objective, an intention for that
architecture.
Every viewpoint has its own concern
E.g.:- Development Viewpoint – Module organization Concern
E.g.:- Functional viewpoint - External interfaces
Enter Text
What is a Models
https://blogs.karthikeyanvk.in
A model is a abstract representation of some aspects of
architecture.
Helps to understand.
Medium to communicate.
Eg:- Entity-relationship model, state transition model
Enter Text
Why Viewpoints
https://blogs.karthikeyanvk.in
Architecture document is very complex because it tries to
capture everything in a single place
Such a model is hard to understand and is unlikely to clearly
identify the architecture’s most important features.
Viewpoint attack the problem from different directions
simultaneously.
Enter Text
What is a Viewpoint
https://blogs.karthikeyanvk.in
Each viewpoint address the concerns .
It defines the stakeholders whose concerns are reflected in the
viewpoint and the guidelines, principles, and template models
for constructing its views.
Enter Text
Different types of Viewpoints
https://blogs.karthikeyanvk.in
Functional
Information
Concurrency *
Development
Deployment
Operational
Enter Text
Why Viewpoints ?
https://blogs.karthikeyanvk.in
A. Representing everything in a single model is complex,
viewpoints attacks using different models and views
B. Just another way of representing the architecture, nothing
different
Enter Text
Functional Viewpoints
https://blogs.karthikeyanvk.in
Describes the relationships, dependencies, and interactions
between the system and its environment.
People, Systems, and External entities with which it interacts.
Enter Text
Functional Viewpoint - Concerns
https://blogs.karthikeyanvk.in
Functional capabilities
External interfaces
Internal structure
Functional design qualities
Enter Text
Functional Viewpoint - Concerns
https://blogs.karthikeyanvk.in
Functional design Philosphy
Separation of concerns
Cohesion/Coupling
Element Interaction
Flexibility
Overall Coherence
Enter Text
Functional Viewpoint - Models
https://blogs.karthikeyanvk.in
Functional Structure models
Functional Elements
Interfaces
Connectors
External Entities.
Enter Text
Petshop
https://blogs.karthikeyanvk.in
Enter Text
Models - Petshop
https://blogs.karthikeyanvk.in
Enter Text
Functional Viewpoint - Pitfalls
https://blogs.karthikeyanvk.in
 Poorly defined interfaces
 Poorly understood responsibilities
 Infrastructure modelled as functional elements
Overloaded view
Enter Text
Functional Viewpoint - Pitfalls
https://blogs.karthikeyanvk.in
Diagrams without element definitions
Difficulty in reconciling the needs of multiple stakeholders
 Wrong Level of detail
 ‘God’ elements
Enter Text
Information Viewpoints
https://blogs.karthikeyanvk.in
Describes the system’s functional elements, their responsibilities,
interfaces, and primary interactions
It drives the shape of other system structures such as the
information structure, concurrency structure, deployment
structure.
Basically everything you do with database or any storage.
Enter Text
Information Viewpoint - Concerns
https://blogs.karthikeyanvk.in
Structure and content
Purpose and usage / Ownership
Mappings
Storage models/Flow/Consistency/Quality
Timeliness, latency, and age.
Enter Text
Information Viewpoint - Models
https://blogs.karthikeyanvk.in
Static information structure models
Information flow models
Information lifecycle models
Enter Text
Information Viewpoint - Models
https://blogs.karthikeyanvk.in
Metadata models
Data Format
Meaning
Data Structure
Data Context
Data Quality
Enter Text
Information Viewpoint - Models
https://blogs.karthikeyanvk.in
Enter Text
Information Viewpoint - Pitfalls
https://blogs.karthikeyanvk.in
Overloaded central database
Inconsistent distributed databases
Poor information quality
Representation incompatibilities
Enter Text
Development Viewpoints
https://blogs.karthikeyanvk.in
Describes the architecture that supports the software
development process.
Development views communicate the aspects of the architecture
of interest to those stakeholders involved in building, testing,
maintaining, and enhancing the system.
Enter Text
Development Viewpoint - Concerns
https://blogs.karthikeyanvk.in
Module organization
Common processing
Standardization of design/Design patterns
Standardization of testing
Instrumentation
Codeline organization
Enter Text
Development Viewpoint - Models
https://blogs.karthikeyanvk.in
 Module structure
 Common design or Design patterns
 Codeline models or how code is organized in your Source control
Enter Text
Development Viewpoint - Models
https://blogs.karthikeyanvk.in
Enter Text
Development Models – Petshop
https://blogs.karthikeyanvk.in
Enter Text
Development Viewpoint - Pitfalls
https://blogs.karthikeyanvk.in
Too much detail
Lack of developer focus
Lack of precision
Problems with the specified environment or maturity of the
technology
Enter Text Deployment Viewpoints
https://blogs.karthikeyanvk.in
Enter Text
Deployment Viewpoints
https://blogs.karthikeyanvk.in
Describes the environment into which the system will be
deployed, including capturing the dependencies the system has
on its runtime environment.
This view captures the hardware environment that your system
needs
Enter Text
Deployment Viewpoint - Concerns
https://blogs.karthikeyanvk.in
Runtime platform required
Specification and quantity of hardware or hosting required
Third-party software requirements
 Technology compatibility
Network requirements/Capacity
Physical constraints
Enter Text
Deployment Viewpoint - Models
https://blogs.karthikeyanvk.in
 Runtime platform models
Network models
Technology dependency models
Intermodal relationships
Enter Text
Deployment Viewpoint - Models
https://blogs.karthikeyanvk.in
Enter Text
Deployment Models - Petshop
https://blogs.karthikeyanvk.in
Enter Text
Deployment Viewpoint - Pitfalls
https://blogs.karthikeyanvk.in
Unclear or inaccurate dependencies
Unproven technology
Unsuitable or missing service-level agreements
Lack of specialist technical knowledge
Enter Text
Deployment Viewpoint - Pitfalls
https://blogs.karthikeyanvk.in
Late consideration of the deployment environment
Ignoring inter-site complexities
Inappropriate headroom provision
Not specifying a disaster recovery environment
Enter Text
Operational Viewpoints
https://blogs.karthikeyanvk.in
Enter Text
Operational Viewpoints
https://blogs.karthikeyanvk.in
Describes how the system will be operated, administered, and
supported when it is running in its production environment.
The aim of the Operational viewpoint is to identify system-wide
strategies for addressing the operational concerns
Enter Text
Operational Viewpoint - Concerns
https://blogs.karthikeyanvk.in
Installation and upgrade
Functional migration
Data migration
Operational monitoring and control
Alerting
Enter Text
Operational Viewpoint - Concerns
https://blogs.karthikeyanvk.in
Configuration management
Performance monitoring
Support
Backup and restore
Operation in third-party environments
Enter Text
Operational Viewpoint - Models
https://blogs.karthikeyanvk.in
Installation models
Migration models
Configuration management models
Administration models
Support models
Enter Text
Operational Viewpoint - Models
https://blogs.karthikeyanvk.in
Enter Text
Operational Viewpoint - Pitfalls
https://blogs.karthikeyanvk.in
Lack of engagement with the operational staff
Lack of backout planning
Lack of migration planning
Insufficient migration window
Missing management tools
Production environment constraints or no sandbox
Enter Text
What are Perspectives
https://blogs.karthikeyanvk.in
All the –ities
Security, quality, Availability, Scalability.
Resilience
Performance
Evolution
Enter Text
Perspectives - Performance
https://blogs.karthikeyanvk.in
If your system requires high performance, you need to manage
the time-based behaviour of elements and the frequency and
volume of inter-element communication.
Enter Text
Perspectives – Evolution/Maintainability
https://blogs.karthikeyanvk.in
If modifiability is important, you need to assign responsibilities to
elements such that changes to the system do not have far-
reaching consequences.
Enter Text
Perspectives - Security
https://blogs.karthikeyanvk.in
If your system must be highly secure, you need to manage and
protect inter-element communication and which elements are
allowed to access which information.
You may also need to introduce specialized elements (such as a
trusted kernel or containers) into the architecture.
Enter Text
Perspectives - Scalability
https://blogs.karthikeyanvk.in
If you believe scalability will be needed in your system, you have
to carefully localize the use of resources to facilitate the
introduction of higher-capacity replacements.
Enter Text
7 - Simple tips & Tricks to follow
https://blogs.karthikeyanvk.in
Think in paper.
Build simple table structure document, whereever possible.
Use the whiteboard and take photo and save the model in
document
Explain the models to your developers/stakeholders and
brainstorm
Enter Text
https://blogs.karthikeyanvk.in
Add explanation for every Diagram of every viewpoint
Your visual diagram should have a legend.
Add Brief details on path not taken in every viewpoint and
why it was not taken.
7 - Simple tips & Tricks to follow
Enter Text
References
@karthik3030
• http://www.ece.ubc.ca/~matei/EECE417/BASS/ch02lev1sec4.html
https://blogs.karthikeyanvk.in
Enter Text
Networking and more
@karthik3030
• https://www.facebook.com/aspiringDotnetArchitects/
• https://www.meetup.com/Chennai-Microsoft-Azure-User-Group/
• https://www.youtube.com/channel/UCJxa58lDcDj4tYQIHh7ORxA
https://blogs.karthikeyanvk.in
Enter Text
@karthik3030
Thank you
/Q&A
https://blogs.karthikeyanvk.in

More Related Content

PPTX
Pillars of great Azure Architecture
PPTX
Cloud Design Patterns
PPTX
Monolithic to Microservices - Handson
PDF
oracle
PDF
Integration patterns and practices for cloud and mobile computing
PPT
Startup application trends spring 2013
PPTX
Design patterns fast track
PPSX
SOA the Oracle way
Pillars of great Azure Architecture
Cloud Design Patterns
Monolithic to Microservices - Handson
oracle
Integration patterns and practices for cloud and mobile computing
Startup application trends spring 2013
Design patterns fast track
SOA the Oracle way

What's hot (19)

PPTX
The java enterprise edition (Servlet Basic)
PPTX
Spira: BI And Custom Reporting
DOCX
Interview questions
PPTX
#SPFestSEA Introduction to #MicrosoftGraph
PDF
Pega Cssa Training With Real-time Project @santhoopega123@gmail.com&Whatsup@8...
PPTX
Oracle ATG Commerce - Launch Management Framework
PPT
Symantec I3 - Inquire & Cluster
PDF
Control Transactions using PowerCenter
PDF
Case Study_Employee skill assessment software
PPTX
Top Ten Reasons Why Developers Don't Adopt ABAC
PPTX
Salesforce Development Best Practices
PDF
Enterprise Integration - Solution Patterns From the Field
PPTX
Using logic apps for dynamics 365 integration
PDF
PPT
PeopleSoft WorkCenter Presentation 20150901
PDF
Microsoft sc 900 exam dumps 2021
PPT
Surgient v5.0 Announcement
PPTX
Software architecture patterns
PPT
Anatomy Of A Driver Presentation 09 15 2008
The java enterprise edition (Servlet Basic)
Spira: BI And Custom Reporting
Interview questions
#SPFestSEA Introduction to #MicrosoftGraph
Pega Cssa Training With Real-time Project @santhoopega123@gmail.com&Whatsup@8...
Oracle ATG Commerce - Launch Management Framework
Symantec I3 - Inquire & Cluster
Control Transactions using PowerCenter
Case Study_Employee skill assessment software
Top Ten Reasons Why Developers Don't Adopt ABAC
Salesforce Development Best Practices
Enterprise Integration - Solution Patterns From the Field
Using logic apps for dynamics 365 integration
PeopleSoft WorkCenter Presentation 20150901
Microsoft sc 900 exam dumps 2021
Surgient v5.0 Announcement
Software architecture patterns
Anatomy Of A Driver Presentation 09 15 2008
Ad

Similar to Tips & Tricks to build software architecture document (20)

PDF
Documenting Software Architectures
PDF
SDA - 6 -Chapter Six.pdf
PPTX
Architectural Considerations for Startups
PPTX
Software Architecture Standard IEEE 1471
PPTX
Introduction to Modern Software Architecture
PDF
Software is not a Building - Designing Technical Architecture for Change
PDF
The Architect's Blind Spot - Ilionx Dev Days 2019
KEY
Frayed Edges - Architecture In Practice
PDF
Sifting Technologies - SpringOne Tour Dallas
PDF
Sifting Technologies - Separating the Wheat From the Chaff - SpringOne Tour -...
PPTX
TOGAF Classroom Series - M15 View and Viewpoints
PPT
09 introduction to_modeling
PDF
SpringOne Tour Denver - Sifting Technologies—Separating the Wheat From the Chaff
PDF
The Art of Software Development
PDF
Surviving in a microservices environment
PPTX
Build for the future
PPTX
App Arch Guide (Dons)
PPTX
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...
PPT
Cs 1023 lec 7 architecture (week 1)
PDF
Scott Whitmire - Just What is Architecture Anyway
Documenting Software Architectures
SDA - 6 -Chapter Six.pdf
Architectural Considerations for Startups
Software Architecture Standard IEEE 1471
Introduction to Modern Software Architecture
Software is not a Building - Designing Technical Architecture for Change
The Architect's Blind Spot - Ilionx Dev Days 2019
Frayed Edges - Architecture In Practice
Sifting Technologies - SpringOne Tour Dallas
Sifting Technologies - Separating the Wheat From the Chaff - SpringOne Tour -...
TOGAF Classroom Series - M15 View and Viewpoints
09 introduction to_modeling
SpringOne Tour Denver - Sifting Technologies—Separating the Wheat From the Chaff
The Art of Software Development
Surviving in a microservices environment
Build for the future
App Arch Guide (Dons)
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...
Cs 1023 lec 7 architecture (week 1)
Scott Whitmire - Just What is Architecture Anyway
Ad

More from Karthikeyan VK (20)

PPTX
GCD ChatGPT.pptx
PPTX
DataScience-101
PPTX
How to become a Software Architect.pptx
PPTX
Blockchain workshop 101
PPTX
Event Streaming Architecture - Deep Dive
PPTX
Anti patterns
PPTX
How to double your productivity as a developer
PPTX
How to be an expert in Debugging .Net Applications
PPTX
Chat bot LUIS
PPTX
Cloud design pattern using azure
PPTX
Enterprise security kubernetes
PPTX
Save Azure Cost
PPTX
Learning graphql .Net
PPTX
Azure devspaces
PPTX
Azure Event Grid
PPTX
Machine Learning Basics using Azure ML
PPTX
Convert monolithic .Net Applications to microservices With Principles
PPTX
Cognitive Intelligence using azure search
PPTX
Convert monolithic .Net Applications to microservices
PPTX
Azure container instances
GCD ChatGPT.pptx
DataScience-101
How to become a Software Architect.pptx
Blockchain workshop 101
Event Streaming Architecture - Deep Dive
Anti patterns
How to double your productivity as a developer
How to be an expert in Debugging .Net Applications
Chat bot LUIS
Cloud design pattern using azure
Enterprise security kubernetes
Save Azure Cost
Learning graphql .Net
Azure devspaces
Azure Event Grid
Machine Learning Basics using Azure ML
Convert monolithic .Net Applications to microservices With Principles
Cognitive Intelligence using azure search
Convert monolithic .Net Applications to microservices
Azure container instances

Recently uploaded (20)

PPTX
rapid fire quiz in your house is your india.pptx
PDF
Interior Structure and Construction A1 NGYANQI
PDF
Chalkpiece Annual Report from 2019 To 2025
PPTX
mahatma gandhi bus terminal in india Case Study.pptx
PDF
Key Trends in Website Development 2025 | B3AITS - Bow & 3 Arrows IT Solutions
PPTX
Special finishes, classification and types, explanation
PPTX
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
PDF
Emailing DDDX-MBCaEiB.pdf DDD_Europe_2022_Intro_to_Context_Mapping_pdf-165590...
PPTX
YV PROFILE PROJECTS PROFILE PRES. DESIGN
PDF
BRANDBOOK-Presidential Award Scheme-Kenya-2023
PDF
Design Thinking - Module 1 - Introduction To Design Thinking - Dr. Rohan Dasg...
PPTX
AC-Unit1.pptx CRYPTOGRAPHIC NNNNFOR ALL
PDF
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
PDF
Urban Design Final Project-Site Analysis
PPT
pump pump is a mechanism that is used to transfer a liquid from one place to ...
PPTX
LITERATURE CASE STUDY DESIGN SEMESTER 5.pptx
PDF
Phone away, tabs closed: No multitasking
PDF
Urban Design Final Project-Context
PPT
UNIT I- Yarn, types, explanation, process
PPTX
AD Bungalow Case studies Sem 2.pptxvwewev
rapid fire quiz in your house is your india.pptx
Interior Structure and Construction A1 NGYANQI
Chalkpiece Annual Report from 2019 To 2025
mahatma gandhi bus terminal in india Case Study.pptx
Key Trends in Website Development 2025 | B3AITS - Bow & 3 Arrows IT Solutions
Special finishes, classification and types, explanation
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
Emailing DDDX-MBCaEiB.pdf DDD_Europe_2022_Intro_to_Context_Mapping_pdf-165590...
YV PROFILE PROJECTS PROFILE PRES. DESIGN
BRANDBOOK-Presidential Award Scheme-Kenya-2023
Design Thinking - Module 1 - Introduction To Design Thinking - Dr. Rohan Dasg...
AC-Unit1.pptx CRYPTOGRAPHIC NNNNFOR ALL
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
Urban Design Final Project-Site Analysis
pump pump is a mechanism that is used to transfer a liquid from one place to ...
LITERATURE CASE STUDY DESIGN SEMESTER 5.pptx
Phone away, tabs closed: No multitasking
Urban Design Final Project-Context
UNIT I- Yarn, types, explanation, process
AD Bungalow Case studies Sem 2.pptxvwewev

Tips & Tricks to build software architecture document

  • 1. Tips & Tricks for documenting Software architecture Karthikeyan VK Karthik_3030@yahoo.com @karthik3030 https://blogs.karthikeyanvk.in
  • 2. Enter Text Why Document Software Architecture? Record important decisions. One place to understand, how different system works with each other. Makes your platform scalable. Common understanding among stakeholders https://blogs.karthikeyanvk.in
  • 3. Enter Text Good software architecture doc means? Strong and easy to maintain even on add/change in features. Domain concepts and boundary clearly specified. Flexible, extensible, and usable for the long term. Responds positively to change. https://blogs.karthikeyanvk.in
  • 4. Enter Text Mindset to Build architecture document Everything changes. Address only what customer wants Address all stakeholders Don’t over-architect Decision tracker https://blogs.karthikeyanvk.in
  • 5. Enter Text Architecture documentation – Principles Addressing Stakeholder concerns Effective Communication (KISS) Should be structured, Fluid in nature Pragmatic, addresses real world & practical concerns Flexible Technology agnostic https://blogs.karthikeyanvk.in
  • 6. Enter Text Principles architecture document Integrate with Software life cycle Aligns with Engineering practises and quality management standards. https://blogs.karthikeyanvk.in
  • 8. Enter Text What is Architectural Concern https://blogs.karthikeyanvk.in A concern is a requirement, an objective, an intention for that architecture. Every viewpoint has its own concern E.g.:- Development Viewpoint – Module organization Concern E.g.:- Functional viewpoint - External interfaces
  • 9. Enter Text What is a Models https://blogs.karthikeyanvk.in A model is a abstract representation of some aspects of architecture. Helps to understand. Medium to communicate. Eg:- Entity-relationship model, state transition model
  • 10. Enter Text Why Viewpoints https://blogs.karthikeyanvk.in Architecture document is very complex because it tries to capture everything in a single place Such a model is hard to understand and is unlikely to clearly identify the architecture’s most important features. Viewpoint attack the problem from different directions simultaneously.
  • 11. Enter Text What is a Viewpoint https://blogs.karthikeyanvk.in Each viewpoint address the concerns . It defines the stakeholders whose concerns are reflected in the viewpoint and the guidelines, principles, and template models for constructing its views.
  • 12. Enter Text Different types of Viewpoints https://blogs.karthikeyanvk.in Functional Information Concurrency * Development Deployment Operational
  • 13. Enter Text Why Viewpoints ? https://blogs.karthikeyanvk.in A. Representing everything in a single model is complex, viewpoints attacks using different models and views B. Just another way of representing the architecture, nothing different
  • 14. Enter Text Functional Viewpoints https://blogs.karthikeyanvk.in Describes the relationships, dependencies, and interactions between the system and its environment. People, Systems, and External entities with which it interacts.
  • 15. Enter Text Functional Viewpoint - Concerns https://blogs.karthikeyanvk.in Functional capabilities External interfaces Internal structure Functional design qualities
  • 16. Enter Text Functional Viewpoint - Concerns https://blogs.karthikeyanvk.in Functional design Philosphy Separation of concerns Cohesion/Coupling Element Interaction Flexibility Overall Coherence
  • 17. Enter Text Functional Viewpoint - Models https://blogs.karthikeyanvk.in Functional Structure models Functional Elements Interfaces Connectors External Entities.
  • 19. Enter Text Models - Petshop https://blogs.karthikeyanvk.in
  • 20. Enter Text Functional Viewpoint - Pitfalls https://blogs.karthikeyanvk.in  Poorly defined interfaces  Poorly understood responsibilities  Infrastructure modelled as functional elements Overloaded view
  • 21. Enter Text Functional Viewpoint - Pitfalls https://blogs.karthikeyanvk.in Diagrams without element definitions Difficulty in reconciling the needs of multiple stakeholders  Wrong Level of detail  ‘God’ elements
  • 22. Enter Text Information Viewpoints https://blogs.karthikeyanvk.in Describes the system’s functional elements, their responsibilities, interfaces, and primary interactions It drives the shape of other system structures such as the information structure, concurrency structure, deployment structure. Basically everything you do with database or any storage.
  • 23. Enter Text Information Viewpoint - Concerns https://blogs.karthikeyanvk.in Structure and content Purpose and usage / Ownership Mappings Storage models/Flow/Consistency/Quality Timeliness, latency, and age.
  • 24. Enter Text Information Viewpoint - Models https://blogs.karthikeyanvk.in Static information structure models Information flow models Information lifecycle models
  • 25. Enter Text Information Viewpoint - Models https://blogs.karthikeyanvk.in Metadata models Data Format Meaning Data Structure Data Context Data Quality
  • 26. Enter Text Information Viewpoint - Models https://blogs.karthikeyanvk.in
  • 27. Enter Text Information Viewpoint - Pitfalls https://blogs.karthikeyanvk.in Overloaded central database Inconsistent distributed databases Poor information quality Representation incompatibilities
  • 28. Enter Text Development Viewpoints https://blogs.karthikeyanvk.in Describes the architecture that supports the software development process. Development views communicate the aspects of the architecture of interest to those stakeholders involved in building, testing, maintaining, and enhancing the system.
  • 29. Enter Text Development Viewpoint - Concerns https://blogs.karthikeyanvk.in Module organization Common processing Standardization of design/Design patterns Standardization of testing Instrumentation Codeline organization
  • 30. Enter Text Development Viewpoint - Models https://blogs.karthikeyanvk.in  Module structure  Common design or Design patterns  Codeline models or how code is organized in your Source control
  • 31. Enter Text Development Viewpoint - Models https://blogs.karthikeyanvk.in
  • 32. Enter Text Development Models – Petshop https://blogs.karthikeyanvk.in
  • 33. Enter Text Development Viewpoint - Pitfalls https://blogs.karthikeyanvk.in Too much detail Lack of developer focus Lack of precision Problems with the specified environment or maturity of the technology
  • 34. Enter Text Deployment Viewpoints https://blogs.karthikeyanvk.in
  • 35. Enter Text Deployment Viewpoints https://blogs.karthikeyanvk.in Describes the environment into which the system will be deployed, including capturing the dependencies the system has on its runtime environment. This view captures the hardware environment that your system needs
  • 36. Enter Text Deployment Viewpoint - Concerns https://blogs.karthikeyanvk.in Runtime platform required Specification and quantity of hardware or hosting required Third-party software requirements  Technology compatibility Network requirements/Capacity Physical constraints
  • 37. Enter Text Deployment Viewpoint - Models https://blogs.karthikeyanvk.in  Runtime platform models Network models Technology dependency models Intermodal relationships
  • 38. Enter Text Deployment Viewpoint - Models https://blogs.karthikeyanvk.in
  • 39. Enter Text Deployment Models - Petshop https://blogs.karthikeyanvk.in
  • 40. Enter Text Deployment Viewpoint - Pitfalls https://blogs.karthikeyanvk.in Unclear or inaccurate dependencies Unproven technology Unsuitable or missing service-level agreements Lack of specialist technical knowledge
  • 41. Enter Text Deployment Viewpoint - Pitfalls https://blogs.karthikeyanvk.in Late consideration of the deployment environment Ignoring inter-site complexities Inappropriate headroom provision Not specifying a disaster recovery environment
  • 43. Enter Text Operational Viewpoints https://blogs.karthikeyanvk.in Describes how the system will be operated, administered, and supported when it is running in its production environment. The aim of the Operational viewpoint is to identify system-wide strategies for addressing the operational concerns
  • 44. Enter Text Operational Viewpoint - Concerns https://blogs.karthikeyanvk.in Installation and upgrade Functional migration Data migration Operational monitoring and control Alerting
  • 45. Enter Text Operational Viewpoint - Concerns https://blogs.karthikeyanvk.in Configuration management Performance monitoring Support Backup and restore Operation in third-party environments
  • 46. Enter Text Operational Viewpoint - Models https://blogs.karthikeyanvk.in Installation models Migration models Configuration management models Administration models Support models
  • 47. Enter Text Operational Viewpoint - Models https://blogs.karthikeyanvk.in
  • 48. Enter Text Operational Viewpoint - Pitfalls https://blogs.karthikeyanvk.in Lack of engagement with the operational staff Lack of backout planning Lack of migration planning Insufficient migration window Missing management tools Production environment constraints or no sandbox
  • 49. Enter Text What are Perspectives https://blogs.karthikeyanvk.in All the –ities Security, quality, Availability, Scalability. Resilience Performance Evolution
  • 50. Enter Text Perspectives - Performance https://blogs.karthikeyanvk.in If your system requires high performance, you need to manage the time-based behaviour of elements and the frequency and volume of inter-element communication.
  • 51. Enter Text Perspectives – Evolution/Maintainability https://blogs.karthikeyanvk.in If modifiability is important, you need to assign responsibilities to elements such that changes to the system do not have far- reaching consequences.
  • 52. Enter Text Perspectives - Security https://blogs.karthikeyanvk.in If your system must be highly secure, you need to manage and protect inter-element communication and which elements are allowed to access which information. You may also need to introduce specialized elements (such as a trusted kernel or containers) into the architecture.
  • 53. Enter Text Perspectives - Scalability https://blogs.karthikeyanvk.in If you believe scalability will be needed in your system, you have to carefully localize the use of resources to facilitate the introduction of higher-capacity replacements.
  • 54. Enter Text 7 - Simple tips & Tricks to follow https://blogs.karthikeyanvk.in Think in paper. Build simple table structure document, whereever possible. Use the whiteboard and take photo and save the model in document Explain the models to your developers/stakeholders and brainstorm
  • 55. Enter Text https://blogs.karthikeyanvk.in Add explanation for every Diagram of every viewpoint Your visual diagram should have a legend. Add Brief details on path not taken in every viewpoint and why it was not taken. 7 - Simple tips & Tricks to follow
  • 57. Enter Text Networking and more @karthik3030 • https://www.facebook.com/aspiringDotnetArchitects/ • https://www.meetup.com/Chennai-Microsoft-Azure-User-Group/ • https://www.youtube.com/channel/UCJxa58lDcDj4tYQIHh7ORxA https://blogs.karthikeyanvk.in