MODELAGEM DE SISTEMA Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br
Apresentação da Disciplina
Apresentação da Disciplina
Apresentação da Disciplina
Apresentação da Disciplina
Regras do Jogo Criação dos grupos. Criação de um projeto no google code. Abertura de chamados (Ticket) Normas para criação dos documentos Critérios de pontuação Participação dos integrantes do grupo. Grau de iteração do trabalho (Pontuação mediante participação).
Avaliação e Prazos Proposta Inicial PRAZO: 24/02/2013 PRAZO: 13/03/2013 NOTA: 20 pontos PRAZO: 24/04/2013 NOTA: 30 pontos PRAZO: 29/05/2013 NOTA: 50 pontos PRAZO: 03/07/2013 NOTA: 60 pontos Projeto Final NOTA: 40 pontos
Engenharia de Requisitos 1. O Processo de Eng.ª de Requisitos 2. Levantamento de Requisitos 3. Análise de Requisitos 4. Negociação de Requisitos
Sobre Requisitos Um requisito é uma condição ou restrição sobre um serviço ou sistema. Um requisito errado significa, mais tarde ou mais cedo, problemas no projecto (erros, atrasos,...). Engenharia de requisitos é o processo (conjunto estruturado de actividades) que envolve um levantamento de requisitos Não há processos ideias, mas há técnicas já provadas que se podem usar em algumas situações típicas (a ver adiante...) O custo de um processo de levantamento de requisitos depende da natureza do problema e da metodologia usada, mas pode ser bastante substancial e nunca deve ser desprezado!!! O resultado de um processo de levantamento de requisitos é geralmente um Documento de Requisitos (a ver adiante...)
Principais tipos de requisitos Requisitos funcionais (RF) dizem o que é que o sistema deve fazer... Exemplos: Deve ser possível obter os nomes de todos os clientes numa lista ordenada alfabeticamente. Sempre que é emitida uma factura deve ser enviado um email para o responsável financeiro da organização Deve ser mantido um registo para todas as operações de alterações de dados dos últimos 30 dias. Requisitos não funcionais (RNF) dizem como é que o sistema deve ser feito e deve funcionar... Exemplos: A apresentação da lista ordenada dos nomes de todos os clientes não deve demorar mais do que 1 segundo. Todas as interfaces de utilizador devem ser apresentadas em Português e em Inglês O sistema de gestão de base de dados deve ser o MySQL Todo o sistema deve ser programado em Java, para ambiente Linux ou Windows
Processo Geral de Engenharia de Requisitos Objectivos de negócio Necessidades dos utilizadores Informação sobre o domínio Informação sobre os sistemas existentes Normas, leis e regulamentos a cumprir.., Identificação de requisitos ( elicitation ) Análise de Requisitos e Negociação Documentação dos Requisitos Validação dos Requisitos Documento de Requisitos Especificação do Sistema... Modelação 11
Utilizadores do Documento de Requisitos Clientes do sistema Especificam ou validam os requisitos Gestores de projecto Planeamento de custos e prazos para o processo de desenvolvimento Engenheiros de sistemas e desenvolvimento Entendimento do sistema a desenhar e desenvolver Equipas de teste do sistema Usam os requisitos para desenvolver teste de validação Equipas de manutenção do sistema Usam os requisitos para o melhor compreender
O standard IEEE/ANSI 830-1993 propõe uma estrutura para documentos de requisitos de software 1. Introdução 1.1 Propósito do documento 1.2 Contexto do produto 1.3 Definições, acrónimos e abreviaturas 1.4 Referências 1.5 Visão geral do documento 2. Descrição geral 2.1 Perspectiva do produto 2.2 Funções do produto 2.3 Características dos utilizadores 2.4 Restrições gerais 2.5 Assunções e dependências 3. Requisitos específicos Este ponto aparece tipicamente estruturado em requisitos funcionais e em requisitos não funcionais... 4. Apêndices
Classificação de Requisitos Não Funcionais segundo o IEEE-Std 830 1993 Requisitos de desempenho Requisitos de interface Requisitos operacionais Requisitos de recursos Requisitos de verificação Requisitos de aceitação Requisitos de documentação Requisitos de segurança Requisitos de portabilidade Requisitos de qualidade Requisitos de fiabilidade Requisitos de manutenção Em cada projecto concreto devem ser usadas as classes que se considerem relevantes...
Mais exemplos de Requisitos Funcionais (do livro Systems analysis and design with UML ) Modelação 15
Mais exemplos de Requisitos Não Funcionais (do livro Systems analysis and design with UML )
Engenharia de Requisitos 1. O Processo de Eng.ª de Requisitos 2. Levantamento de Requisitos 3. Análise de Requisitos 4. Negociação de Requisitos
Processo Geral de Engenharia de Requisitos Objectivos de negócio Necessidades dos utilizadores Informação sobre o domínio Informação sobre os sistemas existentes Normas, leis e regulamentos a cumprir.., Identificação de requisitos ( elicitation ) Análise de Requisitos e Negociação Documentação dos Requisitos Validação dos Requisitos Documento de Requisitos Especificação do Sistema...
Técnicas de levantamento de requisitos Questionários Análise de documentos Entrevistas JAD - Joint Application Design Etnografia Prototipagem Casos de Uso (de novo...)
Engenharia de Requisitos 1. O Processo de Eng.ª de Requisitos 2. Levantamento de Requisitos 3. Análise de Requisitos 4. Negociação de Requisitos
Processo Geral de Engenharia de Requisitos Objectivos de negócio Necessidades dos utilizadores Informação sobre o domínio Informação sobre os sistemas existentes Normas, leis e regulamentos a cumprir.., Identificação de requisitos ( elicitation ) Análise de Requisitos e Negociação Documentação dos Requisitos Validação dos Requisitos Documento de Requisitos Especificação do Sistema...
Análise de Requisitos O objectivo é encontrar problemas, falhas e inconsistências A análise deve ser intercalada com o levantamento de requisitos e suportada por uma lista de verificação de problemas
Lista típica de verificação de requisitos Para cada requisito concreto aplicar verificação: Desenho prematuro: Verificar se inclui informação prematura sobre o design ou a implementação Detalhe: Verificar é um único requisito ou se o mesmo deve ser dividido em diferentes requisitos Necessidade: Verificar se é apenas uma adição cosmética ao sistema. Tecnologia não normalizada: Detectar se o requisito obriga ao uso de hardware ou outra tecnologia não standard. Conformidade com os objectivos de negócio: Verificar se é consistente com os objectivos definidos na introdução do documento de requisitos Ambiguidades: Verificar se o requisito pode ser lido de forma diferentes por diferentes pessoas e quais as interpretações possíveis? Realismo: Verificar se o requisito é realista, especialmente tendo em conta o custo e a tecnologia a ser usada para implementar o sistema Teste: Verificar se é possível derivar um teste a partir da descrição do requisito que mostre que o sistema satisfaz esse requisito
Matrizes de Interacção Técnica para determinar as interacções entre requisitos, evidenciando conflitos e sobreposições: 0 => Requisitos independentes 1 => Requisitos em conflito (contraditórios) 1000 => Requisitos sobrepostos (dizem a mesma coisa, total ou parcialmente) Requirement R1 R2 R3 R4 R5 R6 R1 0 0 1000 0 1 1 R2 0 0 0 0 0 0 R3 1000 0 0 1000 0 1000 R4 0 0 1000 0 1 1 R5 1 0 0 1 0 0 R6 1 0 1000 1 0 0
Engenharia de Requisitos 1. O Processo de Eng.ª de Requisitos 2. Levantamento de Requisitos 3. Análise de Requisitos 4. Negociação de Requisitos
Processo Geral de Engenharia de Requisitos Objectivos de negócio Necessidades dos utilizadores Informação sobre o domínio Informação sobre os sistemas existentes Normas, leis e regulamentos a cumprir.., Identificação de requisitos ( elicitation ) Análise de Requisitos e Negociação Documentação dos Requisitos Validação dos Requisitos Documento de Requisitos Especificação do Sistema...
Negociação de requisitos A negociação de requisitos tenta encontrar soluções de concordância. Pode ser um processo demorado, pois obriga a consensos Fases do Processo: Informação: Explicar os problemas associados com os requisitos a negociar Discussão: Stakeholders devem ter oportunidade de comentar os requisitos que lhes dizem respeito. Usar esta fase para atribuir prioridades aos requisitos Resolução: Eliminar, alterar ou refinar o requisito
OBRIGADO!