0% found this document useful (0 votes)
514 views22 pages

Haramaya University

The document describes a software architecture model called the "4+1" view model. It contains 5 views: logical view, development view, process view, physical view, and use case scenarios. The logical view uses UML class and object diagrams to show system components and relationships. The development view uses UML component diagrams to illustrate the software modules and organization from a programmer's perspective. Examples of class, object, and component diagrams are also provided.

Uploaded by

abraham teshome
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)
514 views22 pages

Haramaya University

The document describes a software architecture model called the "4+1" view model. It contains 5 views: logical view, development view, process view, physical view, and use case scenarios. The logical view uses UML class and object diagrams to show system components and relationships. The development view uses UML component diagrams to illustrate the software modules and organization from a programmer's perspective. Examples of class, object, and component diagrams are also provided.

Uploaded by

abraham teshome
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/ 22

Haramaya

university
Members name Id
Endale Tilahun 1749/10
Kasahun Desalegn 1763/10
College of computing and Informatics Hanisa Nasir 1757/10
Department of Software Engineering Helen Negash 1758/10
Tesfaye Godeso 1784/10
The “4+1”
Architectural View
Model
The “4+1” architectural view model

OUTLINE

Introduction
The 4+1 views model
Types of 4+1 views
Logical view
Development view
Introduction 

This article presents a model for describing the architecture of software-


intensive systems, based on the use of multiple, concurrent views.

This use of multiple views allows to address separately the concerns of


the various ‘stakeholders’ of the architecture:
◦ end-user,
◦ developers,
◦ systems engineers,
◦ project managers, etc.,
And to handle separately the functional and non-functional
requirements.
Cont.…
Each of the five views is described, together with a notation to
capture it. The views are designed using an architecture-centered,
scenario-driven, iterative development process.
To describe a software architecture, we use a model composed of
multiple views or perspectives.
More on “4+1” View Model

4+1 is a view model used for "describing the architecture of software-intensive


systems, based on the use of multiple, concurrent views". 

The four views of the model are


◦ logical,
◦ development,
◦ process
◦ physical view.

In addition, selected use-cases or scenarios are used to illustrate the architecture


serving as the 'plus one' view.
Views – Logical View
The logical view, which is the object model of the design.
It primarily supports the functional requirements.
They exploit the principles of abstraction, encapsulation, and
inheritance.
We use the Rational/ Booch approach, UML (Unified Modeling
Language) for representing the logical architecture, by means
of class diagrams.
◦ Viewer: End-user
Views – Logical Cont.
◦ Focuses: Functional Requirements
◦ What the system should provide in terms of services to its
users.
◦ This view shows the components (objects) of the system as
well as their interaction/relationship.

UML diagrams: Class diagram, Object diagram, State Machine,


Composite Structure diagrams
Views – Development View
The development view, which describes the static organization
of the software in its development environment.
The development view illustrates a system from a
programmer's perspective and is concerned with software
management.
This view is also known as the implementation view.
It uses the UML component diagram to describe system
components.
Views – Development View
◦ Viewer: Programmers and Software Managers
◦ Focuses: Software module organization
◦ Hierarchy of layers, software management, reuse, constraints
of tools.
◦ This view shows the building blocks of the system.
UML diagrams: Component, Package diagrams
The development architecture focuses on the actual software
module organization on the software development
environment.
Views – Development View
The development view serves as the basis for:-
- Requirement allocation,
- For allocation of work to teams (or even for team
organization),
-For cost evaluation and planning,
-For monitoring the progress of the project,
-For reasoning about software reuse,
-Portability and security.
-It is the basis for establishing a line-of-product.
Examples
Logical View
1. Class diagram
Class diagram is a static diagram. It represents the static view of an
application. Class diagram is not only used for visualizing, describing, and
documenting different aspects of a system but also for constructing
executable code of the software application.
Class diagram shows a collection of classes, interfaces, associations,
collaborations, and constraints. It is also known as a structural diagram.
Examples
Logical View

The purpose of the class diagram can be summarized as −


Analysis and design of the static view of an application.
Describe responsibilities of a system.
Base for component and deployment diagrams.
Forward and reverse engineering.
Class Diagram for Order system
Examples
Logical View
2. Object diagrams
Object diagrams are derived from class diagrams so object diagrams are dependent
upon class diagrams.
Object diagrams represent an instance of a class diagram. The basic concepts are similar
for class diagrams and object diagrams. Object diagrams also represent the static view of
a system but this static view is a snapshot of the system at a particular moment.
Object diagrams are used to render a set of objects and their relationships as an
instance.
Examples
Logical View
2. Object diagrams
The purpose of the object diagram can be summarized as −
■ Forward and reverse engineering.
■ Object relationships of a system
■ Static view of an interaction.
■ Understand object behavior and their relationship from practical perspective
Object Diagram for Order system
Examples
Development View
Component diagrams
■ Component diagrams are used to model the physical aspects of a system. Now the
question is, what are these physical aspects? Physical aspects are the elements such as
executables, libraries, files, documents, etc. which reside in a node.
■ It does not describe the functionality of the system but it describes the components
used to make those functionalities.
■ Component diagrams are used to visualize the organization and relationships among
components in a system. These diagrams are also used to make executable systems.
Examples
Development View
Component diagrams
The purpose of the component diagram can be summarized as −
■ Visualize the components of a system.
■ Construct executables
■ Describe the organization and relationships of the components.
Component Diagram for Translator system

You might also like