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