Software Requirements

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Software Requirements
Agenda What is a Use Case? Benefits of the Use Cases Use Cases vs. Requirements document Developing the Use Case model System Actor Use Case Use Case.
Software Requirements
Introduction to Software Engineering
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Written by: Zvika Gutterman Adam Carmi
Software Requirements
Finding Analysis Classes Written by Zvika Gutterman Adam Carmi.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Overview of Software Requirements
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
1 Software Requirements Specification Lecture 14.
Software Requirements The Volere Requirements Source: “Mastering the Requirements Process”, S. Robertson, J. Robertson Created by Eshcar Hilel.
Software Requirements The Volere Requirements Source: “Mastering the Requirements Process”, S. Robertson, J. Robertson Created by Eshcar Hilel.
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
AJAC Systems Hotel Reservation System
The Software Development Life Cycle: An Overview
1. 2  This lab accompanies the software engineering course to support the content in the course. The overall goals of this lab are to introduce examples.
Requirements Engineering
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Software Requirements Specification (SRS) Complete description of external behavior of software system Complete description of external behavior.
Managing Software Quality
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 13 Database Management Systems: Getting Data Together.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Negotiation and Specification Process
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Software Requirements Presented By Dr. Shazzad Hosain.
Requirements Documentation CSCI 5801: Software Engineering.
Discovering Computers Fundamentals Fifth Edition Chapter 9 Database Management.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Control Systems Design Part: FS Slovak University of Technology Faculty of Material Science and Technology in Trnava 2007.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory1 Requirements Validation Section Four Version: 1.0 Mehr.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
1 Quality Attributes of Requirements Documents Lecture # 25.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Software Requirements Specification (SRS)
Software Requirements Specification Document (SRS)
CSC480 Software Engineering Lecture 7 September 16, 2002.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Software Requirements Descriptions and specifications of a system.
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
 System Requirement Specification and System Planning.
Classifications of Software Requirements
Chapter 4 – Requirements Engineering
Software Requirements
Presentation on Software Requirements Submitted by
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
SYSTEM ANALYSIS AND DESIGN
UNIT II.
Software Requirements Specification Document
Requirement Documentation &
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Presentation transcript:

Software Requirements Software Engineering Methods - CS234321 Software Requirements by Zvika Gutterman Adam Carmi Software Requirements

Software Requirements Agenda Definition Characteristics of requirements. Types of requirements Examples: Traffic Violation Reports System Postomat (spring 2002 project) – available at the library. Software Requirements

Software Requirements Definition Requirement – A feature/property of the system or a description of something the system is capable of doing in order to fulfill the system’s purpose. Software Requirements document: A set of precisely stated requirements that the software must satisfy. Establishes boundaries on the solution space of the problem of developing a useful software system. Allows a design to be validated – if the constraints and properties specified in the document are satisfied by the software design, then that design is an acceptable solution to the problem. A “contract” between developers and clients. Software Requirements

Characteristics of Requirements

Characteristics of requirements Correct Unambiguous Complete Testable Consistent Deal only with the problem Modifiable Traceable Software Requirements

Software Requirements Correct Each requirement statement accurately represents the functionality required of the system to be built. Example (of an incorrect requirement): Problem domain (real life) states that policeman ID numbers are in the range [10000…) and the requirements document requirement specifies that each policeman has an ID number. Software Requirements

Software Engineering Methods - CS234321 Unambiguous The difficulty of ambiguity stems from the use of natural language which in itself is inherently ambiguous. There is one and only one interpretation for every requirement. Requirement statements should be short, explicit, precise and clear. A glossary should be used when a term used in a particular context could have multiple meanings (I.e. “the user”). Formal requirements languages help reduce ambiguity. Software Requirements Software Requirements

Software Requirements Unambiguous (cont. ) Examples (of ambiguity): The TVRS shall store changes made in the details of a traffic report as soon as the data is entered. The TVRS shall not accept negative policeman age. Disambiguation: The TVRS shall store changes made in the details of a traffic report if and only all input fields are valid and user approved saving of data (see sections ...) Software Requirements

Software Requirements Complete A requirements document is complete if it includes all of the significant requirements, whether relating to functionality, performance, design constraints attributes or external interfaces. No sections are marked “To be determined” (TBD). Conforms to the company standards. Software Requirements

Software Requirements Testable A requirements document is testable (verifiable) if and only if every requirement statement in it is testable. A requirement is testable if and only if there is some finite cost-effective way in which a person or machine can check to see if the software product satisfies that requirement. Software Requirements

Software Requirements Testable (cont.) Example of a non-verifiable requirement: The TVRS shall complete storage of data within a reasonable time of the user confirming a “Save” sequence. Example of a verifiable requirement: The TVRS shall complete storage of data within 5 seconds of the user confirming a “Save” sequence, 80% of the time. Software Requirements

Software Requirements Consistent Three types of conflicts: Different terms used for the same object: F323 and a “Policeman Details Form” might be used to describe the same form. Characteristics of objects: In one part of the requirements document: “A policeman ID shall consist of decimal digits only”, while in another part “Incase the policeman ID consists of non-alphanumerical characters, display an error message”. Software Requirements

Consistent (cont.) Logical or temporal faults: “A follows B” in one part, “A and B occur simultaneously” in another. “TVRS shall support removal of a policeman record from the personal database” vs. “TVRS shall support read-only access to policeman details”. Do clients know what a database is? Software Requirements

Deal only with the problem Requirements should state “what” is required at the appropriate system level, not “how”. In some cases, a requirement may dictate how a task is to be accomplished. Avoid telling the designer “how” to do this job, instead state “what” has to be accomplished. Requirements should be understood by the clients as well as the developers. Software Requirements

