Buscar

Aula 01- Fundamenos de Dessenv de SW

Prévia do material em texto

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
Aula 1- Fundamentos do Desenvolvimento de Software
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
O Software é a parte programável de um SI
Sistemas de Informação
Tecnologias
Pessoas
Procedimentos
Hardware
Software
Redes
B.D.
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
O SOFTWARE
 
 
 O Valor de um Sistema de Informação depende da qualidade de seus componentes.
Cada um dos elementos pode por em cheque a confiabilidade e usabilidade de um SI.
 O Software é um elemento (componente) central 
Viabiliza as funcionalidades que as pessoas precisam
Excelentes algoritmos trarão funções eficientes e otimizadas, com informações confiáveis e precisas.
Possui uma estrutura interna
Qualidade do processamento (algoritmos)
Possui uma estrutura externa 
Usabilidade do software
Possui íntima relação com demais tecnologias (redes, internet, banco de dados, hardware).
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
O SOFTWARE - PROBLEMAS
 
 
 É a porção lógica (não é tangível) que comanda a operação dos demais componentes da Tecnologia (Hw, Redes e BD)
 Tenha em mente: TECNOLOGIA não faz milagre e exige
Pessoas Qualificadas
Processos e Procedimentos adequados
Tecnologia adequada
 Do contrário, teremos problemas no software
Pessoas que não sabem operar o sistema.
Processos e procedimentos que são mal definidos e formatados
Tecnologias ineficientes, que não realizam a tarefa que lhes cabe.
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
O SOFTWARE - HOJE
 
 
 Responsável por prover informação para toda a empresas
Todas as áreas
Todos os níveis (operacional, gerencial e estratégico)
 O SW é a Tecnologia mais complexa de ser desenvolvida
Manufaturado – pessoas desenvolvem – pouca ou nenhuma automação no processo
Grandes (toda as áreas) e complexos (Todos os níveis)
Mudanças rápidas (influência do meio)
Fornecedores
Clientes
Concorrentes
Acionistas
Agencias Reguladoras
Governo
MKT e Vendas
Compras
Financeiro
Fábrica / Serviço
Estoque
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
O PROCESSO DE FABRICAÇÃO DO HW X SW
 
 
 O processo de desenvolvimento (fabricação) do Hardware evoluiu muito em 70 anos  padronização da indústria.
 O do Software pouco evoluiu.
 
