Documentacion de Proyecto de Ingenieria de Software (Ejemplo)

49
[Escriba aquí] GLOBALTEC Fundamentos de Ingeniería del Software Avances del Proyecto Integrantes del Equipo: Cinthia Guadalupe Ramírez Montes Lezly Susette Reyes Norman Franklin Iztcoatl Monreal Cristerna Bernardo Dávila Jiménez Alfredo Pablo Hernández

description

El documento describe las Etapas y las actividades realizadas en la documentación de un proyecto de Software)

Transcript of Documentacion de Proyecto de Ingenieria de Software (Ejemplo)

Page 1: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

[Escriba aquí]

GLOBALTEC

Fundamentos de Ingeniería del Software

Avances del Proyecto

Integrantes del Equipo:

Cinthia Guadalupe Ramírez Montes

Lezly Susette Reyes Norman

Franklin Iztcoatl Monreal Cristerna

Bernardo Dávila Jiménez

Alfredo Pablo Hernández

Page 2: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 3 de 49

Contenido Unidad 1 ............................................................................................................................................ 6

Identificación del Problema ......................................................................................................... 6

Objetivo del Proyecto ................................................................................................................... 6

Unidad 2 ............................................................................................................................................ 7

Actividades del Modelado de Requisitos .................................................................................. 7

Extracción .................................................................................................................................. 7

Análisis ....................................................................................................................................... 8

Especificación ........................................................................................................................... 9

Validación ................................................................................................................................... 9

Entrevistas y Cuestionarios .................................................................................................. 10

Lluvia de ideas ........................................................................................................................ 11

Casos de uso y modelos CRC ............................................................................................. 13

Unidad 3 .......................................................................................................................................... 15

Actividades del Modelado de Análisis ..................................................................................... 15

Aplicación del modelo objeto-relación comportamiento .................................................. 15

Creación de Clases ................................................................................................................ 16

Diccionario de clases ............................................................................................................. 20

Unidad 4 .......................................................................................................................................... 23

Actividades del Modelo de Diseño ........................................................................................... 23

Refinamiento a Clases ........................................................................................................... 23

Refinamiento a Subsistemas ................................................................................................ 26

Refinamiento a Diagrama de Colaboración ....................................................................... 27

Refinamiento Diagrama de componentes .......................................................................... 29

Unidad 5 .......................................................................................................................................... 42

Actividades del Modelo de Implementación ........................................................................... 42

Diseño de las Ventanas ................................................................................................. 42

Creación del diagrama las Tablas y Entidad Relación de la Base de Datos......... 46

Métodos y acciones de componentes dentro de la interfaz (Botones, Tablas,

Ventanas) ................................................................................................................................. 47

Verificación del Funcionamiento (Interna). ................................................................. 48

Page 3: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 4 de 49

Contenido de figuras

Figura 1 Diagrama que describe la especificación de requisitos ......................................................... 9

Figura 2 Casos de uso actor 'Administrador' ..................................................................................... 13

Figura 3 Casos de uso actor 'Secretario' ............................................................................................ 14

Figura 4 Clase Usuarios ..................................................................................................................... 16

Figura 5 Clase Alumno ....................................................................................................................... 17

Figura 6 Clase Pago ............................................................................................................................ 18

Figura 7 Clase Equipo ........................................................................................................................ 19

Figura 8 Clase Beca ............................................................................................................................ 19

Figura 9 Refinamiento clase Usuarios ............................................................................................... 23

Figura 10 Refinamiento clase Alumno ............................................................................................... 24

Figura 11 Refinamiento clase Equipo ................................................................................................ 24

Figura 12 Refinamiento clase Pago.................................................................................................... 25

Figura 13 Refinamiento clase Beca .................................................................................................... 25

Figura 14 Diagrama de colaboración ................................................................................................. 27

Figura 15 Refinamiento diagrama de colaboración........................................................................... 27

Figura 16 Especificación diagrama de colaboración .......................................................................... 28

Figura 17 Diagrama de componentes ............................................................................................... 29

Figura 18 Ejemplificación diagrama de actividades basada en los diagramas de secuencias ........... 30

Figura 19 Diagrama de secuencias 'borrar alumno' .......................................................................... 31

Figura 20 Diagrama de secuencias 'agregar alumno' ........................................................................ 32

Figura 21 Diagrama de secuencias 'Consultar alumnos' ................................................................... 33

Figura 22 Diagrama de secuencias 'Modificar alumno' ..................................................................... 33

Figura 23 Diagrama de secuencias 'Agregar equipo' ......................................................................... 34

Figura 24 Diagrama de secuencias 'Consultar Equipo' ...................................................................... 34

Figura 25 Diagrama de secuencias 'Borrar Equipo' ........................................................................... 35

Figura 26 Diagrama de secuencias 'Modificar Equipo' ...................................................................... 35

Figura 27 Diagrama de secuencias 'Agregar usuario' ........................................................................ 38

Figura 28 Diagrama de secuencias 'Borrar usuario' .......................................................................... 38

Figura 29 Diagrama de secuencias 'Modificar usuario' ..................................................................... 39

Figura 30 Diagrama de secuencias 'Consultar usuarios' ................................................................... 39

Figura 31 Ejemplificación ventana principal ...................................................................................... 42

Figura 32 Ventana de autentificación ................................................................................................ 42

Figura 33 Ventana 'Crear usuario' ..................................................................................................... 43

Figura 34 Ventana 'Alta equipos' ....................................................................................................... 43

Figura 35 Ventana 'Actualización equipo' ......................................................................................... 43

Figura 36 Ventana ' Alta alumnos' ..................................................................................................... 44

Figura 37 Ventana 'Alta pagos' .......................................................................................................... 44

Figura 38 Documentación generada a partir de herramientas CASE ................................................ 45

Figura 39 Documentación generada a partir de Neatbeans ............................................................. 45

Figura 40 Diagrama Relacional .......................................................................................................... 46

Figura 41 Ejemplificación de herramientas CASE de la base de datos .............................................. 47

Page 4: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 5 de 49

Figura 42 Ejemplificación de la conexión de Netbeans con la base de datos ................................... 47

Figura 43 Ejemplificación Netbeans 'Alta alumno' ............................................................................ 48

Figura 44 Pruebas internas 'Alumnos' ............................................................................................... 48

Figura 45 Pruebas internas 'Alta pagos' ............................................................................................ 49

