Object Interaction. Object Diagrams. Object Diagrams Object

Size: px
Start display at page:

Download "Object Interaction. Object Diagrams. Object Diagrams Object"

Transcription

1 Object Interaction Object Diagrams Object collaboration using CRC cards Object collaboration using a Sequence Diagram Object collaboration using a Collaboration diagram How to cross-check check between Interaction/Collaboration diagrams and a Class Diagram Object Interaction -- 1 Object Diagrams Model the instances of things contained in class diagrams. Show a set of objects and their relationships at a point in time. Used to model a snapshot of the system at a moment in time and rendering a set of objects, their state, and their relationships. Freeze a moment in time. Object Interaction -- 2 Page 1

2 Simple Objects : Course Bill Clinton courseno: csc340" description: OOAD" Jaelson: instructor : student Monica: student someone : Object Interaction -- 3 Multiobjects Multiobjects: set of objects, with undefined number of elements p2: Instructorr c1: Course c3: Course c2: Course : Student : Student Multiobjects Object Interaction -- 4 Page 2

3 Communication and Collaboration between Objects Fundamental to OO Which object should be responsible for each part of the overall behavior? Allocating operations to appropriate classes. Atribute X Complex tasks What collaborations between objects are required to generate the overall application functionality? Identifying what messages should be sent between objects and the conditions under which they should be sent. Object Interaction -- 5 Object Interaction and Collaboration Objects only contain data and methods which are relevant to their own responsibilities They don t know about other objects data. To get the kind of functionality which is required for a system to work, the objects have to work together collaborate Objects collaborate by sending messages to one another calling operations of the required instance Objects can only send messages to one another if there is an association between them Therefore, there must be an association between their classes Object Interaction -- 6 Page 3

4 Responsibilities One way of viewing the problem of assigning operations is in terms of the responsibilities of the objects. A responsibility is high level description of something a class can do. Reflects the knowledge or information that is available to that class, either stored within its own attribute or requested via collaboration with other classes. Object Interaction -- 7 Responsibilities The aim of OO-Analysis-and-Design is to distribute system functionality evenly among its classes Not that all classes have exactly equal levels of responsibilities, but rather that each class should have appropriate responsibility When responsibilities are evenly distributed, each class tends not to be unduly complex Easier to develop, to test and maintain Resilient to change in its requirements A class that it relatively small and self-contained has much greater potential for reuse Object Interaction -- 8 Page 4

5 CRC (Class Responsibility Collaboration) Cards One way to assign operations to objects is to work with CRC Cards to determine the responsibilities of each object. CRC stands for: Class Responsibility Collaboration CRC can be used at several different stages of project, for different purposes Here we use it in modeling object interaction Object Interaction -- 9 CRC Cards These are cards which for each class show what its responsibilities are, in terms of its attributes the operations it can carry out the names of the other classes it needs to collaborate with in order to carry out its responsibilities Object Interaction Page 5

6 Role Play with CRC Cards In analysis we can spend time role playing with CRC cards to try to sort out the responsibilities of objects and to determine which are the other objects they need to collaborate with in order to carry out those responsibilities Often the responsibilities start out being vague and not as precise as the operations which may only become clear as we move into design. Sometimes we need to role play the objects in the system and test out the interactions between them. Object Interaction I m a Campaign... I m a Campaign. I know my title, start date, finish date and how much I am estimated to cost. When I ve been completed, I know how much I actually cost and when I was completed. I can calculate the difference between my actual and estimated costs. When I ve been paid for, I know when the payment was made. I can calculate the contribution made to me by each member of staff who worked on me. Object Interaction Page 6

7 I m a CreativeStaff... I m a CreativeStaff. I know my staff no, name, start date and qualification. I can calculate how much bonus I am entitled to at the end of the year. Does it make sense to include I can calculate the contribution made to each campaign I have worked on by each member of staff who worked on it. or does that belong in Campaign? Object Interaction Class: Campaign Responsibilities: Title StartDate FinishDate EstimatedCost ActualCost CompletionDate DatePaid AssignManager RecordPayment Completed GetCampaignContribution CostDifference Collaborating Classes CreativeStaff Object Interaction Page 7

