• Nenhum resultado encontrado

SCM-Parte01

N/A
N/A
Protected

Academic year: 2021

Share "SCM-Parte01"

Copied!
49
0
0

Texto

(1)

SCM – Software Configuration Management

(2)

Questões

● Como é o desenvolvimento de software na sua

empresa em relação a processos de

desenvolvimento ?

● Quais os problemas mais comuns no

desenvolvimento de software ?

● O que você entende por Gestão de

Configuração de Software (SCM) e qual a finalidade de SCM ?

● O que SCM tem a ver com Qualidade de

(3)
(4)

Desenv. Software

● Principais problemas (Yourdon - 1990) – Produtividade – Confiabilidade – Manutenibilidade

(5)

Desenv. Software

● Problemas Essenciais (Brooks,1987)

– Complexidade

● Dificuldade de compreender uma entidade

abstrata

– Conformidade

● Atender necessidades do cliente

Mudanças

● Semelhante à constatação de Yourdon em

relação à manutenção

(6)

Mudanças

”Nada é permanente, exceto a

mudança” (Heráclito, 500 a.C)

Mudança é algo totalmente comum

no desenvolvimento de software. Ao

invés de combatê-la, é preciso ter

mecanismos para gerenciá-las da

melhor maneira possível.

(7)

Mudanças

Origens das mudanças

– Requisitos não muito bem definidos – Restrição de prazos de entrega,

corte de escopo, mudança nas prioridades

– Correção de defeitos

– Novas necessidades do cliente

(8)

Mudanças

● Cenários de ambientes sem controle

– Imagine que após um dia inteiro de

trabalho de manutenção de código, você descobre que alterou a versão errada. Imagine se você descobre que não tem guardado os fontes da versão anterior, ou que estavam no seu pen-drive, aquele mesmo que você usou no dia anterior p/

(9)

Mudanças

● Cenários de ambientes sem controle

– Sim, fui eu que alterei o código, mas já

faz tanto tempo que nem me lembro o motivo.

– Eu alterei este programa, mas esta já

era a vigésima alteração no mesmo programa, e este erro que apareceu não é meu.

(10)

Efeitos da Mudança

O aspecto fundamental da mudança

é o “efeito dominó“

– Muito difícil uma mudança causar

um impacto único.

– Na grande maioria das vezes, a

(11)

Efeitos da Mudança

Uma mudança simples

– Mudança

● Todos os campos Nome de Sistema

cujo tamanho é de 20 caracteres, passaria a ser de 30 devido a

constantes reclamações dos usuários.

– Impacto

(12)

Efeitos da Mudança

Uma mudança simples

– Afeta

● Equipe de banco de dados ● Usuários

● Equipe de testes

– Uma mudança simples pode levar a

(13)

Efeitos da Mudança

Uma mudança complexa

– Um fornecedor online tem recebido

diversas reclamações dos

consumidores e dos supervisores internos a respeito do site. Os

executivos resolveram revisar seus processos internos para atender as reclamações. Foram detectadas

(14)

Efeitos da Mudança

Uma mudança complexa

– Mudanças identificadas:

● Os códigos dos produtos devem

coincidir com os códigos entregues

● Cadastro não pode mais ser

cancelado após 30 dias

● O sistema permitirá alteração do tipo

de produto

● Cada usuário interno deverá ser

(15)

Efeitos da Mudança

Uma mudança complexa

– Alguns problemas

● Mudanças afetam código e processos

internos

● Em geral, as regras de negócio estão

espalhadas em várias aplicações, muitas delas sem documentação

● Identificação dos artefatos a serem

(16)

Dificuldades sem SCM

Falta de gerenciamento nas

alterações

– Qualquer um pode fazer alterações – Dificuldade na rastreabilidade

Muito tempo gasto com retrabalho

Mudanças tendem a ser um

“problema”, quando deveriam ser

situação natural no des. de software.

(17)

Dificuldades sem SCM

● Os cenários apresentados anteriormente

refletem a realidade de muitas empresas

● Mesmo com tantos avanços, muitos ainda

ignoram processos e procedimentos de gestão

● Existem soluções complexas e simples,

porém, não existe bala de prata

● É preciso entender o problema, conhecer

(18)
(19)

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.

(20)

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

(21)

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

(22)

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

(23)

Por que SCM?

Desenvolvimento Iterativo e

(24)

Por que SCM?

Desenvolvimento Iterativo e

Incremental

(25)

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

(26)

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

(27)

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

(28)

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

(29)

Por que SCM?

(30)

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 SCM servem de insumos para estas medições

(31)

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

(32)

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

(33)

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

(34)
(35)

Fundamentos

SCM é uma área bastante

abrangente.

Iremos tratar neste curso como três

macro-processos

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

Gestão de Configuração

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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

(46)

SCM – QA

QA → Como garantir que uma

mudança foi adequadamente

implementada

– Dependendo do grau de formalismo

exigidos

● Revisão técnica formal ● Auditoria

(47)

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

(48)

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

(49)

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

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

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

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