0% encontró este documento útil (0 votos)
62 vistas19 páginas

Desarrollo de Diagramas C4 con GoJS

Este documento describe el desarrollo de una herramienta para crear diagramas del modelo C4. El objetivo general es desarrollar un componente para realizar diagramas de contexto para el modelo C4. Los objetivos específicos incluyen desarrollar un sitio web para crear diagramas, analizar los requisitos, implementar una base de datos en SQL Server, e implementar el sistema en un lenguaje de programación. El documento también discute las tecnologías (.NET Core, Visual Studio), herramientas (Visual Paradigm, GOJS) y marco teórico
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas19 páginas

Desarrollo de Diagramas C4 con GoJS

Este documento describe el desarrollo de una herramienta para crear diagramas del modelo C4. El objetivo general es desarrollar un componente para realizar diagramas de contexto para el modelo C4. Los objetivos específicos incluyen desarrollar un sitio web para crear diagramas, analizar los requisitos, implementar una base de datos en SQL Server, e implementar el sistema en un lenguaje de programación. El documento también discute las tecnologías (.NET Core, Visual Studio), herramientas (Visual Paradigm, GOJS) y marco teórico
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

COMPONETE

Contenido
1. INTRODUCCION..........................................................................................................................3

2. DESCRIPCION DEL PROBLEMA....................................................................................................3

3. JUSTIFICACION...........................................................................................................................3

4. OBJETIVOS..................................................................................................................................4

Objetivo general.............................................................................................................................4
Objetivo especifico.........................................................................................................................4
5. LOS SIETE FACTORES DE CALIDAD..............................................................................................4

6. TECNOLOGIA DE DESARROLLO...................................................................................................5

7. HERRAMIENTAS DE DESARROLLO..............................................................................................5

Software.........................................................................................................................................5
Hardware.......................................................................................................................................5
8. MARCO TEORICO........................................................................................................................6

9. FLUJO DE TRABAJO: CAPTURA DE REQUISITOS..........................................................................8

9.1. Identificar actores...............................................................................................................8


 Actor1: Usuario......................................................................................................................8
9.2. Identificar caso de uso:.......................................................................................................8
 CU1. Gestionar Componente..................................................................................................8
 CU2. Gestionar Archivos Diagramas.......................................................................................8
 CU3. Gestionar Acciones Diagrama........................................................................................8
9.3. Detallar caso de uso:..........................................................................................................8
 CU1. Gestionar Usuario..........................................................................................................8
 CU2. Gestionar Grupo Usuario...............................................................................................9
 CU3. Gestionar Acciones Diagramas.....................................................................................11
10. FLUJO DE TRABAJO: ANALISIS...............................................................................................13

10.1. Análisis Arquitectura....................................................................................................13


10.2. Relacionar paquetes y caso de uso...............................................................................14
10.3. Encapsulamiento de casos de uso................................................................................14
12. DISEÑO DE DATOS.......................................................................................................................15

12.1 Diseño lógico....................................................................................................................15

BRUNO RODRIGUEZ VACA


1
COMPONETE

12.2 Diseño físico.....................................................................................................................15


11. FLUJO DE TRABAJO: IMPLEMENTACION...............................................................................16

GoJS es una biblioteca de JavaScript con numerosas funciones para implementar


diagramas interactivos en navegadores y plataformas modernos. GoJS hace que la
construcción de diagramas de nodos, enlaces y grupos complejos sea fácil con plantillas y
diseños personalizables....................................................................................................17

12.Manual........................................................................................................................................17

13.BIBLIOGRAFIA..............................................................................................................................19

BRUNO RODRIGUEZ VACA


2
COMPONETE

1. INTRODUCCION
Una prestigiosa empresa boliviana, con presencia a nivel nacional precisa una
herramienta para agilizar sus procesos de producción. En este contexto podemos
destacar que cada vez es mas imperativa la necesidad de utilizar herramientas para el
desarrollo de software, para que de este modo se puedan agilizar los procesos de
desarrollo y producción de estos.

2. DESCRIPCION DEL PROBLEMA


