Www.ischool.drexel.edu INFO 424 Team Project Practicum Week 3 – Software Requirements Specification Glenn Booker Notes mostly from Prof. Hislop and INFO.

Slides:



Advertisements
Similar presentations
Project Analysis Course ( ) Final Project Report Overview.
Advertisements

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
CS 411W - Notes Product Development Documentation.
INFO 425 Week 31 INFO 425 Design Problem I Week 3 – SDS Improvements Glenn Booker.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Use-case Modeling.
Requirements Specification
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Requirements Engineering and Management INFO 627
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
Chapter 5: Project Scope Management
Systems Analysis I Data Flow Diagrams
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: IEEE Standard, Daniel Amyot.
Software Requirement Specification(SRS)
MSF Testing Introduction Functional Testing Performance Testing.
USE Case Model.
Linux Operations and Administration
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Project Analysis Course ( ) Week 2 Activities.
Typical Software Documents with an emphasis on writing proposals.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Supplementary Specifications (Chapters 20,22 - Requirements Text) Question 1 by Steve & Chandan (Along with others in the past! - See notes, below)
An Introduction to Software Architecture
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
INFO 424 Team Project Practicum Week 7 – Feedback, User docs, Presentation tips Glenn Booker Notes partly from Prof. Hislop 1INFO.
Feasibility Study.
1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
INFO 627Lecture #101 Requirements Engineering and Management INFO 627 Review Glenn Booker.
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.
INFO 425 Week 21 INFO 425 Design Problem I Week 2 – SRS Improvements Glenn Booker.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Moving into Implementation SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED.Roberta M. Roth.
INFO 637Lecture #51 Software Engineering Process II Defining Requirements INFO 637 Glenn Booker.
Approaching a Problem Where do we start? How do we proceed?
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
INFO 424 Week 11 INFO 424 Team Project Practicum Week 1 Glenn Booker.
INFO 424 Team Project Practicum Week 2 - Launch report, Project tracking, Review report Glenn Booker Notes largely from Prof. Hislop.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore USE CASES BY.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Copyright by Gregory W. Hislop 1 INFO 324 Team Process and Product Week 2 Dr. Jennifer Booker College of Information Science and.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due today, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Today: –Continue.
Software Requirements Specification Document (SRS)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
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.
Classifications of Software Requirements
CMPE 280 Web UI Design and Development August 29 Class Meeting
Unified Modeling Language
Requirements Elicitation and Elaboration
An Introduction to Software Architecture
Software Requirements Specification (SRS) Template.
Lecture # 7 System Requirements
Presentation transcript:

INFO 424 Team Project Practicum Week 3 – Software Requirements Specification Glenn Booker Notes mostly from Prof. Hislop and INFO 627 lectures 6 to 9 1INFO 424 Week 3

Agenda Software Requirements Specification and Test Specification Remember that your system may ultimately involve non-software such as: –Hardware –Users –Training –Documentation, etc. 2INFO 424 Week 3

Requirements Requirements need to be: –Understood by all parties concerned –Specific enough to be verified and demonstrated From the beginning, think of requirements in terms of being able to prove whether they have been fulfilled (“Trust but verify”) 3INFO 424 Week 3

Software Requirements Think of the system as a black box, and focus on what needs to go into and leave the system Five major classes of things can describe a system –Inputs to the system, in terms of content, format, and source 4INFO 424 Week 3

Software Requirements –Outputs from the system, including the type of output device, and format of the outputs –Functions of the system, to accept inputs and/or create outputs –Attributes of the system, such as the “–ilities”, throughput, and performance –Attributes of the system environment, such as where it is used, and compatibility with other systems 5INFO 424 Week 3

What Requirements Are Not The challenge in writing requirements is to avoid things which shouldn’t impersonate requirements –Project management information –Unneeded design or implementation details –Testing information Requirements should focus on system behavior, not its inner workings 6INFO 424 Week 3

Project Management Information Requirements should not include –Budget, staffing, or schedule information –Configuration management plans –Testing plans (except maybe hints for very unusual cases) Put these in separate Program Management Plan, CM Plan, etc. 7INFO 424 Week 3

