A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1.Noções de Engenharia de Software 1.1 O problema do software 1.2 A velha crise do software! 1.3 Os velhos mitos do software! Objetivo: mostrar o que é

Apresentações semelhantes


Apresentação em tema: "1.Noções de Engenharia de Software 1.1 O problema do software 1.2 A velha crise do software! 1.3 Os velhos mitos do software! Objetivo: mostrar o que é"— Transcrição da apresentação:

1 1.Noções de Engenharia de Software 1.1 O problema do software 1.2 A velha crise do software! 1.3 Os velhos mitos do software! Objetivo: mostrar o que é a Engenharia de Software e a sua importância na análise e projeto de sistemas

2 2 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 1.1 O PROBLEMA DO SOFTWARE O software é um produto diferencial em vários aspectos… –Evolutivo –Feedback, interacional …e faz a diferença hoje até mais do que o hardware Evolução do software: Primeiros anos: Batch Distribuição limitada Customizado Segunda era: Multiusuário Tempo real Produto de software Terceira era: Sistemas distribuídos IA Baixo custo de hardware Quarta era: Desk-top poderoso Orientação a objeto Sistemas especialistas / redes neurais Adaptado de Pressman (1995)

3 3 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Em direção a uma quinta era novos problemas surgem –A sofisticação do software ultrapassou a capacidade de construir um software que tirasse potencial do hardware –A capacidade de construir programas não acompanha a demanda –A capacidade de construir programas é ameaçada por projetos ruins e recursos inadequados Em resposta a esses problemas estão sendo adotadas práticas da engenharia Especificamente, em relação ao desenvolvimento para a Internet, há alguma mudança?

4 4 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Voltando às práticas de engenharia, um dos primeiros problemas encontrados foi a própria definição de software –Instruções que quando executadas produzem a função e o desempenho desejados (Pressman) –Estruturas de dados que possibilitam que os programas manipulem adequadamente a informação –Documentos que descrevem a operação e o uso dos programas –Fairley diferencia produto de software de software para uso pessoal –Há definições do ponto de vista de outros profisionais que não são de informática, mas participam do desenvolvimento do software –Há definições do ponto de vista do usuário E software para a Internet?

5 5 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Talvez o melhor seja descobrir as características do software para os interesses da disciplina em relação ao desenvolvimento. Nesse caso: –1) O software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico Problema para a engenharia de hoje: a visão do software nem como produto de engenharia nem como produto de manufatura –2) O software não se desgasta Há uma diferença básica em relação ao HARDWARE! Curvas de falhas - Pressman (1995)

6 6 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB –3) A maioria dos softwares é feita sob medida em vez de ser montada a partir de componentes existentes A visão de hoje no desenvolvimento radicalizou mais Mas em relação ao desenvolvimento existem hoje novas formas de concebê-lo que subvertem muito a concepção tradicional –XP (eXtreme Programming) por exemplo: se baseia em quatro valores –Feedback –Comunicação –Simplicidade –Coragem De uma forma que nem vê o software como um produto de manufatura nem como uma adaptação da engenharia, mas como a construção de um livro

7 7 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Além das características, é importante também compreender os componentes de software –Há os componentes executáveis e os não executáveis Exigências do cliente Conversões que mapeiam as exigências Projeto Conversão em uma linguagem que especifica as estruturas de dados, os atributos procedimentais e os requisitos Tradutor Conversão em instruções que são executadas em uma máquina

8 8 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB O software ainda possui aplicações que têm como fatores importantes o conteúdo e a determinância –Software básico –Software de tempo real –Software comercial –Software científico e de engenharia –Software embutido –Software de computador pessoal –Software de IA –…

9 9 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 1.2 A VELHA CRISE DO SOFTWARE! Problemas associados –Não dedicamos tempo para coletar dados sobre o processo de desenvolvimento de software –A insatisfação do cliente é frequente –A qualidade de software é questionada –O software é difícil de manter As causas podem ser atacadas pela ES –Projeto –Comunicação –Gerência –Enfrentamento de mudanças –Bom, XP subverte esta idéia, que seria nova!

