You are on page 1of 61

http://tesis-ciudad-educativa.googlecode.

com/svn/

<?php
/**
* CCaptcha class file.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.yiiframework.com/
* @copyright Copyright &copy; 2008-2011 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/

/**
* CCaptcha renders a CAPTCHA image element.
*
* CCaptcha is used together with {@link CCaptchaAction} to provide
{@link http://en.wikipedia.org/wiki/Captcha CAPTCHA}
* - a way of preventing site spam.
*
* The image element rendered by CCaptcha will display a CAPTCHA image
generated
* by an action of class {@link CCaptchaAction} belonging to the current
controller.
* By default, the action ID should be 'captcha', which can be changed by
setting {@link captchaAction}.
*
* CCaptcha may also render a button next to the CAPTCHA image. Clicking
on the button
* will change the CAPTCHA image to be a new one in an AJAX way.
*
* Since version 1.0.8, if {@link clickableImage} is set true, clicking
on the CAPTCHA image
* will refresh the CAPTCHA.
*
* A {@link CCaptchaValidator} may be used to validate that the user
enters
* a verification code matching the code displayed in the CAPTCHA image.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @version $Id: CCaptcha.php 3203 2011-05-05 14:08:06Z qiang.xue $
* @package system.web.widgets.captcha
* @since 1.0
*/
class CCaptcha extends CWidget
{
/**
* @var string the ID of the action that should provide CAPTCHA
image. Defaults to 'captcha',
* meaning the 'captcha' action of the current controller. This
property may also
* be in the format of 'ControllerID/ActionID'. Underneath, this
property is used
* by {@link CController::createUrl} to create the URL that would
serve the CAPTCHA image.
* The action has to be of {@link CCaptchaAction}.
*/
public $captchaAction='captcha';
/**
* @var boolean whether to display a button next to the CAPTCHA
image. Clicking on the button
* will cause the CAPTCHA image to be changed to a new one.
Defaults to true.
*/
public $showRefreshButton=true;
/**
* @var boolean whether to allow clicking on the CAPTCHA image to
refresh the CAPTCHA letters.
* Defaults to false. Hint: you may want to set {@link
showRefreshButton} to false if you set
* this property to be true because they serve for the same
purpose.
* To enhance accessibility, you may set {@link imageOptions} to
provide hints to end-users that
* the image is clickable.
* @since 1.0.8
*/
public $clickableImage=false;
/**
* @var string the label for the refresh button. Defaults to 'Get
a new code'.
*/
public $buttonLabel;
/**
* @var string the type of the refresh button. This should be
either 'link' or 'button'.
* The former refers to hyperlink button while the latter a normal
push button.
* Defaults to 'link'.
*/
public $buttonType='link';
/**
* @var array HTML attributes to be applied to the rendered image
element.
*/
public $imageOptions=array();
/**
* @var array HTML attributes to be applied to the rendered
refresh button element.
*/
public $buttonOptions=array();

/**
* Renders the widget.
*/
public function run()
{
if(self::checkRequirements())
{
$this->renderImage();
$this->registerClientScript();
}
else
throw new CException(Yii::t('yii','GD and FreeType
PHP extensions are required.'));
}

/**
* Renders the CAPTCHA image.
*/
protected function renderImage()
{
if(!isset($this->imageOptions['id']))
$this->imageOptions['id']=$this->getId();

$url=$this->getController()->createUrl($this-
>captchaAction,array('v'=>uniqid()));
$alt=isset($this->imageOptions['alt'])?$this-
>imageOptions['alt']:'';
echo CHtml::image($url,$alt,$this->imageOptions);
}

/**
* Registers the needed client scripts.
* @since 1.0.2
*/
public function registerClientScript()
{
$cs=Yii::app()->clientScript;
$id=$this->imageOptions['id'];
$url=$this->getController()->createUrl($this-
>captchaAction,array(CCaptchaAction::REFRESH_GET_VAR=>true));

$js="";
if($this->showRefreshButton)
{
$cs->registerScript('Yii.CCaptcha#'.$id,'dummy');
$label=$this->buttonLabel===null?Yii::t('yii','Get
a new code'):$this->buttonLabel;
$options=$this->buttonOptions;
if(isset($options['id']))
$buttonID=$options['id'];
else
$buttonID=$options['id']=$id.'_button';
if($this->buttonType==='button')
$html=CHtml::button($label, $options);
else
$html=CHtml::link($label, $url, $options);

$js="jQuery('#$id').after(".CJSON::encode($html).");";
$selector="#$buttonID";
}

if($this->clickableImage)
$selector=isset($selector) ? "$selector, #$id" :
"#$id";

if(!isset($selector))
return;
$js.="
jQuery('$selector').live('click',function(){
jQuery.ajax({
url: ".CJSON::encode($url).",
dataType: 'json',
cache: false,
success: function(data) {
jQuery('#$id').attr('src', data['url']);
jQuery('body').data('{$this->captchaAction}.hash',
[data['hash1'], data['hash2']]);
}
});
return false;
});
";
$cs->registerScript('Yii.CCaptcha#'.$id,$js);
}

/**
* Checks if GD with FreeType support is loaded.
* @return boolean true if GD with FreeType support is loaded,
otherwise false
* @since 1.1.5
*/
public static function checkRequirements()
{
if (extension_loaded('gd'))
{
$gdinfo=gd_info();
if( $gdinfo['FreeType Support'])
return true;
}
return false;
}
}
<?php

/**
* CCaptchaAction class file.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.yiiframework.com/
* @copyright Copyright &copy; 2008-2011 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/

/**
* CCaptchaAction renders a CAPTCHA image.
*
* CCaptchaAction is used together with {@link CCaptcha} and {@link
CCaptchaValidator}
* to provide the {@link http://en.wikipedia.org/wiki/Captcha CAPTCHA}
feature.
*
* You must configure properties of CCaptchaAction to customize the
appearance of
* the generated image.
*
* Note, CCaptchaAction requires PHP GD2 extension.
*
* Using CAPTCHA involves the following steps:
* <ol>
* <li>Override {@link CController::actions()} and register an action of
class CCaptchaAction with ID 'captcha'.</li>
* <li>In the form model, declare an attribute to store user-entered
verification code, and declare the attribute
* to be validated by the 'captcha' validator.</li>
* <li>In the controller view, insert a {@link CCaptcha} widget in the
form.</li>
* </ol>
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @version $Id: CCaptchaAction.php 3204 2011-05-05 21:36:32Z
alexander.makarow $
* @package system.web.widgets.captcha
* @since 1.0
*/
class CCaptchaAction extends CAction
{
/**
* The name of the GET parameter indicating whether the CAPTCHA
image should be regenerated.
*/
const REFRESH_GET_VAR='refresh';
/**
* Prefix to the session variable name used by the action.
*/
const SESSION_VAR_PREFIX='Yii.CCaptchaAction.';
/**
* @var integer how many times should the same CAPTCHA be
displayed. Defaults to 3.
* A value less than or equal to 0 means the test is unlimited
(available since version 1.1.2).
*/
public $testLimit = 3;
/**
* @var integer the width of the generated CAPTCHA image. Defaults
to 120.
*/
public $width = 120;
/**
* @var integer the height of the generated CAPTCHA image.
Defaults to 50.
*/
public $height = 50;
/**
* @var integer padding around the text. Defaults to 2.
*/
public $padding = 2;
/**
* @var integer the background color. For example, 0x55FF00.
* Defaults to 0xFFFFFF, meaning white color.
*/
public $backColor = 0xFFFFFF;
/**
* @var integer the font color. For example, 0x55FF00. Defaults to
0x2040A0 (blue color).
*/
public $foreColor = 0x2040A0;
/**
* @var boolean whether to use transparent background. Defaults to
false.
* @since 1.0.10
*/
public $transparent = false;
/**
* @var integer the minimum length for randomly generated word.
Defaults to 6.
*/
public $minLength = 6;
/**
* @var integer the maximum length for randomly generated word.
Defaults to 7.
*/
public $maxLength = 7;
/**
* @var integer the offset between characters. Defaults to -2. You
can adjust this property
* in order to decrease or increase the readability of the
captcha.
* @since 1.1.7
**/
public $offset = -2;
/**
* @var string the TrueType font file. Defaults to Duality.ttf
which is provided
* with the Yii release.
*/
public $fontFile;
/**
* @var string the fixed verification code. When this is property
is set,
* {@link getVerifyCode} will always return this value.
* This is mainly used in automated tests where we want to be able
to reproduce
* the same verification code each time we run the tests.
* Defaults to null, meaning the verification code will be
randomly generated.
* @since 1.1.4
*/
public $fixedVerifyCode;

/**
* Runs the action.
*/
public function run()
{
if(isset($_GET[self::REFRESH_GET_VAR])) // AJAX request
for regenerating code
{
$code=$this->getVerifyCode(true);
echo CJSON::encode(array(
'hash1'=>$this-
>generateValidationHash($code),
'hash2'=>$this-
>generateValidationHash(strtolower($code)),
// we add a random 'v' parameter so that
FireFox can refresh the image
// when src attribute of image tag is
changed
'url'=>$this->getController()-
>createUrl($this->getId(),array('v' => uniqid())),
));
}
else
$this->renderImage($this->getVerifyCode());
Yii::app()->end();
}

/**
* Generates a hash code that can be used for client side
validation.
* @param string $code the CAPTCHA code
* @return string a hash code generated from the CAPTCHA code
* @since 1.1.7
*/
public function generateValidationHash($code)
{
for($h=0,$i=strlen($code)-1;$i>=0;--$i)
$h+=ord($code[$i]);
return $h;
}
/**
* Gets the verification code.
* @param boolean $regenerate whether the verification code should
be regenerated.
* @return string the verification code.
*/
public function getVerifyCode($regenerate=false)
{
if($this->fixedVerifyCode !== null)
return $this->fixedVerifyCode;

$session = Yii::app()->session;
$session->open();
$name = $this->getSessionKey();
if($session[$name] === null || $regenerate)
{
$session[$name] = $this->generateVerifyCode();
$session[$name . 'count'] = 1;
}
return $session[$name];
}

/**
* Validates the input to see if it matches the generated code.
* @param string $input user input
* @param boolean $caseSensitive whether the comparison should be
case-sensitive
* @return whether the input is valid
*/
public function validate($input,$caseSensitive)
{
$code = $this->getVerifyCode();
$valid = $caseSensitive ? ($input === $code) : !
strcasecmp($input,$code);
$session = Yii::app()->session;
$session->open();
$name = $this->getSessionKey() . 'count';
$session[$name] = $session[$name] + 1;
if($session[$name] > $this->testLimit && $this->testLimit
> 0)
$this->getVerifyCode(true);
return $valid;
}

/**
* Generates a new verification code.
* @return string the generated verification code
*/
protected function generateVerifyCode()
{
if($this->minLength < 3)
$this->minLength = 3;
if($this->maxLength > 20)
$this->maxLength = 20;
if($this->minLength > $this->maxLength)
$this->maxLength = $this->minLength;
$length = mt_rand($this->minLength,$this->maxLength);
$letters = 'bcdfghjklmnpqrstvwxyz';
$vowels = 'aeiou';
$code = '';
for($i = 0; $i < $length; ++$i)
{
if($i % 2 && mt_rand(0,10) > 2 || !($i % 2) &&
mt_rand(0,10) > 9)
$code.=$vowels[mt_rand(0,4)];
else
$code.=$letters[mt_rand(0,20)];
}

return $code;
}

/**
* Returns the session variable name used to store verification
code.
* @return string the session variable name
*/
protected function getSessionKey()
{
return self::SESSION_VAR_PREFIX . Yii::app()->getId() .
'.' . $this->getController()->getUniqueId() . '.' . $this->getId();
}

/**
* Renders the CAPTCHA image based on the code.
* @param string $code the verification code
* @return string image content
*/
protected function renderImage($code)
{
$image = imagecreatetruecolor($this->width,$this->height);

$backColor = imagecolorallocate($image,
(int)($this->backColor % 0x1000000 /
0x10000),
(int)($this->backColor % 0x10000 / 0x100),
$this->backColor % 0x100);
imagefilledrectangle($image,0,0,$this->width,$this-
>height,$backColor);
imagecolordeallocate($image,$backColor);

if($this->transparent)
imagecolortransparent($image,$backColor);

$foreColor = imagecolorallocate($image,
(int)($this->foreColor % 0x1000000 /
0x10000),
(int)($this->foreColor % 0x10000 / 0x100),
$this->foreColor % 0x100);

if($this->fontFile === null)


$this->fontFile = dirname(__FILE__) .
'/Duality.ttf';
$length = strlen($code);
$box = imagettfbbox(30,0,$this->fontFile,$code);
$w = $box[4] - $box[0] + $this->offset * ($length - 1);
$h = $box[1] - $box[5];
$scale = min(($this->width - $this->padding * 2) / $w,
($this->height - $this->padding * 2) / $h);
$x = 10;
$y = round($this->height * 27 / 40);
for($i = 0; $i < $length; ++$i)
{
$fontSize = (int)(rand(26,32) * $scale * 0.8);
$angle = rand(-10,10);
$letter = $code[$i];
$box = imagettftext($image,$fontSize,$angle,$x,$y,
$foreColor,$this->fontFile,$letter);
$x = $box[2] + $this->offset;
}

imagecolordeallocate($image,$foreColor);

header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-
check=0');
header('Content-Transfer-Encoding: binary');
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
}

}
Tesis . txt

\documentclass[12pt,oneside,spanish]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{anysize}
\usepackage{graphicx}
\marginsize{4cm}{2cm}{2cm}{2cm}
\pagestyle{headings}
\renewcommand{\baselinestretch}{1.5}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\arabic{section}}
\setcounter{secnumdepth}{3}
\usepackage{float}

% Control de viudas y huérfanas. Para el que no lo sepa, las viudas y


las huérfanas son aquellas lÃneas de principio o fin de
% párrafo que se quedan solas al final o al inicio de una página
\clubpenalty=10000
\widowpenalty=10000
% Establecer sangrÃa de primera lÃnea. Esta sangrÃa en LaTeX es por
defecto un poco más larga de lo que la tradición
% tipográfica española prescribe (1em, es decir, el tamaño medio de la
fuente y que equivale a la anchura de la letra "m".
% También se conoce esta medida como "cuadratÃn")
% \setlength{\parindent}{0pt}
\setlength{\parindent}{1em}

\begin{document}

\chapter{\index{Especificación de requerimientos}Especificación de
requerimientos}\label{cha:Requerimientos}

\paragraph{}
``IngenierÃa de Requerimientos ayuda a los ingenieros de software a
entender mejor el problema en cuya solución trabajarán. Incluye el
conjunto de tareas que conducen a comprender cuál será el impacto del
software sobre el negocio, qué es lo que el cliente quiere y cómo
interactuarán los usuarios finales con el software''. (Pressman, 2006:
155).

\paragraph{}
Este capÃtulo describe el análisis, diseño y requerimientos que se
realizan y necesitan para la elaboración del proyecto de software.
Además, de definir los objetivos generales y especÃficos, caracterÃ-
sticas del sistema y de la información presentada, lo cual es posible a
través de varias reuniones con el cliente. Es de gran importancia en
esta etapa del proyecto definir claramente los requerimientos tanto
funcionales como no funcionales del sistema, ya que es con ellos que se
logra el mejor entendimiento del problema, para llegar de esta manera a
cubrir las necesidades expuestas por el cliente.

\newpage

\section{Objetivos del Software}

\subsection{Objetivo General}

\paragraph{}
Desarrollar una herramienta capaz de facilitar los procesos de
manipulación, control y registro de la información, además de aportar
a la toma de decisiones, haciendo este proceso más accesible y
transparente para la comunidad del Colegio Ciudad Educativa.

\subsection{Objetivos EspecÃficos}

\begin{itemize}

\item Reducir los tiempos de acceso a la información.


\item Facilitar el acceso de la información.
\item Mejorar el apoyo a la decisión.

\end{itemize}

\section{Usuarios del Software}

\paragraph{}

En los puntos \ref{usuarioDirecto} y \ref{usuarioIndirecto}, se


detallan los usuarios que interactuaran con el sistema, ademas de
especificar las operaciones que cada uno de ellos podrá realizar.

\subsection{Usuarios Directos}\label{usuarioDirecto}

\paragraph{}
\textbf{Administrador: } Este usuario tiene acceso a la mayor parte de
los módulos y funcionalidades del sistema, exceptuando el ingreso y
modificación de notas.

\paragraph{}
\textbf{Administrativos: } Usuarios de cargos ejecutivos dentro la
organización, que serán capaces de visualizar la información
registrada en el sistema, además del acceso a generación de informes.

\paragraph{}
\textbf{Profesores: } Usuarios capaces de ingresar, visualizar y obtener
informes en el sistema.

\subsection{Usuarios Indirectos}\label{usuarioIndirecto}

\textbf{Apoderados: } Este tipo de usuario será capaz de visualizar


información a través de un ambiente web destinado a presentar la
información del alumno.
\section{CaracterÃsticas de la Aplicación}

\paragraph{}
El Sistema de Gestión Pedagógica y Administrativa para el Colegio
Ciudad Educativa, debe ser una aplicación capaz de satisfacer las
necesidades de transparencia y agilidad en el proceso de manejo de la
información, correspondiente al proceso educativo de la institución,
además de la generación de estadÃsticas, contribuyendo asà al proceso
de ayuda a la toma de decisiones dentro de la organización educativa.

\paragraph{}
El sistema debe tener la capacidad de entregar la mayor cantidad de
información con el menor conjunto de datos ingresados en el sistema por
lo cual se deberán provechar al máximo todos los datos que sean
registrados en él, pudiendo de esta manera procesar y entregar
información de calidad, tanto a los usuario administrativos, docentes
como también a los padres o apoderados de la institución educativa.

\paragraph{}
Actualmente existen muchos software para la gestión de las
organizaciones educacionales, los cuales poseen muchas y muy generales
formas de gestionar la información pero ninguna capaz de adaptarse a las
reales necesidades de la institución en estudio.

\newpage

\section{MetodologÃa Utilizada}

\paragraph{}
Se ha estimado para el desarrollo del proyecto la utilización del
modelo de desarrollo iterativo incremental. Modelo que permite una fluida
y frecuente comunicación de los desarrolladores con el cliente.

\paragraph{}
Este modelo propone iteraciones en el desarrollo donde cada iteración
permite sacar ventajas de lo que se ha aprendido en la iteración
anterior y con esto ir incrementando las versiones entregadas del sistema
hasta la obtención de un producto completo.

\paragraph{}
Cada incremento será validado por el cliente, con el fin de asegurar que
la aplicación cumpla con sus necesidades y expectativas.
\\

Diagrama del modelo iterativo incremental:\\

\begin{figure}[h!]

\begin{center} %%------------width=250pt, height=200pt


\includegraphics[scale = 0.5]{./imagenes/MVC.png}
\caption[MetodologÃa Iterativa Incremental]{MetodologÃa Iterativa
Incremental.}
\end{center}
\end{figure}

\newpage
\subsection{Etapas de Desarrollo}

Cada iteracción de este modelo tiene las mismas etapas que son las
siguientes:

\subsubsection{Análisis}

\paragraph{}
Se realizan análisis iterativos por cada una de los incrementos del
sistema a construir, los cuales son validados y desarrollados en conjunto
con el cliente.

\subsubsection{Diseño}

\paragraph{}
``El diseño del software es realmente un proceso de muchos pasos que se
centra en cuatro atributos distintos: estructura de datos, arquitectura
de software, representaciones de interfaz y detalle procedimental. El
proceso del diseño traduce requisitos en una representación del
software donde se pueda evaluar su calidad antes de que comience la
codificación''\cite{Pressman01}.

\paragraph{}
Esta etapa define las bases para la construcción del sistema, para que
de esta manera todas las personas involucradas en el proyecto tengan una
guÃa permanente en el desarrollo del software.

\subsubsection{Programación}

\paragraph{}
Roger Pressman expone que la etapa de programación o codificación es
donde ``el diseño se debe traducir en una forma legible por la
máquina''\cite{Pressman01}.

\paragraph{}
En esta etapa se implementan las técnicas de programación y se
desarrollan las funcionalidades del software descritas en las etapas
anteriores.

\subsubsection{Pruebas}

\paragraph{}
Después de terminar la etapa de codificación, se realizan pruebas con
el fin de comprobar que los procesos lógicos internos funcionen según
lo esperado.

\paragraph{}
Se buscan errores y se asegura que las entradas definidas producen
resultados reales de acuerdo con los resultados requeridos.

\section{Arquitectura de Software}

\paragraph{}
El proyecto utilizará la arquitectura MVC (Modelo – Vista –
Controlador). Su objetivo principal es el de separar la lógica del
negocio de la lógica de la presentación para darle estructura a la
implementación y facilitar con esto su posterior mantenimiento.

\paragraph{}
Como se mencionó anteriormente, el modelo consta de tres partes de
acuerdo con la siguiente descripción.

\begin{itemize}
\item El \textbf{modelo} representa la lógica de la aplicación, que se
encuentra inmersa en los datos y en las reglas del negocio.

\item La \textbf{vista} hace referencia a la interfaz de usuario, a la


presentación de la información.

\item El \textbf{controlador} actúa como mediador entre la solicitud del


usuario y los modelos y vistas involucrados en la ejecución.
\end{itemize}

\section{Herramientas de Modelado}

\paragraph{}
Las herramientas expuestas en los puntos \ref{UML} y \ref{BPMN} son
utilizadas para lograr un mejor entendimiento del sistema y los procesos
que de este se desprenden. Verificando asà que se ha comprendido
correctamente el ambiente del usuario y que se ha respaldado con
información.

\subsection{Lenguaje de Modelado}\label{UML}

\paragraph{}
`` El lenguaje para modelamiento unificado (UML), es un lenguaje para la
especificación, visualización, construcción y documentación de los
artefactos de un proceso de sistema intensivo''. Es un sistema notacional
(que entre otras cosas, incluye el significado de sus notaciones)
destinado a los sistemas de modelado que utilizan conceptos orientados a
objetos. \cite{Larman99}

\paragraph{}
Este lenguaje se utilizara para modelar los diagramas que se utilizan en
este sistema son:

\begin{itemize}
\item \textbf{Diagramas de Caso de Usos}: especifican la comunicación y
el comportamiento del sistema mediante su interacción con los usuarios.

\item \textbf{Diagramas de Clases}: muestra las clases que serán


utilizadas dentro del sistema y las relaciones que existen entre ellas.

\item \textbf{Diagramas de Secuencia}: muestran gráficamente los eventos


que fluyen de los actores al sistema.

\item \textbf{Diagramas de Colaboración}: representan las interacciones


o colaboraciones entre los distintos objetos, y la responsabilidad que
tiene cada uno de ellos dentro del sistema.

\item \textbf{Modelo de Entidad Relación (MER)}: Es una herramienta


para el modelado de datos de un sistema de información. Estos modelos
expresan entidades relevantes para un sistema de información asà como
sus interrelaciones y propiedades.

\end{itemize}

\subsection{Notación de Modelado}\label{BPMN}

\paragraph{}
BPMN (Business Process Modeling Notation) que en español es Notación
para el Modelado de Procesos de Negocio es una notación gráfica que
describe la lógica de los pasos de un proceso de negocio. Esta notación
ha sido diseñada para coordinar la secuencia de los procesos y los
mensajes que fluyen entre los participantes de las diferentes
actividades. Proporciona un lenguaje común para que las partes
involucradas puedan comunicar los procesos de forma clara, completa y
eficiente. De esta forma BPMN define la notación y semántica de un
Diagrama de Procesos de Negocio

\section{Patrones de Diseño.}

\subsection{Front Controller.}

\paragraph{}
En el front controller se crea la instancia de la aplicación cuya
función es la de recibir los requerimientos del usuario y remitirlos a
los controladores apropiados para su posterior procesamiento.

\subsection{Singleton.}

\paragraph{}
Está diseñado para restringir la instanciación de una clase o el valor
de un tipo a un único, o eventualmente, muy pocos objetos. ``Resulta
muy útil cuando, por ejemplo, se requiere un único objeto que coordine
acciones en un sistema''.

\section{TecnologÃas de Desarrollo}

\paragraph{}
Las tecnologÃas y una correcta comunicación de ellas en las diferentes
capas de un sistema, se vuelven fundamentales a la hora de desarrollar un
software.

\paragraph{}
En el proceso de desarrollo del proyecto se ha estimado utilizar las
siguientes tecnologÃas:

\subsection{PHP}

\paragraph{}
PHP, acrónimo de ``PHP: Hypertext Preprocesso'', es un lenguaje ``Open
Source'' interpretado de alto nivel, especialmente pensado para
desarrollos web y el cual puede ser incrustado en páginas HTML. La
mayorÃa de su sintaxis es similar a C, Java y Perl. La meta de este
lenguaje es permitir escribir a los creadores de páginas web, páginas
dinámicas de una manera rápida y fácil, aunque se pueda hacer mucho
más con PHP.\cite{PHP}
\subsection{Yii}

\paragraph{}
Yii es un framework de desarrollo web de código abierto, escrito en PHP,
que cumple el paradigma del Modelo Vista Controlador. Este framework
ayuda al programador con un conjunto de componentes que favorece la
aceleración del proceso de desarrollo y reutilización de
código.\cite{Yii}

\subsection{Apache}

\paragraph{}
HTTP Apache es un servidor de páginas Web de código abierto
multiplataforma y modular, más utilizado en el mundo \footnote{según
las estadÃsticas expuestas en http://www.netcraft.com/Survey/ es
utilizado en más de 7
millones de servidores que sirven a poco más de 18 millones de sitios
Web, lo cual significa más del 60\% en todo el mundo.}. Se desarrolla
con todo éxito dentro del proyecto HTTP Server de la Apache Software
Foundation.

\paragraph{}
Algunas de sus caracterÃsticas son el ser modular, código abierto con
licencia GPL \footnote{ El tipo de licencia de software libre GPL
(General Public License) permite la copia, modificación y
redistribución del software.}, trabaja sobre múltiples plataforma entre
ellas (Unix, Linux, MacOSX, Vms, Win32, OS2, entre otros), extensible y
popular por lo que es fácil obtener ayuda/soporte.\cite{apache}

\subsection{MySQL}

\paragraph{}
MySQL es un servidor de base de datos relacional libre, liberado bajo la
licencia BSD\footnote{BSD, es una licencia de software libre pero no es
copyleft como la GPL,por lo cual es posible cambiar la licencia del
mismo..} (Berkeley Software Distribution, en español, Distribución de
Software Berkeley). Es una alternativa a otros sistemas de bases de datos
de código abierto (como PostgreSQL, Firebird y MaxDB), asà como sistemas
propietarios como Oracle o DB2.

\paragraph{}
Algunas de las caracterÃsticas del gestor de bases de datos MySQL son:

\begin{itemize}
\item Disparadores (triggers).
\item Permitir la elaboración de bases de datos con bajo requerimientos.
\item Permite la creación de vistas.
\item Integridad transaccional.
\item Acceso concurrente multiversión (no se bloquean cuando un proceso
escribe).
\item Herencia de tablas.
\end{itemize}

\paragraph{}
Lo que permite en combinación con lenguajes de programación la
creación de software como pueden ser sitios web dinámicos, blogs entre
otros.
\subsection{Javascript}

\paragraph{}
Javascript es un lenguaje de programación utilizado para crear programas
encargados de realizar acciones dentro del ámbito de una página web.

\paragraph{}
Se trata de un lenguaje de programación del lado del cliente, ya que es
el navegador el que soporta la carga de procesamiento además de ser
compatible con la mayorÃa de los navegadores actuales.\cite{javascript}

\paragraph{}
Con Javascript es posible la creación de infinidad de efectos en las
páginas y definir interactividades con el usuario. El navegador del
cliente es el encargado de interpretar las instrucciones Javascript y
ejecutarlas para realizar estos efectos e interactividades, de modo que
el mayor recurso, y tal vez el único, con que cuenta este lenguaje es el
propio navegador.

\subsection{CSS}

\paragraph{}
CSS son las siglas de Cascading Style Sheets, en español hojas de estilo
en Cascada el cual es de gran ayuda en el diseño de variados estilos
para páginas web que incluye innumerables beneficios.

\paragraph{}
Dentro de sus beneficios está el poder:

\begin{itemize}
\item Controlar varios documentos a partir de un mismo fichero CSS.
\item Tener mayor precisión y facilidad de edición ya que todos se
vinculan al mismo fichero patrón.
\item Aplicar de diferentes ``layouts'' para servir a diferentes medidas:
resoluciones de pantalla, impresora, soportes digitales, etc.\cite{css}
\end{itemize}

\subsection{JQUERY}

\paragraph{}
Es una librerÃa o framework de JavaScript que permite simplificar la
manera de interactuar con los documentos HTML, permitiendo manejar
eventos, desarrollar animaciones y agregar interacción con la tecnologÃa
AJAX a páginas web./cite{jquery}

\newpage

\section{Hardware y Software Requerido}

\paragraph{}
Para emprender el desarrollo se utilizarán dos notebook y un netbook
esto para el progreso en paralelo de los desarrolladores del software.
Las caracterÃsticas de los equipos a utilizar permiten a un desarrollo
fluido y estable.

\paragraph{}
En el cuadro \ref{des} se exponen las caracterÃsticas de la computadora
con menos recursos utilizada para el desarrollo.\\ \\

\begin{table}[h]

\begin{center}

\begin{tabular}{| c | c |}
\hline
\textbf{Componente} &
\textbf{Detalle}\tabularnewline
\hline
Procesador & Intel Pentium dualCore 1.3
GHz\tabularnewline
\hline
Disco Duro & 250 GB\tabularnewline
\hline
Memoria & 2 GB\tabularnewline
\hline
Video & Intel GMA4500\tabularnewline
\hline
Unidad Óptica & NO\tabularnewline
\hline
Pantalla & 11.6 LED LCD\tabularnewline
\hline
Puertos de acceso & USB 2.0, wlan 801.11 b/g/n,
\tabularnewline
\hline
Sistema Operativo & Debian 6\tabularnewline
\hline

\end{tabular}
\caption[CaracterÃsticas técnicas equipo de desarrollo]
{CaracterÃsticas técnicas equipo de desarrollo.}\label{des}

\end{center}
\end{table}

\newpage

\paragraph{}
En el siguiente cuadro se hace referencia al software que
permitirá realizar todos los aspectos del proyecto en los ámbitos de
análisis, desarrollo y culminación del mismo. \\ \\

\begin{table}[h]

\begin{tabular}{| c | c | c |}
\hline
\textbf{Tipo} & \textbf{Software} &\textbf{Tipo de
Licencia}\tabularnewline
\hline
Base de Datos & Mysql & Gratis (GPL)\tabularnewline
\hline
Servidor Web & Apache 2 & Gratis (GPL)\tabularnewline
\hline
Diseño de Base de Datos & MySql Workbench 5.2 & Gratis
(GPL)\tabularnewline
\hline
Diseño de Esquemas & SmartDraw 2010 & Evaluación (30
dÃas)\tabularnewline
\hline
Diseño de Esquemas BPMN & Bizagi Process Modeler &
Gratis (Freeware)\tabularnewline
\hline
Editor de Texto & Texmaker 3.1 & Gratis
(GNU)\tabularnewline
\hline
IDE Eclipse & 3.7.0 Indigo & Gratis (GNU)\tabularnewline
\hline
Sistema Operativo de Datos & Debian 6 & Gratis
(GNU)\tabularnewline
\hline
Framework & YII 1.1.8 & Gratis (BSD)\tabularnewline
\hline

\end{tabular}
\caption[Detalle del Software de Desarrollo]{Detalle del Software
de Desarrollo.}
\end{table}

\section{Casos de Uso}

\paragraph{}
Un caso de uso es una descripción narrativa de los procesos que realiza
un sistema, para esto es necesario tener un conocimiento acabado de los
requerimientos que el sistema debe cumplir; Asà un caso de uso documenta
el comportamiento del sistema desde el punto de vista del actor. Un actor
es cualquier cosa ajena al sistema y que interactúa con éste.

\paragraph{}
A continuación se presentan y detallan los casos de uso por módulos los
cuales serán necesarios para la construcción del proyecto de software,
describiendo detalladamente la interacción que deben mantener los
usuarios con el software para lograr que el sistema proporcione cada una
de las funcionalidades requeridas.
\paragraph{}
\subsection{Autentificar Usuario.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Autentificar Usuario.\\
Actores & : & Grupo Administrador, Grupo Administrativo, Grupo
Profesores, Grupo Apoderados (iniciador).\\
Propósito & : & Identificar a la persona como usuario registrado
con privilegios.\\
Resumen & : & El usuario ingresa nombre de usuario y contraseña
para ser identificado como un usuario del sistema.\\
Tipo & : & Primario y esencial.\\ \\
\end{tabular}
\textbf{Curso normal de los eventos}\\
\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario ingresa al sitio web para identificarse como usuario del
sistema. & \\
2.- El usuario se identifica con su nombre de usuario y contraseña. &
3.- El sistema verifica información en base de datos. \\
& 4.- El sistema lo identifica como usuario valido del sistema.\\
& 5.- El sistema presenta las opciones correspondientes. \\
6.- El usuario realiza operaciones en el sistema. & \\
7.- El usuario abandona el sistema. & \\ \\
\end{tabular}

\newpage

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 2] El usuario ingresa un nombre de usuario o contraseña que
no está registrado. Da un aviso de error y pide nuevamente su
identificación.
\end{description}

%%-------------------------------------------------------------------

\subsection{Cerrar Sesión.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Cerrar Sesión.\\
Actores & : & Usuario (iniciador).\\
Propósito & : & Terminar la sesión de usuario autentificado en el
sistema. \\
Resumen & : & El usuario selecciona la opción cerrar sesión y
abandona el sistema.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario selecciona opción cerrar sesión. &
2.- El sistema realiza el término de la sesión. \\
& 3.- El sistema verifica información en base de datos. \\
4.- El usuario cierra el sistema. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 4] El usuario desea registrarse en sistema. Vuelve al paso 3.
Véase caso de uso autentificar usuario.
\end{description}

%%---------------------------\Módulo
Usuarios\---------------------------------------
\newpage

\subsection{Módulo Usuarios.}

\paragraph{}
El módulo de usuarios permite todo el manejo de información relacionada
con los administrados, administrativos, profesores, alumnos y apoderas
que formen parte de la organización educativa.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo de
usuarios.

\begin{figure}[h]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/casosdeuso/moduloUsuarios.png}
\caption[Diagrama de Caso de Uso Módulo Usuarios]
{Diagrama de Casos de Uso Módulo Usuarios.}
\end{center}
\end{figure}

%
%------------------------------------------------------------------------
------------
\newpage

\subsubsection{Crear Usuario.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Crear Usuario.\\
Actores & : & Grupo Administrador (iniciador).\\
Propósito & : & Permitir crear un nuevo usuario para el
sistema. \\
Resumen & : & El administrador ingresa a crear nuevo usuario para
el sistema con permisos correspondientes.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El administrador ingresa a gestionar usuario. & \\
& 2.- El sistema muestra la opción de crear nuevo usuario.\\
3.- El administrador selecciona la opción crear usuario. &
4.- El sistema muestra formulario para la creación de usuario. \\
5.- El administrador ingresa datos de nuevo usuario. &
6.-El sistema verifica información en base de datos. \\
& 7.- El sistema guarda los datos del nuevo usuario en base de datos. \\
8.- El administrador abandona gestionar usuario. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 6] El administrador ingresa un nombre de usuario que
está registrado. Da un aviso al administrador.
\item[LÃnea 8] El administrador desea crear nuevo usuario. Vuelve al paso
3.
\end{description}

%%-------------------------------------------------------------------

\subsubsection{Buscar Usuario.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Buscar Usuario.\\
Actores & : & Grupo Administrador (iniciador).\\
Propósito & : & Permitir buscar usuario por nombre de usuario. \\
Resumen & : & El Administrador ingresa el nombre de usuario a
buscar, revisa datos del usuario ya registrado.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El administrador ingresa a gestionar usuario. & \\
& 2.- El sistema muestra en pantalla la opción de buscar usuario.\\
3.- El administrador selecciona opción para buscar usuario ya
registrado. & \\
4.- El administrador ingresa nombre de usuario que desea buscar. &
5.- El sistema recibe la información y busca en la base de datos. \\
& 6.- El sistema muestra los datos por pantalla. \\
7.- El administrador cierra el sistema. & \\ \\

\end{tabular}

\newpage

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 4] El administrador ingresa nombre de usuario no registrado.
Sistema muestra lista vacÃa.
\item[LÃnea 7] El administrador desea buscar otra usuario. Vuelve al paso
4.
\end{description}
%%-------------------------------------------------------------------

\subsubsection{Modificar Usuario.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Modificar Usuario.\\
Actores & : & Grupo Administrador (iniciador).\\
Propósito & : & Modificar datos de usuario registrado en el
sistema. \\
Resumen & : & El administrador entra a gestionar usuario, busca
usuario y elige opción modificar usuario.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos un usuario registrado.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El administrador ingresa a gestionar usuario. & \\
2.- El administrador busca usuario a modificar. &
3.- El sistema encuentra usuario mostrando la opción de modificar. \\
4.- El administrador elige modificar usuario. &
5.- El sistema muestra los datos por pantalla en formulario. \\
6.- El administrador modifica datos del usuario y selecciona guardar
modificaciones. & \\
& 7.- El sistema recibe la información y verifica en base de datos. \\
& 8.-El sistema guarda modificaciones en base de datos. \\
9.- El administrador cierra el sistema. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] El sistema no encuentra usuario que mostrar. Sistema no
muestra opción de modificar.
\item[LÃnea 9] El administrador desea modificando datos de otra usuario.
Vuelve al paso 2.
\end{description}

%%-------------------------------------------------------------------

\newpage

\subsubsection{Eliminar Usuario.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Eliminar Usuario.\\
Actores & : & Grupo Administrador (iniciador).\\
Propósito & : & Eliminar usuario ya registrado en el sistema. \\
Resumen & : & El administrador entra a gestionar usuario para
seleccionar opción de eliminar usuario ya registrado.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos un usuario registrado. \\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El administrador ingresa a gestionar usuario. & \\
2.- El administrador busca usuario a eliminar. &
3.- El sistema encuentra usuario mostrando la opción eliminar. \\
4.- El administrador elige opción eliminar usuario ya registrado. &
5.- El sistema recibe la información y verifica en base de datos. \\
& 6.- El sistema elimina usuario. \\
7.- El administrador cierra el sistema. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 2] El sistema no encuentra usuario que mostrar. Sistema no
muestra opción de eliminar.
\item[LÃnea 7] El administrador desea eliminar otro usuario. Vuelve al
paso 2.
\end{description}

%%----------------------------\Módulo
Cursos\---------------------------------------

\subsection{Módulo Cursos}

\paragraph{}
Este módulo permitirá la creación de cursos para los diferentes
niveles educacionales del colegio.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo
cursos.

\begin{figure}[h]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/casosdeuso/moduloCursos.png}
\caption[Diagrama de Caso de Uso Módulo Cursos]{Diagrama
de Casos de Uso Módulo Cursos}
\end{center}
\end{figure}

