►METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: [email protected] 1 Introduzir os conceitos de requisitos do usuário e do sistema; Definir requisitos funcionais e nãofuncionais; Explicar duas técnicas para descrição de requisitos do sistema; Explicar como requisitos de software devem ser organizados em um documento de requisitos 2 Requisitos Funcionais e Não-Funcionais Requisitos do Usuário Requisitos do Sistema O Documento de Requisitos do Software 3 Processo sistemático para: • Identificação e registro das necessidades específicas dos stackholders; • Refinamento dos requisitos levantados; • Resolução de conflitos entre requisitos; • Identificação de interdependências entre requisitos; 4 Descrição de serviços e restrições do sistema; Devem refletir a necessidade dos usuários do sistema; Existem diferentes níveis: • Alto nível – usados por exemplo em propostas de contrato; • Detalhados – usados na redação de contratos. Definem precisamente o que deve estar presente no software 5 “If a company wishes to let a contract for a large software development project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined. The requirements must be written so that several contractors can bid for the contract, offering, perhaps, different ways of meeting the client organisation’s needs. Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. Both of these documents may be called the requirements document for the system.” Sommerville 6 Requisitos do Usuário (Usuário) • afirmações em linguagem natural enriquecidos por diagramas descrevendo os serviços e funcionalidades que um sistema deve prover, assim como restrições na presença das quais ele deve operar. Requisitos do Sistema (Eng. de Requisitos) • estabelece as funções do sistema, serviços e restrições em detalhes. O documento de requisitos do sistema (também chamado especificação funcional) deve ser preciso e detalhado. Ele deve definir exatamente o que deve ser implementado. Ele ainda pode ser usado como parte do contrato entre o comprador do sistema e os desenvolvedores. Especificação do Software (Desenvolvedores) • Uma descrição detalhada do software que serve como base para o projeto e implementação 7 Definição de Requisitos O Software deve prover funcionalidade para impressão de todos os relatórios gerados . Especificação de Requisitos 1. O software deve ser capaz de escolher uma dentre as várias impressoras disponíveis para impressão; 2. A impressão de um relatório deve ser permitida em diferentes níveis de qualidade; 3. Os níveis de qualidade são: (rasculho, normal e alta qualidade); 4. Deve ser possível imprimir relatórios para arquivos .pdf. 8 User requirements Client managers System end-users Client engineers Contractor managers System architects System requirements System end-users Client engineers System architects Software developers Software design specification Client engineers (perhaps) System architects Software developers 9 Requisitos Funcionais • definições dos serviços que o sistema de prover; • define como o sistema deve reagir a diferentes tipos de entrada; • como o sistema deve se comportar em situações particulares. • definir explicitamente o que o sistema NÃO deve fazer; Requisitos Não-Funcionais • Define restrições dos serviços oferecidos pelo sistema; • Restrições de tempo; • Restrições do processo de desenvolvimento; • Restrições (concordância) de padronização; • Geralmente são aplicáveis a todo o sistema. 10 The user shall be able to search either all of the initial set of databases or select a subset from it. The system shall provide appropriate viewers for the user to read documents in the document store. Every order shall be allocated a unique identifier (ORDER_ID) which the user shall be able to copy to the account’s permanent storage area. 11 Product requirement • 4.C.8 It shall be possible for all necessary communication between the APSE and the user to be expressed in the standard Ada character set Organisational requirement • 9.3.2 The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-95 External requirement • 7.6.5 The system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system 12 13 14 15 16 17 18 R. S. Pressman, Engenharia de Software, McGraw Hill, 6a Ed., 2002. Chap. 3. I. Sommerville. Software Engineering. 7th Ed. Addison-Wesley, 2004. Chap. 4. 19