Está en la página 1de 5

requerimientos :

- Dotar de herramientas de software colaborativo a la empresa, para que puedan


diseñar el sistema y la bd
- Nos vamos a centrar en el Diseño de la lógica del negocio, de las distintas
funcionalidades que tiene
- Desarrollar una herramienta que va a posibilitar el diseño de la lógica de
negocio (diagrama de secuencia en el ámbito de UML)
- Todos comparten el mismo diagrama (sockets).
- Usuarios (Anfitrión e invitado) con guardado para anfitrión.
- Debe generarse código para el diagrama de secuencia. Por lo menos en 3 lenguajes
de programación (obligatorio en Java) los otros 2 a elección
- Reconocido por otras app similares

===================================================================================
===============

1. Definición del proyecto

El primer paso es definir el proyecto. Esto incluye definir los objetivos, el


alcance, el cronograma y el presupuesto.

Los objetivos del proyecto son:

Dotar a las empresas de herramientas de software colaborativo para el diseño de


sistemas y bases de datos.
Centrarse en el diseño de la lógica de negocio.
Desarrollar una herramienta que posibilite el diseño de la lógica de negocio
(diagrama de secuencia en el ámbito de UML).
El alcance del proyecto incluye:

La creación de una herramienta que permita a los usuarios crear diagramas de


secuencia.
La colaboración en tiempo real en los diagramas.
La generación de código para el diagrama de secuencia en Java, C# y Python.
El cronograma del proyecto debe ser realista y tener en cuenta los recursos
disponibles.

El presupuesto del proyecto debe ser suficiente para cubrir los costos de
desarrollo, implementación y mantenimiento.

2. Diseño del sistema

Una vez definido el proyecto, se procede al diseño del sistema. Esto incluye el
diseño de la arquitectura, el diseño de la interfaz de usuario y el diseño de la
base de datos.
La arquitectura del sistema debe ser escalable y adaptable a futuras necesidades.
La interfaz de usuario debe ser fácil de usar y accesible para usuarios de todos
los niveles de experiencia.
La base de datos debe ser capaz de almacenar los diagramas de secuencia y el código
generado.

3. Desarrollo del sistema

El siguiente paso es desarrollar el sistema. Esto implica la codificación del


sistema, la implementación de la base de datos y las pruebas del sistema.
El código del sistema debe ser bien escrito, eficiente y escalable.
La base de datos debe ser implementada de forma segura y eficiente.
Las pruebas del sistema deben garantizar que el sistema cumpla con los requisitos.
4. Implementación del sistema

Una vez desarrollado el sistema, se procede a su implementación. Esto implica la


instalación del sistema en los servidores y la capacitación de los usuarios.
La instalación del sistema debe ser sencilla y rápida.
La capacitación de los usuarios debe ser completa y eficaz.

5. Mantenimiento del sistema

El último paso es el mantenimiento del sistema. Esto incluye la corrección de


errores, la implementación de nuevas funciones y la actualización de la seguridad.
La corrección de errores debe ser rápida y eficaz.
La implementación de nuevas funciones debe cumplir con las necesidades de los
usuarios.
La actualización de la seguridad debe garantizar que el sistema esté protegido de
las amenazas.

Consideraciones adicionales

Además de las características mencionadas anteriormente, el proyecto debe tener en


cuenta las siguientes consideraciones:

Accesibilidad: La herramienta debe ser accesible para usuarios de todos los niveles
de experiencia, incluyendo usuarios no técnicos.
Intuición: La herramienta debe ser intuitiva y fácil de usar.
Escalabilidad: La herramienta debe ser escalable para satisfacer las necesidades de
empresas de todos los tamaños.
Seguridad: La herramienta debe ser segura para proteger los datos de los usuarios.
Requisitos técnicos

Para desarrollar el proyecto, se necesitarán los siguientes requisitos técnicos:

Lenguajes de programación: Java, C# y Python (para la interpretacion de los


diagramas y exportacion de codigo a esos lenguajes)
Bases de datos: MySQL o PostgreSQL.
Herramientas de desarrollo: IDE, editor de texto, administrador de bases de datos,
etc.
Herramientas de pruebas: Framework de pruebas, máquina virtual, etc.
Conclusiones

Crear un proyecto similar a Lucidchart es un desafío, pero también es una


oportunidad para desarrollar una herramienta valiosa para las empresas. Al seguir
los pasos descritos anteriormente, se puede aumentar las posibilidades de éxito del
proyecto.

===================================================================================
=================

Los módulos del sistema serían los siguientes:

Módulo de creación de diagramas

Este módulo es el núcleo del sistema. Debería proporcionar una interfaz de usuario
intuitiva y fácil de usar, con una biblioteca de formas y símbolos para los
elementos de los diagramas.

Las características clave de este módulo incluyen:

Una interfaz de usuario intuitiva y fácil de usar: La interfaz de usuario debe ser
fácil de aprender y usar, incluso para usuarios no técnicos.
Una biblioteca de formas y símbolos: La biblioteca de formas y símbolos debe ser
completa y actualizada, para que los usuarios puedan crear diagramas precisos y
detallados.
Herramientas de edición: El módulo debe proporcionar herramientas de edición para
que los usuarios puedan modificar los diagramas.
Herramientas de alineación: El módulo debe proporcionar herramientas de alineación
para que los usuarios puedan organizar los elementos de los diagramas de forma
ordenada.
Módulo de colaboración

Este módulo permitiría a los usuarios colaborar en los diagramas en tiempo real.
Debería proporcionar una forma de que los usuarios compartan los diagramas con
otros usuarios, y de que estos usuarios puedan realizar cambios en los diagramas.

