Engenharia de Software

Documentos relacionados
Análise e Projeto de Sistemas

Análise e Projeto de Sistemas

Engenharia de Software

Análise e Projeto Orientado a Objetos

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Análise de Sistemas Aula 4

Análise e projeto de sistemas

Engenharia de Requisitos

Análise de sistemas. Engenharia de Requisitos

Engenharia de Requisitos

Requisitos de Software

Professor Emiliano S. Monteiro

Análise de Requisitos

Engenharia de Requisitos

Análise de Sistemas AULA 05 BCC Noturno - EMA908915A

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

MODELAGEM DE SISTEMA Apresentação

Princípios da Engenharia de Software aula 03

Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Engenharia de Requisitos

2

Componentes de SIs. Pessoas Organiz. Tecnologia

Eng. de Requisitos: Atividades. Engenharia de Requisitos. Eng. de Requisitos: Processo. O Documento de Requisitos. Stakeholders. Estudo de Viabilidade

Classificação de Requisitos

Engenharia de Software.

Processos de Engenharia de Requisitos

Eng. de Requisitos: Atividades. Engenharia de Requisitos. Eng. de Requisitos: Processo. O Documento de Requisitos. Stakeholders

Ciclo de vida: fases x atividades

Requisitos de Sistemas

Processos de software

Prof. Esp. Fabiano Taguchi

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

SCM Sistema de Controle de Motel I - DOCUMENTO DE REQUISITOS Versão 1

QUALIDADE DE SOFTWARE

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Engenharia de Software

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

O Processo de Engenharia de Requisitos

06/02/2014. Engenharia de requisitos. Requisitos de Software. Capítulo 6. O que é um requisito? Objetivos. Abstração de requisitos (Davis)

Processo de desenvolvimento de sistema de informação - DSI

Gerência de Projetos de Software: Cronograma

Marcelo Henrique dos Santos

ISO/IEC Processo de ciclo de vida

- 8ª Lista de Exercícios -

Modelagem de Sistemas Web. Modelagem de BD

Processos utilizados para descobrir, analisar, especificar e validar requisitos de sistema

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Requisitos de Software

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira

Capítulo 5 Gerenciamento do Escopo do projeto. Introdução. Antes de iniciarmos vamos pensar um pouco.

Gerenciamento do Escopo

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia de Software I

Documento de Requisitos*

21/09/2012. Elicitação de Requisitos. Projeto de Interface Homem- Máquina. Prof. Esp. MBA Heuber G. F. Lima. Técnicas etipos de Requisitos

ISO/IEC Roteiro IEC ISO. Histórico ISO/IEC ISO

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE REQUISITOS

Prof. Ms. Ronaldo Martins da Costa

Organização para Realização de Teste de Software

Análise e Projeto Orientado a Objetos

Engenharia de Software ENGENHARIA DE REQUISITOS

Escopo: PROCESSOS FUNDAMENTAIS

Qualidade de Pacote de Software. Avaliação do Sistema DreamWeaver. Material preparado por Débora M. B. Paiva

Curso de Sistemas de Informação. Karla Donato Fook DESU / DAI

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos. Prof. Bruno Moreno

05/09/2013. Ciclo de vida de um Sistema de Informação

Aula 01 - Introdução

UFU-FACOM Documento de Requisitos <Nome do Sistema>

Gerencial Industrial ISO 9000

Agenda. Componentes genéricos de uma fábrica de. Implantar ou melhorar uma fábrica, é um. Outras novidades que merecem atenção

Aula 6 Estudo de Viabilidade

3. Engenharia dos requisitos de software

ENGENHARIA DE SOFTWARE. Introdução

Gerenciamento de Projetos

Introdução à Engenharia de Software

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão

Normas ISO:

Aula 6 - Análise de Requisitos: Especificação de Requisitos. Análise de Sistemas Prof. Filipe Arantes Fernandes

Gestão de Projetos. Lista de Exercícios AV2 01. Luiz Leão

Requisitos de Ontologias

O Fluxo de Requisitos

Análise e Projeto de Sistemas de Informação (APSI)

SISCOP. Documento de Requisitos SISTEMA DE CONTROLE DE PEDIDOS. Versão 1.3

Requisitos. Silvério Sirotheau

Análise de Sistemas 3º Bimestre (material 1)

Ferramenta de apoio a Documentação de Requisitos de Software. Odair José ALUNO. Prof. Everaldo Artur Grahl ORIENTADOR

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Transcrição:

Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011

Requisitos do Sistema