Se precisa una herramienta capaz de realizar diagramas con para el modelo C4. Esta
herramienta colaborativa debe permitir acelerar el proceso de diagramado.

3. JUSTIFICACION

En nuestro día a día empleamos múltiples niveles de abstracción para referirnos a los
sistemas de información que construimos, manipulamos o mantenemos, nos referimos a
sistemas, aplicaciones, servicios, APIs, llamadas, funciones, almacenamiento, memoria,
ficheros, eventos, etc.

Muchas de estas abstracciones las comentamos de manera informal, las describimos a


través del código que escribimos y que ejecutamos, las describimos en prosa, o
empleamos la herramienta favorita de los arquitectos y la más temida por los
desarrolladores, los diagramas.

Un diagrama, ya sea de componentes, de secuencia, de interacción o de clases, no es


más que otra abstracción en la que describimos como es o cómo pretendemos que sea
nuestro sistema. El diagrama nos puede permitir pasar por ciertas capas de
descubrimiento, descubrir o fijar los límites de nuestro servicio en comparación con otros,
y es una herramienta que nos permite mantener una conversación.

Esta herramienta es crítica cuando tenemos que interactuar con otros equipos, o
compañeros que pueden no tener todo el contexto. Es por ello que es importante tener en
cuenta el público, el objetivo, y el nivel de abstracción que queremos mantener. al crear
dichos diagramas y representar contextos

BRUNO RODRIGUEZ VACA


3
COMPONETE

4. OBJETIVOS

Objetivo general
Desarrollar un componente que a través de este para realizar diagramas de
contexto para el modelo C4

Objetivo especifico
Desarrollar un sitio web para realizar diagramas
Recopilar y analizar la información recolectada para trazar la frontera del sistema.
Implementar una base de datos en el sistema gestor de base de datos Sql Server
que soporte el almacenamiento requerido.
Implementar el sistema en un lenguaje de programación según previo análisis.

5. LOS SIETE FACTORES DE CALIDAD

El software culminará con una versión operativa que cumpla y satisfaga los siete factores
de calidad:

1. Software correcto: El software realizará con exactitud las tareas expresadas en su


especificación.

2. Software fiable: El software será probado para confirmar el buen funcionamiento de sus
tareas.

3. Software eficiente: El software será capaz de hacer un buen uso de los recursos que
manipula.

4. Software de fácil uso: El usuario podrá interactuar fácilmente con la aplicación móvil.

5. Mantenimiento: El software tendrá la posibilidad de ser sometido a actualizaciones o


mejoras sin necesidad de perder tiempo, dinero o esfuerzo en ello.

6. Seguridad e integridad: La aplicación será capaz de proteger sus diferentes


componentes contra los procesos o elementos que no tengan derecho de acceso a los
mismos.

BRUNO RODRIGUEZ VACA


4
COMPONETE

7. Portabilidad: El software contará con la facilidad de ser migrado entre diferentes


versiones del sistema operativo que utilice.

6. TECNOLOGIA DE DESARROLLO
El lenguaje a utilizar en el desarrollo de la aplicación es el Lenguaje Unificado de Modelado
(UML), para especificar o describir métodos o procesos.

7. HERRAMIENTAS DE DESARROLLO

Software
.Net Core

Visual Studio 2019

Sql Server Management

Windows 10

Visual Paradigm

GOJS

Hardware
Server:

Procesador: Intel Corei7

Memoria: 16gb

Disco duro: 1 Tera.

Cliente:

Procesador: Core i3

Memoria: 4 gb

Disco Duro: 500gb HD

BRUNO RODRIGUEZ VACA


5
COMPONETE

8. MARCO TEORICO
Software basado en componentes: El desarrollo de software basado en componentes
permite reutilizar piezas de código preelaborado que permiten realizar diversas tareas,
conllevando a diversos beneficios como las mejoras a la calidad, la reducción del ciclo de
desarrollo y el mayor retorno sobre la inversión.

“La reutilización de software es un proceso de la Ingeniería de Software que conlleva al


uso recurrente de activos de software en la especificación, análisis, diseño,
implementación y pruebas de una aplicación o sistema de software”.

