Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa de la asignatura:
Métodos y modelos de desarrollo de software
Unidad 3.
Modelos para el desarrollo de sistemas
Clave:
Licenciatura TSU
15142420 / 16142420
1
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Índice
2
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Presentación de la unidad
Al finalizar la Unidad 3 deberás ser capaz de distinguir cada uno de los modelos para el
desarrollo de sistemas y de seleccionar el adecuado para las problemáticas presentadas
de los clientes.
Propósito
Competencia específica
3
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Temario de la unidad
Los modelos estructurados fueron presentados en la década de los ’70, por Larry
Constantine, continuó posteriormente por otros autores: Myers, Yourdon y Stevens; éstos
nos sirven para la especificación resultante del proceso de análisis de un desarrollo,
algunos de los modelos que lo componen son:
Modelado de datos
Modelo de dominio
Diccionario de datos
Modelo de interfaces
Modelado de requisitos
Los modelos orientados a objetos, surgen cuando se van a desarrollar 100% sistemas
orientados a objetos por medio de la notación UML (Lenguaje Unificado de Modelado);
pero, además, los modelos estructurados puede servir de apoyo para estos desarrollos,
pues la base de la POO es la metodología estructurada, entonces los modelos orientados
a objetos te servirán para el modelado de software orientado a objetos, Entre ellos se
encuentran:
Modelo de objetos
Modelo de herencia
Modelo de agregación de herencia
4
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Para este primer tema, analizarás los modelos estructurados, entre ellos tenemos a:
Modelado de datos
Modelo de dominio
Diccionario de datos
Modelo de interfaces
Modelado de requisitos
Modelado de Datos
Todas las siguientes lecturas te ayudarán a comprender los niveles de abstracción en los
que puedes modelar los datos de un desarrollo de software.
Algo importante de resaltar, del texto que ya leíste, es que los modelos conceptuales
tienen sus clasificaciones basados en registros y en objetos. Comprender sus
clasificaciones te ayudará para ubicar el modelo específico que puede servirte a crear una
solución, la más apropiada a un determinado problema.
Algunos de estos modelos de acuerdo a los registros, o a los objetos, los revisarás en
otras asignaturas de la Ingeniería en Desarrollo de Software. Pero es bueno que los
ubiques. Los modelos basados en registros más comunes son: jerárquico, redes y
relacional. Silberschatz (2006, pp. 7), nos recuerda que los modelos jerárquicos y de
redes ya no son usados, pues complican el modelado de datos, pero fueron los
predecesores del modelo relacional, estos dos modelos fueron usados en los inicios de la
computación en donde con mucha frecuencia se programaba a bajo nivel (restringido y
orientado por las características de las PCs), hoy en días se programa más orientado al
usuario y no a las computadoras, es decir a alto nivel. Por tal motivo, de los tres modelos
5
5
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Una vez terminada la lectura anterior, deberás leer de Rob (2004, pp. 540-554), este texto
te ayudará a conocer las características del modelo de datos orientado a objetos, donde
encontrarás: características, representación de los objetos, las relaciones clase-subclase
(herencia) y atributos de las relaciones.
Son diversas las limitaciones de los modelos relacional, el modelo de red y modelo
jerárquico, pues quedaron imposibilitados, en muchos casos, de dar soluciones a las
nuevas problemáticas presentadas para el desarrollo de software, necesidades que
vinieron a cubrir los modelos E-R y Orientado a Objetos (Silberschatz 2006, pp. 301)
Modelo de Dominio
Larman (2007) nos dice que a un modelo de dominio se le conoce como un modelo
conceptual, por lo tanto, si investigas en torno al tema, encontrarás información sobre el
modelo de Dominio, pero, seguramente encontrarás más si buscas por modelo
conceptual.
Lee Larman (2007, pp. 121-143), esta lectura te servirá para identificar conceptos del
modelo de dominio o conceptual (clases), cómo crear un modelo de dominio inicial;
6
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Para saber más… Larman (2007), en los capítulo 11 (modelo de dominio, añadir
asociaciones) y 12 (modelo de dominio, añadir atributos), es más específico en la
implementación del modelo, hablando de relaciones y del tratamiento de los atributos.
Dicha información te será de ayuda, no obstante, la lectura no es obligatoria para los
propósitos de la unidad.
Lee Rob (2004, pp. 778-780), en este texto se te presentará: otra definición del diccionario
de datos, los tipos de diccionario de datos (integrados y autónomos), se describe otra
clasificación de diccionarios de datos en cuanto a su forma de actualizarse (activo o
pasivos), se describe la función principal de los diccionarios de datos, mencionándolo de
manera muy sencilla y practica como “La función principal del diccionario de datos es
guardar la descripción de todos los objetos que interactúan con la base de datos “,
también es las páginas señaladas encontrarás ejemplos que te servirán de complemento
al tema.
Resumiendo, construir un diccionario de datos puede ser muy tedioso y, son horas largas
de análisis del sistema, pero es una de las actividades más importantes dentro del
proceso de desarrollo de software; sin éste, no existirá congruencia en la creación del
sistema y te podrá acarrear varios problemas, recuerda es mejor uno aunque sea muy
sencillo que no tener nada. Obtendrás más precisión en tu desarrollo de software al tener
especificaciones de tus datos.
Modelo de interfaces
El propósito de este modelo es apoyar en los aspectos de diseño de interfaces, en este
tema comprenderás varios principios de diseño de interfaces de usuario, conocerás:
Estilos de interacción y aprenderás cuando es el momento apropiado para
aplicar cada uno de ellos.
7
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Para reforzar el tema, nos apoyaremos en Sommerville (2005, pp. 330-351); por favor, lee
las páginas señaladas. En esta lectura encontrarás el concepto de diseño, el proceso de
diseño de la interfaz, prototipos de interfaz y evaluación de las mismas; esto te ayudará
para comprender principios de diseño de interfaz, conocer estilos de interacción, cuándo
es más adecuado usarse y cuándo utilizar gráficas e información textual en la interfaz; así
también, revisarás aspectos principales en el proceso de diseño de interfaz de los
usuarios, atributos de usabilidad y puntos de evaluación de las interfaces.
Algo que siempre debe de preguntarse un diseñador es: ¿cómo debe de interactuar el
usuario con el sistema informático? y ¿cómo debe de presentarse la información al
usuario?, son preguntas que tú debes hacer en el momento apropiado dependiendo del
proyecto a desarrollar.
Para responder a las preguntas, analizaste varios puntos del tema como son:
Interacción del usuario. Emitir comandos y datos asociados al sistema
informático, en éstos viste varias opciones: la interacción directa (mouse),
selección de menús, rellenado de formularios, lenguaje de comandos, lenguaje
natural. Viene una imagen comparativa en la página Sommerville (2005, pp. 336).
Presentación de la información. La forma en cómo se proporciona información al
usuario, también se explica un poco sobre el modelo vista controlador (MVC), se
anexaron 14 recomendaciones en el uso del color en las interfaces del usuario.
Se analizó el proceso de diseño de interfaz de usuario, se menciona que es un
proceso iterativo, donde todos los usuarios interactúan con los diseñadores y
prototipos de la interfaz. Se mencionan tres actividades esenciales: análisis del
usuario, prototipado del sistema y evaluación de la interfaz.
Se profundizó en cada uno de las tres actividades en el punto anterior
mencionadas.
Modelado de Requisitos
El modelo de requisitos tiene como propósito delimitar el sistema, reconocer las
características funcionales que se ofrecerá desde la visión del usuario. Este modelo
puede trabajar como una especie de contrato en ciertos momentos entre el desarrollador
y el cliente; como observarás, por el hecho de que te apoya en definir el alcance en un
contrato, podrás imaginarte su importancia, sin un contrato que te proteja sobre lo que vas
a realizar, donde no tienes que hacer más y no hacer menos, sino sólo lo comprometido
8
8
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Te solicito, leas a Weitzenfeld (2005, pp. 197-252), donde revisarás el modelo como tal,
mostrado a través de un pequeño proyecto de análisis bajo este modelo. Resumiendo la
lectura, puedes identificar el modelo de requisitos, basándose sobre en el estudio del
problema “Sistema de reservaciones de vuelos”, con varios requerimientos que se
enlistan, la solución abarca la utilización de tres modelos que conforman al modelo de
requisitos; estos tres modelos son: modelo de casos de uso, modelo de interfaces y el
modelo del dominio del problema. En la lectura, se explica por completo el modelo de
casos de uso, con este problema en específico, en Weitzenfeld (2005, pp. 207), se inicia
con el trabajo en el modelo de interfaces con el mismo problema. Con el modelo de
interfaces, pudiste observar que el objetivo es llegar rápido a la funcionalidad de la
aplicación, a través del diseño gráfico sofisticado; sobre los casos de uso diseñados, se
inició el análisis de las pantallas del usuario, se muestran varias pantallas del sistema y,
por último, el análisis en el modelo de requisitos, continua con su tercer modelo quien lo
fortalece, que es el modelo del dominio del problema, en este modelo se identifican las
clases del problema (hablando de entidades, relaciones, multiplicidad, atributos y
comportamientos), pero además se complementa con el Diccionario de Clases.
Para concluir con el tema deberás realizar la Actividad 2. Modelos estructurados, que se
presenta en el documento: Actividades de la Unidad 3, el propósito es que relaciones
conceptos, componentes, simbología con el modelo estructurado correspondiente.
9
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Modelo de objetos
Fue una de las primeras aproximaciones a la orientación a objetos en el desarrollo de
software, actualmente se usa de forma generalizada, especialmente en el desarrollo de
sistemas interactivos. Uno de los propósitos principales del modelo, es expresar
requerimientos utilizando modelos de objetos y su desarrollo del sistema con lenguajes de
programación orientado a objetos, como por ejemplo Java y C++.
Lee el tema Modelos de objetos en Sommerville (2005, pp. 164-165), este tema te
servirá para conocer ¿qué es?, su importancia y su implementación, conocerás que los
modelos (herencia y agregación) que se describen después de este tema, son apoyos
para complementar este modelo. El texto, te ayudará a identificar y clasificar las entidades
de un sistema y cómo puede integrarse para crear clases abstractas; te describe cómo se
integra una clase, además te reafirma que el modelado de objetos es un proceso que
ayuda en la transición del modelado a la programación.
Modelo de herencia
Es un modelo más de los orientados a objetos, perteneciente al modelo de objetos (tema
anterior), en donde además de identificar clases de objetos, los organiza mediante
clasificaciones que muestran cómo están relacionados unos con otros, a través de sus
atributos y comportamientos, las clases se organizan en una jerarquía de herencia, con
10
10
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
las más generales que se encuentran al inicio de la jerarquía, estas clases generales
heredan sus atributos y servicios a las que le siguen en jerarquía, cada una de ellas
además de heredar atributos y comportamientos también tienen sus propios
comportamientos y cualidades.
Para analizar este modelo continuarás leyendo el libro de Sommerville (2005, pp. 165-
168), esta lectura es importante porque identificarás las especificaciones del modelo de
herencia, observa el gráfico (8.10) en donde se te muestra un ejemplo de jerarquía de
clases, basado en la situación de especificación de biblioteca; con este ejemplo,
complementarás la información entorno al modelo de herencia, en este ejemplo es
importante que observes la figura que se usa para expresar una clase, sus secciones
(atributos y comportamientos) y, además, las líneas que relacionan las clases (flechas con
punta gorda sin rellenar), indicando a cada clase, de qué clase está heredando atributos y
métodos, también se muestra que cada clase puede tener sus propios atributos y
métodos. Existe otro gráfico 8.11, en el mismo texto, que muestra otro ejemplo del modelo
de herencia. Así también se abordan las problemáticas a las que se enfrentan los
analistas en el diseño del modelo de herencia. Es importante que identifiques que se
puede representar en un mismo gráfico los modelos de herencia, con múltiples
combinaciones de situaciones, en donde una clase puede heredar de varias clases
padres, el ejemplo lo encontrarás presentado en el gráfico 8.12.
Lee Sommerville (2005, pp. 168), esta lectura te ayudará a comprender el modelo de
agregación de herencia, ahí encontrarás un ejemplo con su representación en UML,
describiendo la lectura que hiciste, el ejemplo se trata de una clase llamada “Paquete de
estudio”, que tiene sus propios atributos y métodos, pero esta clase está integrada por
diferentes objetos como son: tareas, dispositivas, notas y videos. Y a su vez la clase tarea
está integrada por las clases ejercicios y soluciones. Como observarás en el ejemplo, el
paquete de estudio está integrado por objetos muy diferentes de estudio hablando de
atributos y comportamientos (métodos), pues se menciona a los objetos clases,
dispositivas, notas y videos, son objetos muy distintos, sin embargo forman un paquete de
estudio, por eso mismo en la solución del modelado, se presenta como la clase principal y
formada por objetos (tareas, diapositivas, notas y videos) y la solución puede leerse
11
11
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
como: “Un paquete de estudio está compuesto por uno o varios elementos asignados,
tareas, dispositivas, notas y cintas de video”; podemos interpretar que la clase principal
pone a disposición, a través de ella, los objetos que la forman. También podemos decir
que, si invocas un método de uno de los objetos internos que no se admite, entonces el
objeto principal interviene para responder con un mensaje al problema. Recuerda que
para indicar que una clase forma a otra, se usa una línea con una punta en figura de
rombo pequeña.
Para concluir con el tema, deberás realizar la Actividad 3. Modelos Orientados a objetos,
que se presenta en el documento: Actividades de la Unidad 3, el propósito es que de lo
que se te presentó en los materiales, puedas relacionar conceptos, componentes,
simbología con el modelo orientado a objetos correspondiente.
12
12
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Autorreflexiones
Cierre de la unidad
Haz terminado la tercera unidad, En esta unidad pudiste conocer los modelos de
desarrollo de sistemas.
Haciendo un resumen, de los modelos de desarrollo de sistemas, analizamos los modelos
estructurados y los modelos orientado a objetos.
13
13
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
14
14
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Fases y elementos
Clasificación
Con la Unidad 1, revisaste los procesos a seguir para el desarrollo de un software, como
describir lo que el cliente te solicita mediante la utilización de casos de uso y además
cómo dar seguimiento desde un inicio hasta la liberación de un proyecto usando RUP.
Recordando los modelos de diseño, son los que tienes que pensar para modelar y tener la
disponibilidad de tus servicios en una red y, los modelos de desarrollo, son modelos que
utilizas para abordar un desarrollo de software pensando en cómo y de qué forma
interactúan las fases levantamiento de requerimientos, análisis, diseño, codificación,
pruebas, implementación y liberación para el desarrollo de un software.
Espero hayas disfrutado el curso y más aún que veas la utilidad del mismo. ¡Felicidades!
concluiste con la asignatura Métodos y Modelos de Desarrollo de Software.
En Elmasri (2007, pp. 31-32), se anexa otro gráfico indicando como están relacionados
los tipos de modelo de datos y explica nuevamente cada uno de ellos, en el mismo se
explica los tres tipos de nivel de abstracción del modelo de datos.
En su libro Larman (2007) en el capítulo 11 y 12, aborda los diferentes tipos de relaciones
en los diagramas de clases y en el tratamiento de los atributos. Es importante conocer
15
15
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
para presentar las entidades en el modelo orientado a objetos, cómo están relacionadas
unas con otras, la cardinalidad, atributos, métodos, etc.
Fuentes de consulta
16
16