Basic Flashcards

1
Q

What is a software-intensive system?

A
  • collection of building blocks
  • organizied so that they together fulfill the purpose of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What do Building blocks as part of a software intensive system do?

A
  • carry out essential tasks for achievement of the purpose of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does the software part of a software-intensive system consist of?

A

Collection of:
- programs
- procedures
- data
- associated documentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What types of software-intensive systems exist?

A
  • Information systems
  • Embeddedd systems
  • mobile systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What characterizes an Information system?

A
  • huge amounts of and/or complex data
  • processing, storing, evaluating and calculation of said data
  • potentially many multiple users to be served simultanuously and interactively
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What characterizes an Mobile system?

A
  • communication with a central system
  • link to central system not permanently given
  • local and (semi-)autonomous function
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What characterizes an Embedded system?

A
  • limited hardware resources
  • tasks critical in security in functional reliability
  • functions involve mostly regulation, control, or communication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is software architecture and what does it do?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a building block?

A
  • central basic element from which the static structure of a software architecture is constructed
  • includes all software or implementation artifacts that ultimately represent abstractions of source code
  • can consist themselves of building blocks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does a building block do / principles it provides?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What types of different interface agreements exist between Importer, Exporter and Third Party?

A
  • Standard Interface
  • Provided Interface
  • Required Interface
  • Independent interfaces
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What different levels of architectural description exist? What axis do they differentiate along?

A
  • Architectural style - Technical infrastructure
  • Functional architecture level - Technical architecture level

Perspective - x Axis
Degree of abstraction - y Axis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does the abstraction level Architectural style comprise?

A
  • central metaphor of the system
  • e.g. “structured as three-layer architecture using a model-view controller in presentation layer and object-relational mapping in the data management layer”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does the abstraction level technical infrastructure comprise?

A
  • network profiles of the architecture
  • e.g. “thin client with a web and application container and a relational database”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does the abstraction level functional architecture level comprise?

A
  • appropriate building blocks and their relationships
  • for the implementation of the functional requierements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What does the abstraction level technical architecture level comprise?

A
  • cross-disciplinary solution building blocks
  • designed and docuemnted for the relevant aspects based on non-functional requierements
17
Q

In what areas does Software architecture interact with the environment?

A
  • project environment and management
  • tool environment and implementation
  • execution platform and operation
  • product management and requierements
18
Q

What people and landscapes are contained in the project environment and management?

A

People:
- Management
- quality management

Landscape:
- Project and application environment

19
Q

What people and landscapes are contained in the tool and implementation?

A

People:
- Designer
- Programmer
- Tester

Landscape:
- Development and test landscape

20
Q

What people and landscapes are contained in the product management and requirements?

A

People:
- Client
- User
- Requierement analyst

Landscape:
- Functional and procedural Landscape

21
Q

What people and landscapes are contained in the execution platform and operation?

A

People:
- Operation
- Head of data processing centre
- Admin

Landscape:
- Hardware and infrastructure landscape

22
Q

How is quality of software architecture assesable?

A
  • only possible in relation to the specified objectives, constraints, requierements and future challenges to a certain extent
  • only in context of specific quality objectives
23
Q

According to ISO 25010 what are high-level quality characteristics?

A
  • Reliability
  • Security
  • Performance
  • Maintainability
  • Usability
  • Functional suitability
  • Compatability
  • Portability
24
Q

What role do explicit objectives and implicit assumptions play in software architecture?

A
  • explicit objectives build the basis for the derived requierements and quality objectives
  • implicit assumptions must be made explicit
  • implicit assumptions can lead to misunderstandings and cost-intensive changes later in the project
  • depending on these implicit assumptions made explicit additional requierements and constraints have to be derived
25
What roles does software architecture play in the software development lifecycle?
- role as iterative task - Twin-Peaks Model - interaction between requierements engineering and software architecture as well as implementation - including feedback cycles with even developers - in order to clear misunderstandings, improvide system goal and idea, common knowledge basis and understanding of the system - refinement of requierements/architecture
26
What are the software architects responsibilities?
- contact point to many different project and company related roles - development of the construction plan of the software in coordination with relevant stakeholders - consideration of the entire lifecycle of system and adjacent areas
27
What are the software architects tasks?
- Analysis of requierements and constraints - development of architecture views and technical concepts - evaluation of architecture and design decisions - implementation support and review
28
What is included in the task **Analysis of requierements and constraints**?
- analysis of objectives, contraints and requierements - analysis of quality, flexibility (stakeholder open to changes) and susceptibility to change of requierements - development of common understanding of Architectural style and technical infrastructure description
29
What is included in the task **Development of architecture views and technical concepts**?
- development of architecture in more detail - view-based description of different architecture levels (technical, functional) - break down functional requierements to corresponding functional architecture level - nonfunctional requierements to cross-cutting solution building blocks at technical architecture level
30
What is included in the task **Evaluation of architecture and design decisions**?
- derivation of specific scenarios from the requierements to ensure quality of resulting architecture - diverse methods
31
What is included in the task **Implementation support and review**?
- key part communication between everybody involved - common understanding of software architecture - different explanaition details depending on recipient
32
What kind of relationship does the software architect have with others?
- Communication and discussion platform - Design and implementation plan
33
What does **Design and implementation plan** as the software architects relationship include?
- support for developers, common understanding, feedback both ways - programming guidelines - support for testers, even test scenarios for specific requierements - point of contact for fault and error reports relevant to architecture - point of contact for organizational roles
34
What does **Communication and discussion platform** as the software architects relationship include?
- discussion of feasibility of requierements with requierement engineer, client, possibly user - support by correlating, prioritizing and reflecting on functional and non-functional requierements - development, evaluation and assessment of alternative solutions