University of Southern California Center for Systems and Software Engineering 09/08/2010© 2007-2010 USC-CSSE1 System and Software Requirements Definition.

Slides:



Advertisements
Similar presentations
1 Lecture #8 Purpose of SSRD Describe Capability Requirements: system subject matter measured by concrete means Describe Project, Level of Service, and.
Advertisements

MBASE Process: WinWin Spiral
Software Quality Assurance Plan
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
CS 411W - Notes Product Development Documentation.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
University of Southern California Center for Software Engineering CSE USC 477 Class Project – HazMat (Hazardous materials) Spring 2003 Feb. 4.
University of Southern California Center for Software Engineering CSE USC MBASE Essentials Planning and control Milestone content Process models Life cycle.
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
Software Requirements
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Overview of Software Requirements
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Requirements Engineering
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Web Development Process Description
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Software System Engineering: A tutorial
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Feasibility Study.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Software Requirements Engineering CSE 305 Lecture-2.
Engineering System Design
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
Software Engineering Management Lecture 1 The Software Process.
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.
IT Requirements Management Balancing Needs and Expectations.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Product Documentation Chapter 5. Required Medical Device Documentation  Business proposal  Product specification  Design specification  Software.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Systems Analysis and Design in a Changing World, Fourth Edition
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Systems Development Life Cycle
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Week 3: Requirement Analysis & specification
CSE 303 – Software Design and Architecture
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
University of Southern California Center for Systems and Software Engineering Aug. 26, 2010 © USC-CSE Page 1 A Winsor Brown CS 577a Lecture Fall.
44222: Information Systems Development
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
CS646: Software Design and Architectures Introduction and Overview †  Definitions.  The general design process.  A context for design: the waterfall.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
 System Requirement Specification and System Planning.
