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

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

Análise e Projeto de Sistemas Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Desenvolvimento de Software para a Internet.

Apresentações semelhantes


Apresentação em tema: "Análise e Projeto de Sistemas Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Desenvolvimento de Software para a Internet."— Transcrição da apresentação:

1 Análise e Projeto de Sistemas Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Desenvolvimento de Software para a Internet

2 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

3 3 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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 1950196019701980 1990 2000 Adaptado de Pressman (1995)

4 4 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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?

5 5 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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?

6 6 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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)

7 7 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

8 8 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

9 9 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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 –…

10 10 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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!

11 11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

12 12 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

13 13 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

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

15 15 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

16 16 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

17 17 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – 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

18 18 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB EXERCÍCIO 1 - NOÇÕES DE ENGENHARIA DE SOFTWARE –Identificar necessidades específicas de um sistema de acordo com o que foi debatido em aula. –Dizer em que algo da engenharia de software poderia ajudar em seu projeto (entrega na próxima semana de acordo com a data definida no plano). Tente pensar em um problema específico.


Carregar ppt "Análise e Projeto de Sistemas Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Desenvolvimento de Software para a Internet."

Apresentações semelhantes


Anúncios Google