0% found this document useful (0 votes)
21 views

Week - 10b-Software Engineering

The document discusses various architectural patterns for software engineering including model-view-controller (MVC), layered architecture, repository architecture, client-server architecture, and pipe and filter architecture. MVC separates an application into three main components: the model, the view, and the controller. Layered architecture organizes a system into layers that provide sets of services, supporting incremental development. Repository architecture involves sharing data through a central database or repository that can be accessed by subsystems. Client-server architecture separates servers that offer services from clients that request services over a network. Pipe and filter architecture involves functional transformations that process inputs and produce outputs.

Uploaded by

Faiq Qazi
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Week - 10b-Software Engineering

The document discusses various architectural patterns for software engineering including model-view-controller (MVC), layered architecture, repository architecture, client-server architecture, and pipe and filter architecture. MVC separates an application into three main components: the model, the view, and the controller. Layered architecture organizes a system into layers that provide sets of services, supporting incremental development. Repository architecture involves sharing data through a central database or repository that can be accessed by subsystems. Client-server architecture separates servers that offer services from clients that request services over a network. Pipe and filter architecture involves functional transformations that process inputs and produce outputs.

Uploaded by

Faiq Qazi
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

SOFTWARE ENGINEERING

LECTURE-10-B
DR. MADIHA KHALID
AGENDA-WEEK 10

 Architectural Patters

1. Model-View-Controller
2. Layered Architecture
3. Repository Architecture
4. Client Server Architecture
5. Pipe and Filter Architecture
AGENDA-WEEK 10

 Architectural Patters

1. Model-View-Controller
2. Layered Architecture
3. Repository Architecture
4. Client Server Architecture
5. Pipe and Filter Architecture
ARCHITECTURAL PATTERNS

 Patterns are means of representing, sharing and reusing knowledge.


 An architectural pattern is a stylized description of good design practices, which has been tried and ested in
different environments.
 Pattern should include information about when they are and when they are not useful
 Patterns are represented using tabular and graphical description.
AGENDA-WEEK 10

 Architectural Patters

1. Model-View-Controller
2. Layered Architecture
3. Repository Architecture
4. Client Server Architecture
5. Pipe and Filter Architecture
MODEL-VIEW-CONTROLLER PATTERN

MVC stands for model-view-controller. Here's what each of


those components mean:
 Model: The backend that contains all the data logic
 View: The frontend or graphical user interface (GUI)
 Controller: The brains of the application that controls
how data is displayed
MODEL-VIEW-CONTROLLER PATTERN

The MVC pattern helps you break


up the frontend and backend code
into separate components. This
way, it's much easier to manage
and make changes to either side
without them interfering with
each other.
MODEL-VIEW-CONTROLLER PATTERN

Conceptual View Run time system architecture


EXAMPLE

The Model View Controller Pattern – MVC Architecture and Frameworks Explained (freecodecamp.org)
MODEL

In the Car Clicker application, the model


object contains an array of car objects with
all the information (data) needed for the
app.

It also manages the current car being


displayed with a variable that's initially set
to null.
VIEWS

The view's job is to decide what the user will


see on their screen, and how.
The Car Clicker app has two
views: carListView and CarView.
Both views have two critical functions that
define what each view wants to initialize and
render.
These functions are where the app decides what
the user will see and how.
CONTROLLER

 The controller's responsibility is to pull,


modify, and provide data to the user.
Essentially, the controller is the link
between the view and model.
 Through getter and setter functions, the
controller pulls data from the model and
initializes the views.
 If there are any updates from the views, it
modifies the data with a setter function.
AGENDA-WEEK 10

 Architectural Patters

1. Model-View-Controller
2. Layered Architecture
3. Repository Architecture
4. Client Server Architecture
5. Pipe and Filter Architecture
LAYERED ARCHITECTURE

 Used to model the interfacing of sub-systems.


 Organizes the system into a set of layers (or abstract machines) each of which provide a set of services.
 Supports the incremental development of sub-systems in different layers. When a layer interface changes, only the
adjacent layer is affected.
LAYERED ARCHITECTURE
LAYERED ARCHITECTURE
AGENDA-WEEK 10

 Architectural Patters

1. Model-View-Controller
2. Layered Architecture
3. Repository Architecture
4. Client Server Architecture
5. Pipe and Filter Architecture
REPOSITORY ARCHITECTURE

 Sub-systems must exchange data. This must be done in two ways:

1. Shared data is held in a central database or repository and may be accessed by all sub-systems
2. Each sub-system maintains its own database and passes data explicitly to other subsystems.
 When large amount of data are to be shared, the repository model of sharing is most commonly used as this is an
efficient data sharing mechanism

Data-Centered Architecture (tutorialspoint.com)


REPOSITORY ARCHITECTURE
REPOSITORY ARCHITECTURE-INTEGRATED DEVELOPMENT
ENVIRONMENT

Data accessors

Central Data

Data accessors or components are independent


FLOW OF CONTROL-REPOSITORY ARCHITECTURE

Example is the NUST


LMS system

Passive

Active
FLOW OF CONTROL-BLACKBOARD ARCHITECTURE

 Example are the autonomous


systems, Weather forecast system

Active Passive
AGENDA-WEEK 10

 Architectural Patters

1. Model-View-Controller
2. Layered Architecture
3. Repository Architecture
4. Client Server Architecture
5. Pipe and Filter Architecture
CLIENT-SERVER ARCHITECTURE
1. A set of servers that offer services to other
components. Examples of servers include print
servers that offer printing services, file servers that
offer file management services, and a compile
server that offers programming language
compilation services. Servers are software
components, and several servers may run
on the same computer.
2. A set of clients that call on the services offered by
servers. There will normally be several instances
of a client program executing concurrently on
different computers.
3. A network that allows the clients to access these
services. Client–server systems are usually
implemented as distributed systems, connected
using Internet protocols.
CLIENT-SERVER ARCHITECTURE
CLIENT-SERVER ARCHITECTURE

• Distributed Model (networked model)


• Servers and services can change without
affecting clients
• Clients should know the available services
and servers.
• Request Replay protocol
AGENDA-WEEK 10

 Architectural Patters

1. Model-View-Controller
2. Layered Architecture
3. Repository Architecture
4. Client Server Architecture
5. Pipe and Filter Architecture
PIPE AND FILTER ARCHITECTURE
This is a model of the runtime organization of a system where functional transformations process their inputs and
produce outputs.
PIPE AND FILTER ARCHITECTURE

 Suitable for embedded systems


QUESTIONS

You might also like