Softwares e sistemas
O projeto da arquitetura de um software pode ser elaborado usando camadas e partições. A Figura 1, ilustrada a seguir, utiliza a notação de pacotes da UML para representar o particionamento de um software em camadas e partições. Os pacotes Domínio e Serviços representam as camadas, ou seja, cada camada é um subsistema que adiciona valor a subsistemas de menor nível de abstração. Já cada pacote interno em uma camada é uma partição, ou seja, é um subsistema paralelo a outros subsistemas.
Figura 1 – Diagrama de pacotes que representa o particionamento de um software em camadas.
Basicamente, você, enquanto engenheiro(a) de software, vai se deparar com diferentes arquiteturas de software, como: arquitetura centralizada, sistema cliente/servidor em 2 ou 3 camadas, sistema baseado na web, arquitetura distribuída e arquitetura orientada a serviço (SOA).
Considere um restaurante que está em expansão e foi listado os seguintes requisitos relacionados ao sistema de pagamento:
1) O operador de caixa do restaurante será responsável por atender ao público com pagamentos, cadastrar a conta e registrar o pagamento da mesma;
2) Caso o cliente opte por pagar utilizando cheque, o sistema do restaurante terá que se comunicar com o sistema de consulta de cheques do Serviço de Proteção ao Lojista via web service para obter informações sobre o cliente;
3) Caso o cliente opte por pagar por intermédio de cartão de crédito, o sistema do restaurante deverá se comunicar via web service com o sistema da administradora do cartão para obter autorização;
4) O gerente será o único responsável por permitir o estorno do valor pago. Caso o pagamento tenha sido paga com cartão, será necessário se comunicar com o sistema da administradora;
5) O gerente também poderá registrar o pagamento.
A seguir, a Figura 2, ilustra o modelo de contexto do sistema de pagamento do restaurante com base no modelo de contexto de Sommerville (2011).
Figura 2 - Modelo de contexto do sistema de pagamento.
Figura 2 - Modelo de contexto do sistema de pagamento.
Desenvolva a partir dessas informações a seguinte atividade:
1. Elabore um texto dissertativo explicando o melhor padrão de arquitetura de software em camadas a ser implementado a partir dos requisitos apresentados.
2. Desenhe, a partir do modelo de contexto, os outros 3 modelos sugeridos por Sommerville (2011) e Perseguine (2016).
a) Modelo de interação (diagrama de casos de uso)
b) Modelo estrutural (diagrama de componentes)
c) Modelo comportamental (diagrama de atividades)
Você conhece alguém que se encaixa bem no projeto? Ganhe comissão indicando freelancers! Por cada inscrição você ganha 5 € diretamente na sua conta e quando o freelancer é contratado pela plataforma você ganha 2% dos ganhos deste freelancer!
Preencha os detalhes do profissional que você gostaria de recomendar:
Quando o freelancer aceitar o convite, ele será automaticamente adicionado à sua rede e você ganhará 2% a mais todos os ganhos deste freelancer através da plataforma. Para mais informações consulte nosso Termos e Condições
Nenhum freelancer interessado ainda
{{item.displayDisciplines}}
Você tem uma conta stand-by e já respondeu a 1 projeto neste período de assinatura.
Atualize sua conta agora com apenas 1 clique e responda a projetos ilimitados.