0% found this document useful (0 votes)
40 views42 pages

Week 02 - 4 +1 Model

Uploaded by

yuxuan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views42 pages

Week 02 - 4 +1 Model

Uploaded by

yuxuan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 42

CT059-3.

5-2 & Software Architecture and Testing


4 + 1 VIEW MODEL

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 1


Topic Learning Outcomes

• At the end of this topic, you should be able to:


1. Define 4 + 1 view model thoughts on software architecture
2. Differentiate the view level in 4 + 1 view model

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 2


Contents & Structure

• Problem
• Solution
• 4+1 view model
 Logical view
 Process view
 Development view
 Physical view
 Use-case view
• The Notations

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 3


Recap From Last Lesson

• Why software architecture matters?

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 4


Key terms you must be able to use

• If you have mastered this topic, you should be able to use the following
terms correctly in your assignments and exams:
 4 + 1 view model
 Logical view
 Development view
 Process view
 Physical view

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 5


The Problem

• Arch. documents over-emphasize an aspect of development (i.e. team


organization) or do not address the concerns of all stakeholders.
• The stakeholders of software system:
 end-user,
 developers,
 system engineers,
 project managers
• Software engineers struggled to represent more on one blueprint,
and so architecture documents contains complex diagrams

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 6


Different stakeholders – different prospective

• Architecture also means different things to different stakeholders.


• For example,
 A Network Engineer would only be interested in the hardware and
network configuration of the system;
 A Project Manager in the key components to be developed and
their timelines;
 A Developer in classes that make up a component; and
 A Tester in testable scenarios.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 7


Solution

Solution came from “4+1” view model


• The views are used to describe the system from the viewpoint of
different stakeholders, such as end-users, developers and project
managers.
• Suitable for large and challenging architectures
• Describe different aspects of the system into different views.
• (Why?) Because different stakeholders have different aspects
 DEVELOPERS – Aspects of Systems like classes
 SYSTEM ADMINISTRATOR – Deployment, hardware and network
configuration
 TESTER , PM, CUSTOMER -- ???
• “4+1” view model provides a “better organization with better
separation of
concern”.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 8


AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 9
4+1 view model architecture (for distributed
systems)
1. Logical View (or Structural View) - an object model of the
design
2. Process View (or Behavioral View) - concurrency
and synchronization aspects
3. Development View (or Implementation View) - static
organization (subset) of the software
4. Physical View (or Deployment View) - mapping of the
software to the hardware
+1. Use-cases View ( or Scenarios) - various usage
scenarios

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 10


13 UML2.0 diagrams in ‘4+1 View Model’
Architecture

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 11


1. Logical View = (The Object-oriented Decomposition)

• Viewer: End-user
• Considers: Functional Requirements- What the system should provide
in terms of services to its users.
• What this view shows?
• “This view shows the components (objects) of the system as well as
their interaction/relationship”.
• Notation: Object and dynamic models
• UML diagrams: Class, Object, State Machine, Composite Structure
diagrams

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 12


2. Development/Implementation View
= (The Subsystem Decomposition)

• Viewer: Programmers and Software Managers


• Considers: Software module organization (Hierarchy of layers,
software management, reuse, constraints of tools)
• What this view shows?
• “This view shows the building blocks of the system”.
• UML diagrams: Component, Package diagrams
• Package Details, Execution Environments, Class Libraries, Layers, Sub-system design

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 13


3. Physical/Deployment View
= (Software to Hardware Mapping)

• Viewer: System Engineers


• Considers: Non-functional Requirements for hardware
(Topology, Communication)
• What this view shows?
• “This view shows the system execution environment”. Non-functional

• UML diagrams: Deployment diagrams


• Non-UML diagrams: Network Topology (not in UML)

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 14


4. Process View = (The Process Decomposition)

