1. Introducción
Generales Específicos
2. Representación de la arquitectura.
La meta principal de la arquitectura del sistema es mostrar los aspectos principales que
influirán en la etapa de desarrollo. Se tomarán en cuenta las siguientes metas y
restricciones para el diseño de la arquitectura del sistema:
2.1 Metas y restricciones de la Arquitectura
De acuerdo con el proyecto y tomando como referencia el Informe de Análisis del Sistema
realizado en la segunda fase del proyecto; se construyeron los Diagramas de Clases y los
de componentes, además se estructuró los paquetes que los organizarían.
2. Reutilización de Diseños
* No volver a inventar arquitecturas p.ej. patrones de diseño P.ej. patrones
arquitectónicos (C/S, OO, etc.)
3. Reutilización de Especificaciones
4. Reutilización de las abstracciones del dominio
5. Debe estar asociada a la generación (semi)automática de los elementos de diseño
e implementación.
Aspectos para la reutilización de software existente
1. Si los componentes ya desarrollados cumplen los requisitos del proyecto, se adquirirán.
El coste de la adquisición y de la integración de los componentes ya desarrollados serán
casi siempre menores que el coste para desarrollar el software equivalente. Además, el
riesgo es relativamente bajo.
2. Si se dispone de componentes ya experimentados, los riesgos asociados a la
modificación y a la integración generalmente se aceptan. El plan del proyecto debería
reflejar la utilización de estos componentes.
Ventajas
• Reducir el tiempo de desarrollo.
• Reducir los costos.
• Incrementar la productividad.
• No tener que reinventar las soluciones.
• Facilitar la compartición de productos del ciclo de vida.
• Mayor fiabilidad
• Mayor eficiencia (Aunque al principio pueda parecer que no)
• Consistencia y la familiaridad, los patrones dentro del software serán más
consistentes, tendiendo a facilitar el mantenimiento del producto.
3. Vista lógica
Para este punto representa los sucesivos refinamientos que definen las diferentes
unidades lógicas que componen la arquitectura del software.
El primer refinamiento realizado consiste en la descomposición en subsistemas. Los
subsistemas representan cortes verticales al diseño del sistema. Cada subsistema
consiste en el agrupamiento de diferentes funcionalidades relacionadas entre sí y posee
la capacidad de funcionar como un sistema en sí mismo.
Posteriormente se explora la composición de cada uno de los subsistemas.
Finalmente se incluye la realización de los casos de uso descriptos en la sección anterior
mediante los componentes arquitectónicos definidos.
3.1Diagrama 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.1Diagramas 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.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.1Interfaces de Usuario.
7. Vista de seguridad
Roles, Permisos y Privilegios
Definimos la Autorización como el proceso por el cual se determina qué, cómo y cuándo,
un usuario autenticado puede utilizar el sistema de la organización. El mecanismo o el
grado de autorización pueden variar dependiendo de qué sea lo que se está protegiendo.
No toda la información de M igual de crítica. Los recursos en general y los datos en
particular, se organizan en niveles y cada nivel debe tener una autorización. Dependiendo
del recurso la autorización puede hacerse por medio de la firma en un formulario o
mediante una contraseña, pero siempre es necesario que dicha autorización quede
registrada para ser controlada posteriormente. En el caso de los datos, la autorización
debe asegurar la confidencialidad e integridad, ya sea dando o denegando el acceso en
lectura, modificación, creación o borrado de los datos. Por otra parte, solo se debe dar
autorización a acceder a un recurso a aquellos usuarios que lo necesiten para hacer su
trabajo, y si no se le negará.
El sistema de roles y usuarios de podríamos definirlo como la clasificación de privilegios
de operación en nuestro sistema, para entenderlo un poco mejor tendríamos que
enumerar y explicar lo siguiente;
Usuarios: son los que interactúan con nuestro sistema a los cuales debemos controlar
para validar que pueden o no hacer.
Perfiles: son los roles que se le asignaran o negaran a un usuario para conceder
privilegios en el sistema.
Recursos: son las zonas en las que dividiremos la aplicación por ejemplo: crear usuario,
Modificar cliente, eliminar pedido, etc...
DIRECTIVOS
TECNICO
Sistema de autenticación
Define la Autenticación como la verificación de la identidad del usuario, generalmente
cuando entra en el sistema o la red, o accede a una base de datos. Normalmente para
entrar en el sistema se utiliza un nombre de usuario y una contraseña. Este método será
mejor o peor dependiendo de las características de la contraseña. En la medida que la
contraseña sea más grande y compleja para ser adivinada, más difícil será burlar esta
técnica. Además, la contraseña debe ser confidencial. No puede ser conocida por nadie
más que el usuario. Muchas veces sucede que los usuarios se prestan las contraseñas o
las anotan en un papel pegado en el escritorio y que puede ser leído por cualquier otro
usuario, comprometiendo a la empresa y al empleado, ya que la acción/es que se hagan
con esa contraseña es/son responsabilidad del empleado/s. Para que la contraseña sea
difícil de adivinar debe tener un conjunto de caracteres amplio y variado (con minúsculas,
mayúsculas y números). El problema es que los usuarios difícilmente recuerdan
contraseñas tan elaboradas y utilizan (utilizamos) palabras previsibles (el nombre, el
apellido, el nombre de usuario, el grupo musical preferido,...), que facilitan la tarea a
quién quiere entrar en el sistema sin autorización.
8. Vista de Implementación
• virtuales
Comprobación de corrección
Métricas
• Transferencia directa
• Transferencia mediante ficheros
• Transferencia mediante comunicación
• Repositorio común
• Conversión de formatos o Lenguaje AWK (o PERL). Técnicas XML
Integración de control
• Concepto o Invocar
servicios o herramientas
desde otras o Requiere
integración de datos
• Técnicas o Procesos,
mensajes, llamadas
o Uso del "Shell"
o Envoltorios
(wrappers)
Integración de presentación
Pueden servir como frontal (front-end) general de interacción con el usuario o Facilita la
integración de presentación Ofrecen como funciones principales:
o Edición de código, datos, etc.
o Modos dependientes del tipo de fichero
Facilitan la integración de control o Invocación de órdenes externas o Captura y análisis
de resultados
• Emacs
o Personalizable con e-lisp o Sirve como herramienta universal
• Vim o Personalizable con macros y descripción de sintaxis (analizador
léxico)
• MED
o Personalizable con expresiones regulares y tablas de
propiedades
• Eclipse o Personalizable mediante plug-ins
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, Librerías, plugins, etc.
8.2 Paquetes/Componentes