Section C. Requirements Elicitation

Similar documents
Menouer Boubekeur, Gregory Provan

Chap 1. Introduction to Software Architecture

UML TUTORIALS THE USE CASE MODEL

Use Cases. Massimo Felici. Massimo Felici Use Cases c

VAIL-Plant Asset Integrity Management System. Software Development Process

Object Oriented Programming. Risk Management

Requirements engineering

Software Development Methodologies

2. Analysis, Design and Implementation

To introduce software process models To describe three generic process models and when they may be used

Designing Real-Time and Embedded Systems with the COMET/UML method

What is a life cycle model?

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

SOFTWARE REQUIREMENTS

Software Specification and Architecture 2IW80

Public Health Reporting Initiative Functional Requirements Description

Introduction to Public Health Informatics

Use Case Diagrams. Tutorial

Chapter 4 Software Lifecycle and Performance Analysis

Requirements / Use Case Specification

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Meta-Model specification V2 D

A UML Introduction Tutorial

Using UML Part Two Behavioral Modeling Diagrams

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

3SL. Requirements Definition and Management Using Cradle

Business Modeling with UML

Economic and Financial Considerations in Health Policy. Gerard F. Anderson, PhD Johns Hopkins University

Applying 4+1 View Architecture with UML 2. White Paper

Abstract. 1 Introduction

Design Document Version 0.0

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Business Process Modeling Information Systems in Industry ( )

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Instructional Systems Design

PROJECT MANAGEMENT SYSTEM

Tips for writing good use cases.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Sofware Requirements Engineeing

User experience storyboards: Building better UIs with RUP, UML, and use cases

Developing a Vision for Functional Requirements Specification for. Electronic Data Exchange between Clinical and Public Health Settings:

HL7 and Meaningful Use

Security Attack Testing (SAT) testing the security of information systems at design time $

Quick Guide Business Process Modeling Notation (BPMN)

MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS

Chapter 1 - From Beginning to End: An Overview of Systems Analysis and Design Lecture Notes

White Paper What Solutions Architects Should Know About The TOGAF ADM

Assessment, Feedback, Incentives, exchange (AFIX) 2014 Provider Site Visit Questionnaire. Answer Guide

Examples of Quality Improvement Projects in Adult Immunization

I219 Software Design Methodology

How to Approach a Study: Concepts, Hypotheses, and Theoretical Frameworks. Lynda Burton, ScD Johns Hopkins University

11 Tips to make the requirements definition process more effective and results more usable

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Writing Use Case Scenarios for Model Driven Development

2.1. Introduction to UML: Use-Case Diagram

Workflow Redesign for EHRs. College of St. Scholastica

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005]

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

Classical Software Life Cycle Models

An Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract

Vancouver Chapter Study Group. BABOK Chapter 1 Introduction. Jorge Vega

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

Elicitation and Modeling Non-Functional Requirements A POS Case Study

Request for Information Integrated Portfolio, Project & Management Information System Technical Assistance Unit RFI: TAU/01

Software Engineering. System Modeling

Modeling Temporal Data in Electronic Health Record Systems

A Methodology for the Development of New Telecommunications Services

SysML Modelling Language explained

Software Lifecycles Models

Chapter 4, Requirements Elicitation

Non-Functional Requirements

Business Process Analysis for Business Process Simplification and Automation

Software Engineering Reference Framework

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Clinical Health Informatics: An Overview for Nurses Chapter 4

Object-Oriented Systems Analysis and Design

HL7 and Meaningful Use

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

What is a requirement? Software Requirements. Descriptions and specifications of a system

Transcription:

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike License. Your use of this material constitutes acceptance of that license and the conditions of use of materials on this site. Copyright 2011, The Johns Hopkins University and Anna Orlova. All rights reserved. Use of these materials permitted only in accordance with license rights granted. Materials provided AS IS ; no representations or warranties provided. User assumes all responsibility for use, and all liability related thereto, and must independently review all materials for accuracy and efficacy. May contain materials owned by others. User is responsible for obtaining permissions for use from third parties as needed.

Section C Requirements Elicitation

Requirements Elicitation Includes: Specifying goals Specifying high-level system architecture Specifying actors (business and technical) Specifying hardware and software requirements Specifying functional and nonfunctional requirements Specifying system evaluation plan Specifying use cases Developing models/diagrams - Use case, workflow, and dataflow Specifying project timeline and documentation 3

Specifying Actors Actors represent the external entities that interact with the system Business actors: stakeholders and entities - For example, providers, patients, public health practitioners, public health agencies, hospitals, etc. Technical actors: information systems - For example, EHR-S, PHR, LIMS, etc. 4

Example of Immunization Registries: Goals and Actors The goal of the immunization registry is to help prevent spread of infectious diseases by timely administering vaccination to children within a geographic area Business actors - Patient - Physician - Nurse - Immunization registry staff Technical actors - Provider EHR system - Immunization registry 5

