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

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

Fundamentos de Engenharia de Software Willamys Araújo.

Apresentações semelhantes


Apresentação em tema: "Fundamentos de Engenharia de Software Willamys Araújo."— Transcrição da apresentação:

1 Fundamentos de Engenharia de Software Willamys Araújo

2 Motiva ç ão Quando um Software é bem sucedido? – Possui as necessidades das pessoas que o usam (who use it) – Executa perfeitamente em um longo período de tempo (long period of time) – Fácil de modificar e utilizar PODE E MUDA COISAS PARA MELHOR Quando um Software falha? – Usuários estão insatisfeitos – Erros ocorrem – Difícil de modificar e utilizar COISAS RUIM PODEM E ACONTECEM

3 Forma de Avalia ç ão Prova Escrita Projeto – Estudo de Caso - Software Seminário

4 Projeto Os projetos visam aplicar os conceitos da ES no desenvolvimento de um software - vivenciando um estudo de caso. – Construir o plano de desenvolvimento, análise, projeto, programação (protótipo) e testes utilizando metodologia orientada a objetos. Os Grupos devem ser de 2 ou 3 alunos Os grupos devem definir o tema de pesquisa e desenvolvimento do Software A avaliação do Projeto é subdivida em 5 fases. – Cada uma tem data a ser finalizada.

5 Fases de Desenvolvimento do Software F1 - Definição do Tema e do Documento de Especificação do Sistema. F2 - Modelos de Análise (Especificação de Requisitos e Modelos). F3 - Modelos de Projeto. F4 - Protótipo do Software (Implementação). F5 - Proposta de Teste/Manutenção.

6 Semin á rios As apresentações dos seminários iniciam aproximadamente no início de outubro. Após definidos os grupos será divulgado o horário de cada apresentação. As apresentações devem ter no máximo 45min de duração Os grupos devem entregar como parte da avaliação do seminário um artigo (segundo estrutura definida) de no máximo 10 páginas sobre o tema explorado. O artigo deve ser entregue como parte da avaliação do seminário e no máximo uma semana após a realização do mesmo.

7 Temas Fábrica de Software Teste e Depuração de Software Qualidade e Gestão de Configuração de Software Métricas no desenvolvimento do software Modelos de Melhoria de Processo de Software

8 Bibliografia Pressman, Roger S. Engenharia de Software. McGraw-Hill Sommerville, Ian. Engenharia de Software. Prentice Hall Cardoso, Caíque. UML na Prática. Ciência Moderna Conallen, Jim. Desenvolvendo Aplicações Web com UML. Editora Campus, Gustafson, David A.Teoria e problemas de engenharia de software. Porto Alegre : Bookman, Brooks Jr., Frederick P. The mythical man-month essays on software engineering. Reading; Menlo Park : Addison- Wesley, 1975.

9 O Software : Desafio principal era desenvolver Hardware – reduzir o custo de processamento e armazenamento de dados Hoje: Reduzir o custo e melhorar a qualidade dos Softwares (potencial da computação) – Funcionalidade – Human-Friendly

10 O que é Software?

11 Defini ç ão Software Dicionário Aurélio: – Programa – Aquilo que pode ser executado por um equipamento (o hardware) – Um produto comercializado que consiste em um sistema de rotinas e funções

12 Defini ç ão Software 1- INSTRUÇÕES (programas de computador) que quando executadas produzem a função e o desempenho desejados 2 - ESTRUTURAS DE DADOS que possibilitam que os programas manipulem adequadamente a informação 3 - DOCUMENTOS que descrevem a operação e o uso dos programas

13 Defini ç ão Software Definição mais exata Analisar as características que o tornam diferente dos outros produtos Hardware: produto em forma física Software: elemento de sistema lógico 

14 Caracter í sticas do Software 1. desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico (industrial) sucesso é medido pela qualidade e não quantidade

15 Caracter í sticas do Software 2. não se “desgasta”, mas se deteriora devido as mudanças tempo “desgaste” “mortalidade infantil” índice de falhas Defeitos de projeto e manufatura Problemas Ambientais (poeira, vibração, abuso, temperaturas,...) Curva de falhas para o hardware

16 Caracter í sticas do Software mudanças índice de falhas curva real curva idealizada tempo Curva de falhas do software

17 Falhas Hardware/software Quando um componente de hardware se desgasta é substituído por uma “peça de reposição” Não existe “peça de reposição” para software – Toda falha indica um erro no projeto ou no processo de tradução para o código executável – Manutenção do software é mais complexa do que a do hardware

18 Como Desenvolver um Software? Aplicado a qualquer problema em que um conjunto previamente de passos procedimentais tiver sido definido (algoritmo) Exceção: Softwares de Inteligência Artificial

19 Aplica ç ões SOFTWARE BÁSICO coleção de programas escritos para apoiar outros programas. Forte interação com o hardware sistema operacional, compiladores,... SOFTWARE DE TEMPO REAL software que monitora, analisa e controla eventos do mundo real sistema de controle de tráfego aéreo, relógio digital,... SOFTWARE COMERCIAL sistemas de operações comerciais e tomadas de decisões administrativas folha de pagamentos, contas a pagar e a receber,...

