A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Projeto de Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Projeto de Engenharia de Software"— Transcrição da apresentação:

1 Projeto de Engenharia de Software
Sistema de gerenciamento de restaurante

2 Conteúdo Motivação Planejamento do Projeto Requisitos Arquitetura
Casos de Uso Arquitetura Classe Implementada Testes Resultados

3 Motivação O BrightChef buscar trazer uma solução para administração de restaurantes: Automatizando Entrada e Saída de insumos, controle de Estoque. Gerenciando pedidos, módulo de Delivery. Facilitando a análise de faturamento e controle de cadastros com geração de Relatórios. Organizando os pedidos de mesa/cartão, gerando o cálculo da conta e pagamento.

4 Planejamento do Projeto
O ciclo do projeto se baseou no RUP, tendo as seguintes fases: Concepção: ênfase no escopo do sistema; Elaboração: ênfase na arquitetura; Construção: ênfase no desenvolvimento; Transição: ênfase na implantação.

5 Planejamento do Projeto
Na etapa de concepção foi definido a organização do projeto. Funções: Gerente – Henrique Menezes Arquiteto de Software – Tiago Sales Analista de Sistema – Dayvid Rodrigues Analista de Sistema – Danilo Queiroz Analista de Sistema – Paulo Ferreira

6 Planejamento do Projeto
Cronograma:

7 Requisitos Elicitação de requisitos: Entrevistas Brainstorming
Análise de concorrentes Pesquisas sobre o mercado

8 Requisitos Requisitos não-funcionais: Requisitos de Processo
Identificação Descrição RNF/PROC-01 O sistema deverá ser implementado em Python 2.6 e Flex 3 utilizando o SGBD MySQL Server 5.0. RNF/PROC-02 O sistema deverá rodar em Windows e Linux. RNF/PROC-03 Deverá ser utilizada ferramenta CASE e a modelagem deverá ser feita em UML. Requisitos de Produto - Segurança Identificação Descrição RNF/SEG-01 É necessário autenticar o usuário por meio de login e senha. RNF/SEG-02 Os atores terão acesso apenas a um conjunto mínimo de funcionalidades, que compreendem as funções operacionais básicas. RNF/SEG-03 O gerente tem acesso a todas as funcionalidades. RNF/SEG-04 O acesso a funções com esse requisito não funcional só poderá ser feito pelo gerente, identificado através de login e senha. RNF/SEG-05 O acesso a funções relacionadas a insumo, produto e categoria, com exceção da função de consulta, deve ser de uso exclusivo do gerente e do almoxarife. RNF/SEG-06 O acesso a funções relacionadas a pagamento, deve ser de uso exclusivo do caixa e do gerente.

9 Requisitos Requisitos funcionais: Código Nome Prioridade RF-01
Efetuar Login Essencial RF-02 Cadastrar Cliente RF-03 Alterar Cliente RF-04 Remover Cliente RF-05 Consultar Cliente RF-06 Cadastrar Pedido Delivery RF-07 Alterar Pedido Delivery RF-08 Cancelar Pedido Delivery RF-09 Consultar Pedido Delivery RF-10 Despachar Pedido Delivery RF-11 Entregar Pedido Delivery RF-12 Cadastrar Pedido Mesa/Cartão RF-13 Alterar Pedido Mesa/Cartão RF-14 Cancelar Pedido Mesa/Cartão RF-15 Consultar Pedido Mesa/Cartão RF-31 Saída Insumo Essencial RF-32 Cadastrar Categoria RF-33 Remover Categoria RF-34 Cadastrar Funcionário RF-35 Alterar Funcionário RF-36 Remover Funcionário RF-37 Consultar Funcionário RF-38 Informação do plantel dos funcionários RF-39 Calcular comissão RF-40 Gerar relatórios de funcionários RF-41 Gerar relatórios de estoque Importante RF-42 Gerar relatórios finaceiros RF-43 Gerar relatórios extras Desejável RF-16 Informar Finalização do Pedido Essencial RF-17 Abrir Mesa/Cartão RF-18 Trocar Mesa/Cartão RF-19 Juntar Mesa/Cartão RF-20 Fechar Mesa/Cartão RF-21 Efetuar Pagamento RF-22 Cadastrar Produto RF-23 Alterar Produto RF-24 Remover Produto RF-25 Consultar Produto RF-26 Cadastrar Insumo RF-27 Alterar Insumo RF-28 Remover Insumo RF-29 Consultar Insumo RF-30 Entrada Insumo