8 Class: CreativeStaff Responsibilities: StaffNo StaffName StaffStartDate Qualification Collaborating Classes CalculateBonus ChangeGrade Campaign StaffGrade Grade Object Interaction Sequence Diagrams CRC cards and role playing may help to find out what the responsibilities of objects are and which other objects they need to collaborate with, but They do not provide a way of documenting these interactions for a particular Use Case -> Sequence Diagrams An interaction is a behavior that comprises a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message is a specification of a communication between objects that conveys information with the expectation that activity will ensue. Message types: sync, async, time-out, uncommitted, etc. Object Interaction Page 8

9 Sequence Diagrams There will be a Sequence Diagram (SD!) for each Use Case in the system. We draw SDs in order to document how objects collaborate to produce the functionality of each use case. The SDs show the data and messages which pass across the system boundary and the messages being sent from one object to another in order to achieve the overall functionality of the Use Case Object Interaction Sequence Diagrams A Sequence Diagram can be seen as an expansion of a use case to the lowest possible level of detail. Sequence diagrams can be drawn at different levels of details and also to meet different purposes at several stages in the development life-cycle. Analysis Sequence Diagrams normally do not include design objects Specify message in any detail Object Interaction Page 9

10 Example: Add a new Campaign This SD is for the Use Case Add a new Campaign Add a new Campaign Staff Contact Add a new Campaign Description Find Client by Name Create New Campaign Find Creative Staff Member by Name Assign Campaign Manager Client New AssignManager Campaign CreativeStaff Object life line activation Object Interaction Example: Add a new Campaign Title of Use Case Operations/Messages Add a new Campaign Description Find Client by Name Create New Campaign Find Creative Staff Member by Name Assign Campaign Manager Client New AssignManager Campaign CreativeStaff Statements System Boundary Objects Object Interaction Page 10

11 Example: Printing :PrintDialogue :Spooler :Printer :Queue Print PrintFile(file) GetStatus Branching [Ready] Print [Offline] ErrorBox [Busy] PutInQueue (file) Ready GetNext Object Interaction Notation The name of the class and the name of the instance of that class (object), if required, at the top of the column that represents it. Including the arrows marked makes it easier to follow the flow of control from object to object The vertical line for each object represents its lifeline The thick bar represents its activation i.e. when it is doing something Object Interaction Page 11

12 Sequence Diagrams: UML This procedure call (operation) is creating an instance of class A createobj() obja:a objb:b doit() These return arrows are optional in a procedural flow of control Object Interaction The box representing an object is drawn at the top if the object already exists, and at the point where the object is created if it is created within this use case, i.e. at the start of its lifeline Change Staff Member's Grade Sequence Diagrams: UML. Description :StaffMember :Grade OldGrade:StaffGrade Get StaffMember by Name - Change Grade (StaffName) ChangeGrade (ChangeDate, NewGrade) Get Existing Grade - Create New StaffGrade - New (StartDate) NewGrade:StaffGrade Set FinishDate of Old Grade - SetFinishDate (FinishDate) - Object Interaction Page 12

13 Structures The statements in SDs can be structured using the three structures which are common to all computer programs: Sequence - one statement following another; ion - a choice between alternatives if statement if... else statement case statement Iteration - repeating statement(s) in a loop controlled by a condition for... next while... do... loop until... do... loop Object Interaction Iteration Iteration (repetition of an operation) is shown with an asterisk Each StaffMember will be selected in turn Once selected, the CalculateBonus message will be sent to the one currently selected There is only one loop! Calculate Staff Bonuses Description Start For Each StaffMember next Staff Member Calculate Bonus for Staff Member Iteration * CalculateBonus StaffMember Object Interaction Page 13

