SlideShare a Scribd company logo
What is Architecture?
 An overall blueprint/model describing the
structures and properties of a "system"
 designed mechanisms (causal chains & loops)
which lead to -
 emergent (intended) behavior (but always
some unintended behavior as well)
 "mapping" the boundaries (questions about the level
of "closure")
Software Architecture
• Captures the gross structure of a system
• How it is composed of interacting parts
• How the interactions take place
• Key properties of the parts
• Provides a way of analyzing systems at a high level
of abstraction !
• Illuminates top-level design decisions
Software Architecture Patterns
• Architectural pattern are software patterns that offer
well-established solutions to architectural problems in
software engineering. It gives description of the
elements and relation type together with a set of
constraints on how they may be used. An architectural
pattern expresses a fundamental structural
organization schema for a software system, which
consists of subsystems, their responsibilities and
interrelations. In comparison to design patterns,
architectural patterns are larger in scale.
Software Architecture Patterns
• The fundamental problem to be solved with a large
system is how to break it into chunks manageable
for human programmers to understand, implement,
and maintain.
• Large-scale patterns for this purpose are called
architectural patterns. Design patterns are similar,
but lower level and smaller scale than architectural
patterns.
Typical Architectural Patterns (styles)
File Transfer
Shared Database
- How can I integrate multiple applications so that
they work together and can exchange information?
integration styles for (enterprise) messaging
Remote Procedure
Messaging
•
Pipes and Filters
• The Pipes and Filters architectural pattern [style]
provides a structure for systems that process a stream
of data. Each processing step is encapsulated in a
filter component. Data is passed through pipes
between adjacent filters. Recombining filters allows
you to build families of related systems. [POSA p53]
Example: Traditional Pipes & Filters
e.g. using sed and awk
Example: Apache Cacoon’s Pipes
& xslt Filters
Blackboard Architectural Pattern
"The Blackboard architectural pattern is useful for problems for which
no deterministic solution strategies are known. In Blackboard several
specialized subsystems assemble their knowledge to build a possibility
partial or approximate solution." (Buschmann, F., R. Meunier, H.
Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software
Architecture: A System Of Patterns. West Sussex, England: John Wiley
& Sons Ltd.)
The Blackboard pattern decouples interacting agents from each other.
Instead of communicating directly, agents interact through the mediation
of an intermediary agent. This intermediary provides both time and
location transparency to the interacting agents. Transparency of time is
achieved as agents who want to exchange data don't have to receive
the data when it is sent but can pick it up later. The locations of the
receiving agents are transparent in that the sending agent does not
need to address any other agent specifically by its name; the mediator
forwards the data accordingly.
The blackboard is an example of a passive coordination medium. While it
allows agents to share data, it does not specify how the agents are expected
to react to the data they receive. In other words, all the real coordination
knowledge remains hidden in the agents.
Blackboard Architectural Pattern
Tiered/layered Architecture Example:
Open Systems Interconnection (OSI) & Transmission Control
Protocol/Internet Protocol (TCP/IP)
Tiered Architecture (layering)
2 - tier architecture (traditional client-server)
A two-way interaction in a client/server environment, in which the user
interface is stored in the client and the data are stored in the server.
The application logic can be in either the client or the server.
3 Tier Architecture
Model-View-Controller
The MVC paradigm is a way of breaking an application, or
even just a piece of an application's interface, into three
parts: the model, the view, and the controller. MVC was
originally developed to map the traditional input, processing,
output roles into the GUI realm:
Input → Processing → Output
Controller → Model → View
Model-View-Controller
The pattern isolates business logic from input and presentation,
permitting independent development, testing and maintenance
of each.
MVC View
It is the domain-specific representation of the data on which the
application operates. Domain logic adds meaning to raw data (for
example, calculating whether today is the user's birthday, or the
totals, taxes, and shipping charges for shopping cart items). When
a model changes its state, it notifies its associated views so they
can refresh.
Many applications use a persistent storage mechanism (such as a
database) to store data. MVC does not specifically mention the
data access layer because it is understood to be underneath or
encapsulated by the model. Models are not data access objects
although in very simple apps, with little domain logic, there is no
real distinction to be made. Also, the ActiveRecord is an accepted
design pattern which merges domain logic and data access code -
a model which knows how to persist itself.
MVC View & Controller
MVC View:
Renders the model into a form suitable for interaction, typically a
user interface element. Multiple views can exist for a single model
for different purposes.
MVC Controller:
Receives input and initiates a response by making calls on model
objects.
An MVC application may be a collection of model/view /controller
triplets, each responsible for a different UI element.
PHP MVC Frameworks
lots and lots…
codeigniter, cake, kohana, jelix, limonade, mojavi, zend,
zoop, symfony etc. etc.
see: http://www.phpwact.org/php/mvc_frameworks
MVC Fat Vs. Thin Controllers
watch: http://www.youtube.com/watch?v=91C7ax0UAAc
ruby on rails ‘fat’ model, ‘thin’ controller approach
Rails MVC : Model
ActiveRecord:
• Maintains the relationship between Object and Database
and handles validation, association, transactions, and
more.
• This subsystem is implemented in ActiveRecord library
which provides an interface and binding between the
tables in a relational database and the Ruby program
code that manipulates database records. Ruby method
names are automatically generated from the field names
of database tables, and so on.
Rails MVC : View
ActionView :
• A presentation of data in a particular format, triggered by
a controller's decision to present the data. They are
script based templating systems like JSP, ASP, PHP and
very easy to integrate with AJAX technology.
• This subsystem is implemented in ActionView library
which is an Embedded Ruby (ERb) based system for
defining presentation templates for data presentation.
Every Web connection to a Rails application results in
the displaying of a view.
Rails MVC : Controller
ActionController:
• The facility within the application that directs traffic, on the
one hand querying the models for specific data, and on the
other hand organizing that data (searching, sorting,
massaging it) into a form that fits the needs of a given
view.
• This subsystem is implemented in ActionController which
is a data broker sitting between ActiveRecord (the
database interface) and ActionView (the presentation
engine).
MVC Advantages
The main objective of the MVC design pattern is separation of
concerns. It provides an isolation of the application’s presentation layer
that displays the data in the user interface, from the way the data is
actually processed. In other words, it isolates the application’s data
from how the data is actually processed by the application’s business
logic layer. The biggest advantage of the MVC design pattern is that
you have a nice isolation of these components/layers and you can
change any one of them without the rest being affected. Here is the list
of the major advantages of this pattern.
• It provides a clean separation of concerns.
• It is easier to test code that implements this pattern.
• It promotes better code organization, extensibility, scalability and
code re-use.
• It facilitates de-coupling the application's layers.

