1 Peter Fox Xinformatics ITEC, ERTH, CSCI 4400/6400 Week 4, February 12, 2013 Capturing the problem: Use case development and requirement analysis.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Systems Analysis, Prototyping and Iteration Systems Analysis.
Information System Engineering
The Architecture Design Process
Analysis Concepts and Principles
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
Testing an individual module
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Project Documentation and its use in Testing JTALKS.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Introduction To System Analysis and design
S/W Project Management
Project Analysis Course ( ) Week 2 Activities.
1 Class Exercise I: Use Cases Deborah McGuinness and Peter Fox (NCAR) CSCI Week 4 (part II), 2008.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
ITEC224 Database Programming
Business Analysis and Essential Competencies
Quality Control Project Management Unit Credit Value : 4 Essential
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
1 Class Exercise I: Use Cases Deborah McGuinness and Peter Fox (NCAR) CSCI Week 4, 2008.
1 Peter Fox Xinformatics ITEC, ERTH, CSCI 4400/6400 Week 2, February 3, 2015 Capturing the problem: Use case development and requirement analysis.
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
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 Class Exercise I: Use Cases Deborah McGuinness and Peter Fox CSCI Week 4, September 28, 2009.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
1 Class Exercise I: Use Cases Deborah McGuinness Semantic eScience 2012 Week 2, September 10,
The Software Development Process
Systems Development Life Cycle
1 Peter Fox Xinformatics – ITEC 6961/CSCI 6960/ERTH Week 2, February 1, 2011 Capturing the problem: Use case development and requirement analysis.
ESIP Semantic Web Products and Services ‘triples’ “tutorial” aka sausage making ESIP SW Cluster, Jan ed.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Systems Analysis and Design in a Changing World, Fourth Edition
Click to add text Systems Analysis, Prototyping and Iteration.
1 Class exercise II: Use Case Implementation Deborah McGuinness and Peter Fox CSCI Week 8, October 20, 2008.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
Software Requirements Specification Document (SRS)
UML - Development Process 1 Software Development Process Using UML.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
NMFS Use Case 1 review/ evaluation and next steps April 19, 2012 Woods Hole, MA Peter Fox (RPI* and WHOI**) and Andrew Maffei (WHOI) *Tetherless World.
44222: Information Systems Development
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Statistical process model Workshop in Ukraine October 2015 Karin Blix Quality coordinator
Systems Analysis Lecture 5 Requirements Investigation and Analysis 1 BTEC HNC Systems Support Castle College 2007/8.
 System Requirement Specification and System Planning.
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.
Elaboration popo.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Recall The Team Skills Analyzing the Problem (with 5 steps)
Unified Modeling Language
Use Case Model Use case diagram.
Software Requirements analysis & specifications
Verification and Validation Unit Testing
NMFS Use Case 1 review/ evaluation and next steps
OPeNDAP BOM Tutorial Use Cases October 15/17, 2007
Presentation transcript:

1 Peter Fox Xinformatics ITEC, ERTH, CSCI 4400/6400 Week 4, February 12, 2013 Capturing the problem: Use case development and requirement analysis

Contents Discussion of reading Background on use cases Developing use cases Uncovering requirements Evaluation Assignment 2 Next class(es) 2

Reading… Shannon Awareness in Context-Aware Information Systems GUI ICON Sets Sequence logos Information Models - Conceptual, Logical and Physical optional Peirce Social Machines CIM Presentation 3

4

Developed for NASA TIWG Use Case Is a collection of possible sequences of interactions between the system under discussion and its Users (or Actors), relating to a particular goal. The collection of Use Cases should define all system behavior relevant to the actors to assure them that their goals will be carried out properly. Any system behavior that is irrelevant to the actors should not be included in the use cases.

Developed for NASA TIWG Use Case is a prose description of a system's behavior when interacting with the outside world. is a technique for capturing functional requirements of business systems and, potentially, of an IT system to support the business system.

Developed for NASA TIWG Use Case Must be documented (or it is useless) Should be implemented (or it is not well scoped) Is used to identify: objects ~ resources, processes, roles (aka actors), requirements, etc. Should iterate with as many actors as possible on wording and details at least once

Developed for NASA TIWG Use Case Examples: I have a gazillion images of the night sky from a survey but there’s no way I (or all of the known professional galactic astronomers) can classify all those galaxies – what can I do? Provide browse and quick look access to a broad variety of climate, weather and ocean data. Provide web portal access to a federation of library catalogs with drill-down search and access of published articles

Developed for NASA TIWG Use Case Examples: Provide high-performance data transfer of specific climate model data products into the CDAT tool for analysis independent of their storage format, organization or location on the internet Perform real-time MRI image analysis to detect abnormal tissue growth in adult humans.

