CMPT 275 Software Engineering

Slides:



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

Use Case Diagrams Damian Gordon.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case & Use Case Diagram
Karolina Muszyńska Based on:
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS3773 Software Engineering Lecture 03 UML Use Cases.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Chapter 15: System Modeling with UML
Introduction To System Analysis and Design
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Use Case Analysis – continued
Unified Modeling Language
1 CMPT 275 Software Engineering Requirements Analysis Phase Overview of Requirements Analysis Activity System Context Diagrams.
Unified Modeling Language(UML) BY
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
CMPT 275 Software Engineering
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.
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,
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
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.
CMPT 275 Software Engineering
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis activity Janice Regan,
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
1 CMPT 275 High Level Design Phase Modularization.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
OOP Review CS 124.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
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)
Prof. Hany H. Ammar, CSEE, WVU, and
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Using Use Case Diagrams
UML Diagrams By Daniel Damaris Novarianto S..
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
UML Diagrams Jung Woo.
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
Object-Oriented Analysis
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
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

CMPT 275 Software Engineering Requirements Analysis activity (use case diagrams, Class activity) Janice Regan, 2008-2014

Class Project: Requirements Analysis Object Oriented paradigm Requirements Gathering Activity: Develop informal scenarios to help you derive your software requirements specifications Requirement specification Activity: Build an ‘analysis model’ representing the user’s/client’s view of the system ‘analysis model’ includes a list of functional and non-functional requirements. Each functional requirement represent all or part of at least one function/activity Functional requirements are not dependent on specific methods of implementation Janice Regan, 2008-2014

Class Project: Requirements Analysis Next you will proceed using use case centered development (UCCD) to analyze that model System Context Diagram Identifying Actors and developing Use Cases Use case Diagrams Primary classes Use cases and Scenarios (formal and informal) Class (object) Diagram State Diagrams Janice Regan, 2008-2014

Requirements Analysis Activities Software Developer Client/User Update SRS Use Case Centered Development (UCCD) Questions Use Case Diagram Use Cases Class Diagram System Context Diagram Primary Classes Scenarios State Diagram Janice Regan, 2008-2014

Use Cases Specify the behaviour of the system from the user’s perspective Provides value to at least one user of the system Describe a sequence of actions, performed by the system, to yield a result desired by that user The behavior of the system is expressed without specifying how the behavior is implemented (What is behavior, not how is it done) To get started generalize an informal scenario (or closely related set of informal scenarios) Informal scenarios are a good starting point Janice Regan, 2008-2014

UML: Unified Modeling Language Object-Oriented Paradigm modelling notation Clear and effective way to model many aspects of a software system using a commonly understood language Programming language independent Enables a variety or analysis and design techniques A subset of UML will be used in this course Janice Regan, 2008-2014

UML: Unified Modeling Language Used in this course for analysis models of System functionality (use case diagrams, use cases and scenarios) Objects and their static relationships (class diagrams) Dynamic behavior (state diagrams, collaboration diagrams sequence diagrams) Janice Regan, 2008-2014

Use Case Diagrams Depicts overall behavior of s/w system Models the context of a system (what is part of the system what external entities interact with the system) AND Models the requirements of a system, the desired behavior of the system (what the system should do from an external viewpoint, not how it should do it) Janice Regan, 2008-2014

Use Case Diagrams Depicts overall behavior of software system Depicts interaction between use cases and actors use cases and use cases actors and actors Depicts a set of use cases, a set of actors, and the relationships between the use cases and actors Janice Regan, 2008-2014

UML: Use Case Diagrams Actor Use case Use case name Relationships: Dependency (extension and inclusion) Association (communication) Generalization Janice Regan, 2008-2014

Part of Use Case Diagram: Shows Communication Relation between actor and use case is a communication if Actor initiates use case Actor supplies information to use case Actor receives information from use case Use case initiates another use case Part of Use Case Diagram: Shows Communication Use Case Janice Regan, 2008-2014

Relationships: Dependency Dependency: Class A is said to depend on class B if A uses at least one feature of B, e.g., it accesses one of B’s data fields or invokes one of its methods. Changing the specification of B may change A (A uses or depends on B) but not necessarily the reverse A B Janice Regan, 2008-2014

Use Case Diagrams Dependency Relationship: <<include>> Encapsulates common logic required by several use cases into one included use case Used for factoring out common behaviour (promote “reuse”) Can also be used to break a large and complicated used case into smaller more manageable parts Source Use Case or Base Use Case inclusion use case or target use case <<include>> Janice Regan, 2008-2014

Use Case Diagrams Dependency Relationship: <<include>> Make Meat Pie <<include>> <<include>> Make Apple Pie Make Pie Crust <<include>> Make Cherry Pie Janice Regan, 2008-2014

LMS: Partial Use Case Diagram BrowseResource Check out resource <<include>> Verify Patron ReserveResource <<include>> CheckInResource Patron <<include>> Librarian Determine Overdue Charge Janice Regan, 2008-2014

Use Case Diagrams Dependency Relationship: <<extend>> Extension use case defines logic that may be required during a base use case Exceptional logic that is not always needed Can be a conditionally executed separate subflow (label with condition) One of several possible flows that may be inserted at a given point governed by interaction with the actor Janice Regan, 2008-2014

<<extend>> Use Case Diagrams Dependency Relationship: <<extend>> Source use case extends the behavior of the target use case Allows options to be extension cases Source Use Case or Extension Use Case Target Use Case Or Base Use Case <<extend>> Janice Regan, 2008-2014

Use Case Diagrams Dependency Relationship: <<extend>> Make optional cherry crème topping <<extend>> Make cherry pie <<extend>> Baking in Microwave <<extend>> Baking in Convection oven Janice Regan, 2008-2014

Use Case: overlapping roles (good practice indicates 1 initiating actor per use case) Recording Grades Design Course Regular Faculty Record Grades Registrar Sessional Lecturer Janice Regan, 2008-2014

Relationship Resource Book Video Music CD Generalization: book, music CD, videos are resources Resource general specific Book Video Music CD Janice Regan, 2008-2014

Use Case: overlapping roles (1 initiating actor per use case) Recording Grades Record Grades Instructor Registrar Design Course Sessional Lecturer Regular Lecturer Janice Regan, 2008-2014

Modeling the context of a system From: Booch, Rumbaugh, Jacobson Credit Card Validation System Perform Transaction Retail Institution Process Customer Bill Customer Reconcile Transactions Financial Institution Manage Customer Account Individual Customer Corporate Customer Janice Regan, 2008-2014

Constructing a Use Case Diagram Identify all actors (primary and secondary) For each actor Identify each function the actor expects from the system (can consider the whole system or a few requirements at a time) Name each of these functions, and consider it to be a use case Janice Regan, 2008-2014

Constructing a Use Case Diagram Analyze the use cases Determine which actor (one only) or which use case initiates each use case Find any actions common to multiple use cases. Use the <<include>> dependency to connect the use case for the common action to the original use cases Find any actions that are done rarely/sometimes Use the <<extend>> dependency to factor out use cases that are extensions Janice Regan, 2008-2014

Validation & Verification Are we building the right product? To facilitate validation we number our functional requirements and propagate these numbers throughout our models and source code, validating that all functional requirements are parts of the system. Verification: Are we building the product right? Janice Regan, 2008-2014