Lecture 6 Architectural Design Lecture 6 Architectural Design Lecture 6 Architectural Design
Lecture 6 Architectural Design Lecture 6 Architectural Design Lecture 6 Architectural Design
Topics covered
Software architecture
Part 1
Source : https://ifs.host.cs.st-andrews.ac.uk/Books/SE9/Presentations/index.html
Architectural design Often carried out in parallel with some Lecture 6 Architectural design 4
specification activities.
An early stage of the system design process. It involves identifying major system components
and their communications.
Represents the link between specification and
design processes.
Advantages of explicit architecture Depends on the use of architectural models. The because it is not cluttered with detail. Stakeholders can relate to
requirements for model semantics depends on how the it and understand an abstract view of the system. They can
then discuss the system as a whole without being confused by
models are used. detail.
Stakeholder communication
▪ Architecture may be used as a focus of discussion by As a way of documenting an architecture that has
system stakeholders. 8
been designed
Box and line diagrams
System analysis ▪ The aim here is to produce a complete system model that
▪ Means that analysis of whether the system can meet its shows the different components in a system, their interfaces
nonfunctional requirements is possible. and their connections.
Very abstract - they do not show the nature of
Large-scale reuse component relationships nor the externally visible Lecture 6 Architectural design 10
▪ The architecture may be reusable across a range of properties of the sub-systems. Architectural design decisions
systems ▪ Product-line architectures may be developed.
However, useful for communication with
stakeholders and for project planning.
Architectural design is a creative process so the
process differs depending on the type of system being
developed.
7
components.
+ 1 view model of software architecture Related using use cases or scenarios (+1) Patterns should include information about when
they are and when the are not useful.
16
A logical view, which shows the key abstractions Architectural patterns Patterns may be represented using tabular and
in the system as objects or object classes. graphical descriptions.
A process view, which shows how, at run-time, Patterns are a means of representing, sharing
the system is composed of interacting processes. and reusing knowledge. 17
A development view, which shows how the An architectural pattern is a stylized description The Model-View-Controller (MVC) pattern
software is decomposed for development. of good design practice, which has been tried and
A physical view, which shows the system tested in different environments. 18
Key points Architectures may be documented from several different perspectives or viewssuch as a conceptual view, a logical
view, a process view, and a development view.
A software architecture is a description of how a Architectural patterns are a means of reusing knowledge about generic system architectures. They describe the
software system is organized. architecture, explain when it may be used and describe its advantages and disadvantages.
25
26 27
From a user perspective a transaction is: The software architecture of an ATM system
▪ Any coherent sequence of operations that satisfies a goal;
52
53
Key points
Models of application systems architectures help us understand and compare applications, validate
application system designs and assess large-scale components for reuse.
Transaction processing systems are interactive systems that allow information in a database to be remotely
accessed and modified by a number of users.
Language processing systems are used to translate texts from one language into another and to carry out
the instructions specified in the input language. They include a translator and an abstract machine that executes
the generated language.
54
20