Com S 362: Object-Oriented Analysis and Design From Design To Code.

Slides:



Advertisements
Similar presentations
Georgia Institute of Technology Object-Oriented Analysis Barb Ericson June 2006.
Advertisements

Object-Oriented Analysis and Design CHAPTERS 15: UML INTERACTION DIAGRAMS 1.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 1 Object-Oriented System Development
Chapter 25 GRASP: More Objects with Responsibilities 1CS6359 Fall 2011 John Cole.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Basic OOP Concepts and Terms
Copyright W. Howden1 Lecture 5: Collaboration Diagrams.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Copyright W. Howden1 Lecture 6: Collaboration Diagrams.
Designing with Interaction and Design Class Diagrams Chapters 15 & 16 Applying UML and Patterns Craig Larman With some ideas from students in George Blank’s.
CIT241 Prerequisite Knowledge ◦ Variables ◦ Operators ◦ C++ Syntax ◦ Program Structure ◦ Classes  Basic Structure of a class  Concept of Data Hiding.
Systems Analysis and Design in a Changing World, Fifth Edition
An Object-Oriented Approach to Programming Logic and Design
GRASP Principles. How to Design Objects The hard step: moving from analysis to design How to do it? –Design principles (Larman: “patterns”) – an attempt.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
1 SAD2 - UML 4 th Lecture Class Diagram in Construction Phase Patterns Case Study Lecturer: Dr Dimitrios Makris
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
CS212: Object Oriented Analysis and Design GRASP Design Principles.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Object-Oriented Design Part 2
Distributed Java Programming Distributed Java Programming Class #2 August 22, 2002.
Systems Analysis and Design in a Changing World, 3rd Edition
Starting Object Design
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
What to remember from Chap 13 (Logical architecture)
Interaction Diagram Notation
Object-Oriented Analysis and Design Feb 11, 2009.
1 Objectives: Sequence Diagram 1. You will able to create a sequence diagram. 2. Assign objects in sequence diagrams to classes 3. Map messages to operations.
1 On To Object Design Chapter 14 Applying UML and Patterns -Craig Larman.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Model Lecture p6 T120B pavasario sem.
CS 4233 Review Feb February Review2 Outline  Previous Business – My.wpi.edu contains all grades to date for course – Review and contact.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Com S 362: Object-Oriented Analysis and Design Refactoring.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
CS OBJECT ORIENTED ANALYSIS AND DESIGN
Chapter 17 Designing with Responsibilities. Fig
Com S 362: Object-Oriented Analysis and Design Interaction Diagrams and Responsibility Assignment Oct 23, 2006.
Object Modeling THETOPPERSWAY.COM. Object Modelling Technique(OMT)  Building a model of an application domain and then adding implementation.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Class Diagrams Revisited. Parameterized Classes Parameterized Classes - are used to represent relationships between templates.
Dr. Kivanc DincerCS319 Week 6 - Oct.17,20051 Chapter 14 Onto Object Design Objectives Understand dynamic and static object design modeling. Try agile modeling,
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Software Modelling Class Diagram. Class Diagrams The main building block in object oriented modeling They are used both for general conceptual modeling.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
UML Diagrams By Daniel Damaris Novarianto S..
UML Interaction Diagrams
Object-Oriented Techniques
Conception OBJET GRASP Patterns
UML Diagrams Jung Woo.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Apply Expert, Creator, Controller, Low Coupling, High Cohesion
Class Diagrams Oct 20, 2006.
The Object Oriented Approach to Design
System Sequence Diagrams
Communication Diagrams
From Design To Code Oct 25, 2006.
SYS466 Domain Classes – Part 1.
Interaction Diagrams A Lot of UML!
Basic OOP Concepts and Terms
Presentation transcript:

Com S 362: Object-Oriented Analysis and Design From Design To Code

Com S 362: Object-Oriented Analysis and Design 2 2 Recap: Class Diagrams Class diagrams represent design structure Three parts: name, attribute, operations Visibility, attribute type, multiplicity Association, association multiplicity Generalization i.e. interface impl, subclassing Composition i.e. class A contains class B Applied information hiding, DSM, layering

Com S 362: Object-Oriented Analysis and Design 3 3 Recap: Interaction Diagrams Represent functionality Two major parts: Life line boxes (represent life time of an object) Messages between objects (instances) Also looked at some special case notations Instances: parameterized instances, singleton instances, array elements Messages: creation, destruction, conditional messages, mutually exclusive conditional messages, asynchronous messages, polymorphic messages Abstractions: looping, iteration over collection, nesting of frames, decomposition

Com S 362: Object-Oriented Analysis and Design 4 4 Recap: Responsibility Assignment Information Expert Creator Controller Polymorphism Pure Fabrication Indirection Protected Variations

Com S 362: Object-Oriented Analysis and Design 5 5 Today’s Lecture Code generation From class and interaction diagrams ArgoUML Drawing package, class, and interaction diagrams Generating code from these diagrams

Com S 362: Object-Oriented Analysis and Design 6 6 ArgoUML Open source design tool Available for free: Use case, class, sequence diagrams Collaboration, statechart, activity diagrams Auto-generate Code Skeleton

Com S 362: Object-Oriented Analysis and Design 7 7 Installing ArgoUML Get latest release from: also from: Unzip the distribution Run argouml.jar ArgoUML Demo… Class diagrams in ArgoUML Associations in ArgoUML Generating code from class diagram in ArgoUML

Com S 362: Object-Oriented Analysis and Design 8 8 Poseidon: Commercial variant of ArgoUML Community edition available for free (after registration)

Com S 362: Object-Oriented Analysis and Design 9 9 Rational Modeler Available on CS machines csts2.cs.iastate.edu csts4.cs.iastate.edu

Com S 362: Object-Oriented Analysis and Design 10 Com S 362: Object-Oriented Analysis and Design 10 Discussion Tools such as ArgoUML show that – Significant portion of code can be auto-generated Only the intellectually challenging part of coding left for developer “It pays to design”

Com S 362: Object-Oriented Analysis and Design 11 Com S 362: Object-Oriented Analysis and Design 11 What about UI Design? Tools such as Visual Studio Automate code generation from GUI design Tools such as Dreamweaver Automate HTML (again some form of code) from the web-page design Artist can focus on domain concepts such as layout and content

Com S 362: Object-Oriented Analysis and Design 12 Com S 362: Object-Oriented Analysis and Design 12 Additional Exercise Look up: Generative programming A whole new research area about auto- generation of source code Also, program transformation The holy grail is to allow developers to program in terms of domain concepts

Com S 362: Object-Oriented Analysis and Design 13 Com S 362: Object-Oriented Analysis and Design 13