Requirements Gathering Draft system concept description and share with user What are the current processes? (if any) What is the problem to be addressed? –Top 5 functions What are the goals –Why is this system needed? 8INFO 424 Week 3

Requirements Gathering What are the key data concepts? What is the scope of the product? What non-functional requirements are there? What constraints are there (e.g. customer- mandated technology choices) Who are the key actors? –Are there stakeholders who aren’t actors? 9INFO 424 Week 3

Software Requirements Specification (SRS) Sources –Document template on course site –IEEE std you download –Prior course work and texts Key points –User oriented document Write so users could read it and understand –Not a design or project management document Do NOT make design decision or assumptions here –Represents the agreement between developers and client as to what the product will do 10INFO 424 Week 3

Sample requirements? The system shall have the ability to generate ad-hoc reports. The system shall be client/server based. The system shall have a user-friendly interface. The system shall have the capability of remote user access through a Web Browser with query and reference copy functions, as a minimum. The system shall have the ability to cancel active documents. From an FAA RFI for a document management systemFAA RFI 11INFO 424 Week 3

Sample requirements? –The system shall have the ability to manage concurrent revisions. –The system shall have the ability to copy drawings for reference. –The system shall have the ability to submit drawings for approval. –The system shall have the ability to edit metadata. –The system shall have the ability to create multiple workflows. 12INFO 424 Week 3

Sample requirements? –The system shall have messaging compliant with SMTP (UNIX) and MAPI (Windows). –The system shall have the ability to handle long filenames with 32 characters or greater. –The system shall have the ability to perform text searches within documents. –The system shall have the ability to generate and store custom reports. 13INFO 424 Week 3

SRS Section 1 is the Introduction –Notice that 1.1 pertains to the SRS document, not your system or product Section 2 is a brief description of your system –2.1 describes the general features of your system; what kinds of things can a user do with it? –2.2 describes the users of your system 14INFO 424 Week 3

SRS Section 3 is the main body of the document –3.1 is the main breakdown of functional requirements for your system Give each requirements an identifier (e.g. paragraph number or P001) and brief name (Generate weekly sales report) Input and output descriptions may be added when helpful 15INFO 424 Week 3

Writing the Requirement Action –List each action that the system must be able to perform –Write this part first (then add the input and output) –Use complete sentences –“The system shall…” Input and Output –Optional – don’t just repeat the Action 16INFO 424 Week 3

Writing the Requirement Input (optional) –What causes the Action to happen? Must be something detectable within the software –What data or state is needed for the action to occur? Output (optional) –What is the result of the Action? State changes Data changes 17INFO 424 Week 3

SRS Use a prefix in the identifier to indicate how you’re breaking down requirements –By user or actor (C = Clerk, VP = VP, etc.) –By system component (W = Web interface, WS= Web Server, DS = Database server...) –By use case number (UC001) –Or by some other convention (specify!) Describe the Action required for each requirement 18INFO 424 Week 3

Requirement Quality Simply having defined the requirements is a good start Beyond that, quality for each requirement or specification has nine aspects –Correct: meets needs of user –Unambiguous: only has one interpretation –Complete: meets all needs and conditions –Consistent: with other requirements 19INFO 424 Week 3

Requirement Quality –Ranked: for importance or priority –Verifiable: often by testing –Modifiable: to allow for requirements changes –Traceable: to needs or later design –Understandable Most of these came from IEEE INFO 424 Week 3

Software Requirements Specification (SRS) 3.2 – Non-Functional requirements –Write carefully and use complete sentences Start with the Action –Match requirement label to content –Define data concepts and groups; name them and use names for Input and Outputs 21INFO 424 Week 3

Non-Functional Requirements Consider what nonfunctional requirements are relevant for your system, such as –Usability Time needed for training Time to perform task Usability compared to other systems Availability of help Compliance with HCI standards (Windows, Mac)WindowsMac 22INFO 424 Week 3