10 Visão Geral Dos Requisitos
Diagrama de Casos de Uso

11 Casos de Usos – Pré e pós condições
Cadastrar Funcionário Pré-condição: O gerente deve ter efetuado login no sistema. Pós-condições: O funcionário cadastrado no sistema.

12 Casos de Usos - Fluxos Cadastrar Funcionário Fluxo Primário:
Inicialmente, o gerente deve entra na janela de cadastro de funcionário. O gerente informar os dados do funcionário necessários para a realização do cadastro como nome, endereço, Cpf, cargo do novo funcionário e etc. O sistema verifica se o funcionário já existe. O sistema armazena os dados do cliente no repositório e informa que o cadastro foi realizado com sucesso.

13 Casos de Usos - Fluxos Fluxo secundário:
No fluxo primário 3, se o funcionário já existir significa dizer que o funcionário já está cadastrado, o sistema exibe uma mensagem informando a ocorrência.

14 Casos de Usos - Análise Diagrama de Seqüência:

15 Casos de Usos - Análise Diagrama de Classe:

16 Casos de Usos – Pré e pós condições
Gerar Relatório Funcionário Pré-condição: O usuário deve ter efetuado login no sistema. Pós-condições: O relatório de funcionários deve ser retornado.

17 Casos de Usos - Fluxos Gerar Relatório Funcionário Fluxo Primário:
O usuário deve entrar na janela de relatórios. Seleciona o relatório de Funcionários. O sistema gera o relatório e retorna ao cliente.

18 Casos de Usos - Análise Diagrama de Seqüência:

19 Casos de Usos - Análise Diagrama de Classe:

20 Arquitetura do Sistema - Camadas
GUI Controle Dados Repositório

21 Arquitetura do Sistema - Camadas
MTV Model Template View Django MVC Model View Controller puremvc

22 Arquitetura do Sistema - Camadas
Template Django View Model & ORM Database

23 Arquitetura do Sistema - Camadas
puremvc

24 Classes Implementadas
Python: Models: Produto Views: ProdutoAdmin ProdutoService Templates: change_form.html change_list.html change_list_results.html ...

25 Classes Implementadas
Flex: Models: ProdutoVO ProdutoProxy Controller: ProdutoReloadCommand ProdutoSaveCommand ProdutoDeleteCommand Views: ProdutoTabMediator ListarProdutosTabMediator Components: ProdutoTab.mxml ListarProdutosTab.mxml

26 Ferramentas Python Django Pyunit PyAMF Flex Flex Builder 3 PureMVC
Office 2007 Jude Notepad++ Aptana Microsoft Project Git

27 Testes Teste de Unidade Teste Integração Teste de Sistema
Teste de Aceitação

28 Testes Teste de Unidade
Testar corretude de componentes individualmente: Classes Métodos Foi utilizado um framework de testes PyUnit, em específico o módulo unittest.

29 Testes Teste de Unidade - Exemplo

30 Testes Teste de Integração
Foi realizada a medida que novos componentes eram agrupados ao sistema. Com ele foi possível encontrar erro nas interfaces de comunicação entre os componentes. Exemplo: Codificação, decodificação e comunicação dos dados entre AMF e Python.

31 Testes Teste de Sistema
Após a integração completa do sistema iniciamos esse tipo de teste, onde não nos limitamos somente a requisitos funcionais mas testamos também requisitos não-funcionais. Exemplo: Testamos nos browsers: Internet Explorer, Mozilla Firefox e Google Chrome.

32 Testes Teste de Aceitação
Foram feitos testes de caixa-preta com usuários finais e a partir daí foi notificado todos os erros acontecidos e posteriormente corrigidos. Exemplo: Foi notificado no módulo estoque um problema em saída de insumo, onde a quantidade do insumo estava decrementando quando um valor superior ao do estoque atual e resultava em uma quantidade negativa no estoque do insumo.

33 Resultados Artefatos produzidos nesse projeto: Site de acompanhamento
Plano de Projeto Documento de Requisitos Plano de Testes Projeto de Testes Documento de Análise e Projeto Site de acompanhamento Aplicação

34 Resultados Versão Flex / Janela Mesa/Cartão:

35 Resultados Versão Html / Janela Entradas de Insumo:

36 Perguntas? Alguma duvida?


Carregar ppt "Projeto de Engenharia de Software"

Apresentações semelhantes


Anúncios Google