20 Aplica ç ões SOFTWARE CIENTÍFICO E DE ENGENHARIA caracterizado por algoritmos de processamento de números astronomia, vulcanologia, análise de fadiga da mecânica de automóveis, biologia molecular, projeto CAD,... SOFTWARE EMBUTIDO usado para controlar produtos e sistemas para os mercados industriais e de consumo controle de microondas, de combustível, sistemas de freio

21 Aplica ç ões SOFTWARE DE COMPUTADOR PESSOAL envolve processamento de textos, planilhas eletrônicas, computação gráfica, diversões, etc. SOFTWARE DE INTELIGÊNCIA ARTIFICIAL faz uso de algoritmos não numéricos para resolver problemas que não sejam favoráveis à computação ou à análise direta sistemas especialistas, reconhecimento de padrões, jogos,...

22 Evolu ç ão do Software Hardware: maior desempenho, menor tamanho e custo Os primeiros anos Orientação batch Distribuição limitada Software customizado A segunda era Multiusuário Tempo real Banco de Dados Software Houses A terceira era Sistemas Distribuídos “Inteligência” embutida Hardware de baixo custo (PCs) workstation Impacto de consumo A quarta era Tecnologia O. O. Sistemas Especialistas Redes Neurais Computação Paralela

23 A Crise do Software

24 Crise do Software Refere-se a um conjunto de problemas encontrados no desenvolvimento de software: (problemas não se limitam a softwares que não funcionam adequadamente) As estimativas de prazo e de custo freqüentemente são imprecisas 1 - As estimativas de prazo e de custo freqüentemente são imprecisas – “Não dedicamos tempo para coletar dados sobre o processo de desenvolvimento de software” – “Estimativas são feitas a olho, com resultados ruins”

25 Crise do Software – “Os prazos arrastam-se por meses” – “Causa insastifação para o cliente e falta de confiança” – “Sem nenhuma indicação sólida de produtividade, não podemos avaliar com precisão a eficácia de novas ferramentas, métodos ou padrões”

26 Crise do Software 2 - A produtividade das pessoas da área de software não tem acompanhado a demanda por seus serviços – “Os projetos de desenvolvimento de software normalmente são efetuados apenas com um vago indício das exigências do cliente” – “A comunicação entre o cliente e o desenvolvedor de software é muito fraca”

27 Crise do Software 3- A qualidade de software às vezes é menos que adequada – Não uso de técnicas de teste sistemáticas e completas – Só recentemente começam a surgir conceitos quantitativos sólidos de garantia de qualidade de software

28 Crise do Software 4- O software existente é muito difícil de manter – A tarefa de manutenção devora o orçamento destinado ao software – A facilidade de manutenção não foi enfatizada como um critério importante – Esses problemas podem ser corrigidos – Abordagem de engenharia de software aliada a técnicas e ferramentas

29 Causas da Crise do Software 1- PRÓPRIO CARÁTER DO SOFTWARE – O software é um elemento de sistema lógico e não físico. Consequentemente o sucesso é medido pela qualidade de uma única entidade e não pela qualidade de muitas entidades manufaturadas O software não se desgasta, mas se deteriora O software não se desgasta, mas se deteriora

30 Causas da Crise do Software 2- FALHAS DAS PESSOAS RESPONSÁVEIS PELO DESENVOLVIMENTO DE SOFTWARE – Gerentes sem nenhum background em software – Os profissionais da área de software têm recebido pouco treinamento formal em novas técnicas para o desenvolvimento de software – Resistência a mudanças.

31 Causas da Crise do Software 3- MITOS DO SOFTWARE – “Não oferecem lições humanas” – Muitas causas da crise de software podem ser localizadas pela mitologia que surgiu durante a história do desenvolvimento do software – Propagaram desinformação e confusão – Mitos Administrativos, do Cliente e do Profissional

32 Qual é a Solu ç ão? Reconhecer os problemas e suas causas e desmascarar os mitos do software são os primeiros passos Métodos e Técnicas para o disciplinar o processo de desenvolvimento do software

33 Defini ç ão Engenharia de Software Fritz Bauer “O 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”

34 Defini ç ão Engenharia de Software IEEE “A aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção do software e o estudo das abordagens para tal”

35 Defini ç ão Engenharia de Software Arndt Von Staa, 1987 “O desenvolvimento e a aplicação de ciência, matemática, técnicas, métodos e ferramentas para o desenvolvimento e a manutenção econômica de sotfware de qualidade preditível e controlável, operando de modo econômico em máquinas e ambientes reais”

36 Engenharia de Software “Uma disciplina da Ciência da Computação que oferece Métodos, Técnicas e Ferramentas para desenvolver e manter softwares com alta qualidade para a resolução de problemas”. (Anneliese Mayrhauser, 1990)


Carregar ppt "Fundamentos de Engenharia de Software Willamys Araújo."

Apresentações semelhantes


Anúncios Google