CISC/CMPE320 - Prof. McLeod

Slides:



Advertisements
Similar presentations
Request Management Mirror-. A random three day sample of Incidents revealed that about 86% of the registered Incidents were legitimate Requests Many other.
Advertisements

Requirements Elicitation Labs Discussion p2 T120B pavasario sem.
Presentation material is based on notes from Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 ECE.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Winter 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 2 due today. Assignment 3 is a GUI – posted soon. Due the end of next week. Project work.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Chapter 15: System Modeling with UML
Requirements Elicitation Chapter 4. Establishing Requirements Two questions –What is the purpose of the system –What is inside and what is outside the.
Use Cases Chapter 4. After Scenarios Find all the use cases in the scenario that specifies all possible instances of how to report a fire –Ex: “Report.
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,
Use Case Analysis – continued
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Analysis Modeling.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Functional Modeling.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Figure 5-2, Products of requirements elicitation.
Requirements Analysis
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
This is Step 2 of a Mishap Notification that gathers expanded information and shall be completed within 48 hours of the mishap occurrence. Information.
Requirements Elicitation Labs Discussion p2 T120B pavasario sem.
UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Functional Modeling.
Systems Analysis and Design in a Changing World, 3rd Edition
Page 1 Non-Payroll Cost Transfer Enhancements Last update January 24, 2008 What are the some of the new enhancements of the Non-Payroll Cost Transfer?
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
1 Object Oriented Analysis Lectures 12 & References Chapter 4: Requirements Elicitation from Object Oriented Software Engineering: Conquering Complex.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Today: –Being Agile! –Part of the RAD – Use Cases. –(If we have time) Review what we did last time and.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due today, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Today: –Continue.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Project Wikis are private again. Assignment 3 is posted. Due Nov. 6. SDD framework must be in place.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due tomorrow, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Tomorrow’s lecture.
UML - Development Process 1 Software Development Process Using UML.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Pepper modifying Sommerville's Book slides
Tools Of Structured Analysis
Functional Modeling.
Dynamic Modeling of Banking System Case Study - I
Chapter 4, Requirements Elicitation: Functional Modeling
Functional Modeling.
Address Book Example
UML UML Sequence Diagrams CSE 403
Week 10: Object Modeling (1)Use Case Model
UML Use Case Diagrams.
CISC/CMPE320 - Prof. McLeod
CISC/CMPE320 - Prof. McLeod
How a Volunteer registers their details on the RAWCS Volunteer website
Chapter 4, Requirements Elicitation: Functional Modeling
Unified Modeling Language
CISC101 Reminders Assn 3 due Friday, this week. Quiz 3 next week.
Advance Software Engineering (CEN-5011)
2-1-1 Automated Verifications
Chapter 4, Requirements Elicitation: Functional Modeling
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
Chapter 4, Requirements Elicitation: Functional Modeling
Analysis models and design models
CISC/CMPE320 - Prof. McLeod
CISC124 Labs start this week in JEFF 155.
CISC/CMPE320 - Prof. McLeod
CISC/CMPE320 - Prof. McLeod
CISC/CMPE320 - Prof. McLeod
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Design Joshua Lewis Project questions Assignment questions
Chapter 4, Requirements Elicitation: Functional Modeling
Chapter 5, Analysis: Object Modeling
COP 4009 Component-Based Software Engineering
Use Case Modeling Part of the unified modeling language (U M L)
Use Case Analysis – continued
Chapter 4, Requirements Elicitation: Functional Modeling
Presentation transcript:

CISC/CMPE320 - Prof. McLeod Winter 2013 CISC/CMPE320 8/24/2018 CISC/CMPE320 Notices Confluence working again after a re-start of the VM. SDD due Friday, 7pm this week. Assn 3 also due this Friday. Assn 2 sample solution posted. You can use this code if you need to for assn 3. Fall 2017 CISC/CMPE320 - Prof. McLeod Prof. Alan McLeod

