Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Similar documents
Chapter 5: Structural Modeling

Introduction to UML Dr. Rajivkumar S. Mente

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

A Conceptual Model of the UML

Introduction to UML. Danang Wahyu utomo

Advanced Software Engineering

UNIT-II Introduction to UML

Interaction Modelling: Use Cases

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

Basic Structural Modeling. Copyright Joey Paquet,

Meltem Özturan

LABORATORY 1 REVISION

OO System Models Static Views

Object-Oriented Systems Development: Using the Unified Modeling Language

Software Life-Cycle Models

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Darshan Institute of Engineering & Technology for Diploma Studies

UML Tutorial. Unified Modeling Language UML Tutorial

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes

Practical UML - A Hands-On Introduction for Developers

System Analysis & design

Object-Oriented Systems Analysis and Design Using UML

Introduction to UML CHAPTER 1. Visualizing. Specifying LEARNING OBJECTIVES

Introduction to Unified Modelling Language (UML)

Sofware Requirements Engineeing

Software Design Models, Tools & Processes. Lecture 2: Inception Phase Cecilia Mascolo

Software Engineering I (02161)

Requests Charges. Librarian. University affiliated patrons students, faculty, staff. Media Center Staff

APPENDIX M INTRODUCTION TO THE UML

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Architecture and the UML

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...

Chapter : Analysis Modeling

06. Analysis Modeling

Practical UML : A Hands-On Introduction for Developers

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Unified Modeling Language

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Entity-Relationship Diagrams. This is Lecture e.

SE 1: Software Requirements Specification and Analysis

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

INTRODUCING THE UML. Chapter 2

OO Techniques & UML Class Diagrams

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

Unit Wise Questions. Unit-1 Concepts

Lab # 1. Structuring System Requirements: Diagrams

Use C ases Cases 7/09

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Object Oriented Modeling and Design

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Object Modeling. Entity-Relationship (ER) diagrams (1976) Object Modelling Technique (OMT) diagrams (1991)

Interactions A link message

CS3205: Task Analysis and Techniques

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

Chapter 2: The Object-Oriented Design Process

Fundamentals of Health Workflow Process Analysis and Redesign

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution

Introducing the UML Eng. Mohammed T. Abo Alroos

Topic 3 Unified Modeling Language UML. Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics.

Lesson 06. Requirement Engineering Processes

OO Analysis and Design with UML 2 and UP

Unified Modeling Language (UML)

Software Engineering Fall 2014

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

CS485/540 Software Engineering Requirements Modeling (Ch. 6)

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Tutorial notes on. Requirements analysis

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

Design of Embedded Systems

History of object-oriented approaches

Working with Health IT Systems is available under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported license.

Experiment no 4 Study of Class Diagram in Rational Rose

Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India.

Software Engineering Lab Manual


UML Views of a System

A Role-based Use Case Model for Remote Data Acquisition Systems *

Object Oriented Software Development CIS Today: Object Oriented Analysis

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Structured and Object Oriented Analysis and Design

Software Service Engineering

Requirements Modeling (Ch. 6)

JOURNAL OF OBJECT TECHNOLOGY

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Introduction to Software Engineering. 6. Modeling Behaviour

Introduction to Software Engineering. 5. Modeling Objects and Classes

Ch t 8 Chapter 8. System Models

Enterprise Architect. User Guide Series. Maintenance. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Maintenance

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

UML- a Brief Look UML and the Process

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

1: Specifying Requirements with Use Case Diagrams

Transcription:

Topics Overview- The UML Functional Model Use Case Diagram (essential and system) Structural Model Class/object, Component and Deployment Diagram Behavioral Models Activity, State chart, sequence /collaboration 1

Overview- The UML 11/23/2015 2

THE UNIFIED MODELLING LANGUAGE (UML) A language whose vocabulary and rules focus on the conceptual and physical representation of a system. UML defines structural and behavioral things and diagrams. UML is the language of blueprints for software.

UML It is a graphical language for Visualizing Specifying building models that are precise, unambiguous, and complete Constructing possible to map from a model in the UML to a programming language Documenting Intended for software-intensive systems

WHAT UML IS NOT UML is not a method or methodology (Method = Notation (e.g.,uml) + Process) UML does not dictate a particular process UML can be used to record the resulting domain and design models, independent of the process Choose an appropriate process for a particular project, independent of the modeling language

WHY USE UML Standardized notation without sacrificing specialized model data Common language that can be used from product conception to delivery, from system to detailed design levels Reduced learning curve across projects Increased domain and design model reuse Increased customer involvement /understanding of problem translation to product solution

UML STRUCTURE UML Building blocks Common mechanisms Architecture Building blocks things relationships Diagrams Common mechanisms specifications Adornments/ dicoration common divisions extensibility mechanisms Architecture use-case view logical view process view implementation view deployment view