More Related Content

What's hot

Architectural Design Report G4
Architectural Design Report G4Architectural Design Report G4
Architectural Design Report G4
Prizzl
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16
Rajes Wari
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
Dr Reeja S R
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
Pattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecturePattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecture
shuchi tripathi
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
drewz lin
 
software engineering
software engineeringsoftware engineering
software engineering
Abinaya B
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
IBM
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
Danyal Ahmad
 
Software design
Software designSoftware design
Software design
Naveen Sagayaselvaraj
 
Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...
Stefano Costanzo
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
Sudarshan Dhondaley
 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
 
05 architectural styles
05 architectural styles05 architectural styles
05 architectural styles
Majong DevJfu
 
Ch10
Ch10Ch10
Design techniques
Design techniquesDesign techniques
Design techniques
Amit Debnath
 
Software design
Software designSoftware design
Software design
Zulqarnaintayyab
 
Facade pattern
Facade patternFacade pattern
Facade pattern
Shakil Ahmed
 

What's hot (20)

Architectural Design Report G4
Architectural Design Report G4Architectural Design Report G4
Architectural Design Report G4
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
 
Pattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecturePattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecture
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
software engineering
software engineeringsoftware engineering
software engineering
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
Software design
Software designSoftware design
Software design
 
Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
05 architectural styles
05 architectural styles05 architectural styles
05 architectural styles
 
Ch10
Ch10Ch10
Ch10
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Software design
Software designSoftware design
Software design
 
Facade pattern
Facade patternFacade pattern
Facade pattern
 