CISC/CMPE320 - Prof. McLeod Today Continue Software Analysis. Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod Example Take apart the ReportEmergency use case from the FRIEND example: (FRIEND was designed to provide better emergency responses and to record this information in a database.) Fall 2017 CISC/CMPE320 - Prof. McLeod

ReportEmergency Use Case Example Use case name: ReportEmergency Participating Actors: Initiated by FieldOfficer Communicates with Dispatcher Flow of Events: FieldOfficer activates “Report Emergency” function on her laptop. FRIEND responds by presenting a form to the FieldOfficer. The form includes an emergency type list to choose from, location details, incident description, resources requested and hazardous materials involved option. FieldOfficer provides a description of the situation, the emergency level, location, and the type of emergency, along with possible responses. Once complete, the FieldOfficer submits the form along with a request for a specific response. The minimum required information is emergency type and description. Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod FRIEND receives the form and notifies the Dispatcher using a pop up dialog. Dispatcher reviews the submitted information and creates an Incident in the database by invoking the OpenIncident use case. All information in the report submitted by the FieldOfficer is included in the Incident. The Dispatcher selects a response by allocating resources to the Incident (using the AllocateResources use case) and acknowledges the report by sending a Acknowledgement to the FieldOfficer. The Acknowledgement indicates to the FieldOfficer that the EmergencyReport was received, and Incident created and resources were allocated to the Incident, along with the type of resources and the ETA. FRIEND displays the acknowledgement and response to the FieldOfficer. Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod Entry Condition: The FieldOfficer is logged into FRIEND. Exit Conditions: The FieldOfficer has received an acknowledgement and the selected response from the dispatcher, OR The FieldOfficer has received an explanation of why the transaction could not be processed. Quality Requirements: The FieldOfficer’s report is acknowledged within 30 seconds. The selected response arrives no later than 30 seconds after it is sent by the Dispatcher. Fall 2017 CISC/CMPE320 - Prof. McLeod

Use Cases vs. User Stories Agile user stories are much shorter! A use case contains information on what the system is doing along a time line, it does not just describe a requirement. A use case can also contain non-functional requirements. Fall 2017 CISC/CMPE320 - Prof. McLeod

Equivalent User Stories? As an emergency supervisor I want to be able to collect, analyze and review all data for emergency responses through the use of a database, so problems can be corrected and system improvements can be made. Fall 2017 CISC/CMPE320 - Prof. McLeod

Equivalent User Stories?, Cont. As a field officer I want to be able to provide emergency information to the dispatcher by filling out a form on my laptop, so that all information is supplied, recorded and is not ambiguous. As a field officer I want to receive a response from the dispatcher that contains specifics about the response and the ETA so I know what to expect and I can judge if I think the response is adequate. Fall 2017 CISC/CMPE320 - Prof. McLeod

Equivalent User Stories?, Cont. As a dispatcher I want to receive notifications of new emergencies on my computer. As a dispatcher I want to be able to have a real-time view of the location and availability of my emergency response assets. As a dispatcher I want to be able to allocate assets to the new emergency and record this allocation. As a dispatcher I want to send an update to the field officer containing the response information so that they are informed of the details. Fall 2017 CISC/CMPE320 - Prof. McLeod

Non-Functional Requirements The field officer has a laptop running the system. The field officer’s original notification is received and acknowledged by the dispatcher within 30 seconds. The response details created by the dispatcher is received by the field officer within 30 seconds. Fall 2017 CISC/CMPE320 - Prof. McLeod

Use Cases vs. User Stories, Cont. To make a time to completion estimate for a user story, the team must eliminate any ambiguity in the story and discover non-functional requirements. As they discuss the user story, they seem to actually be building a use case, but normally they would not document it. Or the set of issues linked to the user story would acquire more detail. And, they would get to work on it right away! Fall 2017 CISC/CMPE320 - Prof. McLeod

