Week 9 Software Architecture Updated
Week 9 Software Architecture Updated
1
LEARNING OBJECTIVES
2
SOFTWARE ARCHITECTURE
3
THE IMPORTANCE OF SOFTWARE
ARCHITECTURE
4
CONTENTS OF A GOOD ARCHITECTURAL
MODEL
5
DESIGN STABLE ARCHITECTURE
6
DEVELOPING AN ARCHITECTURAL MODEL
7
DEVELOPING AN ARCHITECTURAL MODEL
Refine the architecture
Identify the main ways in which the components will interact and
the interfaces between them
Decide how each piece of data and functionality will be distributed
among the various components
Determine if you can re-use an existing framework, if you can
build a framework
Consider each use case and adjust the architecture to make
it realizable
Mature the architecture
8
DESCRIBING AN ARCHITECTURE USING
UML
9
PACKAGE DIAGRAMS
In UML, a package is a
collection of modeling elements that are grouped together because they are logically related.
A package in UML is shown as a box, with a smaller box attached above its top left
corner
11
COMPONENT DIAGRAMS
13
ARCHITECTURE VS. DESIGN
15
VIEWPOINTS/REPRESENTATIONS
16
VIEWPOINTS/REPRESENTATIONS
Use case
19
SOFTWARE ARCHITECTURE VIEWS
Logical view
Process view
Physical (devep) view
Development (imp +design) view
20
USE CASE VIEW
Use-case view:
Describes functionality of the system, its external
interfaces, and its principal users.
This view is mandatory when using the 4+1 Views,
because all elements of the architecture should be derived
from requirements
21
LOGICAL VIEW
24
PHYSICAL VIEW
This depicts how the major processes and components are mapped on to
the applications hardware.
The physical view depicts the system from a system engineer's point-of-
view
It might show, for example, how the database and web servers for an application
are distributed across a number of server machines.
It is concerned with the physical connections between these components.
This view is also known as the deployment view.
UML Diagrams used to represent physical view include the Deployment
diagram.
25
REFERENCE
26