SweESalunos.pdf
Upcoming SlideShare
Loading in...5
×
 

SweESalunos.pdf

on

  • 958 views

 

Statistics

Views

Total Views
958
Views on SlideShare
958
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SweESalunos.pdf SweESalunos.pdf Document Transcript

  • 1) O que é software? Software e Engenharia de ' Programas de computador Software ' Entidade abstrata. ' Ferramentas (mecanismos) pelas quais: £¡! ¢ ¥ ¨¦ ¥ £¤ ¢  ¡  ©  ¦ ¡  © § ¡ ¡ %# quot; § & $ exploramos os recursos do hardware. executamos determinadas tarefas resolvemos problemas. interagimos com a máquina. tornamos o computador operacional. 2) Dificuldades para desenvolver 1) O que é software? software Conceito mais amplo que inclui também: ' Saber o que o software deve fazer : quais os ( requisitos (abstração); Instruções que executam uma função ' Ferramentas; linguagem; so desejada. ' ( Tempo e custos elevados de desenvolvimento. Estrutura de dados para manipular ' Prever falhas (antes de entregar). informação. ' ( Tratar manutenção e versões. Documentos para desenvolver, operar e ' Produtividade não cresce com a demanda de manter os programas. serviços. 3) Características do Software 3) Características do Software ' software não é um elemento físico; é um elemento ' existem diferentes abordagens para se chegar no lógico (não tem propriedades físicas, como produto final visualizar, medir ...) ' o software não se desgasta com o uso; mas ' abstração maior; o produto final é diferente deteriora-se ' o software não pode ser manufaturado; custos ' não há peças de reserva. => manutenção, correção, estão concentrados no desenvolvimento e não na aperfeiçoamento. manufatura. ' não é construído aproveitando-se componentes ' o processo de gerenciamento é diferente; o prontos. relacionamento entre as pessoas é diferente; ' um erro durante um teste => erro de projeto; mais difícil de testar. 
  •  xxx 2 %   §§ yy3B G9 ¥ © $ f @`§ # v# P¢ F ¨ $ ¨ F GX)–T A f ¥ ¥T # b A   $ I H  b 2   6   § §  6 2 CB § # ¢ T f •€ quot; B % †2 ¥PF 6 §  ” 2 A 0 9 #  6 Q  AT f  quot; t “e £ # X¢@ˆh % ¢’€ I H §  ‡ §  0 !  @†¦ # P¢ % 3 # A §  I H 0 b ( ! xx yyx f A $  f  F B†¦ £ # X¢@‘) § @ F @ a ¨ A 2  I H §  ‡ ¨ § ! 2  ¥…„B¢ ¨ § 0  ƒ 2  6 c ! A # AT t quot; ! f f A # q # ( B9  § % § #  £ # X¢@ˆh6 9 g¢ quot; I H §  ‡  0 T ! 2 A  b 2  2   B % 2 ¨  ¨ F GX¢‚B¥ % ¨2 ‰ A q   2 2 I H §  ‡ ¨  ¨ § ¢ 3¥D5 R # P¢ ˆ) § 'B¦ !  % ¢yyyx §  §  0 € xxx   R @p Computação Computação 4. Crise do Software – Eras da 4. Crise do Software – Eras da $ § & %B# 2)6hD2 ¨©§ F i BD¢0 BE @ & B# 2 !  2  2 # § %$ # '% 2B0 )# w Gv  & 6  u ! F ¨  q  6 § §  & % $B# h6 8% g6 # b 1UQ ! § 2  # 0 § f e ts ! A  c b  B d# 3U a ! 2 # 6 r0@q ©§ % ¨2 e B¥ % ¨2 quot; ! ¨ 2   # `¢XB0 ¨ % 0 W ! ¨§ Y 0 2 A §  ¨ §  B §  F  a £ @p R S      BV6 9 UB quot; £ S R @¤ §   0 T     Computação Computação 4. Crise do Software – Eras da 4. Crise do Software – Eras da E F 7'%  Q ! # problemas para desenvolver software I H %   F P¢ G9 @0 B# 6 Alguns autores associam a palavra “crise” aos ¥0 E9  9 ¥DC2 # B5 ¨4  @# 87¦ !   2 6  A 9 2§  # 6¢54 3 ©% ¢1)  '¢quot; ! ¨ # 2 0 ( § &%$ #  § ©¢¦ £ ¥¤ £ ¢  §   ¨  ¨ §   ¡ Computação 4) Crise de Software 4. Crise do Software – Eras da
  • 4) Crise de Software 4) Crise de Software Problemas: Solução:   Software inadequado. ¡ Combinar métodos para as fases de   Cronogramas e custos imprecisos - dificuldades em prever o progresso durante o desenvolvimento. desenvolvimento.   Inexistência de dados históricos sobre o processo ¡ Ferramentas para automatizar esses de desenvolvimento. métodos.   Comunicação deficiente - insatisfação de usuários. ¡ Técnicas para assegurar qualidade.   Carência de conceitos quantitativos sobre confiabilidade, qualidade, reusabilidade. => Disciplina: Engenharia de Software.   Software existente é de difícil manutenção. 5) Engenharia de Software 5) Engenharia de Software   Abordagem sistemática para o desenvolvimento, ¡ Objetivos: Melhorar a qualidade do operação e descarte de software. software e aumentar a produtividade e   Aplicação prática de conhecimento científico ao satisfação profissional de engenheiros de projeto e construção de software. software.   Disciplina que utiliza princípios de engenharia ¡ Definição: Disciplina que utiliza um para produzir e manter softwares dentro de prazos e custos estimados. conjunto de métodos, técnicas e ferramentas para analisar, projetar e gerenciar desenvolvimento e manutenção de software. 5) Engenharia de Software 5) Engenharia de Software ¡ Métodos e Técnicas: como fazer ¡ Metodologias: como aplicar ¡ Ferramentas: Automatizam os métodos, dão apoio à utilização dos mesmos. CASE => (Computer-Aided Software Engineering): Ferramentas integradas para desenvolver software.  View slide
  • 6) Princípios da Engenharia de Software   Formalidade: reduz inconsistências   Abstração: aspectos importantes, ignorar detalhes   Decomposição: lidar com complexidade   Generalização: reutilização, custo   Flexibilização: mudanças, processo incremental 7) Paradigmas da Engenharia de Software Ciclo de Vida Clássico À E. S. está associado um conjunto de passos (que englobam métodos, ferramentas, etc) denominado paradigma Ciclo de Vida Clássico Prototipação Problemas para aplicação:   Na prática, projetos não seguem o fluxo seqüencial.   Acomodações de incertezas no início do projeto é difícil.   Versão funcional dos programas disponível após os últimos estágios do projeto  View slide
  • Prototipação Linguagens de Quarta Geração   Localiza “aspectos visíveis” para o usuário (E/S).   A iteração pode adequar o protótipo às necessidades do usuário.   O protótipo pode ser descartado ou fazer parte do produto final.   Problemas: Cliente insiste que o protótipo seja com ligeiras modificações, a versão final do produto. Decisões e soluções improvisados tornam-se parte do produto final. Linguagens de Quarta Geração Linguagens de Quarta Geração ¡ Ferramentas para especificação de alto nível ¡ Domínio predominante : Sistemas (L4G): comerciais de informação. Consulta a base de dados. ¡ Boa produtividade para sistemas pequenos e Geração de relatórios. médios e aplicação específicas. Manipulação de dados. ¡ Problemas: Para sistemas grandes, demanda Definição e interação com Telas. muito tempo; e ainda permanece a necessidade de projeto Geração de código. Evolucionário Evolucionário ¡ Tudo merece uma nova chance ¡ Incorporação de diferente partes e criação de diferentes versões ¡ Inclui prototipação ¡ Permite o desenvolvimento exploratório 
  • Incremental ,QFUHPHQWDO   Abordagem intermediária   §(&% ) )'  ©§¤ §$ 6  ¦ 7    ©£ £©§¥£¡      ¨ ¦¤ ¢ Combina vantagens dos paradigmas ciclo de vida ¢ $ 0 $ ¨ ¢ ©1©£¡ ¢©§¤ ©#©!  $   quot;    ¦ ©@§¤ 94 &8 5¤  ) 5  clássico e evolucionário ¢©$§¤ ¢ £32 ) ) 5 4  ¦E©§D¢ C$ A quot; ¤ ) B   Identificação das funções do sistema, estabelecimento de incrementos e prioridades   Cada incremento pode utilizar um paradigma de    $ P   ¢  ©£P £@I£&% ©¦ )A ©GF   ¦  ¦ Q ¤  ©!9(§( ©¦ )A ©GF   ¦ desenvolvimento diferente $   quot;   §¤ ©#   §@©#© @£H $¤   quot;    §@©#© @£H $¤   quot;    #§D¢ 9B ¦ quot; ¤ )   Dificuldade para dividir e gerenciar versões 3DV U T IR X W S c V DGI!Ha &Y¥V U T IR U ed W cb ` X W S ¥H Sa f e X Espiral Espiral g Paradigma mais realístico - sistemas grandes g É um metamodel o g Incorpora análise de riscos. g Permite prototipação em mais de um estágio g Problemas: O modelo é relativamente novo. Requer esperteza. Pode nunca terminar. 7) Paradigmas da Engenharia de Combinação de Paradigmas Software g Que paradigma usar ? Depende da natureza da aplicação. Métodos e ferramentas disponíveis, etc. 
  • 8) Uma Visão Genérica da E.S. 8) Uma Visão Genérica da E.S. 1) Definição Função, desempenho, interface, restrições de projeto, critérios de validação. Análise de sistemas Planejamento de projeto de software. Análise de requisitos. 8) Uma Visão Genérica da E.S. 8) Uma Visão Genérica da E.S. 2) Desenvolvimento : 3) Manutenção Estrutura de dados, Arquitetura de software, detalhes procedimentais, Corretiva: para corrigir defeitos; programas, testes. Adaptativa: para acomodar mudanças no ambiente externo do software (S. O., Projeto de software. periféricos, etc) Perfectiva: para inclusão de novas Codificação. funcionalidades Testes 8) Uma Visão Genérica da E.S. 8) Uma Visão Genérica da E.S. £ ¡¡¢¡¢¡¡¢¡£                     ¤ £ 
  • 8) Uma Visão Genérica da E.S.