Baixe o app para aproveitar ainda mais
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
Compartilhar