Beruflich Dokumente
Kultur Dokumente
LISANDRO ALVARADO
Barquisimeto, 2010
Barquisimeto, 2010
INDICE GENERAL
RESUMEN ....................................................................................................................... 4
INTRODUCCION ........................................................................................................... 6
METODOLOGIA DE TRABAJO ............................................................................... 9
DESCRIPCIN DEL PROBLEMA ...........................................................................12
BASES TEORICAS .......................................................................................................16
Arquitectura de Software .................................................................................16
Patrn de Software ............................................................................................20
Clasificacin de los Patrones ............................................................................22
Lenguaje de Patrones ........................................................................................23
Lenguaje de Patrones para Aplicaciones Empresariales .............................24
CONCLUSIONES ..........................................................................................................53
REFERENCIAS BIBLIOGRAFICA ..........................................................................55
Software de amplio impacto, garantiza la calidad del mismo y su fcil adaptacin para
la incorporacin nuevas funcionalidades y modificaciones menores, en este contexto la
Arquitectura de Software es preponderante en las primeras etapas de desarrollo del
sistema, pues ofrece una visin general y abstracta del sistema a desarrollar, una
descripcin a muy alto nivel de su estructura y control global, los protocolos de
comunicacin y sincronizacin utilizados, la distribucin fsica del sistema y sus
componentes, la arquitectura puede ser enriquecida por un conjunto de patrones que
supervisen la composicin de sus componentes y las restricciones de comunicacin
entre ellos. Estas tcnicas de construccin de software pueden ser de gran valor
cuando se aplican a procesos dinmicos y cambiantes como por ejemplo
los
dependencias de la Universidad.
Palabras Claves: Arquitectura de Software, Lenguaje de Patrones, Patrn de
Software.
INTRODUCCION
La UCLA est constituida por Decanatos, los cuales son rganos administrativos
investigacin y extensin. Para que en los Decanato se puedan llevar a cabo estas
actividades, se requiere de la administracin de recursos tanto fsicos (aulas,
Unidad de Patrimonio.
Es indispensable para la secretaria general lograr que la informacin que maneja
fluya de la manera ms rpida posible hacia las distintas unidades y direcciones, ya que
este es un insumo indispensable para la toma de decisiones en la estructura gerencial
de la UCLA.
La Direccin de Admisin y Control de Estudios (DACE) es la encargada de
La DACE lleva a cabo sus actividades con el apoyo de cada unidad de Registro
Acadmico
diversos Registros Acadmicos de la UCLA, este problema tiene que ver con
METODOLOGIA DE TRABAJO
Exploracin
Esta fase tiene como objetivo realizar un anlisis de las necesidades en el cliente.
Para el caso particular de este trabajo se recurre a la tcnica JAD, que mediante un
trabajo grupal entre especialistas de dominio, diseadores y clientes finales, permite
capturar las necesidades de los usuarios y en consecuencia enumerar las historias de
usuario. Cada una de estas debe ser analizada para de tal manera que se establezca un
estimado del esfuerzo requerido para convertirla en un componente de software.
Planificacin
La fase de planificacin incluye organizar el conjunto de funcionalidades
Arquitectura de la Aplicacin.
Lenguaje de Patrones (Buenas Prcticas que regulan el comportamiento de los
componentes de la arquitectura).
10
11
12
no es posible
13
14
Planificacin Universitaria.
Desarrollo Estudiantil.
Direccin de Deportes.
Direccin de Biblioteca.
Direccin de Cultura.
Vicerectorado Administrativo.
15
BASES TEORICAS
apoye el desarrollo del presente trabajo, en este sentido se comenzar por entender el
uso y ventaja de la Arquitectura de Software y como esta se puede representar usando
el lenguaje de modelado UML, luego se introducir los conceptos, clasificacin y
utilidad de los patrones y la forma en que pueden encadenarse formando Lenguajes de
Patrones, estos lenguajes de patrones a su vez pueden marcar la distribucin y
comportamiento de los componentes de la arquitectura desarrollada en un proyecto de
construccin de software, para reusar practicas exitosas de diseo y con ello
garantizar la calidad del software.
Arquitectura de Software
16
diseo ajustable o cambiante hasta que proporcione la mejor solucin del problema, y
una visin general del sistema antes de que este sea desarrollado.
Garlan (2000), establece en una definicin tal vez bastante amplia que la
Arquitectura de Software constituye un puente entre el requerimiento y el cdigo,
ocupando el lugar que en los grficos antiguos se reservaba para el diseo. La
definicin oficial de Arquitectura de Software proporcionada por IEEE (2000),
17
conjunto permite al equipo de desarrollo una visin holstica del sistema que
representa, estos a su vez sirven de medio de comunicacin entre los miembros del
equipo y como un elemento comn para discusin y toma de decisiones.
Existen unos cuantos organismos de estndares (ISO, CEN, IEEE, OMG) que
han codificado diferentes aspectos de la Arquitectura de Software, con el objetivo de
homogeneizar la terminologa, los modelos y los procedimientos. Como producto de
este trabajo se han construido marcos de trabajo que reconocen entre tres y seis vistas
diferentes del sistema.
18
Despliegue
Contexto y
Diseo Lgico
Conceptual y Anlisis
Nombre
Diagrama UML
Centrado en el Anlisis
Clases
Anlisis de Interaccin
Interaccin
Anlisis General
Clases
Contexto
Casos de Uso
Componentes
Componente
Interaccin de
Componentes
Interaccin
Estado de Componentes
Estado/Actividad
Capas de Subsistemas
Paquetes
Datos Lgicos
Clases
Interfaces de
Dependencia entre
Subsistemas
Clases
Despliegue
Despliegue
Datos Fsicos
Despliegue
Procesos
Despliegue
Estado de Procesos
Estado
Descripcin
19
Patrn de Software
el cual no se utilizar ms. De all que, una de las ventajas de los patrones es fomentar
y facilitar el reso, en este caso, de soluciones.
Los patrones facilitan la reutilizacin de diseos y arquitecturas de software que
20
21
Buschmann (1996), define una taxonoma para los patrones, el cual los rene en
tres grandes grupos, estos en cada grupo varan respecto a su nivel de detalle y
abstraccin esto se puede ver en la Figura 3:
22
Lenguaje de Patrones
una forma de construir estructuras a todos los niveles de escala y en todos los grados
de diversidad. En realidad, un lenguaje de patrones se compone de un lxico de
patrones y una gramtica que establece cmo unirlos para formar estructuras
sintcticas. Idealmente, los buenos lenguajes de patrones son generativos, es decir,
23
capaces de generar todas las posibles frases a partir de un vocabulario de patrones rico
y expresivo.
24
En este sentido se puede decir que una aplicacin debe estar marcada por una
25
Patrn Service Layer y otra que usa el patrn Domain Model, as mismo se desarrollo
una capa entre ambas direccionada por el patrn Data Access Object.
Composite View.
Application Controller.
Two Step View.
Template View.
View Helper.
Transform View.
Front Controller.
Con miras a garantizar que la Lgica del Negocio pueda reusarse desde otros
Separated Interface.
Service Stub
26
27
DESARROLLO DE LA PROPUESTA
Requisitos Funcionales
La UCLA est constituida por Decanatos, los cuales son rganos administrativos
investigacin y extensin. Para que en los Decanato se puedan llevar a cabo estas
actividades, se requiere de la administracin de recursos tanto fsicos (aulas,
28
29
educativo cuya duracin puede ser semestral, anual o de 5 semanas para un perodo
Cualquiera que sea el caso, semestral, anual o mixto, se realizan una serie de
actividades o procesos que pueden ser agrupados por etapas, estas son: Planificacin,
Ejecucin y Finalizacin. Por lo tanto el funcionamiento del Sistema de Gestin
Acadmica CUM LAUDE, girar en torno al desarrollo de un Lapso Acadmico.
actividades que se llevarn a cabo durante el mismo. Una vez definido el Lapso
30
con todas sus actividades, tales como: el inicio de clases, inclusin y retiro de
asignatura, cancelacin de semestre, inscripcin a la prueba extraordinaria,
Otro de los procesos que se lleva a cabo en esta etapa es la Creacin de la Oferta
consultas sobre la oferta acadmica realizada en los lapsos anteriores, lo que ayudar
en un Lapso Acadmico
determinado.
En esta etapa del sistema se llevar a cabo la asignacin de la Carga Acadmica
31
Configuracin de Grupos de Inscripcin, Esta opcin permite crear los grupos a los
que le sern asignados los criterios de inscripcin, a cada grupo se le establece la
fecha, hora de inicio y finalizacin que le corresponde para la inscripcin, una vez que
se han definido los grupos, se realiza el Manejo de Grupos de Inscripcin a travs del
cual se le cambia el estatus a cada uno de los grupos de inscripcin, es decir en espera,
inscribiendo o cerrado.
Una vez culminada la etapa de planificacin, el sistema da inicio a una nueva
procesos, entre los que se encuentra la Inclusin y Retiro de Asignaturas, los cuales
permitirn modificar la carga acadmica de un estudiante, ya sea agregando una nueva
asignatura a su carga acadmica o eliminando alguna de las asignaturas ya inscritas.
Otro de los procesos que se lleva a cabo durante la etapa Ejecucin es el Cambio
de Secciones, se puede realizar de dos formas, el cambio mutuo de secciones, que
consiste en realizar el cambio de mutuo acuerdo entre los estudiantes en la misma
asignatura pero en secciones diferentes, o cambiar al estudiante a otra seccin pero
con la misma asignatura, este proceso se llevar a cabo previa autorizacin.
32
que llevarn a cabo los docentes durante el lapso acadmico, tales como la realizacin
de evaluaciones, registro de las calificaciones para cada parcial, entrega de proyectos,
entre otras.
de evaluacin a los
33
Una vez que se ejecuta el Cierre de Lapso se realiza la Emisin de Boletines, que
Una vez concluidos los procesos de la etapa de Finalizacin, se iniciarn una serie
de actividades que se llevan a cabo entre la etapa de finalizacin y la etapa de inicio del
nuevo lapso acadmico, esta etapa la llamaremos Inter-Lapso.
Durante esta etapa se realiza la Apelacin por parte del estudiante ante la
Comisin Sustanciadora. Una vez que el estudiante ha sido sancionado por RR o RP,
puede recurrir ante la Comisin Sustanciadora para que le sea suspendida la sancin.
realizar el conjunto de procesos expuestos anteriormente, podr llevar a cabo una serie
de actividades que estarn disponibles para ser ejecutados cuando sea requerido por el
usuario. Entre estas actividades se encuentra Generar Plan de Estudios que consiste
en registrar los nuevos planes de estudios que son aprobados para un programa de un
Decanato, all se registrarn las asignaturas que conformarn el nuevo plan de
estudios, el cdigo de la asignatura, el semestre o ao al que corresponde, la densidad
horaria, las unidades de crdito y las prelaciones.
Del mismo modo, el sistema permitir registrar las Equivalencias, estas pueden
ser: Equivalencias Internas o Externas, este proceso consiste en registrar el veredicto
que otorga el Consejo Universitario de la UCLA, previa revisin y anlisis de los entes
correspondiente, en este veredicto se indican las asignaturas que le fueron aprobadas
al solicitante.
Equivalencias entre Planes de Estudios o Cambio de Pensum, est se da cuando
en un mismo programa hay varios planes de estudios abiertos y se quiere realizar el
proceso de transicin de un plan de estudios a otro, ya sea porque se va a cerrar uno
de los planes de estudios o porque el estudiante decide realizar la transicin al nuevo
plan de estudios.
El sistema ofrecer una serie de servicios los cuales pueden ser solicitados en
35
lista de carga acadmica, inscritos por semestre, matrcula por edad y sexo, entre
otras.
Otra de las opciones que puede realizarse, es la Admisin de los estudiantes
36
Requisitos no Funcionales
UCLA, arrojo que existe una variedad de dinmicas de trabajo entre los distintos
decanatos, incluyendo importantes diferencias en interpretacin del reglamento,
organizacin de los procesos de inscripcin, inclusin y retiro de asignatura,
Usable, Dada la gran cantidad de usuario que podr utilizarlo es necesario que
37
Lista de Funcionalidades
Nombre de la Funcionalidad
Aprobar horarios.
Configuracin de Proceso de Inscripcin.
Grupos de Inscripcin.
Criterios de Inscripcin.
Inscripcin de Estudiante. Casos: Nuevo Ingreso, Regulares, Intensivos.
Disponibilidad de la seccin.
Registrar Solicitud.
Definir Coordinaciones.
38
Usuario Responsable
Director de Programa
Director de Programa
Director de Programa
Jefe de Departamento
Director de Programas/ Jefes de
Departamentos
Administrador del Sistema
Profesor
Profesor
Jefe de Departamento, Registro Acadmico
Registro Acadmico
Registro Acadmico
Registro Acadmico
Registro Acadmico / Estudiante
Jefe de Departamento / Coordinador de
Area
Generar Boletines.
Estadsticas.
Comisin Sustanciadora.
Registrar Apelaciones.
Retiro Definitivo.
Sanciones.
o
Acadmicas.
o
Disciplinarias.
Gestin de Recursos.
Recursos Fsicos
Espacio Fsico
Recursos
Ficha Docente.
Contrataciones.
Ascensos.
Cambios de Dedicacin.
Planificacin de Actividades.
Gestin de Programas.
Asignaturas.
Departamentos.
Autoridades.
Apertura de Expediente Estudiante
Proceso de Ingreso a la Universidad
Registro Acadmico
Estudiante
Registro Acadmico
39
Modelo de Requisitos
Estudiante
Registro Academico
Director de Programa
Jefe Departamento
Profesor
Coordinador de Area
Desarrollo Estudiantil
40
Solicitar Documento : 2
Profesor
Transcri bi r Cali ficaci ones de Asignatura
Director de Programa
Gesti onar Program a : 2
41
Solicitar Documento : 2
Profesor
Transcri bi r Cali ficaci ones de Asignatura
Director de Programa
Gesti onar Program a : 2
42
Solicitar Documento : 1
Gestionar Estudiante
Gestionar Pasantia
Registro Academico
Gestionar Programa : 1
Cancelar Matricula
Gestionar Inscripcin
43
Es indispensable
44
Registro Academico
Jefe Departamento
Coordinador de Area
Estudiante
Director de Programa
Profesor
Direccin de Deporte
Desarrollo Estudiantil
Direccin de Biblioteca
Direccin de Cultura
software debe estar formado por dos componentes fundamentales, esto se puede
evidenciar en la Figura 13.
46
CUM LAUDE, all se puede evidenciar que componentes integran los dos grandes
elementos de la aplicacin.
47
Gestionar Profesor
Gestionar Estudiante
Gestionar Pasantias
48
capaz, esto implica que la comunicacin entre ellas se hacen al estilo de llamadaretorno, as las capas superiores usan los servicios proporcionadas por las inferiores,
49
en este caso existe una transferencia de datos en ambos sentidos, es decir entre la capa
que solicita y la que procesa, para ello es muy importante estandarizar la
comunicacin, empleando significados compartidos, all es donde el modelo de
dominio se convierte en una herramienta eficaz, puesto que muestra las entidades que
forman el dominio de problema y sus relaciones. En la Figura 17 se puede ver un
extracto del modelo de dominio construido para CUM LAUDE.
tipocargaacadem ica
tipoprograma
+
+
+
+
idtipoprogram a
nom bre
descripcion
estado
:
:
:
:
+
+
+
+
+
int4
java.lang.String
java.lang.String
java.lang.String
idtipocargaacadem ica
nom bre
descripcion
regla
estado
:
:
:
:
:
int4
java.lang.String
java.lang.String
java.lang.String
java.lang.String
1..1
1..1
0..*
0..*
planestudio
program a
+
+
+
+
+
+
+
0..1
0..*
idprogram a
nom bre
nom brecorto
abreviacion
descripcion
fechainiciodirector
estado
:
:
:
:
:
:
:
int4
java.lang.String
java.lang.String
java.lang.String
java.lang.String
java.util.Date
java.lang.String
1..1
0..*
autoridad
+
+
+
+
idautoridad
fechainicio
fechafin
estado
:
:
:
:
0..*
int4
java.util.Date
java.util.Date
java.lang.String
1..1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
idplanestudio
fechavigencia
num erom emorando
num eroperiodos
descripcion
cargam inim a
cargam axim a
nom brebean
estatus
m inim anota
tieneelectivas
tieneautodesarrollo
cargaacadem icatotal
m inim anotaextraordinaria
estado
nom bre
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
escalaevaluacion
int4
java.util.Date
java.lang.String
int4
java.lang.String
int4
int4
java.lang.String
java.lang.String
float4
java.lang.String
java.lang.String
int4
float4
java.lang.String
java.lang.String
0..*
1..1
0..*
0..1
+
+
+
+
+
+
+
+
iddecanato
nom bre
nom brecorto
direccion
telefono
param etros
logo
estado
:
:
:
:
:
:
:
:
int4
java.lang.String
java.lang.String
java.lang.String
java.lang.String
bytea
bytea
java.lang.String
cargoautoridad
1..1
+
+
+
+
idcargoautoridad
nom bre
descripcion
estado
:
:
:
:
int4
java.lang.String
java.lang.String
java.lang.String
idescalaevaluacion
descripcion
valorm inim o
valorm axim o
estado
:
:
:
:
:
int4
java.lang.String
int4
int4
java.lang.String
0..*
1..1
tiporegim en
+
+
+
+
1..1
decanato
0..*
+
+
+
+
+
idtiporegim en
nom bre
descripcion
estado
:
:
:
:
int4
java.lang.String
java.lang.String
java.lang.String
0..*
1..1
periodo
asignaturaperiodo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
codigoasignatura
valorcargaacadem ica
posicion
naturaleza
grupoelectiva
horaspracticas
horasteoricas
horasteoricopracticas
tipocalificacion
valorcargaprereq
grupoautodesarrollo
extraordinaria
estado
densidadhoraria
nrocreditos
grupostp
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
int4
int4
int4
java.lang.String
java.lang.String
int4
int4
int4
java.lang.String
int4
java.lang.String
java.lang.String
java.lang.String
int4
int4
java.lang.String
0..*
1..1
0..*
presentacin, esto trae como beneficio que puede exponerse a otras aplicaciones para
que pueda usarse con tecnologas estandarizadas y abiertas como los Web Service, si
estas prcticas de diseo se extendieran al desarrollo de aplicaciones de la UCLA se
50
51
52
CONCLUSIONES
Desde el punto de vista funcional CUM LAUDE, presenta una arquitectura que
permitir a cada uno de los decanatos:
53
para construir dentro de la UCLA software interoperable que rompera con los
problemas de consistencia de datos e integracin.
El proceso de diseo de la arquitectura se sustento sobre un proceso gil para
generar documentacin de valor que pueda ser contundente para resolver los
problemas asociados a los procesos de control de estudio y registro acadmico.
54
REFERENCIAS BIBLIOGRAFICA
55