Lecture 4 Flashcards
(19 cards)
What is architecture reconstruction?
It is the process of obtaining the ‘as-built’ architecture of an implemented system from the existing legacy system.
Why reconstruct an architecture?
To understand architectural dependencies, re-document for simulations, evaluate conformance, recover tactics, document non-functional requirements, or identify failures due to complexity.
What should you define before starting architecture reconstruction?
You should define goals and objectives, such as reuse, understanding complexity, identifying patterns, or adding components while preserving conceptual integrity.
What are the main steps of the general reconstruction process?
Information extraction, database construction, view fusion, architectural view composition, and architecture analysis.
What is view fusion?
The process of combining multiple architectural views to create a more complete and accurate representation of a system.
What are typical database queries used in architecture reconstruction?
To define views of functional decomposition, shared information, and development responsibility.
Why is documenting architecture important?
To preserve knowledge, support communication, assist maintenance, support planning, fulfill external demands, and educate.
What types of software documentation exist?
Requirements specification, architecture/design documentation, code documentation, test documentation, user manuals, marketing material, and issue tracking.
What does IEEE 1471 require in an Architecture Description (AD)?
Stakeholders and concerns, vocabulary (viewpoints), a set of views with rationale, and inconsistencies among views.
What is a viewpoint in software architecture?
A specification that defines what is seen in a view, the stakeholders, concerns, modeling techniques, and its source.
What is Kruchten’s 4+1 View Model?
It includes Logical View, Development View, Process View, Physical View, and Scenarios (+1) to describe the software architecture.
Who are typical stakeholders of architectural views?
End users, integrators, developers, system engineers, and maintainers.
What is the logical view concerned with?
Shows system structure and key abstractions as objects or classes; focuses on functional requirements.
What does the process view address?
Concerns like concurrency, distribution, fault-tolerance, and performance using a logical network of processes.
What does the development view show?
Organization of software modules in the development environment, often using layered style.
What is the purpose of the physical view?
Maps software to hardware, showing component deployment across nodes, helping system engineers.
What is the role of scenarios in the 4+1 model?
They illustrate how the elements of other views work together and help in validating and discovering architectural elements.
What are common pitfalls when drawing architecture diagrams?
Inconsistent color-coding, missing relationships, unclear purposes, omitted technology choices, and mixing abstraction levels.
What are some heuristics to improve architecture diagrams?
Use same kind of boxes per diagram, separate diagrams for different kinds, and ensure clarity in structure and context.