- PROXECTO DE DAW ORDINARIO
En liñas xerais, o Módulo de Proxecto pretende complementar o aprendido no conxunto dos módulos do ciclo, poñendo en práctica as competencias adquiridas no contexto dun proxecto de desenvolvemento de software escollido e definido polo alumnado.
En concreto, o que se pretende é contrastar aquelas competencias profesionais relacionadas coas fases de análise, deseño, planificación, xestión e implantación dun proxecto orientado ao desenvolvemento dun produto software. Do mesmo xeito, tamén se pretende facer un achegamento á iniciativa emprendedora, a partires do desenvolvemento dun estudo de necesidades e da elaboración dun modelo de negocio que valore as posibilidades de comercialización do produto.
Inicialmente débese decidir en que vai consistir o proxecto a desenvolver.
A documentación que haberá que entregar elaborarase usando como base os documentos "modelo" que están no repositorio, no directorio "templates" dentro de "plantilla-proxecto". Eses "modelos inclúen todos os apartados dos documentos a cubrir e as fases a seguir para o desenvolvemento do proxecto.
No repositorio, no directorio "doc/material_axuda" hai documentos que poden orientar na realización do proxecto.
Está creado un documento no repositorio como modelo base para cada apartado do proxecto.
A modo de axuda e organización, pódese utilizar o taboleiro do proxecto, indicando o seu estado: en desenvolvemento ou finalizado.
Pódese consultar información máis detallada nos "README.md" do repositorio. Este arquivo hai que cubrilo ao final ou a medida que se vai realizando o proxecto.
Ollo! Non pode coincidir cun proxecto realizado noutro módulo. Consultade co profesorado do proxecto se podedes partir dun prototipo creado nunha materia e mellorar a súa funcionalidade.
Para acadar unha avaliación positiva do proxecto, deben cubrirse os seguintes requisitos:
- Frontend
- Linguaxes: HTML5, CSS3, JavaScript.
- Prototipos con: Figma, Sketch,..
- Responsive design.
- Comunicación asíncrona: AJAX.
- Uso de librerías JavaScript: Axios, D3.js, jQuery, MathJS, AOS..
- Validación de formularios.
- Backend
- Linguaxes (escoller): PHP, NodeJS, Ruby , etc.
- Uso da programación orientada a obxectos. Utilización de bases de datos SQL e/ou NonSQL: MySQL , MariaDB, PostgreSQL, MongoDB, Redis , etc.
- Seguridade: validación de datos, control de inxección SQL e/ou NonSQL, Cross Site Scripting (XSS).
Algúns dos requisitos que se nomean a continuación axudan a conseguir unha mellor cualificación final no proxecto:
- Frontend
- Comunicación asíncrona: WebSockets, WebRTC.
- Uso de framework CSS: Bootstrap, Foundation, Pure, UIkit, etc.
- Uso de framework javascript: ReactJS, VueJS, AngularJS,..
- Uso dun preprocesador CSS: LESS, SASS, Stylus, etc.
- Backend
- Implementación dunha API REST.
- Implementación de OAuth.
- Envío de arquivos ao servidor.
- Integración con bots: Telegram, Facebook Messenger, Google, Discord, Slack, etc.
- Integración con API's externas.
- Integración de servicios de mapas: OpenStreetMaps, Google Maps, etc.
Ten en conta que se elixes empregar tecnoloxías opcionais e baixo a túa responsabilidade, de forma que podes atoparte con dificultades que non poidas solucionar e a que os profesores non poderán axudarte.
Debe proporcionarse algunha forma de probar o software desenvolvido. Para isto existen dúas posibilidades:
- Servidor externo (recomendado): ter a aplicación desenvolvida nun servidor accesible desde internet. Neste caso, unicamente se debe indicar a URL da aplicación na documentación do proxecto.
- Máquina virtual: entregar a máquina virtual con todo o sistema funcionando. Deben adxuntarse unhas instruccións para poder realizar as probas sobre a máquina virtual.
- Contenedor docker. Neste caso debes indicarllo antes os profesores para que teñan un equipo con docker funcionando. A hora de presentar o proxecto deberás traer ti unha máquina con docker.
Independientemente de cal foi a maneira de proporcionar o software desenvolvido, a entrega do código fonte debe realizarse a través de GitHub.
Os seguintes criterios deben ser cumpridos para poder entregar e defender o proxecto:
- O proxecto debe alcanzar os obxectivos marcados na programación ou anteproxecto (non se entregarán cousas “a medio facer”).
- O proxecto debe ser orixinal e elaborado exclusivamente polo alumnado que o presenta. Debe quedar moi claro (por medio de citas ou contido na propia documentación) as partes realizadas por terceiros e a súa licenza de uso.
- O proxecto debe executarse correctamente e debe incluír unha descrición detallada da súa posta en marcha.
- Na presentación e defensa do proxecto non se poderá incluír ningún tipo de material que non figure na documentación ou entregables finais entregados ata a data límite de entrega do proxecto.
- Deben cumprirse os prazos de entrega establecidos das diferentes fases.
Entregaremos software funcionando frecuentemente (cada dúas semanas como moito). O software que funcione será a nosa medida de progreso. Perseguiremos a excelencia técnica e o principio do bo deseño. En cada iteración do desenvolvemento farase unha "Review" ou demostración do software funcionando coa persoa titora.
Non será necesario a esquematización formal do deseño (mediante UML ou outros diagramas). Valorarase especialmente a calidade da documentación integrada no código. Non se elimina a necesidade de documentar, pero si se valorara que a documentación técnica sexa moito más concisa pero precisa. Podes documentar o exercicio do teu deseño empregando fotografías, como esquemas que fagas nun encerado ou folio por exemplo. Será especialmente valorado o acertado emprego de patróns de deseño.
A documentación final deberá estar lista para a súa revisión na data que se indique, previa á defensa do proxecto.
O código fonte, que debe ir anexo á realización do proxecto, debe ser aportado nun repositorio GIT, contendo todo o histórico da súa realización. Debe conter un ficheiro README (segundo modelo), onde se indique como despregar ou como probar a funcionalidade do código desenvolto.
O contido da documentación debe estar estruturado e organizado, de forma que sexa comprensible toda a información que contén.
A documentación debe ser presentada seguindo as liñas de estilo marcadas e de acorde a un modelo de mínimos acordado coa persoa titora.
Orixinalidade. Debe ser un proxecto novo e elaborado exclusivamente polo alumnado. Debe ser explicitamente indicado, e quedar moi claro, a través de citas e contido na propia documentación o código ou documentación de terceiros e a súa licencia de uso.
O manual do proxecto realizarase empregando os ficheiros markdown que atoparás en "templates".
A defensa oral do proxecto levarase a cabo ante o equipo docente. A defensa incluirá unha explicación do proxecto, por medio dunha breve presentación de duración entre 10 e 15 minutos, e a resposta ás preguntas realizadas polo tribunal, debendo demostrar a autoría e coñecemento do mesmo. Recoméndase revisar o documento Muerte_por_powerpoint de cara a elaboración da presentación. A presentación do proyecto deberá incluir unha demostración do funcionamento da aplicación (ententendo como tal aplicación Web) realizada.
Aspectos a ter en conta:
O proxecto presentado debe alcanzar os obxectivos marcados no alcance no mesmo, que estarán estipulados no anteproxecto presentado e aprobado polo equipo docente. Non se poderán presentar “cousas a medio facer”.
Non se exporá nada que non estea reflectido na documentación entregada.
O autor do proxecto debe saber explicar de maneira clara e concisa o contido do proxecto e os motivos polos que decide levar a cabo as tarefas planificadas do xeito reflectido na documentación, así como xustificar adecuadamente as decisións tomadas dende os puntos de vista técnico, económico e loxístico.
No caso de ter usado tecnoloxías innovadoras e ter considerado distintas alternativas, poden explicarse as vantaxes e limitacións destas.
Demostrar a autoría do mesmo. Se quedase en cuestión este aspecto, o proxecto sería cualificado inmediatamente coma NON APTO.
As puntuacións asignadas a cada un dos apartados do proxecto poderán modificarse en función da defensa do mesmo.
- Fase 1: Estudo preliminar: semana 1.
- Fase 2: Análise: requirimentos do sistema: semana 2.
- Fase 3: Deseño: semana 3.
- Fase 4: Codificación e probas: semanas 4-7.
- Fase 5: Implantación: semana 8.
- Entrega da documentación e do software desenvolvido.
- Defensa do proxecto.
- Lee este documento detidamente e consulta os ficheiros anexos.
- Consulta as instruccións
- Busca unha idea.
- Redacta o anteproxecto.
- Investiga sobre o que precisas para poder realizala.
- Codifica o proxecto.
- Documenta o proceso.
- Presenta o proxecto.