Software Architecture
This post is an abstract of some chapters in the book 'Software Systems Architecture' by Eoin Woods and Nick Rozanski
Software Architecture Definition
Software elements that you need to specify and or design in order to meet a particular set of requirements, plus the hardware required to run those software elements onKey Parts of the definition
- Structure - System’s elements, pieces that can be constructed, and their relationships
- Static structure
- Software classes, Relational entities, Network, Hardware etc
- Dynamic structure
- System response to an external stimulus
- Information flow, parallel/serial execution of tasks, effects on data (create, update, delete)
- Properties - Fundamental properties of a system
- Externally visible properties
- Functional behavior
- Quality properties
- Scalability, Performance, Security etc
- Principles - of its design and evolution
- Fundamental beliefs, approach or intent - that guides the architecture
- Conventions that makes system easily understood and allow extensions in a consistent and logical way fitting naturally into the overall form of the system
Stakeholder
Individual, team organization having an interest in the realization of the system
Concern
Requirements, objective, constraint, intention, aspiration of a stakeholderArchitectural Description
Documents or representation of an architecture that a stakeholder can understand and demonstrates that the architecture has met their concernIt is not possible to capture all properties of a complex system in a single model that can be understood and of value to all stakeholders.
View
Representation of structural aspects of an architecture that illustrates how the architecture addresses one or more concerns of its stakeholders.Viewpoint
Conventions for constructing one type of view.Grouping of Viewpoints
- Context Viewpoint
- The relationship, dependencies, and interactions between the system and its environment (people, system and external entities)
- Functional Viewpoint
- Fundamental organization of a system - Functional elements, their responsibilities, interfaces, and interactions
- Information Viewpoint
- Fundamental organization of a system - Storage, manipulation, management, and distribution of information
- Concurrency Viewpoint
- Fundamental organization of a system - Identification and coordination of system parts that can execute concurrently
- Development Viewpoint
- Supports the construction of a system - Building, testing, fixing, enhancing
- Deployment
- Deployment of a system in its live environment
- Operational Viewpoint
- Operations, administration, support and running a system in its live environment
Architectural Perspectives
Quality concerns (non-functional requirements) that are cross-cutting in nature.- Security
- Performance
- Scalability
- Availability
- Resilience
- UsabilityAccessibility
- Regulation
- Location
- Internationalization
- Evolution
Viewpoints & Perspectives |
Good Blog, well descrided, Thanks for sharing this information.
ReplyDeleteBig Data and Hadoop Online Training
Mummys Gold Casino, Johannesburg - Mapyro
ReplyDeleteThe 진주 출장마사지 Mummys 고양 출장마사지 Gold 광주 출장샵 Casino has a nice selection of games and a very nice sign that makes them very comfortable for travel. 충주 출장마사지 The staff will always be 사천 출장마사지 helpful
Wow, this article is awesome wish to see more like this. Thanks for sharing such information. You can check this out too architectural drafting services. Thank you.
ReplyDelete