• Viewer: Integrator(s)
• Considers: Non-Functional Requirements - (concurrency, performance,
scalability, usability, resilience, re-use, comprehensibility, economic and
technology constraints, trade-offs, and cross-cutting concerns - like
security and transaction management)
• What this view shows?
• “This view shows the processes (workflow rules) of the system and how
those processes communicate with each other”.
• UML diagrams: Sequence, Communication, Activity, Timing,
Interaction Overview diagrams

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 15


5. Use-case View/Scenarios = (putting it altogether)

• Viewer: All users of other views and Evaluators


• Considers: System consistency, validity
• What this view shows?
• “This view shows the Validation and Illustration of system
completeness. This view is redundant with other views.”.
• UML diagrams: Use-case diagram, User stories

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 16


Relationships between Views
• The Logical View and the Process View are at a conceptual level and are
used from analysis to design.
• The Development View and the Deployment View are at the physical level and
represent the actual application components built and deployed.
• The Logical View and the Development View are tied closer to
functionality (functional aspect) . They depict how functionality is modeled and
implemented.
• The Process View and Deployment View realizes the non-functional
aspects using behavioral and physical modeling.
• Use Case View leads to structural elements being analyzed in the Logical
View and implemented in the Development View. The scenarios in the
Use
Case View are realized in the Process View and deployed in the Physical
View.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 17


Why is it called the 4 + 1 instead of just 5?

•The Use-case View: The use case view has a special significance.
Views are effectively redundant (i.e. Views are interconnected).
However, all other views would not be possible without use case
view.
 It details the high levels requirements of the system.
 The other views detail how those requirements are realized.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 18


Correspondence between views

• Views are interconnected.


• They are very close, but the larger the project, the greater the distance.
• Start with Logical view (Req. Doc) and Move to Development or Process
view and then finally go to Physical view.
1. From logical to Process view
 Two strategies to analyze level of concurrency:
 Inside-out: starting from Logical structure
 Outside-in: starting from physical structure
2. From Logical to development view
 Grouping to subsystems is based on:
 Classes
 Class packages
 Line of codes
 Team organization

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 19


Software Architecture Definition by IEEE

“Software Architecture is the fundamental organization


of a system, embodied in its components, their
relationships to each other and the environment, and
the principles governing its design and evolution.”

— The definition of Software Architecture as per IEEE Recommended


Practice for Architectural Description of Software Intensive Systems
(IEEE 1471-2000)

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 20


AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 21
AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 22
The Notations

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 23


Logical View – Notations (functional
requirements)
• Class diagrams and class templates are usually used to illustrate the
abstraction. Common mechanisms or services are defined in class
utilities.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 24


Logical View - Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 25


Logical View - Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 26


Process View – Notations (Non-functional
requirements)
• A process is a group of tasks that form an executable unit and which can be (a)
tactically controlled, (b) replicated, (c) partitioned into a set of independent
tasks: major and minor (cyclic activities, buffering, time-outs).

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 27


Process View - Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 28


Process View - Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 29


Development/Implementation View - Notation

• It consists of libraries and subsystems representation in dev environment.


• The subsystems are organized into the hierarchy of layers with well-
defined interfaces.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 30


A Typical Layer Model

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 31


Development View / Implementation View -
Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 32


Development View / Implementation View -
Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 33


Deployment/Physical View - Notations
Represents non-functional requirements such as availability, reliability, scalability and
performance. It shows how networks, processes, tasks and objects are mapped onto the
various nodes.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 34


A typical Implementation Model

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 35


Deployment/Physical View - Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 36


Deployment/Physical View - Example

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 37


Scenarios / Use Case Model (Small PABX)

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 38


Scenarios / Use Case Model (Small PABX)

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 39


Summary

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 40


Question and Answer Session

Q&A

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 41


Slide ‹#› (out of 14)
What To Expect Next Week

In Class Preparation for Class


• Download the slide and study
• Using software architectures
for the next chapter.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 42

You might also like