CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Design Concepts and Principles
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Use-case Modeling.
Software Testing and Quality Assurance
Project Planning Dr. Jane Dong Electrical and Computer Engineering.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Component-Level Design
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Use Case Analysis Chapter 6.
© 2005 Prentice Hall3-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Requirements Analysis Concepts & Principles
Requirements (recap)‏
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
SE 555 Software Requirements & Specification Requirements Validation.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
Analysis Concepts and Principle.
USE Case Model.
Chapter 4 Requirements Engineering
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Applying the Inspection Process. What Software Artifacts Are Candidates for Inspection? Software Requirements Software Designs Code Test Plans.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
Software Project Planning Chapter 2 Applied Software Project Management, Stellman & Greene.
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.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Approaching a Problem Where do we start? How do we proceed?
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Applied Software Project Management
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
UML-1 3. Capturing Requirements and Use Case Model.
Project Management Planning Minder Chen, Ph.D. CSU Channel Islands
UML-1 8. Capturing Requirements and Use Case Model.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Initiation Project Management Minder Chen, Ph.D. CSU Channel Islands
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
CPSC 371 John D. McGregor Session 10 Requirements analysis methods.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
System Development Life Cycle (SDLC). Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
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.
Pepper modifying Sommerville's Book slides
Use Case Analysis Chapter 6.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Lecture 9- Design Concepts and Principles
Lecture 9- Design Concepts and Principles
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Presentation transcript:

CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision

Requirements problems Customers don’t know what they want Requirements change during the course of the project Customers have unreasonable timelines Communication gaps exist between customers, engineers and project managers The development team doesn't understand the politics of the customer's organization

Statement of requirements Not ambiguous or vague. Clearly worded. Sufficiently detailed so that everything is known. (Project over-runs and problems usually come from unknowns that were not identified, or sufficiently well-analyzed.) Related to the business needs. Listed in sufficient detail to create a working system or product design.

Prioritize requirements Not time to give everything all the attention you would like Different circumstances result in different criteria for prioritizing – Risk – Which customer wants it More about risk later Follow a process that is repeatable and justifiable

Analyze the impact of change If a requirement is changed what will it take to adjust other requirements? What will this do to time to market Is the change important enough to make the effort to make the other changes Prioritize stakeholders as well as requirements

Operations on Models Partitioning – break the model elements into parts Abstraction – eliminate details to find commonality Projection – define a view on a portion of the model

Partitioning A use case may be long and complicated or you may recognize that part of one use case is also part of another use case. Modularity is a fundamental software engineering construct. A design that is modular is less complex than one that is not.

Abstraction An actor is a specific role By abstracting we can define an abstract actor for a broad role and then more concrete actors under that Abstraction is a fundamental software engineering construct. Abstraction enhances reuse and reduces complexity.

Projection A stakeholder may only be interested in those uses in his/her department and would like not to be distracted by other uses. In a use case diagram we can hide those use cases that a viewer should not have to try to understand. Projection is a fundamental modeling operation. It reduces the cognitive load on the viewer.

1:Initiate notification2: Create notification

Requirements review/inspection The terms review and inspection are often used interchangeably but there are some differences. A review is usually a less formal read through by individuals while an inspection is usually a team process done together. Either may result in a formal report. What criteria are used for the inspection? How do you get those criteria?

anda.pdf?ip= &acc=ACTIVE%20SERVICE&CFID= &CFTOKEN= &__acm__= _d2f1ccffe06439e7755c2d2ecd2f3f6d

1. Actors 1.1. Are there any actors that are not defined in the use case model, that is, will the system communicate with any other systems, hardware or human users that have not been described? 1.2. Are there any superfluous actors in the use case model, that is, human users or other systems that will not provide input to or receive output from the system? 1.3. Are all the actors clearly described, and do you agree with the descriptions? 1.4. Is it clear which actors are involved in which use cases, and can this be clearly seen from the use case diagram and textual descriptions? Are all the actors connected to the right use cases? 2. The use cases 2.1. Is there any missing functionality, that is, do the actors have goals that must be fulfilled, but that have not been described in use cases? 2.2. Are there any superfluous use cases, that is, use cases that are outside the boundary of the system, do not lead to the fulfilment of a goal for an actor or duplicate functionality described in other use cases? 2.3. Do all the use cases lead to the fulfilment of exactly one goal for an actor, and is it clear from the use case name what is the goal? 2.4. Are the descriptions of how the actor interacts with the system in the use cases consistent with the description of the actor? 2.5. Is it clear from the descriptions of the use cases how the goals are reached and do you agree with the descriptions?

3. The description of each use case 3.1. Is expected input and output correctly defined in each use case; is the output from the system defined for every input from the actor, both for normal flow of events and variations? 3.2. Does each event in the normal flow of events relate to the goal of its use case? 3.3. Is the flow of events described with concrete terms and measurable concepts and is it described at a suitable level of detail without details that restrict the user interface or the design of the system? 3.4. Are there any variants to the normal flow of events that have not been identified in the use cases, that is, are there any missing variations? 3.5. Are the triggers, starting conditions, for each use case described at the correct level of detail? 3.6. Are the pre- and post-conditions correctly described for all use cases, that is, are they described with the correct level of detail, do the pre- and post conditions match for each of the use cases and are they testable? 4. Relation between the use cases: 4.1. Do the use case diagram and the textual descriptions match? 4.2. Has the include-relation been used to factor out common behavior? 4.3. Does the behavior of a use case conflict with the behavior of other use cases? 4.4. Are all the use cases described at the same level of detail?

Inspection criteria Complete – nothing can be added that changes the model Correct – what is present is accurate Consistent – any contradictions between model elements are accompanied by appropriate constraints

Inspection Understand the problem being solved How complete is the set of actors? Does each use accurately reflect how the problem should be handled? Is each top level use really a use someone would make of the system?

Inspection

Investment decision The software engineer is responsible for presenting sufficient data that the responsible parties can make a thoughtful decision. The extent of this data will vary widely from organization to organization. But it will usually include a very high level statement of requirements. The most significant, highest priority and those that clearly relate to the business goals.

Decision - 1 At the very least there is an estimate of the cost of the project. At the best there is also an estimate of the value of the project. Just as when you are designing software, decomposing the project into parts makes it easier to estimate cost and value.

Decision - 2 The investment decision is based on the amount that must be expended/invested before revenue streams produce cash flow.

Assignments Have your use cases inspected by another team using the criteria in this presentation. And your team should review the use cases of another team. Your turn in is an inspection report on a team’s preliminary ideas and use cases. Use the checklist and add text as necessary. By 11:59PM, Sept 11th