Software Requirements Modifiable A requirements document is modifiable if its structure and style are such that changes can be made easily, completely and consistently: Easy to use organization – table of contents, index and cross references. No redundancy – a requirement should not be in more than one place. Software Requirements

Software Requirements Traceable Each requirement should be contained in a single, numbered paragraph so that it may be referred to in other documents: Backward traceability - implies that we know why every requirement exists Each requirement explicitly references its source in previous documents. Forward traceability – all documents to follow will be able to reference each requirement. Software Requirements

Software Requirements Traceable (cont.) Example: 2.1 Functional requirements: 2.1.1 TVRS initialization: … 2.1.15 TVRS shall display the user login window (see section 2.1.2.2) 2.1.2 TVRS user interfaces: 2.1.2.1 All user interaction with the TVRS shall occur by means of a graphical user interface. 2.1.2.2 User login window: Software Requirements

Types of Requirements

Software Requirements Types of requirements Functional User interface structure and behavior Inputs Output Data processing Accuracy, precision… Error handling Initialization / Shutdown Non-Functional Physical environment Security (users…) Performance Cost Portability Reusability …and many more Software Requirements

Types of requirements (cont.) Functional requirements Describe fundamental functions of the system. System services which are expected by the user of the system. Non functional requirements Constraints on the system. Reliability, portability, safety, performance… Application domain: interface with existing systems in the organization. Two products could have exactly the same functions but their attributes can make them entirely different products. Software Requirements

Types of requirements (cont.) Measurable Non-functional Requirements How can you test whether a system is “fast”, “secured”, or “maintainable” ? Every product must have these attributes. The degree to which each attribute is required should be documented: Performance – response time, throughput, capacity Efficiency – maximum load on resources. Reliability – mean-time to failure (MTTF), full recovery time. Usability – reports per hour, training. Software Requirements

Requirements Pitfalls Don’t add unnecessary requirements Writing requirements is a difficult task. Increases complexity. Invest the time in improving / validating the necessary requirements. Never assume the existence of external systems. Must be explicitly required by the client. The main goal is to increase profits… Avoid complex and/or expensive solutions Software Requirements

Example: TVRS Requirements

Example: TVRS Requirements 1. Functional Requirements 1.1. System initialization: 1.1.1. TVRS shall automatically connect with the policemen, vehicles and offenders data bases according to the TVRS configuration file located at the root directory of the TVRS application. Software Requirements

Example: TVRS Requirements 1. Functional Requirements 1.1. System initialization: 1.1.1. TVRS shall automatically connect with the policemen, vehicles and offenders data bases according to the TVRS configuration file located at the root directory of the TVRS application. 1.1.1. TVRS shall automatically connect with the policemen, vehicles and offenders data bases. Software Requirements

Example: TVRS Requirements 1.2. User Interface: 1.2.1. All user interaction with TVRS shall take place by means of a graphical user interface. 1.2.2. User login window 1.2.2.1. The user login window allows TVRS operators and administrators to log into the system in a secured fashion. 1.2.2.2. The user login menu shall allow the user to enter his login name and password. Software Requirements

Example: TVRS Requirements 1.2.2.3. The user login window shall provide users with the ability to choose between the following options: Entering the TVRS system (initiating user login) Shutting down the TVRS system (shutdown). 1.2.2.4. TVRS shall allow user to login if and only if all of the following holds (in the specified order) User entered his login name and password. User requested to enter the system. The login name is stored in TVRS and the password matches the password associated with that login name in TVRS. 1.2.2.5. In case all the conditions stated in section 1.2.2.4 hold, TVRS shall display the Main Menu window and allow the user access to it. Software Requirements

Example: TVRS Requirements 1.2.2.6. In the following cases, user login shall be aborted by TVRS: User login name or password are invalid (see section …) User login name is not stored in TVRS. User password does not match the one associated with the given user name. 1.2.2.7. Incase of login abortion, TVRS shall perform the following (in the specified order): Delay for a period of no less that 5 seconds and no more that 10 seconds. In this period of time, no interaction will be carried out with the user. Display an error message stating the reason of login failure. Enable interaction with user as specified in section 1.2.2.3 Software Requirements

Example: TVRS Requirements 1.3. System Inputs: 1.3.1. Traffic Violation details: 1.3.1.1. A traffic violation shall include the following details: Violation id - Consists of decimal digits only. - Unique among all other traffic violation IDs. The Id of the policeman who issued the report (see ...). ... 1.3.1.2. All details but the violation’s description are mandatory. Software Requirements

Example: TVRS Requirements 1.4. System Outputs: 1.4.1. Traffic Violations Report: 1.4.1.1. Traffic violations shall be displayed in a table. 1.4.1.2. Each traffic violation shall occupy a single row in the table. 1.4.1.3. The following details shall be displayed for each traffic violation: Violation id. … Software Requirements

Example: TVRS Requirements 1.4.1.4. Violations may be sorted according to the following criteria: Violation Id – ascending or descending order. Date – ascending or descending order (default criteria) 1.4.1.5 List of displayed violations may be filtered as follows: All violations Violations given by a specific policeman. Violations given in a period of time (single day resolution) … Software Requirements

Example: TVRS Requirements 2. Non-functional requirements 2.1. Reliability 2.1.1. TVRS shall store all data in 2 different locations at distance of no less than 50 KM between them. 2.1.2. TVRS will back-up all data automatically at 24:00 every night. … 2.2. Security 2.2.1. All data communication to/from the TVRS system shall be carried out over the secured private police network. Software Requirements