Baixe o app para aproveitar ainda mais
Prévia do material em texto
08/03/2012 1 Requisitos e especificação de softwareRequisitos e especificação de softwareRequisitos e especificação de softwareRequisitos e especificação de software Definição de Requisitos, Técnicas de Coleta de Requisitos, Requisitos de Negócio, Requisitos de Técnicos, Requisitos Funcionais, Requisitos Não Funcionais, Especificação de Requisitos � 12/03 e 13/03 aulas de Laboratório � 14/03 – Revisão � 15/03 – Prova � 19/03 – Seminário � 21/03 – aula de laboratório � 22/03 – Revisão � 23/03 – Prova � 26/03 – Prova Final 08/03/2012 2 � Quatro equipes ◦ Tópicos � RUP – Rational Unified Process � XP – Extreme Programming � Scrum � Comparativo entre Processos Dirigidos a Planos e Processos Ágeis ◦ Tempo para cada equipe � 1 hora 4[Breitman, 2007] 08/03/2012 3 5[Breitman, 2007] © Carla A. Lima Reis, 2007 6 08/03/2012 4 © Carla A. Lima Reis, 2007 7 Preciso conhecer os seus requisitos antes que eu inicie o projeto do software Em primeiro lugar, o que você quer obter? Eu quero que você construa o meu software Não. Eu quero saber o que você pretende fazer com o software? Eu não sei o que eu posso fazer até que você me diga o que o Software pode fazer Tente entender isto, seu cabeça dura: o software poderá fazer qualquer coisa que eu projete para ele fazer Então tu podes projetá- lo para te dizer quais são os MEUS requisitos? 8 Antes de elicitar os requisitos é necessário definir o escopo do sistema 08/03/2012 5 9 � Defina o problema que vai ser tratado no projeto � Exemplo: O problema de Desorganização na solicitação de chamadas para atendimento ao usuário Afeta todos os funcionários e clientes da empresa cujo impacto é Falta de controle do atendimento dos chamados e insatisfação dos usuários/clientes uma boa solução seria desenvolver uma solução de software que registre e ajude a controlar as chamadas técnicas feitas por clientes da empresa. 10 � Justifique a necessidade do projeto � Exemplo: ◦ Justificativa: � “A falta de controle no atendimento de chamados tem gerado diversos problemas com os clientes. � Não é possível gerar relatórios e obter estatísticas acerca dos tipos de atendimento/serviços sendo prestados pelos nossos técnicos. � O controle de chamadas precisa ser automatizado para permitir o controle de atendimento por parte da empresa e por parte do cliente.” 08/03/2012 6 11 � Defina claramente o objetivo e escopo do projeto � Exemplo: ◦ “Desenvolver um sistema automatizado de controle de chamadas, desde o desenvolvimento de um software, até serviços de infra-estrutura. Tal sistema deve gerar documentação em forma de relatórios para permitir a tomada de decisão mais eficiente sobre o andamento dos serviços prestados, além de otimizar o atendimento das chamadas. 12 � Defina claramente o que não faz parte do escopo do projeto � Exemplo: ◦ “O sistema não fará autenticação de usuários, pois existe um outro sistema com essa finalidade.” 08/03/2012 7 13 14 � Definições: ◦ Para Pfleeger (2004), um requisito é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar, para atingir os seus objetivos ◦ Para o IEEE Software Engineering Standards (1987): � (1) Uma condição ou capacidade necessária para um usuário resolver um problema ou alcançar um objetivo � (2) Uma condição ou uma capacidade que deve ser alcançada ou estar presente num sistema... Para satisfazer um contrato, padrão, especificação ou outro documento formalmente imposto... 08/03/2012 8 15 � Características de Requisitos ◦ Fundamentais para o sucesso do projeto ◦ Grande impacto sobre o desenvolvimento e a manutenção ◦ Pode ocasionar o cancelamento do projeto ◦ Os requisitos são o grande “vilão” da Engenharia de Software [Conte 2007] 16 � Estudo feito pelo Standish Group em 1995 (Pfleeger, 2004) ◦ 350 companhias e 8.000 projetos de software ◦ Resultados: � 31% dos projetos cancelados antes de estarem completos � Em pequenas companhias, somente 16% dos projetos foram entregues no prazo e no orçamento inicialmente estabelecidos � Em grandes companhias, apenas 9% atenderam esses critérios [Conte 2007] 08/03/2012 9 © Carla A. Lima Reis, 2007 17 Fatores de Projetos Críticos % Resp. 1. Requisitos Incompletos 13.1% 2. Falta de Envolvimento do Usuário 12.4% 3. Falta de Recursos 10,6% 4. Expectativas Irreais 9,9% 5. Falta de Apoio Executivo 9,3% 6. Mudança de Requisitos e Especificações 8,7% 7. Falta de Planejamento 8,1% 8. Sistema não mais necessário 7,5% Requisitos estão envolvidos na maioria das causas! 18Breitman, 2007] 08/03/2012 10 19 � Definição segundo Sommerville (2003) � Engenharia de requisitos é o processo de descobrirdescobrirdescobrirdescobrir, analisaranalisaranalisaranalisar, documentardocumentardocumentardocumentar e verificarverificarverificarverificar as funções e restrições do sistema 20 � A Engenharia de Requisitos consiste de dois grupos de atividades relacionadas: ◦ Desenvolvimento de Requisitos (Elicitação, Análise, Modelagem e Validação) ◦ Gerência de Requisitos (Identificação, Configuração, Priorização, Rastreabilidade) 08/03/2012 11 21 Elicitação, Análise, Modelagem e Validação Gerência de Requisitos Novos requisitos elicitados Versões aceitas, rastreabilidade, progresso � O Desenvolvimento de Requisitos cria e interpreta os requisitos � A Gerência de Requisitos organiza e mantém registro dos mesmos [Conte 2007] 22 RequisitosRequisitosRequisitosRequisitos elicitar requisitos modelar requisitos validar requisitos gerenciar evolução implementar rastreabilidade [Breitman 2007] 08/03/2012 12 23 24 � A próxima figura representa as atividades seguidas por uma empresa para realização de um dos cinco passos básicos do processo de Engenharia de Requisitos ◦ Elicitação de requisitos ◦ Análise e negociação de requisitos ◦ Especificação de requisitos e Modelagem do sistema ◦ Validação de requisitos ◦ Gerência de requisitos � Determine qual passo a figura se relaciona e justifique [Breitman 2007] 08/03/2012 13 © Carla A. Lima Reis, 2007 25[Breitman 2007] 26 08/03/2012 14 27 � Requisito = Declaração para ser entendida pelos usuários ou pelos desenvolvedores? ◦ Requisitos do usuárioRequisitos do usuárioRequisitos do usuárioRequisitos do usuário: declarações, em formato ou linguagem inteligível pelo cliente, sobre as funções que o sistema deve oferecer e as restrições sob as quais deve operar ◦ Requisitos de sistema:Requisitos de sistema:Requisitos de sistema:Requisitos de sistema: estabelecem detalhadamente as funções e as restrições de sistema, em um formato mais apropriado para a implementação [Conte 2007] • Os requisitos de usuário devem consistir em � Declarações em linguagem natural com os serviços que o sistema deverá fornecer e suas restrições operacionais. Escrito para os clientes. • Os requisitos de sistema devem gerar � Um documento estruturado estabelecendo descrições detalhadas das funções do sistema, serviços e restrições operacionais. 08/03/2012 15 30 � Requisitos Funcionais ◦ Requisitos diretamente ligados a funcionalidade do software, descrevem as funções que o software deve executar ◦ Um requisito funcional descreve uma interação entre o sistema e seu ambiente ◦ Exemplo: “O sistema deve prover um formulário com os resultados dos testes clínicos de um paciente” [Conte 2007] 08/03/2012 16 • O sistema deve permitir que o usuário pesquise as listas de agendamentos para todas asclínicas. • O sistema deve permitir que o usuário visualize a lista de pacientes esperados para as consultas daquele dia. 32 � Requisitos Não-Funcionais ◦ São requisitos que expressam condições que o software deve atender ou qualidades específicas que o software deve ter ◦ Em vez de informar o que o sistema fará, os requisitos não-funcionais colocam restrições no sistema ◦ Exemplo: “As consultas ao sistema devem ser respondidas em menos de três segundos” [Conte 2007] 08/03/2012 17 33 � O sistema deve prover um formulário para a entrada dos resultados dos testes clínicos de um paciente. (RF) � Dependendo do resultado do teste, somente o Supervisor pode efetuar a entrada do resultado do teste de um paciente. (RNF). � O sistema deve emitir um recibo para o cliente, com o tempo máximo de 8 segundos após a transação. (RF, RNF de performace). 34 � Classifique os requisitos a seguir para um sistema de venda de ingressos de cinema: ◦ O sistema deve solicitar tanto ao gerente quanto ao cliente em qual filial deseja se conectar, no caso do gerente podendo ter acesso à versão completa ◦ O sistema deve ter uma interface leve (abrir em no máximo 4 segundos e com pouca animação/imagens). ◦ Deve disponibilizar informações de horários, salas e sinopses dos filmes em cartaz e os que estrearão na semana seguinte. ◦ Deve conter um sistema de cadastros de usuários.Somente usuários cadastrados podem comprar ingressos.
Compartilhar