Está en la página 1de 11

Plantilla Diseño del Sistema

Apreciado aprendiz, debe diligenciar este informe con el fin de determinar el


Informe Final de Diseño de Arquitectura Tecnológica que utilizara el sistema de
información.

Recuerde: Para realizar este informe usted debe recopilar las evidencias
realizadas durante toda la fase de Diseño tratadas en las guías de aprendizaje
correspondientes.

Esta plantilla corresponde con la “Descripción del Diseño del Software” y se basa
en el estándar empleado para desarrollar esta documentación de forma
normalizada como lo es el IEEE Std. 1016-1998, que identifica prácticas
recomendadas para describir los diseños de software. Especifica la información
que debe contener, y recomienda cómo organizarla.
Tabla de contenido
1. Introducción

Debido a la constante fallas de comunicación entre el vendedor de una


micro-tienda y el asesor comercial que se encarga de hacer las solicitudes
de los productos a pedir, se pretende implementar un sistema de datos que
permita una mejor comunicación a la hora de hacer un pedido entre el
propietario de la micro-tienda y el proveedor.

1.1. Propósito del sistema.

Se pretende implementar un sistema que mejore la falta de comunicación que se


tiene a la hora de hacer un pedido, además de generar una correcta información al
ver los productos mediante el sistema anteriormente dicho, ya que generalmente el
vendedor no tiene la información a la hora de cuantos productos se tienen, generando
un conflicto y posible caída de venta.
Se deberá contar con:

 Computador portátil/escritorio o dispositivo móvil (comprador)


 Aplicación móvil/web
 Servidor, administración de los datos (proveedor)
 Conexión a internet o datos móviles (según sea el caso)

1.2. Objetivos del diseño

Generales Específicos
 Proporcionar correctamente la
información deseada.
 Proporcionar una interfaz simple
Satisfacción de los usuarios y agradable.
 Generar confianza entre los
usuarios.
Describir las características
Especificación de los elementos relacionadas con el sistema de
información.
Especificaciones de software Describir las funciones y componentes
del mismo.
Creación del sistema según
Características según el proveedor características y normas dichas por el
cliente (proveedor).

1.3. Definiciones, acrónimos y abreviaturas

Password: Una contraseña o clave, es una forma de autentificación que utiliza


información secreta para controlar el acceso hacia algún recurso.
ALGORITMO: Conjunto de reglas bien definidas para la resolución de un
problema. Un programa de software es la transcripción, en lenguaje de
programación, de un algoritmo.
BACK-END PROCESSOR: Procesador que se utiliza para determinada
función muy especializada, como, por ejemplo, administrar una base de datos.
BACKUP: Copia de seguridad. Se hace para prevenir una posible pérdida de
información.
BASE DE DATOS: Conjunto de datos organizados de modo tal que resulte fácil
acceder a ellos, gestionarlos y actualizarlos.
CASOS DE USO: Es una descripción de los pasos o las actividades que deberán
realizarse para llevar a cabo algún proceso. Los personajes o entidades que
participarán en un caso de uso se denominan actores. En el contexto de ingeniería
del software, un caso de uso es una secuencia de interacciones que se
desarrollarán entre un sistema y sus actores en respuesta a un evento que inicia
un actor principal sobre el propio sistema.
COMANDO (command): Instrucción que un usuario da al sistema
operativo de la computadora para realizar determinada tarea.
DATA ENTRY: Ingreso de datos. Proceso de ingresar datos a una computadora
para su procesamiento.
DATA: Datos, información.
DEBUGGING: Depuración, corrección de errores o bugs.
DIRECTORIO (directory): Grupo de archivos relacionados entre sí que se
guardan bajo un nombre.
INTERFACE: Elemento de transición o conexión que facilita el intercambio de
datos. El teclado, por ejemplo, es una interface entre el usuario y la computadora.
JAVA: Lenguaje de programación y la primera plataforma informática creada por
Sun Microsystems en 1995. Es la tecnología subyacente que permite el
uso de programas punteros, como herramientas, juegos y aplicaciones de
negocios. Java se ejecuta en más de 850 millones de ordenadores personales de
todo el mundo y en miles de millones de dispositivos, como dispositivos móviles y
aparatos de televisión.
LENGUAJE DE PROGRAMACIÓN: Sistema de escritura para la descripción
precisa de algoritmos o programas informáticos.

