Engenharia de Projetos Documentos de especificacao de Projetos

  • Slides: 55
Download presentation
Engenharia de Projetos

Engenharia de Projetos

Documentos de especificacao de Projetos - Projeto Arquitetural - Projeto de Interface - Projeto

Documentos de especificacao de Projetos - Projeto Arquitetural - Projeto de Interface - Projeto de dados - Projeto de componentes - Projeto de implantacao

PROJETO DE ARQUITETURA

PROJETO DE ARQUITETURA

Quatro passos elementares - -Representação do contexto - -Abstrações de mais alto nível através

Quatro passos elementares - -Representação do contexto - -Abstrações de mais alto nível através de arquétipos -Componentes identificados e representados no contexto de arquitetura - - Instanciações especificas de arquitetura

Atividades - Estruturacao do sistema - Modelagem de controle - Decomposicao modular

Atividades - Estruturacao do sistema - Modelagem de controle - Decomposicao modular

ESTRUTURACAO DO SISTEMA (divisao em subsistemas) g DIAGRAMA DE CASO DE USO REAL g

ESTRUTURACAO DO SISTEMA (divisao em subsistemas) g DIAGRAMA DE CASO DE USO REAL g PROJETO DE INTERFACE g DIAGRAMA DE CLASSES g ELABORANDO O DIAGRAMA DE CLASSES

Tipos Arquitetura centrada em dados (grande fluxo de dados entre subsistemas) - Subsistema 2

Tipos Arquitetura centrada em dados (grande fluxo de dados entre subsistemas) - Subsistema 2 Subsistema 1 Subsistema 3 Depósito de dados Arquitetura Cliente / Servidor (componentes: cliente, servidor, redes) - - Arquitetura em camadas ou Maquinas Abstratas - Arquitetura de chamada e retorno - Arquitetura orientada a objetos

Padroes Arquiteturais - Concorrencia - Persistencia (dados subsistem depois de criados) - Distribuicao (ex.

Padroes Arquiteturais - Concorrencia - Persistencia (dados subsistem depois de criados) - Distribuicao (ex. : uso de broker - intermediario, CORBA)

Diagrama Arquitetural de Contexto - Subordinadores - Subordinados - Sistema no nivel de pares

Diagrama Arquitetural de Contexto - Subordinadores - Subordinados - Sistema no nivel de pares - Atores

Modelagem de Controle centralizado: um subsistema possui responsabilidade geral (ex. Main() ) - -

Modelagem de Controle centralizado: um subsistema possui responsabilidade geral (ex. Main() ) - - Controle baseado em eventos: resposta a eventos externos

Decomposicao em Modulos - Modelo orientado a objetos - Modelo de fluxo de dados

Decomposicao em Modulos - Modelo orientado a objetos - Modelo de fluxo de dados (ex. Unix: duto e filtro) Filtro Filtro Filtro

Arquétipos Classe ou Padrão que representa uma abstração central critica para o projeto de

Arquétipos Classe ou Padrão que representa uma abstração central critica para o projeto de arquitetura para sistema alvo. (classes abstratas, blocos construtivos, modelagem abstrata parcial)

Exercício Desenvolva para o projeto da PETROBRAS os seguintes projetos de arquitetura: - Tipos

Exercício Desenvolva para o projeto da PETROBRAS os seguintes projetos de arquitetura: - Tipos de Arquitetura a serem usados - Padrões de Arquitetura em relação a Concorrência, Persistência e Distribuição [descreva na forma de requisitos de sistema] -

UML NO PROJETO DE COMPONENTES: 1 a PARTE g DIAGRAMA DE CASO DE USO

UML NO PROJETO DE COMPONENTES: 1 a PARTE g DIAGRAMA DE CASO DE USO REAL g PROJETO DE INTERFACE g DIAGRAMA DE CLASSES g ELABORANDO O DIAGRAMA DE CLASSES 14

15

15

Cliente Solicita cancelamento de fatura 16

Cliente Solicita cancelamento de fatura 16

17

17

18

18

19

19

Cliente Solicita cancelamento de fatura <<realize>> Solicita cancelamento de fatura real 20

Cliente Solicita cancelamento de fatura <<realize>> Solicita cancelamento de fatura real 20

21

21

22

22

0 0 Opção inválida 23

0 0 Opção inválida 23

O seu pedido será analisado após o recebimento dos livros. 24

O seu pedido será analisado após o recebimento dos livros. 24

25

25

A partir deste projeto de interface poderíamos elaborar a especificação do caso de uso

A partir deste projeto de interface poderíamos elaborar a especificação do caso de uso real: Solicita cancelamento de fatura real Cenário principal: Solicitação de cancelamento integral da fatura realizada com sucesso 1. Sistema apresenta a Janela. Solicita. Cancelamento. Fatura e solicita o número da fatura 2. Cliente informa número da fatura 3. Sistema verifica a existência deste número no Banco de Dados e recupera os dados da fatura 4. Sistema apresenta os dados da fatura, contendo: a data de emissão, status e valor pago. 5. Sistema pergunta se o cliente deseja realmente realizar a solicitação. 6. Cliente solicita o cancelamento integral da fatura 7. Sistema armazena no Banco de Dados: a solicitação de cancelamento da fatura e a data da solicitação 8. Sistema apresenta na tela a confirmação do cadastramento da solicitação e a informação de que o pedido só será analisado quando a Empresa receber os livros relativos à fatura. 26

Cenário alternativo: Solicitação já cadastrada 4. Sistema apresenta os dados da fatura, contendo: a

Cenário alternativo: Solicitação já cadastrada 4. Sistema apresenta os dados da fatura, contendo: a data de emissão, status, valor pago e a data em que foi realizada a solicitação. 5. Sistema comunica que a solicitação já foi realizada Os passos seguintes não são realizados. ________________________ Cenário alternativo: Fatura não encontrada 3. Sistema verifica a inexistência deste número no Banco de Dados e apresenta uma mensagem na tela, comunicando ao cliente este fato. Os passos seguintes não são realizados. _______________________ Cenário alternativo: Solicitação suspensa pelo cliente ao longo do processo 6. Cliente desiste de solicitar o cancelamento integral da fatura 7. Sistema comunica que não realizou a operação. Os passos seguintes não são realizados. 27

Fatura_Proj num. Fatura : int data. Emissao : Date data. Vencimento : Date valor.

Fatura_Proj num. Fatura : int data. Emissao : Date data. Vencimento : Date valor. Pago : double data. Pagamento : Date data. Pedido. Cancelamento : Date data. Cancelamento : Date status : String recuperar. Pela. PK(num. Fatura : int) : Fatura_Proj solicita. Cancelamento() : void Controlador. De. Pedidos obter. Fatura(numero : int) : Fatura_Proj cadastrar. Sol. Canc. Fatura(numero : int) : String Janela. Solicita. Cancelamento. Fatura exibir() : void Janela. Principal main(args : String[]) : void 28

29

29

30

30

31

31

32

32

33

33

34

34

35

35

36

36

37

37

38

38

39

39

40

40

41

41

42

42

43

43

44

44

45

45

46

46

47

47

48

48

49

49

50

50

51

51

52

52

53

53

Outro exemplo: 54

Outro exemplo: 54

Exercício Desenvolva para o projeto da PETROBRAS um caso de uso real para interface

Exercício Desenvolva para o projeto da PETROBRAS um caso de uso real para interface de consulta para histórico de um aluno específico.