Você está na página 1de 8

1) O que software?

' ' ' ' ' ' ' ' ' ' ' ' ' '

Software e Engenharia de Software


& $ %# "    !    ( ( ( ' ' ' '

Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas resolvemos problemas. interagimos com a mquina. tornamos o computador operacional.

1) O que software?
Conceito mais amplo que inclui tambm: Instrues que executam uma funo desejada. Estrutura de dados para manipular informao. Documentos para desenvolver, operar e manter os programas.

2) Dificuldades para desenvolver software


Saber o que o software deve fazer : quais os requisitos (abstrao); Ferramentas; linguagem; so Tempo e custos elevados de desenvolvimento. Prever falhas (antes de entregar). Tratar manuteno e verses. Produtividade no cresce com a demanda de servios.

3) Caractersticas do Software
software no um elemento fsico; um elemento lgico (no tem propriedades fsicas, como visualizar, medir ...) abstrao maior; o produto final diferente o software no pode ser manufaturado; custos esto concentrados no desenvolvimento e no na manufatura. o processo de gerenciamento diferente; o relacionamento entre as pessoas diferente;

3) Caractersticas do Software
existem diferentes abordagens para se chegar no produto final o software no se desgasta com o uso; mas deteriora-se no h peas de reserva. => manuteno, correo, aperfeioamento. no construdo aproveitando-se componentes prontos. um erro durante um teste => erro de projeto; mais difcil de testar.

# '% 2B0 )# w Gv  & 6  u ! F  q  6 ts ! 2 # 6 r0@q % 2 e B % 2 " ! 2    B  F  a @p R S 

$ %$  & %B# 2)6hD2 F i BD0 BE @ & B# 2 !  2  2 #   & % $B# h6 8% g6 # b 1UQ ! 2  # 0 f e A  c b  B d# 3U a ! # `XB0 % 0 W ! Y 0 2 A  BV6 9 UB " S R @   0 T

E F 7'%  Q ! # I H %   F P G9 @0 B# 6 0 E9  9 DC2 # B5 4  @# 87 !   2 6  A 9 2  # 654 3 % 1)  '" ! # 2 0 ( &%$ #       

4. Crise do Software Eras da Computao

4. Crise do Software Eras da Computao

4) Crise de Software

Alguns autores associam a palavra crise aos problemas para desenvolver software

4. Crise do Software Eras da Computao

4. Crise do Software Eras da Computao

4. Crise do Software Eras da Computao

! ! ! !

c "

( ! !

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 " B % 2 PF 6  2 A 0 9 # Q  6  AT f  " t e # X@h %  I H    0 xx yyx f A $  f  F B # X@) @ F @ a A 2  I H   A # AT t f A # q # ( B9  % # # X@h6 9 g " f I H    0 T A q   2 2  3D5 R # P ) 'B I H   

 @ # P % 3 # A   I H 0 b 2  B 0  2  6 2 B % 2   F GXB % 2 A  b 2  2      0 xxx  % yyyx

R @p

4) Crise de Software
Problemas: Software inadequado. Cronogramas e custos imprecisos - dificuldades em prever o progresso durante o desenvolvimento. Inexistncia de dados histricos sobre o processo de desenvolvimento. Comunicao deficiente - insatisfao de usurios. Carncia de conceitos quantitativos sobre confiabilidade, qualidade, reusabilidade. Software existente de difcil manuteno.

4) Crise de Software
Soluo: Combinar mtodos para as fases de desenvolvimento. Ferramentas para automatizar esses mtodos. Tcnicas para assegurar qualidade. => Disciplina: Engenharia de Software.

5) Engenharia de Software
Abordagem sistemtica para o desenvolvimento, operao e descarte de software. Aplicao prtica de conhecimento cientfico ao projeto e construo de software. Disciplina que utiliza princpios de engenharia para produzir e manter softwares dentro de prazos e custos estimados.

5) Engenharia de Software
Objetivos: Melhorar a qualidade do software e aumentar a produtividade e satisfao profissional de engenheiros de software. Definio: Disciplina que utiliza um conjunto de mtodos, tcnicas e ferramentas para analisar, projetar e gerenciar desenvolvimento e manuteno de software.

