Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.

Slides:



Advertisements
Similar presentations
Business Development Suit Presented by Thomas Mathews.
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Chapter 5 Understanding Requirements
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
Requirements Engineering
USE Case Model.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Context of Software Product Design.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Understanding Requirements. Requirements Engineering
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Requirements Specification for Lab3 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
Requirements Documentation CSCI 5801: Software Engineering.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Requirements – Scenarios and Use Cases
Creating a Digital Classroom. * Introduction * The Student Experience * Schoology’s Features * Create a Course & Experiment.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
UML-1 8. Capturing Requirements and Use Case Model.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
1 Structuring Systems Requirements Use Case Description and Diagrams.
BA Team: Product Ownership, Analysis, and Solution Design BA Bi-Weekly Mini-meeting May 19, Acceptance Criteria Defining Success one Story.
Writing Good Use Cases Outlining Use Cases. Process of writing use cases Find actors Find use cases Outline a use case Detail a use case  Outline the.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Capturing Requirements with Use Cases
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CT1404 Lecture 2 Requirement Engineering 1 1. Today's Lecture Definition of a Software Requirement Definition of Software Requirements Management Characteristics.
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
By Germaine Cheung Hong Kong Computer Institute
Capturing and Exploring Requirements with Use Cases and UML Models
Week 3: Requirement Analysis & specification
Rational Unified Process (RUP)
Requirement Engineering
Requirements Analysis
UML - Development Process 1 Software Development Process Using UML.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Use Case Model Use case description.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
1 Week 5 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Software Requirements and the Requirements Engineering Process
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Cases Discuss the what and how of use cases: Basics Benefits
Chapter 4 – Requirements Engineering
Recall The Team Skills Analyzing the Problem (with 5 steps)
Requirements Elicitation and Elaboration
Requirement Engineering
Use Cases and Use Case Diagrams
Requirements Reference: Software Engineering, by Ian Sommerville, 6th edition, Chapters 5, 6, & 8.
Software Design Lecture : 15.
Chapter 6: Principles of Requirements Analysis
Use Case Modeling.
Requirements Very High level specification of what system should do
Chapter 5 Understanding Requirements.
Use Case Modeling Part of the unified modeling language (U M L)
Presentation transcript:

Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard

Definition Requirement – “A statement of a customer need or objective, or of a condition or capability that a product must possess to satisfy such a need or objective. A property that a product must have to provide value to a stakeholder.” [Wiegers. S/W Requirements, p 487]

Levels of Requirements

Two Distinct Activities (Software Requirements) (System Specifications)

Types of Requirements

Requirement Engineering Requirements Development Requirements Change Management Understand the problem or opportunity. Determine the system behavior that will address the identified problem or opportunity. Document the desired system behavior in a written specification Validate understanding of requirements Manage changes to baselined software requirements. Baselined Software Requirements

Requirements Development Steps 1.Define the project's vision and scope. This should make clear the problem or opportunity. 2.Understand business goals and objectives. 3.Identify expected user classes 4.Identify appropriate representatives from each user class (product champion) 5.Identify a set of goals for each user class. What do users in each class need to accomplish? 6.Develop and prioritize the main use cases for the system (architecturally significant use cases). One approach is to identify all use cases but detail those with the highest priority first. 7.Analyze requirements. Organize and prioritize requirements. (e.g. Functional, Non-functional) Look for overlapping, conflicting, missing requirements, etc. 8.Develop analysis models as needed to clarify problem domain and/or requirements 9.Document requirements. 10.Validate requirements with customers and users (or user representatives)

Requirement Prioritization Prioritizing requirements is important. 64% of the features included in products are rarely or never used.

Actor-Goal List ActorGoal AuthorCreate quiz (MC, T/F, Essay questions) Edit quiz Make quiz available Quiz takerBrowse available quizzes Add quiz to individual bookshelf Delete quiz from individual bookshelf Answer questions on quiz Save partial results Submit quiz View bookshelf

User Stories “A user story is a brief description of functionality as viewed by a user or customer of the system.” [p 25, Agile Estimating and Planning] Example story card: View Bookshelf Quizzes can be in one of 5 states: not started, started not submitted, submitted and partially graded, graded. When viewing personal bookshelf of quizzes, users should be able to see the state of each quiz and be given options to take the next logical step with each quiz.

Use Case—Definition A use case is a narrative description of a goal- oriented interaction between the system under development and an external agent Includes the what: –User (Actor in Use Case Parlance) –Goal –Interaction But not the how: –Excludes User Interface Detail –Excludes Implementation Concerns

Another Example

UML Use Case Diagrams System Under Development Use Case Actor Newspaper Web Site Post article Journalist Reader Authenticate user Find and read article > Generic FormExample

Use Case Template Title: Actors: Preconditions: Postconditions: Basic Flow / Main Success Scenario Alternate Flow / Extensions Open Issues

Example Title:Search Web with suggested key words (Google Suggest) Actors: Web User Preconditions: Web user is at the search page Basic Flow 1.User begins to enter search phrase 2.As characters of search phrase are typed, the system responds with suggested search phrases that start with characters entered 3.The system enters the highest ranking suggested search phrase into the search box where the user is typing 4.User scrolls to desired suggested phrase 5.User initiates search 6.System responds with search results that match search phrase Alternate Flows 2a. There are no high ranking suggested search phrases for the characters the user has entered 1. The system gives no suggested search phrases 2. The user enters the remaining characters in the search phrase and control returns to step 5 in basic flow 4a. User decides to accept suggested search phrase in search box 1. User initiates search with suggested search phrase currently in search box 4b. User finishes entering original search phrase but doesn’t want to take system’s suggestion 1. User hits backspace to erase remaining suggested characters in search box Open Issues 1. How to decide the order or ranking of suggested search phrases.

Features The IEEE defines a feature as “A distinguishing characteristic of a software item (e.g., performance, portability, or functionality).” Features are more general, and sometimes finer grained, than use cases. Even though features are more abstract than use cases, elaborating use cases often identifies new features. Features capture requirements that aren’t conveniently captured via use cases. Projects are usually planned in terms of features. For example, the goal of iteration #1 might be to implement a certain collection of features.

Example Features The system shall offer the ability to create multiple choice, multiple answer, true/false and essay type questions. The system shall offer, within certain domains, pre- defined questions for authors to choose from. The system shall prevent unauthorized eavesdropping on answers. For example, a company should be able to post a quiz for qualifying applicants for an advanced programming position without concern that an “industrious” applicant might surreptitiously obtain the answers.

Requirements Deliverable Categories of users (roles). List of goals associated with each role Use cases for goals within scope (this semester) User stories for goals outside of scope (this semester) Features Non-functional requirements, grouped by: – Those important to users – Those important to developers Assumptions Constraints

Project Planning Once you understand what key features are needed and can imagine at least one solution architecture, you can begin to schedule the work.