Grupo CPDev
O PDS segue uma abordagem mista entre modelo cascata e modelo interativo-incremental adaptada do Scrum. Cada interaĆ§Ć£o durava uma semana e tinha encontros semanais. A definiĆ§Ć£o de pronto de cada interaĆ§Ć£o era estabelecida com objetivo de controlar a qualidade do desenvolvimento.
Como padrĆ£o de projeto, foi utilizado o MVC (Model-View-Controller).
A aplicaĆ§Ć£o foi construĆda com base nos princĆpios SOLID.
No contexto do projeto interdisciplinar o estudo de caso tem como objetivo desenvolver e implantar o SOCIELOO, um site centralizador de ONGs, instituiƧƵes e projetos sociais da cidade de SĆ£o Paulo, com o propĆ³sito de divulgĆ”-las a possĆveis doadores e voluntĆ”rios e criar, assim, um ELO entre ONGs e a sociedade. O diferencial do site Ć© a maior flexibilidade do usuĆ”rio para a escolha de Projetos sociais com a localizaĆ§Ć£o e segmento de sua preferĆŖncia, podendo favoritar, analisar e avaliar cada projeto.
O site foi concebido com a proposta de atender aos Objetivos de Desenvolvimento SustentƔvel (ODS), da ONU.
Identificador | DescriĆ§Ć£o | Prioridade |
---|---|---|
REQ01 ā Cadastrar ONGs/InstituiƧƵes/Projetos Sociais | Como ā ONG/InstituiĆ§Ć£o/Projeto Social; Eu quero ā Cadastrar no site a aĆ§Ć£o social no site; De maneira que ā Seja possĆvel criar um perfil prĆ³prio para o projeto (PĆ”gina de ONG). |
Alta |
REQ02 ā Consultar ONGs/InstituiƧƵes/Projetos Sociais | Como ā UsuĆ”rio; Eu quero ā Consultar uma ONGĀ“s/InstituiƧƵes/Projetos Sociais; De maneira que ā Seja possĆvel obter informaƧƵes sobre a ONGĀ“s/InstituiƧƵes/Projetos Sociais como descriĆ§Ć£o textual, sua histĆ³ria, imagens, informaƧƵes de contato e de doaĆ§Ć£o e mapa de localizaĆ§Ć£o. |
Alta |
REQ03 ā Atualizar ONGs/InstituiƧƵes/Projetos Sociais | Como ā ONGĀ“s/InstituiƧƵes/Projetos Sociais; Eu quero ā Alterar os dados da ONG/InstituiĆ§Ć£o/Projeto Social; De maneira que ā Seja possĆvel atualizar informaƧƵes de ONG/InstituiĆ§Ć£o/Projeto Social, nos casos de mudanƧas de endereƧo, informaƧƵes de contato, imagens e localizaĆ§Ć£o. |
MĆ©dia |
REQ04 ā Excluir ONGs/InstituiƧƵes/Projetos Sociais | Como ā ONG/InstituiĆ§Ć£o/Projeto Social OU Moderador/Administrador; Eu quero (se ONG/InstituiĆ§Ć£o/Projeto Social) ā Excluir meu cadastro e minha PĆ”gina de ONG do site; De maneira que ā Meus dados nĆ£o sejam mais divulgados pelo site. Eu quero (se Moderador/Administrador) ā Excluir o cadastro de uma ONG e sua PĆ”gina de ONG do site; De maneira que ā As informaƧƵes publicadas por aquele projeto nĆ£o estivessem mais disponĆveis no site. |
MĆ©dia |
REQ05 ā Cadastrar UsuĆ”rio | Como ā UsuĆ”rio; Eu quero ā Fazer um cadastro de usuĆ”rio no site; De maneira que ā Seja possĆvel criar um perfil prĆ³prio para favoritar ONGās por segmento e regiĆ£o, avaliar ONGās e preencher formulĆ”rios de ONGās. |
Alta |
REQ06 ā Consultar UsuĆ”rio | Como ā ONG/InstituiĆ§Ć£o/Projeto Social OU Moderador/Administrador; Eu quero ā Consultar o perfil de um usuĆ”rio; De maneira que ā Seja possĆvel obter informaƧƵes sobre o usuĆ”rio e bloquear ou excluir o seu perfil, se necessĆ”rio. |
Baixa |
REQ07 ā Atualizar UsuĆ”rio | Como ā UsuĆ”rio; Eu quero ā Alterar seus dados de UsuĆ”rio; De maneira que ā Seja possĆvel atualizar informaƧƵes de usuĆ”rio. |
MĆ©dia |
REQ08 ā Excluir UsuĆ”rio | Como ā UsuĆ”rio OU Moderador/Administrador; Eu quero (se UsuĆ”rio) ā Excluir meu cadastro e meu perfil de usuĆ”rio; De maneira que ā Meus dados nĆ£o sejam mais divulgados pelo site. Eu quero (se Moderador/Administrador) ā Excluir o cadastro de um usuĆ”rio do site; De maneira que ā As informaƧƵes daquele usuĆ”rio nĆ£o estiverem mais disponĆveis no site. |
MĆ©dia |
REQ09 ā Login de ONGs e usuĆ”rios | Como ā UsuĆ”rio; Eu quero ā Fazer doaƧƵes, pesquisar aƧƵes sociais, avaliar e comentar; De maneira que ā Possa consultar e atualizar o perfil de usuĆ”rio. |
Alta |
REQ10 ā Fazer AvaliƧƵes | Como ā UsuĆ”rio; Eu quero ā Escrever comentĆ”rios; De maneira que ā Seja possĆvel criar comentĆ”rios em perfis de ONGs. |
MĆ©dia |
REQ11 ā Excluir AvaliaƧƵes | Como ā Moderador; Eu quero ā Excluir comentĆ”rios; De maneira que ā Possa retirar comentĆ”rios ofensivos e ou de conteĆŗdo imprĆ³prio. |
MĆ©dia |
Identificador | CenƔrio de uso |
---|---|
REQ01CT01 | Dado que ā A ONG/InstituiĆ§Ć£o/Projeto social nĆ£o estĆ” cadastrada; Quando ā O usuĆ”rio solicitar cadastro de aĆ§Ć£o social; EntĆ£o ā O sistema envia os dados cadastrais para a aprovaĆ§Ć£o do moderador. Se as informaƧƵes estiverem completas e os dados checarem, Ć© enviada uma mensagem para a ONG indicando que o cadastro foi concluĆdo com sucesso e a ONG recebe uma PĆ”gina de ONG publicada no site. |
REQ01CT02 | Dado que ā A ONG/InstituiĆ§Ć£o/Projeto social nĆ£o estĆ” cadastrada; Quando ā O usuĆ”rio solicitar cadastro de aĆ§Ć£o social; EntĆ£o ā O sistema envia os dados de cadastro para a aprovaĆ§Ć£o do moderador. Se houver informaƧƵes faltando e/ou incongruentes, o moderador veta o cadastro e a publicaĆ§Ć£o da PĆ”gina de ONG. Ć enviada uma mensagem, para a ONG, informando quais dados faltam e/ou apresentam incongruĆŖncias e solicitando sua correĆ§Ć£o, para posterior avaliaĆ§Ć£o. |
REQ02CT01 | Dado que ā A ONG/InstituiĆ§Ć£o/Projeto Social CNPJ estĆ” cadastrado; Quando - o usuĆ”rio solicitar uma consulta pelo CNPJ; EntĆ£o ā o sistema apresenta os detalhes da ONGĀ“s/InstituiƧƵes/Projetos Sociais cadastrado |
REQ03CT01 | Dado que ā A ONG/InstituiĆ§Ć£o/Projeto Social; Quando ā Quer alterar seus dados de ONG/InstituiĆ§Ć£o/Projeto Social; EntĆ£o ā O sistema envia uma mensagem para a ONG/InstituiĆ§Ć£o/Projeto Social comunicando que os dados foram atualizados |
REQ03CT02 | Dado que ā A ONG/InstituiĆ§Ć£o/Projeto Social; Quando ā Quer alterar seus dados de ONG/InstituiĆ§Ć£o/Projeto Social; EntĆ£o ā O sistema envia uma mensagem para a ONG/InstituiĆ§Ć£o/Projeto Social comunicando que houve uma falha na tentativa de atualizar os dados cadastrais |
REQ04CT01 | Dado que ā A ONG foi excluĆda do site; Quando (ONG/InstituiĆ§Ć£o/Projeto Social) ā tiver solicitado a remoĆ§Ć£o de cadastro; EntĆ£o ā A ONG Ć© informada, via mensagem pop-up, de que seu cadastro foi excluĆdo com sucesso; Quando (Moderador/Administrador) ā tiver optado por remover o cadastro de uma ONG; EntĆ£o ā A ONG recebe uma notificaĆ§Ć£o, via e-mail, de que seu cadastro foi removido do site, informando o devido motivo da exclusĆ£o |
REQ05CT01 | Dado que ā O usuĆ”rio nĆ£o estĆ” cadastrado; Quando ā O usuĆ”rio solicitar o cadastro de doador; EntĆ£o ā O sistema envia uma mensagem de cadastro concluĆdo com sucesso |
REQ05CT02 | Dado que ā O usuĆ”rio nĆ£o estĆ” cadastrado; Quando ā O usuĆ”rio cadastrar o e-mail com o cĆ³digo de validaĆ§Ć£o errado; EntĆ£o - O sistema nĆ£o validarĆ” o cadastro e mostrarĆ” uma mensagem de erro |
REQ06CT01 | Dado que ā O usuĆ”rio de nome estĆ” cadastrado; Quando - o usuĆ”rio solicitar uma consulta pelo NOME; EntĆ£o ā o sistema apresenta os detalhes do usuĆ”rio cadastrado |
REQ07CT01 | Dado que ā O usuĆ”rio; Quando ā Quer alterar seus dados de UsuĆ”rio; EntĆ£o ā O sistema envia uma mensagem para o usuĆ”rio comunicando que os dados foram atualizados. |
REQ07CT02 | Dado que ā O usuĆ”rio; Quando ā Quer alterar seus dados de Usuario; EntĆ£o ā O sistema envia uma mensagem para o usuĆ”rio comunicando que houve uma falha na tentativa de atualizar os dados cadastrais |
REQ08CT01 | Dado que ā O usuĆ”rio foi excluĆdo do site; Quando (ONG/InstituiĆ§Ć£o/Projeto Social) ā tiver solicitado a remoĆ§Ć£o de cadastro; EntĆ£o ā O usuĆ”rio recebe uma notificaĆ§Ć£o, via e-mail, de que seu cadastro foi removido do site. |
REQ13CT01 | Dado que ā o usuĆ”rio estĆ” cadastrado; Quando - Inserir a opĆ§Ć£o de āEsqueci a senhaā; EntĆ£o- Sistema envia um link para redefiniĆ§Ć£o de senha no e-mail cadastrado |
REQ14CT01 | Dado que ā o usuĆ”rio nĆ£o esteja logado; Quando ā For escrever um comentĆ”rio; EntĆ£o - O sistema irĆ” pedir para que faƧa o login ou cadastre uma conta para comentar. |
ID | MĆ³dulo | Como... | Eu quero... | Para que... | Prioridade | Sprint | Status |
---|---|---|---|---|---|---|---|
1 | Cadastro | ONG | Poder cadastrar minha ONG no site, atravĆ©s de informaƧƵes como: CNAE, nome, e-mail e senha | Eu possa ter minha PĆ”gina de ONG no site, descrever minha ONG e mostrar para as pessoas como ajudar minha causa. | Alta | 1 | ConcluĆdo |
2 | Cadastro | UuĆ”rio | Fazer um cadastro com meu nome, e-mail e senha | Eu possa acessar as pĆ”ginas de Ongs para saber mais sobre suas causas, escolher as que mais me interessam e ver como posso ajudar. | Alta | 4 | ConcluĆdo |
3 | Cadastro | Administrador | Fazer meu cadastro em uma pĆ”gina a parte do site, especĆfica para funcionĆ”rio, com o meu nĆŗmero de registro, nome, e-mail e senha | Eu possa ter acesso aos dados e cĆ³digo do site, para que possa verificar informaƧƵes e excluir contas e comentĆ”rios. | Alta | 4 | ConcluĆdo |
4 | ValidaĆ§Ć£o | Sistema | Validar ONG na base de dados do siteāÆ | As informaƧƵes das ONGs sejam conferidas como autĆŖnticas e a instituiĆ§Ć£o seja liberada para criar uma PĆ”gina de ONG e compartilhar informaƧƵes de seus trabalhos.āÆ | Alta | 1 | ConcluĆdo |
5 | Login | ONG/UsuĆ”rio | Fazer LogināÆatravĆ©s do e-mail e senha | Eu tenha acesso a minha conta cadastrada. | Alta | 2 | ConcluĆdo |
6 | Login | Administrador | Fazer Login em uma pĆ”gina a parte do site atravĆ©s do meu nĆŗmero de registro e senha. | Eu tenha acesso a minha conta cadastrada de funcionĆ”rio | Alta | 4 | ConcluĆdo |
7 | Login | ONG/UsuƔrio/ Administrador |
RecuperaĆ§Ć£o de senha | Caso tenha esquecido minha senha, eu possa ter acesso ao link de redefiniĆ§Ć£o de senha enviado para meu e-mail cadastrado e assim conseguir fazer o login. | Alta | 5 | A fazer |
8 | CriaĆ§Ć£o | ONG | Criar uma PĆ”gina de ONG personalizada apenas para minha ONG | Se disponibilizar informaƧƵes da minha instituiĆ§Ć£o aos usuĆ”rios (descriĆ§Ć£o, endereƧo, contato, Ćcone, avaliaƧƵes de usuĆ”rios conta corrente, agĆŖncia, pix) e permitir que se promovam as atividades relevantes ao meu pĆŗblico. | Alta | 2 | ConcluĆdo |
9 | CriaĆ§Ć£o | UsuĆ”rio | Fazer comentĆ”rios nas PĆ”ginas de ONG | Possa falar sobre os projetos sociaisāÆe minha experiĆŖncia com aquelas instituiƧƵes. | MĆ©dia | 5 | A fazer |
10 | AlteraĆ§Ć£o | ONG | Alterar dados de cadastro, como o e-mail e senha | Se necessĆ”rio, minha instituiĆ§Ć£o possa atualizar seus dados, como forma de seguranƧa. | Alta | 1 | ConcluĆdo |
11 | AlteraĆ§Ć£o | ONG | Alterar as informaƧƵes (descriĆ§Ć£o, endereƧo, contato, Ćcone) da minha PĆ”gina de ONGāÆ | A PĆ”gina de ONG permaneƧa sempre com informaƧƵes atualizadas para poder receber doaƧƵes. | Alta | 2 | ConcluĆdo |
12 | AlteraĆ§Ć£o | UsuĆ”rio | Alterar dados cadastraisāÆcomo e-mail e senha | Se necessĆ”rio, eu possa atualizar meus dados, como forma de seguranƧa. | Alta | 4 | ConcluĆdo |
13 | AlteraĆ§Ć£o | UsuĆ”rio | Alterar comentĆ”rios, onde poderei alterĆ”-lo em atĆ© 24hr depois que o fiz | Possa corrigir erros ortogrĆ”ficos, de informaĆ§Ć£o ou digitaĆ§Ć£o acidental. | Baixa | 5 | A fazer |
14 | ExclusĆ£o | ONG | Deletar o cadastro e as informaƧƵesāÆda minha ONG do site | NĆ£o se divulgue mais informaƧƵes da ONG por falta de interesse, insatisfaĆ§Ć£o com o serviƧoāÆou porque ela nĆ£o existe mais. | Alta | 1 | ConcluĆdo |
15 | ExclusĆ£o | UsuĆ”rio | Deletar meu cadastroāÆatravĆ©s da minha pĆ”gina de configuraƧƵes no site | Por motivos pessoais nĆ£o quero mais manter o meu cadastro e receber informaƧƵes das Ongs do site. | Alta | 4 | ConcluĆdo |
16 | ExclusĆ£o | Administrador | Excluir ONGāÆatravĆ©s de minhas permissƵes como funcionĆ”rio e acesso Ć s informaƧƵes de ONGs cadastradas | As instituiƧƵes que estĆ£o prestando informaƧƵes falsas, descobertas por denĆŗncias ou supervisĆ£o dos funcionĆ”rios, nĆ£o sejam mais divulgadas no ambiente do site e comprometam a opiniĆ£o pĆŗblica sobre demais ONGs ou o prĆ³prio site. | Alta | 4 | ConcluĆdo |
17 | ExclusĆ£o | Administrador | Excluir usuĆ”rio atravĆ©s de minhas permissƵes como funcionĆ”rio e acesso Ć s informaƧƵes de usuĆ”rios cadastrados | Os usuĆ”rios mal-intencionados nĆ£o possam afetar a imagem de trabalhos divulgados ou do prĆ³prio site. | Alta | 4 | ConcluĆdo |
18 | ExclusĆ£o | Administrador | Excluir comentĆ”rios de usuĆ”rios nas PĆ”ginas de ONG | Se evite ofensas e comentĆ”rios mal-intencionados que afetem a honra de terceiros (ONGs ou outros usuĆ”rios). | MĆ©dia | 5 | A fazer |
19 | ONG | ONG | Denunciar usuĆ”rios que fazem comentĆ”rios difamando ou insultando a ONG e/ou funcionĆ”rios | As instituiƧƵes nĆ£o tenham suas reputaƧƵes indevidamente manchadas por usuĆ”rios mal-intencionados. | Baixa | 5 | A fazer |
20 | UsuĆ”rio | UsuĆ”rio | Filtrar buscas de acordo com meus interesses (por nome, regiĆ£o, segmento ou localizaĆ§Ć£o atual) | Encontre ONGs que se adequem ao perfil de instituiĆ§Ć£o eu quero ajudar. | Alta | 4 | ConcluĆdo |
21 | UsuĆ”rio | UsuĆ”rio | Denunciar ONG atravĆ©s da opĆ§Ć£o de denĆŗncias, em que coloco os motivos por fazĆŖ-lo | O administrador verifique aquela pĆ”gina denunciada e exclua as instituiƧƵes fraudulentas. | Alta | 5 | Em andamento |
22 | UsuĆ”rio | UsuĆ”rio | Avaliar ONGs em suas respectivas PĆ”ginas de ONG | Fazer avaliaƧƵes com base em minhas experiencias e minha satisfaĆ§Ć£o com aquela causa e instituiĆ§Ć£o. | MĆ©dia | 5 | Em andamento |
23 | UsuĆ”rio | UsuĆ”rio | Compartilhar ONGāÆatravĆ©s de um botĆ£o em que envio o link daquela PĆ”gina de ONG do site para quem eu desejar | Consiga compartilhar as PĆ”ginas de ONG e divulgar as instituiƧƵes e seus trabalhos para as pessoas. | Baixa | 4 | ConcluĆdo |
24 | UsuĆ”rio | UsuĆ”rio | Ter acesso ao FAQ, onde terei respostas de perguntas frequentes sobre o site | Tenha informaƧƵes sobre o site e consiga mexer nele com maior facilidade. | Baixa | 4 | ConcluĆdo |
25 | Administrador | Administrador | Gerenciar banco de dados | Otimize a acessibilidade dos dados relevantes do sistema, a manutenĆ§Ć£o de dados ou alteraƧƵes no banco. | Alta | 5 | ConcluĆdo |
26 | Acessibilidade | ONG/UsuƔrio/ Administrador |
Ter acesso ao menu de acessibilidade do site | Possa mudar o tamanho das letras e o contraste das cores conforme a minha necessidade. | MĆ©dia | 2 | ConcluĆdo |
27 | Acessibilidade | ONG/UsuƔrio/ Administrador |
Atalhos do teclado | Possa ter acesso mais rĆ”pido e prĆ”tico as funƧƵes do menu de acessibilidade e ir para a home e rodapĆ© do site. | MĆ©dia | 2 | ConcluĆdo |
28 | Acessibilidade | ONG/UsuƔrio/ Administrador |
VLibras | Em caso de ser deficiente auditivo, eu tambĆ©m possa acessar e entender os recursos do site, atravĆ©s do intĆ©rprete de libras. | MĆ©dia | 2 | ConcluĆdo |
29 | Responsividade | ONG/UsuƔrio/ Administrador |
Um site responsivo | Minha navegaĆ§Ć£o seja fluĆda e o site funcione adequadamente em qualquer dispositivo que eu esteja utilizando para acessĆ”-lo. | MĆ©dia | 5 | Em andamento |
30 | Perfil | ONG | Desejo ter um perfil | Possa ter acesso as opƧƵes funcionalidades disponĆveis como: configuraƧƵes de perfil (alterar dados do perfil, Ćcone de perfil), analisar as atividades relacionado aos comentĆ”rios, avaliaƧƵes. | MĆ©dia | 3 | ConcluĆdo |
31 | Perfil | UsuĆ”rio | Desejo ter um perfil | Nossa ter acesso as opƧƵes funcionalidades disponĆveis como: configuraƧƵes de perfil (alterar dados do perfil, Ćcone de perfil), histĆ³rico de atividades (comentĆ”rios, avaliaƧƵes e denĆŗncias), alterar informaƧƵes de ONGās favoritadas e ter autonomia na permissĆ£o da minha localizaĆ§Ć£o atual. | MĆ©dia | 4 | ConcluĆdo |
32 | Perfil | Administrador | Desejo ter um perfil | Possa ter acesso as opƧƵes funcionalidades disponĆveis como: gerenciar perfil (alterar, deletar), gerenciar administradores (cadastrar, alterar e deletar), relatĆ³rio de comentĆ”rios e ONGās denunciadas, relatĆ³rio de ONGās cadastradas e deletadas (com descriĆ§Ć£o do motivo). | MĆ©dia | 5 | ConcluĆdo |
33 | RelatĆ³rio | Sistema | Gerar relatĆ³rios | Exiba resultados do site para os administradores acompanharem as mĆ©tricas de total de ONGs cadastradas, a quantidade de ONGs cadastradas por mĆŖs, segmento e regiĆ£o, o total de usuĆ”rios cadastrados e a quantidade de usuĆ”rios cadastrados por mĆŖs. | MĆ©dia | 5 | ConcluĆdo |
34 | Readme | Administrador | AtualizaĆ§Ć£o de readme do GitHub | Atualizar informaƧƵes do README no GitHub, para que as pessoas tenham acesso atualizadas do projeto Socieloo. | MĆ©dia | 5 | ConcluĆdo |
35 | Testes | Desenvolvedor | Efetuar testes de cĆ³digos e aplicaĆ§Ć£o | Para verificar se hĆ” alguma deformidade e necessidade de alteraĆ§Ć£o. | Alta | 5 | ConcluĆdo |
36 | Termos de uso | UsuĆ”rio/ONG | Termo de utilizaĆ§Ć£o do site | Para que eu tenha informaƧƵes sobre os termos de uso de acesso. | MĆ©dia | 5 | Em andamento |
Cada requisito tem um identificador Ćŗnico de maneira que seja possĆvel rastrear a necessidade do cliente com a implementaĆ§Ć£o do software. O desenvolvimento se deu atravĆ©s de 5 Sprints. Abaixo, ficam listados os objetivos de cada Sprint:
- SPRINT 1: Criar funcionalidades relacionadas ao cadastro da ONG
- SPRINT 2: Finalizar as funcionalidades relacionadas Ć s ONGs e ajustar recursos de acessibilidade ao site
- SPRINT 3: Finalizar as funcionalidades relacionadas Ć s ONGs e dar inĆcio ao desenvolvimento do CRUD(Back-end) do usuĆ”rio.
- SPRINT 4: Trabalhar com as funcionalidades do UsuƔrio e comeƧar a desenvolver as funcionalidades de Administrador
- SPRINT 5: Desenvolver as funcionalidades do sistema relacionado ao administrador
O Product Backlog serĆ” considerado concluido quando:
- Os testes (ID 35) estiverem dando resultados satisfatĆ³rios e sem quaisquer erros ou problemas na execuĆ§Ć£o da aplicaĆ§Ć£o.
FRONT-END
- React
BACK-END
- Java
FRAMEWORKS
- Springboot
BANCO DE DADOS
- H2
APIs
- React Google Chart
- ViaCEP
- OpenStreetMap
PLUGINS
- VLibras
- Google Maps
ConstruĆmos uma plataforma que cadastra ONGs. Cada ONG cadastrada recebe sua PĆ”gina de ONG, em que suas informaƧƵes sĆ£o divulgadas para o pĆŗblico do site. UsuĆ”rios tambĆ©m podem se cadastrar para interagir com as ONGs, incluindo comentĆ”rios nas PĆ”ginas de ONG e favoritando as ONGs de sua preferĆŖncia. O administrador controla os fluxos do site e tem acesso a um painel com ONGs e usuĆ”rios cadastrados, os comentĆ”rios postados e a quantidade de vezes que uma ONG foi favoritada.
Portanto, implementamos um projeto que, atualmente, possui 5 CRUDs (ONG, UsuƔrio, Admin, ComentƔrios e Favoritos) e 34 classes.
O modelo de dominio (Larman, 2006 - classes conceituais ou classes de negĆ³cio) foi definido considerando as seguintes classes:
A visĆ£o lĆ³gica da arquitetura para API de Cliente Ć© apresentada na figura abaixo. A visĆ£ lĆ³gica descreve como o cĆ³digo estĆ” organizado, as classes os pacotes e os relacionamentos entre eles.
A entidade Cliente foi identificada como um serviƧo (ERL, 2007 - serviƧo do tipo entidade) o contrado das operaƧƵes de sistema (LARMAN, 2006, pag.140) foram definidas no diagrama abaixo.
classDiagram
class ClienteServicoI
<<interface>> ClienteServicoI
ClienteServicoI : +List<Cliente> consultaTodos()
ClienteServicoI : +Optional<<Cliente>> consultaPorCpf(String cpf)
ClienteServicoI : +Optional<<Cliente>> consultaPorId(Long id)
ClienteServicoI : +Optional<<Cliente>> save(Cliente c)
ClienteServicoI : +void delete (Long id)
ClienteServicoI : +Optional<<Cliente>> altera (Cliente c)
O diagrama de sequĆŖncia descreve como os varios componentes arquiteturais colaboram para manipular uma operaĆ§Ć£o de sistema (exemplo para operaĆ§Ć£o consultaTodos())
sequenceDiagram
Usuario ->> APIClienteController: GET /api/v1/clientes
APIClienteController ->> ClienteServiceI: consultaTodos ( )
ClienteServiceI ->> ClienteRepository: findAll ( )
ClienteRepository -->> ClienteServiceI: List[]
ClienteServiceI-->> APIClienteController: List[]
APIClienteController -->> Usuario: JSon[]
Referencias
- [1] KRUCHTEN, Philippe. Reference: Title: Architectural blueprintsāthe ā4+ 1ā view model of software architecture. IEEE software, v. 12, n. 6, 1995.
- [2] RICHARDSON, Chris. Microservices patterns: with examples in Java. Simon and Schuster, 2018.
- [3] ERL, Thomas. SOA principles of service design (the Prentice Hall service-oriented computing series from Thomas Erl). Prentice Hall PTR, 2007.
- [4] LARMAN, Craig. Utilizando UML e padrƵes. 2aed., Porto Alegre: Bookman Editora, 2006 (pag. 147)