Você está na página 1de 5

25 de abril de 19

CrushManager
Proposta de desenvolvimento de aplicação orientada a objeto

Euller Henrique F. de Albuquerque


Euller Henrique F. de Albuquerque

CrushManager
Proposta de desenvolvimento de aplicação orientada a objeto

Plataforma desenvolvida em Java com o proposito de auxiliar pessoas a gerenciar múltiplas relações
amorosas, oferecendo lhes um ambiente amigável e facilidade na gestão dos contatos.

O Problema
Através do resultado da observação das relações modernas surge a problemática de administrar
diversos relacionamentos sem se perder na quantidade absurda de informações referentes a cada um
deles. É comum ouvir relatos de gafes cometidas em períodos cruciais dos relacionamentos que põe
em risco a manutenção da relação, para tanto é apresentada a plataforma CrushManager, que fará a
ponte entre o usuário e as informações que ele deseja manter.

A Plataforma
Feita sob o paradigma de programação orientada a objeto, a aplicação é construída com base na
linguagem de computação Java, utilizando recursos gráficos da API JavaFx e armazenamento e
manipulação de dados feitos através da plataforma MySQL. Composta primariamente por onze
entidades ou classes, especificadas logo mais neste texto, além de treze telas que gerem e permitem
uma interação mais amigável do usuário com o
sistema. Algumas das interações possíveis são: O
cadastro de novos usuários, a autenticação de
contas existentes (login), a adição de contatos
(chamados na aplicação de Crushs), ver e
manipular os dados referentes a esses contatos, a
possibilidade de criar eventos (chamados na
aplicação de encontros) ver e manipular seus
dados e comparar similaridades entre os contatos.
Dentre as entidades temos oito referentes a
objetos concretos ou características deles, e três
classes referentes a manipulação das cenas,
Logo da Aplicação tratamento de erros e uso das outras entidades.
As entidades são: Perfil – responsável por gerir as informações do usuário autenticado; Encontro –
responsável por administrar os dados referentes aos encontros; Crush – responsável por moldar as
informações referentes aos contatos; DadosPessoais, DadosRelacionais e DadosComportamentais
que dizem respeito a características do Crush; Data e Dado que permitem a inserção de informações
mais genéricas aos dados relacionais do contato. A classe de controle chama-se MainView e é a
principal responsável por administrar o funcionamento do programa, nela encontram-se os métodos
cruciais para execução do software, em breve detalhados, que dão à plataforma a característica de
aplicação do tipo CRUD (acrônimo para Create Read Update Delete, em português Criar Ler Atualizar
1
Euller Henrique F. de Albuquerque

Excluir). A classe Erros é responsável por dá o tratamento correto aos erros e exceções, já a classe
CrushManager é responsável por inicializar a aplicação pois é a única que possui um método Main.
Em anexo a esse documento encontra-se um diagrama de classes onde será possível ver detalhes
sobre todas as entidades, seus atributos e métodos.

Os Principais Métodos
Dentro da entidade MainView encontramos funções de controle de arrays, manipulação e inserção de
dados, controle e exibição das cenas, entres outras ações. Aqui serão especificadas algumas das
funções presentes nesta classe, mas o mapa completo com os atributos e o nome final dos métodos
estará em anexo.

As funções:

1. Crushs
a. Criar
i. Armazenar dados pessoais e relacionais referentes ao contato.
b. Ver
i. Mostrar as informações previamente salvas.
c. Editar
i. Alterar os dados armazenados.
d. Excluir
i. Deletar as informações do contato.
2. Encontros
a. Criar
i. Armazenar dados referentes ao Encontro.
b. Ver
i. Mostrar as informações previamente salvas.
c. Editar
i. Alterar os dados armazenados.
d. Excluir
i. Deletar as informações do Encontro.
3. Perfil
a. Criar
i. Cadastrar dados referentes ao Perfil.
b. Ver
i. Mostrar as informações previamente salvas.
c. Editar
i. Alterar os dados armazenados.
d. Excluir
i. Deletar as informações do usuário.

2
Euller Henrique F. de Albuquerque

As Cenas
Para este sistema foram idealizadas 13 cenas, que permitem ao usuário interagir com a aplicação.

Árvore de Cenas:

1. Cena 1 = Tela Boas Vindas


a. Cena 1.1 = Login
b. Cena 1.2 = Cadastro
2. Cena 2 = Tela Inicial
a. Cena 2.1 = Adicionar Crush
i. Cena 2.1.1 = Adição de Dados Pessoais do Crush
ii. Cena 2.1.2 = Adição de Dados Relacionais
b. Cena 2.2 = Ver Lista de Crushs
i. Cena 2.2.1 = Ver Crush
ii. Cena 2.2.2 = Semelhanças entre Crushs
c. Cena 2.3 = Ver Lista de Encontros
i. Cena 2.3.1 = Ver Encontros
d. Cena 2.4 = Adicionar Encontro
e. Cena 2.5 = Ver Perfil

3
CrushManager
Henrique Albuquerque | April 25, 2019

Perfil Crush DadosPessoais