Figura 46 Pruebas internas 'Alta alumnos' ........................................................................................ 49

Page 5: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 6 de 49

Unidad 1

Identificación del Problema

Con la asignación del proyecto UANL, con la descripción y el posterior análisis de

los antecedentes de la Academia se paso a la identificación del problema, donde

la problemática identificada a solucionar es la siguiente:

La academia actualmente cuenta con un sistema de control y registros de equipos,

alumnos, pagos de alumnos y becas. En donde las acciones son realizadas de

forma manual o con el apoyo de una suite ofimática de uso general la cual no esta

optimizada ni diseñada específicamente para las tareas que realiza la academia

donde la mayor parte es realizada por el personal, de forma manual lo que implica

un tiempo mayor de realización y esfuerzo, aunado a los inconvenientes de

seguridad, organización y manejo de la información.

Objetivo del Proyecto

El objetivo del proyecto UANL cuyo nombre hace referencia al nombre de la

institución cliente la Academia Oficial de Tigres de la UANL (Universidad Autónoma

de Nuevo León) es contribuir a la mejora del departamento administrativo,

mejorando su actual sistema de control y registro de los equipos, alumnos así

como de los pagos y la otorgación de becas referentes a los alumnos que se

realizan en la academia. Para lo que se pretende diseñar un sistema de control

que cuente con las siguientes funciones y características:

Un sistema que permita reducir el tiempo que se emplea en la realización

de las actividades especificadas del departamento mediante la

automatización de procesos.

Un sistema que sea entendible, donde este sea de fácil manejo para el

usuario.

Un sistema que permita la consultas de información referente a los

equipos, alumnos, pagos y becas en el momento que se requiera de

manera organizada en un tiempo menor.

Page 6: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 7 de 49

Un sistema que permita el control de la modificación y consultas de la

información a personas no autorizadas.

Un sistema que sea funcional y capaz de resolver la problemática de una

manera adecuada.

Altas, bajas, actualización y consultas de equipos.

Altas, bajas, actualización y consultas de alumnos.

Altas y consulta de pagos de los alumnos.

Altas, bajas, actualización y consultas de becas.

Unidad 2

Actividades del Modelado de Requisitos

Después de realizar la identificación del problema planteado referente a la

Academia de Futbol UANL, procedimos con la etapa de Modelado de Requisitos

implementando las distintas tares para la obtención de requisitos.

Extracción

Primero que nada contactar al cliente para hablar sobre lo que quiere y espera del

sistema. El proyecto consiste en elaborar una base de datos mediante la cual se

pueda llevar el control de los alumnos que ingresan al club deportivo, este sistema

debe contar con:

Nombre del alumno (nombre completo del aspirante)

Edad (años cumplidos a la fecha, sujeto a actualizaciones continuas)

Fecha de nacimiento (fecha con formato día/mes/año)

Beca (tipo de la beca y monto asignado)

Descuentos (solo si se cuenta con un hermano que este registrado ya en el

equipo o se suscriban al mismo tiempo ambos)

Los puntos anteriormente mencionados son aquellos con los que el cliente espera

cuente su sistema pero debemos tomar en cuenta también los siguientes puntos

importantes:

Page 7: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 8 de 49

En cuanto a pagos:

Las colegiaturas serán pagadas en las fechas estipuladas.

A partir del 5to día hábil el pago se considerara tardío y se generara un 6%

de recargos mensuales.

Si se tiene beca se podrá conservar solo si sus pagos son estrictamente

puntuales.

El pago de la inscripción es anual.

Se podrá suspender a aquel alumno que retrase sus pagos.

No participaran alumnos en torneos con adeudos al torneo anual de

Academias.

Otros requisitos obligatorios:

La credencial es obligatoria con vigencia al ciclo anual.

Adquirir y usar uniforme de forma obligatoria y reponerlo en caso de estar

en mal estado.

Se requieren como mínimo 12 alumnos para abrir un grupo.

Antes de abandonar la academia se debe dar un aviso con 15 días de

anticipación y una carta que explique el motivo.

Análisis

De acuerdo a la información extraída del cliente se puede optar por crear un

generador de claves para cada alumno inscrito o bien hacer uso de su CURP para

evitar así el duplicado de datos, otra observación es agregar el nombre y horario

del equipo asignado así como el entrenador a cargo para llevar un seguimiento

más específico del alumno, pueden existir confusiones u olvidos en cuanto a las

fechas de pago así que se puede crear un calendario en el cual los alumnos

puedan darle seguimiento diario a sus fechas de beca, sus montos a pagar y el

descuento hecho de acuerdo a su beca todo esto por vía internet y en un link

asignado en la página oficial al cual podrán ingresar con un nombre y contraseña

de usuario. Se puede asignar también un apartado en donde el entrenador escriba

semanalmente una evaluación del alumno el cual contenga (comportamiento,

cumplimiento con horas de llegada y asistencias, porte de uniforme, uso de

credencial, desempeño en el entrenamiento, calificación asignada semanal).

Clave del alumno

Calendario de pagos

Reporte de entrenador

Page 8: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 9 de 49

Especificación

Validación

Verificando los datos que anteriormente se revisaron se hace un último análisis en

el cual se rectifica los datos deseados:

Información completa del alumno (clave, nombre, edad, fecha de

nacimiento), es la información básica y necesaria de cada alumno.

Pagos (beca, calendario, monto a pagar y descuentos además de sus extra

contenidos como tipo y monto de la beca y las fechas de pago de beca y

pago anual de la colegiatura del equipo), aquí todos los pagos y fechas que

se le harán y hará el alumno según le corresponda.

Información completa sobre el equipo al que pertenece (número mínimo de

alumnos validados con un mínimo de 12, el nombre y el entrenador a

cargo), es la información básica del equipo al que pertenece el alumno.

Historial de alumno (comportamiento, puntualidad, calificación y

cumplimiento en cuanto al uso de credencial y porte de uniforme), es una

pequeña evaluación del alumno por parte del entrenador para evitar

sanciones y poder tener un pequeño historial de su instancia en el equipo.

Figura 1 Diagrama que describe la especificación de requisitos

Page 9: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 10 de 49

Técnicas de la Ingeniería de Requisitos

Entrevistas y Cuestionarios

¿A qué tipo de tipo de público está dirigida la empresa (Género, Edad)?

Niños de 6 meses a 8 años

¿Quiénes son los usuarios principales o más significativos del sistema?

