Presentation is loading. Please wait.

Presentation is loading. Please wait.

MODELING SYSTEM REQUIREMENTS WITH USE CASES

Similar presentations


Presentation on theme: "MODELING SYSTEM REQUIREMENTS WITH USE CASES"— Presentation transcript:

1 MODELING SYSTEM REQUIREMENTS WITH USE CASES
Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7th Edition, Shelly) This repository of slides is intended to support the named chapter. The slide repository should be used as follows: Copy the file to a unique name for your course and unit. Edit the file by deleting those slides you don’t want to cover, editing other slides as appropriate to your course, and adding slides as desired. Print the slides to produce transparency masters or print directly to film or present the slides using a computer image projector. Each slide includes instructor notes. To view those notes in PowerPoint, click-left on the View Menu; then click left on Notes View sub-menu. You may need to scroll down to see the instructor notes. The instructor notes are also available in hardcopy as the Instructor Guide to Accompany Systems Analysis and Design Methods, 6/ed.

2 Modeling System Requirements with Use Cases
Describe the benefits of use-case modeling. actors and use cases. the relationships that can appear on a use-case model diagram. the steps for preparing a use-case model. how to construct a use-case model diagram. the various sections of a use-case narrative and be able to prepare one. the purpose of the use-case ranking and priority matrix and the use-case dependency diagram. Chapter 7 objectives.

3 No additional notes

4 Significance The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is a difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. Fred Brooks

5 An Introduction to Use-Case Modeling
One of the primary challenges in a system design process: the ability to elicit the correct and necessary system requirements from the stakeholders and specify them in a manner understandable to them so those requirements can be verified and validated. Data and process models, prototypes, requirement specifications. Understood by designers but not by users. Leads to scope creep, schedule creep, cost overruns. Conversion Notes The material in this chapter is an expansion of material previously found in Chapter 6 and Module A. This slide explains the industry problem that this material addresses. Teaching Notes If possible, the instructor should share real-life experiences in misunderstood or mis-specified system requirements. To illustrate the inadequacy of data and process models, show the students some of the models from chapters 8 and 9. As them as novices if they can understand them.

6 IS Development Project Track Record
Teaching Notes This slide illustrates both the spotty track record of information system development and the fact that the the track record has been showing some limited signs of improvement. Over budget, late, or without needed features canceled before completion Source: The Standish Group International, Inc., “Chaos: A Recipe for Success”

7 User-Centered Development and Use-Case Modeling
User-centered development – a process of systems development based on understanding the needs of the stakeholders and the reasons why the system should be developed. Use-case modeling – the process of modeling a system’s functions in terms of business events, who initiated the events, and how the system responds to those events. Use-case modeling has roots in object-oriented modeling. Gained popularity in nonobject development environments because of its usefulness in communicating with users. Compliments traditional modeling tools. No additional notes

8 Benefits of Use-Case Modeling
Provides a tool for capturing functional requirements. Assists in decomposing system scope into more manageable pieces. Provides a means of communicating with users and other stakeholders concerning system functionality in a language that is easily understood. Provides a means of identifying, assigning, tracking, controlling, and management system development activities, especially incremental and iterative development. Provides an aid in estimating project scope, effort, and schedule. Provides a baseline for testing in terms of defining test plans and test cases. Provides a baseline for user help systems and manuals as well as system development documentation. Provides a tool for requirements traceability. Provides a starting point for the identification of data objects or entities. Provides functional specifications for designing user and system interfaces. Provides a means of defining database access requirements. Provides a framework for driving the system development project. Teaching Notes Using use-case modeling encourages user involvement. By the same token, for use cases to be successful participation by the user is imperative.

9 System Concepts for Use-Case Modeling
Use-case diagram – a diagram that depicts the interactions between the system and external systems and users. It graphically describes who will use the system and in what ways the user expects to interact with the system. Use-case narrative – a textual description of the business event and how the user will interact with the system to accomplish the task. Use case – a behaviorally related sequence of steps (a scenario), both automated and manual, for the purpose of completing a single business task. Description of system functions from the perspective of external users in terminology they understand. Teaching Notes use-case diagrams and use-case narratives are two views of the same sequence of steps that make up a conceptual use-case. The use-case diagram communicates at a high level the scope of the business events that make up the Use-case. The use-case narrative communicates at a more detailed level exactly how the user interacts with the system. A use-case itself is not considered a functional requirement, but the use-case’s story, or scenario, consists of one or more requirements.

