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

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

Fundamentos de Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Fundamentos de Engenharia de Software"— 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, 2003. Gustafson, David A.Teoria e problemas de engenharia de software. Porto Alegre : Bookman, 2003. Brooks Jr., Frederick P. The mythical man-month   essays on software engineering . Reading; Menlo Park :   Addison-Wesley, 1975.

9 O Software 1950 -1970: 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
A terceira era Sistemas Distribuídos “Inteligência” embutida Hardware de baixo custo (PCs) workstation Impacto de consumo A segunda era Multiusuário Tempo real Banco de Dados Software Houses A quarta era Tecnologia O. O. Sistemas Especialistas Redes Neurais Computação Paralela Os primeiros anos Orientação batch Distribuição limitada Software customizado 1950 1960 1970 1980 1990 2000

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) 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

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 Engenharia de Software
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 Engenharia de 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"

Apresentações semelhantes


Anúncios Google