RESUMEN
En este capítulo se desarrollara toda
la teoría referente a la metodología a utilizar, la cual es RUP (Proceso
Racional Unificado) y también UML (Lenguaje Unificado de Modelado), para
desarrollo del próximo capítulo.
2.1.
ANTECEDENTES DE LA ORGANIZACION
2.1.1.
ASPECTO ORGANIZACIONAL:
La estructura orgánica del Colegio Franco Boliviano es bastante simple, y se
describe a continuación:
v Director del
establecimiento: Cuya función general
es la de planificar, organizar y controlar las actividades administrativas y
pedagógicas. Dentro de las funciones específicas se encuentran:
a. Organizar el proceso de inscripción.
b. Generar y sistematizar de manera objetiva y real la información de los
informes y estadísticas.
c. Prestar asistencia pedagógica a los docentes.
v Docentes: Cuyas funciones son:
a. Participar en la elaboración, ejecución y evaluación del plan de
trabajo anual de la unidad educativa.
b. Organizar, ambientar el aula, recolectar y preparar material educativo
con la colaboración de los alumnos y padres de familia.
c. Evaluar el proceso de aprendizaje de acuerdo a las normas vigente
elaborar la documentación correspondiente.
d. Promediar y entregar al secretario las calificaciones trimestrales y
finales de los alumnos a cargo.
e. Controlar la asistencia de los alumnos a su cargo, y brindar un
reporte al director de la unidad en forma diaria.
f. Coordinar y mantener comunicación permanente con los padres de familia
sobre asuntos relacionados con el
rendimiento académico y el comportamiento de los alumnos.
v Secretario (a): Tiene las siguientes funciones:
a)
Realizar el proceso de
inscripción al inicio de la gestión.
b)
Elaborar las listas de
cada curso y paralelo para proporcionar a los docentes.
c)
Custodiar los libros,
archivos y toda la documentación de la unidad educativa.
d)
Transcribir las
calificaciones proporcionadas por los docentes para la elaborar los boletines y
las libretas de calificaciones.
e)
Elaborar
certificaciones que soliciten las autoridades y los interesados.
f)
Elaborar el inventario
general de la unidad educativa y mantenerlo actualizado.
g)
Elaborar la parte de
asistencia diaria y mensual del personal de la unidad educativa.
h)
Llenar y centralizar
los formularios y estadísticas de la unidad.
v Personal
Administrativo: Comprendido por el
regente y el portero del colegio.
2.1.2. ASPECTO ADMINISTRATIVO:
El Colegio Privado “Boliviano Holandés”
fue fundado el 23 de Marzo de 1968 y desde entonces presta sus servicios a
favor de la educación. El colegio queda ubicado en la ciudad de La Paz; Zona
Pura Pura del departamento de La Paz, actualmente esta institución cuneta con
el personal que alcanza el número de 32 distribuidos tanto el plantel docente y como en el plantel
administrativo. Esta institución prestas sus servicios solo al nivel secundario
turno mañana, y alberga en sus aulas aproximadamente a 600 alumnos entre
varones y mujeres.
2.1.3.
ASPECTO TÉCNICO:
Según los requerimientos del proyecto enfocaremos los siguientes aspectos
técnicos:
Tabla. Aspectos técnicos del
proyecto.
HARDWARE
|
SOFTWARE DE BASE
|
SOFTWARE DE APLICACIÓN
|
Una computadora Core
2 Duo (ó superior) de 2 Gb. en memoria
RAM, con 500 Gb. De espacio libre en disco duro, un procesador con velocidad
de 3 Ghz. (ó superior), un monitor a color VGA o LCD, un lector de CD/DVD y puerto
USB.
|
La plataforma que se
utilizará para el desarrollo el sistema es Windows en cualquiera de sus
versiones.
|
El lenguaje de
programación elegido para implementar el sistema es PHP y como motor de base de datos utilizaremos Mysql.
|
2.2. METODOLOGIAS
2.2.1. Proceso Unificado de Desarrollo de Software (RUP)
El Proceso Unificado de Desarrollo de Software
(Rational Unified Process
en inglés, habitualmente resumido como RUP)
es un proceso de desarrollo de software y junto con el Lenguaje Unificado de
Modelado UML, constituye la metodología estándar más utilizada
para el análisis, implementación y documentación de sistemas orientados a
objetos.
El RUP no es un sistema con
pasos firmemente establecidos, sino un conjunto de metodologías adaptables al
contexto y necesidades de cada organización.
También se conoce por este
nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual
incluye información entrelazada de diversos artefactos y
descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que
permite la personalización de acuerdo a necesidades.
Originalmente se diseñó un
proceso genérico y de dominio público, el Proceso
Unificado, y una especificación más detallada, el Rational Unified
Process, que se vendiera como producto independiente
El
RUP está basado en 6 principios clave que son:
Adaptar el
proceso
El proceso deberá adaptarse a
las características propias del proyecto u organización. El tamaño del mismo,
así como su tipo o las regulaciones que lo condicionen, influirán en su diseño
específico. También se deberá tener en cuenta el alcance del proyecto.
Balancear
prioridades
Los requerimientos de los
diversos inversores pueden ser diferentes, contradictorios o disputarse
recursos limitados. Debe encontrarse
un balance que satisfaga los deseos de todos.
Demostrar
valor iterativamente
Los proyectos se entregan,
aunque sea de un modo interno, en etapas
iteradas. En cada iteración se analiza la opinión de los inversores, la
estabilidad y calidad del producto, y se refina la dirección del proyecto así
como también los riesgos involucrados
Elevar el nivel de abstracción
Este principio dominante motiva
el uso de conceptos reutilizables tales como patrón del software, lenguajes 4GL
o esquemas (frameworks) por nombrar algunos. Esto previene a los ingenieros de
software ir directamente de los requisitos a la codificación de software a la
medida del cliente. Un nivel alto de abstracción también permite discusiones
sobre diversos niveles arquitectónicos. Éstos se pueden acompañar por las
representaciones visuales de la arquitectura, por ejemplo con UML.
Enfocarse en la calidad
El control de calidad no debe
realizarse al final de cada iteración, sino en todos los aspectos de la producción. El aseguramiento de la
calidad forma parte del proceso de desarrollo y no de un grupo independiente.
Ciclo de
vida
El ciclo de vida RUP es una
implementación del Desarrollo en espiral. Fue creado ensamblando los elementos en secuencias
semi-ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones.
Racional Unified Process (RUP), está basado en UML (Unified Modeling
Language) para la ingeniería de sistemas y de software. Esta metodología
proporciona al equipo del proyecto procedimientos y herramientas.
RUP divide el proceso en cuatro fases,
dentro de las cuales se realizan varias iteraciones en número variable según el
proyecto y en las que se hace un mayor o menor hincapié en las distintas
actividades. En la figura 2.5 se muestra cómo varía el esfuerzo asociado a las
disciplinas según la fase en la que se encuentre el proyecto.
El RUP divide el proceso de
desarrollo en ciclos, teniendo un producto final al culminar cada una de ellos,
estos a la vez se dividen en fases que finalizan con un hito donde se debe
tomar una decisión importante:
- Concepción: se hace un plan de fases, se identifican los principales casos de uso y se identifican los riesgos
- Elaboración: se hace un plan de proyecto, se completan los casos de uso y se eliminan los riesgos
- Construcción: se concentra en la elaboración de un producto totalmente operativo y eficiente y el manual de usuario
- Transición: se Instala el producto en el cliente y se entrena a los usuarios. Como consecuencia de esto suelen surgir nuevos requisitos a ser analizados.
Principales
características
- Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo)
- Pretende implementar las mejores prácticas en Ingeniería de Software
- Desarrollo iterativo
- Administración de requisitos
- Uso de arquitectura basada en componentes
- Control de cambios
- Modelado visual del software
- Verificación de la calidad del software
El RUP es un producto de
Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado
en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son
los productos tangibles del proceso como por ejemplo, el modelo de casos de
uso, el código fuente, etc.) y roles (papel que desempeña una persona en
un determinado momento, una persona puede desempeñar distintos roles a lo largo
del proceso).
- Establece oportunidad y alcance
- Identifica las entidades externas o actores con las que se trata
- Identifica los casos de uso
2.2.2. EL LENGUAJE DE MODELADO UNIFICADO (UML)
EI UML es el lenguaje unificado para
la construcción de modelos, este lenguaje permite especificar, visualizar y construir
los artefactos de los sistemas de software. Es de notación estándar (que, entre
otras cosas incluye el significado de sus notaciones) y está destinado a los
sistemas de modelado que utilizan conceptos orientados a objetos. EI UML es un
lenguaje para construir modelos; no guía al desarrollador en la forma de
realizar el análisis y diseño orientados a objetos, no indica cual proceso de
desarrollo adoptar. UML es una notación estándar de diagramación y construcción
de modelos.
EI lenguaje UML permite expresar el
modele de análisis utilizando una notación de modelado can reglas sintácticas,
semánticas y pragmática. La sintaxis nos dice como mostrar y combinar símbolos,
la sintaxis es comparable a las palabras del lenguaje natural. Las reglas
semánticas nos dicen que significa cada símbolo y cómo interpretarlo.
UML dispone de dos clases diferentes
de diagramas: los que dan una vista estática del sistema y los que dan una
visión dinámica.
Debido a su estandarización y su
definición completa no ambigua y aunque
no sea un lenguaje de programación, UML
se puede conectar de manera
directa a lenguajes de programación como Java, C++ o Visual Basic, esta
correspondencia permite lo que se denomina como ingeniería directa (obtener el
código fuente partiendo de los modelos).
ELEMENTOS ESTRUCTURALES
Los elementos
estructurales en UML, en su mayoría, son las partes estáticas del modelo y
representan cosas que son conceptuales o materiales.
a) Clases.- Es
una descripción de un conjunto de
objetos que comparten los mismos atributos, operaciones, relaciones y
semántica. Una clase implementa una o más interfaces. Gráficamente es como un
rectángulo que incluye su nombre, atributos y operaciones.
b) Colaboración.-
Define una interacción y es una sociedad de roles y otros elementos que
colaboran para proporcionar un comportamiento cooperativo mayor que la suma de
los comportamientos de sus elementos. Una misma clase puede participar en
diferentes colaboraciones. La colaboración representa la implantación de
patrones que forman un sistema. Se representa mediante una elipse con borde
discontinuo, como en la figura.
c) Casos de Uso.-Es
la descripción de un conjunto de acciones que un sistema ejecuta y que produce
un determinado resultado que es de interés para un actor particular. Se utiliza
par organizar los aspectos del comportamiento de un modelo se representa con un
elipse de borde continuo como en la figura.
RELACIONES
Existen cuatro tipos
de relaciones entre los elementos de un modelo UML, los cuales son:
a) Asociación.- Es
una relación estructural que describe un conjunto de enlaces, los cuales son
conexiones entre objetos. Representa con una línea continua, posiblemente
dirigida, que a veces incluye una etiqueta, a medida se incluye otros adornos
par indicar multiplicidad y roles de los objetos involucrado, como se muestra
en la siguiente figura:
b) Dependencias.- Es
una relación semántica entre dos elementos en la cual un cambio a un elemento
(independiente) puede afectar a la semántica del otro elemento (dependiente).
Se representa con una línea discontinua como se muestra en la siguiente figura
DIAGRAMAS
UML dispone de dos clases diferentes
de diagramas: los que dan una vista estática del sistema y los que dan una
visión dinámica.
Diagrama de clases: muestra las clases,
interfaces, colaboraciones y sus relaciones.
Son los más comunes y dan una vista
estática del proyecto.
Diagrama de objetos: Es un diagrama de instancias
de las clases mostradas en el diagrama de clases. Muestra las instancias y como
se relacionan entre ellas. Se da una visión de casos reales.
Diagrama de componentes: Muestran la organización de
los componentes del sistema. Un componente se corresponde con una 0 varias
clases, interfaces 0 colaboraciones.
Diagrama de despliegue: Muestra los nodos y sus
relaciones. Un nodo es un conjunto de componentes. Se utiliza para reducir la
complejidad de los diagramas de clases y componentes
de un gran sistema. Sirve como resumen e índice.
Diagrama de casos de uso: Muestran los casos de use,
actores y sus relaciones. Muestra quien
puede hacer que y relaciones existen entre acciones (casos de uso). Son muy
importantes para modelar y organizar el comportamiento del sistema.
Diagrama de secuencia,
Diagrama de colaboración: Muestran
a los diferentes objetos y las relaciones que pueden tener entre ellos, los
mensajes que se envían entre ellos. Son dos diagramas diferentes, que se puede
pasar de uno a otro sin pérdida de información, pero que nos dan puntos de
vista diferentes del sistema. En resumen, cualquiera de los dos es un Diagrama
de Interacción.
Diagrama de estados: muestra los estados, eventos,
transiciones y actividades de los diferentes objetos. Son útiles en sistemas
que reaccionen a eventos.
Diagrama de actividades: Es un caso especial del
diagrama de estados. Muestra el flujo entre los objetos. Se utilizan para
modelar el funcionamiento del sistema y el
flujo de control entre objetos.
Los diagramas a representar dependerán
de las características del sistema a desarrollar, UML permite definir solo los
necesarios, puede tomarse como recomendación lo siguiente:
• Aplicación mono
puesto:
Diagrama de casos de uso
Diagrama de clases
Diagrama de interacción
• Aplicación mono
puesto, con entrada de eventos:
Diagrama
de estados.
• Aplicación cliente servidor:
Diagrama
de despliegue
Diagrama
de componentes, dependiendo de la complejidad.
• Aplicación
compleja distribuida:
Todas las clases.
2.3.
SOFTWARE
2.3.1. LENGUAJES
HTML
El HTML, acrónimo inglés de HyperText Markup Language (lenguaje de
marcas
hipertextuales), lenguaje de marcación diseñado para estructurar textos
y presentarlos en forma de hipertexto, que es el formato estándar de las
páginas web. Gracias a Internet y a los navegadores del tipo Internet Explorer,
Opera, Firefox o Netscape, el HTML se ha convertido en uno de los formatos más
populares que existen para la construcción de documentos y también de los más
fáciles de aprender.
HTML es una aplicación de SGML conforme al estándar internacional ISO
8879. XHTML es una reformulación de HTML 4 como aplicación XML 1.0, y que
supone la base para la evolución estable de este lenguaje. Además XHTML permite
la compatibilidad con los agentes de usuario que ya admitían HTML 4 siguiendo
un conjunto de reglas.
PHP
PHP es un lenguaje de programación
usado generalmente para la creación de contenido para sitios web. Las siglas
significan "PHP Hypertext Pre-processor" (inicialmente PHP Tools, o,
Personal Home Page Tools), y se trata de un lenguaje interpretado usado para la
creación de aplicaciones para servidores, o creación de contenido dinámico para
sitios web. Últimamente también para la creación de otro tipo de programas
incluyendo aplicaciones con interfaz gráfica usando la librería GTK+.
2.3.2. SISTEMA GESTOR DE BASE
DE DATOS
Los Sistemas Gestores de Bases de
Datos son un tipo de software muy específico, dedicado a servir de interfaz
entre la Base de datos y el usuario, las aplicaciones que la utilizan. Se
compone de un lenguaje de definición de datos, de un lenguaje de manipulación
de datos y de un lenguaje de consulta. En los textos que tratan este tema, o
temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos
equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos
y DataBase Management System, su expresión inglesa.
MySQL
MySQL es un sistema de gestión de base
de datos, multihilo y multiusuario con más de seis millones de instalaciones.
MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento
dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran
incorporarlo en productos propietarios puede comprar a la empresa una licencia
más permisiva que les permita ese uso.
Está desarrollado en su mayor parte en
ANSI C.
Al contrario de proyectos como el
Apache, donde el software es desarrollado por una comunidad pública, y el
copyright del código está en poder del autor individual, MySQL está poseído y
patrocinado por una empresa privada, que posee el copyright de la mayor parte
del código. Esto es lo que posibilita el esquema de licenciamiento
anteriormente mencionado. Además de la venta de licencias propietarias, la
compañía ofrece soporte y servicios. Para sus operaciones contratan
trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue
fundado por David Axmark, Allan Larsson, y Michael Widenius.