Developed for NASA TIWG Use Case Examples: A US 9th grade teacher is preparing a lesson plan aimed at getting students to learn more about the ‘northern lights’, addressing NSES content standards in earth science. The teacher wants the students to learn the scientific terminology, where the phenomena occurs and retrieve some data or graphics for a recent occurrence. The goal of the lesson plan is the engage students, using authentic data from the aurora, as part of an inquiry-based program.

Developed for NASA TIWG Elements of a Use Case UseCase_Template UseCase_Template Start with the Plain Language Description Short Definition Purpose Describe a scenario of expected use Definition of Success

Developed for NASA TIWG Short Definition Define the use case in plain sentences Wherever possible avoid specifying technical solutions or implementation choices Concentrate on the application aspects of the intended scenario Also note when the use case may be applicable to more than one application area

Developed for NASA TIWG Purpose A plain language description of why this use case exists, what the problem is to be solved, and what a successful outcome, and what the impact may be. Often termed the ‘business case’

Developed for NASA TIWG Scenario of expected use A verbose (more detailed) description of one instance of a problem to be solved what resources are generally needed (if known) what a successful outcome and impact may be who might be expected to do the work or provide the resources and who might be expected to benefit from the work. List any performance or metric requirements for this use case and any other other considerations that a user would expect.

Developed for NASA TIWG Definition of Success Quick test that would show whether or not the case is working as described.

Developed for NASA TIWG At this stage Use case modelers should have a good sense of what the use case goal is. They proceed on to the next stage to extract details. They may contact other team members, e.g. domain experts, one-on-one for additional information.

But for Xinformatics? Everything up to now can be considered ‘informational’ and is accessible to people It is intended to keep people in the loop Let’s discuss this use case: –I have a gazillion images of the night sky from a survey but there’s no way I (or all of the known professional galactic astronomers) can classify all those galaxies – what can I do? –What would you do? Breakouts!!! 17

Reference – READ THIS Slides – yes, you will need to read and use this in Assignment 2! 18

Developed for NASA TIWG Formal Use Case Description Use Case Identification Revision Information Definition Successful Outcomes Failure Outcomes

Developed for NASA TIWG Use Case Elaboration Actors Primary Actors Other Actors Preconditions Postconditions Normal Flow (Process Model) Alternative Flows Special Functional Requirements Extension Points

Developed for NASA TIWG Non-functional requirements Performance Reliability Scalability Usability Security Other Non-functional Requirements Repeatability?

Developed for NASA TIWG Alternate form Use case name Summary Activity diagram Preconditions in tabular form Triggers Basic flow Alternate flow Post conditions

Developed for NASA TIWG Comparison b/w formats Long format - intended to be a full capture of the use case and is used by domain contributors (first section) and technologists. Categories are more faceted. Short format - captures important basic and necessary elements of use case. Categories are more integrative.

Developed for NASA TIWG Preconditions - data/model

Developed for NASA TIWG Preconditions - event/application

Developed for NASA TIWG Which format to use? Short (in document) format for: Exploratory phase of a project where you want to collect a lot of use cases An example for others to use Including in a proposal (or an assignment) Long (on wiki) format for: Detailed documentation of the use case Life cycle documentation for implementation Asynchronous/ collaborative development

Developed for NASA TIWG Table of Contents ==Plain Language Description== ===Short Definition=== ===Purpose=== ===Describe a scenario of expected use=== ===Definition of Success=== ==Formal Use Case Description== === Use Case Identification=== ===Revision Information=== ===Definition=== ===Successful Outcomes=== ===Failure Outcomes=== ==General Diagrams== ===Schematic of Use case=== ==Use Case Elaboration== ===Actors=== ====Primary Actors==== ====Other Actors==== ===Preconditions=== ===Postconditions=== ===Normal Flow (Process Model)=== ===Alternative Flows=== ===Special Functional Requirements=== ===Extension Points=== ==Diagrams== ===Use Case Diagram=== ===State Diagram=== ===Activity Diagram=== ===Other Diagrams=== ==Non-Functional Requirements== ===Performance=== ===Reliability=== ===Scalability=== ===Usability=== ===Security=== ===Other Non-functional Requirements=== ==Selected Technology== ===Overall Technical Approach=== ===Architecture=== ===Technology A=== ====Description==== ====Benefits==== ====Limitations==== ===Technology B=== ====Description==== ====Benefits==== ====Limitations==== ==References== ===Special Functional Requirements=== ===Extension Points=== ==Diagrams== ===Use Case Diagram=== ===State Diagram=== ===Activity Diagram=== ===Other Diagrams=== ==Non-Functional Requirements== ===Performance=== ===Reliability=== ===Scalability=== ===Usability=== ===Security=== ===Other Non-functional Requirements=== ==Selected Technology== ===Overall Technical Approach=== ===Architecture=== ===Technology A=== ====Description==== ====Benefits==== ====Limitations==== ===Technology B=== ====Description==== ====Benefits==== ====Limitations==== ==References==