Viewers also liked

Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge
 
Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)
stanbridge
 
Week 3
Week 3Week 3
Week 3
stanbridge
 
Chapter 2 the evolution of nursing science
Chapter 2 the evolution of nursing scienceChapter 2 the evolution of nursing science
Chapter 2 the evolution of nursing science
stanbridge
 
Week 1a
Week 1aWeek 1a
Week 1a
stanbridge
 
Efr ch8 breakevencostfind_sr2.11
Efr ch8 breakevencostfind_sr2.11Efr ch8 breakevencostfind_sr2.11
Efr ch8 breakevencostfind_sr2.11
stanbridge
 
Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)
stanbridge
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)
stanbridge
 
Chapter 6 complexity science and complex adaptive systems
Chapter 6 complexity science and complex adaptive systemsChapter 6 complexity science and complex adaptive systems
Chapter 6 complexity science and complex adaptive systems
stanbridge
 
Chapter 12
Chapter 12Chapter 12
Chapter 12
stanbridge
 
Chapter 20
Chapter 20Chapter 20
Chapter 20
stanbridge
 
Ppt chapter 45
Ppt chapter 45Ppt chapter 45
Ppt chapter 45
stanbridge
 
Ppt11
Ppt11Ppt11
Ppt11
stanbridge
 
Ppt chapter 41
Ppt chapter 41Ppt chapter 41
Ppt chapter 41
stanbridge
 
Chapter031
Chapter031Chapter031
Chapter031
stanbridge
 
Ppt chapter 36
Ppt chapter 36Ppt chapter 36
Ppt chapter 36
stanbridge
 
Ppt chapter 37
Ppt chapter 37Ppt chapter 37
Ppt chapter 37
stanbridge
 

Viewers also liked (17)

Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)
 
Week 3
Week 3Week 3
Week 3
 
Chapter 2 the evolution of nursing science
Chapter 2 the evolution of nursing scienceChapter 2 the evolution of nursing science
Chapter 2 the evolution of nursing science
 
Week 1a
Week 1aWeek 1a
Week 1a
 
Efr ch8 breakevencostfind_sr2.11
Efr ch8 breakevencostfind_sr2.11Efr ch8 breakevencostfind_sr2.11
Efr ch8 breakevencostfind_sr2.11
 
Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)Cs 1023 lec 8 design pattern (week 2)
Cs 1023 lec 8 design pattern (week 2)
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)
 
Chapter 6 complexity science and complex adaptive systems
Chapter 6 complexity science and complex adaptive systemsChapter 6 complexity science and complex adaptive systems
Chapter 6 complexity science and complex adaptive systems
 
Chapter 12
Chapter 12Chapter 12
Chapter 12
 
Chapter 20
Chapter 20Chapter 20
Chapter 20
 
Ppt chapter 45
Ppt chapter 45Ppt chapter 45
Ppt chapter 45
 
Ppt11
Ppt11Ppt11
Ppt11
 
Ppt chapter 41
Ppt chapter 41Ppt chapter 41
Ppt chapter 41
 
Chapter031
Chapter031Chapter031
Chapter031
 
Ppt chapter 36
Ppt chapter 36Ppt chapter 36
Ppt chapter 36
 
Ppt chapter 37
Ppt chapter 37Ppt chapter 37
Ppt chapter 37
 

Similar to Cs 1023 lec 2 (week 1) edit 1

MVC
MVCMVC
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) ppt
mrsurwar
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
chitranshidheeraj6
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
koolkampus
 
Design patterns
Design patternsDesign patterns
Design patterns
Ahmed Elharouny
 
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
Introduction to ASP.NET Core MVC and the MVC Pattern.pptxIntroduction to ASP.NET Core MVC and the MVC Pattern.pptx
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
QuickwayInfoSystems3
 
Ch12
Ch12Ch12
Ch12
phanleson
 
Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & Patterns
Inocentshuja Ahmad
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
Tawhidur Rahman Bhuiyan
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
Prashant Kumar
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Bule Hora University
 
Lec 4.ppt
Lec 4.pptLec 4.ppt
Lec 4.ppt
Sami Mughal
 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
