Documente Academic
Documente Profesional
Documente Cultură
GLOBALTEC
Fundamentos de Ingeniera del Software
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Tabla de contenido
ndice de Figuras ............................................................................................................................ 6
Parte Terica y Parte de Actividades .................................................................................... 8
1.1 Conceptos Bsicos ........................................................................................................... 8
1.2 El Papel Evolutivo del Software ..................................................................................... 11
1.3 Etapas del Desarrollo del Software ............................................................................... 12
1.4 Definicin e Historia de las Herramientas Case ........................................................ 13
1.5 Clasificacin de las Herramientas CASE .................................................................... 16
Unidad 2: Ingeniera de requisitos........................................................................................... 19
Parte Terica .............................................................................................................................. 19
2.1 Tareas de la Ingeniera de Requisitos .......................................................................... 19
2.2 Tcnicas de la Ingeniera de Requisitos ...................................................................... 21
2.3 Modelado de Requisitos ................................................................................................. 26
2.4 Herramientas CASE para la Ingeniera de Requisitos ............................................... 28
Parte de Actividades ................................................................................................................ 31
Actividad 3: Documentar en un caso de desarrollo las distintas tareas de la ingeniera
de requerimientos. .................................................................................................................. 31
Actividad 5: Tcnicas de la Ingeniera de Requisitos ....................................................... 34
Actividad 6: Investigar sobre las aplicaciones del modelado y sus especificaciones. 39
Actividad 7: Aplicar al menos una herramienta CASE para la identificacin de
requerimientos. ....................................................................................................................... 41
Unidad 3: Modelo de anlisis .................................................................................................... 42
Parte Terica .............................................................................................................................. 42
3.1 Arquitectura de Clases .................................................................................................... 42
3.2 Clases con estereotipos.................................................................................................. 46
3.3 Clases ................................................................................................................................ 49
3.4 Diagramas de Secuencias.............................................................................................. 52
3.5 Diccionario de Clases Segn Mdulos ......................................................................... 55
3.6 Herramientas CASE para el Anlisis ............................................................................ 62
Parte de Actividades ................................................................................................................ 65
Actividad 1: Investigar los diferentes modelos orientados a objetos como base para la
identificacin de clases. ......................................................................................................... 65
Actividad 2: Desarrollar casos de uso y modelos CRC .................................................... 67
Ingeniera en Sistemas Computacionales
Pgina 3 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 4 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 5 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
ndice de Figuras
Figura 2.- Linea del tiempo ........................................................................................................... 11
Figura 3.- Clasificacin basada en su integracin..................................................................... 18
Figura 4.- Especificacin ............................................................................................................... 33
Figura 5.- Casos de uso administrador ....................................................................................... 37
Figura 6.- Casos de uso Secretario ............................................................................................. 38
Figura 7.- Herramienta Case ........................................................................................................ 41
Figura 8: Configuracin segn modelo MVC ............................................................................. 42
Figura 9.- Diagrama de 3 dimensiones correspondiente a la arquitectura de clases.......... 43
Figura 10.- Descomposicin de la capa lgica de las aplicaciones ....................................... 44
Figura 11.- Estereotipo .................................................................................................................. 46
Figura 12.- Estereotipos correspondientes a las dimensiones de la arquitectura................ 46
Figura 13.- Los atributos esenciales y los sub tipos de una clase de anlisis. .................... 49
Figura 14.- Ejemplo de una clase de anlisis ............................................................................ 50
Figura 15.- La interfaz IU: La solicitud de pago se se usa para cubrir la interaccin entre el
actor Comprador y el caso de uso Pagar Factura..................................................................... 50
Figura 16.- La clase de Entidad Factura y su relacin con la interfaz de pago IU: Solicitud
de pago ............................................................................................................................................ 51
Figura 17.- La clase de Control, su relacin con los procesos empleados en diferentes
entidades ......................................................................................................................................... 51
Figura 18.- Tipo de mensajes ....................................................................................................... 52
Figura 19.- Muestra al conjunto bsico de smbolos del diagrama de secuencias, con los
smbolos en funcionamiento conjunto. ........................................................................................ 53
Figura 20.- Ejemplificacin de un diagrama de secuencias de instancia .............................. 53
Figura 21.- Ejemplificacin de un diagrama de secuencias genrico .................................... 54
Figura 22.- Mdulos principales ................................................................................................... 55
Figura 23.- Mdulos componentes de Registro ......................................................................... 56
Figura 24.- Mdulos componentes de Servicios ....................................................................... 57
Figura 25.- Mdulos componentes de Consultas ...................................................................... 59
Figura 26.- Ejemplificacin del uso de herramientas CASE para la elaboracin de casos
de uso ............................................................................................................................................... 63
Figura 27.- Ejemplificacin del uso de herramientas CASE para la elaboracin de
diagramas de secuencia ............................................................................................................... 63
Figura 28.- Ejemplificacin del uso de herramientas CASE para la elaboracin de
diagramas de implementacin...................................................................................................... 64
Figura 29.- Idea sistema UANL........................................................................................................... 66
Figura 30.- Casos de uso Administrador .................................................................................... 67
Figura 31.- Casos de uso Secretario ........................................................................................... 68
Figura 32.- Herramienta CASE .................................................................................................... 70
Figura 33.- Herramienta CASE .................................................................................................... 70
Figura 34.- Pirmide del diseo orientado a objetos ................................................................ 75
Figura 35.- Actividades del diseo orientado a objetos ............................................................ 76
Figura 36.- Ejemplificacin casos de uso ................................................................................... 81
37.- Representacin de un Objeto en un Diagrama de Secuencias. ..................................... 82
Pgina 6 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 7 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 8 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 9 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 10 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 11 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 12 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 13 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Permitir:
La reutilizacin del software
La portabilidad del software
La estandarizacin de la documentacin
Historia de las herramientas CASE:
Las Herramientas CASE tienen su inicio con el simple procesador de palabras que
fue usado para crear y manipular documentacin.
En la dcada de los 70s: El proyecto ISDOS desarroll un lenguaje llamado
"Problem Statement Language" (PSL) para la descripcin de los problemas de
usuarios y las necesidades de solucin de un sistema de informacin en un
diccionario
computarizado.
Problem Statement Analyzer (PSA) era
un producto asociado que analizaba la relacin de problemas y necesidades.
Los setentas vieron la introduccin de tcnicas grficas y diagramas de flujo de
estructuras de datos. Sobre este punto, el diseo y especificaciones en forma
pictrica han sido extremadamente complejos y consuman mucho tiempo para
realizar cambios.
La introduccin de las herramientas CASE para ayudar en este proceso ha
permitido que los diagramas puedan ser fcilmente creados y modificados,
mejorando la calidad de los diseos de software. Los diccionarios de datos, un
documento muy usado que mantiene los detalles de cada tipo de dato y los
procesos dentro de un sistema, son el resultado directo de la llegada del diseo de
flujo de datos y anlisis estructural, hecho posible a travs de las mejoras en las
Herramientas CASE.
Pronto se remplazaron los paquetes grficos por paquetes especializados que
habilitan la edicin, actualizacin e impresin en mltiples versiones de diseo.
Eventualmente, las herramientas grficas integradas con diccionarios de base de
datos para producir poderosos diseos y desarrollar herramientas, podran
sostener ciclos completos de diseo de documentos.
Como un paso final, la verificacin de errores y generadores de casos de pruebas
fueron incluidos para validar el diseo del software. Todos estos procesos pueden
haberse integrado en una simple herramienta CASE que soporta todo el ciclo de
desarrollo.
A inicios de los 80s: Empez a manejarse ms la ayuda en la documentacin por
medio de la computadora, se desarroll ms la diagramacin asistida por
computadora, el anlisis y el diseo.
A mediados de los 80s: Surgi el diseo automtico de anlisis y pruebas.
Mediante repositorios automticos de informacin de sistemas.
Pgina 14 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 15 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 16 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Ejemplos
Herramientas PERT, Herramientas de Estimacin,
Hojas de Calculo
Herramientas de texto, editores de diagramas,
procesadores de palabras
Herramientas de requisitos de trazabilidad, cambio
de sistemas control
Sistema de gestin de versiones, sistemas de
herramientas de construccin
Verificador de lenguajes de alto nivel, generador de
interfaces de usuarios
Editores de diseo, diccionarios de datos,
generadores de cdigo
Compiladores, Interpretes
Generadores de referencia cruzada, analizadores
de esttica, analizadores dinmicos
Generadores de datos de pruebas ,Comparadores
de archivos
Sistemas de depuracin interactiva,
Diseo de pginas, programas editores de
imgenes
Referencias cruzadas de sistemas, programa para
la restructuracin de sistemas
Pgina 17 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Especificacin
Diseo
Reingeniera
Prueba
Depuracin
Anlisis de Programa
Procesamiento de lenguaje
Herramientas de apoyo
Prototipos
Gestin de Configuracin
Gestin de Cambio
Documentacin
Edicin
Planificacin
Implementacin Verificacin
y Validacin
Tabla 3. Calificacin basada en el ciclo de vida del desarrollo de sistemas que cubren
Pgina 18 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 19 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 20 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 21 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Hacia el proceso
Cul es la razn por la que se quiere resolver este problema?
Cul es el valor de una solucin exitosa?
Cmo usted resuelve el problema actualmente?
Qu retrasos ocurren o pueden ocurrir?
Hacia el producto
Qu problemas podra causar este producto en el negocio?
En qu ambiente se usar el producto?
Cules son sus expectativas para los conceptos fcil de usar, confiable,
rendimiento?
Qu obstculos afectan la eficiencia del sistema?
Lluvia de Ideas
Este mtodo comenz en el mbito de las empresas, aplicndose a temas tan
variados como la productividad, la necesidad de encontrar nuevas ideas y
soluciones para los productos del mercado, encontrar nuevos mtodos que
desarrollen el pensamiento creativo a todos los niveles, etc. Pero pronto se
extendi a otros mbitos, incluyendo el mundo de desarrollo de sistemas;
bsicamente se busca que los involucrados en un proyecto desarrollen su
creatividad, promoviendo la introduccin de los principios creativos.
Principios de la lluvia de ideas
Aplazar el juicio y no realizar crticas, hasta que no agoten las ideas, ya que
actuara como un inhibidor. Se ha de crear una atmsfera de trabajo en la
que nadie se sienta amenazado.
Cuantas ms ideas se sugieren, mejores resultados se conseguirn: "la
cantidad produce la calidad". Las mejores ideas aparecen tarde en el periodo
de produccin de ideas, ser ms fcil que encontremos las soluciones y
tendremos ms variedad sobre la que elegir.
La produccin de ideas en grupos puede ser ms efectiva que la individual.
Tampoco debemos olvidar que durante las sesiones, las ideas de una
persona, sern asociadas de manera distinta por cada miembro, y har que
aparezcan otras por contacto.
Pgina 22 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Prototipos
Los prototipos permiten al desarrollador crear un modelo del software que debe
ser construido. Es una pequea muestra, de funcionalidad limitada, de cmo sera
el producto final una vez terminado. El prototipo es evaluado por el cliente y el
usuario y utilizado para refinar los requerimientos del software a ser desarrollado.
Un proceso de iteracin tiene lugar a medida que el prototipo es "puesto a punto"
para satisfacer las necesidades del cliente y permitiendo al mismo tiempo una
mejor comprensin del problema por parte del desarrollador. Adems ayudan a
conocer la opinin de los usuarios y rectificar algunos aspectos antes de llegar al
producto terminado.
Existen principalmente dos tipos de prototipos:
Prototipo rpido (Fast prototype): El prototipo rpido es un mecanismo para lograr
la validacin pre-compromiso. Se utiliza para validar requerimientos en una etapa
previa al diseo especfico. En este sentido, el prototipo puede ser visto como una
aceptacin tcita de que los requerimientos no son totalmente conocidos o
entendidos antes del diseo y la implementacin. El prototipo rpido puede ser
usado como un medio para explorar nuevos requerimientos y as ayudar a
"controlar" su constante evolucin.
Prototipo evolutivo: Desde una perspectiva diferente, todo el ciclo de vida de un
producto puede ser visto como una serie incremental de detallados prototipos
acumulativos. El punto de vista evolutivo del ciclo de vida del software considera a
la primera entrega como un prototipo inicial en el campo. Modificaciones y mejoras
subsecuentes resultan en nuevas entregas de prototipos ms maduros. Este
Ingeniera en Sistemas Computacionales
Pgina 23 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 24 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 25 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 26 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 27 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Con el nimo de facilitar las tareas del desarrollo de software, surgen herramientas
informticas que agilizan la labor en la IR. Dichas herramientas son denominadas
CASE (Ingeniera de software asistida por computador), y sirven de apoyo para los
desarrolladores, desde el principio hasta el final del proceso.
Para el caso particular de esta investigacin, son de especial inters aquellos
instrumentos que se encargan de actividades como: extraer, analizar, documentar,
revisar, negociar y validar los requisitos del sistema objeto de estudio.
Herramientas CASE, hacia una Ingeniera de Requisitos computarizada
A medida que pasa el tiempo se logra entender que el empleo del software es una
buena opcin para agilizar y sistematizar las tareas en el desarrollo de procesos.
El desarrollo de software no es la excepcin; en este caso dichas herramientas se
han denominado CASE (Ingeniera De Software Asistida Por Computador). Estas
incluyen un conjunto de programas que facilitan la optimizacin de un producto
ofreciendo apoyo permanente a los analistas, ingenieros de software y
desarrolladores. CASE es la aplicacin de mtodos y tcnicas que dan utilidades a
los programas, por medio de otros, procedimientos y su respectiva
documentacin. En esta investigacin se hace referencia a las herramientas que
ayudan a la gestin de requisitos; es decir al proceso de identificacin, asignacin
y seguimiento de los mismos, incluyendo interfaz, verificacin, modificacin y
control de cada requisito, durante el ciclo de vida del proyecto. Los cambios y
actualizaciones de requisitos deben ser gestionados para asegurar que se
mantenga la calidad del producto.
Pgina 28 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Hasta hace poco tiempo las herramientas para la gestin de requisitos de software
se limitaban a editores de texto, los cuales hacan de esta tarea una labor tediosa
y confusa. Actualmente, se cuenta con mltiples opciones, como las que se
mencionan a continuacin:
IRQA 43
Herramienta CASE de Ingeniera de Requisitos, diseada para soportar las
actividades realizadas en el proceso de especificacin de sistemas. sta facilita y
formaliza la comunicacin entre el cliente, el proveedor y los distintos miembros
del equipo de desarrollo. Facilita la captura, organizacin y anlisis de las
condiciones, as como la especificacin de la solucin mediante el apoyo
metodolgico adaptable a cada cliente.
RETO
Esta herramienta propone un modelo de requisitos para capturar los aspectos
funcionales del sistema; bsicamente, mediante tres tcnicas complementarias
entre s: la definicin de la Misin del Sistema, la construccin del rbol de
Refinamiento de Funciones y el desarrollo del Modelo de Casos de Uso. Adems,
se introduce un Proceso de Anlisis que permite traducir el Modelo de Requisitos
en el Modelo Conceptual, manteniendo la trazabilidad entre ambos y propiciando
una representacin de la informacin en el segundo prototipo.
CONTROLA
Herramienta de apoyo al proceso de ingeniera de software en pequeas
empresas. Se cre gracias a la expansin que tuvo el mercado y a la generacin
de grandes y pequeas empresas, las cuales requieren un instrumento para el
desarrollo de sus proyectos.
Ofrece recursos importantes tales como: Administracin de requisitos,
administracin de casos de uso, administracin de casos de prueba y error,
planeamiento de liberaciones, administracin de implementaciones, control de
dependencia entre Implementaciones, matriz de rastreabilidad y rastreabilidad de
los requisitos.
OSRMT (Open Source Requirements Management Tool)
Herramienta libre para la gestin de requisitos, cuyas principales caractersticas
son: trabaja en arquitectura cliente/servidor, desarrollada bajo Java; la versin 1.3
trae un mdulo para manejar la trazabilidad y lo introduce para el control de
cambios; as mismo, genera la documentacin de los requisitos tratados.
JEREMIA5
Se trata exclusivamente de una aplicacin cliente exclusivamente, lo cual no
permite la posibilidad de trabajar en equipo. sta, ayuda durante el desarrollo del
Ingeniera en Sistemas Computacionales
Pgina 29 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 30 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Parte de Actividades
Actividad 3: Documentar en un caso de desarrollo las distintas tareas de la
ingeniera de requerimientos.
Sistema para la Academia Oficial de Tigres de la UANL
Boleta de Pagos
Extraccin
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 ingresa al club deportivo, este sistema
debe contar con:
Los puntos anteriormente mencionados son aquellos con los que el cliente espera
cuente su sistema pero debemos tomar en cuenta tambin los siguientes puntos
importantes:
En cuento a pagos:
Pgina 31 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Anlisis
De acuerdo a la informacin extrada 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 observacin es agregar el nombre y horario
del equipo asignado as como el entrenador a cargo para llevar un seguimiento
ms especfico 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 va internet y en un link
asignado en la pgina oficial al cual podrn ingresar con un nombre y contrasea
de usuario. Se puede asignar tambin un apartado en donde el entrenador escriba
semanalmente una evaluacin del alumno el cual contenga (comportamiento,
cumplimiento con horas de llegada y asistencias, porte de uniforme, uso de
credencial, desempeo en el entrenamiento, calificacin asignada semanal).
Pgina 32 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Especificacin
Pgina 33 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 34 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Lluvia de ideas
Ideas Planteadas:
Pgina 35 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 36 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Casos de Uso
Sistema para la academia oficial de Tigres UANL boleta de pago
uc Casos de Uso Admnistrador
Actualizar
Fechas
Modificar
Fechas
Consultar
Descuentos
Agregar Becas
Consultar
Becas
Modificar
Descuentos
Agregar
Expediente
Borrar Alumno
Modificar
Alumno
Modificar
Expediente
Agregar
alumno
Borrar
Expediente
Agregar
Descuentos
Consultar
Alumno
Consultar
Expediente
Borrar Becas
Modificar
Becas
Borrar
Descuentos
Administrador
Modificar
usuarios
Modificar
Equipo
Agregar
usuarios
Agregar Equipo
Agregar
Fechas
Borrar
usuarios
Consultar
Equipo
Consultar
Usuarios
Consultar
Pagos
Borrar Equipo
Modificar
Pagos
Consultar
Fechas
Borrar Pagos
Agregar Pagos
Pgina 37 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Modificar
Alumno
Consultar
Alumno
Agregar
alumno
Consultar
Expediente
Modificar
Expediente
Consultar
Equipo
Modificar
Equipo
Consultar
Descuentos
Secretario
Consultar
Pagos
Modificar
Pagos
Agregar Becas
Consultar
Becas
Consultar
Fechas
Agregar Pagos
Pgina 38 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 39 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Anlisis:
Una de las ideas que como equipo pudimos concluir y se tom la decisin que con
la informacin que se obtendr por medio del cliente pensamos nosotros que es
mejor realizar un cdigo que nos genere de claves nicas para cada alumno para
tratar de evitar conflictos con la repeticin de datos dentro de la base de datos que
vamos a necesitar.
Diseo:
En cuanto al diseo trataremos de hacerlo de una manera prctica, tanto para
facilitar el trabajo para el administrador de la base de datos, porque incluso
pensamos que pudiera ser un conflicto y a la larga pudiera traernos problemas a
nosotros mismos, por lo tanto pensamos que lo ms grafico que se pueda con
pocas ventanas en el sistema para que se pueda mover de una manera bastante
sencilla.
Implementacin: Los casos de uso son implementados mediante el cdigo fuente
en el modelo de implementacin. Esta parte de la actividad no fue realizada, ya
que por el cambio que realizamos en cuestin del sistema, sera un poco tedioso
para nosotros tener que hacer los 2 sistemas.
Pruebas: Los casos de uso son probados a travs de las pruebas de
componentes y pruebas de integracin. Esta parte de la actividad no fue realizada,
ya que por el cambio que realizamos en cuestin del sistema, sera un poco
tedioso para nosotros tener que hacer los 2 sistemas.
Documentacin: El modelo de casos de uso debe ser documentado a lo largo de
las diversas actividades, dando lugar a distintos documentos como los manuales
de usuario, manuales de administracin, etc. Esta parte de la actividad no fue
realizada, ya que por el cambio que realizamos en cuestin del sistema, sera un
poco tedioso para nosotros tener que hacer los 2 sistemas.
Pgina 40 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 41 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Aunque existe cierta dependencia entre estas tres dimensiones se considera que
la manera de presentar la informacin es independiente de la propia informacin y
de cmo esta se controla. Sin embargo, cada una de ellas probablemente
experimente cambios a lo largo de la vida del sistema, donde el control es el ms
propenso a ser modificado, seguido de la vista y finalmente el modelo.
Para capturar estos tres aspectos de la funcionalidad es importante notar la
correspondencia con las tres dimensiones utilizadas durante el modelo de
requisitos. La razn de ser de las tres dimensiones del modelo de requisitos
Ingeniera en Sistemas Computacionales
Pgina 42 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 43 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 44 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 45 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 46 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
CONTROL
Los objetos de control tpicamente actan como pegamento entre los otros tipos
de objetos y por lo tanto proveen la comunicacin entre los dems tipos
de objetos. Son tpicamente los ms efmeros de todos los tipos de objetos,
dependiendo de la existencia del propio caso de uso.
La meta debe ser ligar solo un actor con cada objeto control ya que los cambios en
los sistemas a menudo son originados por los actores y de tal manera se logra
modularizar los posibles cambios. La estrategia de asignacin de control se debe
decidir segn cada aplicacin. En la mayora de los casos, sin embargo, se
promueve la separacin del control de un caso de uso en un objeto control
que delega funcionalidad de manejo ms local a los otros dos tipos de objetos.
Clases segn estereotipos:
Estereotipo Entidad:
Para los objetos que guardan informacin sobre el estado interno del
sistema; estos objetos corresponden al dominio del problema. Ejemplo: un
registro de usuario con sus datos.
Identificacin:
Estereotipo Borde:
Para objetos que implementan las interfaces del sistema con el mundo
externo; corresponde a todos los actores incluyendo los no humanos.
Ejemplo: un objeto que se comunica con una BD externa al sistema. Tambin
una interfaz de usuario.
Pgina 47 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Estereotipo Control:
Para objetos que implementan la lgica de los casos de uso. Ejemplo: validar
un usuario existente o insertar uno nuevo.
Identificacin:
Pgina 48 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
3.3 Clases
Representa una abstraccin de uno o varios objetos y subsistemas del diseo del
sistema que posee las siguientes caractersticas:
Una clase de anlisis se centra en el tratamiento de los requisitos funcionales.
Esto hace que una clase de anlisis sea ms evidente en el contexto del domino
del problema. Una clase de anlisis raramente define u ofrece una interfaz en
trminos de operaciones. Su comportamiento se define mediante
responsabilidades
Una clase de anlisis define atributos que son conceptuales y reconocibles en el
dominio del problema. As mismo participa en relaciones.
La clase de anlisis encaja en uno de tres estereotipos bsicos.
De interfaz
De control
De entidad
Pgina 49 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 50 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Clase de Entidad:
Se usa para modelar informacin que posee una vida larga y que es a menudo
persistente. Modela la informacin y comportamiento asociado de algn fenmeno
o concepto (persona, objeto del mundo real o suceso). Se derivan de una clase de
entidad del negocio o del dominio.
Pgina 51 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 52 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Tiempo
El diagrama representa tiempo en direccin vertical. El tiempo se inicia en la parte
superior y avanza hacia la parte inferior. Un mensaje que est ms cerca de la
parte superior ocurrir antes que uno que est cerca de la parte inferior.
Con ello el diagrama de secuencias tiene dos dimensiones. La dimensin
horizontal es la disposicin de los objetos, y la dimensin vertical muestra el paso
del tiempo
Pgina 53 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 54 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 55 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Registro
El mdulo registro se divide en los siguientes mdulos: Registro Principal, Usuario
y Tarjeta. Como se muestra en la siguiente figura:
Registro Principal
El mdulo Registro Principal est compuesto por una sola clase:
Interface Base Datos Registro
- Clase Borde. La informacin de cada usuario se almacena en la base de datos
de registro la cual se accesa mediante la borde de la base de datos de registro.
Esto permite validar a los distintos usuarios adems de guardar informacin sobre
la tarjeta de crdito para pagos en lnea.
Usuario
El mdulo Usuario est compuesto por las clases:
Pantalla Crear Reg. Usuario
- Clase Borde. Pantalla de solicitud de registro de usuario.
Pantalla Obtener Reg. Usuario
- Clase Borde. Pantalla de devolucin con informacin de registro de usuario.
Registro Usuario
- Clase Entidad. Para poder utilizar el sistema de reservaciones, el usuario debe
estar registrado con el sistema. El registro contiene informacin acerca del usuario
que incluye nombre, direccin, colonia, ciudad, pas, cdigo postal, telfono de
casa, telfono de oficina, fax, email, login y password.
Pgina 56 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Servicios
El mdulo Servicio se divide en los siguientes mdulos: Servicio Principal,
Dominio, Consultas, Reservas, y Pagos, como se muestra en la siguiente figura:
Pgina 57 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Servicio Principal
El mdulo Servicio Principal est compuesto por las clases:
Interface Base Datos Reserva
- Clase Borde. La informacin del sistema de reservaciones de vuelo se almacena
en la base de datos de reservas la cual se accesa mediante la borde de la base de
datos de reservas. Esto permite generar consultas, reservas y pago de reservas
de manera dinmica.
Pantalla Servicio
- Clase Borde. Pantalla de servicios.
Manejador Servicio
- Clase Control. El manejador de servicios se encarga de enviar las peticiones
particulares de servicios a los manejadores especializados para consulta, reserva
y compra.
Dominio
El mdulo Dominio est compuesto por las clases:
Vuelo
- Clase Entidad. Se denomina por medio de un nmero. El vuelo tiene como origen
un aeropuerto en una ciudad y tiene como destino un aeropuerto de otra ciudad.
Un vuelo puede tener mltiples escalas y mltiples vuelos se relacionan por medio
de conexiones. El vuelo pertenece a una aerolnea y puede operar varios das a la
semana teniendo un horario de salida y otro de llegada.
Reservacin
- Clase Entidad. Para poder tomar un vuelo es necesario contar con una
reservacin previa, la cual debe pagarse antes de una fecha lmite, que puede ser
el propio da del vuelo. Una reservacin puede hacerse para mltiples vuelos y
mltiples pasajeros. La reservacin cuenta con una clave identificando un rcord
de reservacin particular.
Horario
- Clase Entidad. El horario de un vuelo se determina por su hora de salida y hora
de llegada durante los das que opera.
Aerolnea
- Clase Entidad. La aerolnea provee servicio de mltiples vuelos entre diferentes
ciudades bajo diferentes horarios. La aerolnea se identifica por un nombre.
Pgina 58 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Aeropuerto
- Clase Entidad. El aeropuerto sirve como origen, destino y escalas de un vuelo. El
aeropuerto se encuentra en una ciudad de un pas determinado.
Tarifa - Clase Entidad. Los diferentes vuelos tienen mltiples tarifas para compra
de boleto, variando segn la clase de boleto, si son de ida o de ida y vuelta, y
dependiendo de las diversas restricciones y ofertas existentes.
Asiento
- Clase Entidad. Una reservacin de vuelo puede incluir la asignacin de asiento,
especificada mediante una fila y un nmero. El nmero de asientos disponibles en
un vuelo particular dependen del tipo de avin que opere ese da.
Pasajero
- Clase Entidad. Para poder hacer una reservacin se requiere dar el nombre del
pasajero. Varios pasajeros pueden aparecer bajo una sola reservacin.
Avin
- Clase Entidad. Un vuelo en una fecha determinada se hace en un tipo de avin
particular. El tipo de avin define la cantidad mxima de pasajeros que pueden
viajar en ese vuelo para esa fecha.
Viajero Frecuente
- Clase Entidad. El pasajero tiene la opcin de acumular millas para un vuelo
particular si cuenta con una tarjeta de viajero frecuente para la aerolnea
correspondiente.
Consultas
El mdulo Consultas se divide en los siguientes mdulos: Consultas Principal,
Horarios, Tarifas Y Estado, como se muestra en la siguiente figura:
Pgina 59 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Consultas Principal
El mdulo Consultas Principal est compuesto por las clases:
Pantalla Consultas
- Clase Borde. Pantalla de presentacin de consultas.
Manejador Consultas
- Clase Control. El manejador de consulta se encarga de enviar las peticiones de
consulta particular a los manejadores de consulta especializados.
Horarios
El mdulo Horarios est compuesto por las clases:
Pantalla Consulta Horarios
- Clase Borde. Pantalla de presentacin de consulta de horarios.
Pantalla Resultado Horarios
- Clase Borde. Pantalla de devolucin de consulta de horarios.
Manejador Consulta Horarios
- Clase Control. El manejador de consulta de horarios se encarga de controlarlas
peticiones de consulta de horarios.
Tarifas
El mdulo Tarifas est compuesto por las clases:
Pantalla Consulta Tarifas
- Clase Borde. Pantalla de presentacin de consulta de tarifas.
Pantalla Resultado Tarifas
- Clase Borde. Pantalla de devolucin de consulta de tarifas.
Manejador Consulta Tarifas
- Clase Control. El manejador de consulta de tarifas se encarga de controlar las
peticiones de consulta de tarifas.
Pgina 60 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Estado
El mdulo Estado est compuesto por las clases:
Pantalla Consulta Estado
- Clase Borde. Pantalla de presentacin de consulta de estado.
Pantalla Resultado Estado
- Clase Borde. Pantalla de devolucin de consulta de estado
Manejador Consulta Estado
- Clase Control. El manejador de consulta de estado se encarga de controlar las
peticiones de consulta de estado.
Reservas
El mdulo Reservas est compuesto por las clases:
Pantalla Clave Reservas
- Clase Borde. Pantalla de solicitud de clave de reservas.
Pantalla Crear Reserva Vuelos
- Clase Borde. Pantalla de solicitud de reservas.
Pantalla Record Reserva Vuelos
- Clase Borde. Pantalla de devolucin de reservas
Manejador Reservas
- Clase Control. El manejador de reserva se encarga de enviar las solicitudes de
reserva a la base de datos del sistema de reservaciones.
Pantalla Pagar Reg. Tarjeta
- Clase Borde. Pantalla de solicitud de pago de reservas.
Pantalla Rembolsar Reg. Tarjeta
- Clase Borde. Pantalla de solicitud de rembolso de pago.
Manejador Pagos
- Clase Control. El manejador de compra se encarga de enviar las solicitudes de
compra de boleto a la base de datos del sistema de reservaciones.
Pgina 61 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagramas Estructurales:
Clase
Objeto
Compuesto
Paquete
Componente
Despliegue
Diagramas de Comportamiento:
Casos de Uso
Comunicacin
Secuencia
Descripcin de la Interaccin
Actividad
Estado
Tiempo
Pgina 62 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagramas de Secuencia
Pgina 63 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagrama de Implementacin
Pgina 64 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Parte de Actividades
Actividad 1: Investigar los diferentes modelos orientados a objetos como
base para la identificacin de clases.
Uso del modelo arquitectnico MVC
Tipos de modelos o arquitecturas de anlisis
MODELO MVC
Pgina 65 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 66 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 67 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Usuario: Secretario
Responsabilidades
Colaboradores
Tipo de usuario: Administrativo
Fechas
Datos: Empleado Administrativo
Equipos
Expedientes
Responsabilidades:
Alumnos
Pagos
Usuarios
Consultar
Becas
Modificar
Tabla 5. Secretario
Pgina 68 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 69 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 70 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Divide y vencers
Implica resolver un problema difcil, dividindolo en partes ms simples tantas
veces como sea necesario, hasta que la resolucin de las partes se torna
obvia. La solucin del problema principal se construye con las soluciones
encontradas.
Pgina 71 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
conocimiento de todas las variables que pueden afectar los elementos del
sistema.
(Se denomina caja negra a aquel elemento que es estudiado desde el punto
de vista de las entradas que recibe y las salidas o respuestas que produce, sin
tener en cuenta su funcionamiento interno.)
Abstraccin de datos y ocultamiento de informacin
La abstraccin de datos es un conjunto de datos que describen un objeto,
como puede ser el DNI de una persona, que est compuesta por conjunto de
partes de informacin, pero que nos podemos referir a todos los datos
mencionando el nombre de la abstraccin de datos.
El principio de ocultamiento de la informacin sugiere que los mdulos deben
especificarse de forma que la informacin (procedimientos y datos) contenida
dentro de un mdulo sea inaccesible a otros mdulos que no necesiten tal
informacin. Por tanto se trata de definir una serie de mdulos independientes
que se comuniquen slo a travs de la informacin necesaria para realizar la
funcin de software. El uso de ocultamiento de informacin en el diseo
facilitar las modificaciones, prueba y mantenimiento del software, ya que
como la mayora de los datos y de los procedimientos estn ocultos a otras
partes del software, ser menos probable que los errores que se introduzcan
durante la modificacin se propaguen a otros mdulos del software.
Uso de heursticas
La resolucin de problemas es especficamente distinta del aprendizaje de
hechos, la creacin de estructuras conceptuales y la adquisicin de destrezas,
algoritmos y valores. Sin embargo es una importante tcnica metodolgica
para la formacin de conceptos y para establecer relaciones entre ellos. Son
reglas muy generales que permiten transformar el problema en una situacin
ms sencilla, nos ayudan a comprender el problema y favorecer el xito en
encontrar la solucin.
Uso de patrones
Contribuyen a reutilizar diseo grfico, identificando aspectos claves de la
estructura de un diseo que puede ser aplicado en una gran cantidad de
situaciones. La importancia de la reutilizacin del diseo no es despreciable,
ya que sta nos provee de numerosas ventajas: reduce los esfuerzos de
desarrollo y mantenimiento, mejora la seguridad informtica, eficiencia y
consistencia de nuestros diseos, y nos proporciona un considerable ahorro
en la inversin. Mejoran (aumentan, elevan) la flexibilidad, modularidad y
extensibilidad, factores internos e ntimamente relacionados con la calidad
percibida por el usuario.
Pgina 72 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Este mtodo fue definido por G. Booch a principios de los aos 80 y ha conocido
varias versiones sucesivas. Desde el punto de vista de las aplicaciones
industriales, es probablemente uno de los mtodos precursores de la
aproximacin orientada a objetos. Fue definido para el Departamento de Defensa
estadounidense (DOD) para racionalizar el desarrollo de las aplicaciones en ADA.
Posteriormente ha sido ampliado para el lenguaje C++. Por lo tanto, se trata de un
mtodo de desarrollo (especificacin tcnica e implementacin) y no de diseo
(anlisis de las necesidades y especificacin formal). Con posterioridad ha
inspirado numerosos mtodos, algunos de los cuales son extensiones directas,
como HOOD.
La idea principal de OOD es sugerir a los programadores la utilizacin de los
paquetes de ADA, no para poner en ellos cualquier procedimiento o definicin de
tipo, sino para implementar clases en el sentido de la aproximacin orientada a
objetos. De este modo, cualquier objeto del sistema se representa como un
paquete. Lo esencial del mtodo est dedicado a la elaboracin del modelo
esttico (describir los objetos del sistema); el modelo dinmico (cambios de estado
de los objetos frente a ciertos eventos) solamente se aborda muy parcialmente y el
modelo funcional (describe los procesos de transformacin de los usuarios) no se
tiene en cuenta. OOD recomienda sin embargo el anlisis de las funciones segn
el mtodo SADT.
Pgina 73 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 74 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 75 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 76 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 77 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 78 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Analistas
Diseadores del sistema
Moderador
Diseadores del programa para el proyecto
Probador del sistema
Pgina 79 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Integrantes:
Analistas
Diseadores del sistema
Diseadores del programa
Moderador, secretario y probador del sistema.
Pgina 80 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 81 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Tipos de mensajes
Pgina 82 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 83 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 84 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Clase
Objeto
Compuesto
Paquete
Componente
Despliegue
Diagramas de Comportamiento:
Casos de Uso
Comunicacin
Secuencia
Descripcin de la Interaccin
Actividad
Estado
Tiempo
Pgina 85 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 86 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagrama de Implementacin
Pgina 87 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Parte de Actividades
Actividad 1: Refinamiento a Clases
En esta actividad se realiz el refinamiento de las Clases del Sistema es decir se
verifico los atributos que estn deberan contener mediante un anlisis 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 diseo, para que la etapa de
implementacin se lleve a cabo con el menor nmero de inconvenientes.
class Clases
class Clases
Equipo
Alumno
-
Id_Alumno: int
Num_Equipo: int
Nombre: String
Apellido Materno: String
Apellido 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
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
Pgina 88 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pago
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
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
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
Pgina 89 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 90 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 91 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagrama refinado:
SISTEMA UANL
Consulta:
Becas
equipos
fechas
usuarios
equipos
becas
fechas
pagos
expedientes
usuarios
Agrega:
alumnos, pagos, becas.
Sistema UANL
Modifica:
expediente, alumnos, pagos
usuarios
Consulta:
alumnos, torneos
Pgina 92 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 93 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
sd Agregar Alumno
sd Borrar Alumno
table
table
Alumnos
Alumnos
Usuario
Formulario
Usuario
(from Equipo)
Nuevo_Alumno_Click()
Formulario
(from Equipo)
Alumno()
Boton_Borrar_Alumno_Click()
Alumno
Alumno()
Alumno
Boton_Guardar_Click()
Buscar
Alumno(Id_Alumno)
Alta_Alumno()
Datos Guardados()
Objeto Alumno()
Boton Salir()
Borrar Alumno()
~Alumno()
Borrar
Alumno(Id_Alumno)
~Formulario()
Alumno Eliminado()
Pgina 94 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Pgina 95 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagramas de Alumno
sd Borrar Alumno
sd Agregar Alumno
table
table
Alumnos
Usuario
Alumnos
Usuario
Formulario
Formulario
(from Equipo)
Nuevo_Alumno_Click()
(from Equipo)
Alumno()
Boton_Borrar_Alumno_Click()
Alumno
Alumno()
Boton_Guardar_Click()
Alumno
Buscar
Alumno(Id_Alumno)
Alta_Alumno()
Datos Guardados()
Objeto Alumno()
Boton Salir()
Borrar Alumno()
~Alumno()
Borrar
Alumno(Id_Alumno)
~Formulario()
Alumno Eliminado()
sd Modificar Alumno
sd Consultar Alumnos
table
table
Alumnos
Alumnos
Usuario
Formulario
Usuario
(from Equipo)
Modificar Alumno Click()
Formulario
(from Equipo)
Alumno()
Boton_Consultar_Click()
Alumno
Buscar Alumno(Id_Alumno)
Alumno()
Alumno
Buscar_Alumno(T
ipo_Consulta)
Alumno Encontrado()
Actualizar Click()
Guardar Datos()
Boton_Salir_Click()
Datos Guardados()
Boton_Salir_Click()
~Alumno()
Pgina 96 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagramas de Equipo
sd Borrar Equipo
sd Agregar Equipo
table
table
Equipo
Equipo
Usuario
Usuario
Formulario
Formulario
Boton_Borrar_Equipo()
Boton_Nuevo_Equipo_Clicl()
Equipo()
Equipo()
Equipo
Equipo
Buscar Equipo()
Obj_Equipo()
Datos Equipo()
Boton_Guardar()
Obj Equipo()
Guardar Datos()
Borrar Equipo()
Borrar Equipo()
Datos Guardados()
Equipo Borrado()
Boton_Salir()
~Equipo()
~Equipo()
sd Modificar Equipo
sd Consultar Equipo
table
table
Equipo
Equipo
Usuario
Usuario
Formulario
Formulario
Boton_Modificar_Click()
Equipo()
Boton_Consultar_Click()
Equipo
Equipo()
Buscar Equipo()
Equipo
Datos Equipo()
Datos Equipo()
Datos Equipo()
Datos Equipo()
Nuevos Datos()
Datos Equipo()
Obj_Equipo()
Actualizar_Click()
Actualizar()
~Equipo()
Actualizacion Correcta()
Boton Salir()
~Equipo()
Pgina 97 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Becas
sd Alta Becas
sd Consultar Becas
table
table
Becas
Usuario
Becas
Usuario
Formulario
Formulario
Boton_Consultar_Click()
Nueva_Beca_Clcik()
Beca()
Beca()
Becas
Becas
Consultar Beca(Tipo de Consulta)
Boton_Guardar()
Datos de Beca()
Alta_Beca()
Datos Beca()
Datos_ Beca()
Datos Guardados()
Boton_Salir_Click()
Boton Salir()
~Beca()
sd Modificar Becas
Modificar_Beca_Click()
Usuario
Formulario
Beca()
Becas
Borrar_Beca_Click()
Buscar Beca()
Beca()
Becas
Beca Encontrada()
Buscar Beca()
Beca Encontrada()
Ingresar Nuevos Datos()
Beca Encontrada()
Beca Encontrada()
Acrtualizar_Click()
Borrar Beca()
Guardar Datos()
Borrar Beca()
Datos Guardados()
Borrado()
Boton Salir()
Boton Salir()
~Beca()
~Beca()
Pgina 98 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagramas de Pagos
sd Borrar Pago
sd Agregar Pago
table
table
Pagos
Pagos
Usuario
Usuario
Formulario
Formulario
Nuevo_Pago_Click()
Borar_Pago_Click()
Pago()
Pago()
Pago
Pago
Buscar Pago()
Boton_Guardar_Click()
Alta_Pago()
Pago Encontrado()
Borrar Pago()
Datos Guardados()
Borrar Pago()
Boton_Salir()
~Pago()
Borrado()
Boton Salir()
~Pago()
sd Actualizar Pago
sd Consultar Pago
table
table
Pagos
Usuario
Pagos
Formulario
Usuario
Formulario
Modificar_Pago_Click()
Buscar Pago()
Pago
Consulta Pago(Tipo Consulta)
Pago Encontrado()
Datos Pago()
Ingresar Nuevos Datos()
Datos Pago()
Datos Pago()
Actualizar_Click()
Guardar Datos()
Boton Salir()
Datos Actualizados()
~Pago()
Boton Salir()
~Pago()
Pgina 99 de 154
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Diagramas Usuarios
sd Borrar Usuario
sd Agregar Usuario
tabl e
table
Usuarios
Usuari os
Admni si trador
Formulario
Admnisitrador
Formulario
Boton_Borrar_Usuari o()
Nuevo_Usuario_Click()
Usuario()
Usuario
Usuario
Buscar Usuari o((User o Id))
Boton_Guardar_Click()
Obj _Usuari o()
Alta_Usuario()
Borrar Usuari o()
Datos Guardados()
Borrar
usuari o(User o
Id_Usuari o)
Datos Guardados()
Usuari o El mi ni ado()
Boton Salir()
Usuari o El i mni ado()
~Usuario()
Sal i r()
~Usuari o()
sd Modificar Usuario
sd Consultar Usuarios
table
table
Usuarios
Admnisitrador
Usuarios
Formulario
Admnisitrador
Formulario
Modificar Usuario()
Usuario()
Usuario
Buscar Usuario(User o Id)
Usuario Encontrado()
Datos Usuario()
Datos Usuario()
Actualizar Click()
Actualizacion Correcta()
Boton Salir()
Actualizacion Correcta()
~Usuario()
~Usuario()
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Fecha de Nacimiento
Despus
Alumno
Id_Alumno
Fecha Nac
Num_Equipo
Nombre
Nombre
Apellido Paterno
Apellido Materno
Direccin
Telfono
Nombre Tutor
Estado
Edad
Edad
Justificacin
Se agreg este campo para
identificar de forma nica a cada
alumno
Se agreg este campo para
poder verificar la edad de los
alumnos y as ubicarlos en el
equipo correspondiente
Se agreg este campo para
poder identificar a que equipo
pertenece cada alumno
Se agreg este campo
indispensable para poder tener la
identidad el alumno
Se agreg este campo
indispensable para poder tener la
identidad el alumno
Se agreg este campo
indispensable para poder tener la
identidad el alumno
Se agreg este campo contar con
la ubicacin bsica del alumno
Se agreg este campo contar con
un numero de ubicacin del
alumno
Se agreg este campo ya que
muchos de los alumnos son
menores de edad y por tanto
necesitan de un tutor
Se agreg este campo para
obtener un poco de ms de
ubicacin del alumno
Se agreg este campo para
poder ubicar a los alumnos en los
equipos acorde a su edad
Equipo
Entrenador
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Num_Equipo
Numero de Integrante
Horario
Nombre_Entrenador
Categoria
Numero_Alumnos
Pago
Id_Pago
Fecha de pago
Recargos
Fecha lmite de pago
Concepto
Importe
Descuentos
Estatus
Beca
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Beca
Tipo_Beca
Monto_Beca
Id_Beca
Id_Alumno
Fecha_deposito
Usuarios
No exista
Id_Usuario
No exista
Usuario
No exista
Nombre completo
No exista
Tipo
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Figura 61.-Nodo
Instancia de nodo: Una instancia de nodo se puede mostrar en un diagrama. Una
instancia se puede distinguir desde un nodo por el hecho de que su nombre esta
subrayado y tiene dos puntos antes del tipo de nodo base. Una instancia puede o
no tener un nombre antes de los dos puntos. El siguiente diagrama muestra una
instancia nombrada de una computadora (Figura 63).
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Tipos de pruebas:
Pruebas estticas
Son el tipo de pruebas que se realizan sin ejecutar el cdigo de la aplicacin.
Pruebas dinmicas
Todas aquellas pruebas que para su ejecucin requieren la ejecucin de la
aplicacin.
Tipos de pruebas por su ejecucin
Pruebas automticas
Pruebas manuales
Niveles de pruebas
Pruebas unitarias
Pruebas de Integracin
Pruebas de sistema
Pruebas funcionales
Pruebas funcionales
Pruebas de humo
Pruebas de regresin
Pruebas de aceptacin
Alpha testing
Beta testing
Pruebas no funcionales
Pruebas no funcionales
Pruebas de seguridad
Pruebas de usabilidad
Pruebas de rendimiento
Pruebas de escalabilidad
Pruebas de mantenibilidad
Pruebas de instabilidad
Pruebas de portabilidad
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Parte de Actividades
Actividad 1: Aplicacin de Herramienta CASE Para Generar Cdigo
En esta actividad utilizamos los diagramas de clases que realizamos en la
herramienta CASE Enterprise Architect para generar el cdigo fuente en el
lenguaje de programacin Java a partir de estos diagramas de clases, dicha
herramienta tambin tiene soporte para otro lenguajes de programacin.
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Proceso de prueba
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Complejidad ciclomtica
Es una medida que proporciona una idea de la complejidad lgica de un
programa.
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
1-11
1-2-3-4-5-10-1-11
1-2-3-6-7-9-10-1-11
1-2-3-6-8-9-10-1-11
Obtener el grafo de flujo, a partir del diseo o del cdigo del mdulo
Obtener la complejidad ciclomtica del grafo de flujo
Definir el conjunto bsico de caminos independientes
Determinar los casos de prueba que permitan la ejecucin de cada uno de
los caminos anteriores
Ejecutar cada caso de prueba y comprobar que los resultados son los
esperados
Prueba de bucles
Los bucles son la piedra angular de la inmensa mayora de los algoritmos
implementados en software, por lo que tenemos que prestarles una atencin
especial a la hora de realizar la prueba del software. La prueba de bucles es una
tcnica de prueba de caja blanca que se centra en la validez de las construcciones
de los bucles. Se pueden definir cuatro tipos de bucles diferentes:
Bucles simples
Bucles concatenados
Bucles anidados
Bucles no estructurados
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Bucles simples
A los bucles simples (de n iteraciones) se les tiene que aplicar el conjunto de
pruebas siguientes:
Saltar el bucle
Pasar slo una vez por el bucle
Pasar dos veces por el bucle
Hacer m pasos del bucle con m < n
Hacer n-1, n y n+1 pasos por el bucle
Bucles anidados
Si extendisemos el conjunto de pruebas de los bucles simples a los bucles
anidados, el nmero de pruebas crecera geomtricamente, por lo que Beizer
sugiere el siguiente conjunto de pruebas para bucles anidados:
Comenzar con el bucle ms interno, estableciendo los dems bucles a los
valores mnimos
Llevar a cabo las pruebas de bucles simples para el bucle ms interno,
conservando los valores de iteracin de los bucles ms externos a los
valores mnimos
Progresar hacia fuera en el siguiente bucle ms externo, y manteniendo los
bucles ms externos a sus valores mnimos
Continuar hasta que se hayan probado todos los bucles
Bucles concatenados
Probar los bucles concatenados mediante las tcnicas de prueba para bucles
simples, considerndolos como bucles independientes.
Bucles no estructurados
Redisear estos bucles para que se ajusten a las construcciones de la
programacin estructurada.
PRUEBA DE LA CAJA NEGRA
Las pruebas de caja negra se llevan a cabo sobre la interfaz del software,
obviando el comportamiento interno y la estructura del programa. Los casos de
prueba de la caja negra pretenden demostrar que:
Las funciones del software son operativas
La entrada se acepta de forma correcta
Se produce una salida correcta
La integridad de la informacin externa se mantiene
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Evidencias:
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Modelo de Prototipos
Un cliente, a menudo, define un conjunto de objetivos generales para el software,
pero no identifica los requisitos detallados de entrada, proceso o salida. En otros
casos, el responsable del desarrollo del software puede no estar seguro de la
eficiencia de un algoritmo, de la calidad de adaptacin de un sistema operativo, o
de la forma en que debera tomarse la interaccin hombre-mquina. En estas y en
otras muchas situaciones, un paradigma de construccin de prototipos puede
ofrecer el mejor enfoque.
El paradigma de construccin de prototipos comienza con la recoleccin de
requisitos. El desarrollador y el cliente encuentran y definen los objetivos globales
para el software, identifican los requisitos conocidos y las reas del esquema en
donde es obligatoria ms definicin. Entonces aparece un diseo rpido. El diseo
rpido se centra en una representacin de esos aspectos del software que sern
visibles para el usuario/cliente. El diseo rpido lleva a la construccin de un
prototipo. El prototipo lo evala el cliente/usuario y se utiliza para refinar los
requisitos del software a desarrollar. La iteracin ocurre cuando el prototipo se
pone a punto para satisfacer las necesidades del cliente, permitiendo al mismo
tiempo que el desarrollador comprenda mejor lo que se necesita hacer.
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Referencias
Unidad 1
Libros
Ttulo: Conceptos Bsicos de la Ingeniera de software
Libro: Software Engineering
Edicin: 6th Edicin
Autor: Ian Sommerville
Ttulo: Clasificacin de Herramientas Case
Libro: Software Engineering
Edicin: 6th Edicin
Autor: Ian Sommerville
Ttulo: Evolucin del software
Libro: Ingeniera de Software un enfoque practico
Edicin: 5ta Edicin
Autor: Roger S. Pressman
Ttulo: Ingeniera del software un enfoque practico
Libro: Pressman Roger
Edicin: 5ta Edicin
Sitios Web
Herramientas CASE
[4]http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5103/Libro.pdf
Clasificacin de las herramientas CASE
[1]http://www.monografias.com/trabajos14/herramicase/herramicase.shtml
Historia de las herramientas CASE
[2]http://eltamiz.com/elcedazo/2009/05/12/herramientas-case-hasta-en-la-sopa/
Clasificacin de las herramientas CASE
[3]http://www.uclm.es/ab/educacion/ensayos/pdf/revista10/10_17.pdf
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Unidad 2
Sitios Web
Modelo de requisitos
[1]http://www.cannes.itam.mx/Alfredo/Espaniol/Publicaciones/MINT/Requisitos.pdf
Tcnicas para la obtencin de requisitos
[2]http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_requisitos#T.C3.A9cnicas_pri
ncipales
[3]http://www.monografias.com/trabajos6/resof/resof2.shtml#teec
Tareas de la ingeniera de requisitos
[4]http://redalyc.uaemex.mx/pdf/666/66661111.pdf
Herramientas CASE para la ingeniera de requisitos
[5]http://es.scribd.com/doc/19083744/INGENIERIA-DE-REQUERIMIENTOS
[6]http://www.revistasjdc.com/main/index.php/ccient/article/view/37/36
Libros
Ttulo: Ingeniera de Requerimientos
Autor: Diana Santofimio Ariza
Fecha: Agosto del 2009
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Sitios Web
Estrategias de diseo
[1]http://translate.google.com.mx/translate?hl=es&langpair=en%7Ces&u=http://nev
erletdown.net/2010/08/choosing-a-software-design-strategy/
Diseo de sistemas
[2]http://www.slideshare.net/SergioRios/unidad-21-diseo-de-sistemas Pg. 59
Unidad 5
Sitios Web
Diagrama de despliegue
[1]http://www.sparxsystems.com.ar/resources/tutorial/uml2_deploymentdiagram.ht
ml
Diagrama de componentes
[2]http://www.sparxsystems.com.ar/resources/tutorial/uml2_componentdiagram.ht
ml
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Modelos de prueba
[3]http://ceur-ws.org/Vol-227/paper07.pdf
[4]http://farova2.blogspot.mx/2008/10/modelo-de-pruebas-de-software.html
Tipos de pruebas
[5]http://es.wikipedia.org/wiki/Pruebas_de_software
[6]http://www.carlospes.com/curso_de_ingenieria_del_software/05_01_pruebas.ph
p
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
Anexos
Anexo 1: Calendario ITZ (Pgina 1)
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final
GlobalTec
Fundamentos de Ingeniera del Software
Documento Final