\newpage

\subsubsection{Crear Cursos.}
\textbf{Descripción}
\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Crear Cursos.\\
Actores & : & Grupo Administrativo.\\
Propósito & : & Permitir la creación de cursos.\\
Resumen & : & El administrativo de UTP crea un nuevo curso y lo
guarda en la base de datos.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar cursos. & \\
2.- Ingresa información del curso (Nombre, Periodo, Letra, Nivel,
Profesor asignado). &
3.- El sistema verifica que la información no exista en la base de datos
y la guarda.\\
& 4.- El sistema muestra un mensaje de operación exitosa.\\
5.- El Administrativo Abandona gestionar Cursos. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] el administrativo crea un curso ya registrado. Indica
error.
\item[LÃnea 5] el administrativo desea seguir creando cursos. Vuelve al
paso 2.
\end{description}

%%-------------------------------------------------------------------
\newpage

\subsubsection{Listar Cursos.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Listar Cursos.\\
Actores & : & Grupo Administrativo.\\
Propósito & : & Permitir el listado de todos los cursos.\\
Resumen & : & El administrativo de UTP lista los cursos en
pantalla.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar cursos. & \\
2.- Ingresa información del Curso a listar (Nombre, Periodo, Letra,
Nivel, Profesor asignado). &
3.- El sistema verifica que la información exista en la base de datos y
la obtiene.\\
& 4.- El sistema muestra el listado de los cursos por pantalla.\\
5.- El Administrativo Abandona gestionar cursos. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[Linea 3] los datos no están registrados. Indica error.
\item[Linea 5] el administrativo desea seguir listando cursos. Vuelve al
paso 2.
\end{description}
%%-------------------------------------------------------------------
\newpage

\subsubsection{Modificar Cursos.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Modificar Cursos.\\
Actores & : & Grupo Administrativo.\\
Propósito & : & Permitir la modificación de los cursos.\\
Resumen & : & El administrativo de UTP modifica los cursos.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar cursos. & \\
2.- Ingresa información del curso a modificar (Nombre, Periodo, Letra,
Nivel, Profesor asignado). &
3.- El sistema verifica que la información exista en la base de datos y
la obtiene.
\\
& 4.- El sistema muestra la información del curso a modificar.\\
5.- El administrativo ingresa la nueva información. &
6.- El sistema recibe la información y la guarda en la base de datos.\\
& 7.- El sistema muestra un mensaje de operación exitosa.\\
8.- El Administrativo Abandona gestionar cursos.& \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no están registrados. Indica error.
\item[LÃnea 8] el administrativo desea seguir modificando cursos. Vuelve
al paso 2.
\end{description}
%%-------------------------------------------------------------------

\subsubsection{Baja de Cursos.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Baja de Cursos.\\
Actores & : & Grupo Administrativo.\\
Propósito & : & Permitir dar de baja cursos.\\
Resumen & : & El administrativo de UTP desea dar de baja un
curso.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar cursos. & \\
2.- Ingresa información de la asignaturas a dar de baja (Nombre,
Periodo, Letra, Nivel, Profesor asignado). &
3.- El sistema verifica que la información exista en la base de datos.
\\
& 4.- El sistema muestra un aviso de solicitud de confirmación.\\
5.- El administrativo confirma la acción. &
6.- El sistema recibe la confirmación y cambia el estado en la base de
datos.\\
& 7.- El sistema muestra un mensaje de operación exitosa.\\
8.- El Administrativo Abandona gestionar Asignaturas. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no existen en la base de datos. Indica error.
\item[LÃnea 5] el administrativo cancela la acción. Vuelve al paso 2.
\item[LÃnea 8] el administrativo desea seguir dando de baja cursos.
Vuelve al paso 2.
\end{description}

%%-----------------------------\Módulo
Asignaturas\------------------------------------

\subsection{Módulo Asignaturas}

\paragraph{}
El módulo asignaturas permitirá la creación de asignaturas para los
diferentes niveles educacionales del colegio.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo
asignaturas.

\begin{figure}[h]
\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/casosdeuso/moduloAsignaturas.png}
\caption[Diagrama de Caso de Uso Módulo Asignaturas]
{Diagrama de Casos de Uso Módulo Asignaturas}
\end{center}
\end{figure}

%
%------------------------------------------------------------------------
------------
\newpage

\subsubsection{Crear Asignaturas.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Crear Asignaturas.\\
Actores & : & Grupo Administrativo.\\
Propósito & : & Permitir la creación de nuevas asignaturas.\\
Resumen & : & El administrativo de UTP crea una nueva asignatura
y la guarda en la base de datos.\\
Tipo & : & Primario y esencial.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar Asignaturas. & \\
2.- Ingresa información de la asignatura (Nombre, Curso, Año, Profesor
asignado). &
3.- El sistema verifica que la información no exista en la base de datos
y la guarda.\\
& 4.- El sistema muestra un mensaje de operación exitosa.\\
5.- El Administrativo Abandona gestionar Asignaturas. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] el administrativo crea una asignatura ya registrada.
Indica error.
\item[LÃnea 5] el administrativo desea seguir creando asignaturas. Vuelve
al paso 2.
\end{description}

%%-------------------------------------------------------------------
\newpage

\subsubsection{Listar Asignaturas.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Listar Asignaturas.\\
Actores & : & Grupo Administrativo.\\
Propósito & : & Permitir la visualización del listado de todas las
asignaturas.\\
Resumen & : & El administrativo de UTP lista las asignaturas en
pantalla.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema. \\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar Asignaturas. & \\
2.- Ingresa información de la asignatura a listar (Nombre, Curso, Año,
Profesor asignado). &
3.- El sistema verifica que la información exista en la base de datos y
la obtiene.\\
& 4.- El sistema muestra el listado de las asignaturas por pantalla.\\
5.- El Administrativo Abandona gestionar Asignaturas. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no están registrados. Indica error.
\item[LÃnea 4] el administrativo desea imprimir la información en
pantalla.
\item[LÃnea 5] el administrativo desea seguir listando asignaturas.
Vuelve al paso 2.
\end{description}

%%-------------------------------------------------------------------

\subsubsection{Modificar Asignaturas.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Modificar Asignaturas.\\
Actores & : & Grupo Administrativos.\\
Propósito & : & Permitir la modificación de las asignaturas.\\
Resumen & : & El administrativo de UTP modifica las
asignaturas.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema. \\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar Asignaturas. & \\
2.- Ingresa información de la asignatura a modificar (Nombre, Curso,
Año, Profesor asignado). &
3.- El sistema verifica que la información exista en la base de datos y
la obtiene.\\
& 4.- El sistema muestra la información de la asignatura a modificar.\\
5.- El administrativo ingresa la nueva información. &
6.- El sistema recibe la información y la guarda en la base de datos. \\
& 7.- El sistema muestra un mensaje de operación exitosa. \\
8.- El Administrativo Abandona gestionar Asignaturas. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no están registrados. Indica error.
\item[LÃnea 8] el administrativo desea seguir modificando asignaturas.
Vuelve al paso 2.
\end{description}

%%-------------------------------------------------------------------

\subsubsection{Baja de Asignaturas.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Baja de Asignaturas.\\
Actores & : & Grupo Administrativos.\\
Propósito & : & Permitir dar de baja asignaturas.\\
Resumen & : & El administrativo de UTP da de baja asignaturas.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema. \\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar Asignaturas. & \\
2.- Ingresa información de la asignaturas a dar de baja (Nombre, Curso,
Año, Profesor asignado). &
3.- El sistema verifica que la información exista en la base de datos.\\
& 4.- El sistema muestra un aviso de solicitud de confirmación.\\
5.- El administrativo confirma la acción. &
6.- El sistema recibe la confirmación y cambia el estado en la base de
datos. \\
& 7.- El sistema muestra un mensaje de operación exitosa. \\
8.- El Administrativo Abandona gestionar Asignaturas. & \\ \\
\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no existen en la base de datos. Indica error.
\item[LÃnea 5] el administrativo cancela la acción. Vuelve al paso 2.
\item[LÃnea 8] el administrativo desea seguir dando de baja asignaturas.
Vuelve al paso 2.
\end{description}
%%------------------------------\Módulo
Evaluaciones.\--------------------------------

\subsection{Módulo Evaluaciones.}

\paragraph{}
El módulo de evaluaciones permitirá al usuario crear los tipos
evaluaciones necesarias para el desarrollo del periodo de clases.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo de
evaluaciones.

\begin{figure}[h]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/casosdeuso/moduloEvaluaciones.png}
\caption[Diagrama de Caso de Uso Módulo Evaluaciones]
{Diagrama de Casos de Uso Módulo Evaluaciones.}
\end{center}
\end{figure}

\newpage

\paragraph{}
\subsubsection{Crear Evaluación.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Crear Evaluación.\\
Actores & : & Grupo Profesores (iniciador).\\
Propósito & : & Permitir crear una nueva evaluación.\\
Resumen & : & El administrador ingresa a crear nueva evaluación
para su asignatura.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\

\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El profesor ingresa a gestionar evaluación. & \\
& 2.- El sistema muestra la opción de crear nueva evaluación. \\
3.- El profesor selecciona la opción crear evaluación. &
4.- El sistema muestra formulario para la creación de nueva
evaluación.\\
5.- El profesor ingresa datos de nueva evaluación. &
6.- El sistema verifica información en base de datos. \\
& 7.- El sistema guarda los datos de la nueva evaluación en base de
datos. \\
8.- El profesor abandona gestionar usuario. & \\ \\
\end{tabular}

\newpage

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 6] El administrador ingresa fecha de evaluación anterior a
la actual. El sistema indica el error.
\item[LÃnea 8] El administrador desea crear una nueva evaluación. Vuelve
al paso 3.
\end{description}

%%--------------------------------\Modificar
Evaluación.\------------------------------

\paragraph{}
\subsubsection{Modificar Evaluación.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Modificar Evaluación.\\
Actores & : & Grupo Profesores (iniciador).\\
Propósito & : & Modificar datos de evaluación registrado en el
sistema.\\
Resumen & : & El administrador entra a gestionar evaluación,
busca evaluación y elige opción modificar evaluación.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos una evaluación registrada.\\ \\

\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El profesor ingresa a gestionar evaluación. & \\
2.- El profesor busca evaluación a modificar. &
3.- El sistema encuentra evaluación mostrando la opción de
modificar.\\
4.- El profesor elige modificar evaluación. &
5.- El sistema muestra los datos por pantalla en formulario.\\
6.- El profesor modifica datos de la evaluación y selecciona guardar
modificaciones.&
7.- El sistema recibe la información y verifica en base de datos. \\
& 8.- El sistema guarda modificaciones en base de datos. \\
9.- El profesor cierra el sistema. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] El sistema no encuentra evaluación que mostrar. Sistema
no muestra opción de modificar.
\item[LÃnea 9] El administrador desea modificando datos de otra
evaluación. Vuelve al paso 2.
\end{description}

%%-------------------------------\Eliminar
Evaluación.\----------------------
\newpage

\paragraph{}
\subsubsection{Eliminar Evaluación.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Eliminar Evaluación.\\
Actores & : & Grupo Profesores (iniciador).\\
Propósito & : & Eliminar evaluación ya registrado en el
sistema.\\
Resumen & : & El administrador entra a gestionar evaluación
para seleccionar opción de eliminar evaluación ya registrado.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos una evaluación registrada.\\ \\

\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El profesor ingresa a gestionar evaluación. & \\
2.- El profesor busca evaluación a eliminar. &
3.- El sistema encuentra evaluación mostrando la opción eliminar.\\
4.- El profesor elige opción eliminar usuario ya registrado. &
5.- El sistema recibe la información y verifica en base de datos.\\
& 6.- El sistema elimina evaluación.\\
7.- El profesor cierra el sistema. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 2] El sistema no encuentra evaluación que mostrar. Sistema
no muestra opción de eliminar.
\item[LÃnea 7] El profesor desea eliminar otra evaluación. Vuelve al
paso 2.
\end{description}

%%----------------------------\Módulo
Notas\---------------------------------

\subsection{Módulo Notas.}

\paragraph{}
El módulo de notas se refiere a todo el manejo de información y
documentos relacionados con los notas de los alumnos de la organización
educativa.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo notas.
\\

\begin{figure}[h]

\begin{center}
\includegraphics[scale = 0.6]
{./imagenes/casosdeuso/moduloNotas.png}
\caption[Diagrama de Caso de Uso Módulo Notas]{Diagrama
de Casos de Uso Módulo Notas}
\end{center}
\end{figure}

\newpage

\paragraph{}
\subsubsection{Ingresar Notas.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Ingresar Notas.\\
Actores & : & Grupo Profesores (iniciador).\\
Propósito & : & Permitir el ingreso de notas.\\
Resumen & : & El profesor ingresa notas de los alumnos.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Profesor ingresa a gestionar notas. & \\
2.- Ingresa información del curso (Nombre, curso, asignatura). & \\
3.- Escoge el tipo de evaluación a la que pertenece la nota. &
4.- El sistema verifica que la información no exista en la base de datos
y la guarda.
\\
& 5.- El sistema muestra un mensaje de operación exitosa. \\
6.- El profesor abandona gestionar notas.& \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] el profesor ingresa una nota ya registrada. Indica error.
\item[LÃnea 6] el administrativo desea seguir ingresado notas. Vuelve al
paso 2.
\end{description}
%%-------------------------------------------------------------------

\subsubsection{Listar Notas.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Listar Notas.\\
Actores & : & Grupo Profesores (iniciador), Grupo Apoderados
(iniciador).\\
Propósito & : & Permitir el listado de todas las notas.\\
Resumen & : & El profesor lista las notas en pantalla.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Profesor ingresa a gestionar notas. & \\
2.- Ingresa información del Curso, asignatura y/o alumno. &
3.- El sistema verifica que la información exista en la base de datos y
la obtiene. \\
& 4.- El sistema muestra el listado de las notas por pantalla. \\
5.- El sistema muestra un mensaje de operación exitosa. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no están registrados. Indica error.
\item[LÃnea 4] el administrativo desea imprimir la información en
pantalla.
\item[LÃnea 5] el administrativo desea seguir listando notas por curso
y/o alumno. Vuelve al paso 2.
\end{description}

%%-------------------------------------------------------------------

\subsubsection{Modificar Nota.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Modificar Nota.\\
Actores & : & Grupo Profesores (iniciador).\\
Propósito & : & Permitir la modificación de los cursos.\\
Resumen & : & El profesor modifica las notas.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Administrativo ingresa a gestionar notas. & \\
2.- Ingresa información del curso y asignatura. & \\
3.- Escoge tipo de evaluación al que pertenece la nota a modificar. &
4.- El sistema verifica que la información exista en la base de datos y
la obtiene. \\
& 5.- El sistema muestra las notas a modificar. \\
6.- El profesor ingresa la nueva nota. &
7.- El sistema recibe la información y la guarda en la base de datos. \\
& 8.- El sistema muestra un mensaje de operación exitosa. \\
9.- El profesor Abandona gestionar cursos. & \\ \\

\end{tabular}

\newpage

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 4] los datos no están registrados. Indica error.
\item[LÃnea 9] el profesor desea seguir modificando notas. Vuelve al paso
2.
\end{description}

%%-------------------------------------------------------------------

\subsection{Módulo Inasistencias.}

\paragraph{}
El módulo de inasistencias se refiere a todo el manejo de información
como registro, listado y justificación además de documentos
relacionados con las inasistencias de los alumnos de la organización
educativa.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo de
inasistencias.

\begin{figure}[h]

\begin{center}
\includegraphics[scale = 0.6]
{./imagenes/casosdeuso/moduloInasistencias.png}
\caption[Diagrama de Caso de Uso Módulo Inasistencias]
{Diagrama de Casos de Uso Módulo Inasistencias}
\end{center}
\end{figure}

\newpage

\paragraph{}
\subsubsection{Ingresar Inasistencia.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Ingresar Inasistencia.\\
Actores & : & Grupo Administrativo (Inspector).\\
Propósito & : & Permitir el ingreso de ausencias y atrasos a
clases.\\
Resumen & : & El inspector ingresa una ausencia a clases o atraso
de alumnos.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Inspector ingresa a gestionar inasistencia. & \\
2.- Ingresa información del alumno y tipo de inasistencia (ausencia o
atraso). &
3.- El sistema verifica que la información no exista en la base de datos
y la guarda. \\
& 4.- El sistema muestra un mensaje de operación exitosa.\\
5.- El inspector Abandona gestionar Asignaturas. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] el inspector ingresa una inasistencia ya registrada.
Indica error.
\item[LÃnea 5] el inspector desea seguir ingresando inasistencias. Vuelve
al paso 2.
\end{description}

%%-------------------------------------------------------------------

\subsubsection{Listar Inasistencias.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Listar Inasistencias.\\
Actores & : & Grupo Administrativos (Inspector), Grupo
Apoderados.\\
Propósito & : & Permitir el listado de todas las inasistencias.\\
Resumen & : & El usuario lista las inasistencias en pantalla.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El Inspector ingresa a gestionar inasistencia. & \\
2.- Ingresa información del alumno (Nombre, Curso). &
3.- El sistema verifica que la información exista en la base de datos y
la obtiene. \\
& 4.- El sistema muestra el listado de las ausencias o atrasos por
pantalla.\\
5.- El inspector Abandona gestionar inasistencia. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no están registrados. Indica error.
\item[LÃnea 4] el inspector desea imprimir la información en pantalla.
\item[LÃnea 5] el inspector desea seguir listando ausencias o atrasos.
Vuelve al paso 2.
\end{description}

%%-------------------------------------------------------------------
\newpage

\subsubsection{Modificar Inasistencias.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Modificar Inasistencias.\\
Actores & : & Grupo Administrativos (Inspector).\\
Propósito & : & Permitir la modificación de las ausencias y
atrasos.\\
Resumen & : & El inspector modifica las ausencias y atrasos.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema. \\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El inspector ingresa a gestionar inasistencias. & \\
2.- Ingresa información del alumno (Nombre, Curso). &
3.- El sistema verifica que la información exista en la base de datos y
la obtiene. \\
& 4.- El sistema muestra la información de la ausencia o atraso a
modificar.\\
5.- El inspector ingresa la nueva información. &
6.- El sistema recibe la información y la guarda en la base de datos.\\
& 7.- El sistema muestra un mensaje de operación exitosa.\\
8.- El inspector Abandona gestionar Asignaturas. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no están registrados. Indica error.
\item[LÃnea 8] el administrativo desea seguir modificando asignaturas.
Vuelve al paso 2.
\end{description}
%%-------------------------------------------------------------------

\subsubsection{Justificar Inasistencia.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Justificar Inasistencia.\\
Actores & : & Grupo Administrativos (Inspector).\\
Propósito & : & Permitir justificar ausencias o atrasos.\\
Resumen & : & El inspector justifica una ausencia o atraso.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El inspector ingresa a gestionar inasistencias. & \\
2.- Ingresa información del alumno (Nombre, Curso). &
3.- El sistema verifica que la información exista en la base de
datos. \\
& 4.- El sistema muestra un aviso de solicitud de confirmación.\\
5.- El inspector confirma la justificación. &
6.- El sistema recibe la confirmación y cambia el estado en la base de
datos.\\
& 7.- El sistema muestra un mensaje de operación exitosa.\\
8.- El inspector Abandona gestionar inasistencia. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 3] los datos no existen en la base de datos. Indica error.
\item[LÃnea 5] el inspector cancela la acción. Vuelve al paso 2.
\item[LÃnea 8] el inspector desea seguir justificando ausencias o
atrasos. Vuelve al paso 2.
\end{description}

%%-----------------------------\Módulo de EstadÃ-
sticas.\--------------------

\subsection{Módulo de EstadÃsticas.}

\paragraph{}
El módulo de estadÃsticas permite al usuario del sistema generar
gráficos los cuales ayudaran al proceso de toma de decisiones dentro de
la organización educacional.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo de
estadÃsticas.

\begin{figure}[h]
\begin{center}
\includegraphics[scale = 0.6]
{./imagenes/casosdeuso/moduloEstadisticas.png}
\caption[Diagrama de Caso de Uso Módulo EstadÃsticas]
{Diagrama de Casos de Uso Módulo EstadÃsticas.}
\end{center}
\end{figure}

\newpage

\paragraph{}
\subsubsection{Generar Gráfico de Datos.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Generar Gráfico de Datos.\\
Actores & : & Grupo Administrativo (iniciador).\\
Propósito & : & Mostrar en pantalla un gráfico de información del
sistema.\\
Resumen & : & El administrativo ingresa los rangos y campos que
se desean graficar y el sistema devuelve los resultados.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\

\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El administrativo solicita la forma generar gráficos. & \\
& 2.- El sistema provee la forma generar gráficos. \\
3.- El administrativo provee los rangos y campos luego presiona enviar. &
4.- El sistema valida los datos ingresados. \\
& 5.- El profesor ingresa datos de nueva evaluación.\\
& 6.- El sistema realiza genera el la aritmética para generar el
gráfico de la tabla. \\
& 7.- El sistema devuelve en pantalla el gráfico. \\
8.- El administrativo realiza otra acción en el sistema. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 5] El sistema no encuentra ningún registro devuelve error de
tabla vacÃa.
\item[LÃnea 5] Existe un problema de conectividad con la base de datos y
se genera una pantalla de error problemas con la conexión a la base de
datos intente más tarde.
\item[LÃnea 8] El administrativo cierra su sesión.
\end{description}

%%--------------------------------\Generar tabla de
datos.\------------------
\newpage
\paragraph{}
\subsubsection{Generar Tabla de Datos.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Generar Tabla de Datos.\\
Actores & : & Grupo Administrativo (iniciador).\\
Propósito & : & Mostrar en pantalla una tabla de información del
sistema.\\
Resumen & : & El administrativo ingresa los rangos y campos que
se desean tabular y el sistema devuelve los resultados.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\

\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El administrativo solicita la forma generar tabla de datos. & \\
& 2.- El sistema provee la forma generar tabla de datos. \\
3.- El administrativo provee los rangos y campos luego presiona enviar. &
4.- El sistema valida los datos ingresados. \\
& 5.- El sistema realiza una consulta a la base de datos con los datos
ingresados y devuelve los resultados en una tabla.\\
& 6.- El sistema realiza genera la tabla. \\
7.- El administrativo realiza otra acción en el sistema. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 5] El sistema no encuentra ningún registro devuelve error de
tabla vacÃa.
\item[LÃnea 5] Existe un problema de conectividad con la base de datos y
se genera una pantalla de error problemas con la conexión a la base de
datos intente más tarde.
\item[LÃnea 8] El administrativo cierra su sesión.
\end{description}

%%--------------------------------\Comparar Rendimiento
Alumno.\----------

\paragraph{}
\subsubsection{Comparar Rendimiento Alumno.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Comparar Rendimiento Alumno.\\
Actores & : & Grupo Administrativo, Grupo Profesor y Grupo
Apoderado. (iniciador).\\
Propósito & : & Mostrar en pantalla una gráfico de rendimiento del
alumno con respecto a su curso.\\
Resumen & : & El usuario ingresa la asignatura que desea comparar
y el sistema le devuelve el resultado gráfico.\\
Tipo & : & Secundario.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\

\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario solicita la forma generar rendimiento alumno. & \\
& 2.- El sistema provee la forma generar rendimiento alumno. \\
3.- El usuario provee la asignatura y luego presiona enviar. &
4.- El sistema valida los datos ingresados. \\
& 5.- El sistema realiza una consulta a la base de datos con los datos
ingresados y devuelve los resultados en dos tablas (curso y alumno).\\
& 6.- El sistema realiza gráfica de las tablas. \\
& 7.- El sistema devuelve en pantalla éstas. \\
8.- El usuario realiza otra acción en el sistema.& \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 5] El sistema no encuentra ningún registro devuelve error de
tabla vacÃa.
\item[LÃnea 5] Existe un problema de conectividad con la base de datos y
se genera una pantalla de error problemas con la conexión a la base de
datos intente más tarde.
\item[LÃnea 8] El usuario cierra su sesión.
\end{description}

%%--------------------------------\Comparar Rendimiento
Cursos.\------------

\paragraph{}
\subsubsection{Comparar Rendimiento Cursos.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Comparar Rendimiento Cursos.\\
Actores & : & Grupo Administrativo, Grupo Profesor(iniciador).\\
Propósito & : & Mostrar en pantalla una gráfico comparativo de
rendimiento de cursos de un mismo nivel educacional.\\
Resumen & : & El usuario ingresa nivel del curso que desea
comparar y el sistema le devuelve el resultado gráfico.\\
Tipo & : & Secundario.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\

\end{tabular}
\textbf{Curso normal de los eventos}\\
\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario solicita la forma generar rendimiento cursos. & \\
& 2.- El sistema provee la forma generar rendimiento cursos. \\
3.- El usuario provee el nivel del curso y luego presiona enviar. &
4.- El sistema valida los datos ingresados. \\
& 5.- El sistema realiza una consulta a la base de datos con los datos
ingresados y devuelve los resultados en dos tablas (curso y alumno).\\
& 6.- El sistema realiza gráfica de las tablas. \\
& 7.- El sistema devuelve en pantalla el gráfico. \\
8.- El usuario realiza otra acción en el sistema.& \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 5] El sistema no encuentra ningún registro devuelve error de
tabla vacÃa.
\item[LÃnea 5] Existe un problema de conectividad con la base de datos y
se genera una pantalla de error problemas con la conexión a la base de
datos intente más tarde.
\item[LÃnea 8] El usuario cierra su sesión.
\end{description}

%%-----------------------------\Comparar Inasistencia
Cursos\----------------

\paragraph{}
\subsubsection{Comparar Inasistencias Cursos.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Comparar Rendimiento Cursos.\\
Actores & : & Grupo Administrativo(iniciador).\\
Propósito & : & Mostrar en pantalla una gráfico comparativo de
inasistencia mensual de cursos de un mismo nivel y periodo.\\
Resumen & : & El usuario ingresa a comparar insistencias por
cursos y el sistema le devuelve el resultado gráfico.\\
Tipo & : & Secundario.\\
Precondición & : & Debe tener sesión iniciada en el sistema.\\ \\

\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario solicita la forma generar Insistencia cursos. & \\
& 2.- El sistema provee la forma generar insistencia cursos. \\
3.- El usuario provee el nivel del curso y luego presiona enviar. &
4.- El sistema valida los datos ingresados. \\
& 5.- El sistema realiza una consulta a la base de datos con los datos
ingresados y devuelve los resultados en una tabla.\\
& 6.- El sistema realiza gráfica de las tablas. \\
& 7.- El sistema devuelve en pantalla el gráfico. \\
8.- El usuario realiza otra acción en el sistema.& \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 5] El sistema no encuentra ningún registro devuelve error de
tabla vacÃa.
\item[LÃnea 5] Existe un problema de conectividad con la base de datos y
se genera una pantalla de error problemas con la conexión a la base de
datos intente más tarde.
\item[LÃnea 8] El usuario cierra su sesión.
\end{description}

%%-----------------------------\Módulo de
Certificados\--------------------

\subsection{Módulo de Certificados y Reportes.}

\paragraph{}
El módulo de certificados y reportes permitirá al usuario la creación
de documentos en formato PDF , con información relevante para la
organización educativa.

\paragraph{}
A continuación se presenta el diagrama de caso de uso del módulo de
certificados y reportes.

\begin{figure}[h]

\begin{center}
\includegraphics[scale = 0.6]
{./imagenes/casosdeuso/moduloReportesCertificado.png}
\caption[Diagrama de Caso de Uso Módulo Certificados y
Reportes]{Diagrama de Casos de Uso Módulo Certificados y Reportes.}
\end{center}
\end{figure}

%%-------------------------\Ficha de
Matricula\-----------------------------
\newpage

\subsubsection{Generar Ficha MatrÃcula.}


\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Generar ficha matricula.\\
Actores & : & Grupo Administrativo (iniciador).\\
Propósito & : & Permitir generar ficha de matrÃcula con la
información del alumno.\\
Resumen & : & El usuario ingresa a alumnos, selecciona opción
de generar ficha matricula de alumno registrado.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos un alumno registrado.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario ingresa a gestionar certificados y reportes. & \\
& 2.- El sistema muestra en pantalla filtros para buscar alumno
registrado.\\
3.- El usuario ingresa datos de alumno a buscar. &
4.- El sistema muestra datos de alumno con opciones.\\
5.- El usuario elige el alumno y selecciona opción generar ficha
matricula. &
6.- El sistema genera ficha de trabajo en formato pdf. \\
7.- El usuario abandona gestionar alumnos. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 4] No existe alumno que mostrar. El sistema no nuestra
opción de generar ficha matricula.
\item[LÃnea 7] El usuario desea elegir otro alumno para generar
documento pdf. Vuelve al paso 3.
\end{description}

%%-------------------------\Certificado Alumno
Regular\-------------------------------

\subsubsection{Generar Certificado Alumno Regular.}


\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Generar Certificado de Alumno Regular.\\
Actores & : & Grupo Administrativo (iniciador).\\
Propósito & : & Permitir generar certificado alumno regular con la
información del alumno.\\
Resumen & : & El usuario ingresa a alumnos, selecciona opción
de generar certificado alumno regular de alumno registrado en el
sistema.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos un alumno registrado.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario ingresa a gestionar certificados y reportes. & \\
& 2.- El sistema muestra en pantalla filtros para buscar alumno
registrado.\\
3.- El usuario ingresa datos de alumno a buscar. &
4.- El sistema muestra datos de alumno con opciones.\\
5.- El usuario selecciona el alumno y la opción generar certificado
alumno regular. &
6.- El sistema genera certificado alumno regular en formato pdf. \\
7.- El usuario abandona gestionar alumnos. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 4] No existe alumno que mostrar, El sistema no nuestra
opción de generar certificado de alumno regular.
\item[LÃnea 7] El usuario desea elegir otro alumno para generar
documento pdf. Vuelve al paso 3.
\end{description}

%%-------------------------\Certificado MatrÃ-
cula\---------------------------
\newpage

\subsubsection{Generar Certificado MatrÃcula.}


\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Generar Certificado MatrÃcula.\\
Actores & : & Grupo Administrativo (iniciador).\\
Propósito & : & Permitir generar certificado de matrÃcula con la
información del alumno.\\
Resumen & : & El usuario ingresa a alumnos, selecciona opción
de generar certificado de matrÃcula con información de un alumno
previamente registrado en el sistema. \\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos un alumno registrado.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario ingresa a gestionar certificados y reportes. & \\
& 2.- El sistema muestra en pantalla filtros para buscar alumno
registrado.\\
3.- El usuario ingresa datos de alumno a buscar. &
4.- El sistema muestra datos de alumno con opciones.\\
5.- El usuario selecciona el alumno y opción generar certificado matrÃ-
cula. &
6.- El sistema genera certificado de matrÃcula en formato pdf. \\
7.- El usuario abandona gestionar alumnos. & \\ \\

\end{tabular}

\newpage

\textbf{Curso alterno.}
\begin{description}
\item[LÃnea 4] No existe alumno que mostrar, El sistema no nuestra
opción de generar certificado matricula.
\item[LÃnea 7] El usuario desea elegir otro alumno para generar
documento pdf. Vuelve al paso 3.
\end{description}

%%-----------------------------\Certificado
Notas.\----------------------------

\subsubsection{Generar Certificado Notas.}


\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Generar Certificado Notas.\\
Actores & : & Grupo Profesores (iniciador), Grupo Administrativo
(iniciador).\\
Propósito & : & Permitir generar certificado de notas de un
alumno.\\
Resumen & : & El usuario ingresa a alumnos, selecciona opción
de generar certificado notas de un alumno registrado en el sistema.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir a lo menos un alumno registrado.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario ingresa a gestionar certificados y reportes. & \\
& 2.- El sistema muestra en pantalla filtros para buscar alumno
registrado.\\
3.- El usuario ingresa datos de alumno a buscar. &
4.- El sistema muestra datos de alumno con opciones. \\
5.- El usuario selecciona el alumno y la opción generar certificado
notas. &
6.- El sistema genera certificado notas en formato pdf. \\
7.- El usuario abandona alumnos. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 4] No existe alumno que mostrar, El sistema no nuestra
opción de generar certificado notas.
\item[LÃnea 7] El usuario desea elegir otro alumno para generar
documento pdf. Vuelve al paso 3.
\end{description}

%%-------------------------------\Generar Lista
Curso.\-------------------
\newpage
\subsubsection{Generar Lista Curso.}
\textbf{Descripción}

\paragraph{}
\begin{tabular}{p{3cm} c p{10cm}}
Caso de uso & : & Generar Lista Curso.\\
Actores & : & Grupo Profesores (iniciador), Grupo Administrativo
(iniciador).\\
Propósito & : & Permitir generar la lista de alumnos de un curso
determinado.\\
Resumen & : & El usuario ingresa a cursos, selecciona opción de
generar listado de alumnos de un curso registrado.\\
Tipo & : & Primario y esencial.\\
Precondición & : & Debe tener sesión iniciada en el sistema, debe
existir el curso.\\ \\
\end{tabular}

\textbf{Curso normal de los eventos}\\


\begin{tabular}{p{6.5cm} p{6.5cm}}
\begin{center}{\bf Acción de los actores} \end{center} & \begin{center}
{\bf Respuesta del sistema}\end{center}\\
1.- El usuario ingresa a certificados y reportes. & \\
& 2.- El sistema muestra en pantalla todos los cursos existentes.\\
3.- El usuario ingresa datos de curso a buscar. &
4.- El sistema muestra datos del curso con opciones. \\
5.- El usuario elige el curso y selecciona opción generar lista curso.
&
6.- El sistema genera lista del curso en formato pdf. \\
7.- El usuario abandona gestionar cursos. & \\ \\

\end{tabular}

\textbf{Curso alterno.}

\begin{description}
\item[LÃnea 4] No existe el curso, el sistema no muestra opción de
generar lista curso.
\item[LÃnea 7] El usuario desea elegir otro curso para generar documento
pdf con lista de alumnos. Vuelve al paso 3.
\end{description}

%%--------------------------------\\-----------------------

\section{Requisitos del Software.}

\subsection{Requisitos Funcionales del Sistema}

\paragraph{}
Los requisitos funcionales definen lo que el sistema tiene que hacer,
los servicios que tiene que proporcionar al usuario (una funcionalidad),
los cuales son generalmente expresados en una declaración en forma
verbal por el cliente.

\begin{table}[!htbp]
\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-01\tabularnewline
\hline
Nombre de requisito & Administrar Usuarios del Sistema\tabularnewline
\hline
Función & Permite ingresar, listar, buscar, modificar y eliminar
usuarios en el sistema con el fin de llevar un control de las personas
que interactúan con el sistema.\tabularnewline
\hline
\end{tabular}
\caption[Administrar Usuarios del Sistema]{Administrar Usuarios del
Sistema.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-02\tabularnewline
\hline
Nombre de requisito & Identificar Usuario.\tabularnewline
\hline
Función & Solicita un nombre de usuario y contraseña válidos para
poder acceder al sistema. Con la finalidad de asegurar información de la
institución. \tabularnewline
\hline
\end{tabular}
\caption[Identificar Usuario]{Identificar Usuario.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-03\tabularnewline
\hline
Nombre de requisito & Administrar Alumnos.\tabularnewline
\hline
Función & Permite Ingresar, Listar, buscar, modificar y dar de baja
alumnos del sistema, con el fin de almacenar y gestionar su información.
Al dar de baja un alumno esto no borrara la información que de él se
maneja en el sistema. Se podrá generar Certificado de alumno
regular.\tabularnewline
\hline
\end{tabular}
\caption[Administrar Alumnos]{Administrar Alumnos.}
\end{table}
%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-04\tabularnewline
\hline
Nombre de requisito & Administrar Apoderado.\tabularnewline
\hline
Función & Permite ingresar, listar, buscar, modificar y dar de baja a
los apoderados en el sistema, con el fin de almacenar y gestionar su
información.\tabularnewline
\hline
\end{tabular}
\caption[Administrar Apoderado]{Administrar Apoderado.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-05\tabularnewline
\hline
Nombre de requisito & Administrar Profesores.\tabularnewline
\hline
Función & Permite Ingresar, Listar, buscar, modificar y dar de baja a
los profesores en el sistema, con el fin de almacenar y gestionar su
información.\tabularnewline
\hline
\end{tabular}
\caption[Administrar Profesores]{Administrar Profesores.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-06\tabularnewline
\hline
Nombre de requisito & Administrar Administrativos.\tabularnewline
\hline
Función & Permite Ingresar, Listar, buscar, modificar y dar de baja a
los administrativos en el sistema, con el fin de almacenar y gestionar
su información.\tabularnewline
\hline
\end{tabular}
\caption[Administrar Administrativos]{Administrar Administrativos.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-07\tabularnewline
\hline
Nombre de requisito & Administrar Asignaturas.\tabularnewline
\hline
Función & Permitirá crear, listar, buscar y modificar asignaturas.
Pudiendo realizar la asignación de los profesores a las diferentes
asignaturas.\tabularnewline
\hline
\end{tabular}
\caption[Administrar Asignaturas]{Administrar Asignaturas.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-08\tabularnewline
\hline
Nombre de requisito & Administrar Cursos.\tabularnewline
\hline
Función & Permitirá la creación de cursos para los diferentes niveles
educacionales del colegio. \tabularnewline
\hline
\end{tabular}
\caption[Administrar Cursos]{Administrar Cursos.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-09\tabularnewline
\hline
Nombre de requisito & Administrar Notas.\tabularnewline
\hline
Función & Permitirá registrar, listar, modificar y buscar notas por
alumno. El registro de notas solo podrá ser realizado por el profesor
que imparte la asignatura o profesor registrado con los permisos para
esta acción. Al listar notas el alumno o apoderado no tendrá acceso a
información de otros alumnos. \tabularnewline
\hline
\end{tabular}
\caption[Administrar Notas]{Administrar Notas.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-10\tabularnewline
\hline
Nombre de requisito & Administrar Inasistencias.\tabularnewline
\hline
Función & Permitirá llevar el control de las insistencias de los
alumnos, pudiendo realizar el registro de estas permitiendo obtener
resúmenes de inasistencias de forma oportuna por cursos, además de
resúmenes de asistencia de forma mensual. \tabularnewline
\hline
\end{tabular}
\caption[Administrar Inasistencias]{Administrar Inasistencias.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-11\tabularnewline
\hline
Nombre de requisito & Generar Certificado Matricula.\tabularnewline
\hline
Función & Permite obtener la información de un alumno previo ingreso
de este en el sistema, generando una certificado de matrÃcula en formato
pdf pudiendo este ser impreso.\tabularnewline
\hline
\end{tabular}
\caption[Generar Certificado Matricula]{Generar Certificado Matricula.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]
\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-12\tabularnewline
\hline
Nombre de requisito & Generar Ficha Matricula.\tabularnewline
\hline
Función & Permite al usuario obtener la información detalla del
alumno como datos de apodera, domicilio, teléfono etc. generando una
ficha de matrÃcula en formato pdf pudiendo este ser impreso, para ser
archivado con documentación adicional del alumno. \tabularnewline
\hline
\end{tabular}
\caption[Generar Ficha Matricula]{Generar Ficha Matricula.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-13\tabularnewline
\hline
Nombre de requisito &Generar Certificado Alumno Regular. \tabularnewline
\hline
Función & Permite al usuario obtener un documento generado en archivo
pdf con la posibilidad de ser impreso, acreditando que el alumno se
encuentra vigente como estudiante del establecimiento. \tabularnewline
\hline
\end{tabular}
\caption[Generar Certificado Alumno Regular]{Generar Certificado Alumno
Regular.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-14\tabularnewline
\hline
Nombre de requisito & Generar Certificado Notas. \tabularnewline
\hline
Función & Permite al usuario del sistema obtener un documento generado
en archivo pdf con la posibilidad de ser impreso, con las notas de un
alumno del establecimiento. \tabularnewline
\hline
\end{tabular}
\caption[Generar Certificado Notas]{Generar Certificado Notas.}
\end{table}
%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-15\tabularnewline
\hline
Nombre de requisito & Generar Lista Curso. \tabularnewline
\hline
Función & Permite al usuario del sistema obtener un documento generado
en archivo pdf con la posibilidad de ser impreso, con los alumno de un
determinado curso del establecimiento. \tabularnewline
\hline
\end{tabular}
\caption[Generar Lista Curso]{Generar Lista Curso.}
\end{table}

%
%------------------------------------------------------------------------
----

\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-16\tabularnewline
\hline
Nombre de requisito & Plataforma Web. \tabularnewline
\hline
Función & Permite acceso de padres y apoderados a visualizar el
desempeño del alumno a través de la visualización de las notas,
asistencia, además de la posibilidad de solicitar certificados alumno
regular. \tabularnewline
\hline
\end{tabular}
\caption[Plataforma Web]{Plataforma Web.}
\end{table}

%
%------------------------------------------------------------------------
----
\begin{table}[!htbp]

\begin{tabular}{|p{4cm} | p{9cm}|}
\hline
Número de requisito & RF-17\tabularnewline
\hline
Nombre de requisito & Administrar EstadÃsticas. \tabularnewline
\hline
Función & Permite al usuario del sistema autorizado con los permisos
correspondientes generar gráficos de comparación de un alumno con
respecto a su curso, entre cursos de un mismo nivel y periodo además de
gráfico de comparación de inasistencia entre cursos. \tabularnewline
\hline
\end{tabular}
\caption[Administrar EstadÃsticas]{Administrar EstadÃsticas.}
\end{table}

%
%------------------------------------------------------------------------
----

\newpage

\subsection{Requisitos no Funcionales.}

\paragraph{}
Este tipo de requisitos delimitan las cualidades que se imponen al
proyecto y como estos prestan servicios a los usuarios.

\begin{itemize}
\item El sistema debe ser construido bajo plataforma WEB.
\item La codificación del sistema debe contemplar el uso de lenguaje de
programación PHP.
\item El diseño de la interfaz debe contener colores acordes con la
imagen corporativa.
\item El sistema deber ser intuitivo y fácil de usar.
\item El sistema no revelará información personal de alumnos entre sus
pares.
\item El administrador del sistema será el encargado de la creación de
las cuentas de usuarios.
\end{itemize}

%% \backmatter

\section{Comentarios}

\paragraph{}
Formular una especificación de requerimientos es una tarea tediosa y
difÃcil, por lo cual capturar y establecer de buena forma los
requerimientos entregados por el cliente es fundamental para un buen
entendimiento y desarrollo lo que será la base de la creación del
sistema.

\paragraph{}
Se debe considerar su revisión, involucrando al cliente y al equipo de
desarrollo, para que se tenga seguridad de que el proceso de ingenierÃa
de requerimientos ha capturado las reales necesidades del cliente.

\paragraph{}
Los errores en la captura de los requerimientos del sistema llegan a ser
un gran impacto en el desarrollo del software, por lo que hay que dedicar
bastante tiempo en esta etapa.

\chapter{Diseño}

\paragraph{}
La etapa de diseño juega un papel primordial en el desarrollo ya que es
aquà donde se debe implementar todos los requisitos explÃcitos obtenidos
en la etapa de análisis,
permitiendo producir modelos del sistema que se va a construir,
tranformadose con posterioridad en la guÃa a seguir por el o los
desarrollares en la construcción e implementar una solución de calidad.

\paragraph{}
Este capÃtulo presentan los diagramas relacionados con la información
manejada por el sistema, donde para esta representación se ha utilizado
el
Lenguaje de Modelado Unificado UML.

\newpage

\section{Modelo Conceptual}

\paragraph{}
Un modelo conceptual muestra gráficamente los conceptos (clases de
objetos), atributos y asociaciones más importantes del dominio del
problema.

\paragraph{}
A continuación se presenta el modelo conceptual asociado a la creación
del sistema.

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.5]
{./imagenes/diseno/modeloConceptual.png}
\caption[Modelo Conceptual]{Modelo Conceptual.}
\end{center}
\end{figure}

\newpage

\section{Diagrama de Clases.}

\paragraph{}
Un diagrama de clases representa las clases que serán utilizadas dentro
del sistema y las relaciones que existen entre ellas.

\paragraph{}
En el siguiente diagrama se representa el diagrama de clases del sistema:

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.5]
{./imagenes/diseno/diagramaClases.png}
\caption[Diagrama de Clases]{Diagrama de Clases.}
\end{center}
\end{figure}

\newpage

\section{Modelo Entidad Relación.}

\paragraph{}
El modelo entidad relación describe las asociaciones que existen entre
las diferentes categorÃas de datos dentro de un sistema.\cite{Knuth}

\paragraph{}
El siguiente diagrama representa el modelo entidad relación del
sistema:\cite{Larman}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.5]{./imagenes/diseno/MER.png}
\caption[Diagrama de Clases]{Diagrama de Clases.}
\end{center}
\end{figure}

\newpage

\section{Diagramas de Secuencia del Sistema (DSS)}

\paragraph{}
Mediante los diagramas de secuencia de sistema se puede ver de manera
gráfica los eventos que fluyen de los actores al sistema.

\paragraph{}
A continuación, se muestra la interacción entre los usuarios y el
sistema ante una serie de operaciones y eventos que se detallan en
seguida:

\subsection{Diagramas de Secuencia Módulo Usuarios.}

\paragraph{}
A continuación se detallan los diagramas de secuencia correspondientes
al módulo de usuarios, en donde se describen las interacciones del
usuario con el sistema.\cite{Larman}

\subsubsection{Autentificar Usuario.}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DSS/DSSautentificarUsuario.png}
\caption[Autentificar Usuario]{Autentificar Usuario.}
\end{center}
\end{figure}

\newpage

\subsubsection{Crear Usuario.}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DSS/DSScrearUsuario.png}
\caption[Crear Usuario]{Crear Usuario.}
\end{center}
\end{figure}

\newpage

\subsubsection{Buscar Usuario.}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DSS/DSSbuscarUsuario.png}
\caption[Buscar Usuario]{Buscar Usuario.}
\end{center}
\end{figure}

\newpage

\subsubsection{Modificar Usuario.}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DSS/DSSmodificarUsuario.png}
\caption[Modificar Usuario]{Modificar Usuario.}
\end{center}
\end{figure}

\newpage

\subsubsection{Eliminar Usuario.}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DSS/DSSeliminarUsuario.png}
\caption[Eliminar Usuario]{Eliminar Usuario.}
\end{center}
\end{figure}

\newpage

\subsubsection{Certificado y Reportes.}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DSS/DSSreporteCertificado.png}
\caption[Certificado y Reportes]{Certificado y Reportes.}
\end{center}
\end{figure}

\newpage

\section{Diagramas de Colaboración.}
\paragraph{}
Los diagramas de colaboración sirven para describir las interacciones
entre los objetos en un formato de grafo o red.

\paragraph{}
A continuación se detallan cuatro diagramas de colaboración, lo cuales
representan perfectamente las interacciones entre objetos del sistema.

\subsubsection{Crear Usuario}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DC/DCcrearUsuario.png}
\caption[Certificado y Reportes]{Certificado y Reportes.}
\end{center}
\end{figure}

\newpage

\subsubsection{Listar Usuario}

\begin{figure}[!htbp]

\begin{center}
\includegraphics[scale = 0.8]
{./imagenes/DC/DClistarUsuario.png}
\caption[Certificado y Reportes]{Certificado y Reportes.}
\end{center}
\end{figure}

\section{Comentarios}

\paragraph{}
El realizar un buen diseño es muy importante para el grupo desarrollador
ya que es en esta etapa donde se modela el sistema o producto que se va a
construir con respecto a requerimientos
establecidos por el cliente, una buena formulación de estos guiará al
proyecto en todo momento.

\bibliography{bibli.bib}
\bibliographystyle{plain}

\end{document}

You might also like