Engenharia de Software

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

Introdução a Algoritmos
Gerenciamento do escopo
Gerenciamento de Projetos
ISO Processos do Ciclo de Vida do Software
Débora da Silva Orientadora: Maria Inés Castiñeira
Engenharia de Software
> Fases de Engenharia de SW > Gestão de Projectos de SW
Rational Unified Process(RUP)
Gestão de Projetos Áreas de conhecimentos Integração
Profa. M.Sc. Yáskara Menescal
INTRODUÇÃO A INFORMÁTICA
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Metodologia de Desenvolvimento de Software
Adélia Barros Requisitos Adélia Barros
Qualidade de Software Aula 2
Engenharia de Requisitos
Introdução Visão Geral do Método.
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Gestão de Defeitos Vanilson Burégio.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Modelos de Processos de Software
Engenharia de Software
Alunos: Artulanez Souza Iony Melo
Prof.Alfredo Parteli Gomes
Planejamento e Gerenciamento de Projetos
Visão Geral PRO.NET.
Fundamentos de Engenharia de SW
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Fase de Elaboração: Fluxo de Requisitos
Análise e Projeto de Sistemas
Engenharia de Software Gerenciamento de Projetos
Análise e Projeto de Sistemas
GESTÃO DE PROJETOS Aula 5 1.
Profa. M.Sc. Yáskara Menescal
Introdução e Fundamentos Engenharia de Requisitos
Análise e Desenvolvimento de Software
ANÁLISE E DESENVOLVIMENTO
Técnicas e Projeto de Sistemas
Fase de Concepção (Início, Planejamento)
PAS Características: Elaborado com o propósito de ser utilizado em práticas acadêmicas de desenvolvimento de software. Foi desenvolvido de forma iterativa.
PSBD II Projeto de Sistemas de Banco de Dados II
O Processo de desenvolvimento de software
Introdução à Engenharia de Software
Especificação em Projeto de Sistemas
Teste de Software Conceitos iniciais.
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Engenharia de Software
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Gestão de defeitos.
Engenharia de Software
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Técnicas e Projeto de Sistemas
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Engenharia de Software
© Nabor C. Mendonça Processo / Metodologia de Desenvolvimento de Software.
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
Engenharia de Software
Professora: Kelly de Paula Cunha
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Engenharia de Software UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Engenharia de Software Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br 1

2 Introdução Por Sommerville, software compreende tudo que é necessário para um sistema computacional funcionar: Programa de computador Documentação Arquivos de configuração Entre outros E existe por causa das necessidades de clientes.

Introdução Como transformar necessidades em software? 3 Introdução Como transformar necessidades em software? Devem ser consideradas as atividades: Entender as necessidades do cliente Planejar a solução Implementar a solução Validar esta solução Entregar o produto ao cliente Estas atividades são executadas... Ordenadas ou não Formalmente ou informalmente

Introdução Todo processo de transformação tem início e fim. 4 Introdução Todo processo de transformação tem início e fim. Essa variável temporal, denominada de ciclo de vida, determina as fases do desenvolvimento de software.

Outros Processos Contidos no Processo Principal Introdução Engenharia de Software Processo de Desenvolvimento de Software Análise de Requisitos Implemen-tação Implan-tação Projeto Teste Atividades Garantia de qualidade; - Gerência de Configuração; - Gerência de Riscos; - Métricas; Estimativas; - Revisões Técnicas Formais. Outros Processos Contidos no Processo Principal

Processo de software É uma série de passos (um ROTEIRO). Para criar EM TEMPO um SOFTWARE de ALTA QUALIDADE, sem estourar o ORÇAMENTO. Motivação

Processo de software Como “escolher“ um processo? As CARACTERÍSTICAS DA APLICAÇÃO (domínio do problema, tamanho, complexidade etc); A TECNOLOGIA a ser adotada na sua construção (paradigma de desenvolvimento, linguagem de programação, mecanismo de persistência etc), a organização; ONDE o produto será desenvolvido; O PERFIL DA EQUIPE de desenvolvimento.

Processo de software Quando se “escolhe“ um processo DEFINE­SE um: Modelo de Ciclo de Vida (ou modelo de processo). É uma representação abstrata da estrutura (“ESQUELETO“) de processo. Inclui algumas atividades principais. A ordem de precedência entre elas. Opcionalmente, artefatos requeridos e produzidos.

Ciclo de vida Em geral, os ciclos de vida envolvem as seguintes FASES : Planejamento Análise e Especificação de Requisitos Projeto Implementação Testes Entrega e Implantação Operação Manutenção

Processo de Desenvolvimento Um processo é organizado em atividades. Atividades são de responsabilidade de um membro da equipe (trabalhador). Atividade (Tarefas) Trabalhador (papel)

Processo de Desenvolvimento de SW Atividades devem gerar um artefato de saída, que possa ser verificado, e podem requisitar um artefato de entrada. Um artefato é um modelo, documento ou código produzido por uma atividade. Artefatos

Processo de Desenvolvimento de SW Uma entrega (liberação) é um artefato entregue ao cliente Um processo deve estabelecer uma série de marcos. Um marco é um ponto final de uma atividade de processo.

Atividades - artefatos (tarefas) Realizados por Trabalhador (papel) Responsável Entrada/saída Artefatos (produto do trabalho)