- dadosPessoais: DadosPessoais
- crushs: [ ] Crush - dadosRelacionais: [ ] DadosRelacionais
- encontros: [ ] Encontro - telefone: Int
- dadosComportamentais: [ ] DadosComportamentais
- nome: String - endereco: String
- nome: String
- idade: Int - dataNascimento: String
- idade: Int
- foto: Image - nomeMae: String
- foto: Image
- nomePai: String
- profissao: String
+ Crush( ): void
- facebook: String
+ getDadosPessoais( ): DadosPessoais
- instagram: String
+ Perfil( ): void + setDadosPessoais(dadosPessoais: DadosPessoais):
- twitter: String
+ getCrushs( ): [ ] Crush void
+ setCrushs(crushs: [ ] Crush): void + getDadosRelacionais( ): [ ] DadosRelacionais
+ getNome( ): String +setDadosRelacioanais(dadosRelacionais: [ ]
+ setNome(nome: String): void DadosRelacionais): void
+ getIdade( ): Int + getDadosComportamentais( ): [ ]
+ setIdade(idade: Int): void DadosComportamentais
+ getFoto( ): Image +setDadosComportamentais(dadosComportamentais: [ ] + DadosPessoais( ): void
+ setFoto(foto: Image): void DadosComportamentais): void + getTelefone( ): Int
+ getNome( ): String + setTelefone(telefone: Int): void
+ setNome(nome: String): void + getEndereco( ): String
+ getIdade( ): Int + setEndereco(endereco: String): void
+ setIdade(idade: Int): void + getDataNascimento( ): String
+ getFoto( ): Image + setDataNascimento(dataNascimento: String): void
+ setFoto(foto: Image): void + getNomeMae( ): String
+ setNomeMae(nomeMae: String): void
+ getNomePai( ): String
Encontro DadosRelacionais + setNomePai(nomePai: String): void
+ getProfissao( ): String
+ setProfissao(escolaridade: String): void
- crush: Crush + getFacebook( ): String
- presentes: [ ] Data
- data: String + setFacebook(facebook: String): void
- datasImportantes: [ ] Data
- lugar: String + getInstagram( ): String
- preferenciaGastro: [ ] Dado
- endereco: String + setInstagram(instagram: String): void
- preferenciaMusica: [ ] Dado
- horarioInicio: String + getTwitter( ): String
- preferenciaIntelecto: [ ] Dado
- horarioTermino: String + setTwitter(twitter: String): void
- preferenciaSexual: [ ] Dado
- valor: Double

+ Encontro( ): void
+ getCrush( ): Crush
+ setCrush(crush: Crush): void + DadosRelacionais( ): void
+ getData( ): String + getPresentes( ): [ ] Data Data
+ setData(data: String): void + setPresentes(presentes: [ ] Data): void
+ getLugar( ): String + getDatasImportantes( ): [ ] Data - data: String
+ setLugar(lugar: String): void + setDatasImportantes(datasImportantes: [ ] Data): void - descricao: String
+ getEndereco( ): String + getPreferenciaGastro( ): [ ] Dado
+ setEndereco(endereco: String): void + setPreferenciaGastro(preferenciaGastro: [ ] Dado): void
+ getHorarioInicio( ): String + getPreferenciaMusica( ): [ ] Dado + Data( ): void
+ setHorarioInicio(horarioInicio: String): void + setPreferenciaMusica(preferenciaMusica: [ ] Dado): void + getData( ): String
+ getPreferenciaIntelecto( ): [ ] Dado + setData(data: String): void
+ getHorarioTermino( ): String
+ setHorarioTermino(horarioTermino: String): void + setPreferenciaIntelecto(preferenciaIntelecto: [ ] Dado): + getDescricao( ): String
+ getValor( ): Double void + setDescricao(descricao: String): void
+ setValor(valor: Double): void + getPreferenciaSexual( ): [ ] Dado
+ setPreferenciaSexual(preferenciaSexual: [ ] Dado): void
Dado

- tipo: String
- descricao: String
DadosComportamentais
+ Dado( ): void
MainView - comportamento: String + getTipo( ): String
- nivelCiume: Int + setTipo(tipo: String): void
- perfis: [ ] Perfil + getDescricao( ): String
- crushs: [ ] Crush + setDescricao(descricao: String): void
- encontros: [ ] Encontros + getComportamento( ): String
+ setComportamento(comportamento: String): void
+ adicionarPerfil( ): void + getNivelCiume( ): String
+ verPerfil( ): void + setNivelCiume(nivelCiume: Int): void
+ editarPerfil( ): void
+ excluirPerfil( ): void
+ adicionarCrush( ): void
+ verCrush( ): void Erros CrushManager
+ editarCrush( ): void
+ excluirCrush( ): void
+ adicionarEncontro( ): void - tipo: String
+ verEncontro( ): void - msg: String
+ editarEncontro( ): void
+ excluirEncontro( ): void
+ start(Stage stage): void
+ voltarInicio( ): void
+ voltarMenu( ): void + main(String [ ] args): void
...
+ login( ): void
+ cadastrar( ): void

Você também pode gostar