Escolar Documentos
Profissional Documentos
Cultura Documentos
CrushManager
Proposta de desenvolvimento de aplicação orientada a objeto
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:
3
CrushManager
Henrique Albuquerque | April 25, 2019
- 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