Engenharia de Software II



Documentos relacionados
Tarefas de Gerenciamento de Configuração

Gerenciamento de Configuração de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Processo de Desenvolvimento de Software

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

CVS Controle de Versões e Desenvolvimento Colaborativo de Software

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

Gerência de Configuração

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Desenvolvimento de Software

Plano de Gerenciamento de Configuração

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Engenharia de Software II

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Engenharia de Software II

O que é um banco de dados? Banco de Dados. Banco de dados

Requisitos de Software e UML Básico. Janaína Horácio

Engenharia de Software ENGENHARIA DE REQUISITOS

Análise e Projeto de Sistemas

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Engenharia de Software

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Engenharia de Software II

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Visões Arquiteturais. Visões Arquiteturais

Processos de Software

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

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

Visão Geral da Norma ISO/IEC 12207

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

QUALIDADE DE SOFTWARE

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

ISO/IEC 12207: Manutenção

Medidas de Esforço de Desenvolvimento de Software

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

Petter Anderson Lopes Arbitragem, Desenvolvimento Seguro, Segurança Ofensiva e Forense Computacional

DOCUMENTO DE VISÃO 1. TÍTULO DO PROJETO. 2. RESPONSÁVEL PELO DOCUMENTO Ciclano

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

O Processo Unificado: Workflow de Análise. Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009

ENGENHARIA DE SOFTWARE

PROJETO INTEGRADO AULA 4 INTEGRAÇÃO E ESCOPO

Diagrama de Componentes e Implantação

Auditoria de Meio Ambiente da SAE/DS sobre CCSA

Rational Unified Process (RUP)

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Workshop Paraense de Tecnologia de Software PROCESSO DE MEDIÇÃO. Fabrício Medeiros Alho

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

ENGENHARIA DE SOFTWARE. Introdução

Modelos em Sistemas de Informação. Aula 2

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

EA975 - Laboratório de Engenharia de Software

- 6ª Lista de Exercícios -

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

Gestão de Modificações. Fabrício de Sousa

Engenharia de Software. Prof. Raquel Silveira

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução

Gerenciamento de Projetos

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

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Evolução de Software

ENGENHARIA DE SOFTWARE

1. INTRODUÇÃO A MODELAGEM DE DADOS

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Prof. Me. Sérgio Carlos Portari Júnior

Universidade Federal de Goiás Estilos Arquiteturais

Arquitecturas de Software Enunciado de Projecto

Sistemas Operacionais. Rodrigo Rubira Branco

Gerenciamento Eletrônico de Documentos

Engenharia de Software. Projeto de Arquitetura

Engenharia Software. Ení Berbert Camilo Contaiffer

Tecnologia da Informação

Documentação de Software. Simone Vasconcelos

Arquitetura de software

CONCEITOS BÁSICOS E MODELO DE PROJETO

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

Gerência de Projetos

Transcrição:

Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1

Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap. 22 Seções 22.1 e 22.2) Estimativas (Cap. 23 Seções 23.1 a 23.7) Cronogramação (Cap. 24) Gestão de risco (Cap. 25) Gestão de qualidade (Cap. 26 Seções 26.1 a 26.7) Gestão de modificações (Cap. 27 Seções 27.1 a 27.3) Reengenharia e engenharia reversa Aula 26-21/07/2006 2

Gestão de Modificações Modificações são inevitáveis quando software é construído. Modificações podem gerar confusão se: Elas não são analisadas antes de serem feitas. Elas não são registradas antes de serem implementadas. Elas não são comunicadas àqueles que têm necessidade de saber delas. Elas não são controladas para melhorar a qualidade e reduzir os erros. Aula 26-21/07/2006 3

Gestão de Modificações Gestão de Modificações = Gestão de Configuração de Software = Software Configuration Management (SCM) É uma atividade guarda-chuva que cuida de: Identificar modificações. Controlar modificações. Garantir que as modificações sejam adequadamente implementadas. Relatar as modificações a outros que possam ter interesse. Aula 26-21/07/2006 4

Itens da Configuração de Software (SCIs) Uma configuração de software é formada por: Programas de computador Código-fonte e executável. Produtos de trabalho que descrevem programas de computador Tanto para profissionais como para usuários. Dados Contidos em um programa ou externos a ele. Se cada um dos itens levasse somente à criação de outros itens, pouca confusão resultaria. Porém, cada um desses itens pode (e vai!) ser modificado durante o processo de software. Aula 26-21/07/2006 5

