• Nenhum resultado encontrado

GMCDSOF aula03 SCM

N/A
N/A
Protected

Academic year: 2021

Share "GMCDSOF aula03 SCM"

Copied!
41
0
0

Texto

(1)

Gerenciamento de Mudanças, Configuração & Distribuição de Software

aula 03

Software Configuration Management

Pós-Graduação

Engenharia de Software

Prof. Msc Rogério Augusto Rondini [email protected]

(2)

Gestão de Configuração de Software

Conceitos e Fundamentos

(3)

SCM

Processo para organizar e controlar (gerenciar) modificações ao software, bem como estabelecer e manter a integridade dos produtos do projeto de software ao longo do seu ciclo de vida com objetivo principal de maximizar produtividade e minimizar os enganos.

(4)

Por que SCM?

Dinâmica dos negócios aumentou em

função da demanda de TI

A Internet forçou que TI

acompanhasse os negócios

Outros aspectos, tais como,

globalização, avanço tecnológico,

pressão competitiva, mostram que as

empresas tem que operar de forma

(5)

Por que SCM?

A área de TI e o desenvolvimento de

software vêm criando novos

processos, metodologias e

ferramentas

– Mudanças na forma de trabalho – Leis e normas de regulamentação

– Novos Processos de desenvolvimento – Modelos de gestão e qualidade

(6)

Por que SCM?

Desenvolvimento Iterativo e

Incremental

– Avanço em relação aos modelos

anteriores (ex. Cascata)

● Tolerância às mudanças de requisitos

● Elementos integrados

progressivamente

(7)

Por que SCM?

Desenvolvimento Iterativo e

(8)

Por que SCM?

Desenvolvimento Iterativo e

Incremental

(9)

Por que SCM?

Desenvolvimento Iterativo e

Incremental

– As vantagens tem um preço...

● Equipes trabalhando no mesmo

projeto em funcionalidades e/ou componentes distintos que

compartilham objetos

● Muitas vezes, equipes distribuídas

geograficamente

(10)

Por que SCM?

PCI-DSS → desenvolvimento seguro

– O PCI-DSS (Payment Card Industry –

Data Security Standard) é um fórum para contínuo desenv. de padrões de segurança p/ proteção de dados de conta

– Desenvolver e manter aplicativos

seguros é um dos itens definidos

pelo PCI-DSS que trata do processo de desenvolvimento de software

(11)

Por que SCM?

PCI-DSS → desenvolvimento seguro

– Garantia de rastreabilidade das

alterações e correções de código

– Análise de código deve ser

executada, revisada e aprovada antes da liberação

– Documentação de impácto no cliente

deve estar incluída na

documentação de controle de alterações

(12)

Por que SCM?

Lei Sarbanes-Oxley (SoX)

– Lei criada nos EUA em 2002 com

objetivo de aperfeiçoar os controles financeiros das empresas e

apresentar eficiência na governança corporativa.

– Visa garantir a transparência na

gestão financeira das organizações

(13)

Por que SCM?

Lei Sarbanes-Oxley (SoX)

– Alguns requisitos...

– Controlar a criação, edição e

versionamento de documentos

– Cadastrar riscos associados a

processos de negócio e armazenar o desenho dos processos

– Gerenciar todos os documentos,

controlando período de retenção e distribuição

(14)

Por que SCM?

Lei Sarbanes-Oxley (SoX)

– A política de controle deve ser

aplicada também durante o ciclo de desenvolvimento e liberação de

software

– TI é a área responsável por esse

controle, por tanto, deverá estar alinhada na adequação desta lei

– Uso de padrões (ex. ITIL e CMMi)

(15)

Por que SCM?

Qualidade de Software

– “Qualidade é a conformidade com os

requisitos“ (Philip B. Crosby)

● Quem determina a qualidade é o

cliente...

● mas.... a que custo ?!

– A satisfação do cliente é importante,

mas não pode ser o único fator a ser considerado

(16)

Por que SCM?

Qualidade de Software

– Para empresa que desenvolve, vários

fatores podem afetar a qualidade

● Baixa produtividade

● Retrabalho

● Esforço além do estimado

● Custo além do previsto

(17)

Por que SCM?

Qualidade de Software

– Controle de Qualidade

● Atividades operacionais para

monitoramento de processos e eliminação de desempenho

insatisfatório

● No desenvolvimento de software,

monitoramento dos processos de gestão, desenvolvimento e

(18)

Por que SCM?

(19)

Por que SCM?

Qualidade de Software

– Medições para processos de

desenvolvimento

● Visa fundamentalmente a remoção de

defeitos nos produtos gerados ao longo do processo

● Relatórios gerados por ferramentas

de GCS servem de insumos para estas medições

(20)

Por que SCM?

Qualidade de Software

– Medições importantes

● Progresso na remoção de defeitos

– No. cumulativo de defeitos

identificados

● Defeitos restantes

– Pode ser um número púro, ou seja,

quantidade de defeitos ainda abertos

– Pode ser um número estimado

(21)

Por que SCM?

Qualidade de Software

– Medições importantes

● Composição de tipos de defeitos

● Composição de defeitos por fase

● Distribuição por modulos

● Tempo médio para correção de

defeitos

(22)

Por que SCM?

Motivos apresentados anteriormente

impulsionaram a utilização de

processos de SCM nos últimos anos

Muitas ferramentas de apoio vem

sendo desenvolvidas

SCM não é a bala de prata, mas

