456

Enviado por Programa Chuletas y clasificado en Otras materias

Escrito el en español con un tamaño de 10,26 KB

 
Gerenciamento de Configuração
Explicar a importância do gerenciamento de configuração de software (CM)
Descrever as atividades fundamentais de gerenciamento de configuração: planejamento de gerenciamento de configurações, gerenciamento de mudanças, gerenciamento de versões e construções de sistemas
Discutir o uso de ferramentas CASE para apoiar processos de gerenciamento de configuração
Padrões de CM O CM deve ser sempre baseado em um conjunto de padrões que são aplicados dentro de um organização.
Os padrões devem definir como os itens são identificados, como as mudanças são controladas e como as novas versões são gerenciadas.
Os padrões podem ser baseados em padrões de CM externos (por exemplo, o padrão IEEE para CM).
Alguns padrões existentes são baseados em um modelo de processo cascata - novos padrões de CM são necessários para desenvolvimento evolucionário.
O plano de CM Define os tipos de documentos a serem gerenciados e um esquema de identificação de documentos.
Define quem tem a responsabilidade pelos procedimentos e pela criação de
baselines de CM
Define políticas para controle de mudanças e gerenciamento de versões.
Define os registros de CM que devem ser mantidos.
Descreve as ferramentas que devem ser usadas para o processo de CM e quaisquer limitações de seu uso.
Define o process de uso da ferramentas.
Define a base de dados de CM usada para registrar informações de configuração.
Pode incluir informações, tais como o CM de software externo, a auditoria de processos, etc.
Versões/variantes/releases:
Versão
É uma instância de um sistema que é funcionalmente distinta, de alguma maneira, de outras instâncias de um sistema.Variante É uma instância de um sistema que é funcionalmente idêntica, mas não funcionalmente distinta de outras instâncias de um sistema.Release É uma instância de um sistema distribuída para os usuários fora da equipe de desenvolvimento.
Construção de sistemas É o processo de compilação e ligação de componentes de software em um sistema executável.Sistemas diferentes são construídos a partir de combinações diferentes de componentes.Esse processo é, atualmente, sempre apoiado por ferramentas automatizadas que são dirigidas por ‘scripts de construção’.
Ferramentas CASE para gerenciamento de configuração Os processos de CM são padronizados e envolvem a aplicação de procedimentos predefinidos.Grandes quantidades de dados devem ser gerenciados.Ferramentas CASE maduras para apoiar o gerenciamento de configuração variam desde ferramentas stand-alone até workbenches integrados de CM.
Workbenches abertos Ferramentas para cada estágio no processo de CM são integrados por meio de procedimentos organizacionais e scripts. Dá flexibilidade à seleção de ferramentas.
Workbenches integrados Fornece apoio integrado ao processo todo para gerenciamento de configuração. São ferramentas mais fortemente integradas e mais fáceis de usar. Contudo, são complexos e dispendiosos, e muitas organizações referem usar ferramentas de apoio individuais, mais baratas e simples.
Pontos-chave Gerenciamento de configuração é o gerenciamento de mudanças de sistema para produtos de software.Um esquema formal de atribuição de nomes de documentos deve ser estabelecido e os documentos devem ser gerenciados em uma base de dados.A base de dados de configuração deve registrar informações sobre mudanças e solicitações de mudanças;Um esquema consistente de identificação de versões deve ser estabelecido usando números de versões, conjuntos de atributos ou mudanças.Releases de sistema incluem código executável, dados, arquivos de configuração e documentação.A construção de sistemas envolve a montagem de componentes em um sistema.Ferramentas CASE estão disponíveis para apoiar todas as atividades de CM.Ferramentas CASE podem ser ferramentas stand-alone ou workbenches integrados, que fornecem apoio para gerenciamento de versões, construção de sistemas e gerenciamento de mudanças.








