processo de desenvolvimento de software
DESCRIPTION
Processo de Desenvolvimento de SoftwareTRANSCRIPT
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 1
Prof. MARCELO [email protected]
OBJETIVOS DA AULA
• Apresentar os conceitos de:
– Sistema de Informação.
– Software
– Processo de Desenvolvimento de SW
• Abordar os problemas do Software atual e origens no processo de desenvolvimento
2
BLIBLIOGRAFIA
• CAPÍTULO 1
• LIVRO: ENGANHARIA DE SOFTWARE – Fundamentos, métodos e padrões
• 3ª. Edição / 2009 / editota LTC
• Wilson de Pádua Paula Filho
3
SISTEMA DE INFORMAÇÃO
• Sistema = Conjunto de partes, independentes, cada qual com seu objetivo e colaborando por um objetivo comum.
• Informação = Dados (fatos isolados) agrupados e relacionados (processados), com sentido lógico.– Dados: chq 1235 de 1.250,00, chq 1236 de
750,00– Dado: saldo Anterior é 5.000,00– Informação: Saldo Atual é 3.000,00
• Sistema de Informação = Conjunto de elementos inter-relacionados que coleta (entrada), manipula (processamento), armazena a dissemina (saída) informações
4
SISTEMA DE INFORMAÇÃO
• Manual– Processa pouco volume de dados
• Baseado em computador (Usa TI)– Hardware (componentes físicos – desgastes)– Software (componentes lógicos)– Banco de dados (armazenamento)– Telecomunicações (rede, internet)– Pessoas (mais importante. Fazem a diferença)– Procedimentos e processos (organização)
5
SISTEMA DE INFORMAÇÃO
• O valor de um SI depende da qualidade de seus componentes. – Excelentes algoritmos codificados em seu
software X péssimo desempenho por defeito na especificação do hardware, rede ou BD
– Cada um de seus elementos pode por em cheque a confiabilidade e usabilidade do SI
• O engenheiro de software precisa saber a quem chamar quando o problema não for especificamente no software.
6
SISTEMA DE INFORMAÇÃO
• A Tecnologia não faz milagre !!!• Os problemas com sistema de informática podem
ter várias causas– As pessoas que operam o sistema podem ser
mal qualificadas. Investimento em treinamento
– Processos de negócios inadequados (no qual o sistema esta inserido)
– Deficiência do próprio sistema. Tecnologia inadequada
7
SOFTWARE
• Porção lógica de um SI, que comanda a operação do computador.
• Tipos de Software, quanto a natureza– Software de Sistema: controlam as operações
do computador: software da BIOS, S.O., L.P.– Software aplicativo: interface direta com usuário
• Software hoje – Como administrar?– Grandes e Complexos (envolvem toda
organização)– Demandam rápidas mudanças.
8
• Responsável por prover o produto mais importante de nossa sociedade: a informação.
• Melhorias nos últimos 50 anos: Hw, BD, Redes – aumento capacidade de processamento + diminuição dos custos
• Por que SW não acompanhou?– Por que levar tanto tempo para concluir o SW?– Por que os custos do SW são tão elevados?– Por que não achamos o erros antes da entrega?– Por que os custos de manutenção são altos?
SOFTWARE
9
• Processo de desenvolvimento do HW é um sucesso. O do SW não. Por que?
Hardware Software
Fabricado Manufaturado
Falhas Inicio e fim Falhas ao ser alterado
Substitui peças Tem que ser alterado
Montagem: componentes padrões
Desenvolvido: difícil padronizar para re-uso.
SOFTWARE
10
• O desenvolvimento do SW depende MUITO do componente humano. – Há pouca automação no desenvolvimento.– Visão de projeto inadequada.
• Histórico: gestor de TI sem formação em ADM.
• Gestão (planejamento, organização e controle) de prazos e custos ineficiente
– Pressão dos usuários/clientes: rapidez.• Daí os problemas
– Prazos, Custos, Comunicação
SOFTWARE
11
REALIDADE. CRISE DO SW
Fatos reais - Projetos de Software
+ 30% dos projetos – CANCELADOS
+ 70% dos projetos – FALHAM as funcionalidades
Orçamento e Custo EXTRAPOLAM
Custos – em mais de 180% a previsão
Prazos – em mais de 200% o cronograma
Custos do DESENVOLVIMENTO
80% - identificar e corrigir defeitos de programação
12
13
CICLO DE VIDA DO SW
• 1. Começo: percepção de necessidades.
• 2. Desenvolvido, transformado-se em um conjunto de itens a ser entregue ao usuário
• 3. Entra em operação, sendo usado dentro de um processo de negócio e sujeito a atividades de manutenção.
• 4. Fim: é retirado de operação ao final de sua vida útil.
14
COMO DESENVOLVER?
• Passado– Necessidades Programação (CAOS)
• Hoje– Projeto e Processo de desenvolvimento
• Qual a finalidade do SW?• Quais as funções o SW terá? • Como essas funções se integrarão?• Como o SW se integrará ao contexto da
empresa?• Quanto tempo terei para construí-lo?
15
PROCESSO
Conceito de Processo• Maneira pela qual se realiza uma operação,
segundo determinadas normas O método da engenharia se baseia em uma ação
sistemática e não improvisada.
ATIVIDADES
TAREFAS
SUBPROCESSOS
PROCESSO
16
PROCESSO DE DESENVOLVIMENTO
Concepção Requisitos Análise Projeto
Codificação Testes Homologação Implantação
Manutenção
Organização das fases, estabelecendo:• Quais são elas?• Finalidade de cada uma?• Ordem e ligação entre elas?• Funcionamento do processo• Documentação e modelos de cada fase
17
CONCEITOS FUNDAMENTAIS
• Escopo – Abrangência– Compreende o que será considerado para o
desenvolvimento.– Quanto maior o escopo, maior é a
complexidade e dificuldade de gerenciar o desenvolvimento.
• Requisito = Necessidades do usuário– Compreende as funcionalidades que o sistema
deve possuir.• Fundamental – Definir os requisitos que farão
parte do escopo.
18
CONCEITOS FUNDAMENTAIS
• Problemas e erros de requisitos são os mais caros de resolver.
– Quanto mais o tempo passa, pior
• Problemas
– Má definição do escopo do sistema (má atuação profissional).
– Rápida mudança de escopo (atualidade)
• Ou seja Atenção TOTAL aos Requisitos
19
ENGENHARIA DE REQUISITOS
• Problema – levantamento e documentação de requisitos– Boa documentação – boas chances de atender
aos requisitos– Boa especificação de requisitos - fundamental
• Engenharia de Requisitos– Técnicas de levantamento de requisitos– Documentação.– Análise de Requisitos
20
GESTÃO DOS REQUISITOS
• Problema: Instabilidade nos Requisitos– Novos requisitos e Alterações de requisitos
com o desenvolvimento já adiantado.– Alto custo, Re-trabalho, perda de trabalho feito– O mesmo que alterar a planta estrutural de
uma casa, após iniciada a construção.
• A boa engenharia de requisitos tende a reduzir a instabilidade, obtendo os requisitos no momento oportuno.
21
PRAZOS E CUSTOS
• Requisitos Prazos e custos– A quantidade e complexidade dos requisitos
mandam na relação de causa e efeito sobre prazos e custos.
– Ouve-se muito: “não me interessa o que você vai dizer ! Preciso disso em 1 mês”.
• A questão: No início só temos requisitos.– É difícil medir os programas necessários com
base me requisitos.– Após projeto detalhado se conhece melhor os
detalhes. Mas usuário não espera.
22
PRAZOS E CUSTOS
• É preciso– Planejamento e controle de projetos
• Análise dos riscos (probabilidade de sua ocorrência e ações corretivas, caso aconteçam)
• Acompanhar o progresso do projeto– Renegociação dos prazos e custos
– Garantir a qualidade do processo• Garantia = conformidade com requisitos• Qualidade do produto é influencia da pela qualidade
no processo• Quanto ANTES um problema for identificado e
resolvido, melhor (menos custo)
23
PROBLEMAS NO PROCESSO
• Software atual é: complexo, grande e com interface com demais sistemas.
• Necessidade de equipe grande, competente e interdisciplinar.
• O tempo geralmente é grande.
• Ou seja a gestão do processo de desenvolvimento está mais complexa
• Facilitador: Ferramentas de automação (case)
24
• Detalhamento do conceito de Requisito
• Análise de Viabilidade do Sistema
• Técnicas de Levantamento de
Requisitos
25