10 Sample Use-Case Model Diagram
Teaching Notes Definitions for these symbols are on the next slide.

11 Basic Use-Case Symbols
Use case – subset of the overall system functionality Represented graphically by a horizontal ellipse with the name of the use case appearing above, below, or inside the ellipse. Actor – anything that needs to interact with the system to exchange information. Could be a human, an organization, another information system, an external device, or even time. Temporal event – a system event triggered by time. The actor is time. Teaching Notes Use cases are the results of deconstructing the scope of system functionality into many smaller statements of system functionality. Use cases describe the system functions from the perspective of external users and in the manner and terminology in which they understand. An actor initiates system activity, a use case, for the purpose of completing some business task. An actor represents a role fulfilled by a user interacting with the system and is not meant to portray a single individual or job title. Have students provide examples of temporal events (nightly download, monthly billing, etc.).

12 Four Types of Actors Primary business actor Primary system actor
The stakeholder that primarily benefits from the execution of the use case. e.g. the employee receiving the paycheck Primary system actor The stakeholder that directly interfaces with the system to initiate or trigger the business or system event. e.g. the bank teller entering deposit information External server actor The stakeholder that responds to a request from the use case. e.g. the credit bureau authorizing a credit card charge External receiver actor The stakeholder that is not the primary actor but receives something of value from the use case. e.g. the warehouse receiving a packing slip No additional notes.

13 Use Case Association Relationship
Association – a relationship between an actor and a use case in which an interaction occurs between them. Association is modeled as a solid line connecting the actor and the use case. Association with an arrowhead touching the use case indicates that the use case was initiated by the actor. Association lacking arrowhead indicates a receiver actor. Associations may be bidirectional or unidirectional. No additional notes.

14 Use Case Extends Relationship
Extension use case – a use case consisting of steps extracted from a more complex use case in order to simplify the original case and thus extend its functionality. Relationship between the extension use case and the use case it is extending is called an extends relationship. Represented as an arrowheaded line beginning at the extension use case and point to the use case it is extending. Each extends relationship line is labeled “<<extends>>.” No additional notes.

15 Use Case Uses Relationship
Abstract use case – a use case that reduces redundancy among two or more other use cases by combining the common steps found in those cases. An abstract case is available for use by any other use case that requires its functionality. Relationship between the abstract use case and the use case that uses it is called a uses (or includes) relationship. Depicted as an arrowheaded line beginning at the original use case and pointing to the use case it is using. Uses relationship line is labeled “<<uses>>.” No additional notes.

16 Use Case Depends On Relationship
Depends On – a use case relationship that specifies which other use cases must be performed before the current use case. Can help determine sequence in which use cases need to be developed. Depicted as an arrowheaded line beginning at one use case and pointing to a use case it is dependent on. Each depends on relationship line is labeled “<<depends on>>.” No additional notes.

17 Use Case Inheritance Relationship
Inheritance – a use case relationship in which the common behavior of two actors initiating the same use case is extrapolated and assigned to a new abstract actor to reduce redundancy. Other actors can inherit the interactions of the abstract actor. Depicted as an arrowheaded line beginning at one actor and pointing to the abstract actor whose interactions the first actor inherits. Teaching Notes Walk through the Before and After of this figure. Students should understand that though we have added an actor, we have decreased the interactions we have to model.

18 The Process of Use-Case Modeling
Objective: to elicit and analyze enough requirements information to prepare a model. The model communicates what is required from a user perspective. The model is free of specific details about how the system will be built or implemented. To effectively estimate and schedule project, a preliminary “system implementation assumptions” may be needed. Steps: Identify business actors. Identify business use cases. Construct use-case model diagram. Documents business requirements use-case narratives. Teaching Notes The individual steps will be discussed on the following slides.