Ch 6
Ch 6Ch 6
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
Ivano Malavolta
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture
Ivano Malavolta
 
06 fse design
06 fse design06 fse design
06 fse design
Mohesh Chandran
 
Software Engineering 101
Software Engineering 101Software Engineering 101
Software Engineering 101
Pedro Melo Pereira
 
Software Design
Software Design Software Design
Software Design
Anas Bilal
 

Similar to Cs 1023 lec 2 (week 1) edit 1 (20)

MVC
MVCMVC
MVC
 
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) ppt
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
Introduction to ASP.NET Core MVC and the MVC Pattern.pptxIntroduction to ASP.NET Core MVC and the MVC Pattern.pptx
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
 
Ch12
Ch12Ch12
Ch12
 
Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & Patterns
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
 
Lec 4.ppt
Lec 4.pptLec 4.ppt
Lec 4.ppt
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
Ch 6
Ch 6Ch 6
Ch 6
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture
 
06 fse design
06 fse design06 fse design
06 fse design
 
Software Engineering 101
Software Engineering 101Software Engineering 101
Software Engineering 101
 
Software Design
Software Design Software Design
Software Design
 

More from stanbridge

Micro Lab 3 Lecture
Micro Lab 3 LectureMicro Lab 3 Lecture
Micro Lab 3 Lecture
stanbridge
 
Creating a poster v2
Creating a poster v2Creating a poster v2
Creating a poster v2
stanbridge
 
Creating a poster
Creating a posterCreating a poster
Creating a poster
stanbridge
 
Sample poster
Sample posterSample poster
Sample poster
stanbridge
 
OT 5018 Thesis Dissemination
OT 5018 Thesis DisseminationOT 5018 Thesis Dissemination
OT 5018 Thesis Dissemination
stanbridge
 
Ot5101 005 week 5
Ot5101 005 week 5Ot5101 005 week 5
Ot5101 005 week 5
stanbridge
 
Ot5101 005 week4
Ot5101 005 week4Ot5101 005 week4
Ot5101 005 week4
stanbridge
 
Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors
stanbridge
 
Ch 5 developmental stages of the learner
Ch 5   developmental stages of the learnerCh 5   developmental stages of the learner
Ch 5 developmental stages of the learner
stanbridge
 
OT 5101 week2 theory policy
OT 5101 week2 theory policyOT 5101 week2 theory policy
OT 5101 week2 theory policy
stanbridge
 
OT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessmentOT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessment
stanbridge
 
Ot5101 week1
Ot5101 week1Ot5101 week1
Ot5101 week1
stanbridge
 
NUR 304 Chapter005
NUR 304 Chapter005NUR 304 Chapter005
NUR 304 Chapter005
stanbridge
 
NUR 3043 Chapter007
NUR 3043 Chapter007NUR 3043 Chapter007
NUR 3043 Chapter007
stanbridge
 
NUR 3043 Chapter006
NUR 3043 Chapter006NUR 3043 Chapter006
NUR 3043 Chapter006
stanbridge
 
NUR 3043 Chapter004
NUR 3043 Chapter004NUR 3043 Chapter004
NUR 3043 Chapter004
stanbridge
 
3043 Chapter009
3043 Chapter0093043 Chapter009
3043 Chapter009
stanbridge
 
3043 Chapter008
 3043 Chapter008 3043 Chapter008
3043 Chapter008
stanbridge
 
Melnyk ppt chapter_21
Melnyk ppt chapter_21Melnyk ppt chapter_21
Melnyk ppt chapter_21
stanbridge
 
Melnyk ppt chapter_22
Melnyk ppt chapter_22Melnyk ppt chapter_22
Melnyk ppt chapter_22
stanbridge
 

More from stanbridge (20)

Micro Lab 3 Lecture
Micro Lab 3 LectureMicro Lab 3 Lecture
Micro Lab 3 Lecture
 
Creating a poster v2
Creating a poster v2Creating a poster v2
Creating a poster v2
 
Creating a poster
Creating a posterCreating a poster
Creating a poster
 
Sample poster
Sample posterSample poster
Sample poster
 
