Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.

Slides:



Advertisements
Similar presentations
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Advertisements

CS3773 Software Engineering Lecture 03 UML Use Cases.
Introduction To System Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Documenting Requirements using Use Case Diagrams
Lecture 3 Software Process Models / Requirements Analysis Topics Mythical Man Month Waterfall model Spiral Method Requirements Analysis Readings: Chapter.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Lecture 1: Processes, Requirements, and Use Cases.
Computer ScienceSoftware Engineering Slide 1 Groups Paul Simmerlink Andrew Rodgers Daniel Coming Ogechi Ugwulebo William Nelson Jigna J. Bhatt Casey J.
© Copyright Eliyahu Brutman Programming Techniques Course.
Teamwork Know each other Compete Leadership Strengths and Weaknesses
Software Engineering Case Study Slide 1 Introductory case study.
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
CMPT 275 Software Engineering
CMPT 275 Software Engineering
Introduction To System Analysis and design
CMIS 470 Structured Systems Design
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.
ITEC 370 Lecture 10 Design. Review Design –Why is it part of the process? –Who is the audience for design?
Chapter 8: Actor-System Interaction Modeling
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
Chapter 5 Class Design. The Deliverables of the Class Design Process Class diagrams are further refined in this phase of development Object diagrams are.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
1 Sub-Phase Low Level Design (cont). Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
Lecture 2 Software Process Models / Requirements Analysis Topics Mythical Man Month Waterfall model Spiral Method Requirements Analysis Readings: Chapter.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Chapter 7 System models.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 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.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis activity Janice Regan,
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Chapter 1 Introduction to Software Engineering. Why Engineer Software? n Air traffic control case study –$2.3 Billion spent without any usable deliverable.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
UML Use Case Models and Modular Programming Session 3 LBSC 790 / INFM 718B Building the Human-Computer Interface.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
The Unified Modeling Language (UML)
1 High Level Design Phase Refining Use Cases User Interface Information.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML (Unified Modeling Language)
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Chapter 4: Business Process and Functional Modeling, continued
TQS - Teste e Qualidade de Software (Software Testing and Quality) Test Case Design – Model Based Testing João Pascoal.
Object-Oriented Analysis and Design
Unified Modeling Language
Copyright 2007 Oxford Consulting, Ltd
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering

– 2 – CSCE 492 Spring 2008 Overview Last Time Corrections to slides: Added spiral model figure 492Website/Resources/SpiralModelBoehm.pdf Rational Unified Process, Extreme Programming XP Model Driven Architecture Pragmatics UML references, Teams Models for the process of software development Waterfall model, Spiral model, Agile, Requirements Today’s Lecture UML review RequirementsReferences: Chapters 3 of the text Next Time:

– 3 – CSCE 492 Spring 2008 UML – Unified Modeling Language UML references Poseidon tool for UML Website of Quick Reference Cards

– 4 – CSCE 492 Spring 2008 What's new in UML 2.0 Nested Classifiers: In UML 2.0, you can nest a set of classes inside the component that manages them, or embed a behavior (such as a state machine) inside the class or component that implements it. Nested Classifiers: In UML 2.0, you can nest a set of classes inside the component that manages them, or embed a behavior (such as a state machine) inside the class or component that implements it. Improved Behavioral Modeling: Improved Behavioral Modeling: Improved relationship between Structural and Behavioral Models: Improved relationship between Structural and Behavioral Models:

– 5 – CSCE 492 Spring 2008 Verifying Requirements A structured walkthrough with the end users is a good technique for ensuring that the user needs are being addressed To ensure that the resulting software supports the requirements specification, items on the supported activity list are numbered and propagated through the software models and source code

– 6 – CSCE 492 Spring 2008 The Process of Requirements Analysis Create verified requirements specification Create verified requirements specification Create list of primary classes Create list of primary classes Create informal scenarios Create informal scenarios Create use cases Create use cases Create scenarios Create scenarios Create class diagrams Create class diagrams Create use case diagrams Create use case diagrams

– 7 – CSCE 492 Spring 2008 Determining Primary Classes Select nouns from the requirements specification and inspect each noun for the following properties Retained information Retained information Needed services Needed services Multiple attributes Multiple attributes Common attributes Common attributes Common operations Common operations Essential requirements Essential requirements

– 8 – CSCE 492 Spring 2008 LMS Case Study:Primary Classes Patron Patron Student, faculty, library staff Student, faculty, library staff Resource Resource Book, music CD, video, software Book, music CD, video, software Reference resource, reserved resource, requested resource, online research resource Reference resource, reserved resource, requested resource, online research resource Inter-library loan request Inter-library loan request Overdue charge Overdue charge Overdue form letters Overdue form letters

– 9 – CSCE 492 Spring 2008 Identifying Use Cases A use case is a description of a scenario (or closely related set of scenarios) in which the system interacts with users of the system A use case is a description of a scenario (or closely related set of scenarios) in which the system interacts with users of the system The behavior of the system is expressed without specifying how the behavior is implemented The behavior of the system is expressed without specifying how the behavior is implemented Use cases are initially described as a narrative, and then modeled graphically by class diagrams and interaction diagrams (to be discuss later) Use cases are initially described as a narrative, and then modeled graphically by class diagrams and interaction diagrams (to be discuss later) Informal scenarios are a good starting point for use cases Informal scenarios are a good starting point for use cases