14 Drawing SDs For a particular use case, start by identifying which objects might be involved You may not get this right, but you can always change it Imagine that there is a use case required by Agate called Check Campaign Budget Each Campaign has an EstimatedCost attribute and each Advert has an EstimatedCost attribute The purpose of the use case is to check that the total estimated cost of all the adverts is less than that for the campaign as a whole. Which objects are involved? Object Interaction Drawing SDs Campaign Class diagram showing aggregation Contains 1 * Advert Object Interaction Page 14

15 Drawing SDs Class diagram for Campaign class Campaign +Title : String +CampaignStartDate : Date +CampaignFinishDate : Date +EstimatedCost : Money +ActualCost : Money +CompletionDate : Date +DatePaid : Date -StaffCount : Integer = 0 +Completed (CompletionDate : Date, ActualCost : Money) +SetFinishDate (FinishDate : Date) +RecordPayment (DatePaid : Date) +CostDifference ():Money +GetCampaignContribution ():Money +CheckBudget ():Money Object Interaction Drawing SDs Class diagram for Advert class #Title : String #Type : String #TargetDate : Date #CompletedDate : Date #EstimatedCost : Money Advert +SetCompleted (CompletedDate : Date =Today's Date) +GetTitle () :String +GetType () :String +GetTargetDate () :Date +GetCompletedDate () :Date +GetCost () : Money Object Interaction Page 15

16 Drawing SDs What is the first thing to do? the relevant Campaign, probably using its name How we select it may be something we leave until we get into design: it could be from a list box it could involve a separate window on the screen it could involve some kind of index These are design issues, which we shall leave for now, although we would document them if the customer expressed a preference at this stage Object Interaction Drawing SDs Check Campaign Budget Description Campaign :Campaign :Advert We can add in a Check Campaign Budget Description :Campaign :Advert Campaign - Object Interaction Page 16

17 Drawing SDs We then need to send a message to the Campaign to check its budget. Check Campaign Budget Description Campaign - Check Budget CheckBudget :Campaign :Advert Note there is no here. Where does control go? Object Interaction Drawing SDs Check Campaign Budget Description :Campaign :Advert Campaign - Check Budget CheckBudget For each Advert Get Cost of Advert * GetCost Note the * for iteration. We are assuming here that the Campaign knows about all the Adverts that are contained in it by means of the Aggregation. Object Interaction Page 17

18 Drawing SDs What happens next? Check Campaign Budget Description Campaign - Check Budget For each Advert Get Cost of Advert Cost of Advert CheckBudget :Campaign * GetCost :Advert Advert returns its cost, in this case the EstimatedCost of the Advert Object Interaction Drawing SDs This has to happen for every Advert in the Campaign, so there s a loop Check Campaign Budget Description Campaign - Check Budget For each Advert Get Cost of Advert Cost of Advert Next Advert CheckBudget :Campaign * GetCost :Advert Once all the Adverts costs have been fetched and totalled up, the total can be taken away from the EstimatedCost of the Campaign. Object Interaction Page 18

19 Drawing SDs Check Campaign Budget Description Campaign - Check Budget For each Advert Get Cost of Advert Cost of Advert Next Advert (Estimated Cost - Cost of Adverts) CheckBudget Campaign * GetCost Advert If it is negative, then the Campaign is likely to exceed its budget Object Interaction Relationship to Class Diagram Advert #Title : String #Type : String #TargetDate : Date #CompletedDate : Date #EstimatedCost : Money #ActualCost : Money +SetCompleted (CompletedDate : Date =Today's Date) +GetTitle () :String +GetType () :String +GetTargetDate () :Date +GetCompletedDate () :Date +GetCost () : Money We could add a new attribute to Advert called ActualCost, which is set when the Advert is completed Now GetCost can return the ActualCost if it exists, otherwise the EstimatedCost Object Interaction Page 19

20 Collaboration Diagram Emphasizes the organization of the objects that participate in an interaction. Shows interaction without the time dimension but do include object links. Collaboration diagrams are intended to model scenaria; each scenario describes a possible sequence of events and actions. For complex use cases use several collaboration diagrams; make sure each collaboration diagram is simple and easy to understand. Object Interaction Collaboration Diagram The interaction starts from an actor. Links between objects are shown and may indicate the direction of navigability with arrowheads. Messages are shown beside the links with a directional arrow. Messages are numbered to show their sequence. Object Interaction Page 20

