Week04 Project Requirements.

Slides:



Advertisements
Similar presentations
Week 2 The Object-Oriented Approach to Requirements
Advertisements

Requirements Diagrams With UML Models
Systems Analysis and Design in a Changing World, 6th Edition
Object Oriented Methodologies
Use Cases -Use Case Diagram Chapter 3 1. Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch.
Karolina Muszyńska Based on:
Lecture 9 Descriptors, Events & Event Tables INFO1409 Systems Analysis & Design Module HND Year /9.
Objectives Detailed Object-Oriented Requirements Definitions
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain how.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 7 Using Data Flow Diagrams
Documenting Requirements using Use Case Diagrams
Modeling System Events Adapted from: Systems Analysis and Design in a Changing World, 2nd Edition by John W. Satzinger, Robert Jackson and Stephen Burd.
Chapter 9 Using Data Flow Diagrams
Overview Objective: refine information gathered
2Object-Oriented Analysis and Design with the Unified Process Events and Use Cases  Use case  Activity the system carries out  Entry point into the.
Systems Analysis and Design in a Changing World, 6th Edition
6. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how events can be used to identify use cases that define requirements.
Systems Analysis I Data Flow Diagrams
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 7: The Object-Oriented Approach to Requirements
Chapter 6: The Traditional Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Chapter 5: Modeling Systems Requirements: Events and Things
Modeling Systems Requirements: Events and Things.
Systems Analysis and Design in a Changing World, Fifth Edition
Modeling System Requirements:Events and Things
Chapter 6 The Traditional Approach to Requirements
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 5 – System Modeling
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 3 Use Cases.
Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04.
Chapter 7 Using Data Flow Diagrams
Systems Analysis and Design in a Changing World, 6th Edition
Investigating System Requirements
OBJECT ORIENTED METHODOLOGIES Week04. Agenda… © Jerry Kotuba SYST39409-Object Oriented Methodologies 2  This week  Quiz 1  Take up ICE-01  Check “Grade.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
The Object-Oriented Approach to Requirements
4 2009/10 Object Oriented Technology 1 Topic 4: The Object-Oriented Approach to Requirements Adopted from: Ch.7 The Object-Oriented Approach to Requirements.
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
Systems Analysis and Design in a Changing World, 3rd Edition
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain.
Object Oriented Methodologies
7 Systems Analysis and Design in a Changing World, Fifth Edition.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Modeling System Requirements: Events and Things. Objectives Explain the many reasons for creating information system models Describe three types of models.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 Use Cases.
Use Cases -Use Case Diagram Chapter 3 1. Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
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.
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
Systems Analysis and Design in a Changing World, Fourth Edition
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Business Processes A business process describes a set of activities that are necessary to complete a response to a stimulus applied to an organization.
Systems Analysis and Design in a Changing World, Fourth Edition
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Use Cases -Use Case Diagram
Chapter 6 The Traditional Approach to Requirements.
Systems Analysis and Design in a Changing World, 6th Edition
Use Cases & Use Case Diagrams
Engineering Quality Software
Week 8 Lecture 1: Identifying Actors and Activities
Presentation transcript:

Week04 Project Requirements

Agenda Identify all use cases Build Use Case Diagram(s) User Stories Technique User Goal Technique Event Decomposition Technique CRUD Technique Build Use Case Diagram(s) Document use cases using narratives and activity diagrams Identify security concerns and requirements

Learning Objectives Explain why identifying use cases is the key to defining functional requirements Describe the two techniques for identifying use cases Apply the user goal technique to identify use cases Apply the event decomposition technique to identify use cases Apply the CRUD technique to validate and refine the list of use cases Describe the notation and purpose for the use case diagram Draw use case diagrams by actor and by subsystem

Use Cases Use case— an activity that the system performs, usually in response to a request by a user Use cases define functional requirements Analysts decompose the system into a set of use cases (functional decomposition) Two techniques for Identifying use cases User goal technique Event decomposition technique Name each use case using Verb-Noun

User Goal Technique This technique is the most common in industry Simple and effective Identify all of the potential categories of users of the system Interview and ask them to describe the tasks the computer can help them with Probe further to refine the tasks into specific user goals, “I need to Ship items, Track a shipment, Create a return”

User Goal Technique Some RMO CSMS Users and Goals

