Você está na página 1de 30

Anlise e Modelagem de Sistemas II

Introduo
Profa. Msc. Elizabeth B. Llamosas Gomes
1

INTRODUO

O Cenrio Atual

INTRODUO Qual o Cenrio Atual ?


1 Levantamento de Requisitos:
Falta ou m comunicao
geram grandes erros!

Arquiteto
Usurio
3

INTRODUO Qual o Cenrio Atual ?


1 Levantamento de Requisitos:
Soluo: preciso uma forma nica de comunicao

Usurio

Arquiteto
4

INTRODUO Qual o Cenrio Atual ?


1 Levantamento de Requisitos:
Ele quer
AAB BBC CCA

Preciso de
AAA BBB CCC...

Entendimento
inicial com falhas!
5

INTRODUO Qual o Cenrio Atual ?


1 Levantamento de Requisitos:
Quais so suas
necessidades para
o sistema?

Preciso de um
sistema que
controle todas as
vendas de meus
produtos...

INTRODUO Qual o Cenrio Atual ?


2 Anlise:
O que modelamos
tem que ser legvel
para a equipe e para
o usurio.

INTRODUO Qual o Cenrio Atual ?


3 Validao com o Usurio:
O Usurio no valida
de acordo, pois no
compreende o que foi
modelado.

INTRODUO Qual o Cenrio Atual ?


4 Desenvolvimento:
Excesso de documentao ou nenhuma.

INTRODUO Qual o Cenrio Atual ?


4 Desenvolvimento:
Tcnica Utilizada:

Program and Pray


or
Quick and Dirty

10

INTRODUO Qual o Cenrio Atual ?


4 Desenvolvimento:
Cronograma apertado Prazo estourado

11

INTRODUO Qual o Cenrio Atual ?


5 Entrega Final:
Cliente insatisfeito.
Horas infindveis de
manuteno corretiva,
etc...

12

INTRODUO

O que concluir
at o momento?

13

INTRODUO
... Crise do Software ...
Prazos ultrapassados
Custos acima do previsto
No atendimento dos requisitos do Usurio

Elevado custo de manuteno


1/3 dos projetos so cancelados
2/3 dos projetos extrapolam o oramento
14

INTRODUO
... Crise do Software ...
Custos hardware X software
1970 = 8:2
1991 = 2:8

hoje = 1:9
Tempo Manuteno > Tempo Desenvolvimento

15

INTRODUO
O que as Empresas
esperam...

16

INTRODUO
O que as Empresas esperam ...
Melhor Flexibilidade e Adaptabilidade
possibilitando satisfazer novos requisitos de
negcios rapidamente e facilmente
Melhor Manutenibilidade
possibilitando atualizar uma aplicao, mas
minimizando o impacto da maioria das mudanas
Melhor Reusabilidade
possibilitando rapidamente montar aplicaes
nicas e dinmicas
17

INTRODUO
O que as Empresas esperam ...
Melhor Aproveitamento do legado
possibilitando o aproveitamento do legado
corporativo
No queremos jogar fora o que a empresa j tem!

Melhor Escalabilidade
possibilitando distribuir e configurar a execuo
da aplicao para satisfazer vrios volumes de
transao
Melhor robustez
18
possibilitando ter solues com menos defeitos

INTRODUO
O que as Empresas esperam ...
Melhor Interoperabilidade
possibilitando integrar 2 aplicaes executando em
plataformas diferentes
Menor tempo de desenvolvimento
possibilitando viver on Internet time e com baixo
oramento

Menor risco
possibilitando tudo que falamos acima e ainda no
se arriscar a ter projetos fracassados
19

INTRODUO
Ento ... O que
devemos fazer?

Estudar novas metodologias de


desenvolvimento de software!
Quais so elas e
quais so as melhores??

20

INTRODUO
Tendncias ...
Fbrica de Software
Extreme Programming
CMM
RUP
Frameworks

21

INTRODUO
Tendncias ...
Mtricas para estimativas de esforo
Automatizao de Testes

Software baseado em Componentes


Design Patterns
Controle de Verses de Software
Reutilizao de Cdigo
UML
Ferramentas de Workflow

22

Anlise e Projeto de Sistemas


Orientados a Objetos

23

Anlise e Projeto de Sistemas


Orientados a Objetos
O que Anlise?

O que Projeto?

24

Anlise X Projeto
1 Alternativa:
A Anlise modela o problema e consiste das atividades
necessrias para entender o domnio do problema (o
que deve ser feito). uma atividade de investigao.
O Projeto modela a soluo e consiste das atividades
de criao (como pode ser feito)
Anlise

Projeto

Modelagem
do problema
(entender)

Modelagem
da soluo
(criar)

25

Anlise X Projeto
2 Alternativa:
A Anlise consiste de todas as atividades feitas com ou
para o conhecimento do Cliente. A informao produzida
aquela que o Cliente deve discutir e aprovar.
O Projeto inclui as atividades que resultam em
informao que interessa apenas ao programador.

A anlise invade um pouco o lado da soluo, pois o


Cliente deve discutir alguns tipos de interaes que
ocorrero na interface do usurio, etc.
26

Anlise X Projeto
2 Alternativa:
Anlise
Anlise =
informao
importante
para o
Cliente
discutir e
aprovar

Projeto
Projeto =
informao
importante
para o
programador
apenas

27

APOO X APOFunes
As abstraes podem corresponder aos conceitos
presentes no domnio do problema.
O nvel mais natural.
mais fcil se comunicar com o usurio ou
domain expert na linguagem dele.
O Sistema de Informao de Biblioteca

APOO
Decomposio por objeto
ou conceito
Catlogo

Bibliotecrio

Livro

Biblioteca

AP Estruturados
Decomposio por funo
ou processo
Sistema
Cadastra
Emprstimos

Adicionar
Recursos

Informar
28
Multas

Fases de Desenvolvimento
Clssico (dcada de 1960)

29

Fases de Desenvolvimento
Iterativo e Incremental (1990)
Funcionalidade
Incremento2
Incremento1
Business
Anlise
Projeto
Requisitos
Priorizao
case
inicial arquitetural

Tempo

Elaborao

Detalha
Anlise
requisitos

Refina
Projeto
arqu.

Detalhamento

Projeto
Baixo
nvel

Codificao Testes Transio

Implementao

30