The Unified Modeling Language (UML) UML has three building blocks: Things, the objects. Relationships, the glue that holds things together. Diagrams, categorized as either structure or behavioral.

UNDERSTANDING UML BUILDING BLOCKS OF UML 1. Things the abstractions 1. Structural things nouns, static, represent conceptual or physical elements: Class, interface, collaboration, use case, active class, component, and a node 2. Behavioural things verbs, dynamic, represent behaviour over time and space: Interaction and state machine 3. Grouping things organizational parts of UML: Packages 4. Annotational things explanatory parts of UML: Note

BUILDING BLOCKS OF UML 2. Relationships tie things together A. Dependency (uses) a semantic relationship between two things in which a change to one thing (the independent thing) may affect the semantics of the other thing (the dependent thing) A car uses a fuel B. Association a structural relationship that describes a set of links, a link being a connection among objects. association 0..1 employer role name * employee

BUILDING BLOCKS OF UML C. Generalization (is a) a specialization/generalization relationship in which objects of the specialized element (the child) are substitutable for objects of the generalized element (the parent)

BUILDING BLOCKS OF UML 3. Diagram The graphical representation of a set of elements Help to visualize a system from different perspectives May contain any combination of things and relationships.

UML DIAGRAMS Diagrams used to describe structure Class diagram Object diagram Component diagram Deployment diagram Diagrams used to describe behavior and Function Use Case diagram (functional) Sequence diagram Activity diagram Collaboration diagrams Statechart diagram

Commonly Used UML Diagrams The most commonly used UML diagrams are: Use case diagram, describing how the system is used. The starting point for UML modeling. Activity diagram. Each use case may create one activity diagram.

Commonly Used UML Diagrams Sequence diagram, showing the sequence of activities and class relationships. Each use case may create one or more sequence diagrams. A collaboration diagram is an alternative to a sequence diagram.

Commonly Used UML Diagrams Class diagram, showing classes and relationships. Sequence diagrams and CRC cards are used to determine classes. Statechart diagram. Each class may create a statechart diagram, useful for determining class methods.

Overview of UML Diagrams

RULES OF UML UML s building blocks should be put together to develop a well-formed model. A model that is semantically self-consistent and in harmony with all its related models. The UML has semantic rules for Names: What you can call things, relationships,and diagrams Scope:The context that gives specific meaning to a name. Visibility: How those names can be seen and used by others Integrity:How things properly and consistently relate to one another. Execution:What it means to run or simulate a dynamic model.

Requirement gathering Requirements gathering team The role of SMEs Fundamental requirements gathering techniques Brainstorming Interview Documents Observation 11/23/2015 19

Functional Model Use Case Diagram Essential System 11/23/2015 20

USE CASE MODEL Use Case analysis is one of the first and primary means of gathering requirements in the behavioral methodology. Use cases are a standard technique for gathering requirements in many modern software development methodologies. Used to capture the intended behaviour of the system under development (requirements of a system) The Use case diagram is used to identify the primary elements and processes that form the system. 21

Cont Represents the functional requirements of a system under development Captures the business processes carried out in the system A use case model may consists of Single use case diagram Further (nested) packages of use case diagrams The supreme package of the nested packages is the use case model

Cont.. Use case Modeling could be Essential Used at requirement elicitation stage Technology free Just to understand what users need to see on the system from functions point of view System Is a continuation of essential use case Adding implementation related details 11/23/2015 23

Use case Modeling The system use case talks more about more or less same concept like the essential use case with some details of the implementation. The modeling will be influenced by the technology to be used for the systems development. System use case model is composed of the system use case diagram and its corresponding documentation. The use case diagram and the documentation will have same components as the essential use case model with little technology influence.

Components Diagram with the following components Actors Use cases Boundary Relationship (Associations, include or use, Extend) Documentation For each use case using the standard template

USE CASE DIAGRAM Shows the relationship between actors and use cases in a system A use case diagram for a system consists of : The system boundary Actors Use cases Relationships (among use cases, among actors, and between actors and use cases) 26

On-line Bookstore System Register Customer Order books Sell used books Use Case Functional Requirements Diagram Review books 27

What is the difference with the previous use case? Sell Item Sales Clerk Reorder <<Includes>> Login Add to Stock <<Includes>> <<Includes>> Generate Report Manager

Cont The Use Case documentation needs information like: List of Actors List of Business Rules (BR) List of User Interfaces (UI) The template will be the same as the essential use case documentation except that the Include and Extend part will be exercised (included) at this level. The following example describes one of the use cases documentation from the previous use case diagram.

