Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Documento - de - Arquitectura - SGC
Documento - de - Arquitectura - SGC
Análisis de Sistemas
Versión 2.0
Documento de la Arquitectura de Software
Tabla de contenido
1. Introducción 5
1.1 Propósito 5
1.2 Alcance 5
1.3 Definiciones, Siglas, y Abreviaturas 5
1.3.1 Definiciones 6
1.3.2 Acrónimos 7
1.4 Referencias 7
1.5 Vista Global 7
2. Representación Arquitectónica 8
4.11.2 Eficiencia 42
4.11.3 Seguridad 42
4.11.4 Confiabilidad 43
4.11.5 Mantenimiento 43
4.11.6 Estándares 43
5. Vista Lógica 43
5.1 Estilo arquitectónico 43
5.2 Arquitectura lógica de la aplicación 45
5.2.1 Visión general 45
5.2.2 Identificando las Interfaces entre capas 46
5.3 Identificación de las clases del diseño 47
5.3.1 Diagramas de secuencias del paquete Atención al cliente 47
5.3.2 Diagrama de subsistemas 57
5.3.3 Agrupación de las clases de diseño en Subsistema del paquete Atención al cliente 58
5.3.3.1 Diagrama de clases de diseño del subsistema Servicio al cliente 59
5.3.3.1.1 Asignación de Operaciones 59
5.3.3.1.2 Diagrama de clases del diseño 63
5.3.3.2 Diagrama de clases de diseño del subsistema Gestión de productos 64
5.3.3.2.1 Asignación de Operaciones 64
5.3.3.2.2 Diagrama de clases del diseño 68
6. Vista de despliegue 69
6.1 Servidor de base de datos 69
6.2 Switch 69
6.3 Servidor de base de datos 70
6.4 Switch 70
6.5 Computadoras 70
7. Vista de implementación 71
7.1 Descripción 71
7.2 Diagrama de componentes 71
7.2.1 Actividad implementar un subsistema 71
71
Subsistema de Implementación: Servicio al cliente 72
Componente Cotización 72
Componente Gestor Cotización 72
Componente Pedido 72
Componente Gestor Pedido 72
Componente Producto 72
Componente Cliente 72
Subsistema de Implementación: Gestión de producto 73
Componente Producto 73
Componente Diseño de producto 73
Componente Gestor diseño de producto 73
Componente Ubicación de diseño 73
Componente Gestor Seleccionar diseño del catalogo 73
Componente Gestor Registrar producto 74
7.2.2 Diagrama general de componentes 75
8. Vista de Datos 76
8.1 Modelo Relacional 76
8.2 Tipo de Base de datos: Base de datos centralizado. 77
1. Introducción
Imaginemos la construcción de algún edificio; primero se comienza por los cimientos, luego
las columnas y vigas, hasta tener un esqueleto de soporte. Por último, se construyen las
paredes, ventanas, pisos, etc. Entonces, es ilógico suponer que las paredes se levantan antes
que las columnas. En resumen, primero se establece el esqueleto o soporte del edificio y
después se ensamblan las partes restantes. Esta estrategia es aplicable a la creación de
software, con la diferencia de que éste no se rige por leyes físicas ni por procedimientos, sino
que es experimental.
Entonces, se concluye que la parte más importante en la creación del software (haciendo una
analogía con la idea de la construcción del edificio) es el “esqueleto” o, en nuestro caso, la
ARQUITECTURA DEL SOFTWARE, que es la que provee de una estructura sólida y
organizada al sistema.
Por ello, el presente documento hace una descripción y brinda una visión general de la
arquitectura del Sistema de gestión de citas, el cual es el software a desarrollar por el grupo
de trabajo.
1.1 Propósito
El documento a desarrollar titulado “Documento de Arquitectura de Software” brinda una
descripción detallada de la arquitectura del Sistema de gestión de citas, para la Clínica San
Sebastián a través de diferentes vistas arquitectónicas, las cuales ilustran un aspecto en
particular del software a desarrollarse. De esta forma, se pretende brindarle al lector una
visión global y comprensible del diseño general del tema presentado.
1.2 Alcance
El DAS del Sistema de gestión de citas profundiza principalmente en las vistas de caso de uso
y lógica, aprovechando también algunos de los elementos más relevantes de las otras vistas
(de procesos, de implementación y de despliegue). Además, a través de estas vistas se podrá
realizar especificaciones sobre la distribución a realizarse y el uso de capas a utilizar.
1.3 Definiciones, Siglas, y Abreviaturas
Es conveniente brindar algunas definiciones y acrónimos de términos usados en el presente
documento que necesitan de alguna explicación para su correcta interpretación.
1.3.1 Definiciones
Término Definición
1.3.2 Acrónimos
1.4 Referencias
Especificación de Requisitos de
software 1.0 17/01/2020
Glosario de términos
2.0 17/01/2020
2. Representación Arquitectónica
Para el diseño del sistema de gestión de pedidos se ha escogido una arquitectura cliente-
servidor de tres capas (Presentación, Aplicación y Persistencia). La utilización de esta
arquitectura se debe a que distintos niveles son independientes unos de los otros, esto nos
permite poder cambiar el comportamiento de las clases en el nivel de aplicación sin que ello
influya en las otras capas.
Se desarrollará una sola aplicación integrada, en la que solo se permitirá el acceso a los
usuarios registrados en el sistema a partir de la Interfaz gráfica la cual pertenece a la capa de
Presentación que se comunica con la capa de Aplicación para demandarle el servicio deseado,
ya que esta capa es la que se comunica con la de persistencia para recuperar los datos
necesarios de la base de datos.
La arquitectura se basará en el modelo ‘4+1’, que contendrá las vistas de Casos de Uso,
Lógica, Implementación, Procesos y Despliegue.
Descripción del
negocio
4.8.1 Descripción de los casos de uso relevantes para el proceso Atención al cliente
ID: CUS-01
Caso de Uso: Registrar paciente
Actor: Recepcionista
Descripción: Se registra al paciente en el sistema.
Precondición: El usuario ha ingresado al sistema con su nombre de usuario y
contraseña dependiendo de su rol.
El paciente no está registrado
Flujo Principal:
ID: CUS-02
Caso de Uso: Actualizar historia clínica
Actor: Supervisor de citas
Descripción: En este caso de uso el supervisor actualiza las historias clínicas
agregando su diagnóstico a medida que los pacientes asistan a sus citas.
Precondición: El usuario ha ingresado al sistema con su nombre de usuario y
contraseña dependiendo de su rol.
El paciente esté registrado en el sistema.
Flujo Básico:
Documento de la Arquitectura de Software
1. El CUS empieza el sistema muestra la interfaz con tres ventanas “Datos del
paciente”, “Atención y “Mostrar Historial Médico”.
2. El supervisor pulsa la ventana “Datos del paciente”.
3. El sistema muestra la interfaz “Atención” el cual contiene nueve TextField de DNI,
Nombres, apellidos, fecha de nacimiento, dirección, teléfono, celular, género y tipo
de sangre.
4. El sistema accede a la base de datos donde está almacenado los datos del paciente
con ese número de cita a atender, es mostrado en los TextField correspondiente.
5. El supervisor pulsa la interfaz “Atención”.
6. El Sistema muestra la interfaz “Atención” que contiene cinco TextField para el
resumen de diagnóstico, peso, talla, pulso, presión, también hay dos TextArea para
que se escriba el diagnóstico completo y la receta. Por último, hay un botón
“Registrar”.
7. El supervisor de citas, digita todos los datos solicitados cuando el paciente ya se
haya atendido con el doctor y este le haya dado la información necesaria para
actualizar su historia clínica.
8. El Sistema muestra un mensaje de alerta que dice: “Historia clínica actualizada”.
9. El CUS finaliza.
ID: CUS-03
Caso de Uso: Registrar doctor
Actor: Gerente general
Descripción: En este caso de uso, el gerente registra un doctor al sistema.
Precondición: El usuario ha ingresado al sistema con su nombre de usuario y
contraseña dependiendo de su rol.
Se registre al doctor en una especialidad ya registrada.
Flujo Principal:
1. El CUS empieza cuando la gerente general pulsa la interfaz “Nuevo médico”.
2. El sistema muestra la interfaz “Nuevo médico” la cual contiene seis TextField en
un cuadro para código, apellidos, nombres, dirección, celular y teléfono, también 2
ComboBox uno para especialidad que tiene los valores de las especialidades
registradas y otro para género con los valores “N” (no especificado), “M”
(masculino) y “F” (femenino). Además, tiene un DataPicker para elegir la fecha de
nacimiento y el botón “Añadir médico”. En la parte inferior de la ventana se
muestra otro cuadro con el título de “Crear Especialidades” que contiene un
TextField con nombre “Nombre especialidad” y un botón “Crear Especialidad”
3. El recepcionista digita y selecciona todos los datos solicitados en los respectivos
TextField, ComboBox, DataPicker.
4. El recepcionista pulsa el botón “Añadir médico”.
5. El sistema verifica si todos los datos han sido ingresados.
6. El sistema guarda los datos en la tabla Medico de la base de datos.
7. El sistema envía un mensaje de confirmación.
8. El CUS finaliza.
Post-condición : Se ha registrado correctamente a un médico.
Flujo Alterno 1: Llenado de datos incompleto.
Documento de la Arquitectura de Software
ID: CUS-04
Caso de Uso: Registrar horarios
Actor: Gerente General
Descripción: En este caso de uso el gerente registra los horarios al sistema.
Precondición: El usuario ha ingresado al sistema con su nombre de usuario y
contraseña dependiendo de su rol.
El médico a asociar ya ha sido registrado y la especialidad.
Flujo Principal:
Documento de la Arquitectura de Software
1. Empieza en el paso 3 del flujo principal, el gerente digita y selecciona todos los
datos solicitados.
2. El gerente pulsa el botón “Eliminar horario”
3. El sistema verifica los datos ingresados y busca el horario en la tabla Horario de la
base de datos.
4. El sistema muestra en el TextArea de la ventana los datos del médico al que está
asociado ese horario y su horario.
5. El sistema muestra un mensaje de confirmación.
6. El CUS finaliza.
Flujo Alterno 3: Cancelar
5. En cualquier momento el gerente general pulsa “Cerrar”, el sistema no guarda
ningún dato.
6. El CUS finaliza.
ID: CUS-05
Caso de Uso: Registrar cita
Actor: Recepcionista
Descripción: Se realiza el registro de las citas en el sistema.
Precondición: El usuario ha ingresado al sistema con su nombre de usuario y
contraseña dependiendo de su rol.
El paciente debe estar registrado.
La especialidad que elija debe estar registrada.
Flujo Principal:
Documento de la Arquitectura de Software
ID: CUS-06
Caso de Uso: Atención cita
Actor: Supervisor de citas
Descripción: En este caso de uso el supervisor atiende las citas registradas.
Precondición: El usuario ha ingresado al sistema con su nombre de usuario y
contraseña dependiendo de su rol.
El paciente tiene registrado una cita en el sistema.
Flujo Básico:
ID: CUS-07
Caso de Uso: Registrar especialidad
Actor: Gerente general
Descripción: En este caso de uso el gerente registra especialidad.
Precondición: El usuario ha ingresado al sistema con su nombre de usuario y
contraseña dependiendo de su rol.
Flujo Básico:
Documento de la Arquitectura de Software
Flujo Principal:
1. El CUS comienza cuando el gerente general pulsa en la pestaña “Gestionar
usuarios”.
2. El sistema muestra la interfaz “Gestionar usuarios” que contiene un cuadro con tres
TextField para Nombre de usuario, contraseña y un ComboBox para el tipo con las
opciones “A” (administrador), “U” (recepcionista), “M” (supervisor de citas) y dos
botones “Agregar” y “Eliminar”.
3. El gerente digita el usuario, contraseña y selecciona el tipo.
4. El gerente pulsa el botón “Agregar”.
5. El sistema guarda el usuario en la base de datos en la tabla Login.
6. El sistema muestra un mensaje de confirmación que dice “Usuario agregado
correctamente”.
7. El CUS finaliza.
Post-condición : El usuario queda registrado correctamente.
Flujo Alterno : Eliminar usuario
1. El CUS comienza en el paso 4 del flujo principal, el gerente pulsa el botón
“Eliminar”.
2. El sistema accede a la base de datos y busca en la tabla Login.
3. El sistema muestra un mensaje de confirmación que dice “Usuario eliminado
correctamente”.
4. El CUS finaliza
Flujo Alterno : Cancelar
1. En cualquier momento el supervisor de citas pulsa “Cerrar”, el sistema no guarda
ningún dato.
2. El CUS finaliza.
ID: CUS-09
Documento de la Arquitectura de Software
4.10.4 Soporte
El “Sistema de gestión de citas” tendrá un mantenimiento progresivo en el cual se podrán
hacer modificaciones con la finalidad de incorporar nuevas funcionalidades y/o eliminaciones
las cuales estarán orientadas a mejorar las interacciones entre usuario-sistema y cubrir los
nuevos servicios brindados por la Clínica San Sebastián.
4.11.4 Confiabilidad
El sistema siempre validara los datos ingresados y mostrara mensajes indicando la posible
solución en caso de presentar errores. En varios formularios se han restringidos la digitación
de ciertos caracteres para asegurar la validación de los datos a la hora de ser guardados en el
sistema.
En caso de que sucedan errores en el sistema, se mostraran mensajes indicando los detalles de
estos errores para que el usuario tome las medidas adecuadas ante estos.
4.11.5 Mantenimiento
El mantenimiento estará regido de acuerdo a las necesidades de la empresa y los posibles
fallos que surjan y que no se hayan identificado. Debido a que el sistema no es de gran
envergadura y solo está orientado a escritorio su mantenimiento futuro no tendrá muchas
dificultades incluso si el personal de desarrollo fuese diferente al inicial, ya que además el
código es bastante flexible.
4.11.6 Estándares
Se usará un estándar para todas las ventanas e interfaces las cuales están especificadas en el
documento “Estándares de Interfaz Gráfica.docx”.
Asimismo, se tendrá un estándar para el nombre de los formularios, clases, variables,
métodos y los códigos.
5. Vista Lógica
5.1 Estilo arquitectónico
Para el sistema arquitectónico se ha escogido una arquitectura de tres capas (presentación,
aplicación y persistencia). La utilización de esta arquitectura se debe a que los distintos
niveles son independientes unos de otros de manera que, por ejemplo, se puede cambiar
fácilmente el comportamiento de las clases en el nivel de aplicación sin que ello influya en
las otras capas.
Capa de presentación
La capa de presentación es un conjunto de componentes software que implementan la
interacción con los usuarios a través de una representación visual de la aplicación,
proporcionando a los usuarios una forma de acceder y controlar los datos y los servicios de
los objetos. A partir de la interfaz gráfica, el usuario podrá interactuar con las distintas
ventanas de la aplicación para poder obtener toda la información que desee.
Capa de Lógica de la aplicación
La capa de negocio es el conjunto de componentes software que implementan completamente
el comportamiento de las clases del dominio, especificadas en la fase de modelado
conceptual. Es en este nivel donde se implementa la funcionalidad de la aplicación.
Esta capa sirve de enlace entre los niveles de presentación y de persistencia, ya que la capa de
presentación no accede a la base de datos directamente, sino que se comunica con la capa de
aplicación para demandarle el servicio deseado y es la capa de aplicación la que se comunica
con la capa de persistencia para recuperar los datos necesarios.
Capa de Persistencia o Datos
La capa de persistencia es el conjunto de componentes software que proporcionan una serie
de servicios que permiten a los objetos del dominio interactuar con su repositorio permanente
asociado.
La capa de persistencia se corresponde con la base de datos de la aplicación y las distintas
tablas que la conforman.
: Interfaz Menú : Interfaz Mantener información del : Interfaz Añadir : Interfaz Ventana : Gestor Añadir : Ubicación del : Diseño de
: Jefe de
Principal catálogo de diseño de productos Diseño Explorador Diseño diseño Producto
Producción
Selecciona "Atención al cliente"
Muestra opciones
LlamarInterfaz()
LlamarInterfazAñadirDiseño()
Interfaz Mantener información del
catálogo de diseño de productos
Pulsa "Buscar"
LlamarInterfazVentanaExplorador()
Pulsa "Abrir"
SolicitarDirecciónArchivo()
ObtenerDireccionArchivo(string URL)
VerificarSiEsImagen(string URL)
Pulsa "Guardar"
SolicitarGuardarDiseñoProducto()
GeneraCódigo(int CodDiseño)
MostrarMensajeDeConfirmación()
Jefe de
Producción
IU_Modificar diseño del catálogo IU_VentanaExplorador C_Modificar diseño del E_Ubicación del diseño E_Diseño de Producto
catálogo
Interfaz Menú Principal Interfaz Modificar Diseño Interfaz Ventana Explorador Gestor Modificar Diseño Ubicación del diseño Diseño de Producto
: Interfaz Menú : Interfaz Mantener información del : Interfaz Modificar : Interfaz Ventana : Gestor Modificar : Ubicación del : Diseño de
: Jefe de Principal catálogo de diseño de productos Diseño Explorador Diseño diseño Producto
Producción
Muestra opciones
LlamarInterfaz()
Pulsa "Modificar"
LlamarInterfazModificarDiseño()
Pulsa "Buscar"
VerificarCódigoIngresado(int CodDiseño)
BuscarCódigoDiseño(int CodDiseño)
Código encontrado
ObtenerDirecciónArchivo(string URL)
Dirección de archivo
LlamarInterfazVentanaExplorador()
Pulsa "Abrir"
SolicitarDirecciónArchivo()
ObtenerDirecciónArchivo(string URL)
Dirección de archivo
VerificarSiEsImagen(string URL)
Pulsa "Modificar"
SolicitarGuardarDiseñoProducto()
MostrarMensajeDeConfirmación()
Documento de la Arquitectura de Software
Interfaz Menú Principal Interfaz Eliminar Diseño Gestor E liminar Diseño Diseño de Producto
Jefe de
Producc ión
Muestra opciones
LlamarInterfaz()
Pulsa "Eliminar"
LlamarInterfazEliminarDiseño()
Pulsa "Buscar"
VerificarCódigoIngresado(int CodDiseño)
BuscarCódigoDiseño(int CodDiseño)
Código encontrado
ObtenerDirecciónArchivo(string URL)
Dirección de archivo
Pulsa "Eliminar"
SolicitarDirecciónArchivo()
ObtienerDirecciónArchivo(string URL)
SolicitarEliminarDiseño()
EliminarDiseño(int CodDiseño)
MostrarMensajeDeConfimación()
Pulsa "Aceptar"
Documento de la Arquitectura de Software
Jefe de
Producción
Interfaz Registrar Producto Interfaz Seleccionar Gestor Seleccionar diseño del catálogo Diseño de Producto Product o
diseño del catálogo
LlamarInterfaz()
SolicitarDirecciónArchivo()
ObtenerDirecciónArchivo(string URL)
Pulsa "Guardar"
SolicitarGuardarDiseñoProducto()
: Jefe de
Producción
2: LlamarInterfazRegistrarProducto()
6: SeleccionarDiseñoDelCatalogo()
7: ObtenerDatosDeDiseño()
11: VerificarCamposVacios()
12: GenerarCodigo()
13: AgregarNuevoProducto(int cod, String nombre, String material, String acabado, String desc)
14: MostrarMensajeDeConfirmacion()
Cotizacion Producto
Interfaz Menu principal Interfaz añadir cotizacion
Interfaz Menu Interfaz Mantener Interfaz Añadir Gestor añadir Cliente Cotizacion Producto
: Jefe de Produccion
principal informacion de la cotizacion cotizacion cotizacion
Selecciona "Atencion al Cliente"
Muestra opciones
LlamarInterfarMantenerCotizacion()
Pulsa "Agregar"
Llam arInterfazAñadirCotizacion()
RegistrarProducto()
RegistrarDatosProducto()
ObtenerCodigoNombreProducto(int: CodProducto)
Pulsa "Guardar"
VerificarCampos NoVacios()
VerificarExistenciaCodigoCotizcion(int: NumCotizacion)
GuardarCambios()
GuardarDatos Cotizacion()
GuardarDatosCliente()
IU_ModificarCotizacion
C_ModificarCotizacion E_Cotizacion E_Cliente E_Producto
Cotizacion Producto
Interfaz Menu principal Interfaz Modificar cotizacion
Interfaz Menu Interfaz Mantener Interfaz Modificar Gestor Modificar Cliente Cotizacion Producto
: Jefe de Produccion principal informacion de la cotizacion cotizacion cotizacion
Selecciona "Atencion al cliente"
Muestra opciones
LlamarInterfazMantenerCotizacion()
Pulsa "Modificar"
LlamarInterfazModificarCotizacion()
Pulsa "Buscar"
VerificarExistenciaCotizacion(int: NumCotizacion)
BuscarNumeroCotizacion(int: NumCotizacion)
ObtenerDatosCotizacion(int: NumCotizacion)
ObtenerDatosCliente(int: id_cliente)
ObtenerCodigoNombreProducto(int: CodProducto)
Modificar datos
Pulsa "Guardar"
GuardarCambios()
GuardarCambiosCliente()
GuardarCambiosCotizacion()
GuardarCambiosProductos()
Documento de la Arquitectura de Software
Cliente Producto
Interfaz Menu principal Interfaz Eliminar cotizacion
Interfaz Menu Interfaz Mantener informacion de Interfaz Eliminar Gestor Eliminar Cliente Cotizacion Producto
: Jefe de Produccion principal la cotizacion cotizacion cotizacion
Selecciona "Atencion al cliente"
Muestra opciones
LlamarInterfazMantenerCotizacion()
Pulsa "Eliminar"
LlamarInterfazEliminarCotizacion()
Pulsa "Buscar"
VerificarExistenciaCotizacion()
BuscarNumeroCotizacion(int: NumCotizacion)
ObtenerDatosCotizacion(int: NumCotizacion)
ObtenerDatosCliente(int: CodCliente)
ObtenerCodigoNombreProducto(int: CodProductos)
Pulsa "Eliminar"
ConfirmarEliminarCotizacion()
Pulsa "Si"
EliminarCotizacion()
EliminarDatosCotizacion(int: NumCotizacion)
EliminarDatosCliente(int: id_cliente)
EliminarDatosProductos(int: CodProductos)
Documento de la Arquitectura de Software
E_Pedido
IU:RegistrarPedido C_RegistrarPedido E_Cotizacion
llamar interfaz()
MuestraInterfazRegistrarPedido
Ingresanumero de cotizacion
Pulsa "Buscar"
verificarNumerodeCotizacion(int numcot)
BuscarNumerodeCotizacion(int numcot)
ObtenerDatosCotizacion(int numcot)
MostrarDatosCotizacion
Pulsa "Guardar"
SolicitarGuardarPedido()
GuardarPedido(Pedido pedido)
MostrarMensaje()
Documento de la Arquitectura de Software
5.3.3 Agrupación de las clases de diseño en Subsistema del paquete Atención al cliente
Subsistema Servicio al cliente
Clases:
Interfaz Menú principal
Interfaz Mantener información de la cotización
Interfaz Añadir cotización
Interfaz Modificar cotización
Interfaz Eliminar cotización
Interfaz Registrar Pedido
Gestor Añadir cotización
Gestor Modificar cotización
Gestor Eliminar cotización
Gestor Registrar Pedido
Cotización
Cliente
Producto
Pedido
Subsistema Gestión de producto
Clases:
Interfaz Menú principal
Interfaz Registrar Cotización
Interfaz Mantener información del catálogo de diseño de producto
Interfaz Seleccionar diseño del catalogo
Interfaz Registrar producto
Interfaz Añadir Diseño
Interfaz Modificar diseño
Interfaz Eliminar diseño
Interfaz Ventana Explorador
Gestor Añadir Diseño
Gestor Modificar Diseño
Gestor Eliminar Diseño
Gestor Seleccionar diseño del catalogo
Gestor Registrar producto
Documento de la Arquitectura de Software
Clase: Cotización
RESPONSABILIDADES COLABORACIONES
Clase: Cliente
RESPONSABILIDADES COLABORACIONES
Clase : Producto
RESPONSABILIDADES COLABORACIONES
Clase: Pedido
RESPONSABILIDADES COLABORACIONES
LlamarInterfazMantenerCotizacion() LlamarInterfazEliminarCotizacion()
...
LlamarInterfazAñadirCotirzacion()
... LlamarInterfazModificarCotizacion()
...
LlamarInterfazRegistrarPedido()
...
VerificarNumeroCotizacion(Numcot : Integer)
... VerificarExistenciaCotizacion(NumCotizacion : Integer)
...
SolicitarGuardarPedido() GuardarCambios()
RegistrarProducto()
VerificarExistenciaCotizacion()
...
VerificarCamposVacios(NumCotizacion : Integer)
...
ConfirmarEliminarCotizacion()
VerificarExistenciaCodigoCotizacion()
EliminarCotizacion()
GuardarCambios()
Producto
Codigo : Integer
Nombre : String
Material : String
TipoAcabado : String
Descripcion : String
PrecioUnitario : Double
Cantidad : Integer
RegistrarProducto()
ObtenerNombreCodigoProducto(CodProducto : Integer)
elimiarDatosProducto(CodProducto : Integer)
AgregarNuevoProducto(prod : Producto)
GuardarDiseñoProduto(CodDiseño : Integer, URL : String)
1..*
Incluye
1
Cotizacion
NumCotizacion : Integer
CodProducto : Integer
NomProducto : String Cliente
Cantidad : Integer
CodCliente : Integer
FechaMaxValidez : Date
NomClient : String
FechaEntrega : Date
Solicita Direccion : String
TipoEntrega : String
Telefono : String
CotaInicial : Double
PrecioUnitario : Double 0..* 1
ObtenerDatosCliente(idCliente : Integer)
...
PrecioTotal : Double
GuardarCambiosCliente()
EliminarDatosCliente(IdCliente : Integer)
...
BuscarNumeroCotizacion(CodCotizacion : Integer)
...
GuardarDatosCliente()
GuardarDatosCotizacion()
ObtenerDatosCotizacion()
GuardarCambiosCotizacion()
EliminarDatosCotizacion(NumCotizacion : Integer)
...
Pedido
Estado : String
GuardarPedido(Pedido : Pedido)
BuscarNumeroPedido(NumPedido : Integer)
RESPONSABILIDADES COLABORACIONES
Hace una llamada a la interfaz Añadir Clase: Interfaz Mantener información del
Diseño catálogo de diseño de productos
Hace una llamada a la interfaz Modificar Clase: Interfaz Mantener información del
Diseño catálogo de diseño de productos
Hace una llamada a la interfaz Eliminar Clase: Interfaz Mantener información del
Diseño catálogo de diseño de productos
RESPONSABILIDADES COLABORACIONES
Verificar que los campos no estén vacíos Clase: Interfaz Registrar producto
Clase : Producto
RESPONSABILIDADES COLABORACIONES
Interfaz Mantener Informacion del Catalogo de diseños de productos Interfaz Seleccionar Diseño del Catalogo Interfaz Registrar Producto
LlamarInterfazModificarDiseño() LlamarInterfazAñadirDiseño()
... LlamarInterfazEliminarDiseño()
SolicitarDireccionArchivo() SeleccionarDiseñoCatalogo()
SolicitarGuardarDiseñoProducto() VerificarCamposVacios()
GenerarCodigodeProducto()
Producto
Codigo : Integer
Nombre : String Diseño de Producto
Material : String CodDiseño : Integer
TipoAcabado : String URL : String
Descripcion : String CodProducto : Integer
PrecioUnitario : Double
Cantidad : Integer GuardarDiseñoProducto(CodDiseño : Integer, URL : String)
...
1..* 1
BuscarCodigoDiseño(CodDiseño : Integer)
RegistrarProducto() ObtenerDireccionArchivo(URL : String)
ObtenerNombreCodigoProducto(CodProducto : Integer) EliminarDiseño(CodDiseño : Integer) : Int
elimiarDatosProducto(CodProducto : Integer) ObtenerDatosDelDiseño()
AgregarNuevoProducto(prod : Producto)
GuardarDiseñoProduto(CodDiseño : Integer, URL : String)
le corresponde
Ubicacion de diseño
URL : String
ObtenerDireccionArchivo(URL : String)
...
Documento de la Arquitectura de Software
6. Vista de despliegue
PC Servidor de Base
de Datos
LAN Switch LAN
Documento de la Arquitectura de Software
6.2 Switch
Características
Como mínimo 5 puertos
Ancho de banda por ranura: 48 Gbps
Terminación inalámbrica máxima: 20 Gb
Documento de la Arquitectura de Software
6.4 Switch
Características
Como mínimo 5 puertos
Ancho de banda por ranura: 48 Gbps
Terminación inalámbrica máxima: 20 Gb
6.5 Computadoras
Características
Intel Core i3
Memoria Ram 512 MB
Hd 100gb
Sistema operativo: Windows XP/7/8
Tipos:
- PC Jefe de producción
Computadora que será utilizada por cada uno de los usuarios de la empresa, en
este caso, el jefe de producción, para acceder al sistema. Está conectada
directamente al servidor principal vía LAN.
- PC Supervisor de tareas
Computadora que será utilizada por cada uno de los usuarios de la empresa, en
este caso, el supervisor de tareas, para acceder al sistema. Está conectada
directamente al servidor principal vía LAN.
- PC Encargado de despacho
Computadora que será utilizada por cada uno de los usuarios de la empresa, en
este caso, encargado de despacho, para acceder al sistema. Está conectada
directamente al servidor principal vía LAN.
Documento de la Arquitectura de Software
7. Vista de implementación
7.1 Descripción
En esta vista de implementación se presenta el sistema en términos de componentes, es decir
ficheros de código fuente. Nos enfocaremos en la organización de los módulos de software.
Se ha decidido separar en tres módulos Servicio al cliente (abarca cada una de las actividades
del paquete servicio al cliente), Gestión de producto (abarca cada una de las actividades del
paquete de Gestión de producto) y Gestión de tareas de operario (abarca cada una de las
actividades del paquete Gestión de tareas de operario).
En esta vista también se explicara cual es la relación de entre los componentes y la clase de
diseño de cada módulo.
<<implementation subsystem>>
<<design subsystem>> Servicio_al_Cliente
Servicio al cliente
<<trace 1:1>>
<<implementation subsystem>>
<<design subsystem>> Gestion_de_producto
Gestion de producto
<<trace 1:1>>
<<implementation subsystem>>
<<design subsystem>> Gestion_de_tareas_de_operarios
Gestion de tareas de operarios
<<trace 1:1>>
Documento de la Arquitectura de Software
<<implementation subsystem>>
Servicio al cliente
<<implementation subsystem>>
Gestion_de_producto
IniciarSesion
GestorOperario.ja GestorTareas.jav
va a
<<file>> <<file>> GestorSeleccionar GestorRegistrarProduc
Cotizacion.ja <<file>> to.java
Pedido.java UbicacionDiseño DiseñoCatalog...
va .java
Conexion a BD
Base de Datos
Documento de la Arquitectura de Software
8. Vista de Datos
8.1 Modelo Relacional
Documento de la Arquitectura de Software
Base de datos