POR QUE?
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
O PROCESSO DE DESENVOLVIMENTO DO 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) ineficiente de prazos e custos
Pressão dos usuários/clientes: rapidez.
Daí os problemas
Prazos, Custos, Comunicação
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
HISTÓRICO DO DESENVOLVIMENTO DE SOFTWARE
 
 
No início
Sistemas pequenos e poucas mudanças
Usuário - Analista/Programador
Fases: Levantamento de dados – programação
Hoje
Sistemas grandes e muitas mudanças
Usuário  Analista  Equipe de desenvolv.
Fases: análise, projeto, programação, testes, implantação e manutenção
Ciclo de Vida do desenvolvimento (CVD)
Ciclo de Vida do Software = CVD + manutenção ***********
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
COMO TUDO COMEÇA
ALTO NÍVEL DE ABSTRAÇÃO
A distância entre idealizar e concretizar ********
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
CICLO DE VIDA DO DESENVOLVIMENTO - FASES
 
 
Cada empresa pode definir seu próprio ciclo de vida de desenvolvimento
Fases e subfases, definindo atividades de cada uma
As fases e a maneira como são ordenadas e realizadas  Processo de desenvolvimento
Concepção
Requisitos
Análise
Projeto
Programação
Testes
Implantação
Operação
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
CICLO DE VIDA DO DESENVOLVIMENTO - FASES
 
 
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
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
CICLO DE VIDA DO DESENVOLVIMENTO - FASES
 
 
Concepção
Análise 
Desenho
Implementação
Testes
Implantação
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
DESENVOLVIMENTO DE SOFTWARE DEMANDAM PROJETOS
 
 
O desenvolvimento de software deve ser feito dentro de um PROJETO e será / terá
Evento inédito  o sistema é único
Data de Inicio, Data de Fim
Equipe (chefe: gerente de processo)
Recursos: humanos, R$ e Tempo
O Projeto vai gerenciar as fases do processo
Cada fase tem resultados: documento, diagrama (modelos), parte do produto do SW
O Software pronto deriva do resultado associado ao marco do projeto.
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
RISCOS NO PROJETO DO DESENVOLVIMENTO DO SOFTWARE
 
 
Todo projeto tem riscos. Com SW não é diferente.
Fases iniciais: incertezas maiores – Maior Risco A gestão dos riscos é fundamental
Planejamento dos riscos
Riscos identificados podem ser geridos
Análise dos riscos
Probabilidade de ocorrência + natureza + grau de impacto
Postura: Riscos x Oportunidades
Exemplo: aceitar prazo apertado ou baixo custo 
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
REQUISITOS = CARACTERÍSTICAS DO SOFTWARE
 
 
Os softwares devem ter características para atender as necessidades de seus usuários
Essas características chamam-se requisitos
Existem 2 tipos de requisitos
Funcionais: representam o comportamento que o sistema deve apresentar. São as funcionalidades que o sistema possui.
Não Funcionais: quantificam determinados aspectos do comportamento. 
Em um sistema, os tipos de transações (funções) suportadas são os requisitos funcionais
A facilidade de uso, o tempo de resposta e sua confiabilidade são requisitos não funcionais
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
ESPECIFICAÇÃO DOS REQUISITOS - FUNDAMENTAL
 
 
Os requisitos podem ser:
Explícitos: descritos em um documento de Especificação de requisitos
Normativos: descritos em leis, normas, regulamentos..
Implícitos: expectativas dos clientes e usuários, e serão cobrados, embora não documentados 
Implícitos: são Indesejáveis  Não documentados  não considerados no desenvolvimento
Resultado: Mesmo que sistema atenda aos requisitos explícitos e normativos, não atenderá as expectativas
Mesmo requisitos documentados podem resultar em problemas: incompletos, inconsistentes, ambíguos, 
Além de requisitos irreais  levantamento ruim
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
ENGENHARIA DOS REQUISITOS
 
 
É a base de um bom conjunto de requisitos: completos e verdadeiros é o uso de técnicas adequadas e eficientes de levantamento, análise de dados e documentação
Bom levantamento  Requisitos implícitos são minimizados
Boa técnica de Análise  ajuda a produzir especificaçõesmais precisas e inteligíveis
Boa Documentação  facilidade da equipe entender o projeto como um todo, ao longo do tempo
Engenharia de Requisitos = Levantamento + Análise + documentação
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
ENGENHARIA DOS REQUISITOS – CONSCIENTIZAÇÃO
 
 
Boas especificações são fundamentais  porém custa tempo e dinheiro (Clientes, Gerente projeto...)
Especificações mal elaborada  custa mais dinheiro e mais tempo
Importante: identificação dos requisitos reais
Participação dos usuários em todo processo.
Problema: Instabilidade dos Requisitos
Usuários solicitam novos ou pedem alteração de requisitos em fase avançada do desenvolvimento.
Consequencias: alto custo e retrabalho.
A boa engenharia de requisitos minimiza a Instabilidade
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
PROBLEMAS, PRAZOS E CUSTOS
 
 
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
REALISMO DOS PRAZOS E CUSTOS
Estimar prazos faz parte da rotina de desenvolver software (técnicos e gestores)
SW Viável = Projeto com sucesso = SW atendendo ao que se deseja dele, no prazo e custo previstos
Se não for possível
SW NÃO é viável
Preferível outro produto, mesmo que sejam sacrificados alguns requisitos.
Problemas: ausência de
Técnicas de estimativas
Experiência
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
REQUISITOS X PRAZOS X CUSTOS
Requisitos
Prazos
Custos
Aumento de Requisitos 
Aumento Custo ou
Aumento Prazo ou
Aumento de ambos
Redução de Requisitos
Redução de Prazo
Redução de custos
NEM Sempre !!!!
Cumprir prazos: técnicas estimativas e análise
Tamanho, esforço, prazo e risco
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
QUALIDADE NO SOFTWARE
Estar de acordo com os requisitos
Requisitos Previstos x Realizados
Requisitos não atendidos = falhas (defeitos) SW
Defeitos podem ser inseridos em qualquer fase do processo de desenvolvimento
Solução: Garantir a qualidade em todo processo de desenvolvimento de software
Pior caso: defeito chega ao produto 
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
QUALIDADE NO SOFTWARE
Nível de defeitos (erros) dentro do processo de desenvolvimento de software
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
FRASES SOBRE SOFTWARE
Usuário não conhece as suas necessidades
Usuário muda de idéia (requisito) toda hora
Cliente sempre quer o sistema para ontem
Cliente nunca quer pagar o quanto o sistema vale
A equipe de desenvolvimento não documentou o software em seu desenvolvimento
Pessoal o tempo está se esgotando, precisamos contratar mais gente
Pessoal vamos pula a fase de testes, o tempo esgotou
O usuário testa o sistema para nós ********
Tema da Apresentação
 Processos de Desenvolvimento de Software– AULA1
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
PRINCIPAIS CONCEITOS APRESENTADOS NA AULA.
O SW é o elemento central de tecnologia de um SI
O SW moderno é grande e complexo  muitos problemas em seu desenvolvimento
O desenvolvimento do SW é manufaturado e sem muita padronização e automação 
O processo de desenvolvimento é dividido em fases, cada qual com finalidades e marcos claros.
O desenvolvimento de SW demanda um projeto
Fundamental avaliar os riscos do desenvolvimento
Boa Engenharia de Requisitos é fundamental (levantamento + analise + documentação)
Requisitos x custos x prazo  dificuldade em estimar
Qualidade = estar de acordo com requisitos
Avaliada ao longo do processo de desenvolvimento
Tema da Apresentação

Outros materiais

Perguntas Recentes