Escolar Documentos
Profissional Documentos
Cultura Documentos
PROCESSO DE DESENVOLVIMENTO
■ Análise
■ Projeto tem por objetivo construir a ponte
sobre o gap semântico
■ Implementação
gap semântico
Gap Semântico
■ Gap semântico é a distância entre os conceitos
que seres humanos conhecem e entendem e os
conceitos que os computadores manipulam.
Critérios de Desenvolvimento
– Decomposibilidade em módulos
– Composibilidade de módulos
– Inteligibilidade modular
– Continuidade do método de projeto
– Proteção modular
Critério da Decomposilidade
■ Projeto baseia-se na decomposição de problema
em subproblemas
■ Contra-exemplo:
– Módulo de inicialização de todo o sistema.
@Roberto S. Bigonha e Mariza A. S. Bigonha Critérios de Desenvolvimento Modular 8
Critério da Composibilidade
■ Projeto favorece a produção independente de componentes de
software que podem ser combinados entre si para produzir
novos sistemas.
Critério da Inteligibilidade
■ Contra-exemplo:
– Conjunto de módulos que somente funcionam
se ativados em certa ordem.
Critério da Proteção
■ Módulos são construídos de forma a confinar os efeitos de
ocorrências anormais dentro de cada módulo, ou então
propagá-las a um número mínimo de outros módulos.
■ Propagação de Erros.
■ Exemplo:
– Módulo que lê e valida entrada de dados.
■ Contra-exemplo:
– Tratamento de exceções em PL/I e ADA.
@Roberto S. Bigonha e Mariza A. S. Bigonha Critérios de Desenvolvimento Modular 12
PROCESSOS DE DESENVOLVIMENTO
DE SOFTWARE
■ Desenvolvimento TOP-DOWN
■ Desenvolvimento BOTTOM-UP
Desenvolvimento TOP-DOWN
■ Desenvolvimento top-down gera arquitetura baseada somente na
função do sistema:
– Especificação define a função.
– Processo top-down começa com um comando que expressa a função
principal.
– Cada passo refina ou decompõe funções.
– Decomposição pára quando o nível de abstração da função refinada for
diretamente implementável.
■ Portanto:
– Top-Down é a decomposição da função do sistema como uma árvore de
subfunções.
– Cada função da árvore é implementada como uma rotina.
– Top-Down é baseado somente na abstração de comandos e expressões.
@Roberto Bigonha, Mariza Bigonha Processo de Desenvolvimento de Software - Top-Down 14
Pontos Positivos do Top-Down
– Disciplina
o pensamento de forma lógica
e organizada.
– Permite
o desenvolvimento de forma
ordenada.
– gerência do processador
– gerência de memória
– entrada e saída
– interpretação de comandos
– gerência do processador
– gerência de memória
– entrada e saída
– interpretação de comandos
@Roberto Bigonha, Mariza Bigonha Processo de Desenvolvimento de Software – Top-Down 22
Top-Down X Estruturas de Dados
■ Foco de atenção centrado na função prejudica a influência da estrutura de
dados na arquitetura: Vide pesquisa em tabela
Fatos
■ Necessidade de técnicas de organização de software que
privilegiem:
– extensibilidade
– reusabilidade
Desenvolvimento Bottom-Up
■ Foco de atenção centrado na função pode prejudicar a
influência da estrutura de dados na arquitetura do
software
Estruturada:
– Relação Cliente-servidor e de hierarquia entre classes.
■ Questões importantes:
1. Como encontrar os objetos.
2. Como descrever os objetos.
3. Como descrever as relações entre objetos
Descrição de OBJETOS
■ Descrição de objetos deve ser: completa
precisa
não ambígüa
independente de representação física
Objetos e Persistência
■ A existência de um objeto transcende o
tempo e/ou o espaço de uma execução do
programa
FIM