21 Ex: Courses to Teach 1: Inform(courseList) : Professor 3:Propose(courseList ) 4:Agree(courseList ) :Administrator 2: *[for each professor] Inform(courseList) 5: Update(courseList ) AssociateChair :Professor <<entity>> : CourseInfo 6: *[For each course] Update() <<entity>> : CourseOffering 7: *[For each professor] Update() <<entity>> : ProfessorInfo Object Interaction Ex: Add course offerring 1: add a course course options form 3: select course offering 2: display : Professor course form 5: get professor (professor id) 4: add professor (professor i d) course 6: add professor (professor) course offering Object Interaction Page 21

22 Sequence Diagram X Collaboration Diagram Sequence diagrams and collaboration diagrams are semantically equivalent. You can take a diagram in one form and convert it to the other without loss of information. To model flows of control by time ordering (Sequence diagram). Emphasizes the passing of messages as they unfold over time -> visualization of Use Case scenario. To model flows of control by organization (Collaboration Diagram). Emphasizes the structural relationships among instances in the interaction -> visualization of multiple concurrent flows of control Object Interaction Relationship to Class Diagram All operations shown on the collaboration and sequence diagrams must be present in the destination classes on the class diagram. Links shown on the collaboration diagram normally correspond to associations on the class diagram. Object Interaction Page 22

23 Additional Readings [Booch99] Booch, G. et all. The Unified Modeling Language User Guide. Chapters 15, 18, 27. Addison-Wesley. [Jacobson92] Jacobson, I. et all. Object-Oriented Software Engineering: A Use-Case Driven Approach. Addison-Wesley. [Fowler00] Fowler, M. et all. UML Distilled: A Brief Guide to the Standard Object Modelling Language. Chapter 5. Addison-Wesley. Object Interaction Page 23

III. Class and Object Diagrams

III. Class and Object Diagrams III. Class and Object Diagrams Classes, Attributes and Operations Objects and Multi-objects Generalization and Inheritance Associations and Multiplicity Aggregation and Composition How to Use Class Diagrams

More information

III. Class and Object Diagrams

III. Class and Object Diagrams III. Class and Object Diagrams Classes, Attributes and Operations Objects and Multi-objects Generalization and Inheritance Associations and Multiplicity Aggregation and Composition Business Objects and

More information

Génie Logiciel et Gestion de Projets. Software Requirements Engineering

Génie Logiciel et Gestion de Projets. Software Requirements Engineering Génie Logiciel et Gestion de Projets Software Requirements Engineering 1 Software Requirements Engineering Roadmap Software Requirements User requirements versus system requirements Functional and non-functional

More information

Génie Logiciel et Gestion de Projets. Software Requirements Engineering

Génie Logiciel et Gestion de Projets. Software Requirements Engineering Génie Logiciel et Gestion de Projets Software Requirements Engineering 1 Software Requirements Engineering Roadmap Software Requirements User requirements versus system requirements Functional and non-functional

More information

Lectures 2 & 3: Introduction to Modeling & UML. Getting started

Lectures 2 & 3: Introduction to Modeling & UML. Getting started Lectures 2 & 3: Introduction to Modeling & UML Why Build Models? What types of Models to build Intro to UML Class Diagrams Relationship between UML and program code Uses of UML 202 Steve Easterbrook. This

More information

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler Sequence Diagram Tutorial From: UML Distilled, Third Edition, Chapter 4 M. Fowler Use Cases and Scenarios A use case is a collection of interactions between external actors and a system In UML, a use case

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011 Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

TDDC88 Lab 2 Unified Modeling Language (UML)

TDDC88 Lab 2 Unified Modeling Language (UML) TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

Object-oriented design methodologies

Object-oriented design methodologies Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard

More information

Object Oriented Programming. Risk Management

Object Oriented Programming. Risk Management Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling

More information

Use Cases. Use Cases Diagrams

