WicsaWikiWANParty:SABK
From WICSA Conference Wiki
Software Architecture Body of Knowledge
Comment on one of the themes in the software architecture body of knowledge. Below are suggested themes, comment on one of them or add additional ones:
Software architecture concepts
- Stakeholder: a person, group or entity with an interest in or concerns about the realization of the architecture. The reason that the architecture is being created. All architectural design should stem from a stakeholder concern. See Stakeholders.
Architecture-based development
Architecturally significant concerns
(business, requirements, expected behavior)
Software architecture design and analysis
What techniques do you use for creating an initial version of a software or system architecture? How do those techniques address functional, business, and quality attribute requirements?
- COPA mainly approaches this by suggesting a structure and a variety of notations for a range of artifacts (documents, models, ...). The work of the architect then amounts to finding the relevant information, making the important decisions, and writing them down in these artifacts. So you could call this artifact-driven architecting.
- <more replies here.>
What is design and analysis?
- Design is making decision that lead to the creation of architecture.
- Analysis ensures that the architecture decision used is the right one.
Which design decisions will lead to a software architecture that successfully addresses the desired system qualities?
- <start the list of replies here.>
How do you know if a given software architecture decision is deficient or at risk relative to its target system qualities?
- <start the list of replies here.>
Software architecture evaluation
Software architecture representation
What is the role of representation in mature engineering disciplines?
Does the role of representation differ in software architecture?
What is architectural representation?
Who uses architecture representations?
What are architectural representations used for?
What are the roles of architectural representations in architectural description, and other applications?
What are the key concepts of architectural representation?
Current list of concepts (add or modify):
- architectural concerns [IEEE 1471]
- architectural description [IEEE 1471]
- architectural representation
- model
- architectural model [IEEE 1471]
- model subject
- representation medium
- question set
- architectural concern [IEEE 1471]
- architecural view [IEEE 1471]
- architectural viewpoint [IEEE 1471]
What is a notional workflow for producing and using architectural
representations?
- Bound the subject
- Formulate a question set
- Synthesize a model
- Reason about model
- Interpret model to yield results
What are some principles/heuristics of good architectural representation?
How does one choose architectural representation techniques?
Software architecture realization
The role of architect in realization of architecture and the line between the architecture design and detailed design.
- Scoping and characterizing SA realization
- Specific issues in SA realization
- Techniques, methods and tools and their support and usage for SA realization
- Examples and scenarios of important, typical and extreme scenarios
Architect’s tasks once the architecture decisions have been made.
The architecture needs to be realized before the development / design phases. Architect’s question: How do I get from the architecture to implementation?
- Major realization activities / issues
- Mapping architecture to development organization
- Establishing the conformance structure and implementation
- Life-cycle aspects of realization
Kinds of realizations
- Architecture-based development
- Outsourcing
- Use of existing implementation technology, e.g., middleware, frameworks
- Component reuse
- Product line / family approach
Kinds of realization mappings
- Between people (architects to developers, architects to managers, others?)
- Between processes (e.g., iterative to architect, agile to implement)
- Between notations (e.g., UML to Java)
- Between semantic bases (e.g., state-based to procedural)
- Between technology bases (e.g., Rose to Eclipse)
Software architecture recovery
WhyRecover : Under what circumstances do we need to recover or reconstruct software architecture? What drives this?
WhatToRecover : Should the full architecture be recovered or only parts of it? How do you decide what to recover?
RecoveryToolsTechniques : What tools and/or techniques have you used? What would be useful?
People and organizations
Annotated Software Architecture Bibliography
- Annotated Software Architecture Bibliography
- Abbreviations for the bibliographys