El administrador

¿Cuáles son las necesidades principales que requiere el sistema?

Control de información y estadísticas

¿Cuál es la razón por la que se quiere resolver u optimizar este problema?

Falta de control hacia el manejo de información

¿Qué valor para la empresa o de qué manera afectaría el resultado del sistema a

la empresa?

Optimización de tiempo

¿De qué manera se está resolviendo el problema actualmente?

Con hojas de cálculo de Excel

¿Qué retrasos o problemas ocurren actualmente?

Perdida de información

¿Cuáles son sus expectativas para los conceptos fácil uso, confiabilidad,

rendimiento?

Lograr un mejor control académico en nuestro negocio.

¿Qué obstáculos afectan la eficiencia del sistema?

Tiempo y forma según nuestros clientes y empleados, porque las

actividades pueden crear variaciones en el sistema

¿Se considera importante el control de toda la empresa o de algún sector en

particular?

Generalmente el sector administrativo

Page 10: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 11 de 49

Lluvia de ideas

Director: Franklin Monreal Cristerna

Secretario: Alfredo Pablo Hernández

Auditores: Bernardo Dávila

Cinthia Ramírez

Lezly Norman

Problema

El proyecto consiste en elaborar una base de datos mediante la cual se pueda

llevar el control de los alumnos que ingresa al club deportivo, este sistema debe

contar con:

Nombre del alumno (nombre completo del aspirante)

Edad (años cumplidos a la fecha, sujeto a actualizaciones continuas)

Fecha de nacimiento (fecha con formato día/mes/año)

Beca (tipo de la beca y monto asignado)

Ideas Planteadas:

Crear una base de datos de bien elaborada y con un manejo simple

mediante una interfaz grafica

Dividir los alumnos del sistema en categorías

Crear una base de datos alterna para el manejo de datos secundarios en el

sistema

Tener un control sobre fechas y pagos

Uso de identificaciones o ID para cada integrante del sistema en general

Hacer el uso de un generador de claves para la identificación de los

integrantes del sistema

Hacer uso de la curp como clave de identificación secundaria para el

sistema

Tener un control sobre docentes o instructores, así como cada una de las

actividades que este realizará

Tener un calendario para el sistema en general

Hacer uso de internet para el control de fechas de los alumnos

Tener un usuario y contraseña alterno a su ID para la consulta de fechas

dentro del sistema

Page 11: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 12 de 49

Tener un registro de actividades sobre evaluaciones, asistencias,

desempeño, etc.

Hacer uso del control de asistencia para mayor control sobre los alumnos

Tener una bitácora o historial de cada alumno

Algunas ideas preliminares

Tener un control sobre fechas y pagos

Hacer el uso de un generador de claves para la identificación de los

integrantes del sistema

Hacer uso de la curp como clave de identificación secundaria o primaria

para el sistema

Tener un control sobre docentes o instructores, así como cada una de las

actividades que este realizará

Tener un calendario para el sistema en general

Tener un registro de actividades sobre evaluaciones, asistencias,

desempeño, etc.

Tener una bitácora o historial de cada alumno

Page 12: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 13 de 49

uc Casos de Uso Admnistrador

Borrar

usuarios

Agregar

usuarios

Modificar

usuarios

Agregar

Fechas

Modificar

Fechas

Actualizar

Fechas

Agregar Becas

Borrar Becas

Modificar

Becas

Agregar Pagos

Modificar

Pagos

Borrar Pagos

Agregar

Descuentos

Modificar

Descuentos

Borrar

Descuentos

Agregar Equipo

Modificar

Equipo

Borrar Equipo

Agregar

Expediente

Modificar

Expediente

Borrar

Expediente

Consultar

Becas

Consultar

Fechas

Consultar

Usuarios

Consultar

Pagos

Consultar

Descuentos

Consultar

Equipo

Consultar

Expediente

Agregar

alumno

Modificar

Alumno

Borrar Alumno

Consultar

Alumno

Administrador

Casos de uso y modelos CRC

Que permitan tener una comprensión de la manera en que el sistema se utilizará.

Figura 2 Casos de uso actor 'Administrador'

Page 13: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 14 de 49

Figura 3 Casos de uso actor 'Secretario'

Usuario: Administrador

Responsabilidades Colaboradores

Tipo de usuario: Administrador Datos: El encargado o directivo de la empresa Responsabilidades: Crear Eliminar Actualizar Consultar

Fechas Partidos Equipos Expedientes Alumnos Pagos Usuarios Becas Descuentos

Usuario: Secretario

Responsabilidades Colaboradores

Tipo de usuario: Administrativo Datos: Empleado Administrativo Responsabilidades: Consultar Modificar

Fechas Equipos Expedientes Alumnos Pagos Usuarios Becas

uc Casos de uso Secretario

Agregar Becas Agregar Pagos

Modificar

Pagos

Modificar

Equipo

Modificar

Expediente

Consultar

Becas

Consultar

Fechas

Consultar

Pagos

Consultar

Descuentos

Consultar

Equipo

Consultar

Expediente

Agregar

alumnoModificar

Alumno

Consultar

Alumno

Secretario

Page 14: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 15 de 49

Unidad 3

Actividades del Modelado de Análisis

Después de realizar las tareas las actividades en la etapa del modelo de requisitos

que nos permitieron identificar los requisitos esenciales proporcionados por el

cliente y el análisis y validación de otros requisitos funcionales se continuo con la

etapa de la creación de clases traduciendo los requisitos a una especificación

técnica organizando los atributos en clases para su correcta identificación y

manejo.

Aplicación del modelo objeto-relación comportamiento

Modelo objeto-relación-comportamiento

Objeto Relación Comportamiento

Administrador Alumnos Da de alta, consulta,

modifica y borra

Administrador Expediente Da de alta, consulta,

modifica y borra

Administrador Equipo Da de alta, consulta,

modifica y borra

Administrador Descuentos Da de alta, consulta,

modifica y borra

Administrador Pagos Da de alta, consulta,

modifica y borra

Administrador Usuarios Da de alta, consulta,

modifica y borra

Administrador Fechas Da de alta, consulta,

modifica y borra

Administrador Becas Da de alta, consulta,

modifica y borra

Secretario Alumno Consultar, modificar y

agregar

Secretario Expediente Consultar, modificar y

agregar

Secretario Equipo Consultar, modificar y

agregar