Use case documentation Name Identifier Description Actor Pre Condition Post Condition Sell Item UC-008 Sell available items in a store to a customer Sales Clerk none The sales clerk will sell the item if available in store Extends none Includes UC-001 Basic Course of Action 1.The Sales Clerk want to sell an item 2.The Sales Clerk logs into the systemusing UC-001: Login 3.The systemdisplays the main Window UI-002: Main Menu 4.The Sales Clerk selects Sell from the Main Menu 5.The systemdisplays the Sell interface UI-006: Sell Item 6.The Sales Clerk selects the items and quantity he want to sell 7.The systemcheck the availability of the items according to the business rule BR-012: check availability ofitem 8.The systemdisplays the total amount of money to be paid with the item list via UI-013: Payment Voucher 9.The Sales Clerk indicates he want toprint the payment voucher. 10.The systemprints the payment voucher 11.The use case ends when the Sales clerk receive the money and give the payment voucher to customer. Alternative Course of Action A: The item is not available in store 8.The systemdetermines that the item is not available. 9.The systeminforms the Sales Clerk that the transaction can not be completed via UI-014: Item Quantity not Available 10.The use cases resumes at step 6 of the basic course of action

Cont Note Association between Actors and Use cases dictate the need for Interfaces (screen or Report) Use case description does not include unexpected interruption of the action either by the actor or by system failure The flow of events should be in actionresponse style.

General steps in Use case Modeling Identify actors from the SRS or problem definition Identify use cases Identify relationships Use symbols for representing use cases and actors with in a boundary Define use case description 11/23/2015 32

Actor An actor define roles that users can play. Actors model anything that needs to exchange information with the system The different roles the actor represents are the actual business roles of users in a given system. An actor in a use case diagram interacts with a use case. 33

Actor Actors are external to the system. Actors interact with the system. Actor classes have actors instances or objects that represent specific actors. An actor is shown as a stick figure in a use case diagram depicted "outside" the system boundary. To identify an actor, search in the problem statement for business terms that portray roles in the system. Doctor Patient Student 34

USE CASES A use case is a specific way of using the system by performing some part of the functionality. A visual representation of a distinct business functionality in a system. The business process is discrete in nature. A use case describes what a system does; not how. List the discrete business functions in your problem statement - potential use case. Remember that identifying use cases is a discovery rather than a creation. 35

USE CASES A use case is shown as an ellipse in a use case diagram Make Appointment Perform Medical Tests Use cases have the following characteristics: Use case are interactions or dialogs between a system and actors, including the messages exchanged and the actions performed by the system. Use cases may include variants of these sequences, including alternative and exception sequences. Use cases may be initiated by actors and may involve the participation of numerous other actors. Use cases may have extension points that define specific points within an interaction at which other use cases may be inserted Use cases classes have use case instances or objects called scenarios that represent specific interactions. 36

Use-Cases: describing how the user will use the system A use case is a typical sequence of actions that a user performs in order to complete a given task The objective of use case analysis is to model the system from the point of view of how users interact with this system when trying to achieve their objectives. It is one of the key activities in requirements elicitation and analysis 37

Use cases A use case should Cover the full sequence of steps from the beginning of a task until the end. Describe the user s interaction with the system... Not the computations the system performs. Be written so as to be as independent as possible from any particular user interface design. Only include actions in which the actor interacts with the computer. 11/23/2015 38

Scenarios A scenario is an instance of a use case A specific occurrence of the use case a specific actor... at a specific time... with specific data. 11/23/2015 39

RELATIONSHIPS Relationships between cases actors and use are represented by directional or nondirectional edges May be annotated by stereotypes May relate two use cases May relate two actors, or May relate a use case and an actor 40

RELATIONSHIPS Association denoted as solid lines or paths. Arrowheads may be used to indicate who initiates communication in the interaction. Includes Indicates that the base use case will contain the inclusion use case. A base use case defines the location at which the inclusion use case is included. Denoted as dashed lines with an open arrow-head pointing at the inclusion use case and are labelled with the <<include>> keyword (stereotype). 41

RELATIONSHIPS Extends Indicates that the base use case may be augmented by the extension use case; i.e., the inclusion use case will augment the base use case if an extension condition is satisfied. A base use case defines the extension point. Denoted as dashed lines or paths with an open arrow-head pointing an extension use case labelled with the extension condition in square brackets, the <<extend>> keyword (stereotype),and the extension point name in parentheses. 42

RELATIONSHIPS Generalization From specialization to generalized use case Indicate the specialization use cases are consistent with the generalized use case and may add additional information. A specialized use case may be used in place of a generalized use case and may use any portions of the interaction of the generalized use case. Denoted as solid lines or paths with a hollow arrow-head pointing at the generalized use case. From specialization to generalized Actor The specialized actor are consistent with the generalized actor and may add additional information. A specialized actor may be used in place of a generalized actor and receives the characteristics of the generalized actor. Denoted as solid lines or paths with a hollow arrow-head pointing at the generalized actor. 43