1.4. Referencias
Si desea una mejor especificación del proyecto puede consultar los
documentos:
 Definir la Arquitectura tecnológica para su proyecto de formación
 Definir la Arquitectura lógica del software para su proyecto de
formación
 Interfaz Gráfica de Usuario para el proyecto de formación
2. Representación de la arquitectura.

Diagrama 1

Diagrama 2
2.1 Metas y restricciones de la Arquitectura

En el diagrama 1, se presenta la relación que hay entre cada clase y se describe


la estructura del sistema de información como lo son las ordenes que es el
enfoque del proyecto, adicionalmente se estructura el sistema mostrando las
clases, atributos, métodos y relaciones entre cada objeto.

En el diagrama 2 se representan las dependencias entre los paquetes que


componen el proyecto, se muestra como el sistema está dividido en agrupaciones
lógicas y las dependencias entre estas agrupaciones, Mediante este diagrama se
muestra como está dividido en forma jerárquica.

2.2 Reutilización

Dos de las formas más comunes de reutilizar funcionalidad en sistemas orientados


a objetos es a través de la herencia de clases y la composición de objetos. La
reutilización con herencia de clases es comúnmente llamada white box reuse. Este
término se refiere a que, con herencia, los datos internos de la clase padre son a
veces visibles a sus clases hijas. La composición de objetos es una alternativa a la
herencia de clases, ya que se puede obtener nueva funcionalidad ensamblando
objetos, para obtener una funcionalidad mayor y más compleja. La composición de
objetos requiere que los objetos a ser ensamblados tengan correctamente
definidas sus interfaces. Este estilo de reutilización es comúnmente llamado black
box reuse, ya que los detalles internos de los objetos no son visibles, es decir, los
objetos se manejan únicamente como cajas negras.
La herencia de clases es definida de forma estática, en tiempo de compilación.
Esta forma de reutilización hace más fácil modificar la implementación a ser
reutilizada, ya que cuando una subclase sobrescribe algunas operaciones, puede
afectar las operaciones que hereda, asumiendo que sean llamados las
operaciones que han sido reescritos. La herencia de clases tiene algunas
desventajas como, por ejemplo: No se puede cambiar la implementación heredada
de una clase padre en tiempo de corrida, ya que la herencia es definida en tiempo
de compilación. Otra desventaja es que la herencia por lo regular expone detalles
de la implementación de la clase padre a sus clases hijas, por lo que se dice que
“la herencia rompe la encapsulación”. La implementación de subclases se vuelve
muy dependiente de la implementación de la clase padre, por lo que cualquier
cambio en la clase padre forzará a realizar cambios en las clases hijas. Estas
dependencias de implementación pueden causar problemas cuando se intenta
reutilizar una subclase, por lo que limita la flexibilidad y reusabilidad del diseño.
Una solución a este problema es usar herencia solo de clases abstractas, ya que
estas clases proveen poca o ninguna implementación.
3. Vista lógica
3.1 Identificación de Subsistemas

Descomponer el sistema en subsistemas funcionales, para realizar esto se deben


agrupar las tareas del sistema que presenten propiedades en común y que presten un
mismo tipo de servicio o funcionalidad.
 Se debe procurar realizar un número pequeño de subsistemas
 Cada subsistema debe tener un mecanismo de colaboración con el resto.
 Utilizar los diagramas de paquetes para su representación
 Al interior de cada paquete se puede incorporar las clases que lo componen

3.2 Estructuración por capas.