Secretario Descuentos Consultar

Page 15: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 16 de 49

class Clases

Usuarios

- Id_Usuario: int

- Usuario: String

- Nombre Completo: String

- Tipo: String

+ Usuario() : void

+ Usuario(int, String, String, String) : void

+ Get_Id_Usuario() : int

+ Set_Id_Usuario(int) : void

+ Get_Nombre_Completo() : String

+ Set_Nombre_Completo(String) : void

+ Get_Usuario() : String

+ Set_Usuario(String) : void

+ Get_Tipo() : String

+ Set_Tipo(String) : void

Secretario Pagos Consultar, agregar y

modificar

Secretario Usuarios Consultar

Secretario Fechas Consultar

Secretario Becas Consultar y agregar

Secretario Fechas consultar

Creación de Clases

El Diagrama de Clases muestra los atributos o propiedades que contendrá cada

clase así como como sus modificadores de acceso y los diferentes métodos que

serán necesarios para acceder a dichos atributos. Sin olvidarnos de las

operaciones que cada clase podrá realizar con los diferentes datos que estas

contenga a la hora de crear un objeto.

Figura 4 Clase Usuarios

Page 16: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 17 de 49

class Clases

Alumno

- Id_Alumno: int

- Num_Equipo: int

- Nombre: String

- Apell ido Materno: String

- Apell ido Paterno: String

- Edad: int

- Fecha Nacimiento: Date

- Direccion: String

- Telefono: String

- Nombre Tutor: String

- Estado: String

+ Alumno () : void

+ Alumno(int, int, String, String, String, int, Date, String, String, String) : void

+ Get_Id_Alumno() : int

+ Set_Id_Alumno(int) : void

+ Get_Nombre_Completo() : String

+ Get_Num_Equipo() : int

+ Set_Num_Equipo(int) : void

+ Get_Nombre() : String

+ Set_Nombre(String) : void

+ Get_Apell_Pa() : String

+ Set_Apell_Pa(String) : void

+ Get_Apell_Ma() : String

+ Set_Apell_Ma(String) : void

+ Get_Edad() : int

+ Set_Edad(int) : void

+ Get_Fecha_Nac_Date() : Date

+ Get_Fecha_Nac() : String

+ Set_Fecha_Nac(Date) : void

+ Get_Direccion() : String

+ Set_Direccion(String) : void

+ Get_Telefono() : String

+ Set_Telefono(String) : void

+ Get_Nombre_Tutor() : String

+ Set_Nombre_Tutor(String) : void

+ Get_Estado() : String

+ Set_Estado(String) : void

Figura 5 Clase Alumno

Page 17: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 18 de 49

class Clases

Pago

- Id_Pago: int

- Id_Alumno: int

- Concepto: String

- Fecha limite de Pago: Date

- Importe: double

- Descuentos: double

- Fecha de Pago: Date

- Recargos: double

- Estado (Status): String

+ Pago() : void

+ Pago(int, int, String, Date, double, double, Date, double, String) : void

+ Get_Id_Pago() : int

+ Set_Id_Pago(int) : void

+ Get_Id_Alumno() : int

+ Set_Id_Alumno(int) : void

+ Get_Concepto() : String

+ Set_Concepto(String) : void

+ Get_Fecha_Li_Pago() : String

+ Get_Fecha_Li_Pa_Date() : Date

+ Set_Fecha_Li_Pa(Date) : void

+ Get_Importe() : Double

+ Set_Importe(Double) : void

+ Get_Descuentos() : Double

+ Set_Descuentos(Double) : void

+ Get_Fecha_Pago() : String

+ Get_Fecha_Pago_Date() : Date

+ Set_Fecha_Pago(Date) : void

+ Get_Recargos() : Double

+ Set_Recargos(Double) : void

+ Get_Estado() : String

+ Set_Estado(String) : void

Figura 6 Clase Pago

Page 18: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 19 de 49

class Clases

Equipo

- Num_Equipo: int

- Nombre_Equipo: String

- Nombre_Entrenador: String

- Categoria: int

- Numero_Alumnos: int

+ Equipo() : void

+ Equipo(int, String, String, String, int) : void

+ Get_Num_Equipo() : int

+ Set_Num_Equipo(int) : void

+ Get_Nombre_Equipo() : String

+ Set_Nombre_Equipo(int) : void

+ Get_Nombre_Entrenador() : String

+ Set_Nombre_Entrenador(String) : void

+ Get_Categoria() : int

+ Set_Categoria(int) : void

+ Get_Numero_Alumnos() : int

+ Set_Numero_Alumnos(int) : void

class Clases

Beca

- Id_Beca: int

- Id_Alumno: int

- Tipo_Beca: String

- Monto_Beca: double

- Fecha_Deposito: Date

+ Beca() : void

+ Get_Id_Beca() : int

+ Set_Id_Beca(int) : void

+ Get_Id_Alumno() : int

+ Set_Id_Alumno(int) : void

+ Get_Tipo_Beca() : String

+ Set_Tipo_Beca(String) : void

+ Get_Monto() : Double

+ Set_Monto(Double) : void

+ Get_Fecha_Deposito_Date() : Date

+ Get_Fecha_Deposito() : String

+ Set_Fecha_Deposito(Date) : void

+ Beca(int, int, String, double, Date) : void

Figura 8 Clase Beca

Figura 7 Clase Equipo

Page 19: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 20 de 49

Diccionario de clases

Alumno:

- Clase entidad, constituida por los valores nombre, edad, dirección, teléfono

etc.

Alta actualización alumnos:

- Clase control, se encarga de levantar en el sistema nuevos alumnos.

Alta actualización beca:

- Clase control, se encarga de levantar en el sistema a los alumnos que

poseen beca

Alta actualización equipo:

- Clase control, da de alta el numero de alumnos que son un equipo

Alta actualización expediente

- Clase control, levanta en el sistema el currículo del alumno que se

seleccione

Alta actualización pago

- Clase control, da de alta en el sistema los alumnos que ya pagaron su

inscripción o su mensualidad.

Alta usuarios:

- Clase control, da de alta a las personas que pueden acceder al

sistema(solo para hacer revisiones, sin embargo no puede modificar datos)

Beca

- Clase entidad, proporciona descuento a los alumnos que la posean

Consulta ID alumno

- Clase control, otorga a cada alumno un numero de identificación para que

así su información sea mas fácil de mover dentro del sistema.