– 10 – CSCE 492 Spring 2008 Characteristics of Use Cases Use cases are more abstract than informal scenarios Use cases are more abstract than informal scenarios A single use case may encompass multiple scenarios A single use case may encompass multiple scenarios Use cases avoid redundancy Use cases avoid redundancy Use cases are more formally structured than scenarios Use cases are more formally structured than scenarios Use cases seek to capture complete breadth of system behavior Use cases seek to capture complete breadth of system behavior

– 11 – CSCE 492 Spring 2008 Use Case Layout Precondition Precondition What conditions must be true at the beginning of the use case? Main flow of events Main flow of events Describe the essential behavior associated with the use case Post condition Post condition What occurs as a result of the use case executing Exceptional flow of events ( zero to many) Exceptional flow of events ( zero to many) Enumerate possible erroneous flow of events

– 12 – CSCE 492 Spring 2008 LMS Case Study: Use Cases Validate patron Check out resource Check in resource Request resource Reserve resource Manage Resource Manage Patron Generate form letter

– 13 – CSCE 492 Spring 2008 LMS Case Study: Check out Resource Use Case Precondition Library staff and patron validated to LMS Library DB initialized Main flow of events Enter resource Determine due date Exceptional flow of events Patron ID not valid Patron has over due resources or too many checked Resource number not valid

– 14 – CSCE 492 Spring 2008 More LMS Case Study: Check out Resource Use Case Postcondition Patron DB entry updated to reflect new resource Resource DB entry updated to reflect changed status: checked out Due date assigned to the resource DB entry

– 15 – CSCE 492 Spring 2008 Scenario Development Scenarios are derived from use cases Scenarios are derived from use cases Scenarios are like informal scenarios, but are more formally structured Scenarios are like informal scenarios, but are more formally structured Informal scenarios may be modified to produce scenarios Informal scenarios may be modified to produce scenarios Use cases are abstract because they do not reference specific values Use cases are abstract because they do not reference specific values Scenarios are concrete because they do reference specific values Scenarios are concrete because they do reference specific values Multiple scenarios may be required for a single use case Multiple scenarios may be required for a single use case

– 16 – CSCE 492 Spring 2008 Modeling the System with UML The process of modeling parallels and supports the process of understanding the system requirements Two types of models support the analysis process Class diagrams Use case diagrams

– 17 – CSCE 492 Spring 2008 Class Diagrams Models the composition of classes and the essential relationships between classes Models a static perspective of the system May expresses a more or less abstract representation of the system The notational building blocks Classes Interfaces Relationships Collaborations

– 18 – CSCE 492 Spring 2008 Notational Elements of Class Diagrams Class Name ClassDetailed Class Interface Relationships: Dependency AssociationGeneralization Collaboration Collaboration Name

– 19 – CSCE 492 Spring 2008 LMS Case Study: Class Diagram Requests Browses Checks out Returns PatronResource Overdue form Letter lists Library staff generates processes deletes adds reshelves

– 20 – CSCE 492 Spring 2008 LMS Case Study: Class Diagram for Check out Resource Resource SoftwareBookMusic CD Video Patron Library staff processes Checks out

– 21 – CSCE 492 Spring 2008 Use Case Diagrams Use case diagrams depict use cases interacting with external actors External actors are entities that interact with the software system, like system users, databases, or books Use cases represent system requirements and show a functional partitioning of the system Functional partitioning is useful for a dividing a system into smaller pieces

– 22 – CSCE 492 Spring 2008 Notational Elements of Use Case Diagrams Use case name ActorUse case Relationships: Dependency AssociationGeneralization

– 23 – CSCE 492 Spring 2008 LMS Case Study: Use Case Diagram Browse Resource Request Resource Reserve Resource Patron Resource

– 24 – CSCE 492 Spring 2008 Steps in UCCD Analysis Process Use Case Centered Design (UCCD) Process Create/refine requirements specification Create/refine requirements specification Create informal scenarios Create informal scenarios brainstorm with stakeholders Create list of primary classes Create list of primary classes Create use cases Create use cases Create scenarios from use cases Create scenarios from use cases Create class diagrams showing basic inter-class relationships Create class diagrams showing basic inter-class relationships Model key class collaborations Model key class collaborations Create use case diagrams Create use case diagrams

– 25 – CSCE 492 Spring 2008 Evolving the System Requirements analysis may be done iteratively throughout system development The system to be developed may be partitioned into development subgoals Each subgoal has its own requirements analysis phase that it followed by design, implementation, and testing Each subset of the system is made work before the next subgoal is analyzed

– 26 – CSCE 492 Spring 2008 Analyzing the Class Project List the primary classes Create a basic class diagram showing aggregation and inheritance Create use cases Create class diagrams Create use case diagrams Create one or more scenarios for each use case Engage in a structured walkthrough with your customer

– 27 – CSCE 492 Spring 2008 Working in Teams Development teams should meet at least once a week A common list of primary classes should be created by the team The creation of use cases, class diagrams, and scenarios should be divided amongst development team members The team as a whole should review the individual products to ensure that the pieces fit together

– 28 – CSCE 492 Spring 2008 Additional Pointers for Effective Team Work The role of the chair is to facilitate discussion Each team member should have equal opportunity to be heard The meeting chair to make an extra effort to hear from less aggressive team members Team members should not be interrupted unless they are being long-winded Everyone should strive to make their points as concisely as possible