UML - Development Process 1 Software Development Process Using UML.

Slides:



Advertisements
Similar presentations
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Advertisements

Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
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.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Use Case Analysis – continued
SE 555 Software Requirements & Specification Requirements Analysis.
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
Chapter 10 Architectural Design
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
UML - Development Process 1 Software Development Process Using UML (2)
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
UML Basic Behavioral Modeling Part I
Intro: Use Case and Use Case Diagram Documentation.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML-1 3. Capturing Requirements and Use Case Model.
Object Oriented Methodologies
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
UML-1 8. Capturing Requirements and Use Case Model.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
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 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Use Case Model Use case description.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
 Sequence Diagrams Introduction.  Sequence Diagrams  Review Schedule Sheridan.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Systems Analysis and Design in a Changing World, Fourth Edition
UML Use Case Diagrams.
Unified Modeling Language
Object Oriented Analysis and Design
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Use Case Modeling Part of the unified modeling language (U M L)
Use Case Analysis – continued
Software Development Process Using UML Recap
Presentation transcript:

UML - Development Process 1 Software Development Process Using UML

UML - Development Process 2 Software Development Methods  consist of - a set of modeling notations (graphical or textual) a process (technique) for generating models +  typically identify analysis and design as major substeps  process and models should be tightly integrated  should include extensive CASE tool support  should provide usage guidelines and heuristics  typically defined by one or more books

UML - Development Process 3 Software Development Best Practices Proven approaches to software development  Iterative Development  Manage Requirements  Component Based Architecture  Visually Model Software  Control Changes to Software

UML - Development Process 4 Iterative and incremental process Continuous discovery, invention and implementation Project Risks identified early Clarify Requirements early Enables user feedback Continuous Testing enables objective assessment of project Team workload spreaded-out evenly Lessons Learned used to improve process in later iterations

UML - Development Process 5 Use-Case Driven Use Case Model describes complete system functionality Replaces traditional functional specification of the system Used not only for requirements capture, but all along the development process:  Developers create development and implementation models based on UC  Developers review each successive model for conformance to UC  Testers test implementation to ensure it correctly implements UC Each iteration is driven by selected use cases through all activities from requirement to design and testing resulting in an increment

UML - Development Process 6 Requirements Capture

UML - Development Process 7 Use Case Model Model of the system's intended functions and its surroundings Serves as contract between customer and developers. Serve as a unifying thread throughout system development. Result of the Requirements workflow Used as input to Analysis & Design and Test workflows.

UML - Development Process 8 Detail Use Cases Start with a short, step-by-step description of the use-case flow of events, and gradually make it more detailed. Describe how the use case start and what is the signal that activates the use case. Describe how the use case terminate Describe what will reside inside the system, and what will reside outside the system.

UML - Development Process 9 Detail Use Cases (cont.) Describe the interaction between use case and actors. Describe how the use case exchange data with an actor. Describe any optional situations in a use case's flow of events

UML - Development Process 10 Use Case Details Name  The name of the use case. Brief Description  A brief description of the role and purpose of the use case. Flow of Events  A textual description of what the system does in regard to the use case. Understandable by the customer. Include the main flow of events as well as the alternate flow of events Special Requirements  A textual description that collects all requirements, such as non-functional requirements, on the use case, that are not considered in the use-case model, but that need to be taken care of during design or implementation.

UML - Development Process 11 Use Case Details Preconditions  A textual description that defines the state of the system prior to the use case may being performed. Postconditions  A textual description that defines a list of possible states the system can be in immediately after a use case has finished. Extension points  A list of locations within the flow of events of the use case at which additional behavior can be inserted using the extend- relationship. Relationships  The relationships, such as communicates-associations, include-, generalization-, and extend-relationships, in which the use case participates.

UML - Development Process 12 Use Case Details - Example Name : Register for Courses Description: This use case is started by the actor student. It provides the capability for the student to manage his registration to a course for a semester, and to have the billing information sent to the Billing Office. Main Flow of Events: The student enters his Id. The system verifies the student Id, and prompt the student to select the current or a future semester. The student selects the semester. The system prompts the student to select the desired activity (create a registration, review a registration, change a registration). Once completed the student indicates that the activity is completed. The system acknowledge and displays the result of the activity. The system sends the billing information to the billing system for processing. Alternative Flow of Events: 1- If an invalid Id is entered, the system will not allow access to the registration system and displays an error message to the student.

UML - Development Process 13 Use Case Details – Example (cont.) Special Requirements: The student should be able to access the system through the web. It should take less than 30 seconds to display the web page. A student can register to a maximum of 5 courses per semester. Pre-Conditions: The system is operational. Post-Conditions: The student information has been updated. His bill is sent. Extension Points: None Relationships: None

UML - Development Process 14 Prioritize Use Cases Goals:  Define the set of scenarios and use cases to be implemented in each iteration. Prioritization  Define the set of scenarios and use cases that represent some significant, central functionality.  Define the set of scenarios and use cases that have a substantial architectural coverage or that stress or illustrate a specific, delicate point of the architecture.  Assess which use cases help mitigate high risk items

UML - Development Process 15 Object Modeling Goals:  Identify the key abstractions that the system must handle.  Identify the classes which perform a use case’s flow of events.  Distribute the use case behavior to those classes, using use-case realizations.  Identify the responsibilities, attributes and associations of the classes.

UML - Development Process 16 Find Classes from Use Cases Find Entity Classes stores of information in the system typically used to represent the key concepts Find Boundary Classes User interface classes classes which intermediate communication with human users of the system System interface classes classes which intermediate communication with other system Device interface classes classes which provide the interface to devices (such as sensors), which detect external events Find Control Classes Control classes provide coordinating behavior in the system

UML - Development Process 17 Enforce Consistency For each new class found, make sure that there is no other class with same responsibility As new classes are found, ensure they have consistent and unique responsibility. Otherwise split the object into two A class with only one responsibility is not a problem, per se, but it should raise questions on why it is needed. Be prepared to challenge and justify the existence of all classes.

UML - Development Process 18 Analysis In depth Analyze of requirements: Scenario Diagram from Use Cases Structure the Use Cases Start reasoning about the internal of the system Understand the main concepts of the problem Focus on what is the problem not how to solve it Develop Analysis Model: Class Diagram Three main types of classes stereotypes may be used:  Boundary Classes: used to model interaction between system and its actors  Entity Classes: used to model information and associated behavior deirectly derived from real-world concept  Control Class: used to model business logic, computations transactions or coordination. Use Interaction Diagram to distribute behavior among classes

UML - Development Process 19 Initial Process Planning  Overall iteration numbers and iteration time Use Case Model  Description of all use cases  Prioritization of all use cases  Detailing of high priority use cases  Nominal path  Few alternatives scenarios Object Model  Start with Entity Classes Sequence Model  Nominal scenario of high priority use cases  Identify Boundary and control classes Refine Class Model