Papéis Na elaboração de um processo, deve-se definir quais pessoas desempenham papéis. Os papéis podem variar de um processo para outro

Atividades (disciplinas) Em um processo, as atividades devem ser alocadas aos papéis... deve ser determinados o fluxo de trabalho, a rede de dependências e os marcos

Artefatos Artefatos podem ser documentos, modelos, códigos, incrementos, etc. Um processo define quem produz e consome os artefatos e quando eles serão produzidos (marcos)

Marcos (milestones) Um marco (milestone) é um ponto final de uma atividade de processo. Um processo deve estabelecer uma série de marcos.

Visão geral de um processo

Processo de Desenvolvimento de SW 19 Processo de Desenvolvimento de SW Um processo de software é a especificação do processo de transformar necessidades em software Especifica as atividades envolvidas Determinando entradas e saídas Atribuindo a responsabilidade de execução a grupos de pessoas (papeis de desenvolvedores) Determina o ciclo de vida de desenvolvimento Determina as fases do ciclo Define atividades importantes e opcionais de cada fase

Levantamento de Requisitos 20 Processo de Desenvolvimento de SW Processo de desenvolvimento de software – conjunto de atividades executadas coordenadamente ; Ciclo de Vida: encadeamento das fases. Compreende todas as atividades necessárias para definir, desenvolver, testar e manter um produto de software; Existem vários processos, mas não um melhor; Atividades comuns compostas de micro-atividades , como por exemplo: Análise Projeto Implementação Testes Implantação Levantamento de Requisitos

Levantamento de Requisitos 21 Processo de Desenvolvimento de SW Exemplo: O ciclo de Vida Em Cascata (clássico ou linear) possui uma tendência macro para a progressão seqüencial apesar de poder haver retroalimentação; Problemas: Projetos reais raramente seguem o fluxo; Presume possibilidade de declarar previamente todos os requisitos; A implantação fica distante da fase inicial. Entendendo o problema... Análise Projeto Implemen-tação Testes Implantação Levantamento de Requisitos ...Construindo o software Extraído de BEZERRA, E. Princípio de Análise e Projetos de Sistemas.

Atividades de Um Processo de Desenvolvimento de Software

Levantamento de Requisitos 23 Objetivos: trabalhar para construir o sistema correto. Envolve: capturar os vários requisitos (funcionais e não funcionais), negociar prazo, custo e escopo ( o que e não como). Dificuldades: cliente e desenvolvedor falam línguas diferentes, é difícil definir o que o cliente quer e os documentos de requisitos dele são ambíguos. O que são requisitos? São características/necessidades do cliente que podem ser expressas como: - funcionais: o que o sistema deve fazer - não-funcionais: restrições sobre como o sistema deve desempenhar suas funções Exemplo - Registrar o empréstimo de uma fita é um requisito funcional. - Estabelecer que o tempo de empréstimo da fita não pode ser superior a 48 horas é uma restrição, ou requisito não funcional. Erros comuns na especificação de requisitos: Deve ficar claro ao analista que requisitos são coisas que o cliente ou usuário solicitam, e não coisas que ele, como analista, planejou. Análise Projeto Implemen-tação Testes Implantação Levantamento de Requisitos Levantamento de Requisitos Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA 23

representem o sistema a ser desenvolvido. 24 Objetivos: Estudo dos requisitos levantados na fase anterior para construção de modelos que representem o sistema a ser desenvolvido. Envolve: eliminar falhas da análise de requisitos, abordar questões técnicas do desenvolvimento de software (como e não o que). Dificuldades: as mesmas dificuldades da análise de requisitos Levantamento de Requisitos Análise Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação 24

25 Objetivos: proposta de uma solução que atenda os requisitos da análise e que seja passível de implementação. Envolve: detalhes físicos de implementações, trabalha o comportamento interno do software, plano e implementação das decisões arquitetônicas. Podemos concluir que... O resultado da análise é o enunciado do problema, e que o projeto será a sua resolução. Problemas mal enunciados podem até ser resolvidos, mas a solução não corresponderá às expectativas. - A qualidade do processo de análise é importante porque um erro de concepção resolvido na fase de análise tem um custo; na fase de projeto tem um custo maior; na fase de implementação maior ainda, e na fase de implantação do sistema tem um custo relativamente astronômico. Levantamento de Requisitos Análise Projeto Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação 25

Dificuldade: falta de conhecimento da equipe de 26 Objetivos: construir uma versão operacional do software que possa ser entregue ao cliente para avaliação. Envolve: implementar código fonte em uma determinada linguagem, implementar código de teste unitário para o código fonte e integrar o sistema. Dificuldade: falta de conhecimento da equipe de desenvolvimento sobre a uma determinada tecnologia. Levantamento de Requisitos Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen- tação Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação 26

ATIVIDADES INDEPENDENTE DO CICLO DE VIDA 27 Objetivos: assegurar que o sistema tenha qualidade antes de ser entregue aos clientes; Envolve: definir o que será testado, executar os testes de integração do sistema e avaliar os testes. Levantamento de Requisitos Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Testes Implantação 27

O sistema é empacotado, distribuído e 28 O sistema é empacotado, distribuído e instalado no ambiente do usuário. Os manuais são escritos, os dados são importados para o sistema e o pessoal é treinado para operá-lo. Levantamento de Requisitos Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação Implantação 28