What is a software-intensive system?
What do Building blocks as part of a software intensive system do?
What does the software part of a software-intensive system consist of?
Collection of:
- programs
- procedures
- data
- associated documentation
What types of software-intensive systems exist?
What characterizes an Information system?
What characterizes an Mobile system?
What characterizes an Embedded system?
What is software architecture and what does it do?
Defines fundamental principles and rules / guidelines for:
- the organization of a system
- its structure into building blocks and interfaces
- their relationship to each other and the surrounding environment
- the entire software lifefycle
- the developer & operator
- from analysis, via design and implementation to operation and enhancement
What is a building block?
What does a building block do / principles it provides?
Provided and required interfaces:
- provides interfaces in the sense of a contract
- for that required interfaces must be made available in the belonging configuration
Encapsulation and interchangebility
- encapsulate logic and are handled as black boxes from the outside
- can be interchanged with other building blocks that provide the same interfaces and where appropriate require the same interfaces
Configuration and hierarchical (de)composition
- building blocks are the unit of hierarchical (de)composition of a software-intensive system
- building blocks can consist of sub-building blocks that are correctly configured
What types of different interface agreements exist between Importer, Exporter and Third Party?
What different levels of architectural description exist? What axis do they differentiate along?
Perspective - x Axis
Degree of abstraction - y Axis
What does the abstraction level Architectural style comprise?
What does the abstraction level technical infrastructure comprise?
What does the abstraction level functional architecture level comprise?
What does the abstraction level technical architecture level comprise?
In what areas does Software architecture interact with the environment?
What people and landscapes are contained in the project environment and management?
People:
- Management
- quality management
Landscape:
- Project and application environment
What people and landscapes are contained in the tool and implementation?
People:
- Designer
- Programmer
- Tester
Landscape:
- Development and test landscape
What people and landscapes are contained in the product management and requirements?
People:
- Client
- User
- Requierement analyst
Landscape:
- Functional and procedural Landscape
What people and landscapes are contained in the execution platform and operation?
People:
- Operation
- Head of data processing centre
- Admin
Landscape:
- Hardware and infrastructure landscape
How is quality of software architecture assesable?
According to ISO 25010 what are high-level quality characteristics?
What role do explicit objectives and implicit assumptions play in software architecture?