### Problema: Modelagem do sistema para WestStar Marinas
> *West Star Marinas é uma rede de doze marinas que oferecem serviços aos proprietários de barcos, incluindo:
Manutenção e reparo de barcos, motores e equipamentos marítimos;
Venda de barcos, motores e acessórios marítimos;
Desenvolvimento de um sistema para integrar todas as marinas em uma rede unificada.*
>
### Capturando Requsitos de Negócios:
> A West Star Marinas precisa de um sistema para gerir e integrar suas operações em todas as suas unidades
>
**Requisitos funcionais:**
- O sistema deve permitir o agendamento de serviço de manutenção e reparo de: barcos, motores e equipamentos marítimos
- O sistema deve oferecer um módulo de vendas de barcos, motores e acessórios
- O sistema deve permitir o gerenciamento de clientes, armazenando dados como nome, contato e histórico de serviços
- O sistema deve suportar a gestão de estoque, controlando produtos disponíveis e até movimentações entre estoques das unidades
- O sistema deve permitir a gestão de funcionarios, registrando seus dados e atribui~]pes dentro das marinas
- O sistema deve registrar ordens de serviço, associadas a clientes, funcionarios e serviços prestados (padronizado para todas as unidades)
**Requisitos de qualidade**:
- O sistema deve ser escalável, permitindo a gerir novas marinas
- O sistema deve ter alta disponibilidade, garantindo o funcionamento contínuo para todas as unidades da rede
- O sistema deve possuir uma interface responsiva, acessível de qualquer dispositivo (smartphones, tablets)
- O sistema deve fazer uso de controle de acessos baseado em funções/papeis (clientes, funcionários e administradores)
- O banco de dados deve garantir consistência dos dados entre todas as marinas
### Planejamento do crescimento futuro
> A West Star Marinas pensa em expandir cada vez mais seu negócio e com isso o sistema deve estar pronto para acompanhar os negócios a longo prazo
>
Ao desenvolver o sistema é preciso considerar:
- Arquitetura do sistema (distribuída?)
- Banco de dados (centralizado?)
- Infraestrutura (nuvem?)
- API RESTful (integrável?)
### Identificação dos principais processo de negócio
> A partir da breve descrição do que a West Star Marinas faz, é possível compreender alguns dos processos essenciais para o sistema representar o negócio real:
>
- Cadastro de cliente
- O cliente fornece os dados pessoais e cria uma conta no ssitema
- o sistema armazena o histórico de transações do cliente (serviços e compras)
- Agendamento de serviços
- O cliente solicita disponibilidade de serviço de manutenção
- o sistema verifica os horarios e profissionais disponíveis
- o serviço é agendado e registrado no sistema
- um dia antes é enviado uma mensagem para confirmar a presença do cliente
- Venda de produtos
- O cliente escolhe barcos, motores ou acessórios
- o sistema verifica o estoque
- pagamento é processado e o estoque atualizado (para todas as marinas)
- Gestão de funcionarios
- Funcionarios são cadstrados e atribuídos a marinas específicas
- o sistema gerencia suas atividades e responsabilidades (funções)
### Validando teorias e cenários de teste
> Ao entender os processos de negócio é possível criar um fluxo onde o interesse é reproduzir passo a passo uma interação no sistema que seja crucial para o negócio, de tal forma que cada passo executado poderá revelar um defeito existente no sistema
>
- Cenário: Agendamento de Serviço
- Pré-condições: o Cliente possui uma conta ativa no sistema e há funcionarios disponíveis para executar o serviço desejado
- Passos:
- o cliente acessa o sistema e seleciona a opção “Agendar Serviço”
- Escolhe o tipo de serviço
- Seleciona uma marina e escolhe um horário disponível
- confirma a solicitação e recebe um número de agendamento
- o sistema registra a solicitação e designa um funcionario para executar
- Resultado esperado: O sistema exibe uma confirmação da reserva e o serviço aparece na agenda do funcionário
### Diagrama de Classe
> A partir de toda a discussão criada em cima do contexto do negócio, com muita definição dos processos é possível desenhar/diagramar um modelo que poderá representar não só as entidades principais, mas também como elas se associam:
>

- west_star_marinas.png (220.66 KiB) Exibido 14844 vezes
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”
Steve Jobs