Topic 5 - Design and Implementation
Topic 5 - Design and Implementation
4
5
Design Steps
7
… Data/Class Design
9
… Architectural Design
Its output is an architectural model that
describes how the system is organized
as a set of communicating components.
Example: architectural design of a
packing robot (below):
10
… packaging robot
11
… architectural design
12
… architectural design
14
Advantages of an architecture
Stakeholder communication
– Architecture may be used as a focus of discussion
by system stakeholders.
System analysis
– Analysis to determine if 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 (same domain)
15 may be developed.
Architectural Representations
18
… architectural design decisions
19
Architectural views
21
… architectural views
23
… architectural views
24
… architectural views
28
… architectural patterns
(examples)
(1) Model-View-Controller pattern.
– MVC pattern is the basis of interaction
management in many web-based systems.
29
… The MVC pattern
Name MVC (Model-View-Controller)
Description Separates presentation and interaction from the system data. The system is
structured into three logical components that interact with each other. The
Model component manages the system data and associated operations on that
data. The View component defines and manages how the data is presented to
the user. The Controller component manages user interaction (e.g., key
presses, mouse clicks, etc.) and passes these interactions to the View and the
Model.
Example The architecture of a web-based application system organized using the MVC
pattern (next slide).
When used Used when there are multiple ways to view and interact with data. Also used
when the future requirements for interaction and presentation of data are
unknown.
Advantages Allows the data to change independently of its representation and vice versa.
Supports presentation of the same data in different ways with changes made in
one representation shown in all of them.
Disadvantages Can involve additional code and code complexity when the data model and
interactions are simple.
30
… MVC pattern example
31
… Architectural patterns
32
… layered architecture pattern
33
… layered architecture pattern
Name Layered architecture
35
… architectural patterns
36
… client-server architecture
38
… client-server pattern
Name Client-server
40
Design of Interface &
Components
Next lecture
41
Interface Design
44
design components.
User interface
45
… user interface design
47
… interface design
48
… interface design
49
… interface design
50
… interface design
53
… interface design
54
… interface design steps
57
User Interface Design Patterns
60
… Component Design
61
62
… Component design
66
… Implementation
67
(i) Reuse
Development based on existing
components and systems.
68
… reuse levels
70
(ii) Configuration Management
72
… Configuration management
Problem tracking - Support provided to
allow users to report bugs and other
problems, and to allow all developers to
see who is working on these problems
and when they are fixed.
Release management - Planning the
functionality of new releases and
organizing the software for distribution to
73 customers.
… Configuration management
74
Host-target Development
Most software is developed on one
computer (the host), but runs on a
separate machine (the target).
More generally, we can talk about a
development platform and an execution
platform.
75
… Host-target development
– A platform is more than just hardware.
– It includes the installed operating system
plus other supporting software such as a
database management system or, for
development platforms, an interactive
development environment.
Development platform usually has
different installed software than
76
execution platform.
… host-target development
77
… host-target development
78
…
.
79
References
Pressman – Chap 12, 13, 14, 15
Sommerville – Chap 6, 7.
80
Seminar Presentation
Task 12 – 19:
81