Documentação de requisitos de acordo com a norma IEEE

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

CS 411W - Notes Product Development Documentation.
Characteristics of a good SRS
© 2005 Prentice Hall7-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
CO2401 Software Development Teaching structure –Lecture –Labs Assessment –Assignment 50% –Exam 50%
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 Software Requirements Specification Lecture 14.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
S R S S ystem R equirements S pecification Specifying the Specifications.
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)
Requirements Engineering
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Lecture 18: Specifications
Introduction to Software Quality Assurance (SQA)
Software Requirements Specification (SRS) Complete description of external behavior of software system Complete description of external behavior.
Typical Software Documents with an emphasis on writing proposals.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Negotiation and Specification Process
ECE450 – Software Engineering II
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
Software Requirements Engineering CSE 305 Lecture-2.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Requirements Documentation CSCI 5801: Software Engineering.
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
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 ++
CONTENTS OF THE SRS REPORT. Software Requirements Specification (SRS) template The SRS document describes recommended approaches for the specification.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
1 Quality Attributes of Requirements Documents Lecture # 25.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Software Requirements
Software Requirements Specification (SRS)
System Requirements Specification
Software Requirements
Software Requirements Specification Document (SRS)
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
Daniel Amyot, University of Ottawa Based on slides by Gunter Mussbacher (2009) and Stéphane Somé (2008) with material from these standards: IEEE ,
Requirements Specification with the IEEE 830 and IEEE Standards
An Overview of Requirements Engineering Tools and Methodologies*
Classifications of Software Requirements
Scope Planning.
Software Requirements
Chapter 5 – Requirements Engineering
SYSTEM ANALYSIS AND DESIGN
CSC480 Software Engineering
System Requirements Specification
UNIT II.
Requirements Specification with the IEEE Standard
Software Requirements Specification Document
Requirement Documentation &
CS 8532: Advanced Software Engineering
Software Requirements Specification (SRS) Template.
Lecture # 7 System Requirements
Requirements Specification with the IEEE Standard
Requirements Document
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Software Requirements
Chapter 5 Architectural Design.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Requirements Engineering Lecture 6
Presentation transcript:

Documentação de requisitos de acordo com a norma IEEE 830-1998 Engenharia de Requisitos para Serviços Documentação de requisitos de acordo com a norma IEEE 830-1998 João Pascoal Faria (baseado em slides de António Lucas Soares) jpf@fe.up.pt www.fe.up.pt/~jpf

Contextualização + modelo + protótipo documento de requisitos identificação, descoberta de requisitos + modelo análise e negociação de requisitos necessidades dos utilizadores, sistemas legados, informação do domínio, normas organizacionais, etc. documentação de requisitos validação de requisitos

O que é um Documento de Requisitos? Descrição oficial dos requisitos de um sistema para os clientes, utilizadores e “desenvolvedores” Especifica que serviços o sistema deve prestar, as propriedades do sistema (fiabilidade, eficiência, etc.) e restrições impostas à operação e desenvolvimento do sistema Tanto pode ser um documento muito sucinto e genérico como um documento extenso e muito detalhado Normalmente escrito em linguagem natural e complementado com diagramas, tabelas, imagens, etc. Outras designações: especificação funcional, definição de requisitos, especificação de requisitos, caderno de encargos

Conteúdos típicos Visão geral do sistema e dos benefícios decorrentes do desenvolvimento do sistema Glossário explicando os termos técnicos usados Definição dos serviços ou requisitos funcionais do sistema Definição das propriedades do sistema (requisitos não-funcionais) tais como fiabilidade, segurança, eficiência, etc. Definição de restrições à operação do sistema e ao processo de desenvolvimento Definição do ambiente em que o sistema vai operar e as mudanças previstas para esse ambiente Especificações detalhadas recorrendo a modelos e outras ferramentas

IEEE Std 830-1998 - Recommended Practice for Software Requirements Specifications Describes recommended approaches for the specification of software requirements. It is based on a model in which the result of the software requirements specification process is an unambiguous and complete specification document. It should help a) Software customers to accurately describe what they wish to obtain; b) Software suppliers to understand exactly what the customer wants; c) Individuals to accomplish the following goals: 1) Develop a standard software requirements specification (SRS) outline for their own organizations; 2) Define the format and content of their specific software requirements specifications; 3) Develop additional local supporting items such as an SRS quality checklist, or an SRS writers handbook.”