Non-Functional Requirements –Reliability Availability (%) Mean time between failures (MTBF, hours) Mean time to repair (MTTR, hours) Accuracy (numeric precision, number of decimals) Defect rate (defects/1000 lines of code) Bugs per type (number of bugs by severity) 23INFO 424 Week 3

Non-Functional Requirements –Supportability Expected implementation time for minor, medium, and major enhancements Planned or possible future enhancements mostly affect design decisions –Most other ‘-ilities’ are nonfunctional requirements Portability (to other platforms) Maintainability Etc. 24INFO 424 Week 3

Performance Requirements Performance requirements could include –Response time for a transaction – average, maximum, some % below some value (e.g. 95% below 5 sec response time) –Throughput (transactions per second) –Capacity (number of simultaneous users) –Degraded modes of operation (what are performance expectations if system is partially offline) 25INFO 424 Week 3

SRS Section 3.3 is an outline of major data concepts –Don’t try to do a full ERD here or include keys –What major categories of data will your system need to manage? Section 3.4 has design constraints –Don’t make up some just to avoid a blank section, say ‘This system has no design constraints’ instead 26INFO 424 Week 3

Design Constraints We generally want to define requirements so that several design approaches might be used to implement them Constraints might be imposed by the customer such as the development language, use of corporate reuse libraries, coding standards, or external standards such as FDA, DOD or FCC regulations 27INFO 424 Week 3

Design Constraints Should distinguish constraints from requirements, such as using a “DC” prefix, and isolate them from the true requirements Identify the source of each constraint, and why it was imposed (if known) 28INFO 424 Week 3

Use Cases If you’re using use cases in section 3.1 to capture functional requirements, include a use case diagram Hints for the use case diagram: –Actors are clearly labeled stick figures –External systems can be labeled boxes –System boundary is labeled with your system’s name on it 29INFO 424 Week 3

Use Cases –System boundary doesn’t enclose actors or external systems –Lines connect actors to the use cases they can perform –Generalization can be used to simplify the diagram –‘Included’ use cases must be used by at least two other use cases 30INFO 424 Week 3

Use Cases Name use cases in verb-adjective-noun format, e.g. Modify existing customer, Generate sales report, Delete user, etc. Omit trivial use cases, e.g. log in and log out Number use cases, and provide documentation of each following that number sequence 31INFO 424 Week 3

Use Case documentation For use cases you are implementing this cycle, documentation should include: –Use case number and name –Primary actor –Main success scenario –Alternative scenarios (Extensions) –Typical time to execute use case –Frequency use case will be performed x times per day or week or whatever 32INFO 424 Week 3

Use Case documentation For all other use cases, document them with: –Use case number and name –Primary actor –A brief narrative description of the main success scenario (1-3 sentences) 33INFO 424 Week 3

Functional Requirements Functional requirements may be organized (IEEE 830, App. A) by: –Mode of operation of the system; best used for software-intensive mechanical systems, each mode’s functional requirements are detailed (scanning mode, editing mode, acquisition mode, etc.) If needed, each mode’s interfaces, functional, and performance requirements can be addressed 34INFO 424 Week 3

Functional Requirements –User class; where each type of user of the system has well defined activities they must perform, then their functional requirements are listed –Class; for object oriented systems; each class is described in terms of its attributes, methods, and messages 35INFO 424 Week 3

Functional Requirements –Feature; similar to use case descriptions, identify when and how each feature is to be used, and the functional requirements for each feature –Stimulus; useful when the system’s responses (functional requirements) are based on what kind of specific stimulus or message it receives 36INFO 424 Week 3

Functional Requirements –Functional hierarchy; break the requirements down by information flow, process, or data construct, and provide a data dictionary to specify each data element’s format; good for reengineering legacy information systems –Or any combination of the above methods (multiple organizations), such as mixing user class then stimulus and response 37INFO 424 Week 3

Balancing Requirements We need to review requirements for –Consistent level of detail throughout the system –Adequate level of detail to guide implementation, without over constraining that implementation Most of the SRS is text –Graphics can be helpful but beware of adding implied design 38INFO 424 Week 3