“Un componente es una unidad de composición de aplicaciones software, que posee un


conjunto de interfaces y un conjunto de requisitos, y que ha de poder ser desarrollado,
adquirido, incorporado al sistema y compuesto con otros componentes de forma
independiente, en tiempo y espacio”

Características de un Componente:

Identificable: Debe tener una identificación que permita acceder fácilmente a sus servicios
que permita su clasificación.

Auto contenido: Un componente no debe requerir de la utilización de otros para finiquitar la


función para la cual fue diseñado.

Puede ser remplazado por otro componente: Se puede remplazar por nuevas versiones u
otro componente que lo remplace y mejore.

Con acceso solamente a través de su interfaz: Debe asegurar que estas no cambiaran a lo
largo de su implementación.

Sus servicios no varían: Las funcionalidades ofrecidas en su interfaz no deben variar, pero
su implementación sí.

Bien Documentado: Un componente debe estar correctamente documentado para facilitar


su búsqueda si se quiere actualizar, integrar con otros, adaptarlo, etc.

Es genérico: Sus servicios deben servir para varias aplicaciones.

Reutilizado dinámicamente: Puede ser cargado en tiempo de ejecución en una aplicación.

Independiente de la plataforma: Hardware, Software, SO.

BRUNO RODRIGUEZ VACA


6
COMPONETE

El desarrollo de software basado en componentes:

Las tecnologías de objetos proporcionan el marco de trabajo técnico para un modelo de


proceso basado en componentes para la ingeniería del software. El paradigma orientado
a objetos enfatiza la creación de clases que encapsulan tanto los datos como los
algoritmos que se utilizan para manejar los datos. Si se diseñan y se implementan
adecuadamente, las clases orientadas a objetos son reutilizables por las diferentes
aplicaciones y arquitecturas de sistemas basados en computadora.

El modelo de desarrollo basado en componentes incorpora muchas de las características


del modelo en espiral. Es evolutivo por naturaleza y exige un enfoque iterativo para la
creación del software.

Sin embargo, el modelo de desarrollo basado en componentes configura aplicaciones


desde componentes preparados de software (llamados «clases»).

La actividad de la ingeniería comienza con la identificación de clases candidatas. Esto se


lleva a cabo examinando los datos que se van a manejar por parte de la aplicación y el
algoritmo que se va a aplicar para conseguir el tratamiento. Los datos y los algoritmos
correspondientes se empaquetan en una clase.

Las clases creadas en los proyectos de ingeniería de los softwares anteriores, se


almacenan en una biblioteca de clases o diccionario de datos.

Una vez identificadas las clases candidatas, la biblioteca de clases se examina para
determinar si estas clases ya existen. En caso de que así fuera, se extraen de la
biblioteca y se vuelven a utilizar. Si una clase candidata no reside en la biblioteca, se
aplican los métodos orientados a objetos.

Se compone así la primera iteración de la aplicación a construirse, mediante las clases


extraídas de la biblioteca y las clases nuevas construidas para cumplir las necesidades
Únicas de la aplicación. El flujo del proceso vuelve a la espiral y volverá a introducir por
último la iteración ensambladora de componentes a través de la actividad de ingeniería.

BRUNO RODRIGUEZ VACA


7
COMPONETE

9. FLUJO DE TRABAJO: CAPTURA DE REQUISITOS


9.1. Identificar actores:

Actor1: Usuario

Es aquel que entra la sitio web para generar diagramas en colaboración con otros
usuarios

9.2. Identificar caso de uso:

CU1. Gestionar Componente


CU2. Gestionar Archivos Diagramas
CU3. Gestionar Acciones Diagrama

9.3. Detallar caso de uso:

CU1. Gestionar Usuario

CASO DE USO CU.1 GESTIONAR COMPONENTE


Propósito Registrar, modificar y eliminar componentes del diagrama
Actores Usuario
Actor Iniciador Usuario

BRUNO RODRIGUEZ VACA


8
COMPONETE