19 Step 1: identify Business Actors
When looking for actors, ask the following questions: Who or what provides inputs to the system? Who or what receives outputs from the system? Are interfaces required to other systems? Are there events that are automatically triggered at a predetermined time? Who will maintain information in the system? Teaching Notes By focusing first on actors, you concentrate on how the the system will be used instead of how it will be built. Focusing on actors helps refine and further define the scope and boundaries of the system. Also, by first identifying actors you find candidates to interview and observe so you can develop and validate the use cases.

20 Sample List of Actors No additional notes.

21 Step 2: Identify Business Requirements Use Cases
During requirements analysis, strive to identify and document only the most critical, complex, and important use cases, often called essential use cases. When looking for use cases, ask the following questions: What are the main tasks of the actor? What information does the actor need form the system? What information does the actor provide to the system? Does the system need to inform the actor of any changes or events that have occurred? Does the actor need to inform the system of any changes or events that have occurred? No additional notes.

22 Sample Context Diagram
Teaching Notes A context diagram is an excellent source for analyzing actors and finding potential use cases. The primary inputs that trigger business events are considered use cases, and the external parties that provide those inputs are considered actors. Individual reports are often not listed on a context diagram to reduce clutter. The systems analyst must research with the appropriate stakeholders the outputs they receive to uncover these “hidden use cases.”

23 Sample Use-Case Glossary
No additional notes continued

24 Sample Use-Case Glossary
No additional notes continued

25 Sample Use-Case Glossary
No additional notes

26 Step 3: Construct Use-Case Model Diagram
Teaching Notes Note that the use cases have been grouped into business sub-systems. This is key to defining your development strategy – which use cases will be developed first and by whom.

27 Step 4: Document Business Requirements Use-Case Narratives
Use-Case Model Diagram documents first at high level to quickly obtain an understanding of the events and magnitude of the system. Then expand to a fully-documented business requirement narrative. Include the use case’s typical course of events and its alternate courses. No additional notes.

28 Sample High-Level Version of a Use-Case Narrative
Teaching Notes Author – the persons who wrote the use case and provide a point of contact for anyone requiring additional information. Date – the date the use case was last modified. Version – the current version of the use case. Use-case name – the use-case name should represent the goal that the use case is trying to accomplish. Should begin with a verb. Use-case type – Business requirements use cases provide a general understanding of the problem domain and scope but don’t include detail to communicate to developers what the system should do. Use-case ID – A unique identifier for the use case. Priority – The priority communicates the importance of the use case (high, medium, or low). Source – The source defines the entity that triggered the creation of the use case. Primary business actor – The stakeholder that primarily benefits from the execution of the use case. Other participating actors – Other actors that participate in the use case. Interested stakeholders – A person (other than the actor) who has a vested interest in the goal of the use case. Description – A short summary description of the purpose of the use case and its activities.

29 Sample Expanded Version of a Use-Case Narrative
Teaching Notes Precondition – A constraint on the state of the system before the use case can be executed. Trigger – The event that initiates the use case. Typical course of events – The normal sequence of activities performed by the actor(s) and the system to satisfy the goal of the use case. Alternate courses – The behaviors of the use case if an exception or variation to the typical course occurs. Conclusion – When the use case successfully ends. Postcondition – A constraint on the state of the system after the use case has successfully executed. Business rules – Policies and procedures of the business that the system must abide by. Implementation constraints and specifications – Any nonfunctional requirements that may impact the realization of the use case. Assumptions – Assumptions made by the author. Open issues – Issues that need to be resolved before the use case can be finalized. continued

30 Sample Expanded Version of a Use-Case Narrative (cont)
Teaching Notes Precondition – A constraint on the state of the system before the use case can be executed. Trigger – The event that initiates the use case. Typical course of events – The normal sequence of activities performed by the actor(s) and the system to satisfy the goal of the use case. Alternate courses – The behaviors of the use case if an exception or variation to the typical course occurs. Conclusion – When the use case successfully ends. Postcondition – A constraint on the state of the system after the use case has successfully executed. Business rules – Policies and procedures of the business that the system must abide by. Implementation constraints and specifications – Any nonfunctional requirements that may impact the realization of the use case. Assumptions – Assumptions made by the author. Open issues – Issues that need to be resolved before the use case can be finalized. continued

