Prévia do material em texto
Exercício 6 – Requisitos de Software. 1 - O que é um requisito de software? Antigamente dizia-se que requisitos eram sinônimos de funções, ou seja, tudo que o software deveria fazer funcionalmente. No entanto, atualmente assumiu-se que requisitos de software é muito mais do que apenas funções. Requisitos são, além de funções, objetivos, propriedades, restrições que o sistema deve possuir para satisfazer contratos, padrões ou especificações de acordo com o(s) usuário(s). 2 - O termo ‘requisito’ não é usado de forma consistente pela indústria de software. Quais as duas formas de uso do termo "requisito"? Uma declaração abstrata de alto nível. Uma definição detalhada e formal de uma função do sistema de software. 3 - Qual a diferença entre requisitos de usuário e requisitos de sistema? Requisitos do usuário: • Declarações em linguagem natural e também em diagramas sobre as funções que o sistema deve fornecer e as restrições sob as quais deve operar. Requisitos do sistema: • Um documento estruturado que estabelece detalhadamente as funções e as restrições de sistema. Escrito como um contrato entre o cliente e o desenvolvedor do software. 4 - Por que diferentes níveis de requisitos são úteis? Dê exemplos. Para Sommerville (2008) esses dois níveis de requisitos e a especificação de projeto de software podem ser definidos do seguinte modo: Requisitos de usuário são declarações em linguagem natural e diagramas contendo as funcionalidades e as restrições sob as quais o sistema deve operar. Esse documento é escrito para gerentes do cliente e dos fornecedores que não tenham conhecimento técnico detalhado do sistema. Requisitos de sistema detalham funcionalidades e restrições. Esse documento pode inclusive servir como um contrato entre as partes envolvidas no projeto. Ele é escrito para os profissionais técnicos de nível sênior e para gerentes de projeto. Especificação de projeto de software é uma descrição abstrata do projeto de software na qual se acrescenta mais detalhes aos requisitos do sistema. Esse documento é escrito para os engenheiros de software que desenvolverão o sistema. 5 - Como funciona o processo de requisitos em uma abordagem ágil? As informações dos documentos de softwares irão variar de acordo com o tipo de software em desenvolvimento e da abordagem adotada para fazê-lo. E nada mais são que esboços (PRESSMAN, 2008) que podem ser usados para descrever as funcionalidades de um sistema. Dependendo da abordagem escolhida o documento de requisitos irá variar no enfoque e no tamanho. O documento poderá ter desde uma simples definição geral do escopo para um dado processo até um documento extremamente detalhado para outro processo. A decisão de qual adotar caberá aos engenheiros de software e sua decisão frente às características do sistema. 6 - Defina Requisitos funcionais e não funcionais. Requisitos Funcionais: Um requisito de sistema de software que especifica uma função que o sistema ou componente deve ser capaz de realizar. Estes são requisitos de software que definem o comportamento do sistema, ou seja, o processo ou transformação que componentes de software ou hardware efetuam sobre as entradas para gerar as saídas. Esses requisitos capturam as funcionalidades sob o ponto de vista do usuário. Requisitos não Funcionais: Em engenharia de sistemas de software, um requisito não funcional de software é aquele que descreve não o que o sistema fará, mas como ele fará. Assim, por exemplo, têm-se requisitos de desempenho, requisitos da interface externa do sistema, restrições de projeto e atributos da qualidade. A avaliação dos requisitos não funcionais é feita, em parte, por meio de testes, enquanto que outra parte é avaliada de maneira subjetiva. 7 - Como funciona o relacionamento entre os requisitos de usuário, funcionais e não funcionais? Os requisitos de usuários descrevem os requisitos funcionais e não funcionais de forma compreensível pelos usuários do sistema que não têm conhecimentos técnicos detalhados. Devem especificar somente o comportamento externo do sistema evitando o quanto for possível das características do projeto de sistema. Podem ser escritos em linguagem natural, formulários e diagramas simples e intuitivos. A distinção entre esses diferentes tipos de requisitos não é tão clara como sugere essas definições. Um requisito pode parecer-se inicialmente não funcional, mas que quando desenvolvido com mais detalhes pode dar origem a uma série de novos requisitos funcionais. 8 - Diferença entre completude e consistência? Completude: todos os serviços requeridos pelo usuário devem ser definidos. Consistência: requisitos não podem apresentar definições contraditórias. 9 - Segundo Presman, qual a diferença entre clientes e usuários? (ver pagina110) Usuário O usuário é quem irá usufruir do serviço prestado. É um papel presente sobretudo na Operação do Serviço, que se relaciona com o departamento / provedor de TI sobretudo para requisitar serviços e tratamento de incidentes. Normalmente, o ponto único de contato entre o usuário e o prestador de serviços de TI é o Service Desk de TI. Ex: médicos e enfermeiras são usuários comuns do departamento de TI de um hospital. Cliente Embora seja comumente confundido com o primeiro, este papel é bem diferente, porquanto o cliente exerce uma responsabilidade tática e estratégica dentro do relacionamento entre TI e Negócio. O cliente é quem compra* o produto, negocia, realiza acordos, tais como o Acordo de Nível de Serviços, e fornece os requisitos para o serviço que é entregue e suportado, assim com avalia os resultados do serviço. Referências: 1 Engenharia de Software - Engenharia de Software - Aula 05 - Tipos de requisitos. Link: https://youtu.be/Pn93e2fgIro 2 - Sommerville, Ian. Engenharia de Software. 9. ed. — São Paulo: Pearson Prentice Hall, 2011. (Capítulo 4: Páginas 57 a 63). 3 - http://www.semeru.com.br/blog/category/requisitos-de-sistema/ http://professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676/material/Engenharia%20de%20Requisitos.pdf