Software Engineering Management
Classifications of Software Requirements
The Development Process of Web Applications
CS577a Software Engineering ARB #2 Workshop
Software Requirements Specification (SRS) Template.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Software Reviews.
Presentation transcript:

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE1 System and Software Requirements Definition (SSRD) A Winsor Brown, courtesy of Dr. Barry Boehm, USC CSCI 577a Fall /08/10

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE2 Purpose of SSRD Describe capability requirements (both nominal and off-nominal): i.e., the fundamental subject matter of the system, measured by concrete means like data values, decision- making logic and algorithms. Describe Level of Service Requirements (sometimes referred to as "non-functional" or "performance" requirements): i.e., the behavioral properties that the specified functions must have, such as performance, usability, etc. Level of Service Requirements MUST be assigned a unit of measurement, ranges, etc.; and are not binary. Describe global constraints: requirements and constraints that apply to the system as a whole. For example, the customer for the system is a global constraint, as is the Purpose of the System. Those constraints include: Budget and Schedule Requirements, Implementation Requirements, and other Project Requirements Describe Interface Requirements: (special) interfaces with user, special types of user's and their interface needs, and "interfaces" with other systems Describe Evolution Requirements: not included in initial delivery, but need to be supported by the System’s Architecture Priorities on how the system must be implemented : MuSCoW (MUst have, Should have, COuld have, and Want to have) Commitment: addressing WinWin agreements, policies, constraints

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE3 SSRD Purposes in ICSM-Sw FCR List top-level functions, interfaces, quality attribute levels, including: –Growth vectors –Priorities Document stakeholders’ concurrence on essentials DCR Elaboration of functions, interfaces, quality attributes by iteration –Resolution of TDB's (to-be- determined items) Stakeholders’ concurrence on their priority concerns (prioritization) Traces to SSAD (and indirectly to FED, LCP)

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE4 Overall Description Intended audience –Implementers –Domain expert (decision makers) for system definition –No architecture description elements (e.g., sequence/collaboration diagrams): those belong in the SSAD and/or UML model Participants –Same stakeholders as WinWin negotiation

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE5 Dependencies SSRD depends on WikiWinWin taxonomy –Outline of SSRD evolves from taxonomy –There is no one-size-fits-all taxonomy or requirements description, therefore it is important to adapt the taxonomy to YOUR domain –Agreed-upon WIN Conditions (WINCs) and priorities become requirements –Options describe “how” for requirements SSRD depends on OCD: –Statement of Purpose –Project Goals and Constraints (G&O WinWin Negotiations) –System Capabilities

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE6 Dependencies (Continued) SSRD depends on LCP –Prioritization to fit available resources (skilss and timeboxing) SSRD depends on prototype for: –User/system interface requirements –Nominal (feature) requirements Additional documents depend on SSRD: –SSAD to obtain (and consistently trace to): Capabilities, System and Project Requirements –FED to check for satisfaction of: All requirements

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE7 Requirements Defines the system concept (from OCD) with respect to general technology considerations MuSCoW priorities for timeboxing An assurance contract for the customers Necessarily a top-level design activity –ties OCD to SSAD with respect to FED –allows planning within LCP –provides an outlet from WinWin –provides tangible means of high-assurance through testing & inspections to meet IOC completion criteria –not a good way to start a project Very misunderstood and abused

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE8 Main Kinds of Requirements Product Requirements –Capability Requirements (SSRD 2.1) local to system, specific system functionality –Level of Service Requirements (SSRD 2.2) local to system; may affect many system requirements System Interface Requirements (SSRD 3) –varies; affects groups system requirements Project Requirements (SSRD 4) –global to project; affect overall system requirements Evolutionary Requirements (SSRD 5) –varies; effects design and implementation

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE9 Necessary Condition All requirements must be testable and implementable (subject to risk considerations) – There must be some way to demonstrate that a requirement has been satisfied by the system (will be documented in FED) – System Capability: either supports or does not support a typical or non-trivial scenario (Use-Case) – Project: must have a measure, what is being measured, definition of satisfactory – Level of Service: must have a measure, specific instances with respect to capabilities, satisfactory threshold (relative measures are useful) – System Interface: must specify checklist for all interface parameters – Evolutionary: must refer to a design or implementation scenario that supports a possible future satisfaction

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE10 SSRD 2.1 Capability Requirements  System requirements should be a refinement of Capabilities (OCD System Capability Description) – Define the nominal and the off-nominal cases – Nominal cases: typical system conditions – Off-nominal cases: exceptional and abnormal conditions, e.g., error conditions – Off-nominal requirements indicate the required robustness. – During LCO/FCR include the most important ones – Add more requirements before LCA/DCR

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE11 Example Capability Requirements: VSL The subsystem would provide two levels of access: employee (staff or faculty) and Supervisor. The system checks authentication and then displays different web pages and performs different functions for different roles. Each user inputs and submits his/her monthly Vacation/Sick Leave report User can query his/her vacation/sick leave history records The supervisor reviews the monthly Vacation/Sick Leave reports submitted by the employees in his/her department. Supervisor can request system to show a summary report which lists the employee’ usage and balance of leave information. When the user wants to input the date into Monthly Report, the calendar will pop-up to help user choose the date. Etc….

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE12 SSRD 2.1 Capability Requirements  System Requirements – Prioritize the requirements based on WinWin negotiations – Every capability requirement MUST be testable – User classes possible E.g., Administrators vs. "Surfers" – Use structured Usecase diagrams with attached Activity diagrams where the actions and events exceed what can be explained in 3 sentences

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE13 Example of Nominal Requirement Requirement: CR-13 Description: The "archive user subsystem" allows the user to view the list of archive items, select the item of interest, deselect if required & view the overview on the selected archive items. Priority: Must Have Input(s): - Selected archive items - The database with the overviews of the archive items. Source(s): User Input Output(s): Overview display of the archive items. Destination(s): User Display Pre-condition(s): The user has performed a search by keyword or has browsed the archive. Post-condition(s): The user either makes an advance request or starts another search or exits from the system. WinWin Agreements: [Agreement 1]

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE14 SSRD 2.2. Level of Service Requirements Describe desired and required qualities of the system “How well” should the system perform More specific than Level of Service Goals (OCD 3.2.2) and explain how they are achieved Provide MARS Criteria (Measurable, Achievable, Relevant, Specific) Specify the units of measurement. Provide desired and acceptable levels FRD should validate how the architecture can meet the level of service requirements

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE15 Example Levels Of Service Dependability –Reliability –Availability Usability –Ease of learning –Ease of use Performance Maintainability Portability Inter-operability (or binary portability) Reusability

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE16 Poor Example M: The system should be as fast as possible R: The system should be available 24/7 (even if organization does not support activities beyond day time) S: The system shall be implemented as per the standards laid out by USC A: The system shall be available 100% of the time (for an unreliable network-based system)

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE17 SSRD 3. System Interface Requirements User Interface Requirements – Describe required user interfaces if applicable: GUI, command line, textual menu, diagnostics and logs Hardware Interface Requirements – Describe interfaces to special hardware, such as scanners Communications Interface Requirements – Describe interface with network if applicable (e.g., TCP/IP) Software Interfaces – Describe APIs used and provided

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE18 SSRD 4 Project Requirements  General assumptions and constraints placed upon the design team  If not met, stakeholders would not be satisfied or would not accept system  Describe non-negotiable global constraints: e.g., solution constraints on the way that the problem must be solved, such as a mandated technology  Refine Project Goals (OCD 3.2)

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE19 SSRD 4 Project Requirements Budget and Schedule – Development and transition time – Cost limits for development, transition and support Development Requirements – As appropriate include – Tools and Programming Languages – Computer Resources – Standards compliance Packaging Requirements – Installation, post-installation, delivery

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE20 SSRD 4 Project Requirements Implementation Requirements – Personnel and staffing – Training – Development/Support environment including hardware and software Support Environment Requirements – Tools required – Personnel and skills required

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE21 Example – Vacation Sick Leave SSRD SSRD 4 Project Requirements Budget: The system requires $8350 for transition cost, there is no hardware and software cost for this system. $400/month for maintenance cost and $1316/month for operational cost. (see LCP 2, 5; FED 2.1) Schedule: The system is to be completed within 24 weeks. – The first 12 weeks are used to complete system Life Cycle Objectives (LCO/FCR) and Architecture (LCA/DCR), which includes system operational concept (OCD), prototype, system requirements (SSRD), system and software architecture (SSAD), life-cycle plan (LCP), feasibility evidence (FED) and WinWin negotiations. – The second 12 weeks are used to implement and deliver the system. (refer to LCP 2, 3, 4, 5)

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE22 SSRD 5. Evolution Requirements Describe required levels of flexibility and expandability Identify foreseeable directions of system evolution Describe the maintenance of software and data assets – Facilities and equipment – Maintenance levels and cycles – Emergency software support

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE23 SSRD 5.1 Capability Evolution  Major, post-IOC capability requirements  Capabilities considered but deferred (during 577a; very different )  May be used to “risk manage” system requirements with respect to project and level of service requirements  More than a “feel good” place holder - must be accounted for within architecture; must also be "testable" (i.e., software architectural experts can not refute).

University of Southern California Center for Systems and Software Engineering 09/08/2010© USC-CSSE24 Examples of Capability Evolution 1. Data input using Voice Recognition One proposed feature that has not been kept in the system design is one of voice recognition. In future, when voice recognition is available the system should allow the operator to simply speak the data that has to be entered and the database should be accordingly modified. For this an interface has to be provided. 2. Different levels of access to the archive (subscription ) In future, different levels of access to the archive items could be provided to the user. This would allow a set of users to have a wider access to items that could not have been archived otherwise. Also, the Boeckmann Center would get funds for its maintenance. 3. Full Browse Capability This would have been an enormous additional task. The implementation of this could be a project on its own. It was not a requirement of the customer so it was not even considered in the WinWin negotiations.