Requirements Elicitation Includes: Specifying goals Specifying high-level system architecture Specifying actors (business and technical) Specifying hardware and software requirements Specifying functional and nonfunctional requirements Specifying system evaluation plan Specifying use cases Developing models/diagrams - Use case, workflow, and dataflow Specifying project timeline and documentation 6

Specifying Functions Function is the description of the interaction between the information system and its environment The environment includes the users (business actor) and external systems (technical actor) with which the system interact 7

Specifying Functions Generic functions of an information system include: - Collect data (input) - Manage data (verify, store, upload, etc.) - Integrate data - Analyze data (SAS, SPSS, STRATA, GIS) - Generate reports (output, e.g., summary, reminders, notification, alert, update, etc.) 8

Example: Immunization Registries The goal of the immunization registry is to help prevent spread of infectious diseases by timely administering vaccination to children within a geographic area To achieve this goal, the immunization registry system will support the following functions: - Consolidate (collect, manage, integrate) vaccination records from multiple health care providers within jurisdiction, - Generate reminder and recall notifications (analyze data and generate reports) to providers and patients, - Assess clinic performance (analyze data and generate reports) in vaccination coverage 9

Specifying Functions A nonfunctional requirement is a constraint on the operation of the system that is not related directly to a function of the system Non-functional requirements have as much impact on the system as functional requirements 10

Requirements Elicitation Includes: Specifying goals Specifying high-level system architecture Specifying actors (business and technical) Specifying hardware and software requirements Specifying functional and nonfunctional requirements Specifying system evaluation plan Specifying use cases Developing models/diagrams - Use case, workflow, and dataflow Specifying project timeline and documentation 11

Specifying Functions Nonfunctional requirements falls into two categories: 1. Quality requirements 2. Constraints or pseudo requirements 12

Quality Requirements Usability Reliability, dependability, robustness, safety Performance (response time, throughput, availability, accuracy) Supportability, adaptability, maintainability, portability Implementation 13

Constraints or Pseudo Requirements Implementation requirements Interface requirements Operation requirements System security requirements Packaging requirements Legal requirements 14

Requirements Elicitation Includes: Specifying goals Specifying high-level system architecture Specifying actors (business and technical) Specifying hardware and software requirements Specifying functional and nonfunctional requirements Specifying system evaluation plan Specifying use cases Developing models/diagrams - Use case, workflow, and dataflow Specifying project timeline and documentation 15

Specifying Use Cases Use cases are general sequences of events that describe all the possible actions between an actor and the system for a given piece of functionality 16

Example: Immunization Registry Use case name Actors Flow of events Immunization Patient, physician, nurse, immunization registry (IR) staff, EHR system, immunization registry 1. Patient comes to physician for a general check-up, and he/she is due for immunization 2. Physician orders an immunization 3. Nurse administers an immunization Entry conditions EHR system 4. Nurse enters data on the immunization in the Electronic Health Record (EHR) system 5. Nurse electronically sends immunization data to the local immunization registry 6. Immunization registry staff receives data Exit conditions Quality Immunization registry Daily updates 17

Use Case and Actors Identification of actors and use cases within an application domain results in the definition of the boundary of the system - That is, in differentiating the tasks accomplished by the system The actors are outside the boundary of the system, whereas the use cases are inside the boundary of the system 18

Requirements Elicitation Includes: Specifying goals Specifying high-level system architecture Specifying actors (business and technical) Specifying hardware and software requirements Specifying functional and nonfunctional requirements Specifying system evaluation plan Specifying use cases Developing models/diagrams - Use case, workflow, and dataflow Specifying project timeline and documentation 19

Modeling Modeling is one of the basic methods of science A model is an abstract representation of a domain (a field, a problem) that enables us to answer questions about the domain Models allow to visualize the domain 20

Modeling Software engineering is a field that deals with building software products; it includes: - A modeling activity to understand an organization of the application domain - A problem solving activity to search for acceptable solution. - A knowledge-acquisition activity that collects data, organize it into information and formalize it into knowledge. - A rationale-driven activity that puts the found solution in the context in which it will be used in a decision-making process and rationale behind these decisions 21

Modeling To communicate your needs to developers, you need to learn developer s language This language is modeling 22

Foundation of Successful IT Application: Modeling Developers Information Technology You user Informatics Adapted by CTLT from CP Friedman. (1995). Where's the science in medical informatics? J Am Med Inform Assoc, 65 67. 23

Modeling in Software Engineering Software engineering uses modeling of the domain to: - Capture domain knowledge - Precisely specify requirements That is, describe a solution in a format of a structured document (specification) so that all stakeholders (actorsusers) may understand and agree on them - Guide the thought process - Generate potential configuration of the system describing its generic structure and meaning - Abstract specifications of the essential structure of the system - Tell what something does (functional specification) as well as how the function is accomplished (implementation) Source: Rumbaugh et al. (1999). Unified Modeling Language Manual. 24