Page 20: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 21 de 49

Consulta id beca

- Clase control, otorga el permiso de checar el numero de identificación de la

beca

Consulta numero Equipo

- Clase control esta clase se encarga de manejar el número de equipo y sus

respectivas actividades.

Equipo

- Clase entidad, se caracteriza por un conjunto de valores los cuales suelen

ser conjunto de integrantes y nombre

Manejador Registro Usuario

- Clase Control, el manejador de registro de usuario se encarga de todo lo

relacionado con registro del usuario para poder utilizar el sistema.

Pago

- Clase entidad, constituida por valores numéricos los cuales representan los

pagos de los alumnos.

Pantalla Menú principal

- Clase borde, menú principal donde se despliega a otros menús

Pantalla logan:

- clase borde, pantalla para ingresar pidiendo usuario y contraseña.

Usuarios

- Clase entidad, valores que representan las personas externas a los

administradores que tienen autorización de hacer consultas.

Consultas

El módulo Consultas se divide en los siguientes módulos: Consultas becas,

alumno, número de equipo

Page 21: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 22 de 49

Pantalla consulta:

- Clase borde, ventana en donde se accederá a las consultas y dependiendo

del usuario que sea tendrá ciertos accesos o restricciones.

Pestaña usuarios

- Clase borde, muestra los datos relacionados con el usuario

Pestaña equipos

- Clase borde, muestra los datos relacionados con los equipos

Pestaña alumnos

- Clase borde, muestra los datos relacionados con los alumnos

Pestaña pagos

- Clase borde, muestra los datos relacionados con los pagos

Pestaña becas

- Clase borde, muestra los datos relacionados con las becas

Page 22: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 23 de 49

Unidad 4

Actividades del Modelo de Diseño

Después de realizar las tareas las actividades en la etapa del modelo de análisis

se procedió con la etapa de diseño donde se realizaron diversos diagramas del

sistema así como el refinamiento de los diagramas realizados en etapas anteriores

para encontrar posibles inconsistencias y posteriormente llevar a cabo una

revisión del diseño para verificar que todo sea entendible y correcto y pasar a la

siguiente etapa.

Refinamiento a Clases

En esta actividad se realizó el refinamiento de las Clases del Sistema es decir se

verifico los atributos que están deberían contener mediante un análisis de los

requerimientos y el funcionamiento del sistema se modificaron algunos aspectos

de importancia que se pudieron haber omitido. Esto con el fin de corregir los

menores errores posibles en la etapa de diseño, para que la etapa de

implementación se lleve a cabo con el menor número de inconvenientes.

Figura 9 Refinamiento clase Usuarios

class Clases

Usuarios

- Id_Usuario: int

- Usuario: String

- Nombre Completo: String

- Tipo: String

+ Usuario() : void

+ Usuario(int, String, String, String) : void

+ Get_Id_Usuario() : int

+ Set_Id_Usuario(int) : void

+ Get_Nombre_Completo() : String

+ Set_Nombre_Completo(String) : void

+ Get_Usuario() : String

+ Set_Usuario(String) : void

+ Get_Tipo() : String

+ Set_Tipo(String) : void

Page 23: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 24 de 49

Figura 10 Refinamiento clase Alumno

Figura 11 Refinamiento clase Equipo

class Clases

Alumno

- Id_Alumno: int

- Num_Equipo: int

- Nombre: String

- Apell ido Materno: String

- Apell ido Paterno: String

- Edad: int

- Fecha Nacimiento: Date

- Direccion: String

- Telefono: String

- Nombre Tutor: String

- Estado: String

+ Alumno () : void

+ Alumno(int, int, String, String, String, int, Date, String, String, String) : void

+ Get_Id_Alumno() : int

+ Set_Id_Alumno(int) : void

+ Get_Nombre_Completo() : String

+ Get_Num_Equipo() : int

+ Set_Num_Equipo(int) : void

+ Get_Nombre() : String

+ Set_Nombre(String) : void

+ Get_Apell_Pa() : String

+ Set_Apell_Pa(String) : void

+ Get_Apell_Ma() : String

+ Set_Apell_Ma(String) : void

+ Get_Edad() : int

+ Set_Edad(int) : void

+ Get_Fecha_Nac_Date() : Date

+ Get_Fecha_Nac() : String

+ Set_Fecha_Nac(Date) : void

+ Get_Direccion() : String

+ Set_Direccion(String) : void

+ Get_Telefono() : String

+ Set_Telefono(String) : void

+ Get_Nombre_Tutor() : String

+ Set_Nombre_Tutor(String) : void

+ Get_Estado() : String

+ Set_Estado(String) : void

class Clases

Equipo

- Num_Equipo: int

- Nombre_Equipo: String

- Nombre_Entrenador: String

- Categoria: int

- Numero_Alumnos: int

+ Equipo() : void

+ Equipo(int, String, String, String, int) : void

+ Get_Num_Equipo() : int

+ Set_Num_Equipo(int) : void

+ Get_Nombre_Equipo() : String

+ Set_Nombre_Equipo(int) : void

+ Get_Nombre_Entrenador() : String

+ Set_Nombre_Entrenador(String) : void

+ Get_Categoria() : int

+ Set_Categoria(int) : void

+ Get_Numero_Alumnos() : int

+ Set_Numero_Alumnos(int) : void

Page 24: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 25 de 49

Figura 12 Refinamiento clase Pago

Figura 13 Refinamiento clase Beca

class Clases

Pago

- Id_Pago: int

- Id_Alumno: int

- Concepto: String

- Fecha limite de Pago: Date

- Importe: double

- Descuentos: double

- Fecha de Pago: Date

- Recargos: double

- Estado (Status): String

+ Pago() : void

+ Pago(int, int, String, Date, double, double, Date, double, String) : void

+ Get_Id_Pago() : int

+ Set_Id_Pago(int) : void

+ Get_Id_Alumno() : int

+ Set_Id_Alumno(int) : void

+ Get_Concepto() : String

+ Set_Concepto(String) : void

+ Get_Fecha_Li_Pago() : String

+ Get_Fecha_Li_Pa_Date() : Date

+ Set_Fecha_Li_Pa(Date) : void

+ Get_Importe() : Double

+ Set_Importe(Double) : void

+ Get_Descuentos() : Double

+ Set_Descuentos(Double) : void

+ Get_Fecha_Pago() : String

+ Get_Fecha_Pago_Date() : Date