31 Sample Expanded Version of a Use-Case Narrative (cont)
Teaching Notes Precondition – A constraint on the state of the system before the use case can be executed. Trigger – The event that initiates the use case. Typical course of events – The normal sequence of activities performed by the actor(s) and the system to satisfy the goal of the use case. Alternate courses – The behaviors of the use case if an exception or variation to the typical course occurs. Conclusion – When the use case successfully ends. Postcondition – A constraint on the state of the system after the use case has successfully executed. Business rules – Policies and procedures of the business that the system must abide by. Implementation constraints and specifications – Any nonfunctional requirements that may impact the realization of the use case. Assumptions – Assumptions made by the author. Open issues – Issues that need to be resolved before the use case can be finalized.

32 Use Cases and Project Management
Use-case model can drive the entire development effort. Project manager or systems analyst uses business requirements use cases to plan (estimate and schedule) the build cycles of the project. Build cycles are scoped on the basis of the importance of the use case and the time it takes to implement the use case. To determine importance of the use cases, will create: Use-case ranking and evaluation matrix Use-case dependency diagram No additional notes.

33 Use-Case Ranking and Priority Matrix
In most projects, the most important use cases are developed first. Use-case ranking and priority matrix – a tool used to evaluate use cases and determine their priority. Evaluates use cases on a scale of 1 to 5 against six criteria. Significant impact on the architectural design. Easy to implement but contains significant functionality. Includes risky, time-critical, or complex functions. Involves significant research or new or risky technology. Includes primary business functions. Will increase revenue or decrease costs. No additional notes.

34 Sample Use-Case Ranking and Priority Matrix
No additional notes

35 Use-Case Dependency Diagram
Use-case dependency diagram – a graphical depiction of the dependencies among use cases. Provides the following benefits: Graphical depiction of the system’s events and their states enhances understanding of system functionality. Helps identify missing use cases. Helps facilitate project management by depicting which use cases are more critical. No additional notes.

36 Sample Use-Case Dependency Diagram
No additional notes.

37 UML http://www.youtube.com/watch?v=2yoahl1Hf5U&feature=related
MicroSoft Visio

38 DATA AND PROCESS MODELLING
Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia DATA AND PROCESS MODELLING Reading: Chapter 4 (7th Edition, Shelly) This repository of slides is intended to support the named chapter. The slide repository should be used as follows: Copy the file to a unique name for your course and unit. Edit the file by deleting those slides you don’t want to cover, editing other slides as appropriate to your course, and adding slides as desired. Print the slides to produce transparency masters or print directly to film or present the slides using a computer image projector. Each slide includes instructor notes. To view those notes in PowerPoint, click-left on the View Menu; then click left on Notes View sub-menu. You may need to scroll down to see the instructor notes. The instructor notes are also available in hardcopy as the Instructor Guide to Accompany Systems Analysis and Design Methods, 6/ed.

39 Chapter Objectives Describe data and process modeling concepts and tools, including data flow diagrams, a data dictionary, and process descriptions Describe the symbols used in data flow diagrams and explain the rules for their use Draw data flow diagrams in a sequence, from general to specific Explain how to level and balance a set of data flow diagrams 39 39

40 Chapter Objectives Describe how a data dictionary is used and what it contains Use process description tools, including structured English, decision tables, and decision trees Describe the relationship between logical and physical models 40 40

41 Introduction Chapters 5 & 6 cover the logical model of a proposed system and how to document the system requirements Logical model shows what the system must do Physical model describes how the system will be constructed 41 41

42 Overview of Data and Process Modeling Tools
Systems analysts use many graphical techniques to describe an information system Data and process modeling involves three main tools: data flow diagrams, data dictionary, and process descriptions A data flow diagram (DFD) uses various symbols to show how the system transforms input data into useful information 42 42