Una vez que se han determinado los subsistemas, agruparlos mediante una
estructuración por capas, donde cada una determina un nivel de abstracción.
 Determinar el número de capas a implementar, acorde con el sistema
 Nombrar cada capa y definir su funcionalidad
 Asignar los subsistemas / paquetes /clases que corresponden con cada capa
 Se pueden utilizar diagramas de paquetes

3.3 Diagrama de Clases del diseño


Presentar las clases significativas de la arquitectura y describir sus
responsabilidades, así como las relaciones importantes basadas en la arquitectura,
operaciones y atributos. Especificar los patrones de diseño que pueden estar
incluidos.

4. Vista del proceso

Describe la descomposición del sistema en procesos, se debe representar la información


solicitada utilizando diagramas de secuencia para tres de los casos de uso más
representativos del negocio.

4.1 Diagramas de secuencia

Se debe representar la información solicitada utilizando diagramas de secuencia


específicos del proyecto (diagramas de interacción de objetos), preferiblemente
utilizando la notación UML. Donde sea posible, los diagramas explican el proceso de
interacción requerido por los casos de uso principales.

5. Vista de datos

Describe el modelo de datos del sistema que se va a desarrollar. Se realiza la


identificación a través de diagramas relacionales que presenten el modelo de base de
datos a implementar y su descripción usando el diccionario de datos.

5.1 Modelo de datos

Se presenta el modelo relacional de la base de datos a través de un diagrama, donde


se identifican las tablas, campos y relaciones entre tablas que fueron definidas para
almacenar los datos del sistema de información.

5.2 Diccionario de datos

Se puede construir el formato específico que detalle para cada una de las tablas los
campos, tipos de datos y restricciones o elementos de integridad a ser incorporados.
También se pueden utilizar los generados por herramientas CASE.

6. Vista de Interacción

Se deben presentar las distintas interacciones con las que contará la aplicación, para
lo cual se presenta las interfaces de usuario.

6.1 Interfaces de Usuario.

Lista y describe las interfaces de usuario de la aplicación, especificarlas por caso de


uso.
6.2 Mapa de Navegación

Presenta la estructura global de navegación de la aplicación.

7. Vista de seguridad

Describir los distintos elementos y sistemas de seguridad con los que cuenta el
software.
Sistema de Acceso
Se debe definir de forma clara el acceso al sistema: nivel de seguridad de acceso,
empleo de las claves de acceso. Incluir la segmentación de procesos, perfiles y roles
y los mecanismos de autenticación a implementar en el sistema
Cifrado de datos
Existe información en la base de datos que debe ser cifrada o encriptada. Si es así
que algoritmos de encripción se utilizarían.

8. Vista de Implementación

Describe la estructura general del modelo de implementación y la descomposición del


sistema.

8.1 Herramientas de Desarrollo e implementación

Describe las herramientas tecnológicas que se deben utilizar para el desarrollo del
sistema, incluye: IDE, Lenguaje de Programación, base de datos, framework, etc.
Además el software que se requiere para su ejecución y puesta en marcha: servidor
de aplicaciones/web, Sistema de base de datos, Librerias, plugins, etc.

8.2 Paquetes/Componentes

Describir el modo principal de comunicación entre los procesos del sistema operativo.
Incluir diagramas de componentes.

8.3 Despliegue

Describir la configuración de la plataforma física (procesador/almacenamiento) en la


que el software va a ser desplegado. Si el sistema se va a desplegar en varios sitios,
proporcionar una vista de despliegue para cada sitio diferente. Como mínimo, para
cada configuración, se deben indicar los nodos físicos (ej.: ordenadores, CPUs,
memorias) que ejecutan el software y sus interconexiones (ej.: bus, topología LAN,
punto a punto, WAN).
Incluir un mapeo entre los procesos de la vista de proceso y los nodos físicos. La
notación preferida es UML para la vista de despliegue.

8.4 Vista de Administración


Describe las distintas opciones de la administración del software.

También podría gustarte