User Goal Technique: Specific Steps Identify all the potential users for the new system Classify the potential users in terms of their functional role (e.g., shipping, marketing, sales) Further classify potential users by organizational level (e.g., operational, management, executive) For each type of user, interview them to find a list of specific goals they will have when using the new system (current goals and innovative functions to add value)

User Goal Technique Specific Steps (continued) Create a list of preliminary use cases organized by type of user Look for duplicates with similar use case names and resolve inconsistencies Identify where different types of users need the same use cases Review the completed list with each type of user and then with interested stakeholders

User Story Format (one two sentences) Closely allied with User Goal Technique…can be considered as a gateway to User Goal technique Check the link to more reference material on the Wiki – under class plan week 04 Typically on an index cards-short and sweet Follow a format as above… The “so that” part is optional but often times very useful information..

User Story-Example (focus on one particular user for one particular goal for one particular reason)

Another Example… The idea is that you can quickly brainstorm a lot of user stories even particular one… Big goals or smaller ones…

User Stories (Focus is on intention, one need, no exceptions or alternate paths etc.,) Often done at the start of a project and can serve as placeholders for later conversations.

User Stories vs Use Cases They are not a replacement for use cases…very different things Reminder of a conversation that needs to take place versus a use case where the conversation has already taken place. User stories would be the norm for scrum or extreme programming project.

Using a context diagram to help with identifying use cases- Example

Event Decomposition Technique More Comprehensive and Complete Technique Identify the events that occur to which the system must respond. For each event, name a use case (verb-noun) that describes what the system does when the event occurs Event– something that occurs at a specific time and place, can be described, and should be remembered by the system

Events and Use Cases

Types of Events External Event Temporal Event State Event an event that occurs outside the system, usually initiated by an external agent or actor Temporal Event an event that occurs as a result of reaching a point in time State Event an event that occurs when something happens inside the system that triggers some process reorder point is reached for inventory item

External Event Checklist External agent or actor wants something resulting in a transaction Customer buys a product External agent or actor wants some information Customer wants to know product details External data changed and needs to be updated Customer has new address and phone Management wants some information Sales manager wants update on production plans

Temporal Event Checklist Internal outputs needed at points in time Management reports (summary or exception) Operational reports (detailed transactions) Internal statements and documents (including payroll) External outputs needed at points of time Statements, status reports, bills, reminders

Finding the actual event that affects the system

Tracing a sequence of transactions resulting in many events

Perfect Technology Assumption Don’t worry about functions built into system because of limits in technology and people. Wait until design.

Event Decomposition Technique: Specific Steps Consider the external events in the system environment that require a response from the system For each external event, identify and name the use case that the system requires Consider the temporal events that require a response from the system For each temporal event, identify and name the use case that the system requires and then establish the point of time that will trigger the use case

Event Decomposition Technique: Specific Steps (continued) Consider the state events that the system might respond to, particularly if it is a real-time system in which devices or internal state changes trigger use cases. For each state event, identify and name the use case that the system requires and then define the state change. When events and use cases are defined, check to see if they are required by using the perfect technology assumption. Do not include events that involve such system controls as login, logout, change password, and backup or restore the database, as these are put in later.

Event Decomposition Technique: Benefits Events are broader than user goal: Capture temporal and state events Help decompose at the right level of analysis: an elementary business process (EBP) EBP is a fundamental business process performed by one person, in one place, in response to a business event Uses perfect technology assumption to make sure functions that support the users work are identified and not additional functions for security and system controls

Pharmacy System Example Jerry Kotuba SYST39409-Object Oriented Methodologies

Use Cases and CRUD Technique CRUD is Create, Read/Report, Update, and Delete (archive) Often introduced in database context Technique to validate, refine or cross-check use cases NOT for primarily identifying use cases You start by looking at the types of data stored by the system. These will be modelled initially as entities OR Domain classes. To refine and validate the use cases, look at each type of data and verify that use cases have been identified to create the data, read, or report on the data, update the data and delete or archive the data. The CRUD technique is most useful when used as a cross-check along with the user goal technique. Users will focus on their primary goals and often overlook the need to update or archive the data. CRUD technique makes sure all possibilities are identified.

Use Cases and CRUD Technique For Customer domain class, verify that there are use cases that create, read/report, update, and delete (archive) the domain class