43 Data Flow Diagrams A data flow diagram (DFD)
shows how data moves through an information system but does not show program logic or processing steps A set of DFDs provides a logical model that shows what the system does, not how it does it 43 43

44 Data Flow Diagrams DFD Symbols: Different symbol sets 44 44

45 Data Flow Diagrams DFD Symbols Process symbol
Receives input data and produces output that has a different content, form, or both Contain the business logic, also called business rules Referred to as a black box 45 45

46 Data Flow Diagrams DFD Symbols Data flow symbol Impossible DFDs
Represents one or more data items The symbol for a data flow is a line with a single or double arrowhead Impossible DFDs Spontaneous generation produces output but has no input Black hole has input but no output Gray hole has both, but input is not sufficient to create the output 46 46

47 Data Flow Diagrams DFD Symbols Data store symbol
Represent data that the system stores The physical characteristics of a data store are unimportant because you are concerned only with a logical model 47 47

48 Data Flow Diagrams DFD Symbols Entity Symbol Also called Terminators:
Name of the entity appears inside the symbol Shows External entitities that provide data to the system Also called Terminators: Since they are the data origins or final destinations Source: entity supplying data Sink: entity that receives data Each entity must be connected to a process by a data flow 48 48

49 Creating a Set of DFDs Create a graphical model of the information system based on your fact-finding results Three-step process Step 1: Draw a context diagram Step 2: Draw a diagram 0 DFD Step 3: Draw the lower-level diagrams 49 49

50 Creating a Set of DFDs Guidelines for Drawing DFDs
Draw the context diagram so that it fits on one page Use the name of the information system as the process name in the context diagram Use unique names within each set of symbols 50 50

51 Creating a Set of DFDs Guidelines for Drawing DFDs Do not cross lines
Provide a unique name and reference number for each process Obtain as much user input and feedback as possible 51 51

52 Creating a Set of DFDs Step 1: Draw a Context Diagram
Most general view Start with process 0 (Black Box) 52 52

53 Creating a Set of DFDs Step 2: Draw a Diagram 0 DFD
Show the detail inside the black box 53 53

54 Creating a Set of DFDs Step 2: Draw a Diagram 0 DFD
If same data flows in both directions, you can use a double-headed arrow Diagram 0 is an exploded view of process 0 Parent diagram: higher-level diagram of an exploded DFD Child diagram: lower-level diagram of an exploded DFD Functional primitive: A process that consists of a single function that is not exploded further 54 54

55 Creating a Set of DFDs Step 3: Draw the Lower-Level Diagrams
Must use leveling and balancing techniques Leveling examples Uses a series of increasingly detailed DFDs until all functional primitives are identified Exploding, partitioning, or decomposing 55 55

56 Creating a Set of DFDs Step 3: Draw the Lower-Level Diagrams Balancing
Ensures that the input and output data flows of the parent DFD are maintained on the child DFD 56 56

57 Data Dictionary A data dictionary, or data repository:
a central storehouse of information about the system’s data An analyst uses the data dictionary to collect, document, and organize specific facts about the system Also defines and describes all data elements and meaningful combinations of data elements 57 57

58 Data Dictionary A data element, a data item or field: Data structures:
the smallest piece of data that has meaning Data structures: Data elements combined into records. A record: a meaningful combination of related data elements that is included in a data flow or retained in a data store 58 58

59 Data Dictionary Documenting the Data Elements
You must document every data element in the data dictionary The objective is the same: to provide clear, comprehensive information about the data and processes that make up the system 59 59

60 Data Dictionary Documenting the Data Elements
The following attributes usually are recorded and described Data element name and label Alias (alternate names for the data element) Type and length Default value Acceptable values - Domain and validity rules 60 60

61 Data Dictionary Documenting the Data Elements
The following attributes usually are recorded and described Source Security Responsible user(s) Description and comments 61 61

62 Data Dictionary Documenting the Data Flows
using Visible Analyst CASE tool The typical attributes are as follows Data flow name or label Description Alternate name(s) Origin Destination Record Volume and frequency 62 62

