Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autores:
© Abril, 2023
© Editorial Grupo AEA, Santo Domingo - Ecuador
© Celi Párraga Ricardo Javier, Boné Andrade Miguel Fabricio, Mora Olivero Aldo Patricio,
Sarmiento Saavedra Juan Carlos.
Editado y diseñado por Comité Editorial del Grupo AEA
Hecho e impreso en Santo Domingo - Ecuador
Cita.
Celi Párraga, R. J., Boné Andrade, M. F., Mora Olivero, A. P., Sarmiento Saavedra J. C. (2023).
Ingeniería del Software I: Requerimientos y Modelado del Software. Editorial Grupo AEA.
Cada uno de los textos de la Editorial Grupo AEA han sido sometido a un proceso de
evaluación por pares doble ciego externos (double-blindpaperreview) con base en la
normativa del editorial.
Grupo AEA
Grupo de Asesoría Empresarial y Académica
www.grupo-aea.com
www.editorialgrupo-aea.com
Grupoaea.ecuador
Aviso Legal:
Derechos de autor ©
El “copyright” y todos los derechos de propiedad intelectual y/o industrial sobre el contenido
de esta edición son propiedad de la Editorial Grupo AEA y sus Autores. Se prohíbe
rigurosamente, bajo las sanciones en las leyes, la producción o almacenamiento total y/o
parcial de esta obra, ni su tratamiento informático de la presente publicación, incluyendo el
diseño de la portada, así como la transmisión de la misma de ninguna forma o por cualquier
medio, tanto si es electrónico, como químico, mecánico, óptico, de grabación o bien de
fotocopia, sin la autorización de los titulares del copyright, salvo cuando se realice confines
académicos o científicos y estrictamente no comerciales y gratuitos, debiendo citar en todo
caso a la editorial.
Reseña de Autores
Orcid: https://orcid.org/0000-0002-8525-5744
Ingeniero en sistemas informáticos, Máster en ingeniería del software y
sistemas informáticos, Docente de La Universidad Técnica Luis Vargas
Torres de Esmeraldas, Sede Santo Domingo de los Tsáchilas.
Índice
Reseña de Autores ........................................................................................... 1
Índice ................................................................................................................ 1
Introducción ...................................................................................................... 3
pág. 1
Ingeniería del Software I. Requerimientos y Modelado del Software.
Editorial Grupo AEA
pág. 2
Ingeniería del Software I. Requerimientos y Modelado del Software.
Editorial Grupo AEA
Introducción
La ingeniería del software es una disciplina que se encarga de aplicar principios
de la ingeniería en la creación de software. El objetivo principal de la ingeniería
del software es desarrollar software de alta calidad, eficiente y confiable,
mediante la aplicación de procesos sistemáticos y metodologías bien definidas.
El modelado del software es esencial para el éxito del proyecto, ya que permite
detectar posibles errores o deficiencias en la etapa de diseño, evitando costosos
errores en la implementación y pruebas. Además, el modelado del software
permite comunicar de manera clara y concisa los requerimientos a los distintos
miembros del equipo de desarrollo, asegurando una comprensión común y
alineada con los objetivos del proyecto.
pág. 3
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Capítulo I:
Introducción a la
Ingeniería del
Software
pág. 1
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
pág. 2
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
pág. 3
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
1.1. El software
Muchos suponen que el software es tan sólo otra palabra para los programas de
cómputo. No obstante, cuando se habla de ingeniería de software, esto no sólo
se refiere a los programas en sí, sino también a toda la documentación asociada
y los datos de configuración requeridos para hacer que estos programas operen
de manera correcta. Un sistema de software desarrollado profesionalmente es
usualmente más que un solo programa.
pág. 4
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
pág. 5
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
pág. 6
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
El término “Crisis del Software” fue acuñado a principios de los años 70, cuando
la ingeniería de software era prácticamente inexistente. El término expresaba las
dificultades del desarrollo de software frente al rápido crecimiento de la demanda
por software, de la complexidad de los problemas a ser resueltos y de la
inexistencia de técnicas establecidas para el desarrollo de sistemas que
funcionaran adecuadamente o pudieran ser validados.
Causas:
Consecuencias:
pág. 7
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Realidad: Esta muy bien que el libro exista, pero ¿se usa?, ¿conocen los
trabajadores su existencia?, ¿refleja las prácticas modernas de desarrollo
de software?, ¿es completo? En muchos casos, la respuesta a todas
estas preguntas es "no".
pág. 8
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Un cliente que solicita una aplicación de software puede ser una persona del
despacho de al lado, un grupo técnico de la sala de abajo, el departamento de
ventas o una compañía exterior que solicita un software bajo contrato. Los mitos
conducen a que el cliente se cree una falsa expectativa y finalmente, quede
insatisfecho con el que desarrolla el software.
pág. 9
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Los mitos en los que aún creen muchos desarrolladores se han ido fomentando
durante cuatro décadas de cultura informática. Durante los primeros días del
desarrollo del software, la programación se veía como un arte. Las viejas formas
y actitudes tardan en morir.
pág. 10
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Mantenimiento
El software debe escribirse de tal forma que pueda evolucionar para satisfacer
las necesidades cambiantes de los clientes. Éste es un atributo crítico porque el
cambio del software es un requerimiento inevitable de un entorno empresarial
variable.
Confiabilidad y seguridad
Eficiencia
El software no tiene que desperdiciar los recursos del sistema, como la memoria
y los ciclos del procesador. Por lo tanto, la eficiencia incluye capacidad de
respuesta, tiempo de procesamiento, utilización de memoria, etcétera.
Aceptabilidad
El software debe ser aceptable al tipo de usuarios para quienes se diseña. Esto
significa que necesita ser comprensible, utilizable y compatible con otros
sistemas que ellos usan.
pág. 11
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Productos genéricos
pág. 12
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
pág. 13
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Disciplina de ingeniería
Los ingenieros hacen que las cosas funcionen. Aplican teorías, métodos y
herramientas donde es adecuado. Sin embargo, los usan de manera selectiva y
siempre tratan de encontrar soluciones a problemas, incluso cuando no hay
teorías ni métodos aplicables. Los ingenieros también reconocen que deben
trabajar ante restricciones organizacionales y financieras, de modo que buscan
soluciones dentro de tales limitaciones.
pág. 14
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
pág. 15
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Proyecto Exitoso
Factores que hay que tener en cuenta para que un proyecto sea exitoso
pág. 16
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Factores que hay que tener en cuenta para que un producto de software sea
exitoso.
Proyecto Fracasado
pág. 17
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo I: Introducción a la Ingeniería del Software
Conclusiones
pág. 18
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
Capítulo II: El
Proceso del
Software
pág. 19
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
pág. 20
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
pág. 21
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
pág. 22
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
pág. 23
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
pág. 24
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
El modelo espiral. Propuesto en primer lugar por Barry Boehm, el modelo espiral
es un modelo evolutivo del proceso del software y se acopla con la naturaleza
iterativa de hacer prototipos con los aspectos controlados y sistémicos del
modelo de cascada. Tiene el potencial
para hacer un desarrollo rápido de versiones cada vez más completas. Boehm
describe el modelo del modo siguiente:
pág. 25
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
En cierto modo, el proceso unificado es un intento por obtener los mejores rasgos
y características de los modelos tradicionales del proceso del software, pero en
forma que implemente muchos de los mejores principios del desarrollo ágil de
software. El proceso unificado reconoce la importancia de la comunicación con
el cliente y los métodos directos para describir su punto de vista respecto de un
sistema (el caso de uso). Hace énfasis en la importancia de la arquitectura del
software y “ayuda a que el arquitecto se centre en las metas correctas, tales
como que sea comprensible, permita cambios futuros y la reutilización”. Se
Sugiere un flujo del proceso iterativo e incremental, lo que da la sensación
evolutiva que resulta esencial en el desarrollo moderno del software.
pág. 26
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
Cualquier proceso del software ágil se caracteriza por la forma en la que aborda
cierto número de suposiciones clave acerca de la mayoría de los proyectos de
software:
pág. 27
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
pág. 28
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
2.2.2. El proceso XP
pág. 29
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
2.2.3. Scrum
Los principios Scrum son congruentes con el manifiesto ágil y se utilizan para
guiar actividades de desarrollo dentro de un proceso de análisis que incorpora
las siguientes actividades estructurales: requerimientos, análisis, diseño,
evolución y entrega. Dentro de cada actividad estructural, las tareas del trabajo
pág. 30
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
pág. 31
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo II: El Proceso del Software
(por ejemplo, aspectos del trabajo retrasado). Así, el sprint permite a los
miembros del equipo trabajar en un ambiente de corto plazo, pero estable.
Reuniones Scrum: son reuniones breves (de 15 minutos, por lo general) que el
equipo Scrum efectúa a diario. Hay tres preguntas clave que se pide que
respondan todos los miembros del equipo:
Scrum Master: Un líder del equipo, llamado maestro Scrum, dirige la junta y
evalúa las respuestas de cada persona. La junta Scrum ayuda al equipo a
descubrir los problemas potenciales tan pronto como sea posible. Asimismo,
estas juntas diarias llevan a la “socialización del conocimiento” con lo que se
promueve una estructura de equipo con organización propia
pág. 32
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
Capítulo III:
Ingeniería de
Requerimientos
pág. 33
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 34
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
Ingeniería de Requerimientos
de modelo:
operaciones) y la manera en la que las clases colaboran para cumplir con los
requerimientos del sistema.
pág. 35
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
En esta etapa tal vez no fuera posible tener la especificación completa de los
requerimientos. El cliente quizá no esté seguro de qué es lo que requiere con
precisión para ciertos aspectos del sistema. Puede ser que el desarrollador esté
inseguro de que algún enfoque específico cumpla de manera apropiada la
función y el desempeño.
pág. 36
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 37
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 38
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
Ejemplo:
1.3 Se realizará un reporte para cada clínica junto con los nombres de
cada medicamento, el número de prescripciones, las dosis prescritas y el
costo total de los medicamentos prescritos.
pág. 39
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
Ejemplo:
pág. 40
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 41
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 42
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 43
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 44
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
Entrevistas
Las entrevistas formales o informales con participantes del sistema son una parte
de la
Escenarios
Por lo general, las personas encuentran más sencillo vincularse con ejemplos
reales que con descripciones abstractas. Pueden comprender y criticar un
escenario sobre cómo interactuar con un sistema de software. Los ingenieros de
requerimientos usan la información obtenida de esta discusión para formular los
verdaderos requerimientos del sistema.
pág. 45
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
Casos de uso
Etnografía
pág. 46
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 47
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 48
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 49
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo III: Ingeniería de Requerimientos
pág. 50
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Capítulo IV:
Modelado del
Software
pág. 51
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 52
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Los modelos de contexto, por lo general, muestran que el entorno incluye varios
sistemas automatizados. Por consiguiente, los modelos de contexto simples se
usan junto con otros modelos, como los modelos de proceso empresarial. Éstos
pág. 53
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 54
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 55
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Un diagrama de estado UML modela los estados de un objeto, las acciones que
se realizan dependiendo de dichos estados y las transiciones entre los estados
del objeto.
pág. 56
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
• Actores, se tratan de los roles que pueden jugar los agentes que
interactúan con el sistema. Los roles son jugados por personas,
dispositivos, u otros sistemas. Podríamos distinguir entre actores
primarios, para los cuales el objetivo del caso de uso es esencial y actores
secundarios, que interactúan con el caso de uso, pero cuyo objetivo no es
esencial.
pág. 57
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 58
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 59
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
• Nombre de la clase
• Atributos
• Funciones.
Para representar la clase con estos elementos se utiliza una caja que es dividida
en tres zonas utilizando para ello líneas horizontales:
3. La última de las zonas incluye cada una de las funciones que ofrece la
clase. De forma parecida a los atributos, sigue el siguiente formato:
pág. 60
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Multiplicidad
Tipos de multiplicidad
• Uno a uno 1 - 1
pág. 61
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Nombre de la relación.
Tipos de relaciones
• Asociación.
• Agregación.
• Composición.
• Generalización (Herencia)
Asociación
Agregación
pág. 62
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Se representa con una línea que tiene un rombo en la parte de la clase que es
una agregación de la otra clase (es decir, en la clase que contiene las otras).
Un ejemplo de esta relación podría ser: “Las mesas están formadas por tablas
de madera y tornillos o, dicho de otra manera, los tornillos y las tablas forman
parte de una mesa”. Como ves, el tornillo podría formar parte de más objetos,
por lo que interesa especialmente su abstracción en otra clase.
Composición
Se representa con una línea continua con un rombo relleno en la clase que es
compuesta.
Un ejemplo de esta relación sería: “Un vuelo de una compañía aérea está
compuesto por pasajeros, que es lo mismo que decir que un pasajero está
asignado a un vuelo”
pág. 63
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
La composición, por otro lado, implica un acoplamiento aún más estricto que la
agregación, y definitivamente implica la contención. El requisito básico es que,
si una clase de objetos (llamado “contenedor”) se compone de otros objetos
(llamados “elementos”), entonces los elementos aparecerán y también serán
destruidos como un efecto secundario de crear o destruir el contenedor.
Generalización
En este ejemplo, las tres clases (Pez, Perro, Gato) podrán utilizar la función
respirar, ya que lo heredan de la clase animal, pero solamente la clase Pez podrá
nadar, la clase Perro ladrar y la clase Gato maullar. La clase Animal podría
plantearse ser definida abstracta, aunque no es necesario.
pág. 64
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 65
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 66
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
En los procesos ágiles, por lo general se acepta que una de las primeras etapas
en el proceso de desarrollo debe preocuparse por establecer una arquitectura
global del sistema. Usualmente no resulta exitoso el desarrollo incremental de
arquitecturas. Mientras que la refactorización de componentes en respuesta a
los cambios suele ser relativamente fácil, tal vez resulte costoso refactorizar una
arquitectura de sistema.
pág. 67
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 68
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 69
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
pág. 70
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Capa de presentación
Capa de procesamiento
pág. 71
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Ejemplo 1
Ejemplo 2
pág. 72
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Ejemplo 3
Ejemplo 4
pág. 73
Ingeniería del Software I. Requerimientos y Modelado del Software.
Capítulo IV: Modelado del Software
Ejemplo 5
pág. 74
Ingeniería del Software I. Requerimientos y Modelado del Software.
Referencias:
Referencias
Bibliográficas
pág. 75
Ingeniería del Software I. Requerimientos y Modelado del Software.
Referencias:
pág. 76
Ingeniería del Software I. Requerimientos y Modelado del Software.
Referencias:
Referencias Bibliográficas
Cabot, S., J. (2013) Ingeniería del software, Editorial UOC. ProQuest Ebook
Central: https://ebookcentral.proquest.com/lib/uteclvtsp/detail.action?
docID=3219169
pág. 77
Ingeniería del Software I. Requerimientos y Modelado del Software.
Referencias:
pág. 78
Ingeniería del Software I. Requerimientos y Modelado del Software.
Referencias:
Resumen
En este libro se investigó los fundamentos de la
ingeniería del software y se documentó los conceptos
básicos del software y los procesos para la creación de
software, se documentó también cómo llevar a cabo un
análisis de requerimientos de software, cuáles son los
tipos de requerimientos, cómo obtenerlos,
documentarlos, validarlos y modelarlos mediante
diferentes tipos de diagramas. Este libro tiene como
objetivo aplicar los conceptos y teorías de administración
para la creación de software de calidad mediante las
diferentes metodologías, técnicas y herramientas de la
ingeniería del software para que el profesional de
sistemas informáticos sea capaz de gestionar con
eficiencia y en ambientes éticos y de responsabilidad
proyectos inmersos en la creación software. Se investigó
varios libros llegando a realizar un compendio de las
partes más importantes y se llegó a la conclusión de que
la ingeniería del software proporciona varias
metodologías para el desarrollo del software y varios
modelos para el diseño de software que el profesional
puede utilizar dependiendo las diferentes necesidades o
las diferentes situaciones o proyectos a desarrollar.
pág. 79
Ingeniería del Software I. Requerimientos y Modelado del Software.