CRUD Technique Steps Identify all the data entities or domain classes involved in the new system. (Review this next week) For each type of data (data entity or domain class), verify that a use case has been identified that creates a new instance, updates existing instances, reads or reports values of instances, and deletes (archives) an instance. If a needed use case has been overlooked, add a new use case and then identify the stakeholders. With integrated applications, make sure it is clear which application is responsible for adding and maintaining the data and which system merely uses the data.

CRUD Technique Use Case vs. Domain Class Table To summarize CRUD analysis results, create a matrix of use cases and domain classes indicating which use case C, R, U, or D a domain class Example Above The use case Create Customer Account…actually creates the “customer” data and “account” data So the ‘C” is shown in those two cells The use case Process Account Adjustment …reads information about the sale , reads information about the customer and updates the account and creates an adjustment.

Use Cases and Brief Use Case Descriptions Brief use case description is often a one sentence description showing the main steps in a use case

RMO CSMS Project Use Cases

RMO CSMS Project Use Cases

RMO CSMS Project Use Cases

RMO CSMS Project Use Cases

Brief Description of Create New Order Use Case J.N.Kotuba SYST39409 - Object Oriented Methodologies

SYST39409 - Object Oriented Methodologies Intermediate Description of Telephone Order Scenario for Create New Order Use Case J.N.Kotuba SYST39409 - Object Oriented Methodologies

SYST39409 - Object Oriented Methodologies Fully Developed Description of Telephone Order Scenario for Create New Order Use Case J.N.Kotuba SYST39409 - Object Oriented Methodologies

Use Case Diagrams Use case diagram— a UML model used to graphically show uses cases and their relationships to actors Recall UML is Unified Modeling Language, the standard for diagrams and terminology for developing information systems Actor is the UML name for a end user Automation boundary— the boundary between the computerized portion of the application and the users who operate the application

Use Case Diagrams Symbols

Final Word on Use Cases Large software projects usually organized into sub-systems and packages. Package is a placeholder Each package contains a set of use cases for handling a certain type of business activity. E.g. Mail Order System Purchasing Warehouse Administration Jerry Kotuba SYST39409-Object Oriented Methodologies

Use Case Diagrams Draw for each subsystem

Use Case Diagrams Draw for actor, such as customer

Use Case Diagrams Draw for internal RMO actors

Use Case Diagrams The <<Includes>> relationship A relationship between use cases where one use case is stereotypically included within the other use case— like a called subroutine. Arrow points to subroutine

Use Case Diagrams: Steps Identify all the stakeholders and users who would benefit by seeing a use case diagram Determine what each stakeholder or user needs to review in a use case diagram: each subsystem, for each type of user, for use cases that are of interest For each potential communication need, select the use cases and actors to show and draw the use case diagram. There are many software packages that can be used to draw use case diagrams Carefully name each use case diagram and then note how and when the diagram should be used to review use cases with stakeholders and users

Example without Package Notation Jerry Kotuba SYST39409-Object Oriented Methodologies

Example using Package Notation Jerry Kotuba SYST39409-Object Oriented Methodologies

Summary Three types of events include external, temporal, and state events Brief use case descriptions are written for use cases The CRUD technique is used to validate and refine the use cases identified The use case diagram is the UML diagram used to show the use cases and the actors The use case diagram shows the actors, the automation boundary, the uses cases that involve each actor, and the <<includes>> relationship. A variety of use case diagrams are drawn depending on the presentation needs of the analysis

Identify Security Requirements & Concerns Physical Security Network Security Application Security File Security User Security Procedural Security

Physical Security First level of concern. Physical access to a computer represents an entry point into the system and must be controlled. All computers on a network must be secure. Critical equipment such as servers for example, must be located in secure, protected areas.

Network Security How will network traffic be protected so that the data can not be accessed without authorization?

Application Security In addition to securing computer equipment and shielding network traffic, it is necessary to protect all server based applications.

File Security Computer configuration settings,users’ personal information, and other sensitive data stored in files must be protected.

User Security User security requires identity management, and comprehensive password protection. E.g. minimum length and complexity of a password

Procedural Security A.k.a operational security Defines how particular tasks are to be performed E.g. large scale data backups, storage of emails and forms(physical paperwork) Recovery