Vragen. Use case analysis. Use-Cases: describing how the user will Use cases

Similar documents
Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Practical issues. Software system engineering (2IW60) Practical issues. Software Engineering topics. Examination:

Lecture 8 Requirements Engineering

Lecture 6: Requirements Engineering

Lecture 9 Requirements Engineering II

Requirements Validation and Negotiation

Software specification and modelling. Requirements engineering

Requirement Analysis

Delimited. Interfaced. Readable. Modifiable. Verifiable. Prioritized* Endorsed

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Natural Language Specification

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Basics : the Requirements Engineering Process

Requirements Specifications & Standards

Chapter 4 Objectives

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

The software lifecycle and its documents

Sofware Requirements Engineeing

Quality Software Requirements By J. Chris Gibson

Requirements Validation and Negotiation (cont d)

TESTING SOFTWARE QUALITY CHARACTERISTICS

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Ch 4: Requirements Engineering. What are requirements?

Lesson 06. Requirement Engineering Processes

Elements of Requirements Style

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Requirements Validation and Negotiation

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Requirements engineering

Elements of Requirements Style

Restricted Use Case Modeling Approach

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax

Final Project Grading Criteria, CSCI 588, Fall 2001

Requirements Engineering

Human Error Taxonomy

SEG3201 Basics of the Requirements Process

Requirements. CxOne Standard

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Purpose and Structure of Requirements Specifications (following IEEE 830 Standard)

CIS 890: Safety Critical Systems

Lecture 5: Requirements Specifications

Software Architecture. Definition of Software Architecture. The importance of software architecture. Contents of a good architectural model

(c) Addison Wesley Chapter 3. ! Interviewing customers and domain experts. ! Questionnaires. ! Observation. ! Study of documents and software systems

Software Engineering - I

Quality Software Requirements By J. Chris Gibson

XIV. The Requirements Specification Document (RSD)

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

350 Index 2005 GOAL/QPC

REQUIREMENTS. Michael Weintraub Spring, 2016

11/8/ th IEEE Requirements Engineering Conference 27-Sep to 1-Oct, 2010

Requirements Engineering Process

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

Software Requirements and the Requirements Engineering Process. Chapters 5 and 6

AmI Design Process. 01QZP - Ambient intelligence. Fulvio Corno. Politecnico di Torino, 2017/2018

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Modeling Issues Modeling Enterprises. Modeling

Concepts of Usability. Usability Testing. Usability concept ISO/IS What is context? What is context? What is usability? How to measure it?

BCS Certificate in Requirements Engineering Extended Syllabus Version 2.5 May 2017

UNIT-II REQUIREMENTS ANALYSIS AND SPECIFICATION

Building UAE s cyber security resilience through effective use of technology, processes and the local people.

Requirements Engineering. Version October 2016

FedRAMP General Document Acceptance Criteria. Version 1.0

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

CREATING EFFECTIVE USER STORIES

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

Software Engineering Unit 4- Requirement Analysis and Specification

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212

IBM Software Group. Mastering Requirements Management with Use Cases Module 8: Refine the System Definition

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

The LUCID Design Framework (Logical User Centered Interaction Design)

The requirements engineering process

SE 2730 Final Review

Requirements Analysis. Requirement analysis. Requirements analysis 3/11/14. Advanced Programming

[Product] MTM Program Product Software Requirements Specification

Evidence-based Development coupling structured argumentation with requirements development.

Objectives. Connecting with Computer Science 2

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas

Mathematics and Computing: Level 2 M253 Team working in distributed environments

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

Sample Exam Syllabus

Requirements Analysis. SE 555 Software Requirements & Specification

Introduction to Software Engineering: Requirements

OUTLINE. Advanced Technical Communication & Writing Skills. What is technical communication? Technical communication skills

BUILDING GOOD-QUALITY FUNCTIONAL SPECIFICATION MODEL

Introduction to Software Engineering

Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Deriving safety requirements according to ISO for complex systems: How to avoid getting lost?

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