Developer s Language: Graphical Symbols Unified modeling language (UML) is a standard used by developers to model the application domain UML is a language of graphical symbols that are used in depicting and describing: a. A system in general system architecture b. System components c. The interaction of the system components Developer s language is the notation for representing objectoriented models Source: Rumbaugh et al. (1999). The Unified Modeling Language Manual, 23 29; http://www.uml.org 25

Developer s Language: Notation A notation is a graphical or textual set of rules for representing a model - E.g., the Roman alphabet is a notation for representing words To enable accurate communication a notation must: - Come with a well-defined semantics - Be well suited for representing a given aspect of a system - Be well understood among project participants In the latter lies the strength of standards and conventions: when a notation used by a large number of participants, there is little room for misinterpretation and ambiguity 26

The Goal of UML The goal of UML is to: - Provide a standard notation that can be used by all objectoriented methods - Select and integrate the best elements of precursor notations Source: http://www.uml.org 27

UML Models The functional model, represented in UML with use case diagrams, describes the functionality of the system from the user s point of view The object model, represented in UML with class diagram, describes the structure of the system in terms of objects, attributes, associations, and operations - E.g., HL7 RIM The dynamic model, represented in UML with interaction diagrams, statecharts diagram, and activity diagrams, describes the internal behavior of the system - Interaction diagrams describe behavior as a sequence of messages exchanged among a set of objects - Statechart diagrams describe behavior in terms of states of an individual object Source: http://www.uml.org 28

Five UML Notations 1. Use case diagrams 2. Class diagrams 3. Interaction diagrams 4. Statechart diagrams 5. Activity diagrams Source: http://www.uml.org 29

Five UML Notations 1. Use case diagrams 2. Class diagrams 3. Interaction diagrams 4. Statechart diagrams We will focus only on use case diagrams and activity diagrams 5. Activity diagrams Source: http://www.uml.org 30

Use Case Diagrams Use case diagram describes the use case in a graphical way - That is, what a system does from the standpoint of an external observer (actor) - The emphasis is on what a system (functions) does rather than how 31

Use Case Diagram Symbols Rectangular box: represents the Application Domain described in the Use Case - For example, immunization Actor: any entity (object) that interacts with the system (e.g., end user, another system, etc.) Oval: depicts the function to be provided by the system that yields a visible result for an actor Functions Line: indicates action - Connects the actor to the function in which he participates in the system - Highlights the relationship between objects in the system 32

Use Case Diagram Symbols Public Health Domain Action Use cases Actor 33

Specifying Use Case Use Case Format: Immunization Use case name Actors Flow of events Immunization Patient, physician, nurse, immunization registry (IR) staff, EHR system, immunization registry 1. Patient comes to physician for a general check-up, and he/she is due for immunization 2. Physician orders an immunization 3. Nurse administers an immunization Entry conditions EHR system 4. Nurse enters data on the immunization in the Electronic Health Record (EHR) system 5. Nurse electronically sends immunization data to the local immunization registry 6. Immunization registry staff receives data Exit conditions Quality Immunization registry Daily updates 34

UML Use Case Diagram: Immunization Immunization domain 1. Visits provider Patient 2. Orders immunization 3. Administers immunization Provider 4. Enter Immunization data in EHR Nurse 5. Send data to registry Source: http://www.uml.org 6. Receives data Immunization registry staff 35

Work Flow and Data Flow Diagrams Work flow diagrams: notation for representing user participation in the system Data flow diagrams: notation for representing systems in term of data sources and data transformation 36

Work Flow and Data Flow Diagram Symbols Rectangular box: represents Business Actor = entity (object) involved in the system - For example, patient, provider, public health agency, etc. Diamond: represents a decision point in the process - Typically, it requires a Yes/No response that triggers further activities within the system for example, provider orders immunization Rounded box: represents the event that happens automatically - For example, nurse administers immunization as ordered by provider 37

Work Flow and Data Flow Diagram Symbols Line with arrow: shows the order/direction of steps/activities (flow of steps) within the system Paper sheet or e-encounter record symbol: represents data recording points within the system Technical Actor = information system - EHR, IR, etc. 38

Work Flow and Data Flow Immunization Electronic Data Submission Patient Patient Physician Nurse Public health agency Visits Physician Encounter record Orders immunization Order record Nurse Receives immunization Vaccine admin. record EHR Administers immunization Submits data to IR IR EPR: electronic patient record IR: immunization registry 39

Other Use Cases There may be situations when an immunization will not be administered at the time of the patient visit when immunization might otherwise be due for example: - Provider does not have the immunization history of the patient to know if immunization is due - Patient is due for immunization but has contraindications for example, a fever so immunization has to be postponed - Patient is due for immunization but refuses to be immunized because of beliefs - Etc. These various scenarios described as Use Cases are the lower levels of knowledge representation of the immunization domain 40

Requirements Elicitation Includes: Specifying goals Specifying high-level system architecture Specifying actors (business and technical) Specifying hardware and software requirements Specifying functional and nonfunctional requirements Specifying system evaluation plan Specifying use cases Developing models/diagrams - Use case, workflow, and dataflow Specifying project timeline and documentation 41