OT 5018 Thesis Dissemination
OT 5018 Thesis DisseminationOT 5018 Thesis Dissemination
OT 5018 Thesis Dissemination
 
Ot5101 005 week 5
Ot5101 005 week 5Ot5101 005 week 5
Ot5101 005 week 5
 
Ot5101 005 week4
Ot5101 005 week4Ot5101 005 week4
Ot5101 005 week4
 
Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors
 
Ch 5 developmental stages of the learner
Ch 5   developmental stages of the learnerCh 5   developmental stages of the learner
Ch 5 developmental stages of the learner
 
OT 5101 week2 theory policy
OT 5101 week2 theory policyOT 5101 week2 theory policy
OT 5101 week2 theory policy
 
OT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessmentOT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessment
 
Ot5101 week1
Ot5101 week1Ot5101 week1
Ot5101 week1
 
NUR 304 Chapter005
NUR 304 Chapter005NUR 304 Chapter005
NUR 304 Chapter005
 
NUR 3043 Chapter007
NUR 3043 Chapter007NUR 3043 Chapter007
NUR 3043 Chapter007
 
NUR 3043 Chapter006
NUR 3043 Chapter006NUR 3043 Chapter006
NUR 3043 Chapter006
 
NUR 3043 Chapter004
NUR 3043 Chapter004NUR 3043 Chapter004
NUR 3043 Chapter004
 
3043 Chapter009
3043 Chapter0093043 Chapter009
3043 Chapter009
 
3043 Chapter008
 3043 Chapter008 3043 Chapter008
3043 Chapter008
 
Melnyk ppt chapter_21
Melnyk ppt chapter_21Melnyk ppt chapter_21
Melnyk ppt chapter_21
 
Melnyk ppt chapter_22
Melnyk ppt chapter_22Melnyk ppt chapter_22
Melnyk ppt chapter_22
 

Recently uploaded

How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Diana Rendina
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 

Recently uploaded (20)

How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 

