
Plantilla Diseño del Sistema Analisis y desarrollo de sistemas de informacion (ADSI)
- Introducción
El presente documento se quiere dar a conocer el diseño del sistema CONTABSYSTEM, donde se expondrán, sus objetivos, diseño, mejoras e implementación.
- Propósito del sistema.
Crear el diseño de un sistema (CONTABSYSTEM) con el fin de ayudar a sus usuarios en las actividades diarias de la contabilidad de sus negocios, donde puedan tener un manejo más completo de sus ingresos, estará disponible una versión online y se podrá utilizar en cualquier lugar con un usuario y una contraseña sin necesidad de descargarlo, si el usuario así lo desea, si no podrá trabajar desde los servidores de “CONTABSYSTEM” solo necesitara una conexión a internet de aproximadamente un (1Mb) megabyte para el buen rendimiento del mismo, también contara con una versión instalable para Windows, con requerimientos mínimos, esto con el fin de que en las pequeñas empresas puedan ejecutar el sistema correctamente sin invertir muchos recursos tecnológicos, para ellos tendremos un servidor dedicado, trabajando con MySQL para almacenar los datos y peticiones que se realicen a través del sistema CS, es primordial la eficiencia, por encima de la portabilidad pero hemos pensado que un sistema debe ser portable y eficaz, para un buen rendimiento.
1.2. Objetivos del diseño
CONFIABILIDAD: Este producto le dará al cliente confianza en todas ejecuciones, brindándole madurez tolerancia y seguridad de datos, que por fallas en el sistema se hayan perdido accidentalmente.
USABILIDA: Dado que el sistema trabaja con una RED TECNOLOGICA SIMPLE, esta tiene la característica de adaptabilidad, comprensibilidad, accesibilidad, para que nuestro cliente pueda manejar su base de datos sin emplear mucho esfuerzo en su ejecución
.
EFICIENCIA: que sea un software practico, con excelente rendimiento por ello se pensó en requerimientos mínimos para el desempeño de CB.
1.3. Definiciones, acrónimos y abreviaturas
CB : abreviatura Nombre del sistema CONTABSYSTEM
MySQL: sistema de manejo de base de datos
1.4. Referencias
Referencias a otros documentos e información de trazabilidad – documento/s de análisis de requisitos relacionados, sistemas existentes, restricciones que afectan a la arquitectura software, etc.
- Representación de la arquitectura.
2.1 Metas y restricciones de la Arquitectura
SEGURIDAD
CB no es un sistema de alto riesgo pero todo sistema tiene sus vulnerabilidades por lo tanto se crea unos requisitos, para así brindar seguridad a la información de nuestros clientes, desde el punto externo se invierte en infraestructura interna de contabsystem es decir en servidores, con protección, la mayor parte de los ataques a servidores se dan por DoS por lo que se crear reglas en el servidor para evitar estos ataques y la caída del servidor.
En lo interno se crea autenticación de 2 pasos, es decir no solo se debe ingresar al sistema con nombre de usuario y contraseña, también deberá responder a la pregunta de seguridad que previamente se ha configurado.
PORTABILIDAD
Es un sistema portable al ser basado en la nube, pero la versión de escritorio, tiene la funcionalidad de crear backups en nuestros servidores con el fin de evitar la pérdida de información en caso de un error, daño o falla en el equipo de escritorio.
RENDIMIENTO
Al ser un sistema pensado para empresas pequeñas y medianas, se diseña con requisitos mínimos para ejecutarse.
- 4 Gigabyte de MEMORIA RAM (2Gb para Windows XP,VISTA)
- Gb De espacio disponible en el disco duro
- Procesador de 2.0 GHz
- Sistema operativo Windows 7 (recomendado)
- Conexión a internet para realizar Backups (copias de seguridad automáticas)
2.2 Reutilización
El uso de frameworks facilita el diseño del programa, como escuche alguna vez, “porque Re-Inventar la rueda, hay que mejorarla e innovar”, a que quiero llegar con esto, en el sistema se van a usar clases, conexiones gestor de bases de datos etc. para no desarrollar de nuevo estas, se usan los framework para normalizar la información
.
- Vista lógica
Aquí se describe la descomposición funcional de la aplicación basándose en una ordenación lógica de los requisitos de la aplicación. Los aspectos de la aplicación con una funcionalidad similar se deben agrupar en un subsistema. Se deben representar las dependencias entre los subsistemas.
- Identificación de Subsistemas
INFORME:
- Artículos Vendidos
- Artículos en Stock o Bodega
REGISTROS:
- Registro de Proveedores
- Registro de Clientes
- Registrar códigos de cuentas nuevas
- 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
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.
Una de las clases más importantes es FACTURA ya que es la encargada de llamar y recibir información de las demás clases, con el fin de tener un registro detallado tanto para la empresa como para el cliente.
- 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.
Diagramas de secuencia
DIAGRAMA DE SECUENCIA GENERAL
REGISTROS DE PRODUCTOS
REGISTRO DE VENTAS
- 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.
- Modelo de datos
- Diccionario de datos
Database Model plugin_tmp.xml
CLIENTES | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
EMPLEADO | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
FACTURA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Pago | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|
PRODUCTOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
PROVEEDOR | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|
TipoEmpleado | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
|
TipoFactura | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
|
tipoIdentificacion | ||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||
|
TipoPago | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|
- Vista de Interacción
- Interfaces de Usuario.
A continuación se exponen las vistas de la interface de usuario, empezando con el login.
- Login
- MENÚ DE NAVEGACION
- MODULO DE VENTAS
REGISTRAR NUEVOREGISTRO DE CLIENTE
CONSULTAR O MODIFICAR PRODUCTOS
REGISTRAR FACTURA
GENERAR INFORME DE STOCK INVENTARIO
CUENTAS POR COBRAR
REGISTRO DE PROVEEDOR
REGISTRO DE VENDEDOR
Mapa de Navegación
Presenta la estructura global de navegación de la aplicación.
- Vista de seguridad
MECANISMO DE AUTENTICACIÓN
El sistema usa mecanismos de autenticación para definir si un usuario en realidad es quien dice ser, por para validar esta información se usa un sistema de usuario y contraseña para autenticarse.
Por lo tanto es importante que ningún usuario preste su nombre de usuario y contraseña.
El nombre de usuario se generara en base el nombre del usuario por ejemplo:
Si el administrador se llama: JAIRO ALEXIS CARDENAS VALENCIA se tomara las dos primeras letras del primer nombre y el primer apellido. Es decir para nuestro caso quedaría así: JACARDENAS
Para la contraseña, cuando el administrador crea un nuevo usuario se envía la contraseña nueva generada al azar al correo del nuevo usuario, cuando el usuario ingrese por primera vez se redirigirá a una ventana de cambio de contraseña, en la cual generara una contraseña a su gusto que cumpla con los siguientes requisitos:
- más de 6 caracteres
- 1 letra Mayúscula
- 1 minúscula
- 1 numero
En nuestro sistema se pensó en un cifrado de datos almacenados en el sistema de archivos del ordenador y servidor. Aunque el sistema no requiere de mucha seguridad por ser un sistema de bajo riesgo siempre es bueno aplicar normas de seguridad, para este fin se puede crear un auto cifrado de los datos y backups (copias de seguridad) que almacene el sistema de información en el disco duro local.
Para realizar las copias de seguridad en nuestros servidores se deberá usar una conexión cifrados de datos de 256 bits, para ello se contara con un certificado SSL.
PROCEDIMIENTOS ADICIONALES DE SEGURIDAD
- Nunca revelar datos de acceso ya que son personales
- realizar el mantenimiento a través de empresas profesionales en el área para evitar que técnicos inescrupulosos instalen códigos maliciosos en el ordenador
- Vista de Implementación
Describe la estructura general del modelo de implementación y la descomposición del sistema.
- 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.
Para desarrollar CS, se usara el IDE NETBEANS ya que es uno de los mejores para trabajar con PHP, librerías y plugins, pero por otro lado para el diseño de interfaces, se puede usar el IDE BRACKETS, que permite editar código en tiempo real, es decir ver y actualizar el diseño, mientras se introduce código.
- Paquetes/Componentes
Describir el modo principal de comunicación entre los procesos del sistema operativo. Incluir diagramas de componentes.
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.
- Vista de Administración
Describe las distintas opciones de la administración del software.