Introdução O que são requisitos de um software? Serviços (funcionalidades) de um software e restrições sob as quais o mesmo deve operar ou ser desenvolvido. Ronaldo C. Oliveira 3

Introdução O termo requisito pode ser escrito diferentes formas Declaração em linguagem natural sobre um serviço ou uma restrição. Uma definição formal sobre uma função do software. Ronaldo C. Oliveira 4

Introdução Um requisito pode ser apresentado em diferentes níveis de detalhe Requisitos do Usuário Lista das funcionalidades e restrições do software. Requisitos para o Software Detalhes técnicos sobre cada requisito do usuário. Ronaldo C. Oliveira 5

Introdução Os requisitos são organizados em duas classes Funcionais Funcionalidades do software Não Funcionais Restrições para o software Ronaldo C. Oliveira 6

Requisitos Funcionais Descrevem o que o software deve realizar serviços (funcionalidades) Devem ser completos, precisos e consistentes. Ronaldo C. Oliveira 7

Requisitos Funcionais Exemplo O sistema deve permitir que um aluno realize sua matrícula em disciplina pela Internet. Ronaldo C. Oliveira 8

Requisitos Funcionais Exemplo O sistema deve permitir que um cliente realize empréstimo de mais de um livro. Ronaldo C. Oliveira 9

Requisitos Funcionais Exemplo A ferramenta CASE deve gerar o código fonte, em uma linguagem OO, a partir de um Diagrama de Classes. Ronaldo C. Oliveira 10

Requisitos Funcionais Como escrever RFs Sempre escreva um teste para o RF. Quanto à redação, use períodos curtos; modo positivo; consistência. Ronaldo C. Oliveira 11

Requisitos Não Funcionais Descrevem as restrições para o software. Exemplo O tempo de resposta para uma consulta deve demandar no máximo 3 segundos. Os RNFs, em geral, dizem respeito ao sistema como um todo. Ronaldo C. Oliveira 12

Requisitos Não Funcionais Não confunda RFs com RNFs. RFs descrevem funcionalidades. RNFs descrevem restrições. O sistema deve ser executado no Windows. é um RF ou RNF? RNF! Ronaldo C. Oliveira 13

Requisitos Não Funcionais Como especificar RNFs? Especifique-os por meio de termos mensuráveis. Os RNFs devem ser possíveis de serem comprovados tanto quanto os RFs. Ronaldo C. Oliveira 14

Requisitos Não Funcionais Analise os RNFs abaixo O sistema deve ser fácil de usar. O sistema deve minimizar a quantidade de erros do usuário no lançamento de notas. É possível comprová-los? Ronaldo C. Oliveira 15

Requisitos Requisitos Não Funcionais Como especificar o RNF correspondente a o sistema deve ser fácil de usar? O usuário será capaz de utilizar todas as funcionalidades dos sistema após 2 horas de treinamento. Ronaldo C. Oliveira 16

Requisitos Requisitos Não Funcionais Como especificar o RNF correspondente a O sistema deve minimizar a quantidade do usuário no lançamento de notas? O usuário deverá cometer no máximo dois erros a cada cem lançamentos de nota de aluno em disciplinas. Ronaldo C. Oliveira 17

Requisitos Não Funcionais Algumas unidades de medida CRITÉRIO UNIDADE velocidade transações por segundo tempo de resposta p/ evento tamanho usabilidade interface K bytes tempo de treinamento qtde de erros por tempo as telas devem aparecer maximizadas o fundo deve ser de cor azul claro Ronaldo C. Oliveira 18

Requisitos Não Funcionais Tipos Produto Eficiência, Usabilidade, Confiabilidade,... Organização Externo Padrões, Implementação, Entrega Interoperabilidade, Ética, Legislação Ronaldo C. Oliveira 19

Importância dos Requisitos São fundamentais para o desenvolvimento de um software. Quem os lê? Clientes, Usuários do Sistema, Gerente, Líder do Projeto, Programador, Testador, Responsável pela manutenção Ronaldo C. Oliveira 20

Documentos de Requisitos Os RFs e RNFs devem estar explicitados em documentos. Requisitos do Usuário Requisitos do Sistema Ronaldo C. Oliveira 21

Requisitos do Usuário Documento que descreve o software (sistema) a ser desenvolvido. Entre outras informações contém a relação de RFs e RNFs do sistema, que devem ser descritos tendo em mente o cliente como leitor; e não deve conter detalhes sobre a implementação do sistema. Ronaldo C. Oliveira 22

