Engenharia de Projetos Documentos de especificacao de Projetos























































- Slides: 55

Engenharia de Projetos

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

PROJETO DE ARQUITETURA

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

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 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. : uso de broker - intermediario, CORBA)

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

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 (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 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 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 REAL g PROJETO DE INTERFACE g DIAGRAMA DE CLASSES g ELABORANDO O DIAGRAMA DE CLASSES 14

15

Cliente Solicita cancelamento de fatura 16

17

18

19

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

21

22

0 0 Opção inválida 23

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

25

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 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. 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

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Outro exemplo: 54

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.