Características de um bom documento de requisitos [IEEE Std 830-1998] Correct - every requirement stated is one that the software shall meet. Unambiguous - every requirement stated has only one interpretation. Complete - it includes the following elements: All significant requirements, whether relating to functionality, performance, design constraints, attributes, or external interfaces. Definition of the responses of the software to all realizable classes of input data in all realizable classes of situations (both for valid and invalid input values). Full labels and references to all figures, tables, and diagrams in the SRS and definition of all terms and units of measure.

Características de um bom documento de requisitos [IEEE Std 830-1998] (Internally) Consistent The specified characteristics of real-world objects may conflict One requirement may state that all lights shall be green while another may state that all lights shall be blue. There may be logical or temporal conflict between two specified actions. One requirement may specify that the program will add two inputs and another may specify that the program will multiply them. Two or more requirements may describe the same real-world object but use different terms for that object A program request for a user input may be called a “prompt” in one requirement and a “cue” in another.

Características de um bom documento de requisitos [IEEE Std 830-1998] Ranked for importance and/or stability Importance: Essential: the software will not be acceptable unless these requirements are provided in an agreed manner. Conditional: requirements that would enhance the software product, but would not make it unacceptable if they are absent. Optional: class of functions that may or may not be worthwhile. This gives the supplier the opportunity to propose something that exceeds the SRS. Stability number of expected changes to any requirement based on experience or knowledge of forthcoming events.

Características de um bom documento de requisitos [IEEE Std 830-1998] Verifiable A requirement is verifiable if, and only if, there exists some finite cost-effective process with which a person or machine can check that the software product meets the requirement. In general any ambiguous requirement is not verifiable. Nonverifiable requirements include statements such as “works well”, “good human interface” and “shall usually happen”. An example of a verifiable statement is: Output of the program shall be produced within 20s for 60% of the time; and within 30s for 100% of the time.

Características de um bom documento de requisitos [IEEE Std 830-1998] Modifiable An SRS is modifiable if, and only if, its structure and style are such that any changes to the requirements can be made easily, completely, and consistently while retaining the structure and style. Modifiability generally requires an SRS to Have a coherent and easy-to-use organization with a table of contents, an index, and explicit cross-referencing; Not be redundant (i.e., the same requirement should not appear in more than one place in the SRS); Express each requirement separately, rather than intermixed with other requirements.

Características de um bom documento de requisitos [IEEE Std 830-1998] Traceable An SRS is traceable if the origin of each of its requirements is clear and if it facilitates the referencing of each requirement in future development or enhancement documentation. The following two types of traceability are recommended: Backward traceability (i.e., to previous stages of development). This depends upon each requirement explicitly referencing its source in earlier documents. Forward traceability (i.e., to all documents spawned by the SRS). This depends upon each requirement in the SRS having a unique name or reference number.

Estrutura geral sugerida

Sections 1. Introduction 1.1 Purpose 1.2 Scope Provide an overview of the entire SRS 1.1 Purpose Purpose and intended audience of the SRS 1.2 Scope Identify the software product(s) to be produced by name Explain what the software product(s) will, and, if necessary, will not do Describe the application of the software being specified, including relevant benefits, objectives, and goals

Sections 1.3 Definitions, acronyms, and abbreviations 1.4 References Definitions of all terms, acronyms, and abbreviations required to properly interpret the SRS. May be provided by reference to appendixes or other documents. 1.4 References Provide a complete list of all documents referenced elsewhere in the SRS Identify each document by title, report number (if applicable), date, and publishing organization Specify the sources from which the references can be obtained 1.5 Overview Describe what the rest of the SRS contains Explain how the SRS is organized

Sections 2. Overall description Describe the general factors that affect the product and its requirements Do not state specific requirements, but instead provide a background for those requirements (defined in detail in Section 3 of the SRS), and make them easier to understand.

