On to Object Design 徐迎晓 复旦大学软件学院 2005.11.

Slides:



Advertisements
Similar presentations
Chap 1 UML vs Thinking in Objects! – Visual modeling Learning UML – Look at the book examples – Alan Holub’s UML reference card – Use library resources.
Advertisements

Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Object-Oriented Analysis and Design CHAPTERS 12-14: INTRODUCTION TO DESIGN 1.
Unified Modeling Language
Object Oriented Analysis and Design
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 2.
NJIT 1 On to Object Design Chapter 14 Applying UML and Patterns.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Object-Oriented Analysis and Design Feb 9, 2009.
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
CPSC 871 John D. McGregor Module 7 Session 2 Agile Software Development.
Chapter 4 Agile Development
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
PowerDesigner 与对象建模. 2 Why Using UML? Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 4 Slide 1 Chapter 1 The Systems Development Environment.
SWE © Solomon Seifu CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
1 On to Object Design Chapter 14 Applying UML and Patterns.
Object-Oriented Analysis and Design An Introduction.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
Object-Oriented Analysis and Design Fall 2009.
Session 9 Component and Deployment. OOAD with UML / Session 9 / 2 of 17 Review State Diagrams represent the software entities in terms of their states.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
CSC172 Class Design Pepper. Goals How to design classes How to think in terms of objects StarUML Code Generation.
Software Engineering 1 Object-oriented Analysis and Design Chap 22 UML Tools and UML as Blueprint.
What to remember from Chap 13 (Logical architecture)
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1 On To Object Design Chapter 14 Applying UML and Patterns -Craig Larman.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
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.
LehighUML Project John Pequeno, Adam Balgach, Sally Moritz & Professor Glenn Blank.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Systems Analysis and Design in a Changing World, Thursday, Feb 15.
The Systems Development Environment Systems Analysis and Design II.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due tomorrow, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Tomorrow’s lecture.
Session 3 How to Approach the UML Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
TK2023 Object-Oriented Software Engineering CHAPTER 9 INTRODUCTION TO OBJECT DESIGN.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
Summary from previous lectures
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
Modeling with Rational Rose Huzefa Kagdi Software Development Laboratory Department of Computer Science Kent State University Kent Ohio, USA.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Rational Rose For System Design What is Rational Rose? Rational Rose is the visual modeling software solution that lets you create, analyze, design,
1 5/18/2007ã 2007, Spencer Rugaber Architectural Documentation Graphical (views) and textual Kruchten's 4+1 Views –Philippe B. Kruchten. "The 4+1 View.
Dr. Kivanc DincerCS319 Week 6 - Oct.17,20051 Chapter 14 Onto Object Design Objectives Understand dynamic and static object design modeling. Try agile modeling,
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Object Oriented Analysis & Design By Rashid Mahmood.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
Chapter 4 & Chapter 5 Important Concepts
The Basics of OOP Design
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Modeling Language (UML)
Online Shopping APP.
MCS morning (3rd semester) Department of CS&IT
UML dynamic Modeling (Behavior Diagram)
Chap 1 UML vs Thinking in Objects! Learning UML Visual modeling
Basic SDLC Models SDLC  System Development Life Cycle.
Other UML Diagramming Techniques
Object Oriented Analysis and Design
Week 5.
Week 5.
On to Object Design c. 14.
Presentation transcript:

On to Object Design 徐迎晓 复旦大学软件学院

Outline Agile Modeling and UML UML Case Tools Limit time spent drawing Dynamic and Static Models CRC Cards

Agile Modeling and UML Two of the aims of Agile modeling: Reduce drawing overhead Model to understand and communicate This is a change from a view of modeling as documentation. In a era of rapid change, documentation tends to have minimal value.

More Agile Principles Modeling with others Create several models in parallel Use temporary models such as diagrams on white boards Digital photographs of white boards can be shared on a wiki. (See

Fig. 14.1

Outline Agile Modeling and UML UML Case Tools Limit time spent drawing Dynamic and Static Models CRC Cards

UML Case Tools You can also do agile modeling with UML case tools like Rational Rose, or one that comes with a popular IDE such as Eclipse or Visual Studio. Choose a tool that can read your code and reverse engineer it to create diagrams from your code. Switch back and forth from diagramming to reverse engineering.

Outline Agile Modeling and UML UML Case Tools Limit time spent drawing Dynamic and Static Models CRC Cards

Limit time spent drawing A few hours or at most one day of diagramming should do most of the work for a three week iteration. Occasional short sessions of modeling during the iteration can clarify any concepts that still need to be understood.

Outline Agile Modeling and UML UML Case Tools Limit time spent drawing Dynamic and Static Models CRC Cards

Dynamic and Static Models Dynamic models such as interaction diagrams (sequence or communication diagrams) help design logic, code behavior, and method bodies. Static Models such as class diagrams help define packages, class names, attributes, and method signatures. Switch back and forth during modeling sessions.

Dynamic Models Most of the challenging, interesting, and useful design work comes during dynamic modeling. The interaction diagrams are typically where we apply design patterns such as the GRASP patterns. If the most important skill in object design is assigning behavior to objects, this is when it usually takes place.

Dynamic Models (continued) Dynamic UML models include sequence, communication, state machine and deployment diagrams.

Static Models If behavior is designed during dynamic modeling, it is the static models, such as the class diagrams, which give the overall structure to our software, and allow us to divide the work into manageable and maintainable chunks. Static UML models include class, package, and deployment diagrams.

Design Skill, not UML skill UML is only an ancillary tool to object design. The real skill is the design, not the diagramming. Seeking a software design job because you are good at making UML diagrams is like seeking a career as a novelist because you have good penmanship.

Outline Agile Modeling and UML UML Case Tools Limit time spent drawing Dynamic and Static Models CRC Cards

An alternative to UML Object Design is the Class, Responsibility, Collaboration cards popularized by Kent Beck in eXtreme Programming. There are some brief examples in the text, but you should get a book on eXtreme Programming or go to a Web site if you are interested.

Fig. 14.2

Fig. 14.3