• Nenhum resultado encontrado

Figura 23: Aplicac¸˜ao geradora - android

Ap ´os os passos enunciados anteriormente, surgir´a a mensagem que est´a representada na figura24:

8.4. Aplicac¸ ˜oes geradora 53 O resultado final, ser´a uma aplicac¸˜aoCRUDandroid funcional e que se poder´a encontrar na diretoria hom ´onima ao nome escolhido no quarto passo referido anteriormente.

8.4.2 Gerac¸˜ao de aplicac¸˜oes CRUD - web

No que toca `as aplicac¸ ˜oes web, os dois primeiros passos s˜ao an´alogos aos previamente referidos em 8.4.1. No entanto, e como se pode verificar na figura25, ter-se-´a tamb´em de preencher o nome que se quer dar `a base de dados, bem como o usernome e password que se utiliza para a conex˜ao ao servidor MySQL. Relativamente ao nome da base dados, o mesmo tem que ser impreterivelmente igual ao nome dado no schema criado na secc¸˜ao 7.1.2, para que a gerac¸˜ao de aplicac¸ ˜oes web seja bem sucedida.

Figura 25: Aplicac¸˜ao geradora - web

Ap ´os os passos enunciados anteriormente, surgir´a a mensagem que est´a representada na figura26:

8.4. Aplicac¸ ˜oes geradora 54

Figura 26: Confirmac¸˜ao da aplicac¸˜ao gerada - web

O resultado final ser´a uma aplicac¸˜aoCRUDweb funcional e que se poder´a encontrar na diretoria que se escolheu como destino do projeto.

9

C O N C L U S ˜A O E T R A B A L H O F U T U R O

9.1 c o n c l u s˜ao

O intuito desta dissertac¸˜ao era facultar uma maneira r´apida e eficaz de criac¸˜ao de aplicac¸ ˜oes, envolvendo o m´ınimo de escrita de c ´odigo poss´ıvel por parte dos programadores, aproxi- mando assim duas fases importantes do desenvolvimento de software, a fase de design e a fase de implementac¸˜ao.

Foi, ent˜ao, criada uma aplicac¸˜ao capaz de interpretar e processar os diagramas de classe exportados em XML, tendo esta a capacidade de analisar e construir as relac¸ ˜oes entre mo- delos, assim como os atributos dos mesmos. A interpretac¸˜ao dos diagramas ´e feita atrav´es da utilizac¸˜ao de uma biblioteca de Java que facilitou bastante a interpretac¸˜ao do XML. No entanto, h´a outros formatos que poderiam ter sido considerados para o processamento dos diagramas como ´e o caso do XMI, que apesar de ser mais utilizado e aconselhado no que toca a gerac¸˜ao de c ´odigo a partir de UML, acarreta a desvantagem de ter muito mais conte ´udo a ser analisado, e que, muito do mesmo, n˜ao ´e necess´ario para que o obje- tivo do presente trabalho seja comprometido. O facto de, tamb´em, n˜ao se ter utilizado as transformac¸ ˜oes enunciadas em3.2, prende-se com quest ˜oes de simplicidade, visto que este projeto n˜ao ´e de grandes dimens ˜oes e n˜ao exige um grande processamento de informac¸˜ao e dados, optou-se pela soluc¸˜ao previamente referida.

