Welcome to M301 P2 Software Systems & their Development

Slides:



Advertisements
Similar presentations
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Documenting Requirements using Use Case Diagrams
Use Case Modeling.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
USE Case Model.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
® 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.
Data Flow Diagram A method used to analyze a system in a structured way Used during: Analysis stage: to describe the current system Design stage: to describe.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
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.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
What is a Structural Model?
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 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
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.
Essentials of OVID Using UML based notation to capture system requirements and design.
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 - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
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.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Chapter 5 – System Modeling
Systems Analysis and Design in a Changing World, Fourth Edition
Analysis Classes Unit 5.
Chapter 5 System modeling
Chapter 5 – System Modeling
Object-Oriented Analysis and Design
Sequence Diagrams.
M.M. Pickard, PhD A Primer on Use Cases (Reference: UML Superstructure Specification, v2.1.1)
Use Case Model.
Unified Modeling Language
Object oriented system development life cycle
System Modeling Chapter 4
CASE STUDY BY: JESSICA PATRON.
Sequence Diagrams.
Object-Oriented Analysis
Chapter 9 Requirements Modeling: Scenario-Based Methods
Lecture 4: Activity Diagrams
Use Case Modeling.
Concepts, Specifications, and Diagrams
Seminar 3 UML Class Diagram.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Chapter 9 Use Cases.
Object Oriented Analysis and Design
Use Cases 1.
IS0514 Lecture Week 3 Use Case Modelling.
Software Design Lecture : 15.
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Seminar 2 Design of Informatics Systems
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Engineering Quality Software
Use Case Modeling Part of the unified modeling language (U M L)
Chapter 4 System Modeling.
Week 8 Lecture 1: Identifying Actors and Activities
Presentation transcript:

Welcome to M301 P2 Software Systems & their Development Mrs. Hala Dernayka email: halamd@hotmail.com (Subject: AOU) Tel: 0559227478 Sat-Wed 10:00 AM-1:00 PM Thur 4:00 PM-8:00 PM O.H. to be set. AOU

Basic Object-oriented Software Development with UML Block 4 Basic Object-oriented Software Development with UML

Unit 2 Uses Cases Section 1: Simple Use Case Models Section 2: More details on Use Case models Section 3: Modeling user's routines Section 4: Getting users involved

Simple Use Case Models Emphasis on the user: Use Case model is important 1. Helps in modeling the requirements of a software system; 2. Acts as a discussion tool between developer and user; 3. Offers a common language for agreeing the functions of the software system.

The use cases for a software system are a record of the system behavior that is visible to its users. This behavior is what the system does when responding to the events that arise from its interaction with a set of actors. Actor is anything outside a software system that interacts with it. Actor could be human (e.g. User) or non-human (e.g. software system, device)

Example: (Hotel chain)

A use case diagram should be: A concise representation of the main tasks & their relevant users. Concentrates on What system will do not on How. Actors  in situation where two or more actors are associated with a use case, one of them must initiate the actions and the other(s) will play a passive role. Use cases  we need to have a good idea about what each use case mean.

Use cases can take two forms

Scenarios are instances of a use case Scenarios are instances of a use case. A use case is a related set of scenarios. Scenario describes a sequence of interaction between the system and some actors. For a given use case there is One main success scenario describing the flow of event leading to a successful conclusion. (e.g. Ali wants to reserve a room at Hilton for a 15/11  found & made reserve) May be other scenarios describing alternative or additions to the main scenario. (e.g. No free room on that date present an option to Ali) You have to record information for each use case not just for the main success scenario; but for all the relevant scenarios.

Description of use case should include: Unique identifier for the use case (for traceability). The name of the initiator actor. Description of the goal of the use case. A single sequence of steps describing the main success scenario. Description of the pre- and post- conditions.

Example (make reservation) Identifier and Name UC_1 Make reservation Initiator Guest or Receptionist Goal Reserve a room at a hotel for a guest Pre-condition None (there are no conditions to be satisfied prior to carrying out this use case) Post-condition A room of the desired type will have been reserved for the guest for the requested period and the room will no longer be free for that period. Assumptions The expected initiator is a guest using an Internet browser to perform the use case. The guest is not already known to the hotel’s software system (see step 5).

