ENGENHARIA DE SOFTWARE Prof.: Bruno Rafael de Oliveira Rodrigues REQUISITOS DE SOFTWARE • O processo de descobrir, analisar, documentar e verificar os serviços e restrições é chamado de engenharia de requisitos (RE – Requirements Enginnering) (SOMMERVILLE, 2007). • É consenso que a qualidade do produto de software, bem como a satisfação do cliente dependem de uma completa e consistente especificação de requisitos. Didier (2003) • Quanto mais tarde problemas com requisitos forem detectados no processo de desenvolvimento, maior será o custo para corrigí-los. ETAPAS DA ENGENHARIA DE REQUISITOS ELICITAÇÃO • Faz se a coleta e identificação das fontes de dados. É a fase onde entende-se o problema. ANÁLISE DE NEGOCIAÇÃO • Os usuários envolvidos negociam para decidir quais requisitos realmente irão fazer parte do sistema. DOCUMENTAÇÃO • Os requisitos são documentados em um nível adequado de detalhes. A documentação de requisitos é feita, normalmente, usando a linguagem natural, e deve ser escrita de tal forma que todos os usuários entendam a documentação. VALIDAÇÃO • Verifica se os requisitos estão completos e consistentes CLASSIFICAÇÃO DOS REQUISITOS • Funcionais • Não-Funcionais • De Domínio REQUISITOS FUNCIONAIS • Traduzir aquilo que se espera do sistema, estando diretamente vinculados à funcionalidade do software. Devem descrever funções que o sistema precisa fornecer e como deve se comportar em determinadas situações, correspondendo a uma listagem de tudo que o sistema deve fazer. EXEMPLO • O sistema deve emitir um relatório mensal de clientes inadimplentes; • O sistema deve prover um formulário para entrada de dados de um paciente; • O sistema deve emitir um comprovante de pagamento para o cliente. REQUISITOS NÃO FUNCIONAIS • São restrições colocadas sobre como o sistema deve realizar seus requisitos funcionais. (Wazlawick, 2004). CLASSIFICAÇÃO DOS REQUISITOS NÃO FUNCIONAIS • Segundo Kotonya e Sommerville (1997), algumas categorias para classificação de requisitos não funcionais. REQUISITOS DE PRODUTO • São aqueles que definem como o produto deve se comportar. Alguns exemplos de requisitos de produto são os requisitos de desempenho, confiabilidade que definem a taxa aceitável de falhas, requisitos de portabilidade e requisitos de usabilidade. REQUISITOS DE PROCESSO OU ORGANIZACIONAIS: • São consequências das políticas e normas estabelecidas pela organização ou pelo desenvolvedor. Entre estes requisitos, temos os requisitos de implementação, como a linguagem de programação ou o método de projeto usado, e requisitos de entrega que especificam quando o produto e a sua documentação devem ser entregues REQUISITOS EXTERNOS • São aqueles que provêm de fatores que são externos ao sistema e a seu processo do desenvolvimento. Por exemplo, temos os requisitos legais, que garantem que o sistema está de acordo com a lei vigente. REQUISITOS DE DOMÍNIO • São requisitos provenientes do domínio da aplicação do sistema e refletem as características e as restrições desse domínio. Podem ser requisitos funcionais ou não funcionais. • Podem ser funcionais novos, restrições sobre requisitos existentes ou outros mais específicos. APRENDA MAIS • Procure mais sobre as técnicas de elicitação de requisitos. Monte um caso de uso de como utilizar uma das técnicas. BIBLIOGRAFIA DIDIER, A. C. V. B. WRE-Process: um processo de engenharia de requisitos baseados no RUP. 246f. Dissertacao (Mestrado) – UFPE, Recife, 2003. PRESSMAN, R. S. Engenharia de software. 6. ed. Sao Paulo: McGraw-Hill, 2006. SOMMERVILLE, I. Engenharia de software. 8. ed. Sao Paulo: Pearson Addison- Wesley, 2007. KOTONYA, Gerald; SOMMERVILLE, Ian. Requirements engineering: processes and techniques. England: John Wiley & Soons, 1997.