Fontes de Modificação Há quatro fontes fundamentais de modificação: Novas condições de negócio ou de mercado levam a modificações nos requisitos ou nas regras de negócio. Novas necessidades do cliente exigem modificação dos dados, funcionalidade ou serviços. Reorganização do negócio causa modificações nas prioridades do projeto ou na estrutura da equipe. Restrição de orçamento ou cronograma causam redefinição do sistema ou produto. Além disso, desenvolvedores podem querer modificar a abordagem técnica. Aula 26-21/07/2006 6

Elementos de um Sistema de Gestão de Configuração Elementos de componente Conjunto de ferramentas acoplado a um sistema de arquivos que controla o acesso a cada item da configuração. Elementos de processo Coleção de procedimentos que definem uma abordagem efetiva para a gestão de modificação. Elementos de construção Conjunto de ferramentas que automatizam a construção de software para garantir que a versão correta foi construída. Elementos humanos A equipe deve usar o conjunto de ferramentas e processos efetivamente. Aula 26-21/07/2006 7

Referenciais Referencial = baseline Um item que foi formalmente revisto e aprovado e entregue. É um marco no desenvolvimento. Pode ser modificado apenas por meio de procedimentos formais. Antes que o item se torne referencial ele pode ser modificado rápida e informalmente. Aula 26-21/07/2006 8

Caminho de Modificação de um SCI Tarefas de engenharia de software Modificados SCIs SCIs Revisões técnicas formais Aprovados SCIs Base de dados do projeto = Repositório do software Armazenados Controles de SCM Extraídos SCIs SCIs Aula 26-21/07/2006 9

Exemplos de Itens de Configuração Especificação do sistema Requisitos do software Especificações do projeto Código-fonte Planos de teste/procedimento/dados Ferramentas que foram utilizadas para produzir documentação, código-fonte, código executável e dados. Aula 26-21/07/2006 10

Organização de SCIs SCIs são organizados para formar objetos de configuração que possam ser catalogados no banco de dados do projeto. Um objeto de configuração tem nome, atributos e é conectado a outros objetos. As conexões indicam determinar que outros objetos são afetados quando um objeto é modificado. Ex.: A especificação de projeto é conectada à especificacão de teste. Aula 26-21/07/2006 11

O Repositório SCM SCIs são mantidos em um banco de dados ou repositório. O repositório tem as seguintes funções: Integridade de dados Compartilhamento de informação Integração de ferramenta Integração de dados Imposição de metodologia Padronização Aula 26-21/07/2006 12

Integridade de Dados Valida entradas no repositório. Garante consistência entre objetos relacionados. Executa modificações em cascata quando uma modificação em um objeto exige modificações em outros. Aula 26-21/07/2006 13

Compartilhamento de Informação Gerencia e controla o acesso de diferentes usuários aos dados, programas e documentos. Bloqueia ou desbloqueia objetos de modo que as modificações não sejam sobrepostas. Aula 26-21/07/2006 14

Integração de Ferramenta Estabelece um modelo de dados ao qual podem ter acesso várias ferramentas de engenharia de software. Controla o acesso ao modelo de dados. Aula 26-21/07/2006 15

Integração de Dados Fornece funções de banco de dados que permitem que várias tarefas de SCM sejam executadas em um ou mais SCIs. Aula 26-21/07/2006 16

Imposição de Metodologia Define o conjunto de passos que precisam ser realizados para construir o conteúdo do repositório. Aula 26-21/07/2006 17

Padronização de Documentação Define objetos no banco de dados que levem diretamente a uma abordagem normalizada para a criação de documentos de engenharia de software. Templates Aula 26-21/07/2006 18

Conteúdo do Repositório Regras de negócio Funções de negócio Estrutura da organização Arquitetura da informação Conteúdo do negócio Casos de uso Modelos de análise Diagramas de cenário Diagramas de fluxo Diagramas de classe Modelo de projeto Diagramas arquiteturais Diagramas de interface Diagramas de componente Métricas técnicas Conteúdo do modelo Código-fonte Código-objeto Instruções de construção do sistema Conteúdo da construção Conteúdo de V&V Casos de teste Scripts de teste Resultados de teste Métricas de qualidade Conteúdo de gestão de projeto Estimativas de projeto Cronograma de projeto Requisitos de SCM Solicitações de modificações Relatórios de modificação Requisitos de SQA Plano de projeto Plano SCM/SQA Especificação do sistema Documentos Especificação de requisitos Documento de projeto Plano e procedimento de teste Documentos de apoio Aula 26-21/07/2006 Manual de Usuário 19