+ Set_Fecha_Pago(Date) : void

+ Get_Recargos() : Double

+ Set_Recargos(Double) : void

+ Get_Estado() : String

+ Set_Estado(String) : void

class Clases

Beca

- Id_Beca: int

- Id_Alumno: int

- Tipo_Beca: String

- Monto_Beca: double

- Fecha_Deposito: Date

+ Beca() : void

+ Get_Id_Beca() : int

+ Set_Id_Beca(int) : void

+ Get_Id_Alumno() : int

+ Set_Id_Alumno(int) : void

+ Get_Tipo_Beca() : String

+ Set_Tipo_Beca(String) : void

+ Get_Monto() : Double

+ Set_Monto(Double) : void

+ Get_Fecha_Deposito_Date() : Date

+ Get_Fecha_Deposito() : String

+ Set_Fecha_Deposito(Date) : void

+ Beca(int, int, String, double, Date) : void

Page 25: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 26 de 49

Refinamiento a Subsistemas

En esta actividad se pedía realizar el refinamiento de subsistema lo cual implicaba

subsistemas, al analizar los alcances del proyecto y con la orientación del asesor

se obvio que al ser un sistema pequeño no cuenta con subsistemas por lo que

esta actividad no fue necesario realizar ya que no tenia razón de hacerla.

Page 26: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 27 de 49

Refinamiento a Diagrama de Colaboración

Un diagrama de colaboración es esencialmente un diagrama que muestra

interacciones organizadas alrededor de los roles. A diferencia de los diagramas de

secuencia, los diagramas de colaboración, también llamados diagramas de

comunicación, muestran explícitamente las relaciones de los roles.

En la siguiente figura (Diagrama de colaboración) se muestra como se tenían

originalmente organizadas las clases y los actores del sistema

Figura 14 Diagrama de colaboración

En la figura 15 (Refinamiento diagrama de colaboración), se muestra el diagrama

de colaboración modificado, agregando un actor más (usuario), el cual es solo

capaz de ver los archivos almacenados del sistema, sin poder interactuar con

otras clases y objetos.

Figura 15 Refinamiento diagrama de colaboración

Page 27: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 28 de 49

Diagrama refinado:

Figura 16 Especificación diagrama de colaboración

Page 28: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 29 de 49

Refinamiento Diagrama de componentes

En este diagrama se observa cómo van conectadas las interfaces y que contiene

cada una de estas, tanto botones, como las etiquetas y como se van conectado

cada una de ellas para realizar el sistema. Queda de una manera muy sencilla ya

que no contamos con un subsistema

El diagrama es el siguiente:

Figura 17 Diagrama de componentes

Page 29: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 30 de 49

sd Agregar Alumno

Usuario

(from casos de uso)

Formulario

(from Equipo)

Alumno

«table»

Alumnos

Nuevo_Alumno_Click()

Alumno()

Boton_Guardar_Click()

Alta_Alumno()

Datos Guardados()

Boton Salir()

~Alumno()

~Formulario()

sd Borrar Alumno

Usuario

(from casos de uso)

Formulario

(from Equipo)

Alumno

«table»

Alumnos

Boton_Borrar_Alumno_Click()

Alumno()

Buscar

Alumno(Id_Alumno)

Objeto Alumno()

Borrar Alumno()

Borrar

Alumno(Id_Alumno)

Alumno Eliminado()

Refinamiento de Diagrama de Actividades

Los diagramas de actividades se pueden mostrar junto con los diagramas de

secuencias ya que se especifica las acciones y métodos que se ejecutan ante

determinada intervención e interacción del usuario ante el sistema.

Figura 18 Ejemplificación diagrama de actividades basada en los diagramas de secuencias

Page 30: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 31 de 49

Refinamiento de Diagramas de Secuencias

El refinamiento de estos diagramas nos permitirá detallar de manera mas

especifica la interacción de los usuarios con el sistema de manera secuencial, es

decir las acciones u operaciones que serán ejecutadas al recibir un mensaje del

usuario, de tal manera que se pueda identificar cuando alguna acción o método es

ejecutado, que valores requiere, como interactúa con otros métodos o con el

sistema, que es lo que nos regresara, cuando finaliza y que acciones se

ejecutaran al terminar su ciclo de vida.

Diagramas de Alumno

Figura 19 Diagrama de secuencias 'borrar alumno'

sd Borrar Alumno

Usuario

(from casos de uso)

Formulario

(from Equipo)

Alumno

«table»

Alumnos

Boton_Borrar_Alumno_Click()

Alumno()

Buscar

Alumno(Id_Alumno)

Objeto Alumno()

Borrar Alumno()

Borrar

Alumno(Id_Alumno)

Alumno Eliminado()

Page 31: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 32 de 49

Figura 20 Diagrama de secuencias 'agregar alumno'

sd Agregar Alumno

Usuario

(from casos de uso)

Formulario

(from Equipo)

Alumno

«table»

Alumnos

Nuevo_Alumno_Click()

Alumno()

Boton_Guardar_Click()

Alta_Alumno()

Datos Guardados()

Boton Salir()

~Alumno()

~Formulario()

Page 32: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 33 de 49

Figura 21 Diagrama de secuencias 'Consultar alumnos'

Figura 22 Diagrama de secuencias 'Modificar alumno'

sd Consultar Alumnos

Usuario

(from casos de uso)

Formulario

(from Equipo)

Alumno

«table»

Alumnos

Boton_Consultar_Click()

Alumno()

Buscar_Alumno(Tipo_Consulta)

Datos del Alumno()

[a]:Datos del Alumno()

Datos del Alumno()

Boton_Salir_Click()

sd Modificar Alumno

Usuario

(from casos de uso)

Formulario

(from Equipo)

Alumno

«table»

Alumnos

Modificar Alumno Click()

Alumno()

Buscar Alumno(Id_Alumno)

Alumno Encontrado()

Ingresar Nuevos Datos()

Actualizar Click()

Guardar Datos()

Datos Guardados()

Boton_Salir_Click()

~Alumno()

Page 33: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 34 de 49

Diagramas de Equipo

Figura 23 Diagrama de secuencias 'Agregar equipo'

Figura 24 Diagrama de secuencias 'Consultar Equipo'

sd Agregar Equipo

Usuario

(from casos de uso)

Formulario

«table»

Equipo

Equipo

Boton_Nuevo_Equipo_Clicl()