Use Cases. Use Cases Diagrams Use Cases Use cases Information Acquisition -- 1 Use Cases Diagrams Textual descriptions of the functionality of the system from user s perspective In our case we consider is the ACTOR perspective Used

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

UML SUPPORTED SOFTWARE DESIGN

UML SUPPORTED SOFTWARE DESIGN UML SUPPORTED SOFTWARE DESIGN Darko Gvozdanović, Saša Dešić, Darko Huljenić Ericsson Nikola Tesla d.d., Krapinska 45, HR-0000 Zagreb, Croatia, tel.: +385 365 3889, faks: +385 365 3548, e-mail: darko.gvozdanovic@etk.ericsson.se

More information

II. Conceptual Modeling

II. Conceptual Modeling II. Conceptual Modeling Engineering Software Models in Software Engineering What is Conceptual Modeling? Origins 2003 John Mylopoulos and Steve Easterbrook Conceptual Modeling -- 1 Engineering Software

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2 Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008

More information

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: bednar@fit.vutbr.cz Supervised by:

More information

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML System Development (SD) : - o SD refers to all activities that go into producing

More information

Aspect Oriented Strategy to model the Examination Management Systems

Aspect Oriented Strategy to model the Examination Management Systems Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of

More information

A UML Introduction Tutorial

A UML Introduction Tutorial A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software

More information

[1] http://en.wikipedia.org/wiki/first-mover_advantage [2] http://www.acunote.com

[1] http://en.wikipedia.org/wiki/first-mover_advantage [2] http://www.acunote.com -Gene Sher Software Development Processes: Those in engineering and science will sooner or later either be members of teams solving some large project, or be managing teams solving some large project.

More information

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear. Design and UML Class Diagrams Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML Distilled Ch. 3, by M. Fowler 1 Big questions What is UML?

More information

Use Case Diagrams. Tutorial

Use Case Diagrams. Tutorial Use Case Diagrams Tutorial What is a use case? A requirements analysis concept A case of a use of the system/product Describes the system's actions from a the point of view of a user Tells a story A sequence

More information

Software Requirements Specification of A University Class Scheduler

Software Requirements Specification of A University Class Scheduler Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University

More information

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology bruckner@ifs.tuwien.ac.at Beate List Vienna University of Technology list@ifs.tuwien.ac.at

More information

Using UML Part Two Behavioral Modeling Diagrams

Using UML Part Two Behavioral Modeling Diagrams UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,

More information

Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation

Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January

More information

UML: Unified Modeling Language

UML: Unified Modeling Language UML: Unified Modeling Language Story: What UML is for Some of the main diagrams are and what you use them for Class diagrams and class forms Use Case Diagrams Sequence (Event) Diagram State Diagrams An

More information

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml) UML Tutorial: Collaboration Diagrams Robert C. Martin Engineering Notebook Column Nov/Dec, 97 In this column we will explore UML collaboration diagrams. We will investigate how they are drawn, how they

More information

I219 Software Design Methodology

I219 Software Design Methodology I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts

More information

(BA122) Software Engineer s Workshop (SEW)

(BA122) Software Engineer s Workshop (SEW) Training for the Business Analyst (BA122) Software Engineer s Workshop (SEW) Duration: 4 days CDUs (Continuing Development Units): 28 Description: A practical workshop covering the role of the Business-Systems

More information

Software Development: An Introduction

Software Development: An Introduction Software Development: An Introduction Fact: Software is hard. Imagine the difficulty of producing Windows 2000 29 million lines of code 480,000 pages of listing if printed a stack of paper 161 feet high

More information

CHAPTER 1 Introduction

CHAPTER 1 Introduction CHAPTER 1 Introduction Software Engineering Why & What Product & Process Correctness & Traceability Software Process Activities Waterfall Iterative & Incremental Development Sample Processes + Unified

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

Software Design Models, Tools & Processes *

Software Design Models, Tools & Processes * Software Design Models, Tools & Processes * Lecture 1: Software Design and Software Development Process Cecilia Mascolo * Thanks to Alan Blackwell and Jim Arlow for le7ng me use some of their slides. About