Sections 2.1 Product perspective Put the product into perspective with other related products. If the product is a component of a larger system, relate the requirements of that larger system to functionality of the software and identify interfaces between both Describe the various product interfaces: System interfaces (interfaces of the larger system); User interfaces; Hardware interfaces (between the soft. product and the hardware components); Software interfaces (use of required software products, e.g., an operating system, and interfaces with other application systems) Communications interfaces (network protocols, etc.)

Sections 2.2 Product function 2.3 User characteristics Summary of the major functions that the software will perform. 2.3 User characteristics General characteristics of the intended users of the product including educational level, experience, and technical expertise.

Sections 2.4 Constraints General description of any other items that will limit the developers options, such as: Regulatory policies; Hardware limitations (e.g., signal timing requirements); Interfaces to other applications; Parallel operation; Audit functions; Control functions; Higher-order language requirements; Signal handshake protocols (e.g., XON-XOFF, ACK-NACK); Reliability requirements; Criticality of the application; Safety and security considerations.

Sections 2.5 Assumptions and dependencies For example, the assumption that a specific operating system will be available on the hardware designated for the software product.

Sections 3. Specific requirements This is often the largest and most important part of the SRS Should contain all of the software requirements to a level of detail sufficient to enable designers to design a system to satisfy those requirements, and testers to test that the system satisfies those requirements. Every stated requirement should be externally perceivable by users, operators, or other external systems. Requirements should include at a minimum a description of every input (stimulus) into the system, every output (response) from the system, and all functions performed by the system in response to an input or in support of an output. Requirements should be stated in conformance with all the characteristics described previously. Specific requirements should be cross-referenced to earlier documents that relate. All requirements should be uniquely identifiable. Organize requirements to maximize readability.

A template of specific requirements organized by user class (or actor)

3.1 External interface requirements Describe all inputs into and outputs from the software system, through its interfaces (user interfaces, hardware interfaces, software interfaces, communication interfaces) For each input/output item (form, report, document, message, etc.), may include: Name Purpose Source of input or destination of output Relationships to other inputs/outputs Overall format/organization Data formats, units of measure and value ranges Command formats Timing Etc.

3.2 Functional requirements Define the fundamental actions that must take place in the software in accepting and processing the inputs and in processing and generating the outputs May include Validity checks on the inputs Exact sequence of operations Responses to abnormal situations, including Overflow Communication facilities Error handling and recovery Effect of parameters Relationship of outputs to inputs, including Input/output sequences Formulas for input to output conversion

3.3 Performance requirements Specify both static and dynamic numerical requirements placed on the software or on human interaction with the software as a whole Examples of numerical requirements: The number of terminals to be supported The number of simultaneous users to be supported Amount and type of information to be handled The numbers of transactions and tasks and the amount of data to be processed within certain time periods for both normal and peak workload conditions Also referred to as capacity requirements

3.4 Design constraints Includes requirements derived from existing standards or regulations, e.g., Report format Data naming Accounting procedures Audit tracing Etc.

3.5 Software system attributes Follow ISSO/IEC 9126 Reliability E.g., required reliability of the software system at time of delivery Availability E.g., required availability level for the entire system Security Requirements for using certain cryptographical techniques, keep specific logs, etc. Maintainability Requirement for certain modularity, complexity, etc. Portability Requirement for using a proven portable language, etc.

A use case based SRS template (RUP) Table of Contents 1.  Introduction          1.1 Purpose      1.2 Scope      1.3 Definitions, Acronyms and Abbreviations      1.4 References      1.5 Overview      2.  Overall Description     2.1 Use-Case Model Survey    Covers product perspective (context), product function, and user characteristics   2.2 Assumptions and Dependencies      3. Specific Requirements 3.1 Use-Case Reports Use cases are possibly grouped by module or actor Each use case is described according to a template Covers external interface requirements and functional requirements 3.2 Supplementary Requirements Covers performance (capacity) requirements, software system attributes, and design constraints Appendices Index Recomendado para o trabalho prático

Referências Gerald Kotonya, Ian Sommerville, "Requirements Engineering – Processes and Techniques", Wiley, 1998 IEEE Std 830-1998 - IEEE Recommended Practice for Software Requirements Specifications Kurt Bittner, Ian Spence; Use Case Modelling , Addison-Wesley, 2003