RELATIONSHIPS Place Order set priority «extends» Place rush oder <<includes>> Check password Track Order <<includes>> Validate User Retinal Scan 44

System Boundary The use case describes the functionality of a system from an outside point of view from the users point of view. Only the interaction between actors and system are shown, what happens inside the system is hidden. This boundary is clarified by the system boundary Defines the scope of what a system will be. A system boundary of a use case diagram defines the limits of the system. The system boundary is shown as a rectangle spanning all the use cases in the system 45

SYSTEM BOUNDARY A use case diagram depicting the system boundary of a clinic application Clinic Patient * * Make Appointment * * Perform Medical Tests Doctor 46

RELATIONSHIPS Library User (Patron) Faculty Members NonAcademic Staff Students External User 2ndYear 3rdYear 4thYear 5thYear Postgraduate 47

FLOW OF EVENTS Specify the behavior of a use case by describing the flow of events in text clearly enough for an outsider to understand it easily. Include How and when the use case starts and ends When the use case interacts with the actors What objects are exchanged The basic flow and alternative flows of the behavior 48

HINTS AND TIPS A well-structured use case diagram Is focused on communicating one aspect of a system s static use case view. Contains only those use cases that are essential to understanding that aspect. Provides detail content with its level of abstraction. Is not so minimalist as to misinform the reader about semantics that are important. 49

A Library System Online library system desired to keep record of new books, CD, and journal and track when they are borrowed and returned The system must support the librarian work to add delete and update library properties. The library is open to university staff and students. University staff can borrow up to 25 different items and students can borrow up to 15. The system shall allow users to search and borrow an item if available 50

Example: On-line Bookstore is a web application that can be accessed by the store s registered customer, whereby each customer can order books, review one or more books sold in the book store, and sell used books to other customers. Before performing any one of these transactions, the customer must first log-in into the system using their user id and password kept in their account. The customer can also take a book he/she ordered. Problems: Develop a use case model(system use case)-provide your reason to pick one as a component of your model Document one of the use cases you have identified sell used book

On-line Bookstore System Register Customer Order books <<extend>> (CustID) <<include>> Check out Sell used books <<include>> <<include>> Log-in Review books 52

Use case: Sell used books Main flow of events: - 1. The CUSTOMER clicks the Sell Used Books button on the Home Page. 2. The system displays the sell used books web page. 3. The CUSTOMER enters the required information on the used books that he/she wants to sell. 4. The CUSTOMER clicks the SEND button on the webpage. 5. The system displays a confirmation page listing the information that the CUSTOMER has entered. 6. The CUSTOMER checks that the information displayed are accurate. If yes, the CUSTOMER clicks the OK button on the web page. 7. The system updates the USED BOOKS table in the database. 53

The benefits of basing software development on use cases They can Help to define the scope of the system Be used to plan the development process Be used to both develop and validate the requirements Form the basis for the definition of test cases Be used to structure user manuals 11/23/2015 54

Use cases must not be seen as a solution The use cases themselves must be validated Using the requirements validation methods. Some aspects of software are not covered by use case analysis. Innovative solutions may not be considered. 11/23/2015 55

Exercise-one The clock shows the time of day. Using buttons, the user can set the hours and minutes fields individually, and choose between 12 and 24-hour display. It is possible to set one or two alarms. When an alarm fires, it will sound some noise. The user can turn it off, or choose to snooze. If the user does not respond at all, the alarm will turn off itself after 2 minutes. Snoozing means to turn off the sound, but the alarm will fire again after some minutes of delay. This snoozing time is pre-adjustable. Q: Identify the top-level functional requirement for the clock, and model it with a use case diagram. 11/23/2015 56

Exercise-two Open Road Insurance (ORI) is an independent agency that receives policy contracts from various insurance companies. The purpose of the ORI system is to provide automotive insurance to car owners. Initially, a customer applies for coverage via an application. The agency requests a driver s record report from the local police department. The agency also requests vehicle registration confirmation from the Department of Motor Vehicles. An agent determines the best policy for the type and level of coverage desired and sends the customer a copy of the insurance policy along with an insurance coverage card. The customer information is stored. Periodically, the system generates a fee statement, which along with addendums to the policy is sent to the customer, who responds by sending in a payment with the fee stub. 11/23/2015 57

Guide Lines Ask who, what, and where about the tasks and their inputs and outputs: What are the major tasks performed? What triggers this task? What tells you to perform this task? What information/forms/reports do you need to perform this task? Who gives you these information/forms/reports? What information/forms/reports does this produce and where do they go? 11/23/2015 58