23-01-2013, 12:58 PM
Architectural Design
Architectural Design.pptx (Size: 564.31 KB / Downloads: 81)
Software architecture
The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural design.
The output of this design process is a description of the software architecture.
Architectural design
An early stage of the system design process.
Represents the link between specification and design processes.
Often carried out in parallel with some specification activities.
It involves identifying major system components and their communications.
Architectural abstraction
Architecture in the small is concerned with the architecture of individual programs. At this level, we are concerned with the way that an individual program is decomposed into components.
Architecture in the large is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components. These enterprise systems are distributed over different computers, which may be owned and managed by different companies.
Architectural representations
Simple, informal block diagrams showing entities and relationships are the most frequently used method for documenting software architectures.
But these have been criticised because they lack semantics, do not show the types of relationships between entities nor the visible properties of entities in the architecture.
Depends on the use of architectural models. The requirements for model semantics depends on how the models are used.
Box and line diagrams
Very abstract - they do not show the nature of component relationships nor the externally visible properties of the sub-systems.
However, useful for communication with stakeholders and for project planning.
Architecture reuse
Systems in the same domain often have similar architectures that reflect domain concepts.
Application product lines are built around a core architecture with variants that satisfy particular customer requirements.
The architecture of a system may be designed around one of more architectural patterns or ‘styles’.
These capture the essence of an architecture and can be instantiated in different ways.
Discussed later in this lecture.
Architectural views
What views or perspectives are useful when designing and documenting a system’s architecture?
What notations should be used for describing architectural models?
Each architectural model only shows one view or perspective of the system.
It might show how a system is decomposed into modules, how the run-time processes interact or the different ways in which system components are distributed across a network. For both design and documentation, you usually need to present multiple views of the software architecture.
Architectural patterns
Patterns are a means of representing, sharing and reusing knowledge.
An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments.
Patterns should include information about when they are and when the are not useful.
Patterns may be represented using tabular and graphical descriptions.
Language processing systems
Accept a natural or artificial language as input and generate some other representation of that language.
May include an interpreter to act on the instructions in the language that is being processed.
Used in situations where the easiest way to solve a problem is to describe an algorithm or describe the system data
Meta-case tools process tool descriptions, method rules, etc and generate tools.