1 CS2200 Software Development Lecture: UML II: Review and Case Study A. O’Riordan, 2008 Incorporates notes by K. Brown and C. Korbyn.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
Use cases.
1 SWE Introduction to Software Engineering Lecture 16 – System Modeling An Example.
May 24, May 24, 2015May 24, 2015May 24, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
Use-case Modeling.
Component-Level Design
Introduction to UML Part 2 Behavioral Modeling. Sequence (event) diagram Describes object interaction Typically captures behavior of a single use case.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng, Sp2003) Supplementary: Using and Extending UML.
Part 1 Structural Modeling Use case modeling
A use case describes one “case” of how a user can use the system.
UML for Embedded Systems Development— Extensions; Hardware-Software CoDesign.
Unified Modeling Language
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Object-Oriented Analysis - Instructor Notes
Copyright by Dr. Clarence Lau, IVE(TY)
Software Engineering CS B Prof. George Heineman.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
The Unified Modeling Language Part I Omar Meqdadi SE 2730 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
1 SAD2 - UML 4 th Lecture Class Diagram in Construction Phase Patterns Case Study Lecturer: Dr Dimitrios Makris
Use Case Modeling. What is use case modeling? Core concepts Diagram tour When to model use cases Modeling tips Example: Online HR System.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Requirements Documentation CSCI 5801: Software Engineering.
Object-Oriented Analysis and Design NGSSC Object-Oriented Scientific Programming, June 2012.
Component & Deployment Diagram © copyright 2001 SNU OOPSLA Lab.
Introduction to UML: Unified Modeling Language Ric Holt U Waterloo, March 2009 CS246.
Kyung Hee University System Functional Model OOSD 담당조교 석사과정 이정환.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
The Prometheus-ROADMAP Methodology Lin Padgham in collaboration with Leon Sterling and Michael Winikoff School of Computer Science and IT, RMIT University,
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Adv. Use cases Actor generalization – general and special actors Use case generalization – general and special use cases Include and extend relationships.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Week IV in SOS  Tuesday Project Time -- 4:15pm-5pm URL for project(s) due to Judy by Friday 5pm  Friday Paper  OOAD Handouts thru last Thursday (see.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Elaboration Iteration 3 – Part 3 - Persistence Framework -
CSCE 240 – Intro to Software Engineering Lecture 2.
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
Spring 2007 Week 10: Object Modeling (1)Use Case Model IFS410: Advanced Analysis and Design.
UML - Development Process 1 Software Development Process Using UML.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Design CS 470 – Software Engineering I Sheldon X. Liang, PH.D.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
CS551 - Lecture 7 1 CS551 Interaction Models (Chapter 4 of UML) Yugi Lee STB #555 (816)
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Modeling Language
CRC Modeling (class-relationship-collaborator)
Object Oriented Analysis and Design
Software Design Lecture : 15.
OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Development Process Using UML Recap
Software Design Lecture : 28.
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Presentation transcript:

1 CS2200 Software Development Lecture: UML II: Review and Case Study A. O’Riordan, 2008 Incorporates notes by K. Brown and C. Korbyn

2 Lecture Overview ●UML Notation for System/Application Modelling ●Review of UML from last lecture ●Use Cases for OOA ●Class Diagrams for OOD ●UML Case Study ●Computer Centre Helpdesk Application

3 Fig. 3-53, UML Notation Guide Use Case Diagram

4 When to use use cases and Tips on use ●Model user requirements with use cases ●Model test scenarios with use cases ●If you are using a use-case driven method start with use cases and derive your structural and behavioral models from it. ●Make sure that each use case describes a significant chunk of system usage that is understandable by both domain experts and developers ●Factor out common usages that are required by multiple use cases ●If the usage is required use > ●If the base use case is complete and the usage may be optional, consider use >

5 Classes

6 Generalization

7 Objects

8 Structural Modeling Tips ●Define a “skeleton” (or “backbone”) that can be extended and refined as you learn more about your domain/develop system ●Focus on using basic constructs well; add advanced constructs/notation only as required. ●Defer implementation concerns until late in the modeling process ●Class diagrams should contain classes at the same level of abstraction ●Large numbers of classes should be organized into packages (not covered)

9 Case Study: Computer Centre Helpdesk Requirements: A university computing centre runs a helpdesk for handling problems with the hardware and software. When a client presents a problem its details are recorded, and it is either solved immediately at the front desk or delegated to an officer not at the front desk. The officer who initially received the problem "owns" it, and must ensure it is handled to completion. When a delegated task returns to the owner, the owner must decide whether it is solved, completely failed, or needs to be re-delegated. When it is completed, a report is given back to the client.

10 Use Case Diagram client officer front desk manager request help tackle problem attend desk review logs log call delegate report

11 Scenario: request help Main Success Scenario 1.Client calls for help 2.Front logs the call 3.Front delegates the call 4.Officer solves problem 5.Front completes call 6.Front reports to Client Extensions 4a. Officer reports failure 4a1. Front redelegates (return to 3)

12 Scenario: Attend Desk Main Success Scenario 1.while on duty 2. if client in queue log call 3. else if call in queue delegate task 4. else if owned task returned handle task 5. else if owned task delayed query 6. else if personal task in queue solve

* * * 1 * HelpDesk Officer FrontStaff CallList Call CallQueue User Class Diagram

Detailed Class Diagram 1 1 * * * HelpDesk -front: FrontStaff -taskList: CallList -callQ: CallQueue -officers: List +changeFrontStaff(FrontStaff): void +processUserCall(): void +getOfficers(): List +getNextCall(): Call +finishTask(Call c): void Officer -delegatedList: CallList +acceptTask(Call c): void +solveTask(Call c): void +respondToDelay(Call c): String +processTasks(): void FrontStaff -helpDesk: HelpDesk -ownedList: CallList -returnedList: CallList +processCalls(): void +processList(): void +takeBackTask(Call c): void +checkDelays(): void CallList -list List : CallQueue -queue Queue : Call -callID: String -user: User -description; String -time: Time -owner: FrontStaff -officer: Officer -finished: boolean +Call(String, User, Time) +setDescription(String): void +setOwner(FrontStaff): void +setOfficer(Officer): void +setFinished(boolean): void +getID(): String +getUser(): User +getDescription(): String +getTime(): Time +getOwner(): FrontStaff +getOfficer(): Officer +getFinished(): boolean User -ID: String : 1 *