63 Data Dictionary Documenting the Data Stores
Typical characteristics of a data store are Data store name or label Description Alternate name(s) Attributes Volume and frequency 63 63

64 Data Dictionary Documenting the Processes
Typical characteristics of a process Process name or label Description Process number Process description 64 64

65 Data Dictionary Documenting the Entities
Typical characteristics of an entity include Entity name Description Alternate name(s) Input data flows Output data flows 65 65

66 Data Dictionary Documenting the Records
Typical characteristics of a record include Record or data structure name Definition or description Alternate name(s) Attributes 66 66

67 Data Dictionary Data Dictionary Reports Many valuable reports
An alphabetized list of all data elements by name A report describing each data element and indicating the user or department that is responsible for data entry, updating, or deletion A report of all data flows and data stores that use a particular data element Detailed reports showing all characteristics of data elements, records, data flows, processes, or any other selected item stored in the data dictionary 67 67

68 Process Description Tools
A process description documents the details of a functional primitive, which represents a specific set of processing steps and business logic It should be noted that this chapter deals with structured analysis, but the process description tools also can be used in object-oriented development, which is described in Chapter 6 68 68

69 Process Description Tools
When you analyze a functional primitive, you break the processing steps down into smaller units. Modular Design: Based on combinations of three logical structures, called control structures, which serve as building blocks for the process. Rectangle represents a step or process Diamond represents a condition or decision The Logic follows the lines in the direction of arrows There are three control structures: Sequence (completion of steps in sequential order) Selection (based on the results of a test or condition) Iteration – looping (completion of a process that is repeated) 69 69

70 Process Description Tools
Typical Process description tools: Structured English, decision tables, and decision trees. Structured English: a subset of standard English describes logical processes clearly Must conform to the following rules Use only the three building blocks of sequence, selection, and iteration Use indentation for readability Use a limited vocabulary, including standard terms used in the data dictionary and specific words that describe the processing rules 70 70

71 Process Description Tools
Structured English Might look familiar to programming students because it resembles pseudocode The primary purpose of structured English is to describe the underlying business logic 71 71

72 Process Description Tools
Decision Tables Shows a logical structure, with all possible combinations of conditions and resulting actions It is important to consider every possible outcome to ensure that you have overlooked nothing 72 72

73 Process Description Tools
Decision Tables The number of rules doubles each time you add a condition Can have more than two possible outcomes Often are the best way to describe a complex set of conditions 73 73

74 Process Description Tools
Decision Trees Graphical representation of the conditions, actions, and rules found in a decision table 74 74

75 Logical Versus Physical Models
While structured analysis tools are used to develop a logical model for a new IS, such tools also can be used to develop physical models of an information system A physical model shows how the system’s requirements are implemented 75 75

76 Logical Versus Physical Models
Sequence of Models Many systems analysts create a physical model of the current system and then develop a logical model of the current system before tackling a logical model of the new system Performing that extra step allows them to understand the current system better 76 76

77 Logical Versus Physical Models
Four-Model Approach Develop a physical model of the current system, a logical model of the current system, a logical model of the new system, and a physical model of the new system The only disadvantage of the four-model approach is the added time and cost 77 77

78 Chapter Summary During data and process modeling, a systems analyst develops graphical models to show how the system transforms data into useful information The end product of data and process modeling is a logical model that will support business operations and meet user needs Data and process modeling involves three main tools: data flow diagrams, a data dictionary, and process descriptions 78 78

79 Chapter Summary Data flow diagrams (DFDs) graphically show the movement and transformation of data in the information system DFDs use four symbols A set of DFDs is like a pyramid with the context diagram at the top 79 79

80 Chapter Summary The data dictionary is the central documentation tool for structured analysis Each functional primitive process is documented using structured English, decision tables, and decision trees Structured analysis tools can be used to develop a logical model during one systems analysis phase, and a physical model during the systems design phase 80 80


Download ppt "MODELING SYSTEM REQUIREMENTS WITH USE CASES"

Similar presentations


Ads by Google