10 10 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 1.3 OS VELHOS MITOS DO SOFTWARE! Administrativos Mito1: Já tenho um manual com padrões e procedimentos. Isso já não oferece o que o pessoal precisa saber? Realidade: O manual é usado? Os profissionais têm conhecimento? Reflete uma prática moderna? É completo? Mito2: Meu pessoal tem as ferramentas de desenvolvimento de última geração e os melhores computadores Realidade: As ferramentas de ES são mais importantes do que o hardware, mas a maioria ainda não usa Mito3: Se estamos atrasados, podemos adicionar mais programadores e tirar o atraso (horda de mongóis) Realidade: O desenvolvimento de software não é mecânico igual à manufatura

11 11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Mitos do cliente Mito1: uma declaração geral dos objetivos é suficiente para se começar a escrever programas – podemos preencher os detalhes mais tarde Realidade: uma definição inicial ruim é a principal causa do fracasso. É fundamental uma descrição mais formal. Mito2: Os requisitos de projeto modificam-se continuamente, mas as mudanças podem ser facilmente acomodadas, porque o software é flexível Realidade: uma mudança, quando solicitada tardiamente, pode ser muito mais dispendiosa do que se fosse solicitada no início

12 12 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Mitos do profissional Mito1: assim que escrevermos o programa e o colocarmos em funcionamento, nosso trabalho estará completo Realidade: quanto mais cedo se escreve o código, mais tempo se demora para terminá-lo Mito2: enquanto não tiver o programa funcionando, eu não terei como avaliar sua qualidade Realidade: as revisões técnicas formais têm sido mais eficientes do que os testes para a descoberta de certa classe de problemas de software Mito3: a única coisa a ser entregue em um projeto bem sucedido é o programa funcionando Realidade: esta afirmação desconhece a figura adiante e a documentação

13 13 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Programa funcionando Especificação de testes Estrutura de dados Listagem Projeto Especificação de requisitos Plano

14 14 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Além de acabar com os mitos, é essencial –Oferecer assistência para as práticas –Melhorar a qualidade –Permitir que o software acompanhe o desenvolvimento do hardware Quando combinamos… –Métodos abrangentes para todas as fases de desenvolvimento –Melhores ferramentas para automatizar o processso –Blocos de construção mais sólidos –Melhores técnicas para a qualidade de software –e uma filosofia de coordenação predominante, controle e administração … fazemos uso da ENGENHARIA DE SOFTWARE

15 15 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Definições de Engenharia de Software –É a ciência e a arte de com economia, em tempo útil e de forma elegante, especificar, projetar, implementar e manter atualizados e corretos, programas, documentação e procedimentos operacionais para sistemas computacionais de utilidade para a humanidade (Alan Brown, Anthony Earl e John McDermid) –Aplicação prática do conhecimento científico no projeto e construção de programas e da documentação requerida para desenvolver, operar e manter esses programas (Boehm) –etc

16 16 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Definição de ES de Fritz Bauer –Estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais A ES engloba: –1) Métodos – como fazer Planejamento e estimativa de projeto Análise de requisitos de software e de sistemas Projeto da estrutura de dados Arquitetura de programa e algoritmo de processamento Codificação, teste e manutenção –Os métodos muitas vezes introduzem notações gráficas ou orientadas a uma linguagem especial e conjuntos de critérios para a qualidade de software

17 17 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB –2) Ferramentas – apoio automatizado ou semi-automatizado aos métodos Sustentam cada um dos métodos ou os métodos de forma integrada (CASE – computer-aided software engineering) Combina hardware, software e banco de dados de ES –3) Procedimentos – elo que liga métodos a ferramentas Sequência dos métodos Produtos a serem entregues (deliverables) Controles de qualidade e mudança A ES compreende conjuntos de etapas que envolvem métodos, ferramentas e procedimetos em modelos ou paradigmas de ES

18 18 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Na Internet, onde antes as informações eram usadas mais estaticamente, os métodos, ferramentas e procedimentos devem ser combinados para dar suporte a aplicações a serem usadas de diversas maneiras para os mais diversos usos Noções de Engenharia de Software

19 19 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB EXERCÍCIO DE NOÇÕES DE ENGENHARIA DE SOFTWARE –Descreva como construir uma determinada aplicação para a Web levando em consideração o conteúdo e a determinância e, se possível, como estão relacionados com os métodos, as ferramentas e os procedimentos. –Faça o exercício em conjunto com seu grupo e sobre o projeto da disciplina.


Carregar ppt "1.Noções de Engenharia de Software 1.1 O problema do software 1.2 A velha crise do software! 1.3 Os velhos mitos do software! Objetivo: mostrar o que é"

Apresentações semelhantes


Anúncios Google