Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting
|
|
|
- Tyler Horn
- 9 years ago
- Views:
Transcription
1 Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting All rights reserved. You have permission to copy and distribute the document as long as you make no changes and reference the originals. Page 1 of 8
2 Introduction Developers have always used typical scenarios to try to understand what the requirements of a system are and how a system works. Unfortunately although developers have done this, it has rarely been documented in an effective manner. Use Cases are a technique for formalizing the capture of these scenarios. Although Use Cases, as defined in the Objectory book (Object Oriented Software Engineering, Jacobson, Christerson, Jonsson & Overgaard. Addison Wesley 1992), are associated with Objects, the technique is actually independent of Object Orientation. Use Cases are an effective way of capturing both Business Processes and System Requirements, and the technique itself is very simple and easy to learn. Making Requirements available for Review The reason for formally capturing the scenarios is to make them available for review by both the users and the developers. There are 2 specific criteria that any functional requirements notations needs to meet:- 1) it should be easy for the sources and reviewers of the requirements to understand and 2) it should not involve any decisions about the form and content of the system. Functional Requirements are external requirements that are to be used to evaluate the design and final implementation of the system. What these requirements have to do is capture in an implementation-independent manner what the needs and expectations of the stakeholders are. Use Cases make requirements available for review Use Cases are starting to become widely used. Compared to other requirements capture techniques, Use Cases have been successful because:- Use Cases treat the system as a black box and Use Cases make it easy to see implementation decisions in requirements This last point arises out of the first. A Use Case should not nominate any internal structure to the system that the requirements relate to. So if the Use Case states Commit changes to Order Database or Display results on Web Page, the internal structure is easily seen and can be flagged as a potential design constraint. The reason why the requirements should not nominate any internal structure, is that specifying the internals puts extra constraints on the designers. Without these constraints designers have more freedom to create a system that correctly implements the externally observable behavior, and the possibility exists that they may come up with a breakthrough solution. Industry acceptance of Use Cases Use Cases were first formally described about six years ago, and since then have been adopted by most major object oriented methodologies. Use Cases have also been adopted by the business process reengineering community as a useful technique for describing how a business operates, for both the present and future modes of operation. Use Cases themselves have recently received new prominence by virtue of their place and position within the unified modeling language (UML). The UML has been proposed to the OMG as the standard modeling language for object systems. Page 2 of 8
3 What are Use Cases? A Use Case itself is an interaction that a User or other System has with the system that is being designed, in order to achieve a goal. The term Actor is used to describe the person or system that has the goal, this term is used to emphasize the fact that any person or system could have the goal. The goal itself is phrased with an active verb first; examples being Customer: place order, Clerk: reorder stock. As part of the Use Case it is necessary to document what goal success and goal failure means to the Actor and the System. Within the context of placing an order, goal success probably includes the goods being delivered to the Actor and the Company receiving the appropriate payment for said goods. Careful definition of Goal Success and Failure are essential for defining the scope of the system, since for a limited Order Entry system, Goal Success would merely mean that the order has been validated and delivery scheduled. The Role of Scenarios Different scenarios within a Use Case show how the goal succeeds or fails; a success scenario is one in which the goal is achieved, a failure scenario is one where the goal is not achieved. The nice part about this is that because the goals summarize the intention of the various uses of the system, the users can see how they are supposed to use the system. Users can also spot when the system does not support all of their goals, without having to wait for the first prototype, or even worse having to wait for the system to be developed. How Big should a Use Case be? An interesting topic is that of trying to determine how to size a Use Case. One way to address this is to relate the size to the purpose and scope of the Use Case. With a really large scope, a Use Case is not so much addressing a single system but all of the systems used by a business. Such a Business Use Case, would treat the entire company as a black box, and speak of the Actor s Goals with respect to the Company. The scenarios for these Business Use Cases would not be allowed to assume any internal structure to the company. A customer would place an order with the Company, not the Customer Service department. For System Development however, the scope of the Use Case is restricted to a single system. These are the most common form of Use Cases, which we could call System Use Cases, and they treat the system as a black box. These Use Cases cannot specify any internal structure and should be restricted to using only words from the problem domain. Another scope for Use Cases is the design of sub-systems or components within a system. These Implementation Use Cases treat a component as a black box and the actors are the components that interface to it. For example it would be possible to use Implementation Use Cases to specify the requirements for an component to be used by an application. Given this classification, the conversation about the size of a Use Case is easier. The scope of the item to be designed sets the overall size. To assist the system designers, each Use Case should describe only a single thread of activities without major branches. Violation of this restriction can usually be seen by imprecise or vague Goal Success criteria, which makes it hard to use the Use Case as a source for test specifications. As an example of a System Use Case, Query database for low stock is too small as can be seen by the mixing of the implementation detail with the requirements. By contrast however, as a System Use Case, Manage Warehouse is too large, since it cannot be accomplished as a single thread of activities without major branches, and from a system viewpoint it would be hard to Page 3 of 8
4 specify Goal Success. But it would make a good Business Use Case for a Parts Department. For a Parts Department, it would be possible to define Goal Success for Manage Warehouse, (probably in terms of Inventory turns, parts availability, operating costs etc.) The nice thing about these Business Use Cases is that they can be used to categorize the other Use Cases. Thus Manage Warehouse could be used to group all of the Use Cases involved with the actual management of the warehouse. A Formal Definition of Use Cases A Use Case a delivers a measurable result of value to a particular Actor. As noted previously, Actors can be people or external systems that the system being designed has to interact with. The requirement for a Use Case to have a measurable result, is derived from the need for a single thread. As part of having a measurable result, the goal either succeeds or the goal fails. There is no room for middle ground. Achieving the goal of the primary actor is defined as a success, all results that do not meet the goal of the primary actor are defined as goal failure. The different scenarios show all of the paths to success or failure. Documenting Use Cases The nice thing about Use Cases is that the scenarios can be documented with varying degrees of formality. Each scenario refers to a single path through the Use Case, for a particular are set of conditions. Informal text descriptions can be used, but they are sometimes difficult to follow when there are multiple conditions and possible failures. The informal narrative style, however is very useful initially while trying to understand the requirements. Later on in the development of the Use Cases however, it is useful to use a more formal mechanism for documenting the Use Cases. A rough sketch of the Customer: Place Order Use Case could be as follows:- Identify the customer, check that requested goods are in stock and that their credit limit is not exceeded A structured narrative format has proved to be very effective. What this format does is specify a sequence of Actor:Goal pairs for each of the scenarios. The way these are written down is to specify the simple success scenario first, as a sequence of Actor:Goal statements, all of which assume success of all previous goals. This sequence, as shown in the example, is the simplest scenario that leads to success. The Use Cases consider the system that we are designing to be a single black box. No internal structure is recorded at all, and it can be considered to be a single Actor for the purposes of writing out the scenario. The Use Cases do not say anything about the 1. Clerk: Identify Customer 2. System: Identify Item 3. System: Confirm Ship Quantity 4. System: Confirm Credit 5: Customer: Authorize Payment 6. System: Dispatch Order Extensions 1a. Customer not found 1a1. Clerk: Add new Customer 3a. Partial Stock 3a1. Clerk: Negotiate quantity internals of the system, only what goals the system will have and what goals it is responsible for handling. Page 4 of 8
5 Handling Goal Failure - Extensions What needs to be identified next is that each of the steps above may fail. The conditions that may lead to failure need to be captured as extensions to the scenario. These extensions are dealt with by writing a partial scenario below the failure condition and following that partial scenario until it either rejoins the main track or fails. This separation of the failure conditions makes the scenarios more readable. The primary success scenario is the simplest path through the Use Case, each step of the way, the actor's goals were successful. A separate listing of all of the failure conditions allows for better quality assurance. Reviewers can easily check whether all conditions have been specified, or whether some potential conditions have been omitted. Failure scenarios can either be recoverable or non-recoverable. Recoverable failure scenarios eventually succeed, non-recoverable failure scenarios fail directly. Failures within Failures One extra complexity that needs to be highlighted at this point is that within a failure scenario, other failures can occur. This means that the extensions section can have further Failures identified with a slightly longer prefix number: 1a1b. Customer is a bad credit risk. This would be recovered through 1a1b1. Why use a structured narrative format? The value of the structured narrative format is that it is a refutable description. The value of having a refutable description is that it is precise enough to be argued over and disagreed with. That is not the way it works We do not check availability when taking orders You missed a few steps In contrast, the rough sketch provided by informal narrative text descriptions is hard to refute, but it is useful for early understanding of a problem domain. Another way of describing the value of a refutable description is that when you document Use Cases, expect to get feedback from users and developers about the quality of the Use Cases. This is very valuable since it means that corrections can be made very early in the development process. The typical feedback from users highlights different sequencing, possible parallelism or missing steps. Typical feedback from developers is related to requests for clarification about what a particular failure condition means and how to detect it. Graphical Notations for Use Cases There is a graphical notation for depicting Use Cases. The UML uses a simple notation of a "Stick-Man" symbol for the actors and Ovals for the Use Cases as shown in Figure 1 below. These diagrams are great for when you want to see the big picture of how a set of Use Cases are related, and to get an overall picture of the context of a system. Use Case diagrams do not show the different scenarios, what they are intended to show is the relationship between the actors and the Use Cases. So the Use Case diagram needs to be supplemented with the structured narrative text. The UML does have alternative diagrams to show the different scenarios, the normal diagrams that would be used are interaction diagrams and activity diagrams. The main drawback to the use of these diagrams is that they are not as compact as text, but they can be useful for giving the overall feel of a Use Case. For compact a reference on interaction diagrams and activity diagrams see "UML Distilled" by Martin Fowler (Addison- Wesley 1997). Page 5 of 8
6 Customer Place Order Actor Actor Clerk Use Cases Reorder Stock Figure 1. Obtaining Requirements Reuse The value of writing the Use Case descriptions in the Actor:Goal format is that it allows common functionality to be factored out into separate Use Cases. When this is done the commonality is said to be used by the main Use Case. For example the Identify Customer step of Place order could be used by several other Use Cases. Another relationship between Use Cases is that of extension, a Use Case is said to extend another Use Case, if it has complex failure recovery steps, normally with more than three or four steps to recovery. A possible extension to Place Order would be Issue Raincheck for the case when there is no stock available. Complexities and hazards in applying Use Cases No connection between Primary Actor and Use Case In some cases, there is not a clear connection between the actors who get value from the Use Case, and the actors actively participating in the Use Case. For example the Chief Accountant could be the actor for Issue Invoices, but it is unlikely that they would actually initiate the invoice run. This is not a problem, the Use Case is still valid, it just means that the connection between the actors getting the value and the initiation of the Use Case happens outside of the scope of the system being designed. The primary actor is still useful because the person playing that role is the person you need to talk to when documenting the Use Case. Scenario steps do not need to be sequential In cases when the sequence of steps in the scenario does not matter, there are several mechanisms to highlight the potential parallelism. Activity diagrams are the preferred mechanism within the UML, but informally you can notice potentials for parallelism by looking at the Use Case scenario and seeing those steps that are adjacent within the Use Case, and have the same actor responsible Page 6 of 8
7 for the step. Thus in the example we had earlier, there is a potential to confirm the ship quantity and confirm credit in parallel. Sometimes it is useful to note this potential parallelism in the Use Case documentation. Sizing the Use Cases A definite hazard when starting doing Use Cases, is to either have to many steps or too few steps. If there are more that 15 steps in the Use Case, it is likely that some implementation detail has been included. If there of very few steps, check to see if the goal can be achieved as a single thread of activity without many branches. Few (if any) Human Actors If there are few human actors, and most of the Use Cases come from other systems, then the normal mechanism for identifying Use Cases has to be modified. Rather than interviewing the actors, (this is somewhat hard to do with a machine), instead look for the external events that the system must react to or recognize. Requirements Capture and System Complexity In review, the scenarios capture system complexity while the Actor:Goal pairs enable even large systems to be documented in a relatively condensed format. The value of this Use Case format is that instead of having a large functional specification that is rarely read, with Use Cases, users and developers can identify the actors and then confirm that the listed goals match (or do not match) the job responsibilities of that actor. Only then, for the Use Cases that the user or developer is interested in, is it necessary to dive into the details of the scenarios. But Systems have more than just Functional requirements Use Cases however, do not capture all of the external requirements of a system. Use Cases merely capture the functional requirements of how the system will be used. There are many other aspects to the requirements that must be captured and addressed. Some of these non-functional requirements are however, use related, so they can be attached to an individual Use Case. Examples of this include requirements such as throughput and performance. Other requirements however are not use related and need to be captured separately. Examples of these would be System scope the Goals that the Users have for the system user interface prototypes general rules constraints algorithms Run Time vs. Build Time Requirements An important factor to remember when capturing requirements is that the constituency for the system is much larger than just the User community. There are many different Stakeholders in the system, and Use Cases only capture the needs of some of these Stakeholders. In essence, the Use Cases only capture the run time requirements for the system and ignore a major Stakeholder, the system development organization. The Development Organization is has a strong interest in specifying the build time requirements for the system. Page 7 of 8
8 Run time requirements include: System scope, Goal and expectations of the product in the user organization, Use Cases, Other non-functional requirements. The build time requirements include: Ease of development, Robustness in the face of change, Reuse of existing components. The build time requirements can partially be handled by Use Cases. But the are many other aspects that the development organization needs to address; Project scope and goals: what this project must deliver (as distinct from the system scope which typically will be delivered over several projects) Instances of growth and change: these can be captured as "Change cases" in the normal Use Case format Development sponsor constraints: these include standards, practices, tools, quality measures and quality assurance principles and practices. Applicability of Use Cases Use cases are primarily for systems that need to respond to external events. They can be used in other environments provided that there is a clear actor who has a clear understandable goal. Use Cases cannot be used when the outcome is undefined or unclear. This means, that if goal success and goal failure cannot be defined, then Use Cases should not be used to capture the requirements. Having said that however, most modern object methodologies are now using Use Cases. This is because Use Cases have proved to be a very effective mechanism for capturing requirements. Summary Use Cases capture requirements in a readable, refutable format. The Use Cases are a refutable description of the externally required functionally of the system. Refutable means that when you document Use Cases, expect to get feedback from users and developers about the quality of the Use Cases. Use Cases do not need to be precisely defined right from the start. The typical development sequence is as follows 1. Identify actors. 2. Identify the goals of the actors. 3. Identify what success and failure means for each of the Actor:Goal pairs. 4. Identify the primary success scenario for each of these Use Cases. 5. During elaboration, identify failure conditions and the Recoverable/non-Recoverable scenarios. It is only necessary to get to step 4 before deciding which releases of a product a particular Use Case will be developed in. In summary, Use Cases are an effective requirements capture technique that makes requirements available for review, avoiding any implementation bias in the requirements. Acknowledgments This article was heavily influenced by Structuring Use Cases with Goals by Alistair Cockburn, see for the original reference and a suitable template for documenting Use Cases. Page 8 of 8
Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design
I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)
Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions
Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group
Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6
Use Cases Reference: Craig Larman, Applying UML and Patterns, Ch. 6 Use Case What it is: Text story Widely used to discover and record (mostly functional) requirements What is it about: Some actor(s) using
Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011
Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences
Object-Oriented Systems Analysis and Design
Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS
Organizational Requirements Engineering
Chapter 9, Non-functional Requirements Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 1 Overview of
The «include» and «extend» Relationships in Use Case Models
The «include» and «extend» Relationships in Use Case Models Introduction UML defines three stereotypes of association between Use Cases, «include», «extend» and generalisation. For the most part, the popular
Requirements / Use Case Specification
Object - Oriented Programming & Design Part IX - UML Use Case Diagrams CSCI 4448 - Spring 2002 Requirements / Use Case Specification Your way of echoing to the customer what you heard him/her say he/she
Fourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
User experience storyboards: Building better UIs with RUP, UML, and use cases
Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements
Ten steps to better requirements management.
White paper June 2009 Ten steps to better requirements management. Dominic Tavassoli, IBM Actionable enterprise architecture management Page 2 Contents 2 Introduction 2 Defining a good requirement 3 Ten
CPS122 Lecture: State and Activity Diagrams in UML
CPS122 Lecture: State and Activity Diagrams in UML Objectives: last revised February 14, 2012 1. To show how to create and read State Diagrams 2. To introduce UML Activity Diagrams Materials: 1. Demonstration
Database Design Process. Databases - Entity-Relationship Modelling. Requirements Analysis. Database Design
Process Databases - Entity-Relationship Modelling Ramakrishnan & Gehrke identify six main steps in designing a database Requirements Analysis Conceptual Design Logical Design Schema Refinement Physical
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Object Oriented System Analyze and Design of Revenue Information System using UML
Object Oriented System Analyze and Design of Revenue Information System using UML Sany Ang Department of Accounting Petra Christian University, Surabaya, Indonesia [email protected] and Prof. Dr. Chaiyong
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
Using Abuse Case Models for Security Requirements Analysis
Using Abuse Case Models for Security Requirements Analysis John McDermott and Chris Fox Department of Computer Science James Madison University Harrisonburg, Virginia 222807 E-mail: {mcdermot, fox}@cs.jmu.edu
2. Analysis, Design and Implementation
2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:
VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Sub Code : CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year : ME CSE / I Year
Spiel. Connect to people by sharing stories through your favorite discoveries
Spiel Connect to people by sharing stories through your favorite discoveries Addison Leong Joanne Jang Katherine Liu SunMi Lee Development & user Development & user Design & product Development & testing
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
TDDC88 Lab 2 Unified Modeling Language (UML)
TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML
Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Introduction to Systems Analysis and Design
Introduction to Systems Analysis and Design What is a System? A system is a set of interrelated components that function together to achieve a common goal. The components of a system are called subsystems.
SOFTWARE REQUIREMENTS
SOFTWARE REQUIREMENTS http://www.tutorialspoint.com/software_engineering/software_requirements.htm Copyright tutorialspoint.com The software requirements are description of features and functionalities
A UML Introduction Tutorial
A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
CHAPTER 11 REQUIREMENTS
Lecture Software Engineering CHAPTER 11 REQUIREMENTS Lecture Software Engineering Topics Determining What the Client Needs Overview of the Requirements Workflow Understanding the Domain The Business Model
Refactoring BPMN Models: From Bad Smells to Best Practices and Patterns
Refactoring BPMN Models: From Bad Smells to Best Practices and Patterns INTRODUCTION Darius Silingas and Edita Mileviciene, No Magic, Lithuania BPMN is already acknowledged as a de facto standard for business
Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor
Applying Use Cases to Microcontroller Code Development Chris Gilbert Cypress Semiconductor Agenda Why Use Cases Microcontroller Project Development Use Cases Defined Use Cases Composition General Example
Execution of A Requirement Model in Software Development
Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton
The Business Process Model
An Introduction to UML The Business Process Model by Geoffrey Sparks All material (c) Geoffrey Sparks 2000 www.sparxsystems.com.au Geoffrey Sparks 2000 Page:1 Table of Contents THE BUSINESS PROCESS MODEL...3
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Object-oriented design methodologies
Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard
Basics of Dimensional Modeling
Basics of Dimensional Modeling Data warehouse and OLAP tools are based on a dimensional data model. A dimensional model is based on dimensions, facts, cubes, and schemas such as star and snowflake. Dimensional
Chapter 4: Tools of Modern Systems Analysis
Just Enough Structured Analysis Chapter 4: Tools of Modern Systems Analysis Nature has... some sort of arithmetical-geometrical coordinate system, because nature has all kinds of models. What we experience
11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
Quantitative and qualitative methods in process improvement and product quality assessment.
Quantitative and qualitative methods in process improvement and product quality assessment. Anna Bobkowska Abstract Successful improvement of the development process and product quality assurance should
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
Workflow and Process Analysis for CCC
Section 3.6 Design Workflow and Process Analysis for CCC This tool introduces the importance of workflow and process improvement in a community-based care coordination (CCC) program, describes the value
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
BPMN Business Process Modeling Notation
BPMN (BPMN) is a graphical notation that describes the logic of steps in a business process. This notation has been especially designed to coordinate the sequence of processes and messages that flow between
(Refer Slide Time 00:56)
Software Engineering Prof.N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-12 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue
Sofware Requirements Engineeing
Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable
Tips for writing good use cases.
Transforming software and systems delivery White paper May 2008 Tips for writing good use cases. James Heumann, Requirements Evangelist, IBM Rational Software Page 2 Contents 2 Introduction 2 Understanding
Algorithms, Flowcharts & Program Design. ComPro
Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: [email protected] Supervised by:
Test Automation Architectures: Planning for Test Automation
Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550
Software Development in the Large!
Software Development in the Large! Peter Eeles Executive IT Architect, IBM [email protected] IBM Rational Software Development Conference 2007 2007 IBM Corporation Agenda IBM Rational Software Development
Towards an Integration of Business Process Modeling and Object-Oriented Software Development
Towards an Integration of Business Process Modeling and Object-Oriented Software Development Peter Loos, Peter Fettke Chemnitz Univeristy of Technology, Chemnitz, Germany {loos peter.fettke}@isym.tu-chemnitz.de
Business Process Redesign and Modelling
Business Process Redesign and Modelling The Business Process Redesign the Process Handbook the key idea of the Process Handbook approach is that a richly structured online repository about business processes
LECTURE 11: PROCESS MODELING
LECTURE 11: PROCESS MODELING Outline Logical modeling of processes Data Flow Diagram Elements Functional decomposition Data Flows Rules and Guidelines Structured Analysis with Use Cases Learning Objectives
Chapter 4, Requirements Elicitation
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation Software Lifecycle Definition Software lifecycle Models for the development of software Set of activities
Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao
Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
QUALITY TOOLBOX. Understanding Processes with Hierarchical Process Mapping. Robert B. Pojasek. Why Process Mapping?
QUALITY TOOLBOX Understanding Processes with Hierarchical Process Mapping In my work, I spend a lot of time talking to people about hierarchical process mapping. It strikes me as funny that whenever I
Lecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development
Fundamentals of Information Systems, Fifth Edition Chapter 8 Systems Development Principles and Learning Objectives Effective systems development requires a team effort of stakeholders, users, managers,
In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)
CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD) 1. INTRODUCTIONS RAD refers to a development life cycle designed Compare to traditional life cycle it is Faster development with higher quality
Chapter 3. Technology review. 3.1. Introduction
Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects
National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. DEPARTMENT OF COMPUTER SCIENCE, TECHNICAL REPORT SERIES Testing Guidelines for Student Projects Stephen Brown and Rosemary Monahan
Incorporating Aspects into the UML
Incorporating Aspects into the UML Mark Basch University of North Florida Department of Computer and Information Sciences Jacksonville, FL 32224-2645 (904) 620-2985 [email protected] Arturo Sanchez University
User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1
User interface design Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 Objectives To suggest some general design principles for user interface design To explain different interaction
One pile, two pile, three piles
CHAPTER 4 One pile, two pile, three piles 1. One pile Rules: One pile is a two-player game. Place a small handful of stones in the middle. At every turn, the player decided whether to take one, two, or
C H A P T E R Regular Expressions regular expression
7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun
FABRICATION DRAWINGS A Paradigm Shift
INNOVATIVE DIMENSIONS Presented by Fitzpatrick Engineering Group March 2013 2012 Finalist Innovation in Structural Engineering DRAWINGS A Paradigm Shift 19520 Catawba Avenue, Ste 311 Cornelius, NC 28031-3711
Process Flowcharting for SOP Development, Implementation, Training and Maintenance
Vol. 3, No. 7, July 2007 Can You Handle the Truth? Process Flowcharting for SOP Development, Implementation, Training and Maintenance By Lorrie D. Divers Standard operating procedures (SOPs) are detailed,
Requirements Engineering Process for Sales Management System Case study: Tin Phong Trading Co., Ltd. Thanh Duc Tang
Requirements Engineering Process for Sales Management System Case study: Tin Phong Trading Co., Ltd. Thanh Duc Tang Thesis report Business Information Technology 2009 Abstract 10.02.2009 Business Information
Teaching Methodology for 3D Animation
Abstract The field of 3d animation has addressed design processes and work practices in the design disciplines for in recent years. There are good reasons for considering the development of systematic
Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Rose/Architect: a tool to visualize architecture
Published in the Proceedings of the 32 nd Annual Hawaii International Conference on Systems Sciences (HICSS 99) Rose/Architect: a tool to visualize architecture Alexander Egyed University of Southern California
Collated Food Requirements. Received orders. Resolved orders. 4 Check for discrepancies * Unmatched orders
Introduction to Data Flow Diagrams What are Data Flow Diagrams? Data Flow Diagrams (DFDs) model that perspective of the system that is most readily understood by users the flow of information around the
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
Umbrello UML Modeller Handbook
2 Contents 1 Introduction 7 2 UML Basics 8 2.1 About UML......................................... 8 2.2 UML Elements........................................ 9 2.2.1 Use Case Diagram.................................
Expert in Disaster Recovery Scenarios. 1. Introduction. Michel Verheijen and Marcel E.M. Spruit
Expert in Disaster Recovery Scenarios Michel Verheijen and Marcel E.M. Spruit Many organizations rely heavily on the availability of their information systems. It is the responsibility of the disaster
Does pay inequality within a team affect performance? Tomas Dvorak*
Does pay inequality within a team affect performance? Tomas Dvorak* The title should concisely express what the paper is about. It can also be used to capture the reader's attention. The Introduction should
2.1. Introduction to UML: Use-Case Diagram
Training Workshop on Business Process Analysis in International Trade Module 2: Analysis and description of existing business processes related to foreign trade activities 2.1. Introduction to UML: Use-Case
10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)
Slide 10..1 CHAPTER 10 Slide 10..2 Object-Oriented and Classical Software Engineering REQUIREMENTS Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach [email protected] Overview Slide 10..3
Functional Requirements and Use Cases
A R C H IT E C T U R E R For Enterprise Advantage http://www.bredemeyer.com E S O U R C E S B REDEMEYER CONSULTING, Tel: (812) 335-1653 Architecture Architects Architecting Functional Requirements and
UML TUTORIALS THE USE CASE MODEL
UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between
Current California Math Standards Balanced Equations
Balanced Equations Current California Math Standards Balanced Equations Grade Three Number Sense 1.0 Students understand the place value of whole numbers: 1.1 Count, read, and write whole numbers to 10,000.
Graphical Integration Exercises Part Four: Reverse Graphical Integration
D-4603 1 Graphical Integration Exercises Part Four: Reverse Graphical Integration Prepared for the MIT System Dynamics in Education Project Under the Supervision of Dr. Jay W. Forrester by Laughton Stanley
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
Aerospace Software Engineering
16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle
COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz
COSC 3351 Software Design Recap for the first quiz Spring 2008 For the 1 st Quiz Three large topic areas: UML syntax and diagrams Software architectural styles Object oriented design principles A couple
Using Use Cases on Agile Projects
Using Use Cases on Agile Projects Ivar Jacobson with Ian Spence Agenda What are agile teams looking for? Cards, conversations, and confirmations Knowing what to do and when it s done Being agile with use
Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff in charge: Dr.M.Senthil Kumar
VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff
Section C. Requirements Elicitation
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
Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
Universiteit Leiden. Opleiding Informatica
Internal Report 2012-08 August 2012 Universiteit Leiden Opleiding Informatica Maintaining a software system with the use of Domain-Specific languages Tyron Offerman BACHELOR THESIS Leiden Institute of
Anyone Can Learn PROC TABULATE
Paper 60-27 Anyone Can Learn PROC TABULATE Lauren Haworth, Genentech, Inc., South San Francisco, CA ABSTRACT SAS Software provides hundreds of ways you can analyze your data. You can use the DATA step
INTRUSION PREVENTION AND EXPERT SYSTEMS
INTRUSION PREVENTION AND EXPERT SYSTEMS By Avi Chesla [email protected] Introduction Over the past few years, the market has developed new expectations from the security industry, especially from the intrusion
