Subido por Maribel Martinez

DMMS U3 Contenido

Anuncio
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Carrera: Desarrollo de software
Semestre 04
Programa de la asignatura:
Métodos y modelos de desarrollo de software
Unidad 3
Modelos para el desarrollo de sistemas
Ciudad de México, mayo de 2023
Clave:
Licenciatura TSU
15142420 / 16142420
Universidad Abierta y a Distancia de México
1
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
1
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Índice
Presentación de la unidad ..........................................................................................................3
Logro .............................................................................................................................................3
Competencia específica .............................................................................................................3
Temario de la unidad ..................................................................................................................4
3. Modelos para el desarrollo de sistemas...............................................................................4
Tema 3.1. Modelos estructurados .............................................................................................5
Tema 3.2. Modelos Orientados a Objetos .............................................................................10
Cierre de la unidad ....................................................................................................................12
Para saber más…......................................................................................................................15
Fuentes de consulta ..................................................................................................................15
2
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
2
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Presentación de la unidad
Bienvenido (a) a la Unidad 3; pero antes de entrar en materia, recapitulemos: en la Unidad
1 revisaste conceptos y técnicas para diseñar diagramas UML, con el objetivo de especificar
los procesos que cubren los requerimientos para la creación de sistemas solicitados por un
cliente, entre otros, revisaste RUP, que es una metodología para la administración y
desarrollo de software. Recuerda que RUP no es la única metodología existente para cubrir
la gama de proyectos requeridos por los diferentes clientes, existen otros modelos de
desarrollo de software que te podrán ayudar para dar solución a esos proyectos. En la
segunda unidad conociste diferentes tipos de modelos, los modelos de diseño
(arquitectónicos) y los de desarrollo de software. Los modelos de diseño como ya sabes te
sirven para definir la arquitectura que debe de existir en el sistema con la finalidad de que
los usuarios encuentren disponibles los servicios y programas que tu desarrollarás y los
modelos de desarrollo te servirán para definir la metodología apropiada para la creación de
un software de acuerdo con las necesidades del cliente. Cada uno de los dos tipos de
modelos contienen varios modelos, en la unidad tres y última, estudiarás modelos para el
desarrollo de sistemas.
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.
Logro
Identificar los modelos utilizados para el desarrollo de sistemas y la forma en cómo se
complementan, en el apoyo del desarrollo de sistemas.
Competencia específica
Utilizar los modelos estructurados y orientados a objetos para la creación de un sistema,
mediante la herramienta StarUml.
3
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
3
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Temario de la unidad
3. Modelos para el desarrollo de sistemas
3.1. Modelos estructurados
3.1.1. Modelado de datos
3.1.2. Modelo de dominio
3.1.3. Diccionario de datos
3.1.4. Modelo de interfaces
3.1.5. Modelado de requisitos
3.2. Modelos orientados a objetos
3.2.1. Modelo de objetos
3.2.2. Modelo de herencia
3.2.3. Modelo de agregación de herencia
3. Modelos para el desarrollo de sistemas
Los modelos de desarrollo de sistemas los clasificaremos en modelos estructurados y en
los modelos orientados a objetos.
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 pueden 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
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
4
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Tema 3.1. Modelos estructurados
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
El modelado estructurado, permite construir modelos de sistemas a partir del análisis de
sus procesos y/o actividades que se ejecutan asociados al sistema. Además, permite al
equipo encargado del estudio del desarrollo, conocer de forma lógica un sistema o proceso.
Su objetivo es organizar las tareas asociadas con la determinación de requerimientos para
obtener la mejor comprensión completa y exacta de la problemática dada. Iniciamos con el
primer modelo.
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.
Primero comenzaremos con la definición: “es un conjunto de herramientas conceptuales
para describir datos, sus relaciones, su significado y sus restricciones de consistencia”
Elmasri (2007, pp. 28). En Silberschatz (2006, pág. 1, 4,5), encontrarás algunos ejemplos
de aplicaciones del modelado de datos. Se definen 3 niveles de abstracción de los datos:
físico, lógico y conceptual o de vistas, en la misma página 5 hay un gráfico que muestra la
relación entre los tres niveles de abstracción. Revisa dicho texto.
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 pertenecientes al modelo por
5
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
5
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
registros, hoy en día, se sigue usando el modelo relacional. No es propósito de este tema
leer y dominar cada uno de los modelos del tipo por registro, no obstante, te recomienda al
final de esta guía de estudios, consultar las fuentes complementarias para enriquecer tus
conocimientos entorno al modelo relacional.
De los modelos de datos basados en objetos, se encuentran el modelo Entidad relación
(E-R) y el orientado a objetos (OO), en los dos, una de las actividades es identificar las
entidades y la forma en cómo están relacionadas; el aprendizaje de las dos metodologías
no es propósito de este curso, pero sí identificar sus características principales, leerás del
libro de Silberschatz (2006, pp. 169-217). En estas páginas encontrarás del modelo E-R,
sus características, restricciones, muchos diagramas de ejemplos, aspectos importantes
del diseño, características de modelos E-R extendido, ejemplo de un análisis y diseño de
un sistema para un banco, aplicación de normas, su acoplamiento con el modelado
unificado UML.
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.
A modo de resumen, podemos decir que un modelo de datos es un conjunto de
herramientas conceptuales, que ayudan a describir los datos, relaciones, significado y sus
restricciones de consistencia. Recuerda que tiene clasificaciones basadas en registros y en
objetos, todos estos modelos pueden ayudarte a definir diseños de los datos de un sistema;
no pierdas de vista el modelo E-R y el orientado a objetos, pues son de los más utilizados
hoy en día, debido a que el rango de aplicaciones creció bastante y sus problemas son
cada vez más complejos.
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; además,
6
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
6
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
te ayudará a distinguir entre atributos correctos e incorrectos, es importante que distingas
la diferencia entre vista conceptual y de implementación.
Para saber más… Larman (2007), en los capítulos 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.
Para finalizar el subtema, te recuerdo la importancia del modelo de Dominio, este se utiliza
con frecuencia para el diseño de los objetos de software; los modeladores muestran clases
conceptuales significativas en un dominio del problema del mundo real; es uno de los
artefactos más importantes que se crean durante el análisis orientado a objetos.
Diccionario de Datos
Es una herramienta más de modelado, que ayuda a conocer el comportamiento de un
sistema. Para que te des cuenta de la importancia de un diccionario de datos, Lee Rob
(2004, pp. 21), este autor te describe la importancia de la creación y administración de un
diccionario de datos. Específicamente lo encontrarás en la sección Administración del
diccionario de Datos, donde se te describe qué es y sus beneficios.
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.
•
Presentaciones gráficas y textuales de la información.
7
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
7
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
•
Aspectos implicados en las principales actividades en el proceso de diseño de
las interfaces de usuario.
Revisarás además los atributos de usabilidad y los enfoques de evaluación de interfaces.
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 en el contrato,
en esa situación el cliente no puede pedir más y tú no podrás realizar menos, eso puede
ser de mucha ayuda para deslindar responsabilidades y salir bien librado en diferencias con
tu cliente.
8
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
8
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Algo de resaltar, de este modelo, es que es de los primeros modelos en ponerse en acción
dentro del proceso de desarrollo de un software, pero, para enriquecer el tema, deberás de
conocer términos nuevos y recordar algunos ya vistos anteriormente. Por favor, lee
Weitzenfeld (2005, pp. 195-197), en dicho texto se explica la importancia del modelo de
requisitos, no pierdas de vista la figura 6.1 del mismo tema, en donde se muestran los
distintos modelos del proceso de software y la figura 6.2 muestra los tres ejes del modelo
de requisitos.
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.
Finalizando con el tema, el modelo de requisitos busca delimitar el sistema a desarrollar,
conociendo las características funcionales que se ofrece al usuario, recuerda que para
implementar un buen modelo de requisitos, debes de hacer una implementación del modelo
de casos, interfaces y un modelo de clases o de información de los proyectos a desarrollar,
los tres modelos que componen el modelo de requisitos se explicaron a detalle en las
lecturas que realizaste, además el modelo de casos de uso y el de clases, ya los trabajaste
en la Unidad 1 de este curso.
9
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
9
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Tema 3.2. Modelos Orientados a Objetos
Ya que revisaste los modelos estructurados, utilizados para el proceso de análisis de
desarrollo, ahora harás lo propio con los modelos orientados a objetos que surgen para
desarrollar proyectos apoyados con UML.
Los modelos que analizarás son:
•
Modelo de objetos
•
Modelo de herencia
•
Modelo de agregación de herencia
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.
Resumiendo, analizaste que este modelo se expresa utilizando diferentes modelos
orientados a objetos de UML principalmente, como son los que apoyan en diagramas de:
clases, casos de uso, secuencia, etc. y, que su implementación, está usando lenguajes
de programación orientado a objetos, además, observaste que su principal importancia es
facilitar el avance entre el diseño orientado a objetos a la programación. Una de las
actividades fuertes de realizar es el análisis orientado a objetos y que UML ha sido el
estándar para el modelado de objetos; recordaste además que una clase de objetos en
UML, se comprende del nombre de la clase, una sección para los atributos y de las
operaciones o comportamientos.
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 las
10
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
10
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
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. 165168), 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.
Modelo de agregación de herencia
Este modelo también conocido como modelo de agregación de objetos, es similar al de
herencia, perteneciente al modelo de objetos, pero en lugar de heredar atributos y servicios
a través de la relación de una clase, hereda o pone a disposición las interfaces de los
objetos que lo integran, esto es debido a que en el modelado de la solución es necesario
describir que un objeto está integrado o formado por otros objetos. El modelado de
agregación de herencia te servirá para representar a un objeto y los objetos que lo integran
y la forma en cómo estos lo hacen.
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 como:
11
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
11
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
“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.
Resumiendo, el modelo de agregación de objetos o herencia, es un modelo que ayuda para
representar gráficamente cuando una clase está conformada por otras clases; conociste un
ejemplo mediante UML y, como observaste, hay un símbolo para representar a la clase,
con tres secciones una para el nombre, otro para los atributos y la tercera para los métodos
o servicios (como les llama Sommerville), la línea que muestra la relación de agregación es
una que, de un extremo tiene una punta de flecha rellena de negro y del otro extremo es un
pequeño rombo, la clase principal es la que hereda todos los elementos de las clases.
Cierre de la unidad
La tercera unidad ha llegado a su conclusión. 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.
De los modelos estructurados revisaste:
• Modelado de datos
• Modelo de dominio
• Diccionario de datos
• Modelo de interfaces
• Modelado de requisitos
Y de los modelos orientados a objetos estudiaste:
• Modelo de objetos
• Modelo de herencia
• Modelo de agregación de herencia
Recapitulando los modelos estructurados:
El propósito del Modelo de datos es el de proporcionar herramientas conceptuales para
describir datos, relaciones y restricciones de consistencia, además que se clasifican en 3
categorías: físico, lógico y conceptual o de vistas, también estudiaste que el modelo de
datos tiene otra clasificación en cuanto a la representación de registros y por objetos. Por
12
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
12
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
objetos de los más usados es E-R y basados a objetos. Que al final estos dos son de los
modelos de datos más usados.
El Modelo de dominio o conceptual, es otro modelo estructurado que su propósito es
representar el análisis del problema a resolver en un modelo de clases, que es una de las
herramientas en las que se apoya para representar las relaciones entre las entidades.
También analizaste el modelado de Diccionario de datos y su importancia, recuerda que
es un diseño en donde específicas y describes entidades, datos y conceptos del proyecto
que se desarrolla. Otro de los modelos estructurados analizados fue el Modelo de interfaz,
que es un modelo que te orienta para el diseño de interfaces del proyecto con el usuario,
en el tema leíste sobre estilos, presentaciones gráficas y textuales, así como aspectos
implicados en las actividades del proceso de diseño, también en el tema conociste sobre
atributos de usabilidad.
El último modelo de los estructurados fue el Modelo de requisitos, en este modelo
identificaste que su representación es en base a tres modelos más, que son el modelo de
casos de uso (analizados en el primer capítulo), el modelo de interfaz y el modelo de clases
o llamado de información, estos tres últimos modelos ya los hemos revisado con
anterioridad. Por último, es importante que no olvides que en estos modelados participa
mucho el lenguaje de modelado unificado, mismo que utilizarás en tu desarrollo de
aplicaciones de software.
Con lo anterior, concluimos la Unidad 3. Modelos para el desarrollo de sistemas, según el
dominio que tengas de esta unidad, te ayudará a realizar especificaciones, diseños y
modelado de los requisitos para el desarrollo de software.
También hemos terminado el curso “Métodos y Modelos de Desarrollo de Software”,
durante este curso conociste, aprendiste y practicaste varios métodos y modelados para el
desarrollo de software, la importancia de este curso radica en que, si se hace buenos
análisis, planeaciones de desarrollo, modelado y diseño de forma correcta, esto ayudará
bastante para que los errores que se insertan durante el desarrollo, sean los menos
posibles, siendo de esta forma que el proyecto final sea lo más cercano a la calidad
solicitada por un cliente, dicho de otra forma, cuando los proyectos se cancelan, se desvían
mucho tiempo de su fecha de término o el costo se incrementa, es normalmente problemas
de análisis, diseño y/o modelado de la solución a implementar. Para ello es muy importante
practicar lo que aprendiste de todas las unidades.
13
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
13
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
¿Cómo fue en la unidad 1?:
Herramientas para el modelado de software
•
Lenguaje Unificado de Modelado (UML)
✓
Proceso de desarrollo de software
✓
Los casos de uso y sus características
✓
Asociaciones, generalización y relaciones
✓
Diagramas base de UML
✓
StarUML
•
Proceso Unificado de Rational (RUP)
✓
Generalidades
✓
Fases y elementos
✓
Clasificación
En la Unidad 1 revisaste los procesos a seguir para el desarrollo de un software; por
ejemplo, 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.
En la Unidad 2, trabajaste con diferentes tipos de modelos:
Modelos para el desarrollo de software
Modelos de diseño
Modelo de repositorios
Modelo cliente servidor
Modelo de capas
Modelo de control centralizado
Modelos de desarrollo
Modelo de cascada o tradicional
Modelo evolutivo
Modelo basado en componentes
Modelo por prototipos
Modelo en espiral
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.
14
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
14
Métodos y modelos de desarrollo de software
Unidad 3. Modelos para el desarrollo de sistemas
Espero que 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.
Para saber más…
En Elmasri (2007, pp. 31-32), se anexa un gráfico indicando como están relacionados los
tipos de modelo de datos y explica nuevamente cada uno de ellos, en el mismo se explican
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 para
presentar las entidades en el modelo orientado a objetos, cómo están relacionadas unas
con otras, la cardinalidad, atributos, métodos, etc.
Con respecto al modelo relacional si te interesa, puedes complementar tu conocimiento en
el libro Silberschatz (2006, Capitulo 2).
Fuentes de consulta
•
Elmasri, Rames (2007). Fundamentos de Bases de Datos. México: Addison Wesley.
•
Larman, Craig (2008). UML y patrones. México: Prentice Hall.
•
Rob, Peter, (2004). Sistemas de bases de datos. México: Thomson
•
Silberschatz, Abraham (2006). Fundamentos de bases de datos. España: Mc Graw
Hill.
•
Sommerville, Ian, (2005). Ingeniería de Software. España: Pearson educación.
•
Weitzenfeld, Alfredo (2005). Ingeniería de software orientado a objetos con Uml,
Java e internet. México: Thomson.
15
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software
15
Descargar