Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
Carrera:
Ingeniería en Desarrollo de software
Cuatrimestre 06
Actividades de la Unidad 1:
Métodos y modelos de desarrollo de software
Clave
150920624 / 160920624
Unidad 1.
Herramientas para el modelado de software
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
Actividad 1. Foro de la asignatura
Propósito: Presentarte con tus compañeros(as) y facilitador(a) y resolver dudas generales o técnicas
con respecto a la asignatura.
Instrucciones:
1. Ingresa al foro.
2. Preséntate con tu facilitador(a) y compañeros(as) respondiendo a las siguientes preguntas:
a. ¿Cuál es tu nombre?
b. ¿Dónde vives?
c. ¿Qué te gusta más del Desarrollo de software?
d. ¿Cuáles son tus expectativas de la asignatura?
3. Atiende a las indicaciones de tu facilitador(a).
4. Recuerda que el foro permanecerá abierto en toda la asignatura, por lo tanto, podrás ingresar a
él para resolver dudas o emitir comentarios entorno a la asignatura.
Actividad 2: Componentes Básicos
Propósito: Distinguir en el diagrama de casos de uso de UML los componentes básicos.
En la siguiente actividad distinguirás los componentes básicos en los diagramas de casos de uso en
UML.
Instrucciones:
1. Observa la imagen.
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
2. responde a las preguntas.
¿Cómo se llama el Sistema? ________________________________________________
¿Cuántos casos de uso se observan en el diagrama? ____________________________
¿Cuáles son los nombres de los actores? ______________________________________
¿Qué nombre reciben las 8líneas sin punta? ___________________________________
¿Las 8 líneas sin punta que representan? ______________________________________
¿Qué nombre recibe la línea discontinua? ______________________________________
¿Que representa la línea discontinua? _________________________________________
¿Qué nombre reciben las 2 líneas continuas con punta? ___________________________
¿Qué representan las 2 líneas continuas con punta? ______________________________
¿Qué casos inicia el mesero? _______________________________________________
3. Copia las preguntas en un archivo de texto, responde las preguntas argumentando el porqué de tu
respuesta.
4. Guarda la actividad con el nombre DMMS_U1_A2_XXYZ. Sustituye las XX por las dos primeras
letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo
apellido.
5. Envía el archivo a tu Facilitador(a) para recibir retroalimentación.
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
Actividad 3: Fases del Proceso RUP
Propósito: Distinguir actividades que se realizan en un proyecto real siguiendo la metodología RUP para
la elaboración y finalización de un proyecto.
Instrucciones:
1. De la lista de actividades resumida de un proyecto real y que se enlistan de manera desordenada,
identifica cuál de las 4 fases del modelo RUP es la adecuada para comenzar su ejecución. Para eso
coloca la letra que identifica a la fase en el lado derecho (columna fase) de la actividad que le
corresponde.
2. Copia las tablas en un archivo de texto.
3. Coloca tus respuestas en la columna de la derecha y redacta brevemente el porqué de tus
respuestas.
4. Guarda la actividad con el nombre DMMS_U1_A3_XXYZ. Sustituye las XX por las dos primeras
letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo
apellido.
5. Envía el archivo a tu Facilitador(a) para recibir retroalimentación.
FASES DEL PROCESO RUP
LETRA NOMBRE DE FASE
I INICIO
E ELABORACION
C CONSTRUCCION
T TRANSICION/CIERRE
LISTA DE ACTIVIDADES EN DESORDEN
Orden ACTIVIDAD FASE
1 Clarificar los requisitos pendientes.
2 Desarrollar la especificación de los casos de uso,
3 Definir visión general de la arquitectura.
4 Realizar las mejoras del proyecto.
5 Ajustar los errores y defectos encontrados en las pruebas de aceptación.
6 Capacitar a los usuarios.
7 Desarrollar la arquitectura base del sistema.
8 Verificar que el producto cumple con las especificaciones involucradas
en el proyecto.
9 Diseñar la solución preliminar.
10 Completar la funcionalidad de la iteración.
11 Definir casos de uso de la arquitectura base del sistema.
12 Administrar los cambios de las evaluaciones realizadas por los usuarios.
13 Identificar riesgos.
14 Asegurar la disponibilidad del software para los usuarios.
15 Definir el plan de las fases e iteraciones siguientes de desarrollo.
16 Definir el alcance del proyecto.
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
17 Proveer soporte técnico.
18 Definir la viabilidad del proyecto.
Actividad 4: Diagramas de UML
Propósito: Diagramar mediante el uso de UML tu entendimiento de solución de una problemática para
desarrollar un software.
Instrucciones:
1. Para comenzar este ejercicio, deberás crear un archivo de texto, como encabezado pon en el centro
del renglón, el número de la actividad y el tema (Actividad 4: Diagramas de UML).
2. En el segundo renglón coloca tu nombre, comenzando por apellidos.
3. Deja 3 renglones vacíos.
4. Copia los incisos de la A la C, en el documento creado.
5. Al desarrollar la respuesta de cada inciso, la coloca en seguida de cada descripción del inciso que le
corresponda.
A) Desarrolla el diagrama de clase, de un proceso de venta de productos, esto es para un negocio que
maneja control de inventarios en un almacén, catálogo de proveedores, catálogo de clientes, control
de facturas y sus detalles, pero no mantiene un catálogo de pedidos. De los datos que se manejan
son:
Productos: un identificador como LR08050 que significa “libreta raya roja de 50 hojas”, nombre del
producto, tipo de producto como puede ser entre L, G o S, el precio con decimales y un identificador del
proveedor. Deben de existir métodos para dar de alta, modificar, buscar, consultar y eliminar productos
del catálogo.
Proveedor: se controla con un identificador con letras y números, un nombre, giro de negocio que se
controla con un conjunto de caracteres, RFC, dirección, teléfono, número de fax y el código postal.
Además debe de tener procesos de alta, modificación, búsqueda, consulta y eliminación de proveedores.
Cliente: se controla con un identificador numérico, un nombre, RFC., dirección, teléfono y el código
postal. Además debe de tener procesos de alta, modificación, búsqueda, consulta y eliminación de
proveedores.
Almacén: se controla con un identificador con caracteres y números, cantidad existente, mínima y
máxima, no se venden fracciones de productos. Además debe de tener procesos de alta, modificación,
búsqueda, consulta e impresión del catálogo.
La factura registra, la fecha, número de factura, el cliente, subtotal, IVA, total, clave del producto, cantidad
del producto vendido, precio de venta, los procesos que debe de tener son: cargar datos del cliente,
guardar factura, imprimir factura, consultar factura, calcular totales y cargar datos del producto.
Recuerda que al crear la clase de la factura deberás de separar en dos clases una para el encabezado
de la factura y otra para los detalles de la factura. Al crear estas dos clases deberás de respetar los tipos
de datos de las primeras cuatro clases que te describí.
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
Deberás de mostrar las relaciones entre las clases y la multiplicidad, usando el criterio de:
1 a muchas.
Muchas a muchas.
Muchas a 1.
1 a 1
Según sea el caso
B) Desarrolla el diagrama casos de uso, del sistema llamado Facturación, en donde relacionarás, 4
actores (factura, producto, cliente y BD), y los casos: cargar datos producto, cargar datos cliente,
guardar factura e imprimir factura.
C) Desarrolla el diagrama de secuencia, usando a los actores administrador, formato de altas cliente
(programa) y BD, crear el diagrama de secuencia, validando que, si existe el cliente, no se capture
pero, si no existe, capturar los datos en la forma o pantalla de captura; después de que se capturaron
los datos en la forma, deberá de hacer conexión con la base de datos, insertar los datos, y cerrar la
conexión, al final deberá de limpiar la forma.
6. Guarda la actividad con el nombre DMMS_U1_A3_XXYZ. Sustituye las XX por las dos primeras
letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo
apellido.
7. Envía el archivo a tu Facilitador(a) para recibir retroalimentación. No olvides consultar la rúbrica de
evaluación de la actividad.
Actividad 5: Componentes de UML
Propósito: Distinguir en los diagramas de UML los tipos de relaciones que pueden existir en los
diferentes componentes que son utilizados en los mismo diagramas.
Instrucciones:
1. Ingresa al foro Componentes de UML.
2. En cada problema se presenta un diagrama de UML, en cada uno de ellos se muestran actores, y
tipos de relaciones. De cada problema hay una pregunta, analiza con al menos tres de tus
compañeros cada una de las cuatro opciones que tiene y seleccionen la correcta, coloca en la
columna de respuesta la letra de la opción.
3. Atiendea las instrucciones y comentarios de retroalimentación por parte de tu facilitador.
Diagramas Pregunta Respuesta
1.- Ingresar
¿Qué tipo de relación existe en el diagrama?
a) Asociación
b) Dependencia (include)
c) Dependencia (extend)
d) Generalización
2.- Comprar ¿Qué tipo de relación existe en el diagrama entre
los casos?
a) Asociación
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
b) Dependencia (include)
c) Dependencia (extend)
d) Generalización
3.- Pagar Factura
¿Qué tipo de relación existe en el diagrama entre
los casos?
a) Asociación
b) Dependencia (include)
c) Dependencia (extend)
d) Generalización
4.- Preparar bebida caliente
En el sistema se muestra los casos hacer café y
hacer te, y un caso que se incluye en el proceso
de preparar bebida, llamado hervir agua. Entre los
2 primeros casos y el de hervir agua, existe una
relación de tipo dependencia <<include>>. La
relación de dependencia <<include>> indica que:
a) Que es opcional el caso hervir tetera.
b) Siempre se debe de realizar el caso
hervir tetera
c) Para preparar café siempre debes de
realizar el caso hervir agua, pero no
para hacer te
d) Para preparar té siempre debes de
realizar el caso hervir agua, pero no
para hacer café
5.- Pagar Factura
¿Qué tipo de relación existe en el diagrama entre
los casos?
a) Asociación y generalización
b) Asociación y dependencia
c) Generalización y dependencia
d) Asociación y dependencia
6.- Restaurante
¿De acuerdo al gráfico qué casos de uso inicia el
crítico de comidas?
a) Todos
b) Los 3 últimos
c) Los 3 primeros
d) Ninguno
7.- Sub-sistema Pagar
De los tres casos de uso, deben de existir dos
relaciones, ¿de qué tipo serían? y de ¿a dónde
serían las conexiones?, tomando en cuenta que si
el caso Pagar lo llamáramos 1, Pagar con tarjeta
de crédito lo llamáramos 2, y Pagar en efectivo lo
llamáramos 3.
a) Asociación de 1 a 3 y dependencia de
2 a 3.
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
b) Dependencia de 1 a 2 y de 1 a 3.
c) De generalización de 2 a 3 y
dependencia de 3 a 1.
d) De generalización de 1 a 2 y de 1 a 3.
8.- Diagramas de clases, empleados
¿Qué tipo de relación existe en el diagrama?
a) Asociación
b) Dependencia (include)
c) Dependencia (extend)
d) Generalización.
9.- Diagrama de clases
En el diagrama de clases se observan los 3 tipos
de relaciones, de las cuales se pueden realizar
varias aseveraciones, de las que se muestran
abajo una de ellas es falsa, ¿cuál es la falsa?
a) Un usuario tiene atributos y métodos
iguales para un usuario de
administración y de informática.
b) Un usuario tiene asociado una clave o
varias.
c) Un usuario depende de un fichero, sin
este no tiene cabida en el sistema.
d) Ninguna de las anteriores es correcta.
10.- Diagrama de clases sub-sistema empacar
Existen dos tipos de relaciones, cuales son:
a) Dependencia y Asociación.
b) Asociación y Generalización.
c) Dependencia y Generalización.
d) Asociación y dependencia extend.
Evidencia de aprendizaje. Creación y consulta en una base de datos
Propósito:
Diseñar los modelos gráficos vistos de UML desde una problemática dada, usando la herramienta
StarUml.
En esta primera Unidad documentaste sobre los temas de UML y RUP, profundizaste en el conocimiento
de analizar situaciones, que requieren una solución que deberá ser automatizada y ejecutada por una
computadora, pero antes de programar requiere del entendimiento de la misma problemática; para
demostrar tu interpretación de los requerimientos, lo puedes hacer con diagramas de UML y el proceso
de desarrollo lo puedes gestionar con RUP, sobre estos puntos clave realizaste ejercicios. Ahora
realizarás como evidencia de aprendizaje diagramas UML, el sistema es de un control escolar sencillo.
Problema:
Un colegio de la ciudad, desea agilizar el proceso de generar certificados, constancias de calificaciones,
certificados parciales, en fin, documentos que tienen que ver con las calificaciones. En la actualidad, las
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
secretarias que elaboran los certificados, van a las boletas físicas de cada materia del alumno y lo vacían
en un formato, esto les toma mucho tiempo, es por ello que el colegio, tiene el interés de almacenar las
calificaciones de sus alumnos en un sistema de cómputo. El colegio maneja alumnos de secundaria y de
preparatoria, por el mismo motivo también hay profesores para cada nivel de estudios, en un entrevista
de levantamiento de requerimientos se detecta que los datos de los alumnos de secundaria y de
preparatoria, son los mismos excepto que a los alumnos de secundaria, llevan un taller y el de
preparatoria tiene una clave del bachillerato, todos los demás datos son los mismos: número de control,
nombre, apellidos, domicilio, colonia, teléfono, sexo (un carácter), edad (entero), fecha de nacimiento
(tipo: fecha), CURP, email, activo (un carácter) y egreso (un carácter), los datos no especificados son de
tipo String o cadena.
Por lo tanto, realiza lo siguiente:
1.- Usando la herramienta de StarUML, crea un diagrama de clases, primero agrega una clase llamada
alumno, a la cual le agregarás los datos que son comunes para los dos tipos de alumnos (13 en total),
los atributos deberán especificar el tipo de dato y el alcance privado.
2.- En el mismo archivo, agrega una clase llamada Alumno de Secundaria (AluSec), este tendrá como
llave primara el atributo NoControl, (igual que en la tabla alumnos), además el campo de clave de taller
de tipo String, todos los atributos serán de alcance privado.
3.- En el mismo archivo, agrega una clase llamada Alumno de Prepa (AluPre), este tendrá como llave
primaria el atributo NoControl, además el campo de clave de bachillerato de tipo String; todos los
atributos serán de alcance privado.
4.- Como observarás, la tabla alumno tiene los atributos que son comunes para la tabla AluSec y para la
tabla AluPre, estos atributos deben heredarse, usa dos relaciones de tipo Generalización (herencia) para
indicar que las 2 tablas heredan los atributos y métodos de la tabla alumno.
5.- En la clase tabla AluSec agrega los métodos agregar alumno secundaria (AgregarAlumSec), modificar
alumno secundaria (Modificar AlumSec), bloquear Alumno secundaria (bloquearAlumSec), Listar Alumno
Secundaria (listarAlumSec ) e imprimir alumnos de secundaria (ImprimirAlumSec), todos los métodos
deberán de tener un alcance público.
6.-Agrega los mismos métodos pero ahora para la clase AlumPrepa, actualiza los nombres de los
métodos, también asigna un alcance de método público.
Hablando de empleados, hay 2 tipos administrativos: docentes de secundaria y docente de preparatoria.
Hay atributos que son comunes para todos los empleados, pero los atributos de los administrativos no
hay atributos únicos o diferentes a los demás empleados, pero el empleado docente secundaria si tiene
un atributo extra que es clave de sindicato (String), y el empleado docente de prepa tiene 2 atributos
diferentes que son carrera (String) y nivel de estudios (String).
7.- Agrega una clase (también llamada entidad o tabla), llamada Empleados, con los siguientes atributos:
Atributos
- NoControl: String
- Nombre: String
- Apellidos: String
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
- Domicilio: String
- Colonia: String
- Telefono: String
- Sexo: char
- Edad: entero
- FechaNac:Fecha
- CURP: String
- Email: String
- ActivoSN: boolean
- EgresoSN: boolean
Todos los atributos de alcance privado, respetando el tipo de dato, la entidad tiene los siguientes
métodos:
+AgregarEmpleado
+ModificarEmpleado
+BajaEmpleadoLogico
+ListadoEmpleado
+BusquedaEmpelado
+ImprimirEmpleado
Todos los métodos son de alcance público, y sirven para administrar los datos de los empleados
administrativos.
8.- Agrega la entidad Secundaria, con el propósito de tener los atributos especiales de los docentes de
secundaria, con los siguientes atributos y métodos:
Atributos
- NoEmpleado: String
- cveSindicato: String.
Métodos
+AgregarProfSec
+ModificarProfSec
+BloquearProfSec
+ListarProfSec
+ImprimirProfSec
9.- Agrega la entidad Preparatoria, para los atributos y métodos especiales de los docentes de
preparatoria:
Atributos
- NoEmpleado: String
- Carrera: String.
- NivelEstudios: String
Métodos
+AgregarProfPrepa
+ModificarProfPrepa
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
+BloquearProfPrepa
+ListarProfPrepa
+ImprimirProfPrepa
10.- Las clases Secundaria y Preparatoria, deben de heredar los atributos de la clase empleados, agrega
las relaciones de generalización, para indicar que las tablas heredan los atributos de la tabla empleados.
11.- Crea la tabla Materia, con los siguientes atributos (alcance privado) y métodos (alcance público)
Atributos
- idMateria:String
- concepto: String
- TipoSecPrep: Char
Métodos
+AgregarMat
+ModificarMat
+BajaMatLogica
12.- Agrega la tabla Impartición de clase (ImparticionClase), en esta tabla se encuentran los atributos y
métodos que indican que materia imparten los docentes.
Atributo
- cveAsignación: String
- noEmpleado: String
- idMateria: String
- Periodo: String
Métodos
+ AgregarAsigMateria
+ ModificarAsigMateria
+ BorradoAsigLogico
13: Agrega una relación de asociación entre las tablas Materia a ImparticionClase,
14.- Asigna la cardinalidad de 1 a muchos de la clase Materia a ImparticionClase.
15: Agrega una relación de asociación entre las tablas Empleados a ImparticionClase,
16.- Asigna la cardinalidad de 0..* a muchos de la clase Empleados a ImparticionClase.
17.- Agrega una última entidad llamada CalificacionMateria, que sirve para administrar las calificaciones
por materia, con los siguientes atributos (alcance privado) y métodos (alcance públicos).
Atributos
- NoControl: String
- cveAsignacion: String
- Calificación: float
Métodos
+ ListadoCalifMat
+CapturarCalifMat
18.- La tabla anterior se relaciona con las entidades Alumnos e ImpartirClase, pero la relación será de
dependencia, es decir que para capturar una calificación debe de existir el alumno y la materia asignada
a un docente. Agrega una relación de tipo dependencia (línea discontinua con punta de flecha) de
CalificacionMateria ImparticiónClase.
Métodos y Modelos de Desarrollo de Software
Unidad 1. Herramientas para el modelado de software
19.- Agrega una relación de tipo dependencia (línea discontinua con punta de flecha) de
CalificacionMateria a Alumnos.
20.- Guarda el archivo como jgp, con el nombre DMMS_U1_EA_XXYZ. Sustituye las XX por las dos
primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu
segundo apellido.
21.- Envía el archivo a tu Facilitador(a) para recibir retroalimentación. No olvides revisar la rúbrica de
evaluación de la evidencia de aprendizaje.