CS 4233 Review Feb 25 2003. February 25 2003Review2 Outline  Previous Business – My.wpi.edu contains all grades to date for course – Review and contact.

Slides:



Advertisements
Similar presentations
Welcome to. Who am I? A better way to code Design Patterns ???  What are design patterns?  How many are there?  How do I use them?  When do I use.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Systems Analysis and Design in a Changing World, Fourth Edition
Systems development life cycle & development methodologies
Design Patterns CS is not simply about programming
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Unified Modeling Language (UML)
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
(c) 2010 University of California, Irvine – André van der Hoek1July 16, 2015 – 13:45:31 Informatics 122 Software Design II Lecture 8 Nick Lopez Duplication.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
More OOP Design Patterns
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Chapter 25 More Design Patterns.
Behavioral Patterns C h a p t e r 5 – P a g e 128 BehavioralPatterns Design patterns that identify and realize common interactions between objects Chain.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Idioms and Patterns polymorphism -- inheritance and delegation idioms -- realizing.
Introduction To System Analysis and design
Systems Analysis and Design in a Changing World, Fifth Edition
BDP Behavioral Pattern. BDP-2 Behavioral Patters Concerned with algorithms & assignment of responsibilities Patterns of Communication between Objects.
Systems Analysis and Design in a Changing World, Fifth Edition
Design Dan Fleck CS 421 George Mason University. What is the design phase? Analysis phase describes what the system should do Analysis has provided a.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
05 - Patterns Intro.CSC4071 Design Patterns Designing good and reusable OO software is hard. –Mix of specific + general –Impossible to get it right the.
Recap (önemli noktaları yinelemek) from last week Paradigm Kay’s Description Intro to Objects Messages / Interconnections Information Hiding Classes Inheritance.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Patterns in programming 1. What are patterns? “A design pattern is a general, reusable solution to a commonly occurring problem in software. A design.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Y2 eProjects Session 4 – Advanced Topics. Objectives  Dynamic Models  Design Patterns (Optional)  Software testing (for S4) ACCP i7.1\Sem3_4\eProject\T4.
Systems Analysis and Design in a Changing World, 3rd Edition
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
Design Patterns CS 124 Reference: Gamma et al (“Gang-of-4”), Design Patterns.
ECE450S – Software Engineering II
Design Patterns CSIS 3701: Advanced Object Oriented Programming.
CSC 480 Software Engineering Design With Patterns.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Programmeerimine Delphi keskkonnas MTAT Programmeerimine Delphi keskkonnas MTAT Jelena Zaitseva
DESIGN PATTERNS -BEHAVIORAL PATTERNS WATTANAPON G SUTTAPAK Software Engineering, School of Information Communication Technology, University of PHAYAO 1.
Behavioral Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
Pick of the day 10-Jan-2003 Lecture 2 Crash course on OO Analysis Models.
CS 210 Final Review November 28, CS 210 Adapter Pattern.
Design Patterns Introduction
BEHAVIORAL PATTERNS 13-Sep-2012 Presenters Sanjeeb Kumar Nanda & Shankar Gogada.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Example to motivate discussion We have two lists (of menu items) one implemented using ArrayList and another using Arrays. How does one work with these.
Proxy Pattern defined The Proxy Pattern provides a surrogate or placeholder for another object to control access to it by creating a representative object.
CS 210 Proxy Pattern Nov 16 th, RMI – A quick review A simple, easy to understand tutorial is located here:
Session 30 Final Review. Final Details Wednesday, December 14 at 8 AM Wright 5 (same classroom) Final will be comprehensive Open book Open notes Test.
Five Minute Design Patterns Doug Marttila Forest and the Trees May 30, 2009 Template Factory Singleton Iterator Adapter Façade Observer Command Strategy.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Class Diagrams Revisited. Parameterized Classes Parameterized Classes - are used to represent relationships between templates.
11. Chapter 11: The Object-Oriented Approach to Design: Use Case Realization Systems Analysis and Design in a Changing World, Fourth Edition.
Overview of Behavioral Patterns ©SoftMoore ConsultingSlide 1.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Design Patterns: MORE Examples
The Movement To Objects
Chapter 10 Design Patterns.
Software Design Patterns
MPCS – Advanced java Programming
Conception OBJET GRASP Patterns
Introduction to Design Patterns
object oriented Principles of software design
The Object Oriented Approach to Design
Frameworks And Patterns
Object Oriented Design Patterns - Behavioral Patterns
Design Patterns Difficult to describe abstractly Elements:
Chapter 16 Class Diagrams.
Presentation transcript:

CS 4233 Review Feb

February Review2 Outline  Previous Business – My.wpi.edu contains all grades to date for course – Review and contact TA/prof for questions  New Business – HW5 solution due tomorrow 5:00 PM

February Review3 TAOO: Questions  What is the difference between links and associations?  What is the practical impact of maintaining a bidirectional association?  What is difference between aggregation and composition?  What is difference between (1) Class C extends class A; and (2) Class C uses class A as a servant class.

February Review4 TAOO: Questions  How are N-ary relationships implemented? – Describe associations and links – How are core operations relevant to N-ary relationships?  How is a collection manager different from a container?  Backward Containment vs. Forward Containment

February Review5 Java and OO  Polymorphism, Sub-classes  Interfaces, Sub-interfaces  Methods  Access (public, protected, private)  Static methods

February Review6 Model View Controller  MVC – its variations – responsibilities assigned to M, V, and C  Use in GUIs  Precursor to EBC

February Review7 Entity Boundary Controller  EBC as consolidated approach to analysis – Use cases  Control, Boundary objects – Domain Analysis  Entity objects  Describe interactions between controllers  Controllers can be abstract to represent commonalities – Specialized subclasses contain variations

February Review8 EBC  All objects are not created equal – Entity  Represent persistent information required to implement desired system – Boundary  Represent interactions between actors and system – Control  Represent tasks that are performed by user and supported by system

February Review9 EBC  Boundary object presented to user – Event/action takes place  Controller created (or invoked) to manage behavior  Controller may display add’l boundary  Controller manages updates to entities and boundaries

February Review10 Object properties  Cohesion  Coupling  Communication with other objects  Sequence diagrams

February Review11 Law of Demeter  Within a method, messages can only be sent to 1. Its enclosing object 2. A parameter of the method a.For pragmatic reasons: includes global objects 3. Attributes of the enclosing object a.Includes elements of a collection 4. An object returned by a method of the enclosing object 5. An object created within the method

February Review12 Demeter Summary  Guideline for design  Many reasons for ‘breaking’ its laws – Most are pragmatic and therefore unsound  Replace micro-management with delegation

February Review13 Design Patterns  Creational – Singleton Restrict access to the instance(s) of a class – Abstract Factory Provide an interface for creating families of related objects without specifying their concrete classes – Concrete Factory Consolidate all constructors in one place – Factory Method Delegate construction to subclasses

February Review14 Design Patterns  Behavioral – Iterator Access elements of an aggregate object sequentially without exposing underlying representation – Visitor Define a new operation to be performed on elements of an object structure Avoid changing the classes of the elements on which the visitor operates

February Review15 Design Patterns  Behavioral – Template Method Define skeleton of an algorithm, deferring steps to subclasses – Mediator Encapsulate how a set of objects interact – Command Encapsulate a request as an object