Baixe o app para aproveitar ainda mais
Prévia do material em texto
ANÁLISE DE SISTEMAS O.O. Aula 01 – Requisitos de Software Profª. Yonara Costa Magalhães yonara.magalhaes@ceuma.br 1 2 Processo de Desenvolvimento de Sw “A parte mais difícil da construção de um sistema de software é decidir, precisamente, o que deve ser construído… Nenhuma outra parte do trabalho aleija mais o sistema resultante se feita errada. Nenhuma outra parte é mais difícil de corrigir depois.” Fred Brook, 1978 2 3 Realidade: fases do desenvolvimento de sistemas 3 4 Processo de desenvolvimento de sw 4 Não importa quão bem projetado ou codificado está um programa, se ele for mal analisado e mal especificado trará inúmeros problemas ao desenvolvedor. 5 Processo de Desenvolvimento de Sw Implica em uma série de transformações do modelo mental dos envolvidos no projeto para a elaboração da solução/código. Envolve: Elicitação de requisitos Análise de requisitos Arquitetura Design Implementação Testes Implantação 5 Se preocupa com as etapas de produção do software, isto é, o processo de desenvolvimento. Visando: a criação de produtos de software que atendam as necessidades de pessoas e instituições com valor econômico, utilizando conhecimentos científicos, técnicos e gerenciais (teóricos e empíricos), com o objetivo de produzir software com alta qualidade e produtividade a partir de profissionais treinados e bem informados e utilizando tecnologias adequadas, dentro de processos que tirem proveito tanto da criatividade quando da racionalização do trabalho. 6 Engenharia de Software 6 Consiste em um conjunto de atividades na construção de um software, que são: Utilizam-se: diferentes modelos, metodologias, paradigmas (estilo/abordagem) e ferramentas case, de acordo com a necessidade. Processo de Desenvolvimento de sw 7 Especificação Desenvolvimento Validação Evolução É uma atividade complexa: 1. Não existe uma única solução para cada cenário de desenvolvimento; 2. Lida-se o tempo todo com pessoas (equipe técnica + clientes + usuários); 3. Competência da equipe + forma que a equipe trabalha + necessidade de um processo de desenvolvimento bem definido para apoiar as atividades do projeto; 4. Sujeito à mudanças: extensão de um sistema atual (com novas funcionalidades), substituição de um sistema já existente ou realização de funções existentes no antigo sistema de um modo diferente. Processo de Desenvolvimento de Sw 8 Visão geral da Engenharia de Software Processo de Desenvolvimento de Sw 9 Engenharia de Software 10 1) Definição (O que?) • Funções, desempenho, interface, restrições de projeto, critérios de validação. • Análise de sistemas e de requisitos; • Planejamento de projeto. 2) Desenvolvimento (Como?): • Estrutura de dados, Arq. de software, detalhes procedimentais, programas, testes. • Projeto de software. • Codificação e Testes. 3) Manutenção • Corretiva: para corrigir defeitos; • Adaptativa: para acomodar mudanças no ambiente externo do software (S. O.,periféricos, etc) • Perfectiva: para inclusão de novas funcionalidades Uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar para atingir os seus objetivos. As descrições das funções e restrições de um sistema. Uma propriedade que o software deve exibir para resolver algum problema no mundo real. São objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema. Uma condição ou uma capacidade que deve ser alcançada ou estar presente em um sistema para satisfazer um contrato, padrão, especificação ou outro documento formalmente imposto... Requisitos: conceitos 11 Constituem uma especificação das características e propriedades do sistema. É uma descrição do que o sistema deve fazer, de como ele deve se comportar, bem como das suas restrições de operação. Requisitos: conceitos 12 Requisitos descrevem "o que o sistema deve fazer"- e também "o que ele não deve fazer"- sem dizer "o como fazer". Quando o requisito é expresso em termos do comportamento do sistema, este comportamento deve ser possível de ser percebido por um observador externo ao sistema. Requisitos: exemplo de descrição 13 • Forma correta: o sistema deve informar os clientes que estão com pagamento em atraso. • Forma incorreta: para cada pagamento existente no arquivo "pagamentos_a_vencer" o sistema deve comparar a data de vencimento do pagamento com a data atual. Se a data de vencimento for anterior a data atual, o cliente deve ser incluído na relação de clientes com pagamento em atraso". Requisitos: cenário 14 Requisitos: separar o problema da solução 15 O enunciado do problema: • pode ser usado para avaliar decisões de projeto; • é uma boa fonte para casos de teste. Eng. de Requisitos: 2 grandes focos 16 Considerações sobre a utilização da ER Fazer a Análise do Problema: Entenda o problema; Obtenha concordância dos envolvidos. Fazer o Levantamento dos Requisitos: Identifique quem usará o sistema; Descubra como o sistema será usado. Fazer a Gerência de Requisitos: Especifique os requisitos completamente ; Gerencie expectativas, mudanças e erros; Controle o aumento do escopo; Defina a equipe e a mantenha informada. 17 17 Engenharia de Requisitos (ER) Sub-área da Engenharia de Software. Processo de: definir os requisitos que o software deverá atender; analisar as necessidades do usuário para alcançar os requisitos do software ou hardware; analisar e refinar os requisitos do software ou hardware; interfacear os desejos e necessidades dos clientes e a implementação disto no software; estabelecer serviços e restrições necessários ao software; descrever as atividades relacionadas à investigação e definição de escopo de um sistema de software; descobrir, analisar, documentar e verificar as funções e restrições do sistema; realizar atividades para criar e manter o documento de requisitos de sistema. 18 18 A identificação de requisitos O início de todo desenvolvimento de software é o levantamento de requisitos. Processo genérico para definição do escopo do problema: Compreensão do domínio Coleta de requisitos (abstração) Classificação Resolução de conflitos Definição das prioridades Verificação de requisitos 19 19 ER: conclusão É o desenvolvimento sistemático e cooperativo de atividades de análise, com utilização de tecnologia eficaz, para a elicitar, especificar, análisar e gerenciar os requisitos dos interessados (clientes/usuários) que devem ser cumpridos por sistemas de software. Envolve atividades de: descobrimento, documentação e manutenção de um conjunto de requisitos para um sistema baseado em computador. Pode ser considerado como o processo através do qual o documento de requisitos é preenchido; 20 20 A Importância da ER 21 • Falta de cuidado com os requisitos pode ocasionar a construir um sistema que: • resolve o problema errado; • não funciona como esperado; • é difícil para os usuários entenderem e utilizarem; • Na fase de Concepção/ análise é que grande parte dos defeitos são inseridos. • Alto custo (tempo, dinheiro e recursos). 21 Por que os projetos falham? • o custo das atividades relacionadas à análise de requisitos é baixo. • o custo de correção destes problemas nesta fase é baixo. 22 • Custo aumenta com o tempo de descoberta do erro. • Os erros mais caros são aqueles cometidos na analise de requisitos e descobertos pelo usuário. Processo de ER Ineficiente gera: (i) requisitosinconsistentes; (ii) produto final com custo maior do que o esperado; (iii) software instável e com altos custos de manutenção; e (iv) clientes insatisfeitos. O que é sucesso no desenvolvimento de software? Clientes satisfeitos 23 23 Entrega de acordo como orçament o Entrega no prazo Atende às expectativ as Cliente satisfeito
Compartilhar