Professional Documents
Culture Documents
Documenting Architecture
Documenting Architecture
Documenting architecture
BITS Pilani
Contents
• Introduction
• Different architectural views
• Combining different views
• Documentation package
Introduction
Blood
Skeletal view Digestive system circulation Nervous system
system
Different views of human body
ERP system
Market
Accounting Budgeting Audit Advertising Planning Inventory
research
Module view of Judiciary
system
Judiciary
system
Business Technical
modules modules
Modules
&
Responsibilities:
• Maintain information about proceedings of different cases
• Allows entry by court staff and verification by judge
• Can retrieve linked evidences and documents
• Logs changes
Interface
• Add proceedings (Case code, Date, Text)
• Verify proceedings (Case code, Date)
• Retrieve evidences (Case code) Returns List of evidences
Module documentation –
Another Example
Name: Inventory module
Responsibilities:
• Maintain information about items
• Handle inventory transactions
• Generate inventory analytics reports
• Automatically generate invoices when quality goes below reorder level
Interface
• Issue inventory (Item code, quantity) Returns Success or Error code
• Receive inventory (Item code, quantity) Returns Success or Error code
• Check quality (Item code) Returns quantity
Module documentation -
Examples
Name: Workflow engine
Responsibilities:
• Maintains workflow graph consisting of sequence of tasks for a process
• Maintains information about pending tasks
• Alerts users of their pending tasks
Interface
• Add task (Task name, Task description, Previous task name, User types
who can perform this task)
• Add task instance (Task name, Id of User who should perform this task)
returns Task Id
Component & Connector view
LAN
DBMS Bank
DB
Backend Server
Firewall
Scheduling Judgement
RESTful APIs
module module
Picking
module
New
Order order Message Transport
module queue module
Loyalty
module
Examples:
• If SMS gateway is unreliable, introduce a reliable
message queue to put requests to SMS gateway. Let a
process keep trying to send the request
Firewall
Load Balancer
Server cluster / farm
Web server / App Server Web server / App Server Web server / App Server
SMS
gateway
Case Other Case Other Case Other (Telco)
module modules module modules module modules
Firewall
Primary Backup
DB DB
server server
Quality views
Apart from structural views, we can have other views to explain the architecture
to achieve specific quality attributes
Firewall
Bank server
Modules and their interaction
Module view and C&C Example of a DB Client
view - combined accessing Database
server
Documentation
package
Documentation package: Example
Client Client
Firewall
Scheduling Judgement
module module
Technical
services
Firewall
Mirroring
Documentation package: Example
1. Name: Proceedings
Responsibilities:
• Maintain information about proceedings of different cases
• Allows entry by court staff and verification by judge
• Can retrieve linked evidences and documents
• Logs changes
Interface
• Add proceedings (Case code, Date, Text)
• Verify proceedings (Case code, Date)
• Retrieve evidences (Case code) Returns List of evidences
4. Variability guide
• To switch to a different telecom service provider, switch the adaptor
(SMS client module) using configuration file
• To switch from Oracle to My SQL in the future, use features common
to all R-DBMS
5. Rationale
• Disk mirroring: This is to provide high availability when a disk fails
• Load balancer: This is to provide satisfactory performance when
number of users is large
• 2nd firewall: This is to protect the data from hackers
Appendix
Sample Architecture diagram of Web Portal system
showing different software layers & components
Presentation Services
Application Services
Content Content
Management Management Corporate
Client (WCM) LDAP
Content
Managed Repository
Content
Legacy
Browser Applications
Web Portal
Reverse Web Server Services
Load
Proxy Content
Balancer Application
(Caching) Delivery
Logic
Static
Third Party Content
Systems or
Services Gateway Application
Internet Database
AKAMAI Services
Networks Services
Enterprise
Database(s)
Application and
Data Directories
Universal Layer
Sample Context diagram of a
Portal system
Context diagram shows the relationship of the system with rest of the systems in
the environment / eco-system
Allocation view: Example