Pre Condición
Post Condición
Flujo Principal 1. Registrar Usuario
1.1. Introducir los datos del Usuario: Nombre,
Apellidos, Dirección, Teléfono, CI, Tipo Usuario,
Login, Password.
1.2. Guardar registro del Usuario
2. Modificar Usuario
2.1. Ingresar o Buscar el Nombre del Usuario
2.2. Modificar los datos del Usuario
2.3. Guardar los cambios realizados en la BD
3. Eliminación Lógica Usuario
3.1. Ingresar o Buscar el del Usuario
3.2. Dar de baja al Usuario en el sistema
3.3. Guardar los cambios realizados en la BD
4. Buscar Usuario
4.1. Introducir Nombre de Usuario
4.2. Mostrar datos de Usuario
Excepciones 1.2 Error de tipos de datos
1.2 Falta rellenar algún dato
2.3 Error de tipos de datos
4.1 El Usuario no existe

CU2. Gestionar Grupo Usuario

BRUNO RODRIGUEZ VACA


9
COMPONETE

CASO DE USO GESTIONAR ARCHIVOS DIAGRAMAS


PROPOSITO Resetear o actualizar archivos json del modelo de los
diagramas
RESUMEN Registrar, modificar y eliminar el área al que pertenecen varios
usuarios
ACTORES Administrador
ACTOR INICIADOR Administrador
PRECONDICION Ninguna
FLUJO PRINCIPAL 1. Registrar
1.1. Verificar si el grupo usuario no se encuentra registrado
1.2. Si el grupo usuario no se encuentra registrado, llenar
los siguientes campos para su registro:
 Id
 Nombre
1.3. Presionar botón de registrar
1.4. Mensaje de comprobación, grupo de usuario
registrado con éxito.
2. Modificar
2.1. Verificar si el grupo usuario no se encuentra registrado
2.2. Si el usuario se encuentra registrado, podrá modificar
los usuarios que agrupará
2.3. Presionar botón de guardar cambios
2.4. Mensaje de advertencia, está seguro que quiere
guardar los cambios en registro

BRUNO RODRIGUEZ VACA


10
COMPONETE

2.5. Presionar botón de guardar


2.6. Mensaje de comprobación, registro modificado con
éxito.
3. Eliminar
3.1. Verificar si el grupo usuario no se encuentra registrado
3.2. Si el grupo usuario se encuentra registrado mensaje
de confirmación, está seguro que quiere borrar
registro de grupo usuario.
3.3. Presionar botón de aceptar
3.4. Mensaje de comprobación, registro de grupo usuario
eliminado.
POST CONDICION Gestionar Usuario
EXCEPCION 1.1. Mensaje de verificar, grupo usuario ya registrado

CU3. Gestionar Acciones Diagramas

BRUNO RODRIGUEZ VACA


11
COMPONETE

CASO DE USO GESTIONAR ACCIONES DIAGRAMA


PROPOSITO Nos permitirá gestionar las acciones del diagrama
RESUMEN Registrar y modificar los privilegios de los grupos de usuario
ACTORES Administrador
ACTOR INICIADOR Administrador
PRECONDICION Ninguna
FLUJO PRINCIPAL 1. Registrar
1.1. Verificar si un privilegio no se encuentra registrado
1.2. Si el privilegio no se encuentra registrado, llenar los
siguientes campos para su registro:
 Id
 Nombre
1.3. Presionar botón de registrar
1.4. Mensaje de comprobación, privilegio registrado con
éxito.
2. Modificar
2.1. Verificar si el privilegio no se encuentra registrado
2.2. Si el privilegio se encuentra registrado, podrá
modificar.
2.3. Presionar botón de guardar cambios
2.4. Mensaje de advertencia, está seguro que quiere
guardar los cambios en registro
2.5. Presionar botón de guardar

BRUNO RODRIGUEZ VACA


12
COMPONETE

2.6. Mensaje de comprobación, registro modificado con