Equipo()

Obj_Equipo()

Boton_Guardar()

Guardar Datos()

Datos Guardados()

Datos Guardados Correctamente()

Boton_Salir()

~Equipo()

sd Consultar Equipo

Usuario

(from casos de uso)

Formulario

«table»

Equipo

Equipo

Boton_Consultar_Click()

Equipo()

Buscar Equipo(Tipo Consulta)

Datos Equipo()

Datos Equipo()

Datos Equipo()

Boton Salir Click()

~Equipo()

Page 34: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 35 de 49

Figura 25 Diagrama de secuencias 'Borrar Equipo'

Figura 26 Diagrama de secuencias 'Modificar Equipo'

sd Borrar Equipo

Usuario

(from casos de uso)

Formulario

«table»

Equipo

Equipo

Boton_Borrar_Equipo()

Equipo()

Buscar Equipo()

Datos Equipo()

Obj Equipo()

Borrar Equipo()

Borrar Equipo()

Equipo Borrado()

Equipo Borrado()

Boton Salir Click()

~Equipo()

sd Modificar Equipo

Usuario

(from casos de uso)

Formulario

«table»

Equipo

Equipo

Boton_Modificar_Click()

Equipo()

Buscar Equipo()

Datos Equipo()

Datos Equipo()

Nuevos Datos()

Obj_Equipo()

Actualizar_Click()

Actualizar()

Actualizacion Correcta()

Actualizacion Correcta()

Boton Salir()

~Equipo()

Page 35: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 36 de 49

sd Alta Becas

Usuario

(from casos de uso)

Formulario

Becas

«table»

Becas

Nueva_Beca_Clcik()

Beca()

Boton_Guardar()

Alta_Beca()

Datos Guardados()

Boton Salir()

~Beca()

sd Borrar Becas

Usuario

(from casos de uso)

Formulario

Becas

«table»

Becas

Borrar_Beca_Click()

Beca()

Buscar Beca()

Beca Encontrada()

Beca Encontrada()

Borrar Beca()

Borrar Beca()

Borrado()

Boton Salir()

~Beca()

sd Modificar Becas

Usuario

(from casos de uso)

Formulario

Becas

«table»

Becas

Modificar_Beca_Click()

Beca()

Buscar Beca()

Beca Encontrada()

Beca Encontrada()

Ingresar Nuevos Datos()

Acrtualizar_Click()

Guardar Datos()

Datos Guardados()

Boton Salir()

~Beca()

sd Consultar Becas

Usuario

(from casos de uso)

Formulario

Becas

«table»

Becas

Boton_Consultar_Click()

Beca()

Consultar Beca(Tipo de Consulta)

Datos de Beca()

Datos Beca()

Datos_ Beca()

Boton_Salir_Click()

Diagramas de Becas

Page 36: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 37 de 49

sd Agregar Pago

Usuario

(from casos de uso)

Formulario

Pago

«table»

Pagos

Nuevo_Pago_Click()

Pago()

Boton_Guardar_Click()

Alta_Pago()

Datos Guardados()

Boton_Salir()

~Pago()

sd Borrar Pago

Usuario

(from casos de uso)

Formulario

Pago

«table»

Pagos

Borar_Pago_Click()

Pago()

Buscar Pago()

Pago Encontrado()

Borrar Pago()

Borrar Pago()

Borrado()

Boton Salir()

~Pago()

sd Actualizar Pago

Usuario

(from casos de uso)

Formulario

Pago

«table»

Pagos

Modificar_Pago_Click()

Pago()

Buscar Pago()

Pago Encontrado()

Ingresar Nuevos Datos()

Actualizar_Click()

Guardar Datos()

Datos Actualizados()

Boton Salir()

~Pago()

sd Consultar Pago

Usuario

(from casos de uso)

Formulario

Pago

«table»

Pagos

Boton Consultar Click()

Consulta Pago(Tipo Consulta)

Datos Pago()

Datos Pago()

Datos Pago()

Boton Salir()

~Pago()

Diagramas de Pagos

Page 37: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 38 de 49

Diagramas Usuarios

Figura 27 Diagrama de secuencias 'Agregar usuario'

Figura 28 Diagrama de secuencias 'Borrar usuario'

sd Agregar Usuario

Formulario

Usuario

«table»

Usuarios

Admnisitrador

Nuevo_Usuario_Click()

Usuario()

Boton_Guardar_Click()

Alta_Usuario()

Datos Guardados()

Datos Guardados()

Boton Salir()

~Usuario()

sd Borrar Usuario

Formulario

Usuario

«table»

Usuarios

Admnisitrador

Boton_Borrar_Usuario()

Buscar Usuario((User o Id))

Obj_Usuario()

Borrar Usuario()

Borrar

usuario(User o

Id_Usuario)

Usuario Elminiado()

Usuario Elimniado()

Salir()

~Usuario()

Page 38: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 39 de 49

Figura 29 Diagrama de secuencias 'Modificar usuario'

Figura 30 Diagrama de secuencias 'Consultar usuarios'

sd Modificar Usuario

Formulario

Usuario

«table»

Usuarios

Admnisitrador

Modificar Usuario()

Buscar Usuario(User o Id)

Usuario Encontrado()

Ingresar Nuevos Datos()

Actualizar Click()

Guardar Datos(Nuevos Datos y Privi legios)

Actualizacion Correcta()

Actualizacion Correcta()

Boton Salir Click()

~Usuario()

sd Consultar Usuarios

Formulario

Usuario

«table»

Usuarios

Admnisitrador

Boton Consultar Click()

Usuario()

Buscar Usuario(User o Id)

Datos Usuario()

Datos Usuario()

Boton Salir()

~Usuario()

Page 39: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 40 de 49

Tabla comparativa mostrando las inconsistencias detectadas

Antes Después Justificación

Alumno

Clave Id_Alumno Se agregó este campo para identificar de forma única a cada alumno

Fecha de Nacimiento Fecha Nac Se agregó este campo para poder verificar la edad de los alumnos y así ubicarlos en el equipo correspondiente

Num_Equipo Se agregó este campo para poder identificar a que equipo pertenece cada alumno

Nombre Nombre Se agregó este campo indispensable para poder tener la identidad el alumno

Apellido Paterno Se agregó este campo indispensable para poder tener la identidad el alumno

Apellido Materno Se agregó este campo indispensable para poder tener la identidad el alumno

