unidad 3. modelos para el desarrollo de sistemas

16
Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas 1 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 1 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 Clave: Licenciatura 15142420 TSU / 16142420 Universidad Abierta y a Distancia de México

Upload: franciscoalbertobarrioscerda

Post on 15-Dec-2015

36 views

Category:

Documents


8 download

DESCRIPTION

Guia para el modelado de desarrollo de sistemas

TRANSCRIPT

Page 1: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

1 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

1

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

Clave:

Licenciatura

15142420

TSU

/ 16142420

Universidad Abierta y a Distancia de México

Page 2: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

2 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

2

Índice

Presentación de la unidad .............................................................................................. 3

Propósito ........................................................................................................................ 3

Competencia específica ................................................................................................. 3

Temario de la unidad ...................................................................................................... 4

Tema 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 ....................................................................................................... 13

Para saber más ............................................................................................................ 15

Fuentes de consulta ..................................................................................................... 16

Page 3: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

3 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

3

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 a la 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.

Propósito

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.

Page 4: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

4 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

4

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 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

Page 5: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

5 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

5

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

Page 6: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

6 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

6

pertenecientes al modelo por 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;

Page 7: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

7 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

7

además, 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í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.

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.

Page 8: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

8 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

8

Presentaciones gráficas y textuales de la información.

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

Page 9: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

9 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

9

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.

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.

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.

Page 10: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

10 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

10

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

Page 11: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

11 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

11

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.

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

Page 12: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

12 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

12

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.

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.

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.

Posteriormente deberás realizar la Actividad 1. Llamada Modelos de Desarrollo de

Sistemas, que se presenta en el documento: Actividades de la Unidad 3, el propósito es

que en conjunto con tus compañeros de estudios a través del foro, analicen problemáticas

y proporcionen soluciones a los problemas

Ahora, realiza la Actividad 4. Diagramas de modelos estructurados y orientado a objetos,

que se encuentra en el documento: Actividades de la Unidad 3, el propósito es que

diseñes soluciones utilizando los modelos estructurados y orientado a objetos de las

problemáticas que se te presentan.

Por último deberás realizar la actividad de Evidencia de aprendizaje. Modelos de sistemas

con UML. Ubicada en el documento de Actividades de la Unidad 3, donde presentarás las

soluciones a problemas a partir de los modelos de desarrollo de sistemas, utilizando en la

soluciones la herramienta StarUml para mostrar los gráficos que se te solicitan y el

procesador de textos para mostrar las soluciones, a los diferentes problemas

presentados.

Page 13: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

13 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

13

Autorreflexiones

Además de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses

al foro Preguntas de Autorreflexión y consultes las preguntas que tu Docente en línea

presente, a partir de ellas, debes elaborar tu Autorreflexión en un archivo de texto

llamado DMMS_U3_ATR_XXYZ. Posteriormente envía tu archivo mediante la

herramienta 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.

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 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.

Page 14: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

14 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

14

También analizaste el modelado de Diccionario de datos y su importancia, recuerda que

es un diseño en donde especificas 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.

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

Page 15: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

15 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

15

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.

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.

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.

Para saber más…

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

Page 16: Unidad 3. Modelos Para El Desarrollo de Sistemas

Métodos y modelos de desarrollo de software Unidad 3. Modelos para el desarrollo de sistemas

16 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software

16

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.