ReportEmergency Objects Entity: Dispatcher, EmergencyReport, FieldOfficer, Incident, Acknowledgement Boundary: AcknowledgementNotice, DispatcherTerminal, ReportEmergencyButton, EmergencyReportForm, FieldOfficerTerminal, IncidentForm Control: ReportEmergencyControl, ManageEmergencyControl Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod Sequence Diagrams A UML Sequence Diagram re-creates a use case using its objects. They consist of the actors, the boundary, control and entity objects, with interactions shown along a time line. Pretty complicated! Not very useful for single player game apps… Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod Report EmergencyButton ManageEmergencyControl FieldOfficer <<create>> ReportEmergencyControl press() <<create>> ReportEmergencyForm fillContents() submit() submitReport() EmergencyReport <<create>> submitReportToDispatcher() <<destroy>> Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod ManageEmergencyControl Dispatcher submitReportToDispatcher() IncidentForm <<create>> createIncident() <<create>> Incident submit() <<create>> Acknowledgment <<destroy>> Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod ManageEmergencyControl ReportEmergencyControl FieldOfficer acknowledgeReport() <<create>> AcknowledgementNotice dismiss() endReportTransaction() <<destroy>> <<destroy>> Fall 2017 CISC/CMPE320 - Prof. McLeod

Sequence Diagrams, Cont. Think of the time line as going from top, left to bottom, right. List the objects like column headers across the top. For these objects you are interested in: When (and who) creates the object. Which objects interact with the object and in what order. The nature of this interaction. If and when the object is destroyed. Fall 2017 CISC/CMPE320 - Prof. McLeod

Sequence Diagrams, Cont. From the left: First column should be the actor who initiates the use case. Second column should be the boundary object that the actor used to initiate the use case. Third column should be the control object that manages the rest of the use case. The initiated boundary objects create the control object. Other boundary objects are created by control objects. Fall 2017 CISC/CMPE320 - Prof. McLeod

Sequence Diagrams, Cont. Entity objects are accessed by both control and boundary objects. Entity objects never access boundary or control objects. (This way entity objects can be shared by many use cases.) Fall 2017 CISC/CMPE320 - Prof. McLeod

Sequence Diagrams, Cont. Lets the designer know what responsibilities belong to which objects, and the order in which they take place. Time consuming to create – focus on problematic or underdeveloped functionality first. Fall 2017 CISC/CMPE320 - Prof. McLeod

An Agile Analysis Technique – CRC Cards Class, Responsibilities, Collaborators Example (on recipe cards or “post-it” notes…): ReportEmergencyControl Responsibilities Collect input from FieldOfficer. Control sequence of forms during emergency reporting. Collaborators EmergencyReportForm EmergencyReport AcknowledgementNotice Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod CRC Cards, Cont. The technique was documented in 1989 (Beck and Cunningham). Suited to a brain-storming session: Lock all your coders and architects, etc into a banquet room at the local hotel. Have all their meals brought in. (No booze until later…) Lots of whiteboards, post-it notes, recipe cards, pencils and little magnets, etc. Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod CRC Cards, Cont. Can be done in teams or in one large group. Create one card per object. Add responsibilities and collaborators to each card. Lay cards out on the board or on a table to see how events flow and how objects interact (take pictures). Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod CRC Cards, Cont. Good: Simple Works better with a large group Can rough out a design in a fairly short time Bad: How can you precisely document the results of the brainstorming session? Do you have to rely on everyone’s memory of how the objects interact? Might be a good way to start a more formal design effort. Fall 2017 CISC/CMPE320 - Prof. McLeod

Defining Relationships We are trying to exactly define the relationships between actors and participating objects. A Statechart diagram is the only other diagram that provides a dynamic view. It focuses on just a single object. For example, look at a nested statechart diagram for the Incident object: Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod Active field officer arrives on site Reported Assessment dispatcher allocates resources field officer requests additional resources Response Disengagement field officer releases resources all resources deallocated when date is greater than one year all resources submitted reports Inactive Closed Archived Fall 2017 CISC/CMPE320 - Prof. McLeod

CISC/CMPE320 - Prof. McLeod Statechart Diagrams By concentrating on just a single object it is easier to see if there are any missing use cases. Or if a use case needs more refinement. Fall 2017 CISC/CMPE320 - Prof. McLeod