More information

Week 1: Introduction. Transcript of Week 1 Podcast

Week 1: Introduction. Transcript of Week 1 Podcast Transcript of Week 1 Podcast Week 1: Introduction This is the Week 1 Podcast for the course, Information System and Service Analysis and Design. This week is about Project Management. Systems development

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

Execution of A Requirement Model in Software Development

Execution of A Requirement Model in Software Development Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton

More information

Dynamics CRM for Outlook Basics

Dynamics CRM for Outlook Basics Dynamics CRM for Outlook Basics Microsoft Dynamics CRM April, 2015 Contents Welcome to the CRM for Outlook Basics guide... 1 Meet CRM for Outlook.... 2 A new, but comfortably familiar face................................................................

More information

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6 Use Cases Reference: Craig Larman, Applying UML and Patterns, Ch. 6 Use Case What it is: Text story Widely used to discover and record (mostly functional) requirements What is it about: Some actor(s) using

More information

Communication Diagrams

Communication Diagrams Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

A comparison of BON and Hodge-Mock. oriented software development methodologies

A comparison of BON and Hodge-Mock. oriented software development methodologies A comparison of BON and Hodge-Mock software development methodologies December 2012 Abbas Naderi Afooshteh (abiusx@acm.org) 91211054 Sharif University of Technology 1. Introduction This whitepaper intends

