Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Documentação de requisitos de acordo com a norma IEEE"— Presentation transcript:

1 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 João Pascoal Faria (baseado em slides de António Lucas Soares)

2 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

3 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

4 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

5 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.”

6 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.

7 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.

8 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.

9 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.

10 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.

11 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.

12 Estrutura geral sugerida

13 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

14 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

15 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.

16 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.)

17 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.

18 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.

19 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.

20 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.

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

22 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.

23 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

24 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

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

26 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.

27 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

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


Download ppt "Documentação de requisitos de acordo com a norma IEEE"

Similar presentations


Ads by Google