Things and Relations - Examples Things Relationships Structural Behavioral Grouping Annotational Dependency Association Generalization Realization Class,

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Slides 4/22 COP Topics Final Exam Review Final Exam The final exam is Friday, April 29 th at 10:00 AM in the usual room No notes, books, calculators,
UML Class and Sequence Diagrams Violet Slides adapted from Marty Stepp, CSE 403, Winter 2012 CSE 403 Spring 2012 Anton Osobov.
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Creating Classes from Other Classes Chapter 2 Slides by Steve Armstrong LeTourneau University Longview, TX  2007,  Prentice Hall.
Objects and Classes OO model an approximate interpretation of real world – Objects represent real world entities which have identities, states and behaviors.
Software Engineering COMP 201
UML – Class Diagrams.
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
Essentials of interaction diagrams Lecture 23 & 24.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
CS 501: Software Engineering Fall 2000 Lecture 11 Object-Oriented Design I.
Unified Modeling Language (UML)
Component and Deployment Diagrams
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
SE-565 Software System Requirements More UML Diagrams.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Unified Modeling Language
Object-Oriented Analysis and Design
UML for Java Programmers Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved
Systems Analysis and Design in a Changing World, Fifth Edition
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 16: Java Applets & AWT Fundamentals of Web Programming.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Object-Oriented Modeling Chapter 10 CSCI CSCI 1302 – Object-Oriented Modeling2 Outline The Software Development Process Discovering Relationships.
Object-Oriented Software Development F Software Development Process F Analyze Relationships Among Objects F Class Development F Class Design Guidelines.
More on Hierarchies 1. When an object of a subclass is instantiated, is memory allocated for only the data members of the subclass or also for the members.
بسم الله الرحمن الرحيم ” اللهم أنت ربي لا إله إلا أنت خلقتني و أنا عبدك وأنا على عهدك ووعدك ما استطعت ، أعوذ بك من شر ما صنعت ، أبوء لك بنعمتك على و أبوء.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 Unified Modeling Language.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
UML Class Diagrams 1 These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed permission.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
BCS 2143 Object Oriented Design Using UML. Objectives Objects Interactions Finding Classes Relationship Between Classes Attribute and Operation Class.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Lecture 1: UML Class Diagram September 12, UML Class Diagrams2 What is a Class Diagram? A class diagram describes the types of objects in the system.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
Design Jon Walker. More UML ● What is UML again?
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Design Model Lecture p6 T120B pavasario sem.
Software Engineering Lecture 8 Object-Oriented Analysis.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Chapter 3: Introducing the UML
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
COP 3330 Notes 4/13. Today’s Topics UML Class Diagrams.
CHAPTER
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
M.M. Pickard, PhD A Primer on Use Cases (Reference: UML Superstructure Specification, v2.1.1)
Unified Modeling Language
The Unified Modeling Language
null, true, and false are also reserved.
UML Class Diagram.
Pre-AP® Computer Science Quiz
CIS 375 Bruce R. Maxim UM-Dearborn
PreAP Computer Science Quiz
CIS 375 Bruce R. Maxim UM-Dearborn
CS 501: Software Engineering
Presentation transcript:

Things and Relations - Examples Things Relationships Structural Behavioral Grouping Annotational Dependency Association Generalization Realization Class, Object, Interface, Collaboration, Use Case, Active class, Component, Node. Interaction, State Machine Packages

Class class Window{ private Point origin; private Dimension size; public void open(){... } public void close(){... } public void move(int x, int y){... } public void display(){... } Window -origin -size +open() +close() +move() +display() Responsibilities Maintain window parameters Update display + : Public - : Private # : Protected

Class Window -origin -size +open() +close() +move() +display() Window +open() +close() +move() +display() Window -origin -size Some of the fields may be omitted if the contents are irrelevant in that context.

Objects win : Window Window win = new Window(); Objects are underlined, and a few representations are shown below. win: Window

Interface interface Actions{ public void clicked(); public void mouseOver(); } class MyProg implements Actions{... public void clicked(){... }... public void mouseOver(){... }... } MyProg Actions An interface is usually drawn with a class that implements the behavior.

Collaboration A collaboration is a society of classes, interfaces, and other elements that work together to provide some cooperative behavior that’s bigger than the sum of all elements. Party Submit Offer Process Offer House Buyer Seller Sale

Use Case A use case is a description of a set of sequences of actions that a system performs to yield an observable result to an actor.A use case is a description of a set of sequences of actions that a system performs to yield an observable result to an actor. A use case represents a functional requirement of a system.A use case represents a functional requirement of a system. A use case captures the intended behavior of a system without having to specify how the behavior is implemented. (A use case is normally implemented as a collaboration)A use case captures the intended behavior of a system without having to specify how the behavior is implemented. (A use case is normally implemented as a collaboration)

Use Cases (Library Example) Book Checkout Browse Database Book Return Process Payment

Active Class An active class has methods to initiate concurrent processes or threads. Screen playSound() loadImage() waitforInput()

Components and Nodes Animator juggler controller

Interaction Messages exchanged between a set of objects to accomplish a purpose. class TicketAgent{ void reserveFlight(){... } TicketAgent t = new TicketAgent(); t.reserveFlight(); : Customer t : TicketAgent reserveFlight()

State class Test{ boolean flag = true; void putOff(){ flag = false; }... } True False putOff()

Packages and Annotations java util awt lang Abstract Windowing Toolkit

Dependency class Geometry{ void compute(Rectangle r){... } Geometry compute() Rectangle One class uses another class as an argument in a method.

Association Objects of one class are connected (pass messages) to objects of another Customer TicketAgent

Aggregation A special type of association where the classes have “whole/part” relationship. The classes satisfy “has-a” rule. (Composition). class Car{ Tyre t1 = new Tyre(); Tyre t2 = new Tyre(); Tyre t3 = new Tyre(); Tyre t4 = new Tyre();... } Car Tyre 1 4

Generalization A relationship where one class is a super class of another. The classes satisfy “is-a” rule. (Inheritance). class Rectangle{... } Rectangle Square class Square extends Rectangle {... }

Realization One class implements the behavior specified by another. interface Actions{... } Actions MyProg class Myprog implements Actions {... } Note: Another notation for the above is on Slide 5.