Standard Glossary of Terms Used in Software Testing. Version 3.01

Recommended Practice for Software Requirements Specifications (IEEE)

Introduction to Software Testing

Software Design Report

Individual Project. Agnieszka Jastrzębska Władysław Homenda Lucjan Stapp

DITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee

Transcription:

Vragen Use case analysis Welke problemen kunnen optreden bij het expliciet maken van het impliciete model bij conceptueel modelleren? Wat is het doel van elicitatie? Noem een aantal elicitatie technieken? Determine the classes of users that will use the facilities of this system (actors) Determine the tasks that each actor will need to do with the system / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 0 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 1 Use-Cases: describing how the user will use the system Use cases A use case is a typical sequence of actions that a user performs in order to complete a given task The objective of use case analysis is to model the system from the point of view of how users interact with this system when trying to achieve their objectives. It is one of the key activities in analysis A use case model consists of a set of use cases an optional description or diagram indicating how they are related A use case should Cover the full sequence of steps from the beginning of a task until the end. Describe the user s s interaction with the system... Not the computations the system performs. Be written so as to be as independent as possible from any particular user interface design. Only include actions in which the actor interacts with the computer. Not actions a user does manually / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 2 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 3

Scenarios How to describe a single use case A scenario is an instance of a use case A specific occurrence of the use case a specific actor... at a specific time... with specific data. A. Name: Give a short, descriptive name to the use case. B. Actors: List the actors who can perform this use case. C. Goals: Explain what the actor or actors are trying to achieve. D. Preconditions: State of the system before the use case. E. Summary: Give ashort informal description. F. Related use cases. G. Steps: Describe each step using a 2-column format. H. Postconditions: State of the system in following completion. A and G are the most important / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 4 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 5 Use case diagrams The modeling processes: Choosing use cases on which to focus Registrar Actor Add Course Offering Add Course Find information about course Student Register in Course Enter Grade for Course Often one use case (or a very small number) can be identified as central to the system The entire system can be built around this particular use case There are other reasons for focusing on particular use cases: Some use cases will represent a high risk because for some reason their implementation is problematic Some use cases will have high political or commercial value Professor Actor / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 6 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 7

The benefits of basing software development on use cases They can Help to define the scope of the system Be used to plan the development process Be used to both develop e and validate the e e Form the basis for the definition of test cases Use cases must not be seen as a panacea The use cases themselves must be validated Using the validation methods. Some aspects of software are not covered by use case analysis. Innovative solutions may not be considered. Be used to structure user manuals / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 8 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 9 Requirement documents Requirement documents An informal outline of the using a few paragraphs or simple diagrams definition A long list of specifications that contain thousands of pages of intricate detail specification Requirements documents for large systems are normally arranged in a hierarchy Level of required detail The size of the system The need to interface to other systems The readership The stage in gathering The level of experience with the domain and the technology The cost that would be incurred if the were faulty / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 10 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 11

Prioritizing (MoSCoW) Prioritizing (Kano model) Must haves: top priority Should haves: highly desirable Could haves: if time allows Won t haves: not today Attractive: more satisfied if +, not less satisfied if Must-be: dissatisfied when -, at most neutral One-dimensional: satisfaction proportional to number Indifferent: don t care Reverse: opposite of what analyst thought Questionable: preferences not clear One dimensional / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 12 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 13 Kano model Requirements specification readable understandable non-ambiguous complete verifiable consistent t modifiable traceable usable / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 14 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 15