More information

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS) C^tJ O19OO(^'J.Tfi^'i- Universiti Teknologi MARA Requirement Analysis Using UML Approach for Research Management System (RMS) Enamul Hasan Bin Rusly Thesis submitted in fulfillment of the requirements

More information

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language. UML 1 Introduction UML = Unified Modeling Language It is a standardized visual modeling language. Primarily intended for modeling software systems. Also used for business modeling. UML evolved from earlier

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340

Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340 XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

More information

Object Oriented Analysis and Design and Software Development Process Phases

Object Oriented Analysis and Design and Software Development Process Phases Object Oriented Analysis and Design and Software Development Process Phases 28 pages Why object oriented? Because of growing complexity! How do we deal with it? 1. Divide and conquer 2. Iterate and increment

More information

Types of UML Diagram. UML Diagrams 140703-OOAD. Computer Engineering Sem -IV

Types of UML Diagram. UML Diagrams 140703-OOAD. Computer Engineering Sem -IV 140703-OOAD Computer Engineering Sem -IV Introduction to UML - UML Unified Modeling Language diagram is designed to let developers and customers view a software system from a different perspective and

More information

Course Registration Case Study

Course Registration Case Study Course Registration Case Study Table of Contents Case Study...1 Case Study Background... 2 Course Registration System Problem Statement... 2 The Role of Tools... 2 Project Summary... 2 The Inception Phase...

More information

Use Cases and Scenarios

Use Cases and Scenarios Use Cases and Scenarios We Will Cover What is a use-case Use-case versus user interaction Use-Case diagrams The constructs in the use-case diagrams Capturing the use-case High-level use-case Extended use-case

More information

Exercise 8: SRS - Student Registration System

Exercise 8: SRS - Student Registration System You are required to develop an automated Student Registration System (SRS). This system will enable students to register online for courses each semester. As part of the exercise you will have to perform

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

Towards an Integration of Business Process Modeling and Object-Oriented Software Development Towards an Integration of Business Process Modeling and Object-Oriented Software Development Peter Loos, Peter Fettke Chemnitz Univeristy of Technology, Chemnitz, Germany {loos peter.fettke}@isym.tu-chemnitz.de

More information

MODERN OBJECT-ORIENTED SOFTWARE DEVELOPMENT

MODERN OBJECT-ORIENTED SOFTWARE DEVELOPMENT MODERN OBJECT-ORIENTED SOFTWARE DEVELOPMENT A.N. Dunlop University of Southampton, SO17 1BJ, England Abstract Object-oriented (OO) programming has been around for a few years and there are many users of

More information

How to make a good Software Requirement Specification(SRS)

How to make a good Software Requirement Specification(SRS) Information Management Software Information Management Software How to make a good Software Requirement Specification(SRS) Click to add text TGMC 2011 Phases Registration SRS Submission Project Submission

More information

Modeling a Problem Scenario with UML

Modeling a Problem Scenario with UML 1 Table of Contents 1 Table of Contents... 1 2 Problem Statement... 1 3 Overview... 1 3.1 Background... 1 3.2 Overall Description... 1 4 Constraints... 2 5 Functional Specifications... 2 5.1 Student...

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 18-19 The Unified Process Static dimension Glossary UP (Unified

More information

Object-Oriented Design Guidelines

Object-Oriented Design Guidelines Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry

More information

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish

More information

Menouer Boubekeur, Gregory Provan

Menouer Boubekeur, Gregory Provan Software Requirements Menouer Boubekeur, Gregory Provan Lectures Introduction to UML Introduction to Requirements Analysis Advanced techniques for Requirement Analysis M. Boubekeur, CSL, University College

More information

Title: Topic 3 Software process models (Topic03 Slide 1).

Title: Topic 3 Software process models (Topic03 Slide 1). Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski

More information

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl UML Class Diagrams 11 November 2015 UML Class Diagrams The class diagram provides a static structure of all the classes that exist within the system. Classes are arranged in hierarchies sharing common

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

UML Tutorial: Sequence Diagrams.

UML Tutorial: Sequence Diagrams. UML Tutorial: Sequence Diagrams. Robert C. Martin Engineering Notebook Column April, 98 In my last column, I described UML Collaboration diagrams. Collaboration diagrams allow the designer to specify the

More information

DISCLAIMER OVERVIEW WHY DO WE MODEL WHAT IS QUALITY? Jeff Jacobs, jmjacobs@jeffreyjacobs.com

DISCLAIMER OVERVIEW WHY DO WE MODEL WHAT IS QUALITY? Jeff Jacobs, jmjacobs@jeffreyjacobs.com DEVELOPING HIGH CLASS UML CLASS MODELS Jeff Jacobs, jmjacobs@jeffreyjacobs.com DISCLAIMER The views presented here are those of the presenter and do not represent those of any other person, organization,

More information

Understanding Data Flow Diagrams Donald S. Le Vie, Jr.

Understanding Data Flow Diagrams Donald S. Le Vie, Jr. Understanding Flow Diagrams Donald S. Le Vie, Jr. flow diagrams (DFDs) reveal relationships among and between the various components in a program or system. DFDs are an important technique for modeling

More information

Mapping from Business Processes to Requirements Specification

Mapping from Business Processes to Requirements Specification Extended abstract 1/5 Mapping from Business Processes to Requirements Specification Svatopluk Štolfa, Ivo Vondrák Department of Computer Science, VŠB - Technical University of Ostrava, 17.listopadu 15,

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk. COMP 201 web-page: http://www.csc.liv.ac.

Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk. COMP 201 web-page: http://www.csc.liv.ac. Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 18 Introductory Case Study Introduction to UML During

More information

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved.

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved. 1 ATM Case Study 2 OBJECTIVES.. 3 2 Requirements 2.9 (Optional) Software Engineering Case Study: Examining the Requirements Document 4 Object-oriented design (OOD) process using UML Chapters 3 to 8, 10

More information

The Unified Software Development Process

The Unified Software Development Process The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:

More information

Assuming the Role of Systems Analyst & Analysis Alternatives

Assuming the Role of Systems Analyst & Analysis Alternatives Assuming the Role of Systems Analyst & Analysis Alternatives Nature of Analysis Systems analysis and design is a systematic approach to identifying problems, opportunities, and objectives; analyzing the

More information

Security Contact User Guide

Security Contact User Guide Introduction Child Support Online is the Internet Web site where employers and the Office of the Attorney General (OAG) of Texas, Child Support Division (CSD), come together to help families in need of

More information

Process Modeling Notations and Workflow Patterns

Process Modeling Notations and Workflow Patterns Process Modeling Notations and Workflow Patterns Stephen A. White, IBM Corp., United States ABSTRACT The research work of Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski, and Alistair Barros

More information

Table of Contents Author s Preface... 3 Table of Contents... 5 Introduction... 6 Step 1: Define Activities... 7 Identify deliverables and decompose

Table of Contents Author s Preface... 3 Table of Contents... 5 Introduction... 6 Step 1: Define Activities... 7 Identify deliverables and decompose 1 2 Author s Preface The Medialogist s Guide to Project Time Management is developed in compliance with the 9 th semester Medialogy report The Medialogist s Guide to Project Time Management Introducing

More information

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality Current Research Team: Prof. Victor R. Basili Forrest Shull, Ph.D. Guilherme H. Travassos, D.Sc. (1)

More information

State of Practice in Modeling and Model-Driven Development

State of Practice in Modeling and Model-Driven Development State of Practice in Modeling and Model-Driven Development Dr. Darius Šilingas Head of Solutions Department @ No Magic Europe darius.silingas@nomagic.com About Lecturer Dr. Darius Šilingas ü Head of Solutions

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Get Started. Log in to PowerSchool Parent Portal. PowerSchool Parent Portal Start Page

Get Started. Log in to PowerSchool Parent Portal. PowerSchool Parent Portal Start Page Get Started To get started, you must log in to PowerSchool Parent Portal Log in to PowerSchool Parent Portal Before you can log in to PowerSchool Parent Portal, you will need your school s PowerSchool

More information

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, rob@cl.uh.edu ABSTRACT In recent years, there has been a surge of

More information

SysML Modelling Language explained

SysML Modelling Language explained Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling

More information

Semantic Object Language Whitepaper Jason Wells Semantic Research Inc.

Semantic Object Language Whitepaper Jason Wells Semantic Research Inc. Semantic Object Language Whitepaper Jason Wells Semantic Research Inc. Abstract While UML is the accepted visual language for object-oriented system modeling, it lacks a common semantic foundation with

More information

This document is provided "as-is". Information and views expressed in this document, including URLs and other Internet Web site references, may

This document is provided as-is. Information and views expressed in this document, including URLs and other Internet Web site references, may This document is provided "as-is". Information and views expressed in this document, including URLs and other Internet Web site references, may change without notice. Some examples depicted herein are

More information

Instructional Design Framework CSE: Unit 1 Lesson 1

Instructional Design Framework CSE: Unit 1 Lesson 1 Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results

More information

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group

More information

Appendix... B. The Object Constraint

Appendix... B. The Object Constraint UML 2.0 in a Nutshell Appendix B. The Object Constraint Pub Date: June 2005 Language The Object Constraint Language 2.0 (OCL) is an addition to the UML 2.0 specification that provides you with a way to

More information

A UML Documentation for an Elevator System. Distributed Embedded Systems, Fall 2000 PhD Project Report

A UML Documentation for an Elevator System. Distributed Embedded Systems, Fall 2000 PhD Project Report A UML Documentation for an Elevator System Distributed Embedded Systems, Fall 2000 PhD Project Report December 2000 A UML documentation for an elevator system. Introduction This paper is a PhD project

More information

Modeling the User Interface of Web Applications with UML

Modeling the User Interface of Web Applications with UML Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities

More information

A HW/SW Codesign Methodology based on UML

A HW/SW Codesign Methodology based on UML A HW/SW Codesign Methodology based on UML How to apply a model based UML design for an embedded system By Senior Consultant Kim Bjerge (kim.bjerge@teknologisk.dk) Copyright 2008 Danish Technological Institute

More information

UML basics: An introduction to the Unified Modeling Language

UML basics: An introduction to the Unified Modeling Language Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/f_umlintro_db.jsp UML basics: An introduction to the Unified Modeling Language by Donald Bell IBM Global Services Way back

More information

Software Project Management and UML

Software Project Management and UML Software Project Management and UML Ali Bigdelou Computer Aided Medical Procedures (CAMP), Technische Universität München, Germany Outline Intro to Software Project Management Project Requirements Specification

More information