contribui muito para minimizar

problemas no desenvolvimento de

software.

(23)

Fundamentos

SCM é uma área bastante

abrangente.

Iremos Considerar 3 macro

atividades

– Gestão de Configuração – Gestão de Mudança

(24)

Gestão de Configuração

Definições

– Processo para organizar e controlar

modificações ao software

– Estabelecer e manter a integridade

dos produtos do projeto de

software ao longo do seu ciclo de vida

– Maximizar produtividade e minimizar

(25)

Gestão de Configuração

Definições

– Jacobson, Booch e Rumbaugh

● Tarefa de definir e manter

configurações e versões dos

artefatos. Isto inclui linhas de base, versionamento, status e

(26)

Gestão de Configuração

Definições

– SEI (Software Engineering Institute)

'Envolve identificar a configuração

de um software em certos pontos do tempo, controlando as mudanças e mantendo a integridade e

rastreabilidade da configuração

durante o ciclo de vida do software. Os produtos contralados incluem os entregue ao cliente e os necessários para a criação do software'

(27)

Gestão de Configuração

Definições

– IEEE-Std-729-1983

● 'Processo de identificar e definir os

itens de um sistema, controlando as modificações durante o seu ciclo de vida, gravando e relatando o status dos itens e das solicitações de

mudanças, verificando a completudo, corretudo e consistência nos mesmos.

(28)

Gestão de Configuração

Definições

– Buckle (1982)

● Termo usado para designar um

conjunto de técnicas que, quando aplicadas ao desenvolvimento e

manutenção de software, melhorará a qualidade do produto de

software, reduzirá os custos do

ciclo de vida e melhorará a função gerencial no processo de

(29)

Gestão de Configuração

Atividades

– Definir ambiente de desenvolvimento – Definir políticas de controle

– Definir procedimentos p/ mudanças – Identificar e controlar mudanças

– Manter rastreabilidade

– Garantir a implementação da

(30)

Gestão de Configuração

GC e Qualidade de Software

– Qualidade de Software, pontos de

vistas diferentes

● Para um diretor, se o software

funciona, tem qualidade

● Para o desenvolvedor, código-fonte

deve ser organizado e de fácil

manutenção. Se este é assim, então o código tem qualidade

(31)

Gestão de Configuração

GC e Qualidade de Software

(32)

Gestão de Configuração

GC e Qualidade de Software

– A GCS desempenha um papel central

neste processo,

● permitirá que cada item de

configuração de software seja especificado, projetado,

construído, testado, avaliado, medido e controlado

● garante a efetiva aplicação das

(33)

Gestão de Mudança

Relacionamento direto com Gestão

de Configuração

Processo para avaliar, coordenar e

decidir sobre a realização de

mudanças em itens de configuração

Mudanças aprovadas são

implementadas em todos os artefatos

relacionados

(34)

Gestão de Mudança

Benefícios

– Controle sobre escopo do projeto – Controle sobre o planejamento do

que deve ser feito

– Qualidade no desenvolvimento, visto

que toda mudança passa por análise de impácto

– Geração de dados para

(35)

Distribuição de Software

Processo para empacotamento de

aplicações (geração de build)

Controle de liberação, ou seja, quais

artefatos/componentes foram

liberados e em que versões

(36)

SCM - posicionamento

Engenharia de Software RUP Métodos Ágeis CMMi ITIL ISO Cobit GC, GM e Distribuição

(37)

SCM - Abrangência

Começa quando o projeto tem início

Continua durante todo o

desenvolvimento e versões

posteriores

Só termina quando o software sai de

(38)

SCM – QA

QA → Como garantir que uma

mudança foi adequadamente

implementada

– Dependendo do grau de formalismo

exigidos

● Revisão técnica formal

(39)

SCM - QA

Revisão Técnica Formal

– Foco na exatidão técnica dos objetos

de configuração

● Normalmente onde existe a maior

probabilidade de falha

– Avalia-se consistência, omissões e

(40)

SCM – QA

Auditoria

– Deve responder:

● A mudanças especificada foi feita ?

● Padrões foram seguidos ?

● A mudança foi registrada ?

● Todos os itens de configuração foram

atualizados ?

● Mudanças adicionais necessárias

forma feitas e devidamente documentadas ?

(41)

SCM - Benefícios

Maior rapidez na identificação e

correção de problemas

Garante rastreabilidade entre

produtos de software e suas partes

(artefatos)

Permite controle de versões

Maior visibilidade do sistema

Referências

Documentos relacionados

Qual a percepção do usuário em relação à qualidade dos serviços de testes de software, quando adotada fábrica de testes no ciclo de desenvolvimento1. Para tanto, foi delineado

Em relação ao perfil dos pesquisados, verifica-se que os respondentes são pessoas altamente qualificadas (60,8% tem formação lato sensu/MBA) e que esse não é

1. Etnografia Concorrente: São realizados estudos curtos e interativos antes do inicio do desenvolvimento, para que sejam colhidos os requisitos iniciais e a geração dos

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Desenvolver o Programa de Prevenção de Riscos Ambientais - PPRA em todas as áreas e funções de trabalho que ofereçam risco á saúde e integridade física dos

a. O valor apurado no exercício de 2020 está listado no Anexo II. Criação e implementação de práticas e metodologias inovadoras para avanço do indicador de regionalização

• Roles são especificações (abstratas ou não) para as portas e

Paulo Borba e Fernando Castor Centro de Informática.. Universidade Federal