Scoping Focus initially on: Core functionality What it takes to implement the use case, resist early generalizations May (will) have to iterate on use case and requirements Acknowledge other important issues such as: Required vs. optional Non-functional requirements Available personnel (skills) and resources

29 Implementation Basics Review your documented use case with team and experts Go into detail of your model; test it using the tools you have Look at the use case document and examine the actors, process flow, artifacts, etc. You will start to develop a design and an architecture Keep in mind that it is more flexible to examine your interfaces, i.e. between layers and components in your architecture, i.e. between ‘users’ and ‘information’

Actors The initial analysis will often have many human actors Begin to see where these can be replaced with machine actors – may require additional encoding If you are doing this in a team, take steps to ensure that actors know their role and what inputs, outputs and preconditions are expected of them Often, you may be able to ‘run’ the use case (really the model) before you build anything 30

Developed for NASA TIWG Actors Real people (round heads – smart consumers of information) and computers (block heads – dump consumers) E.g. Data provider, end-user, data manager, alert service Primary – initiate (act on) Secondary – respond (acted upon)

Developed for NASA TIWG What’s a pre-condition? defines all the conditions that must be true (i.e., describes the state of the system) for the trigger to meaningfully cause the initiation of the use case.

Preconditions The preconditions are external to your information system development and you may not understand how they fit in the implementation Some level of modeling of these preconditions may be required (often this will not be in your first pass encoding which focuses on the main process flow, goal, description, etc.) Beware of using another entities data and services: policies, access rights, registration, and ‘cost’ 33

Developed for NASA TIWG What’s a post-condition? describes what the change in state of the system will be after the use case completes. Post-conditions are guaranteed to be true when the use case ends.

Developed for NASA TIWG Success scenarios A re-statement of how the use case via its flows and actors and resources results in achieving the result Describe artifacts produced Describe impacts and metric values

Developed for NASA TIWG Failure scenarios A statement of how the use case via its flows and actors and resources did not result in achieving the result Describe role of actors in failure Describe role of resources in failure Describe what artifacts were and were not produced Describe impacts of failure and any metric values And when you are doing science this is 80% of the outcome!

Developed for NASA TIWG Normal (process) flows A basis step of (usually) distinct steps that result when the use case is triggers (commences) Steps are often separated by actor intervention or represent modular parts of the flow (can encapsulate activities) Can have loops Should end with the final goal achieved

Process flow Each element in the process flow usually denotes a distinct stage in what will need to be implemented Often, actors mediate the process flow Consider the activity diagram (and often a state diagram) as a means to turn the written process flow into a visual one that your experts can review Make sure the artifacts and services have an entry in the resources section 38

Developed for NASA TIWG Alternate (process) flows Variations from the main flow, often invoked by valid but non-usual (or rules) Activity diagrams are useful in representing this part of the document Do not usually represent exceptions/ error flows Can often help to identify general patterns in the use case via similarities with the normal flow While many are possible, usually only include one - illustrative

Developed for NASA TIWG Non-functional requirements (from Wikipedia): requirements which specify criteria that can be used to judge the operation of a system, rather than specific behaviors. This should be contrasted with functional requirements that specify specific behavior or functions. In general, functional requirements define what a system is supposed to do whereas non-functional requirements define how a system is supposed to be.

Developed for NASA TIWG More - non-functional (from Wikipedia): Non-functional requirements are often called qualities of a system. Other terms for non-functional requirements are "constraints", "quality attributes", "quality goals" and "quality of service requirements". Qualities, aka. non-functional requirements, can be divided into two main categories. –Execution qualities, such as security and usability, are observable at run time. –Evolution qualities, such as testability, maintainability, extensibility and scalability, are embodied in the static structure of the software system.

Artifacts – things left behind Add artifacts that the use case generates to the resources list in the table It is often useful to record which artifacts are critical and which are of secondary importance Be thinking of provenance and the way these were produced, i.e. what went into them and produce suitable metadata or annotations Engage the actors to determine the names of these artifacts and who should have responsibility for them (usually you want the actors to have responsibility for evolution) 42

Developed for NASA TIWG General Diagrams Schematic of the Use case Drawing diagrams: Stick figures for actors (person or computer) Boxes to denote resources Arrows to denote process flow Concept maps are a useful tool

Developed for NASA TIWG Schematic

45

Diagrams Use Case Diagram State Diagram Activity Diagram Other Diagrams

47

Schematic

Reviewing the resources Apart from the artifacts and actor resources, you may find gaps Define/ find the authoritative sources for data, information, metadata, configuration Your encodings can also be a resource, make it a first class citizen, e.g. on the web give it a namespace and a URI Sometimes, a test-bed with local data is very useful as you start the implementation process, i.e. pull the data, maybe even implement their service (database, etc.) 49

So far … Summary By now, the reality of going into complete detail for the design should be apparent Keeping it simple is also very important as you begin to implement Being prepared to iterate is really essential Now is the time to validate your model with domain experts and your team The next stage would be to assess your technology components and design (but we cover that later) 50

Interfaces Increasingly in tiered architectures there are numerous interfaces Information flow at interfaces and thus software engineering at those interfaces becomes a very important consideration Is often left to the ‘finish work’ but usually should not 51

Back to what’s next… 52

Developed for NASA TIWG Informatics Requirements Functional requirements specify specific behavior or functions. –In general, functional requirements define what a system is supposed to do whereas non-functional requirements define how a system is supposed to be. Requirements which specify criteria to judge the operation of a system, rather than specific behaviors aka "constraints", "quality attributes", "quality goals" and "quality of service requirements". –Execution qualities, such as security and usability, are observable at run time. –Evolution qualities, such as testability, maintainability, extensibility and scalability, are embodied in the static structure of the software system.

Requirements Start with the actors and capture their required actions, artifacts, outcomes, etc. At each stage of the general (and alternate) process flow, ask them what is required at the stage (and what is optional) Also ask about non-functional requirements (preferably without calling them that) This is required for human and computer actors! Yes, how do you ask a computer? Read the documentation, try it out, or have someone do that for you

Metrics Things you can measure (numerical) Things that are categorical Could not do before Faster, more complete, less mistakes, etc. Wider range of users Measure or estimate the baseline before you start – use case! 55

Evaluation? Can be structured or less-structured A good way to start is to get members of your team (or someone else) to do a peer evaluation This is a professional exercise, treat it that way at all times Other possible techniques for moving forward on evolving the design, what to focus upon, priorities, etc.: SWOT, Porter’s 5 forces 56

Evaluation References Twidale, Randall and Bentley (1994) and references therein Scriven (1991, 1996) Weston, Mc Alpine, and Bordonaro, (1995) Worthen, Sanders, and Fitzpatrick, (1997) 57

Result/ outcome Refer to the use case document Outcome (and value of it) is a combination of data gathering processes, including surveys, interviews, focus groups, document analysis and observations that will yield both qualitative and quantitative results. Did you meet the goal? 58

Evaluation (Twidale et al.) An assessment of the overall effectiveness of a piece of software, ideally yielding a numeric measure by which informed cost-benefit analysis of purchasing decisions can be made. An assessment of the degree to which the software fulfils its specification in terms of functionality, speed, size or whatever measures were pre-specified. 59

Evaluation An assessment of whether the software fulfils the purpose for which it was intended. An assessment of whether the ideas embodied in the software have been proved to be superior to an alternative, where that alternative is frequently the traditional solution to the problem addressed. An assessment of whether the money allocated to a research project has been productively used, yielding useful generalizeable results. 60

Evaluation An assessment of whether the software proves acceptable to the intended end-users. An assessment of whether end-users continue to use it in their normal work. An assessment of where the software fails to perform as desired or as is now seen to be desirable. An assessment of the relative importance of the inadequacies of the software. 61

(Orthogonal) Dimensions of evaluations StructuredLess structured QuantitativeQualitative SummativeFormative Controlled experimentsEthnographic observations Formal and rigorousInformal and opportunistic 62 evaluation carried out for two reasons: grading translations = summative evaluation giving feedback = formative evaluation

Keep in mind You need an evaluation plan that can lead to improvements in what you have built You need an evaluation to value what you have built You need an evaluation as part of your preservation documentation – um, so that you might actually use the approach again, or um, reproduce it ;-) 63

Summarizing… 64

Developed for NASA TIWG When someone asks: “What is your use case”? Treat it like your ‘elevator pitch’ Know them, especially the ones you have implemented Tell them how you used it to develop a solution FOR use

If you have not developed one Try reverse engineering Start with a personal example E.g. balancing your checkbook (hah, that’s SO 80’s) What’s an example that comes to mind? 66

Developed for NASA TIWG Resources s t s Omnigraffle (Mac) or Cmap ESIP wiki template

Discussion About use cases? Requirements? Backward assignment (previous weeks) –Detect the use cases in the presentations (if they are not explicit) –Drive your friends crazy but asking them for their use case 68

Assignment 2 Surprise: use case development Due in ~ three 1/2 weeks (before SPRING break!) Let’s take a closer look 69

What is next NO CLASS next week Office hours are on Tuesday 19 th, 3pm Week 5+6 (26 th  ) – presentations – be prepared Reading for this week is review Reading for week 5 is in preparation for week 6! 70