Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 1- EVOLUÇÃO E CRISE DE SOFTWARE ENGENHARIA DE SOFTWARE Prof. Alysson Ramirez E-mail: Alysson.freitas@estacio.com EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE DESTAQUES DA AULA • CONCEITO DE SOFTWARE •CARACTERISTICAS DO SOFTWARE •EVOLUÇÃO DOS SOFTWARES • A CRISE DO SOFTWARE • CAUSAS DOS PROBLEMAS •A PREOCUPAÇÃO COM A QUALIDADE DE SOFTWARE •O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE • ABSTRAÇÃO E SUBJETIVIDADE • ONDE ESTÃO OS DEFEITOS? • O QUE É SOFTWARE COM QUALIDADE? • GERENCIAMENTO DA QUALIDADE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE A CRISE DO SOFTWARE Fatos reais - Projetos de Software + 30% dos projetos – CANCELADOS + 70% dos projetos – FALHAM as funcionalidades Custos e Prazos EXTRAPOLAM a Previsão Custos – em mais de 180% Prazos – em mais de 200% Custos do DESENVOLVIMENTO 80% - identificar e corrigir defeitos de programação EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE A PREOCUPAÇÃO COM QUALIDADE DO SOFTWARE Período Características Anos 50 -Erros conhecidos, APÓS término do programa Anos 70 -Análise/programação estruturada. -Falta de consenso: teste ANTES do término Anos 80 - Primeiras preocupações e PADRÕES com QUALIDADE de software Anos 90 -Primeiros processos de testes. -Motivação: Bug do milênio. Anos 2000 -Estruturação dos procedimentos de testes dentro do processo de desenvolvimento. -Surgem excelentes ferramentas de testes. -QUALIDADE Total no processo de desenvolvimento e produto de software EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE ASPECTOS RELEVANTES sobre SW e processo de desenvolver • Software NÃO é tangível. Requer muita ABSTRAÇÃO para desenvolvê-lo. • O processo de desenvolvimento é executado e gerenciado por pessoas, sendo portanto SUBJETIVO. •Discute-se idéias, necessidades e desejos dos usuários (também pessoas). • ABSTRAÇÃO E SUBJETIVIDADE conferem dificuldades ao processo de desenvolvimento. • O software em si é consequência direta da forma (processo) pelo qual foi desenvolvido. PROCESSO MANUFATURADO •Processo de desenvolvimento eficiente→ Software eficiente. Na medida em que os softwares crescem em tamanho e complexidade, ABSTRAÇÃO e COMPLEXIDADE conferem cada vez mais DIFICULDADES ao processo de desenvolvimento EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE Processo de Desenvolvimento de SW •Conjunto de atividades, métodos, práticas e tecnologias que as pessoas usam para desenvolver e manter softwares •O processo adequado garante que o software será desenvolvido de maneira organizada, disciplinada e previsível. •O processo descreve formalmente e de forma organizada as atividades que devem ser seguidas para a obtenção segura de um produto de software. •A dificuldade está no gerenciamento do processo (existem vários modelos), que geralmente está dividido em fases. EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE Processo de Desenvolvimento de SW •Análise: Analista com usuários. • Requisitos. Interesses → soluções para usuário • Projeto (design): Projetista usa a tecnologia • Requisitos tecnológicos → tecnologia para usuário • Implementação: Programador usa L.P. • Escrita do código → Lógica de programação • Testes: Testadores com programas / sistema • Buscar defeitos e falhas nos sistema. • Homologação ou Aceitação: Com usuários. • Usuário aprovar o sistema (Participar de tudo !!!) • Implantação: Instalação e treinamento • Entrega o sistema. • Fim do ciclo de desenvolvimento ANÁLISE PROJETO IMPLEMENTAÇÃO TESTES HOMOLOGAÇÃO IMPLANTAÇÃO EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE ONDE ESTÃO OS DEFEITOS ? • A maior dificuldade esta na fase INICIAL, de entendimento do sistema - Requisitos – ALTO grau de ABSTRAÇÃO + Comunicação com pessoas • A segunda maior abrangência está na modelagem – ALTO Grau de ABSTRAÇÃO + domínio das técnicas • O erros de codificação em si, representam um % pequeno, mostrando que o foco do problema não é da Implementação. EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE SOFTWARE COM QUALIDADE • O QUE É SOFTWARE COM QUALIDADE ? • Atender aos REQUISITOS dos usuários • Satisfazer aos DESEJOS dos usuários • Escrever TUDO o que se deve fazer. FAZER tudo que foi escrito • O QUE É QUALIDADE DE SOFTWARE ? • PROCESSO SISTEMÁTICO QUE: • Focaliza todas as ETAPAS e ARTEFATOS (modelos, diagramas, programas, módulos de software, classes e etc) • Com objetivo de Garantir CONFORMIDADE dos processos e produtos especificados, PREVININDO E ELIMINANDO defeitos EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE SOFTWARE COM QUALIDADE • QUALIDADE DE SOFTWARE É CONFORMIDADE COM ? • REQUISITOS FUNCIONAIS – base para medir a qualidade • REQUISITOS DE DESEMPENHO – critérios de desempenho definidos • CARACTERÍSTICAS IMPLÍCITAS (esperadas) • Fácil de usar, fácil de usar (usuário) • Código Legível, fácil de manter (equipe de desenvolvimento) • A QUALIDADE DO SOFTWARE DEPENDE DA QUALIDADE DE SEU PROCESSO DE DESENVOLVIMENTO (sofre forte influência). EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE QUALIDADE NO PROCESSO X QUALIDADE NO PRODUTO Qualidade do ProdutoQualidade do Processo Qualidade de Software A Qualidade do Produto é o que buscamos. A Qualidade do Processo é o meio para conseguirmos. A Qualidade do produto é fortemente influenciada pela qualidade dos processos utilizados no seu desenvolvimento. EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE A QUALIDADE É MAIS UMA FASE NO PROCESSO DE DESENV SW? • NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE, A QUALIDADE NÃO ATUA COMO UMA FASE ESPECÍFICA – ELA ESTÁ EM TODAS AS FASES QUALIDADE É ATUAR EM TODAS AS FASES – VERIFICANDO CONFORMIDADE COM OS PADRÕES E DEFINIÇÕES EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE QUALIDADE CONSIDERA USUÁRIOS – CLARO !!!! 1. Necessidades? Desejos? 3. Interesses? Qual a visão do usuário? EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE USUÁRIOS E AS SUAS PREOCUPAÇÕES EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE USUÁRIOS E AS SUAS PREOCUPAÇÕES EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE AS VISÕES DA QUALIDADE EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE POR QUE ORGANIZAÇÃO DESEJA SOFTWARE COM QUALIDADE • Software de Qualidade • GARANTE A SEGURANÇA das transações, dos negócios e das pessoas envolvidas • MANTÉM A ALTA DISPONIBILIDADE dos serviços. EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE A documentação do SW torna-se um instrumento fundamental para o CONTROLE DA QUALIDDE GERENCIAMENTO DA QUALIDADE (SOMMERVILLE) • GARANTIA • Padrões que garantam a qualidade do software • PLANEJAMENTO • Seleção de procedimentos e padrões adequados para o projeto • CONTROLE • Assegurar que o desenvolvimento tenha seguido os procedimentos e padrões de qualidade do projeto EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE O CUSTO COM PROCESSO DE QUALIDADE, SE PAGA ? • Esforços (recursos) pela qualidade nos mais diversos setores organizacionais já provaram que: • a qualidade não tem custo • se paga empouco tempo. EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE CONCLUINDO EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE Reflexo Global: MAIOR SATISFAÇÃO DOS CLIENTES, REFLETINDO EM MAIOR PARTICIPAÇÃO NO MERCADO CONCLUINDO • O Aumento da Qualidade no PROCESSO acarreta • Garantia de estarmos fazendo o Software CERTO • Aumento de produtividade • Redução de Custos: Menos retrabalho e menos perdas • Menor prazo de entrega • Aumento da Qualidade do PRODUTO acarreta • Reaproveitamento de código de programa • Programas mais eficientes. • Menor custo e mais facilidade de manutenção • É mais fácil fazer software CORRETO do que consertá-lo (conclusão após longo período de remendo de software) EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE EXERCÍCIO EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE PERGUNTAS E RESPOSTAS 1. Quais as dificuldades em se prover qualidade no processo? • Ausência de procedimentos claros, até mesmo de um processo definido • Ausência de técnicas de desenvolvimento (análise, projeto e programação) • Ausência de registro das decisões e modelos (documentação) 2. Por que devemos nos preocupar com qualidade no processo? • Porque é através do processo que se gera o produto (PROCESSO MANUFATURADO). • Para garantir que os produtos desenvolvidos por aquele processo tenham as mesmas características (minimiza a subjetividade) EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE PERGUNTAS E RESPOSTAS 3. Por que Qualidade é ter conformidade com os requisitos? • Por que se não atender ao que o usuário precisa (requisitos), o SW não terá atingido o seu objetivo e sem isso, não há qualidade. 4. Como a qualidade se reflete no processo? • Aumento de produtividade • Redução de custos (menos re trabalho e menos perdas) • Menor prazo de Entrega 5. Como a qualidade se reflete no produto? • Reaproveitamento de código • Código mais legível (entendimento de terceiros) • Facilidade de manutenção EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE PERGUNTAS E RESPOSTAS 6. O custo para se implementar o gerenciamento da qualidade vale a pena? • Sim, o custo se paga, pois a qualidade no processo e no produto traz satisfação ao cliente e consequente aumento de participação no mercado (mais receitas). 7. Dentre as fases do processo de desenvolvimento, qual a que concentra maior % de defeitos (problemas)? • Requisitos (Levantamento e Análise), pois a má interpretação do que deseja o usuário implica em software que não atende ao que ele quer. • Erros na fase inicial, se propagados para as fases seguintes, tem maior custo de solução. 8. Quais os problemas, nessas fases iniciais? • O nível de abstração necessário é alto e os sistemas podem ser complexos EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE PERGUNTAS E RESPOSTAS 9. A qualidade deve ser então uma FASE adicional no processo de desenvolvimento? • NÃO, a qualidade deve ser aferida em TODAS as fases do processo. 10. Na prática como se dá a aferição da qualidade no processo e no produto? • No processo → através de revisões nos modelos e documentação, verificando se estão em conformidade com os requisitos, com os padrões da empresa e em conformidade com o modelo anterior. • No produto → através de testes durante a fase de implementação (testes unitários e testes integrados) e durante a fase de testes (testes de sistema e homologação). EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE PERGUNTAS E RESPOSTAS 11. Por que empresas buscam certificações de Qualidade? • Exigências de empresas que necessitar os serviços do fornecedor, como orgão governamental, empresa multinacional. • Organizar os processos da empresa para um crescimento, que traz em si a necessidade de certificação 12. O que garante uma certificação? • Que o fornecedor foi avaliado e julgado por um organismo certificador (ISO/IEC, NBR) 13. A certificação é para sempre? • NÃO, a empresa é avaliada de tempos em tempos 14.Existem certificações específicas para o processo e produto de software? • Sim, tanto para garantir um processo de qualidade, como para garantir um software de qualidade EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE SAIBA MAIS EVOLUÇÃO E CRISE DE SOFTWARE – AULA1 ENGENHARIA DE SOFTWARE SAIBA MAIS.... Acesse 1) http://www.sbqs2012.com.br/ XI Simpósio Brasileiro de Qualidade de Software 2) http://200.192.112.133/sbqs2011/ X Simpósio Brasileiro de Qualidade de Software 3) http://www.sbqs2010.ufpa.br/ IX Simpósio Brasileiro de Qualidade de Software 4) http://msdn.microsoft.com/ Qualidade de Software na Microsof Indicações do conteúdo online, recomendado. 1. Referência sobre o tema "Qualidade de Software: uma necessidade" http://www.fazenda.gov.br/ucp/pnafe/cst/arquivos/Qualidade_de_Soft.pdf "Qualidade 2. de Software: uma necessidade" http://www2.unemat.br/rhycardo/download/qualidade_em_software.pdf http://www.sbqs2012.com.br/ http://200.192.112.133/sbqs2011/ http://www.sbqs2010.ufpa.br/ http://msdn.microsoft.com/ http://www.fazenda.gov.br/ucp/pnafe/cst/arquivos/Qualidade_de_Soft.pdf http://www2.unemat.br/rhycardo/download/qualidade_em_software.pdf
Compartilhar