Las características clave de este módulo incluyen:

Una forma de compartir diagramas: El módulo debe proporcionar una forma de que los
usuarios compartan los diagramas con otros usuarios.
Una forma de realizar cambios en los diagramas: El módulo debe proporcionar una
forma de que los usuarios realicen cambios en los diagramas que otros usuarios
están compartiendo.
Una forma de resolver conflictos: El módulo debe proporcionar una forma de resolver
conflictos que puedan surgir cuando varios usuarios realizan cambios en el mismo
diagrama.
Módulo de generacion de codigo

Este módulo generaría código para el diagrama de secuencia en los lenguajes de


programación Java, C# y Python. Debería proporcionar una forma de que los usuarios
seleccionen el lenguaje de programación para el código generado.

Las características clave de este módulo incluyen:

La capacidad de generar código en varios lenguajes de programación: El módulo debe


ser capaz de generar código en los lenguajes de programación Java, C# y Python.
La capacidad de personalizar el código generado: El módulo debe proporcionar una
forma de que los usuarios personalicen el código generado.
Módulo de integracion con otras aplicaciones

Este módulo permitiría al sistema integrarse con otras aplicaciones, como sistemas
de gestión de proyectos o herramientas de desarrollo de software.

Las características clave de este módulo incluyen:

La capacidad de integrar el sistema con otras aplicaciones: El módulo debe


proporcionar una forma de que el sistema se integre con otras aplicaciones.
La capacidad de personalizar la integración: El módulo debe proporcionar una forma
de que los usuarios personalicen la integración con otras aplicaciones.
Módulo de analisis de diagramas

Este módulo proporcionaría herramientas para analizar los diagramas, como la


detección de errores o la medición de la complejidad.

Las características clave de este módulo incluyen:

La capacidad de analizar los diagramas: El módulo debe proporcionar una forma de


que los usuarios analicen los diagramas.
La capacidad de personalizar el análisis: El módulo debe proporcionar una forma de
que los usuarios personalicen el análisis de los diagramas.
En general, la división del proyecto en estos módulos proporciona una base sólida
para el desarrollo del sistema. Sin embargo, es importante seguir refinando los
módulos a medida que se avanza en el proyecto. Por ejemplo, es posible que sea
necesario agregar o eliminar módulos según los requisitos y objetivos del proyecto.

===================================================================================
=================

DEFINICION DE LOS MODULOS A NIVEL TECNICO :

===================================================================================
=================

El Módulo de creación de diagramas podría definirse de la siguiente manera:

Tecnologías

El módulo podría estar implementado utilizando las siguientes tecnologías:

Frontend: Angular
Backend: Node.js
Base de datos: MySQL, PostgreSQL
Atributos

El módulo tendría los siguientes atributos:

Diagramas: Los diagramas creados por el módulo serían objetos que almacenarían la
información sobre los elementos del diagrama, como los objetos, las relaciones y
los mensajes.
Biblioteca de formas y símbolos: La biblioteca de formas y símbolos proporcionaría
una variedad de formas y símbolos que los usuarios podrían utilizar para crear
diagramas.
Herramientas de edición: Las herramientas de edición permitirían a los usuarios
modificar los diagramas.
Herramientas de alineación: Las herramientas de alineación permitirían a los
usuarios organizar los elementos de los diagramas de forma ordenada.
Métodos

El módulo tendría los siguientes métodos:

Crear diagrama: Este método crearía un nuevo diagrama.


Agregar elemento: Este método agregaría un elemento a un diagrama.
Eliminar elemento: Este método eliminaría un elemento de un diagrama.
Modificar elemento: Este método modificaría la información de un elemento de un
diagrama.
Guardar diagrama: Este método guardaría un diagrama en la base de datos.
Funcionalidades

El módulo proporcionaría las siguientes funcionalidades:

Creación de diagramas: El módulo permitiría a los usuarios crear diagramas de


secuencia.
Edición de diagramas: El módulo permitiría a los usuarios modificar los diagramas
creados.
Guardado de diagramas: El módulo permitiría a los usuarios guardar los diagramas
creados.
Backend

El backend del módulo estaría implementado utilizando Node.js. El backend


utilizaría una base de datos MySQL o PostgreSQL para almacenar los datos de los
diagramas.

El backend proporcionaría las siguientes funcionalidades:

Creación de diagramas: El backend permitiría a los usuarios crear nuevos diagramas.


Adición de elementos: El backend permitiría a los usuarios agregar elementos a los
diagramas.
Eliminar elementos: El backend permitiría a los usuarios eliminar elementos de los
diagramas.
Modificar elementos: El backend permitiría a los usuarios modificar la información
de los elementos de los diagramas.
Guardado de diagramas: El backend guardaría los diagramas en la base de datos.
Frontend

El frontend del módulo estaría implementado utilizando Angular. El frontend


utilizaría una biblioteca de formas y símbolos para permitir a los usuarios crear
diagramas.

El frontend proporcionaría las siguientes funcionalidades:

Creación de diagramas: El frontend permitiría a los usuarios crear nuevos


diagramas.
Edición de diagramas: El frontend permitiría a los usuarios modificar los diagramas
creados.
Guardado de diagramas: El frontend permitiría a los usuarios guardar los diagramas
creados.

===================================================================================
====================

Libreria para creacion de diagramas :

- Angular Diagram (EJ2 Angular)


https://ej2.syncfusion.com/angular/documentation/diagram/getting-started
https://www.npmjs.com/package/@syncfusion/ej2-angular-diagrams

También podría gustarte