Main success scenario 1 The guest requests to make a reservation. 2 The guest selects the desired hotel, dates and type of room. 3 The hotel system provides the availability and price for the request.(An offer is made.) 4 The guest agrees to proceed with the offer. 5 The guest provides identification and contact details for the hotel system’s records. 6 The guest provides payment details. 7 The hotel system creates a reservation and gives it an identifier. 8 The hotel system reveals the identifier to the guest. 9 The hotel system creates a confirmation of the reservation and sends it to the guest.

Use cases in development activities Use cases help in requirement capture (by identifying actors & tasks in the system). Use cases help in development (by helping the developer to plan delivery times). Use cases help in validating the system (each use case is examined to check that the system supports the functionality of the task).

General Observation A good 1st step is to establish the context for the proposed system by: Identifying the actors. 2. Investigating the behavior that each actor will expect from the proposed system  form the use cases for your model.

More details on Use Case models More about actors Actors are outside the boundary of a software system. If you need to record information about actor  include it in your class diagram.   In UML, a classifier is a discrete concept in a model. (e.g. Use Cases, actors, classes, data types) UML provides a notation to use generalization between actors, by using the noun from the verb used to identify the use case.

Roles that People Play

Modeling the relationship between use cases There are two situations when you consider adding new use cases to your diagram : 1:To identify a common task between two or more use cases. 2:To record any alternatives or additions to the main success scenario.   What is a stereotype? A stereotype is a way of attaching extra classifications to a model. It can be user-defined  a way of extending the UML <<….>> 

UML notation denote Purpose Example Advantages Two stereotypes UML notation <<include>> <<extend>> denote Indicates a situation where a use case is reused. Indicates a conditional extension to the original use case  alternative behavior. Purpose To demonstrate commonality between tasks  reuse can be achieved. To separate out a special case. Example Record the shared behavior in a new use case and connect it to the use cases that it came from with an open-headed, dashed arrow. You should add a condition to each extension point to specify when the behavior will be included. Advantages Simplify the original use cases  easier to understand. Reusability.

<<include>>

<<extend>> Case 1

<<extend>> Case 2

Problems with use cases The main source of confusion for the developer who has been asked to produce a use case diagram for a potential software system is the separation of the problem from its potential solution. Problems rose when a software system is developed from a set of use cases System may end up being a top-down function-oriented system  Inflexible & difficult to maintain Possibility of missing source requirements because not all the requirements will emerge in this process.

Conclusion A developer should use more than one model of a proposed system. (e.g. class modeling should be performed alongside use case modeling since one informs the other). Use cases help mainly with requirements capture & testing but not with the design. Many tasks involved in preparing a use case diagram: Identifying actors Analyze the behavior that each actor expects from system (identify use cases) Identify common behavior and variations (<<include>> and <<extend>>) Draw a model (use cases, actors, relationship between them) Improve your model as you learn more about requirements

Modeling user's routines Understanding the problem domain Each use case represent a task: consists of a number of actions to complete the task. An activity diagram is used to model the coordination and sequencing of actions in order to achieve a given purpose. Can also be extended to show which actor is responsible for which activity. Help investigate the flow of control from one activity to another. Help in understanding the basic behavior of a system. Can be used to model concurrent systems. Can record scenarios of use cases.

Example

Activity diagrams & workflows Activity diagram can help: Identifying the stages at which the actors require some interaction with the proposed software system   Workflow  a flow of activities. To model a workflow it is possible to identify which actor is responsible for a particular activity  by partitioning an activity diagram into swimlanes (one swimlane for each role)

Example

Getting users involved Prototyping for and with user The main uses of prototyping: A way to improve the analysis of requirements Help with design of user interface Getting users involved with the development of the software system  Minimize misunderstanding & errors.

Activity diagram for the prototyping process: A prototype is not intended to be a complete working version of the software system.

General Note: Final Note: No single type of model is adequate to describe a good software system. You need a variety of types of model since each model type has its own strengths & weaknesses. Final Note: This Block depends on your reading of more examples to achieve good understand of the material concepts…

End of the Second meeting