IEEE Standard 830 IEEE Standard 830 (cntd) 1. Introduction 2. General description 1.1. Purpose 2.1. Product perspective 1.2. Scope 2.2. Product functions 1.3. Definitions, acronyms and abbreviations 1.4. References 1.5. Overview 2.3. User characteristics 2.4. Constraints 2.5. Assumptions and dependencies 3. Specific 3. Specific 3 2 Functional 3.1. External interface 3.1.1. User interfaces 3.1.2. Hardware interfaces 3.1.3. Software interfaces 3.1.4. Comm. interfaces 3.2. Functional 3.2.1. User class 1 3.2.1.1. Functional req. 1.1 3.2.1.2. Functional req. 1.2... 3.2.2. User class 2 33 3.3. Performance 3.4. Design constraints 3.5. Software system attributes 3.6. Other SE, Requirements Engineering, Hans van Vliet, 2007 16 SE, Requirements Engineering, Hans van Vliet, 2007 17 Requirements management Requirements management stability requ uirements too early freeze creep Requirements identification (number, goal-hierarchy numbering, version information, attributes) Requirements change management (CM) Requirements traceability: Where is requirement implemented? Do we need this requirement? Are all linked to solution elements? What is the impact of this requirement? Which requirement does this test case cover? Related to Design Space Analysis time SE, Requirements Engineering, Hans van Vliet, 2007 18 SE, Requirements Engineering, Hans van Vliet, 2007 19

Functional vs. Non-Functional Requirements functional : the system services which are expected by the users of the system. non-functional (quality) : the set of constraints the system must satisfy and the standards which must be met by the delivered system. speed size ease-of-use reliability robustness portability Reviewing Each individual requirement should Have benefits that outweigh the costs of development Be important for the solution of the current problem Be expressed using a clear and consistent notation Be unambiguous Be logically consistent Lead to a system of sufficient quality Be realistic with available resources Be verifiable Be uniquely identifiable Does not over-constrain the design of the system SE, Requirements Engineering, Hans van Vliet, 2007 20 / Faculteit Wiskunde en Informatica 16-2-2011 PAGE 21 Validation of Requirements Review Checklist Inspection of the requirement specification w.r.t. correctness, completeness, consistency, accuracy, readability, and testability. Some aids: structured walkthroughs prototypes simulation use cases and scenarios analysis develop a test t plan tool support for formal specifications 1. Does the (software) product have a succinct name, and a clearly described purpose? 2. Are the characteristics of users and of typical usage mentioned? (No user categories missing.) 3. Are all external interfaces of the software explicitly mentioned? (No interfaces missing.) 4. Does each specific requirement have a unique identifier? 5. Is each requirement atomic and simply formulated? (Typically a single sentence. Composite must be split.) 6. Are e e organized into coherent e groups? (If necessary, hierarchical; not more than about ten per group.) 7. Is each requirement prioritized? (Is the meaning of the priority levels clear?) SE, Requirements Engineering, Hans van Vliet, 2007 22 23

Requirements Review Checklist (continued) Requirements documents... 8. Are all unstable marked as such? (TBC=`To Be Confirmed', TBD=`To To Be Defined') 9. Is each requirement verifiable (in a provisional acceptance test)? (Measurable: where possible, quantify; capacity, performance, accuracy) 10.Are the consistent? (Non-conflicting.) 11.Are the sufficiently precise and unambiguous? (Which interfaces are involved, who has the initiative, who supplies what data, no passive voice.) 12.Are the complete? Can everything not explicitly constrained indeed be viewed as developer freedom? Is a product that satisfies every requirement indeed acceptable? (No missing.) 13.Are the understandable to those who will need to work with them later? 14.Are the realizable within budget? 15.Do the express actual customer needs (in the language of the problem domain), rather than solutions (in developer jargon)? The document should be: sufficiently complete well organized clear agreed to by all the stakeholders Traceability: rationale Requirements document 1.1 XXXX... because 1.2 YYYY Design document...due to requirement 1.2 24 25 Requirements document... Managing Changing Requirements A. Problem B. Background information C. Environment and system models D. Functional Requirements E.Non-functional Requirements change because: Business process changes Technology changes The problem becomes better understood Requirements analysis never stops Continue to interact with the clients and users The benefits of changes must outweigh the costs. Certain small changes (e.g. look and feel of the UI) are usually quick and easy to make at relatively little cost. Larger-scale changes have to be carefully assessed Forcing unexpected changes into a partially built system will probably result in a poor design and late delivery Some changes are enhancements in disguise Avoid making the system bigger, only make it better 26 27