Requisitos do Usuário Os RFs e RNFs devem ser descritos em linguagem natural. Problemas: ambigüidade Prolixidade (vícios de linguagem) inconsistência jargão técnico Ronaldo C. Oliveira 23

Requisitos do Sistema É o documento que contém os RFs e RNFs de um sistema de modo mais detalhado. Detalhes: linguagem técnica (p.ex., algoritmos) desenhos (p.ex., DER) plano de testes Ronaldo C. Oliveira 24

Considerações Finais Os RFs e RNFs são a base de um sistema. É necessário habilidade para capturar os requisitos; acompanhar sua implementação; não se esquecer de implementá-los; verificar a implementação dos mesmos. Ronaldo C. Oliveira 25

Referências I.Sommerville, Cap.6 R.Pressman, Cap.7 S.L.Pfleeger, Cap.4 Ronaldo C. Oliveira 26

Engenharia de Requisitos

Engenharia de Requisitos ER Conjunto de atividades relacionadas à criação, validação e evolução do documento Requisitos do Sistema. Etapas genéricas Estudo de viabilidade Elicitação de requisitos Especificação de requisitos Validação de requisitos Ronaldo C. Oliveira 28

Engenharia de Requisitos Ronaldo C. Oliveira 29

Estudo de Viabilidade

Estudo de Viabilidade Analisa a viabilidade de se desenvolver o software solicitado. Análise curta (tempo) O software está inserido nos objetivos da empresa? O software pode ser desenvolvido? (tecnologia, custo, prazo) Há necessidade de integração com os demais softwares da empresa? Ronaldo C. Oliveira 31

Estudo de Viabilidade Início do Processo Identifique os interessados Reconheça os diferentes pontos de vista Trabalhe em busca de colaboração Saiba perguntar Ronaldo C. Oliveira 32

Estudo de Viabilidade Um EV consiste de coletar e avaliar informações. Procure determinar O que é esperado do sistema? Quem solicitou o sistema? Quem vai usar o sistema? Ronaldo C. Oliveira 33

Estudo de Viabilidade Procure determinar quais são os benefícios que o sistema trará para a organização; quais são as fontes de informação do sistema; o que ocorre se o sistema não for desenvolvido; Ronaldo C. Oliveira 34

Estudo de Viabilidade Procure determinar quais são os problemas do sistema atual. Como o novo sistema irá resolvê-los; qual a contribuição direta que o novo sistema trará para o negócio da empresa; se há intercâmbio de dados entre outros sistemas da empresa. Ronaldo C. Oliveira 35

Estudo de Viabilidade Procure determinar os riscos para o projeto O sistema requer uma tecnologia nova à empresa? O ambiente no qual o sistema será utilizado? Quais são as dificuldades que a implantação do sistema poderá acarretar? Ronaldo C. Oliveira 36

Estudo de Viabilidade Procure determinar Quais são as restrições impostas ao sistema? As informações coletadas irão constar do Relatório de Viabilidade. Ronaldo C. Oliveira 37

Estudo de Viabilidade Após o levantamento inicial das informações do sistema deve-se verificar as seguintes viabilidades: Econômica: a avaliação do custo de desenvolvimento confrontada com a renda ou benefício últimos derivados do sistema desenvolvido; Técnica: estudo das funções, do desempenho e das restrições que possam afetar a capacidade de se conseguir um sistema aceitável; Legal: determinação de qualquer interface, violação ou responsabilidade legal que possa resultar do desenvolvimento do sistema; Alternativas: avaliação das abordagens alternativas ao desenvolvimento do sistema; Ronaldo C. Oliveira 38

Estudo de Viabilidade O estudo de viabilidade deve ser realizado para todo e qualquer sistema, independendo do tamanho ou da necessidade do mesmo. Impasse: Prossegir /Cancelar o projeto Ronaldo C. Oliveira 39

Estudo de Viabilidade Econômica Análise de custo-benefício; Estratégias de renda corporativa longo prazo; Impacto sobre outros centros de lucro ou produtos; Custo dos recursos necessários ao desenvolvimento; Crescimento em potencial de mercado. Ronaldo C. Oliveira 40

Estudo de Viabilidade Técnica Riscos do desenvolvimento: O sistema pode ser projetado de forma que a função e o desempenho necessário sejam obtidos dentro das restrições reveladas durante a análise? Disponibilidade de recursos: Existe um pessoal competente à disposição para desenvolver o sistema em questão? Os demais recursos necessários (hardware e software) estão à disposição para a construção do sistema? Tecnologia: A tecnologia progrediu para um estado que suporte o sistema? Ronaldo C. Oliveira 41

