Architectural Styles, Design Patterns, and Objects Architectural Styles, Design Patterns, and Objects By Robert T. Monroe, Andrew Kompanek, Ralph Melton,

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Architecture Representation
Design Patterns for Object Oriented systems CSC 515 Ashwin Dandwate.
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Unified Modeling (Part I) Overview of UML & Modeling
Essential Software Architecture Ian Gorton CS590 – Winter 2008.
7M822 Software Engineering: System Models 14 September 2009.
Software Architecture: An Introduction
Chapter 10: Architectural Design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Domain-Specific Software Engineering Alex Adamec.
Architectural Styles, Design Patterns, and Objects Robert T. Monroe (Doctoral Candiate) Andrew Kompanek (Research Programmer) Ralph Melton (Graduate Student)
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecture 9: Chapter 9 Architectural Design
Unified Modeling Language User Guide Section 1—Getting Started.
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Architectural Blueprints The “4+1” View Model of Software Architecture
Slide 1 Introduction to Software Architecture TV Prabhakar.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Software Architecture and Patterns
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Design Concepts By Deepika Chaudhary.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
CMPS 435 F08 These slides are designed to accompany Web Engineering: A Practitioner’s Approach (McGraw-Hill 2008) by Roger Pressman and David Lowe, copyright.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
Copyright ©2004 Cezary Z Janikow 1 OOAD Overview n OO language – Necessary for OO systems? – Sufficient for OO systems? Owning a hummer doesn’t make you.
Architectural Styles, Design Patterns, and Objects Joe Paulowskey.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Slide 1 Software Architecture SSE. Slide 2 Typical description of software architectures l Descriptions of software systems often include a section on.
Design Patterns in Context ©SoftMoore ConsultingSlide 1.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
Object- oriented Design Principles
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Design Patterns: Summary and Next Steps Y. NARAHARI Computer Science and Automation INDIAN INSTITUTE OF SCIENCE Bangalore –
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Analyze, compare, create, and compose shapes K.G.4 Analyze and compare two- and three-dimensional shapes, in different sizes and orientations, using informal.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Object Oriented Systems Design
Introduction to Design Patterns
Model-Driven Analysis Frameworks for Embedded Systems
INFS 6225 Object-Oriented Systems Analysis & Design
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Design Tips.
Lecture 09: Software Architecture (Part I)
Chapter 9 Architectural Design.
Sample Test Questions Please identify the use cases of the system that cover all the behaviors described in the system specification. Please identify.
FRAMEWORKS AND REUSE What is “Framework”?
Presentation transcript:

Architectural Styles, Design Patterns, and Objects Architectural Styles, Design Patterns, and Objects By Robert T. Monroe, Andrew Kompanek, Ralph Melton, and David Garlan Presented by Luke Skorupski

Architectural Design Describes overall structure of the system Describes overall structure of the system Components and their interactions Components and their interactions Provides an abstraction that allows for system-level reasoning Provides an abstraction that allows for system-level reasoning Quality attributes and can be considered Quality attributes and can be considered Serves as a blueprint and a conscience for the system as it evolves Serves as a blueprint and a conscience for the system as it evolves

Object Oriented Design OO Design is well suited to OO Design is well suited to modeling problem domains and requirements modeling problem domains and requirements decomposing a system decomposing a system implementation issues such as data structures and algorithms implementation issues such as data structures and algorithms A major weakness is the inability to describe interactions among groups of objects A major weakness is the inability to describe interactions among groups of objects How do you capture and reuse common design idioms involving multiple objects? How do you capture and reuse common design idioms involving multiple objects?

Design Patterns Capture design idioms that leverage past experiences to solve common problems Capture design idioms that leverage past experiences to solve common problems Promote reuse Promote reuse Provide rules for composing objects in proven ways Provide rules for composing objects in proven ways Describe interactions among objects Describe interactions among objects Allow engineers to communicate about designs Allow engineers to communicate about designs

Architectural Styles Similar to design patterns Similar to design patterns Capture design idioms that leverage past experiences to solve common problems Capture design idioms that leverage past experiences to solve common problems Provide rules and constraints for composing systems Provide rules and constraints for composing systems Provide a means of communication Provide a means of communication Vocabulary of design elements Vocabulary of design elements Better thought of as a language for building patterns Better thought of as a language for building patterns Can have analyses performed on them

Architectural Styles, Design Patterns, and Objects Architectural Styles, Design Patterns, and Objects By Robert T. Monroe, Andrew Kompanek, Ralph Melton, and David Garlan Presented by Luke Skorupski