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.

Slides:



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

Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
Object-Oriented Analysis and Design
Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Unified Modeling Language (UML)
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
SE-565 Software System Requirements More UML Diagrams.
UML and Object Oriented Concepts
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
Object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project Systems.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
An Object-Oriented Approach to Programming Logic and Design
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Changing Perspective From Structured to Object-oriented.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Object-Oriented Analysis and Design An Introduction.
Information System Development Courses Figure: ISD Course Structure.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 7 System models.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Session 22 Modeling the Extended Features of the Statechart Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
CS551 - Lecture 8 1 CS551 Modelling with Objects (Chap. 3 of UML) Yugi Lee STB #555 (816)
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Database Environment Session 2 Course Name: Database System Year : 2013.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Object Oriented Analysis & Design By Rashid Mahmood.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
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.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 11: Abstract Data Types Lecture # 17. Chapter 11 Topics The Concept of Abstraction Advantages of Abstract Data Types Design Issues for Abstract.
Fundamentals of Object Oriented Modeling
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
UML Introductions.
UML dynamic Modeling (Behavior Diagram)
Unified Modeling Language
Software Design Lecture : 15.
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Uml diagrams In ooad.
Presentation transcript:

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

Contents 2  Views –Functional View –Static View –Dynamic View –Three Views  Object-Oriented Principles

Views (1/7)  UML includes specifications for nine different diagrams plus Packages  The Component and Deployment diagrams describe an implementation  The remaining seven diagrams are used to model requirements and design  This session presents –A way to organize these last seven diagrams to make them easier to remember and apply –An overview of the principles that guide their development 3

Views (2/7) 4  A view is a collection of diagrams that describe a similar aspect of the project  Three distinct yet complementary views –Static View, Dynamic View, and Functional View

Views (3/7) 5  Consider the process of applying for a job –The static part of the job description  You can find out what the job is about through a published description  A typical job description begins with a title and a brief definition of the job, usually in paragraph form  It simply states what the job is –The dynamic part of the job  The job description is usually followed by a list of duties detailing what is expected of you in the performance of this job  You could think of the listed items as demands placed on you throughout the course of your job –The functional details of the job  After you get the job, there are often specific instructions on how to do your job  E.g., how to perform the job rather than what to perform

Views (4/7) - Functional Views 6  The Use Case diagram describes the features that the users expect the system to provide  The Activity diagram describes processes including sequential tasks, conditional logic, and concurrency –Like a flowchart, but enhanced for use with object modeling

Views (5/7) - Static Views 7  The Class diagram is the primary static diagram –the foundation for modeling the rules about types of objects (classes), the source for code generation, and the target for reverse engineering  The Object diagram illustrates facts in the form of objects to model examples and test data –can be used to test or simply to understand a Class diagram

Views (6/7) - Dynamic Views 8  For modeling object interactions, the Dynamic View includes the Sequence and Collaboration diagrams  The Statechart diagram provides a look at how an object reacts to external stimuli and manages internal changes

Views (7/7) - Three Views 9  "Why do I have to do all of these diagrams? Joe next door has always just drawn Class diagrams.“  The diagrams each look at your problem in a different way –Like different witnesses to a car accident  The diagrams will overlap –If they agree where they overlap, you can relax knowing you’ve probably got it right –When they disagree, you’ve pinpointed where you need to invest your effort –When everything agrees, you know you’re done

Contents 10  Views  Object-Oriented Principles –Abstraction –What an Object Knows –Encapsulation

Object-Oriented Principles (1/7)  All the UML diagrams describe some form of object-oriented information  So what is an object? –An object can be a physical entity, like the things you see –An object may also be intangible, for example, a concept like an illness, attendance, or a job –Even though a job is not something you can touch, it is something you can describe, discuss, assign, and complete 11

Object-Oriented Principles (2/7) - Abstraction 12  A software object is an abstraction, a representation of something in the real world  An abstraction is a way to describe something where you only include the information about it that is important to you  My own working definition for creating an abstraction is: representing something in the real world in a useful manner to solve a specific problem

Object-Oriented Principles (3/7) - What an Object Knows 13  To function properly, every object has to know two kinds of information and two types of behavior  Information –An object can describe itself –An object knows its current condition (or state)  Behavior –An object knows what it can do –An object knows what can be done to it

Object-Oriented Principles (4/7) - Encapsulation 14  Encapsulation says you need to separate everything you know about the object into two categories: –What you need to know in order to use the object –What you need to know in order to make the object work properly  To use the object –In order to use an object, you need to expose the interface of the object, like the car interface

Object-Oriented Principles (5/7) - Encapsulation 15  To make the object work properly –Encapsulation tells you that the information has to be inside the object with the behavior so that you can control access to it and protect its integrity (information hiding)  The implementations for each interface  The data that describes the structure of the object  The data that describes the current state of the object

Object-Oriented Principles (6/7) - Encapsulation 16  Giving an object purpose –You need to know why that type of object exists, what it was designed for –The interface is designed to satisfy the purpose

Object-Oriented Principles (7/7) - Encapsulation 17  Encapsulation summary –Encapsulation of an object requires you to expose:  Its purpose, so you can select the proper object for the application you have in mind  Its interface, so you know how to use the object –Encapsulation of an object requires you to hide:  The implementation that provides the behavior requested through the interface  The data within the object that provides the structure that supports its behavior, and tracks the condition of the object, its state, at any given point in time

The End