Desenvolvimento Rápido de Software
Explicar como um processo de desenvolvimento incremental e iterativo conduz a uma entrega mais rápida de software mais útil
Discutir a essência dos métodos de desenvolvimento ágeis
Explicar os princípios e as práticas da
extreme programming
Explicar os papéis da prototipação no processo de software Características dos processos RAD Os processos de especificação, de projeto e de implementação são concorrentes; não há uma especificação detalhada e a documentação de projeto é minimizada.O sistema é desenvolvido em uma série de incrementos. Os usuários finais avaliam cada incremento e fazem propostas para incrementos posteriores.As interfaces de usuário de sistema são geralmente desenvolvidas usando-se um sistema de desenvolvimento interativo.
Vantagens do desenvolvimento incremental Entrega acelerada dos serviços de cliente; Engajamento do usuário com o sistema.
Problemas com desenvolvimento incremental  Problemas de gerenciamento ; Problemas contratuais ; Problemas de validação; Problemas de manutenção.
Prototipação Para alguns sistemas grandes, o desenvolvimento e a entrega incremental e iterativa pode não ser prático; isso é especialmente verdadeiro quando múltiplas equipes estão trabalhando em localidades diferentes.Prototipação, no sentido de um sistema experimental que é desenvolvido como base para a formulação de requisitos que podem ser usados. Esse sistema é descartado quando a especificação do sistema for acordado.
O objetivo do
desenvolvimento incremental é entregar um sistema de trabalho aos usuários finais. O desenvolvimento inicia com os requisitos mais bem compreendidos.
O objetivo da
prototipação throw-away é validar ou derivar os requisitos de sistema. O processo de prototipação inicia com aqueles requisitos que não são bem compreendidos.
Métodos ágeis Enfocam o código ao invés do projeto; São baseados na abordagem iterativa para desenvolvimento de software; São destinados a entregar software de trabalho e evoluí-lo rapidamente para atender aos requisitos que se alteram.Os métodos ágeis são, provavelmente, os mais adequados para sistemas de negócio de porte pequeno/médio ou produtos para PC.Problemas com métodos ágeis Pode ser difícil manter o interesse dos clientes que estão envolvidos no processo.Os membros da equipe podem ser inadequados para o intenso envolvimento que caracteriza os métodos ágeis.A priorização de mudanças pode ser difícil onde existem múltiplos stakeholders.A manutenção da simplicidade requer trabalho extra.Do mesmo modo que nas outras abordagens para desenvolvimento iterativo, os contratos podem ser um problema.
Extreme programming É talvez o mais conhecido e mais amplamente usado dos métodos ágeis.A extreme programming (XP) leva uma abordagem ‘extrema’ para desenvolvimento iterativo.Teste em XP Desenvolvimento test-first. ; Desenvolvimento incremental de teste a partir de cenários. ; Envolvimento do usuário no desenvolvimento e validação de testes. ; Ferramentas de teste automatizadas são usadas para executar todos os testes de componentes cada vez que uma nova release é construída.
Pontos-chave Uma abordagem iterativa para desenvolvimento de software conduz a uma entrega de software mais rápida.
Métodos ágeis são métodos de desenvolvimento iterativos que objetivam reduzir o overhead de desenvolvimento e, desse modo, produzir software mais rápido.
A Extreme programming inclui práticas, tais como teste sistemático, melhoria contínua e envolvimento do cliente.
A abordagem de teste em XP é um ponto forte particular, onde testes executáveis são desenvolvidos antes que o código seja escrito.
Ambientes de desenvolvimento rápido de aplicações incluem linguagems de programação de banco de dados, ferramentas de geração de formulários e links para aplicações de escritório.
Um protótipo
throw-away é usado para explorar requisitos e opções de projeto.
Quando da implementação de um protótipo
throw-away, iniciar com os requisitos que você pelo menos compreenda; no desenvolvimento incremental, iniciar com os requisitos mais compreendidos.






 

Entradas relacionadas: