Engenharia de Software Prof. Luiz Antonio do Nascimento Espec. sistema / Eng. sistemas Modelagem do processo de negócios Análise de requisitos O que tem que ser feito Projeto Como deve ser feito Construção Fazer Validação Verificar Requisitos funcionais O que o sistema deve fazer Requisitos Não funcionais Performance Confiabilidade Interfaces (telas) Projeto 1
Análise Levantar e descrever os requisitos de um sistema. Definir de que forma deve funcionar o sistema para atender as expectativas de todos que nele possuem algum interesse. Especificar o que o sistema deve fazer sem especificar como fará. Definir que tarefas o sistema deve executar e que dados deve manter em memória. Feita pela comunicação dos desenvolvedores (Analista de Sistema) com seus clientes. Análise Modelos de Análise: Modelo de Negócio - descreve como funciona o negócio onde o sistema está inserido através do IDEF0. Modelo de Dados - descreve os dados guardados pela memória do sistema, na forma de um Modelo Conceitual segundo o Método de Entidades e Relacionamentos. Modelo Funcional - descreve a funcionalidade do sistema através de Diagramas de Fluxo de Dados. Estudo do domínio do problema e a identificação de suas características. Estudar um campo de atividade para propor um sistema. Abstrair o essencial. Ignorar aspectos irrelevantes para o sistema para se concentrar nos aspectos importantes. 2
Requisito: Uma identificação da capacidade, característica física ou um fator de qualidade que limita um produto ou um processo. Objetivo do sistema (descrição sucinta do sistema. O que faz e para que serve). Quem são os usuários? Que processos devem ser monitorados? O processo pode ser melhorado com a automação? Existe controle manual que pode ser automatizado? Quais informações quer se obter com o sistema? Sobre quais e que informações sobre assuntos distintos serão armazenadas? Como os assuntos se relacionam? Previsão da estrutura do sistema (tipo, máquinas, programas e telas utilizadas). Cronograma de implantação (módulos e versões). Critérios de avaliação (testes, infra-estrutura e participantes para aceitação). 3
O sucesso de um sistema: Capacitação técnica da equipe de desenvolvimento. Recursos. Negociação usuário desenvolvedor. Domínio do problema. Transparência. Monitoramento e manutenção. * O sistema sempre vai dar pau. Exemplos: O sistema deverá imprimir a nota fiscal de venda ao consumidor. O sistema deverá permitir ao usuário calcular diferentes orçamentos para uma mesma proposta, baseados em formas diferentes de pagamento. O sistema deverá avisar que a rede está fora do ar em 20±4 segundos após a rede sair do ar. O sistema deverá permitir agendar uma consulta, reservando a data e o horário da sala e do profissional de acordo com as disponibilidades da clínica e o desejo do paciente. Requisitos errados geram perdas financeiras e de tempo. Requisitos Mudam com o Tempo. 4
Analista de Sistemas: Responsável por levantar os requisitos do sistema e transformá-los em uma especificação. Ele entrevista pessoas em busca de fatos e detalhes, descobre fatos escondidos (intencionalmente ou não). Propõe soluções mais adequadas para problemas atuais e futuros, a partir de diagnósticos, planeja sistemas abstratos a partir de diagramas. Documentação Número identificador: Tipo (Funcional, Não Funcional): Evento que o atende; Descrição: Fonte (Pessoa ou o grupo que o originou): Critério de aceitação: Interesse do usuário (1 a 5). Dependências (depende de outro requisito): Conflitos (conflita com outro requisito): 5