éxito.
3. Eliminar
3.1. Verificar si el privilegio no se encuentra registrado
3.2. Si el privilegio se encuentra registrado mensaje de
confirmación, está seguro que quiere borrar registro
de privilegio
3.3. Presionar botón de aceptar
3.4. Mensaje de comprobación, registro de privilegio
eliminado.
POST CONDICION Gestionar grupo usuario
EXCEPCION 1.2. Mensaje de verificar, privilegio ya registrado

10. FLUJO DE TRABAJO: ANALISIS


10.1. Análisis Arquitectura

Identificar Paquetes

BRUNO RODRIGUEZ VACA


13
COMPONETE

10.2.Relacionar paquetes y caso de uso

10.3.Encapsulamiento de casos de uso

BRUNO RODRIGUEZ VACA


14
COMPONETE

pkg Administrar Usuario

Administrar Usuario

CU 2: Gestionar
GrupoUsuario

Administrador

«include» «include»

CU 3: Gestionar Priv ilegio CU 1:Gestionar Usuario


«include»

12. DISEÑO DE DATOS


12.1Diseño lógico

12.2Diseño físico

BRUNO RODRIGUEZ VACA


15
COMPONETE

Script

USE
[bd_sw1] GO

/****** Object: Table [dbo].[bitacora] Script Date: 27/06/2021 16:18:23 ******/


SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[bitacora](


[id] [bigint] IDENTITY(1,1) NOT NULL,
[fecha] [datetime] NULL,
[contenido] [nvarchar](max) NULL,
[usuario] [varchar](100) NULL,
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

11. FLUJO DE TRABAJO: IMPLEMENTACION


SQL SERVER:

Los servidores SQL Server suelen presentar como principal característica una alta
disponibilidad al permitir un gran tiempo de actividad y una conmutación más rápida.
Todo esto sin sacrificar los recursos de memoria del sistema. Gracias a las funciones de
memoria integradas directamente en los motores de base de datos SQL Server y de
análisis, mejora la flexibilidad y se facilita el uso. Pero quizá su característica más
destacada es que ofrece una solución robusta que se integra a la perfección con la familia
de servidores Microsoft Server.

Características de Microsoft SQL Server :

 Soporte de transacciones.
 Escalabilidad, estabilidad y seguridad.
 Soporte de procedimientos almacenados.
 Incluye también un potente entorno gráfico de administración, que permite el
 uso de comandos DDL y DML gráficamente.
 Permite trabajar en modo cliente-servidor, donde la información y datos se alojan
en el servidor y las terminales o clientes de la red solo acceden a la información.
 Permite administrar información de otros servidores de datos.

ASP.NET Core 5.0

BRUNO RODRIGUEZ VACA


16
COMPONETE

 ASP.NET Core 5.0 es la nueva versión de ASP.NET Core alineada con .NET 5.

 Se han agregado múltiples mejoras y características, incluyendo el


soporte a records de C# 9.0.
 También se han realizado soporte y mejoras en lo que corresponde a Blazor
Server y Blazor WebAssembly, o SignalR.

 Hablar de ASP.NET Core 5.0 nos obliga a hablar de gRPC también, en el que se
ha mejorado considerablemente el rendimiento de gRPC y HTTP/2.

 Y como no, otra de las importantes mejoras, tiene que ver con el rendimiento,
el cuál ha sido mejorado de forma considerable.

GOJS:

GoJS es una biblioteca de JavaScript con numerosas funciones para implementar


diagramas interactivos en navegadores y plataformas modernos. GoJS hace que
la construcción de diagramas de nodos, enlaces y grupos complejos sea fácil con
plantillas y diseños personalizables.

12.Manual
 Componentes

BRUNO RODRIGUEZ VACA


17
COMPONETE

 Relaciones

 Limpiar

 Exportar

 Importar

BRUNO RODRIGUEZ VACA


18
COMPONETE

13.BIBLIOGRAFIA
https://geeks.ms/jorge/2020/11/12/net-5-lanzado-oficialmente-detalles-y-consideraciones/

https://mejorsoftware.info/tools/gojs#:~:text=GoJS%20es%20una%20biblioteca%20de,con%20pla
ntillas%20y%20dise%C3%B1os%20personalizables.

BRUNO RODRIGUEZ VACA


19

También podría gustarte