Processo de Desenvolvimento de Software

25
AULA 1 – Prof. MARCELO VASQUES PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 1 Prof. MARCELO VASQUES [email protected]

description

Processo de Desenvolvimento de Software

Transcript of Processo de Desenvolvimento de Software

Page 1: Processo de Desenvolvimento de Software

AULA 1 – Prof. MARCELO VASQUES

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 1

Prof. MARCELO [email protected]

Page 2: Processo de Desenvolvimento de Software

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

Page 3: Processo de Desenvolvimento de Software

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

Page 4: Processo de Desenvolvimento de Software

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

Page 5: Processo de Desenvolvimento de Software

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

Page 6: Processo de Desenvolvimento de Software

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

Page 7: Processo de Desenvolvimento de Software

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

Page 8: Processo de Desenvolvimento de Software

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

Page 9: Processo de Desenvolvimento de Software

• 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

Page 10: Processo de Desenvolvimento de Software

• 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

Page 11: Processo de Desenvolvimento de Software

• 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

Page 12: Processo de Desenvolvimento de Software

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

Page 13: Processo de Desenvolvimento de Software

13

Page 14: Processo de Desenvolvimento de Software

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

Page 15: Processo de Desenvolvimento de Software

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

Page 16: Processo de Desenvolvimento de Software

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

Page 17: Processo de Desenvolvimento de Software

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

Page 18: Processo de Desenvolvimento de Software

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

Page 19: Processo de Desenvolvimento de Software

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

Page 20: Processo de Desenvolvimento de Software

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

Page 21: Processo de Desenvolvimento de Software

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

Page 22: Processo de Desenvolvimento de Software

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

Page 23: Processo de Desenvolvimento de Software

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

Page 24: Processo de Desenvolvimento de Software

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

Page 25: Processo de Desenvolvimento de Software

• Detalhamento do conceito de Requisito

• Análise de Viabilidade do Sistema

• Técnicas de Levantamento de

Requisitos

25