5) Engenharia de Software 5) Engenharia de Software


Mtodos e Tcnicas: como fazer Metodologias: como aplicar Ferramentas: Automatizam os mtodos, do apoio utilizao dos mesmos. CASE => (Computer-Aided Software Engineering): Ferramentas integradas para desenvolver software.

6) Princpios da Engenharia de Software


Formalidade: reduz inconsistncias Abstrao: aspectos importantes, ignorar detalhes Decomposio: lidar com complexidade Generalizao: reutilizao, custo Flexibilizao: mudanas, processo incremental

7) Paradigmas da Engenharia de Software


E. S. est associado um conjunto de passos (que englobam mtodos, ferramentas, etc) denominado paradigma

Ciclo de Vida Clssico

Ciclo de Vida Clssico


Problemas para aplicao: Na prtica, projetos no seguem o fluxo seqencial. Acomodaes de incertezas no incio do projeto difcil. Verso funcional dos programas disponvel aps os ltimos estgios do projeto

Prototipao

Prototipao
Localiza aspectos visveis para o usurio (E/S). A iterao pode adequar o prottipo s necessidades do usurio. O prottipo pode ser descartado ou fazer parte do produto final. Problemas: Cliente insiste que o prottipo seja com ligeiras modificaes, a verso final do produto. Decises e solues improvisados tornam-se parte do produto final.

Linguagens de Quarta Gerao

Linguagens de Quarta Gerao


Ferramentas para especificao de alto nvel (L4G): Consulta a base de dados. Gerao de relatrios. Manipulao de dados. Definio e interao com Telas. Gerao de cdigo.

Linguagens de Quarta Gerao


Domnio predominante : Sistemas comerciais de informao. Boa produtividade para sistemas pequenos e mdios e aplicao especficas. Problemas: Para sistemas grandes, demanda muito tempo; e ainda permanece a necessidade de projeto

Evolucionrio

Evolucionrio
Tudo merece uma nova chance Incorporao de diferente partes e criao de diferentes verses Inclui prototipao Permite o desenvolvimento exploratrio

Incremental

,QFUHPHQWDO

Espiral

Espiral
Paradigma mais realstico - sistemas grandes um metamodel o Incorpora anlise de riscos. Permite prototipao em mais de um estgio
g g g g

Problemas: O modelo relativamente novo. Requer esperteza. Pode nunca terminar.


g

Combinao de Paradigmas

7) Paradigmas da Engenharia de Software


Que paradigma usar ?
g

Depende da natureza da aplicao. Mtodos e ferramentas disponveis, etc.

e X H Sa f X W S 3DV U T IR

"  ) #D 9B   )A GF

ED C$ A "  ) B @ 94 &8 5  ) 5   7  $ 6




$   "    @# @H   Q   !9((

#!  $   "           c V DGI!Ha &YV U T IR U ed W cb ` X W S $   "    @# @H   )A GF

$  32 ) ) 5 4  $ 0 $ 1   (&% ) )'  $   "   #      $ P    P @I&%

Abordagem intermediria Combina vantagens dos paradigmas ciclo de vida clssico e evolucionrio Identificao das funes do sistema, estabelecimento de incrementos e prioridades Cada incremento pode utilizar um paradigma de desenvolvimento diferente Dificuldade para dividir e gerenciar verses

8) Uma Viso Genrica da E.S.

8) Uma Viso Genrica da E.S.


1) Definio Funo, desempenho, interface, restries de projeto, critrios de validao. Anlise de sistemas Planejamento de projeto de software. Anlise de requisitos.

8) Uma Viso Genrica da E.S.


2) Desenvolvimento : Estrutura de dados, Arquitetura de software, detalhes procedimentais, programas, testes. Projeto de software. Codificao. Testes

8) Uma Viso Genrica da E.S.


3) Manuteno Corretiva: para corrigir defeitos; Adaptativa: para acomodar mudanas no ambiente externo do software (S. O., perifricos, etc) Perfectiva: para incluso de novas funcionalidades

8) Uma Viso Genrica da E.S.


8) Uma Viso Genrica da E.S.

8) Uma Viso Genrica da E.S.

Você também pode gostar