Dirección Se agregó este campo contar con la ubicación básica del alumno

Teléfono Se agregó este campo contar con un numero de ubicación del alumno

Nombre Tutor Se agregó este campo ya que muchos de los alumnos son menores de edad y por tanto

necesitan de un tutor

Estado Se agregó este campo para obtener un poco de más de ubicación del alumno

Edad Edad Se agregó este campo para poder ubicar a los alumnos en los equipos acorde a su edad

Equipo

Entrenador Se quitó el campo entrenador ya que nos pareció innecesario en el sistema

Num_Equipo Se agregó este campo indispensable para diferenciar los equipos

Numero de Integrante Se quitó el número de integrante ya que podemos identificarlo con el Id_Alumno

Nombre del Equipo Nombre del Equipo Se agregó este campo para personalizar y ubicar cada equipo

Horario Se agregó este campo para llevar un control de las clases de los equipos

Nombre_Entrenador Se agregó este campo para poder identificar al responsable de cada equipo (entrenador)

Categoría Se agregó este campo para poder tener una identificación más a fondo de los equipos por

categorías

Numero_Alumnos Se agregó este campo para llevar un control del número de alumnos en cada equipo

Pago

Id_Pago Se agregó este campo para identificar el tipo de pago

Fecha de pago Se agregó este campo para llevar el control de la fecha de pagos

Page 40: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 41 de 49

Recargos Se agregó este campo para identificar los recargos a pagar

Fecha límite de pago Se agregó este campo para verificar la fecha límite de pago

Concepto Se agregó este campo para identificar mejor el tipo de pago

Importe Se agregó este campo para verificar el importe de pago

Descuentos Se agregó este campo para poder hacer uso de nuestros beneficios en descuentos

Estatus Se agregó este campo para poder identificar el estatus de cada pago

Beca Se quitó este campo ya que se creó una nueva clase con este

Calendario Se quitó este campo ya que con los nuevos agregados nos pareció innecesario

Beca

No era una clase Tipo_Beca Se agregó este campo para identificar las distintas becas

No era una clase Monto_Beca Se agregó este campo para verificar las cantidades de dinero que deben ser

entregadas a los alumnos

Id_Beca Se agregó este campo para una mayor identificación de la beca

Id_Alumno Se agregó este campo en beca para identificar a los becarios

Fecha_deposito Se agregó este campo para llevar un control de la fecha de deposito

Usuarios

No existía Id_Usuario Se agregó este campo para identificar al usuario

No existía Usuario Se agregó este campo para asignarle un sobrenombre al usuario

No existía Nombre completo Se agregó este campo para obtener información más completa del usuario

No existía Tipo Se agregó este campo para identificar qué tipo de usuario es

Page 41: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 42 de 49

Unidad 5

Actividades del Modelo de Implementación

Después de realizar las tareas las actividades en la etapa del modelo de diseño se

procedió con la etapa de implementación donde se traduce todo lo anteriormente

realizado en el proceso de diseño y análisis a un lenguaje de programación

propiamente en nuestro caso en particular usamos el lenguaje de programación

java. Como primer paso se realizo el diseño de las ventanas de acuerdo a los

datos que se requieren para dar de alta equipos, alumnos, becas y pagos. Así

como las ventanas para realizar las consultas.

Diseño de las Ventanas

Para la ventana principal se opto por un

ventana de tipo contenedor la cual

almacenara todas las ventanas que de

desplieguen durante la ejecución del sistema

y tenerlas de manera organizada. Dentro de

esta ventana se incluyo una barra de menús

los cuales contienen cada una de las

opciones que pueden realizar: Altas, bajas,

Modificaciones, Consultas, esto de acuerdo a

la especificación de cada caso de uso.

Figura 32 Ventana de autentificación

Figura 31 Ejemplificación ventana principal

Page 42: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 43 de 49

Figura 33 Ventana 'Crear usuario'

Figura 34 Ventana 'Alta equipos'

Figura 35 Ventana 'Actualización equipo'

Page 43: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 44 de 49

Figura 36 Ventana ' Alta alumnos'

Figura 37 Ventana 'Alta pagos'

Page 44: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 45 de 49

Programación de las Clases

La Programación de las clases se demuestra en el Documentación

generada a partir de la herramienta CASE Netbeans donde se muestran las

clases organizadas, así como sus constructores, métodos ambos de

manera general o de forma mas explicita.

Figura 38 Documentación generada a partir de herramientas CASE

Figura 39 Documentación generada a partir de Neatbeans

Page 45: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 46 de 49

Creación del diagrama las Tablas y Entidad Relación de la Base de

Datos

Con la finalidad de realizar un prototipo mas cercano a un sistema real

decidimos realizar una base de datos para probar como es que funcionaria

el sistema al interactuar con una base de datos y como es que este seria

capaz de manipular la información contenida en ella. Por lo que se diseño

una base de datos de acuerdo a los campos necesarios, creando

procedimientos almacenados, utilizando trigger y también el uso te

transacciones.

Figura 40 Diagrama Relacional

Page 46: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 47 de 49

Figura 41 Ejemplificación de herramientas CASE de la base de datos

Métodos y acciones de componentes dentro de la interfaz (Botones,

Tablas, Ventanas)

En esta parte se crea la conexión con la base de datos, se programo las acciones

que se realizaran al desencadenar un evento de los componentes de la interfaz

(Botones, tablas, Menús), Diseñando métodos para la recuperación, actualización

y modificación de la información que se encuentra en la base de datos.

Figura 42 Ejemplificación de la conexión de Netbeans con la base de datos

Page 47: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 48 de 49

Figura 43 Ejemplificación Netbeans 'Alta alumno'

Verificación del Funcionamiento (Interna).

Se verifico internamente por el programador que el uso de las clases, las

llamadas, consultas a la base de datos sean correctos, que la información

ingresada y mostrada sea la adecuada. Que los componentes de la interfaz

respondan de manera fluida y adecuada (Botones, tablas, ventanas).

Figura 44 Pruebas internas 'Alumnos'

Page 48: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 49 de 49

Figura 45 Pruebas internas 'Alta pagos'

Figura 46 Pruebas internas 'Alta alumnos'

Page 49: Documentacion de  Proyecto de Ingenieria de Software (Ejemplo)

GlobalTec

Fundamentos de Ingeniería del Software Proyecto

Ingeniería en Sistemas Computacionales Página 50 de 49