NJIT 1 On to Object Design Chapter 14 Applying UML and Patterns.

Slides:



Advertisements
Similar presentations
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Advertisements

Object-Oriented Analysis and Design CHAPTERS 12-14: INTRODUCTION TO DESIGN 1.
Unified Modeling Language
Object Oriented Analysis and Design
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 2.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Software Engineering Georges Grinstein Olsen 301E Class materials:
COMP 350: Object Oriented Analysis and Design Lecture 2
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.
Object-Oriented Analysis and Design Feb 9, 2009.
Systems Analysis and Design in a Changing World, Fifth Edition
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.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
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.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
On to Object Design 徐迎晓 复旦大学软件学院
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.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
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.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
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
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 The Systems Development Environment
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Modeling Language (UML)
Chapter 1 The Systems Development Environment
Online Shopping APP.
MCS morning (3rd semester) Department of CS&IT
UML dynamic Modeling (Behavior Diagram)
COMP 350: Object Oriented Analysis and Design Lecture 2
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:

NJIT 1 On to Object Design Chapter 14 Applying UML and Patterns

2 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.

3 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

4 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.

5 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.

6 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.

7 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.

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

9 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.

10 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.

11 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.