Object-Oriented Analysis Principles using UML

Slides:



Advertisements
Similar presentations
Robert B. Jackson Brigham Young University John W. Satzinger
Advertisements

Use cases.
Information System Engineering
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
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..
Object-Oriented Analysis and Design
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
Use-case Modeling.
Object Oriented Analysis Process
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Chapter 6 Functional Modeling
Functional Modeling Chapter 6.
Use Case Analysis – continued
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
Systems Analysis and Design in a Changing World, Fifth Edition
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
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.
Unit-3 Identifying use cases Object Analysis Classification Identifying Object relationships Attributes and Methods.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
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 Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Unit-3 Identifying use cases Object Analysis Classification
Introduction to UML Todd Bacastow Rational Unified Process A process for the effective implementation of key “Best Practices” Control Changes Manage.
UML - Development Process 1 Software Development Process Using UML.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Documentation An effective document can serve as a communication vehicle among the project's team members, or it can serve as initial understanding of.
Developing Business Processes Developing an activity diagram of the business processes can provide us with an overall view of the system.
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.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
5 Chapter 5: Modeling Systems Requirements: Events and Things Systems Analysis and Design in a Changing World.
Unit-3 Identifying use cases Object Analysis Classification
Systems Analysis and Design in a Changing World, Fourth Edition
An Overview of Requirements Engineering Tools and Methodologies*
Chapter 4: Business Process and Functional Modeling, continued
Use Case Driven Analysis
Recall The Team Skills Analyzing the Problem (with 5 steps)
Use Case Model.
Unified Modeling Language
UNIT-III object-oriented analysis process
Use Case Model Use case diagram.
Week 10: Object Modeling (1)Use Case Model
Requirements: Use Case Models and Narratives
Abstract descriptions of systems whose requirements are being analysed
Object-Oriented Analysis
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Systems Analysis and Design With UML 2
Object Oriented Analysis and Design
Software Design Lecture : 15.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Object-Oriented Software Engineering
Use Case Modeling Part of the unified modeling language (U M L)
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Use Case Analysis – continued
Software Development Process Using UML Recap
Use cases Dr. X.
Presentation transcript:

Object-Oriented Analysis Principles using UML Dr. Santosh Kumar Swain Associate Professor School Of Computer Engineering KIIT , Bhubaneswar. 8/30/2018 8/30/2018 1 1

Agenda Identifying Use Cases Object Analysis: Classification Identifying object relationships, Attributes and Methods. 8/30/2018

1.Object oriented analysis Process: Identifying Use cases

What Is Analysis? Analysis is the process of transforming a problem definition from a fuzzy set of facts and myths into a coherent statement of a system’s requirements. 8/30/2018

Analysis The main objective of the analysis is to capture: a complete, unambiguous, and consistent picture of the requirements of the system and what the system must do to satisfy the users' requirements and needs. 8/30/2018

Where Should We Start? 1. Examination of existing system documentation. 2. Interviews. 3. Questionnaire. 4. Observation. 8/30/2018

Requirements Difficulties Three most common sources of requirements difficulties are: 1. Incomplete requirements. 2. Fuzzy descriptions (such as fast response). 3. Unneeded features. 8/30/2018

The Object-Oriented Analysis (OOA) Process The process consists of the following steps: 1. Identify the actors: Who is using the system? Or, in the case of a new system, who will be using system? 8/30/2018

The OOA Process (Con’t) 2. Develop a simple business process model using UML activity diagram. 8/30/2018

The OOA Process (Con’t) 3. Develop the use case: What the users are doing with the system? Or, in the case of a new system, what users will be doing with the system? Use cases provide us with comprehensive documentation of the system under study. 8/30/2018

The OOA Process (Con’t) 4. Prepare interaction diagrams: Determine the sequence. Develop collaboration diagrams. 8/30/2018

The OOA Process (Con’t) 5. Classification—develop a static UML class diagram: Identify classes. Identify relationships. Identify attributes. Identify methods. 8/30/2018

The OOA Process (Con’t) 6. Iterate and refine: If needed, repeat the preceding steps. 8/30/2018

Developing Business Processes Developing an activity diagram of the business processes can provide us with an overall view of the system. Business process modeling can be very time consuming, so the main idea should be to get a basic model without spending too much time on the process. The advantage of developing a business process model is that it makes you more familiar the system and therefore the user requirements and also aids in developing use cases. 8/30/2018

Use Case Model Some Definitions Use cases are scenarios for understanding system requirements. The use-case model describes the uses of the system and shows the courses of events that can be performed. Some Definitions User – Human Users + Other Systems Use Case – A piece of functionality Use-Case Model – All the use cases Use-Case Driven – Development process follows a flow 8/30/2018

Use case Driven Product development is Use case driven: Capture the user’s needs (requirements - in users context) - Helps in Project Scheduling Analyse to specify the needs Design to realize the needs Implement to implement the needs Test to verify the needs Test Verified by Use cases Implementation Implemented by Design Realized by Analysis Specified by 8/30/2018

Use Case Model (Con’t) Use case defines what happens in the system when a use case is performed. The use-case model tries to systematically identify uses of the system and therefore the system's responsibilities. 8/30/2018