Para as aplicac¸ ˜oes android, foi tomada a decis˜ao de se adaptar e integrar um trabalho ela- borado tamb´em no ˆambito de uma dissertac¸˜ao de mestradoDesenvolvimento de aplicac¸ ˜oes android com Scala e SBT. Esta escolha permitiu que muito do trabalho que era preciso ser realizado ficasse adiantado, como por exemplo, a construc¸˜ao de tabelas para cada elemento constituinte do diagrama de classes, bem como as interfaces para que o utilizador con- seguisse interagir de forma simples com a aplicac¸˜ao. Posto isto, ficou a cargo da presente dissertac¸˜ao a implementac¸˜ao dos m´etodos necess´arios para que as operac¸ ˜oesCRUDfossem concretizadas. Por´em, a integrac¸˜ao desta ferramenta fez com que a flexibilidade e a capa- cidade de decis˜ao em determinados aspetos fosse bastante reduzida, como s˜ao exemplos a selec¸˜ao do motor de queries `a base de dados ou a escolha da linguagem de programac¸˜ao para as aplicac¸ ˜oes android.

9.2. Trabalho futuro 56 Todavia, no que toca `a gerac¸˜ao de aplicac¸ ˜oes web, nenhum trabalho ou aplicac¸˜ao existente foi integrado, tendo estas sido feitas de ra´ız. Com isto, p ˆode-se utilizar as tecnologias e arquiteturas que foram consideradas as mais apropriadas para que o principal objetivo fosse atingindo, obtendo mais controlo sobre como as coisas foram implementadas e estruturadas. Foram ent˜ao criadas aplicac¸ ˜oes que tˆem um servidor que implementa umaAPI RESTpara que este comunique com as aplicac¸ ˜oes cliente. Esta soluc¸˜ao acarreta algumas consequˆencias pois este tipo de arquitetura e escolha de linguagens pode n˜ao ir de encontro `a soluc¸˜ao pretendida pelo utilizador.

A aplicac¸˜ao geradora de aplicac¸ ˜oesCRUDfoi desenvolvida apenas num contexto de desk- top, o que facilitou bastante a celeridade com que a mesma foi desenvolvida, mas que por si s ´o, ´e um entrave no que toca `a disponibilizac¸˜ao da mesma `a comunidade. Se fosse elabo- rada e alojada como uma ferramenta online, esta desvantagem n˜ao se verificaria, podendo tamb´em, facilitar o melhoramento do design gr´afico da aplicac¸˜ao.

No final, pode-se concluir que a meta essencial deste trabalho, no c ˆomputo geral, foi atingida com sucesso, tendo sido desenvolvida uma aplicac¸˜ao com uma interface intuitiva e de f´acil utilizac¸˜ao que permite ao utilizador, ap ´os modelar o seu problema, exportar os diagramas de classe em formato XML e obter aplicac¸ ˜oes quer web, quer android, que fornecem operac¸ ˜oesCRUDpara cada entidade constituinte do referido diagrama.

9.2 t r a b a l h o f u t u r o

Uma vez que esta ´e uma ´area onde h´a ainda muito por explorar, h´a in ´umeras vertentes que poder˜ao ser trabalhadas.

Desde logo, no trabalho realizado na presente dissertac¸˜ao, o passo mais l ´ogico a ser tomado, de seguida, seria implementar as operac¸ ˜oes CRUD para modelos que possuam relac¸ ˜oes N para N, uma vez que, no caso de duas entidades apresentarem a relac¸˜ao referida, os requisitos inerentes `a mesma s ´o est˜ao garantidos, ´unica e exclusivamente ao n´ıvel da base de dados, n˜ao acontecendo o mesmo para a camada l ´ogica.

Tendo sido apenas explorados diagramas de classe neste projeto, outra possibilidade seria a integrac¸˜ao de outro tipo de diagramas que o UMLfaculta, sendo exemplo os diagramas de sequˆencia, podendo-se gerar m´etodos especificados atrav´es dos mesmos, ou diagramas de estado, que ajudam a definir concretamente a sequˆencia de execuc¸˜ao das aplicac¸ ˜oes geradas.

Visto que foi criado um servidorRESTpara as aplicac¸ ˜oes web, e como nas aplicac¸ ˜oes an- droid os dados das aplicac¸ ˜oes geradas s˜ao guardados numa base de dados local, a integrac¸˜ao das aplicac¸ ˜oes android com o servidor previamente falado ´e vista como um poss´ıvel acr´escimo ao trabalho realizado.

9.2. Trabalho futuro 57

Documentos relacionados