Características do Repositório Determinação de versão Controla modificações dos produtos de trabalho antes e depois da entrega ao cliente. Deve permitir aos desenvolvedores voltar a versões anteriores. Acompanhamento de dependência e gestão de modificação. Acompanha os relacionamentos entre as múltiplas versões dos produtos de trabalho para proporcionar modificações eficientes. Acompanhamento dos requisitos. Acompanha todos os produtos de trabalho que resultam de uma especificação de requisitos (acompanhamento avante). Identifica qual requisito gerou um produto de trabalho (retroacompanamento). Gestão de configuração Acompanha uma série de configurações representando marcos de projeto ou versões de produto específicos. Pistas de auditoria Estabelece informação adicional sobre quando, por que e por quem modificações foram feitas. Aula 26-21/07/2006 20

Objetivos do Processo de SCM 1. Identificar todos os itens que definem coletivamente a configuração de software. 2. Gerir modificações em um ou mais desses itens. 3. Facilitar a construção de diferentes versões de uma aplicação. 4. Garantir que a qualidade do software seja mantida à medida que a configuração evolui ao longo do tempo. Aula 26-21/07/2006 21

Tarefas de SCM Identificação Controle de versão Controle de modificação Auditoria de configuração Preparação de relatórios Aula 26-21/07/2006 22

Identificação de Objetos Cada item da configuração deve receber um nome e ser gerenciado usando uma abordagem orientada a objetos. Há dois tipos de objetos: Objetos básicos Criados durante a análise, projeto, codificação ou teste. Objetos agregados Coleção de objetos básicos e outros objetos agregados. Cada objeto tem um conjunto de atributos que o identificam unicamente. Nome, descrição, lista de recursos e uma realização (um ponteiro para o produto de trabalho). Diagramas de classes podem ser usados para representar o inter-relacionamento entre os objetos. Aula 26-21/07/2006 23

Controle de Versão Combina procedimentos e ferramentas para gerir diferentes versões de objetos de configuração. Possui quatro capacidades principais: Repositório que guarda todos os objetos de configuração relevantes. Capacidade de gestão de versão que guarda todas as versões de um objeto de configuração. Ou permite que qualquer versão seja construída a partir de diferenças. Facilidade de construir que permite ao engenheiro de software coletar todos os objetos de configuração relevantes e gerar uma versão específica do software. Acompanhamento de tópicos que permite à equipe registrar e acompanhar o estado de todos os tópicos importantes relacionados a cada objeto. Aula 26-21/07/2006 24

CVS Sistema de Versões Concorrentes CVS é uma ferramenta amplamente usada para controle de versão. Código aberto, disponível para a maioria das plataformas. Arquitetura cliente/servidor permite o acesso remoto aos arquivos. Foi projetada para código-fonte mas é útil para qualquer arquivo baseado em texto. O sistema CVS: Estabelece um repositório simples. Mantém todas as versões de um arquivo em um único arquivo, armazenando somente as diferenças. Protege contra modificações simultâneas de um arquivo, estabelecendo diretórios diferentes para cada desenvolvedor. O CVS combina modificações quando cada desenvolvedor completa seu trabalho. Outras ferramentas (ex: Makefile) precisam ser integradas para construir versões. Não implementa controle de modificação. Aula 26-21/07/2006 25

Controle de Modificações A necessidade de modificação é reconhecida Pedido de modificação Em projetos grandes, deve existir um processo formal para controlar modificações de objetos que tenham se tornado referenciais. Avaliação do pedido Relatório de modificação é gerado A autoridade de controle de modificação decide A solicitação é colocada em fila Pedido é negado Objetos de configuração relevantes são retirados A modificação é feita e revisada Objetos de configuração modificados são reintroduzidos Atividades de garantia de qualidade e testes são realizadas Modificações são incluídas na próxima versão que é construída Nova versão é distribuída Aula 26-21/07/2006 26

Auditoria de Configuração Como podemos garantir que a modificação foi adequadamente implementada? Revisão técnica formal Auditoria de configuração de software A modificação foi feita sem mudanças adicionais? Uma revisão técnica formal foi conduzida para avaliar a correção técnica? A modificação foi especificada e refletida no SCI? Os procedimentos SCM foram seguidos? Todos os SCIs relacionados foram adequadamente atualizados? Aula 26-21/07/2006 27

Preparação de Relatórios de Estado Um relatório de estado deve responder às seguintes questões: O que aconteceu? Quem fez? Quando aconteceu? O que mais será afetado? O relatório é gerado regularmente e se destima a manter a gerência e os profissionais informados de modificações importantes. Aula 26-21/07/2006 28