Quiz 1. Who is the guru of Extreme Programming?

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Use-Cases.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Architecture. Outline Example Decomposition Style Activity 1.
Use Case & Use Case Diagram
Karolina Muszyńska Based on:
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Ch 12: Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Introduction To System Analysis and Design
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
Chapter 7: The Object-Oriented Approach to Requirements
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
CMIS 470 Structured Systems Design
Use Cases 2 ENGR ♯10 Peter Andreae
Software Engineering Design & Modelling
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Class Diagrams Tutorial.
Introduction To System Analysis and Design
Faculty of Computer & Information Software Engineering Third year
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Faculty of Computer & Information
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
UML Diagrams A tool for presentation of Architecture.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Model Use case diagram.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
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.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
UML (Unified Modeling Language)
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Use Cases -Use Case Diagram
Using Use Case Diagrams
CMPE 280 Web UI Design and Development August 29 Class Meeting
Business Models Modeling.
Use Case Model Use case diagram.
UML Use Case Diagrams.
The Unified Modeling Language
Unified Modeling Language
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Object Oriented Analysis and Design
Use Cases & Use Case Diagrams
Software Design Lecture : 15.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

Quiz 1. Who is the guru of Extreme Programming? 2. who are the gurus of UML? 3. Do we want highly or lowly cohesive modules? 4. Do we want strongly or loosely coupled modules? What is the principle of Encapsulation? 6. Show the UML diagram for a class

Quiz Answers 1. Kent Beck 2. Jacobson, Booch, Rumbaugh (Three Amigos) 3. Highly cohesive 4. Loosely coupled 5. The implementation of a module should be separated from its contractual interface and hidden from clients. 6. Point X Y move(dx, dy)

Unified Modeling Language

UML Set of graphic notation techniques to create visual models of software intensive systems Architectural blueprint of a software system Capture details about a system such that the problem is clearly understood (design) solution architecture is developed a chosen implementation is clearly identified and constructed Provides for ways to express complex relationships among the basic building blocks Those relationships can be static or dynamic Easier to communicate with non-professionals

Introduction Class diagrams Shows the static relationships that exist among a group of classes and interfaces Common relationships include inheritance (is-a), aggregation (part-of ), dependency and composition

Introduction Interaction diagrams Used for modeling the dynamic behavior of a system Two kinds of diagrams one of which are sequence diagrams (others fall under collaboration diagrams) Used for modeling the message exchange between objects in a system (what do I mean message?) Capture the relative time ordering of messages exchanges

Introduction Other State chart diagrams Activity diagrams /cond Other State chart diagrams Similar to finite state machines Activity diagrams Components diagrams Deployment diagrams More than12 now

Use Cases Interactions between system and external entities Users Other Systems What the system does, not how things happen Specifies a sequence of actions, including variants, that a system performs and that yields an observable result of value to a particular actor (Jacobson, Booch, Rumbaugh)

Use Cases Set of scenarios (likely/possible occurrences) Main Scenario Alternative scenarios Exceptional scenarios Sequence of interactions between actors/system A little story that outlines some expected sequence of request and responses between actors and the system Writing one is a like a game of “what happens next?”

Use Case Main Scenario – Normal flow of events and outcomes “what will happen if all the preconditions are met” Alternatives – also normal Exceptions – what if preconditions are not met? Paragraph description of what happens “A student registers in a class by logging in (if not logged in), selecting and open class, and saving the new schedule”

Use Case User: A student Goal: registers in a class Scenario: by logging in, (if not logged in), selecting and open class, and saving the new schedule

Online Shopping Example Name: Validate credit card Actors: Customer, Credit card company Main Scenario: 1. Customer enters credit card number and expiration date 2. System verifies card with credit card company 3. System sends authorization message to customer

Online Shopping Example Alternative 2a: If the credit card company rejects the card, system sends a rejection notice Alternative 2b: If credit card company does not respond in 10 seconds, Tell the user of delay Repeat verifying the card Alternative …

General Guidelines Use case must define a goal for its user Must be a “sunny day” scenario Make at an appropriate level not too detailed (trivial, tedious - e.g. login as a separate use case) not too high (vague) Don’t get technical (e.g. reference to specific DB)

Use Case Diagrams Show use cases, actors and their relationships Capture the precise requirements for the system from a user’s perspective (not internal system)

Use Case Diagrams (UML) Consists of Actors A person, organization, or external system that plays a role in one or more interactions with your system Can make a service request to the system or be requested to provide a service Drawn as stick figures Use cases (each includes main scenario, alternatives, and exceptions) Scenario Drawn as ovals

Use Case Diagrams (UML) Relationships among actors and use cases Generalization relationships among actors Extends in Visio (change type to inherits) --- could be done in a separate diagram Association relationships between actors and use cases Communication in Visio Dependency relationships among use cases Include (Uses in Visio) Access account includes login Extends (i.e. special case of) (Extends in Visio) Open a dual account vs. open an account Last two should be within the System boundary diagram

Sometimes “uses” instead “includes”

University System Students, faculty and admins Students: Login and get grades Faculty: Login, view student roster, & enter grades for a student roster Admins: Login and verify grades

Use Cases Every use case in the system must be explicitly described Name Actors involved Preconditions Related Use Cases (Uses/Extends) Main Scenario Alternative Scenarios Exceptional Scenarios Withdraw money from bank via ATM Wrong pin Balance not enough Money not removed in 60 seconds

Use Cases Steps Iterative development process Extract actors and use cases Nouns that perform actions or respond to actions are actors Verbs or action nouns (registration, enrollment, etc …) are usually use cases Draw use case diagram Main uses cases and actors Don’t worry about completeness … will refine later on Describe every use case Main scenarios Refine use case diagram Add more relationships, secondary uses cases, secondary actors Complete Refine use cases Alternative scenarios Iterative development process

E-Book Store Allows customers to search and shop for books, music CDs, and computer software on the Web Provides information about the titles it carries to help customers make purchases Other functionalities Customer registration (needed for shopping only) – first time only, login henceforth (needed for shopping only) Support management of the system such as adding, deleting and updating titles (Catalog manager) Updating customer account information & processing orders (Customer manager) Manage inventory (Inventory manager) – e.g., order products

E-Book Store Actors: Use Cases: Customer Manager Register Login Inventory Catalog Use Cases: Register Login Search/Browse Shop Manage Inventory Manage Catalog Manage Accounts Manage Orders

Repeat steps 1 thru 4 as need Use Case: Shop Name: Shop Primary Actor: Customer Uses/Extends: Uses Browse & Login Precondition: Customer already registered Customer System 1-Customer searches (Browse) 2-Show info on selected titles 3-Customer selects a title to buy 4-Add to shopping cart Repeat steps 1 thru 4 as need 5-Done shopping and check out 6-Request customer ID and password 7-Customer enters customer ID and password (Login) (first time only) 8-Authenticate customer & Authentication succeeds 9-Display contents of shopping cart 10-Request shipping address 11-Request payment method and billing address 12-Customer confirms order, shipping address, payment method and billing address 13-Validate payment method & Validation Succeeds 14-Process order, issue receipt and notify warehouse

Use Case: Shop Alternative Scenario 1 Alternative Scenario 2 Customer authentication fails  repeat login procedure (warn user and go back to step 6) Alternative Scenario 2 Payment validation fails  prompt the customer for new payment information (warn user and go back to step 11) Exceptional Scenario Customer leaves without checking out Save shopping cart for 48 hours