Cs 1023 lec 2 (week 1) edit 1

  • 1. What is Architecture?  An overall blueprint/model describing the structures and properties of a "system"  designed mechanisms (causal chains & loops) which lead to -  emergent (intended) behavior (but always some unintended behavior as well)  "mapping" the boundaries (questions about the level of "closure")
  • 2. Software Architecture • Captures the gross structure of a system • How it is composed of interacting parts • How the interactions take place • Key properties of the parts • Provides a way of analyzing systems at a high level of abstraction ! • Illuminates top-level design decisions
  • 3. Software Architecture Patterns • Architectural pattern are software patterns that offer well-established solutions to architectural problems in software engineering. It gives description of the elements and relation type together with a set of constraints on how they may be used. An architectural pattern expresses a fundamental structural organization schema for a software system, which consists of subsystems, their responsibilities and interrelations. In comparison to design patterns, architectural patterns are larger in scale.
  • 4. Software Architecture Patterns • The fundamental problem to be solved with a large system is how to break it into chunks manageable for human programmers to understand, implement, and maintain. • Large-scale patterns for this purpose are called architectural patterns. Design patterns are similar, but lower level and smaller scale than architectural patterns.
  • 5. Typical Architectural Patterns (styles) File Transfer Shared Database - How can I integrate multiple applications so that they work together and can exchange information? integration styles for (enterprise) messaging Remote Procedure Messaging •
  • 6. Pipes and Filters • The Pipes and Filters architectural pattern [style] provides a structure for systems that process a stream of data. Each processing step is encapsulated in a filter component. Data is passed through pipes between adjacent filters. Recombining filters allows you to build families of related systems. [POSA p53]
  • 7. Example: Traditional Pipes & Filters e.g. using sed and awk
  • 8. Example: Apache Cacoon’s Pipes & xslt Filters
  • 9. Blackboard Architectural Pattern "The Blackboard architectural pattern is useful for problems for which no deterministic solution strategies are known. In Blackboard several specialized subsystems assemble their knowledge to build a possibility partial or approximate solution." (Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture: A System Of Patterns. West Sussex, England: John Wiley & Sons Ltd.) The Blackboard pattern decouples interacting agents from each other. Instead of communicating directly, agents interact through the mediation of an intermediary agent. This intermediary provides both time and location transparency to the interacting agents. Transparency of time is achieved as agents who want to exchange data don't have to receive the data when it is sent but can pick it up later. The locations of the receiving agents are transparent in that the sending agent does not need to address any other agent specifically by its name; the mediator forwards the data accordingly.
  • 10. The blackboard is an example of a passive coordination medium. While it allows agents to share data, it does not specify how the agents are expected to react to the data they receive. In other words, all the real coordination knowledge remains hidden in the agents. Blackboard Architectural Pattern
  • 11. Tiered/layered Architecture Example: Open Systems Interconnection (OSI) & Transmission Control Protocol/Internet Protocol (TCP/IP)
  • 12. Tiered Architecture (layering) 2 - tier architecture (traditional client-server) A two-way interaction in a client/server environment, in which the user interface is stored in the client and the data are stored in the server. The application logic can be in either the client or the server.
  • 14. Model-View-Controller The MVC paradigm is a way of breaking an application, or even just a piece of an application's interface, into three parts: the model, the view, and the controller. MVC was originally developed to map the traditional input, processing, output roles into the GUI realm: Input → Processing → Output Controller → Model → View
  • 15. Model-View-Controller The pattern isolates business logic from input and presentation, permitting independent development, testing and maintenance of each.
  • 16. MVC View It is the domain-specific representation of the data on which the application operates. Domain logic adds meaning to raw data (for example, calculating whether today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items). When a model changes its state, it notifies its associated views so they can refresh. Many applications use a persistent storage mechanism (such as a database) to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the model. Models are not data access objects although in very simple apps, with little domain logic, there is no real distinction to be made. Also, the ActiveRecord is an accepted design pattern which merges domain logic and data access code - a model which knows how to persist itself.
  • 17. MVC View & Controller MVC View: Renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes. MVC Controller: Receives input and initiates a response by making calls on model objects. An MVC application may be a collection of model/view /controller triplets, each responsible for a different UI element.
  • 18. PHP MVC Frameworks lots and lots… codeigniter, cake, kohana, jelix, limonade, mojavi, zend, zoop, symfony etc. etc. see: http://www.phpwact.org/php/mvc_frameworks
  • 19. MVC Fat Vs. Thin Controllers watch: http://www.youtube.com/watch?v=91C7ax0UAAc ruby on rails ‘fat’ model, ‘thin’ controller approach
  • 20. Rails MVC : Model ActiveRecord: • Maintains the relationship between Object and Database and handles validation, association, transactions, and more. • This subsystem is implemented in ActiveRecord library which provides an interface and binding between the tables in a relational database and the Ruby program code that manipulates database records. Ruby method names are automatically generated from the field names of database tables, and so on.
  • 21. Rails MVC : View ActionView : • A presentation of data in a particular format, triggered by a controller's decision to present the data. They are script based templating systems like JSP, ASP, PHP and very easy to integrate with AJAX technology. • This subsystem is implemented in ActionView library which is an Embedded Ruby (ERb) based system for defining presentation templates for data presentation. Every Web connection to a Rails application results in the displaying of a view.
  • 22. Rails MVC : Controller ActionController: • The facility within the application that directs traffic, on the one hand querying the models for specific data, and on the other hand organizing that data (searching, sorting, massaging it) into a form that fits the needs of a given view. • This subsystem is implemented in ActionController which is a data broker sitting between ActiveRecord (the database interface) and ActionView (the presentation engine).
  • 23. MVC Advantages The main objective of the MVC design pattern is separation of concerns. It provides an isolation of the application’s presentation layer that displays the data in the user interface, from the way the data is actually processed. In other words, it isolates the application’s data from how the data is actually processed by the application’s business logic layer. The biggest advantage of the MVC design pattern is that you have a nice isolation of these components/layers and you can change any one of them without the rest being affected. Here is the list of the major advantages of this pattern. • It provides a clean separation of concerns. • It is easier to test code that implements this pattern. • It promotes better code organization, extensibility, scalability and code re-use. • It facilitates de-coupling the application's layers.