Professional Documents
Culture Documents
Chapter 6 AD
Chapter 6 AD
| Artichectural Design
Chapter 6
Architectural Views
Architectural Patterns
Application Architectures
Software
Architecture
Output
Design Process
2
Architectural Design represents the link
Architectural Design
between specification and design process
3 4
Often carried out in parallel with some It involves Identifying major system
specification activities components and their communications
Vision system
Object
identification Gripper
Arm Controller
system Controller
Packaging
selection
system
Packaging Conveyer
system
controller
Architecture
Stakeholder Communication
Architecture may be used as a focus of discussion by system
stakeholders
System Analysis
Means that analysis of whether the system can meet its non-
functional requirements is possible
Large-scale reuse
The architecture may be reusable across a range of systems
Product-line architectures may be developed
Real-time Data
Labelling
Advantages Limitations
It is simple to Data Analysis But these have been
understand criticized because they
Informal block lack semantics, do
diagrams showing Data Representation not show the types of
Data Preservance
entities and and mapping relationships between
relationships are the entities nor the visible
most frequently used properties of entities in
method for the architecture
Hadoop File System
documenting software
architectures
Dependency
Depends on the use of architectural
models. The requirements for
model semantics depends on how
the models are used
System
Design
Creative Process
Architectural design is a creative process so the process
differs depending on the type of system being developed
Design Decision
A number of common decisions span all design processes and
these decisions affect the non-functional characteristics of the
system
3 2 1
What Is there a generic
How will the
architectural application
system be
styles are architecture that
distributed?
appropriate? can be used?
4 8
What approach How should the
will be used to Decisions architecture
structure the be
system? documented?
5 6 7
How will the How will the
What control
system be
strategy should
decomposed architectural
be used?
into modules? design be
evaluated?
Domain
Similarity
Requirement
Similarity
Application product lines are built
around a core architecture with Architectural
variants that satisfy particular Patterns and
style similarity
customer requirements
Performance
Localize critical operations and minimize
communications. Use large rather than
fine-grain components
Security
Use a layered architecture with critical
assets in the inner layers
Safety
System Localize Safety-critical features in a
Characteristics small number of sub-systems
Availability
Include redundant components and
mechanisms for fault tolerance
Maintainability
Use fine-grain, replaceable
components
Logical View
Process View
Which Shows the key
Which Shows how, at
abstractions in the
run-time, the system is
system as objects or
composed of interacting
object classes
processes.
4 + 1 Views
Physical View
Development View
which shows the system
hardware and how which shows how the
software components are software is
distributed across the decomposed for
processors in the system development
Architectural Patterns
Definition Stylized Description Include Information Representation
Advantages Disadvantages
See slide No 19
Allows the data to change
independently of its representation Can involve additional code
and vice versa. Code complexity increase when
Supports presentation of the same the data model and interactions
data in different ways with are simple
changes made in one
representation shown in all of
them.
Chapter 6 Architectural Design
18
The organization of the Model-View-Controller
Controller View
Maps user actions View Selection Renders model
to model updates Requests model
Selects view updates
User Events Sends user events
to controller
Change Notification
State Change
State Query
Model
Encapsulates
application states
Notifies view of state
changes
Browser
Controller View
HTTP request Form to display Dynamic page
processing generation
Application-specific Forms
logic User Events management
Data validation
Change Notification
Update Request
Refresh request
Model
Business logic
Database
Definitions
Organizes the system into a set of layers (or abstract machines) each
of which provide a set of services
Advantages Disadvantages
Allows replacement of entire In practice, providing a clean
layers so long as the interfaces separation between layers is often
are maintained. See slide No 23 difficult and a high-level layer may
Redundant facilities (e.g. have to interact directly with lower-
Authentication) can be provided level layers rather than through the
in each layer to increase the layer immediately below it.
dependency of the system Multiple level of interpretation of a
service request can decrease the
performance
Chapter 6 Architectural Design 22
The generic layered architecture and Mining
Minds architecture
User interface
Library index
Repository Model
Advantages Disadvantages
Components can be independent. See slide No 30
The repository is a single point
No need to know of the existence of failure so problems in the
of other components repository affect the whole
Changes made by one system.
component can be propagated to May be inefficiencies in
all components. organizing all communication.
All data can be managed Distributing repository through
consistently several systems is difficult
Chapter 6 Architectural design
27
A repository architecture for an IDE
Code
UML Editor
Generators
Java
Editor
Design
Translator Project Repository
Python
Editor
Design Report
Analyzer Generator
Advantages Disadvantages
The principal advantage of this Each service is a single point of
model is that servers can be failure so susceptible to denial of
distributed across a network. See slide No 33 service attacks or server failure.
General functionality (i.e. Performance may be
printing service) can be unpredictable because it depends
available to all clients. on the network as well as the
Does not need to be system
implemented by all services. May be management problems if
servers are owned by different
Chapter 6 Architectural design organization. 33
33
A client–server architecture for a film library
Library index
Transformations Process
Input Output
Input Output
Pipe
Input Output
Advantages Disadvantages
Easy to understand and supports The format for data transfer has to
transformation reuse be agreed upon between
Workflow style matches the See slide No 36 communicating transformations.
structure of many business Each transformation must parse its
process input and un-parse its output to
Evolution by adding the agreed form.
transformations is straightforward. It increase system overhead
Can be implemented as either a It is impossible to reuse
sequential or concurrent system. transformations that use
Chapter 6 Architectural design 3
incompatible data structures 363
6
6
An example of the pipe and filter architecture
Issue Receipts
receipts
Invoices Payments
• As a design checklist
Focus On
Transaction Language
Processing Systems Processing Systems
Application Transaction
I/O Processing Database
Logic Manager
Get customer
Print Details
account id
Query Account
Account
Select Service Dispense Cash
AT Database AT
M M
Layers Include:
User Interface
User Communication
Information Retrieval
System Database
http://www.miningminds.re.kr/technical-report/presentations/
User interface
Authentication and
User Communication
Authorization
Transaction Management
Database
Web browser
Form and
Login Role Checking Data Validation
menu Manager
Transaction Management
Patient Database
In form of Shows on
Translator
Source
language
Check Syntax
instructions
Check Semantics
Generate
Abstract m/c
instructions
Interpreter
Data Fetch
Execute Results
Lexical Analyzer
It takes input language tokens and
converts them into an internal
form
Symbol Table
It holds information about the names of
entities (variables, classes, objects etc.)
Syntax Analyzer
It checks the syntax of the language
being translated
Syntax Tree
It is the internal structure representing
the program being compiled
Symbol Table
Syntax Tree
Output
Code Symbol Table Code
Definition
Generation Generation
Repository