Use Cases Under the Microscope "A Use Case is a sequence of transactions in a system whose task is to yield results of measurable value to an individual actor of the system." What is a Use Case again? 8/30/2018

Use Case Key Concepts Use case. Use case is a special flow of events through the system. Actors. An actor is a user playing a role with respect to the system. In a system. This simply means that the actors communicate with the system's use case. Remember, when dealing with actors, it is important to think about roles rather than just people and their job titles.

Use Case Key Concepts (Con’t) A measurable value. A use case must help the actor to perform a task that has some identifiable value. Transaction. A transaction is an atomic set of activities that are performed either fully or not at all.

Use Associations The use association occurs when you are describing your use cases and notice that some of them have common subflows. The use association allows you to extract the common subflow and make it a use case of its own. A use-case description can be difficult to understand if it contains too many alternatives or exceptional flows of events that are performed only if certain conditions are met as the use-case instance is carried out. A way to simplify the description is to take advantage of extends and uses associations. The extends and uses associations often are sources of confusion, so let us take look at these relationships.

Extends Associations The extends association is used when you have one use case that is similar to another use case but does a bit more or Is more specialized; in essence, it is like a subclass.

The similarity between extends and uses associations is that both can be viewed as a kind of inheritance. When you want to share common sequences in several use cases utilize the uses association by extracting common sequences into a new, shared use case. The extends association is found when you add a bit more specialized, new use case that extends some of use cases that you have. 8/30/2018

Fully Developed Use Case Description Use Case Name: Checkout Movies Scenario: Checkout movies at counter Triggering Event: Customer brings movies to checkout counter Brief Description: When customer brings movies to counter, clerk checks membership ID, clerk scans in each movie identifier, takes payment, and notifies customer of return due date and time. Actors: Video clerk Related Use Cases: Add new member Stakeholders: Clerk, Store manager Preconditions: Movie titles must exist Movie copy must exist Customer must exist (or Add new member must be invoked) Postconditions: Video Rental and rental line items must be created Payment transaction must be created Status of movie copy must be updated Video Rental must be connected to customer family member 8/30/2018

Identifying the use cases: Goals The use-case approach to object-oriented analysis and the object-oriented analysis process. Identifying actors. Identifying use cases. Documentation. 8/30/2018

Identifying the Actors The term actor represents the role a user plays with respect to the system. When dealing with actors, it is important to think about roles rather than people or job titles. A user may play more than one role. For instance, a member of a public library also may play the role of volunteer at the help desk in the library. 8/30/2018

Identifying the Actors (Con’t) Candidates for actors can be found through the answers to the following questions: Who is using the system? Or, Who is affected by the system? Or, Which groups need help from the system to perform a task? 8/30/2018

Identifying the Actors (Con’t) Who affects the system? Or, Which user groups are needed by the system to perform its functions? These functions can be both main functions and secondary functions, such as administration. Which external hardware or other systems (if any) use the system to perform tasks? 8/30/2018

Identifying the Actors (Con’t) What problems does this application solve (that is, for whom)? And, finally, how do users use the system (use case)? What are they doing with the system? 8/30/2018

Guidelines for Finding Use Cases For each actor, find the tasks and functions that the actor should be able to perform or that the system needs the actor to perform. Name the use cases. Describe the use cases briefly by applying terms with which the user is familiar. 8/30/2018

Separate Actors From Users Each use case should have only one main actor. Isolate users from actors. Isolate actors from other actors (separate the responsibilities of each actor). Isolate use cases that have different initiating actors and slightly different behavior. 8/30/2018

Documentation An effective document can serve as a communication vehicle among the project's team members, or it can serve as initial understanding of the requirements. 8/30/2018

Effective Documentation: Common Cover All documents should share a common cover sheet that identifies the document, the current version, and the individual responsible for the content.

80–20 Rule 80 percent of the work can be done with 20 percent of the documentation. The trick is to make sure that the 20 percent is easily accessible and the rest (80 percent) is available to those (few) who need to know. 80%-20%

Familiar Vocabulary Use a vocabulary that your readers understand and are comfortable with. The main objective here is to communicate with readers and not impress them with buzz words. 8/30/2018

Make the Document as Short as Possible Eliminate all repetition; Present summaries, reviews, organization chapters in less than three pages; Make chapter headings task oriented so that the table of contents also could serve as an index. 8/30/2018

Organize the Document Use the rules of good organization (such as the organization's standards, college handbooks, Strunk and White's Elements of Style, or the University of Chicago Manual of Style) within each section. 8/30/2018

Summary The main objective of the analysis is to capture a complete, unambiguous, and consistent picture of the requirements of the system. Construct several models and views of the system to describe what the system does rather than how. 8/30/2018

Summary (Con’t) Capturing use cases is one of the first things to do in coming up with requirements. Every use case is a potential requirement. 8/30/2018

Summary (Con’t) The key in developing effective documentation is to eliminate all repetition; present summaries, reviews, organization chapters in less than three pages. Use the 80–20 rule: 80 percent of the work can be done with 20 percent of the documentation. 8/30/2018