Estudo de Viabilidade Legal Contratos comerciais; Responsabilidade legal; Violações; Direitos autorais; Infinidade de outras armadilhas muitas vezes desconhecidas do pessoal técnico. Ronaldo C. Oliveira 42

Análise de Custo Benefício Delineia os custos para o desenvolvimento do projeto e compara-os com os benefícios tangíveis (diretamente mensuráveis em $) e intangíveis de um sistema. Dificuldades encontradas: critérios que variam de acordo com as características do sistema a ser desenvolvido; tamanho relativo do projeto; retorno sobre o investimento esperado. Ronaldo C. Oliveira 43

Benefícios Associados aos Sistemas Automação de processos Controle e integridade das informações Busca e acesso rápido as informações Capacidade de análise e simulações; Redução de pessoal Aumento de lucratividade... Ronaldo C. Oliveira 44

Custos Associados aos Sistemas Custos de aquisição: consultoria, licenças e compra de hardware... Custos de iniciação: instalação, contratação e treinamento de pessoal, mudança cultural... Custos relacionados ao projeto: adequações do sistema, coleta de dados, implementação do sistema, migração de dados, preparação de documentação, gerenciamento e desenvolvimento... Custos permanentes: manutenção, depreciação do hardware, evolução do sistema, pessoal envolvido na administração e operação do sistema...... Ronaldo C. Oliveira 45

Análise do Custo/Benefício Determinação do Ponto Break-even Ronaldo C. Oliveira 46

Análise do Custo / Benefício Benefícios adicionais acarretam custos elevados Ronaldo C. Oliveira 47

Estudo de Viabilidade Relatório de Viabilidade É o resultado do EV. Esse relatório deve conter Objetivos Benefícios esperados pelo sistema Recomendações (sim/não) Cronograma Preço Ronaldo C. Oliveira 48

Elicitação dos Requisitos

Elicitação de Requisitos Etapa que segue o Estudo de Viabilidade. O objetivo desta etapa é determinar os requisitos do sistema a ser construído. Aprofunda-se o que foi realizado no EV. Ronaldo C. Oliveira 50

Elicitação de Requisitos Como descobrir os requisitos? Estudo domínio do problema; Observação de softwares existentes; Imersão no ambiente; Análise de documentos; Protótipos. Ronaldo C. Oliveira 51

Elicitação de Requisitos É uma etapa difícil porque o usuário tem dificuldade de expressar suas necessidades; o usuário se expressa no domínio da aplicação; talvez você não conheça o negócio da empresa; Ronaldo C. Oliveira 52

Elicitação de Requisitos É uma etapa difícil porque diferentes usuários podem possuir diferentes necessidades; fatores políticos podem influenciar os requisitos; o ambiente é dinâmico. Ronaldo C. Oliveira 53

Elicitação de Requisitos Quais são as atividades envolvidas? Entendimento do domínio; Coleta de requisitos; Classificação de requisitos; Solução de conflitos; Determinação de prioridades; Verificação de requisitos. Talvez ciclicamente Ronaldo C. Oliveira 54

Elicitação de Requisitos O produto resultante do processo de elicitação de requisitos são modelos do sistema e requisitos (usuário / sistema). Quais são as atividades envolvidas nessa etapa? Ronaldo C. Oliveira 55

Elicitação de Requisitos O processo Ronaldo C. Oliveira 56

Especificação dos Requisitos

Especificação de Requisitos Como descrever os requisitos? Depende do leitor. Linguagem Natural (clientes leigos) Linguagem Formal (cliente técnico) OBS: Verificar o Template - Documento de Requisitos do Sistema Ronaldo C. Oliveira 58

Validação dos Requisitos

Validação de Requisitos Consiste em verificar que os requisitos definem o software demandado pelo cliente. Validações quanto realidade; consistência; completeza; realismo; verificabilidade. Ronaldo C. Oliveira 60

Validação de Requisitos Técnicas para validação conferencia com o cliente se os requisitos estão corretos revisões análise automática de algumas peças ; prototipação; geração de testes. Ronaldo C. Oliveira 61

Gerencia de Requisitos

Gerência de Requisitos É o processo de entender e controlar as alterações nos requisitos do software. Carece de mecanismos de rastreamento. Ronaldo C. Oliveira 63

Gerência de Requisitos Técnicas para rastreamento de requisitos: fonte de informação referência cruzada entre requisitos; com o desenho do software; com o código-fonte. Ferramenta CASE Ronaldo C. Oliveira 64