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