01 Unidad I Apunte
01 Unidad I Apunte
01 Unidad I Apunte
TEMARIO
Introducción....................................................................................................................... 2
Sistemas................................................................................................................................. 3
Características clave de un sistema...................................................................................3
Partes de un sistema..........................................................................................................4
Relaciones entre sistemas................................................................................................. 5
Sistemas de Información.......................................................................................................7
Dominios de aplicación del software................................................................................. 10
Ingeniería de Software.........................................................................................................12
Uso de la Ingeniería de Software..................................................................................... 13
Importancia de la ingeniería de software......................................................................... 13
Capas de la Ingeniería de Software................................................................................. 14
Proceso de Ingeniería de Software.................................................................................. 15
Comunicación.............................................................................................................15
Planeación..................................................................................................................15
Modelado....................................................................................................................15
Construcción.............................................................................................................. 15
Despliegue................................................................................................................. 16
Práctica de la Ingeniería de Software: Explorando las Etapas Fundamentales del
Proceso............................................................................................................................ 16
Entender el Problema (Comunicación y Análisis)...................................................... 16
Planear la Solución (Modelado y Diseño del Software)............................................. 17
Ejecutar el Plan (Generación del Código).................................................................. 17
Examinar la Exactitud del Resultado (Probar y Asegurar la Calidad):....................... 17
Pág. 1
Ingeniería de Software - CCC
2023
Introducción
En el vertiginoso mundo actual, donde la tecnología permea prácticamente todos los
aspectos de nuestras vidas y el ámbito empresarial, la comprensión de sistemas y el
desarrollo de software se han convertido en elementos cruciales para el éxito de cualquier
empresa y organización.
En esta unidad, exploraremos los conceptos fundamentales de los sistemas, cómo están
compuestos los mismos y los actores internos y externos que pueden interactuar con éste.
Haremos especial foco, en los sistemas de información, sistemas que desde ya hace tiempo
tienen un rol fundamental en todo ámbito de la vida cotidiana, aportando una infinidad de
datos que transforman en información, para que tomemos las mejores decisiones como
usuarios de esa información.
Además, conoceremos algunos de los diferentes tipos de sistemas que existen y cuáles son
los dominios de aplicación de los mismos.
Pág. 2
Ingeniería de Software - CCC
2023
Sistemas
Un sistema es un conjunto de elementos interconectados y
organizados, que trabajan de manera coordinada para lograr
un objetivo específico. Estos elementos, también conocidos
como componentes o partes, interactúan entre sí y con el
entorno en el que operan, formando una entidad más grande
y coherente que funciona como un todo integrado.
Este todo integrado, también podríamos decir, que es el
subsistema de otro sistema mayor. Con esto estamos queriendo concluir, que un sistema
puede operar dentro de otro más grande, y las salidas del subsistema, se convertirán en las
entradas del sistema mayor.
Habiendo definido en términos generales qué es un sistema, antes de pasar a hablar de sus
partes y algunos ejemplos, nombraremos algunas de sus características clave para
complementar el concepto de sistema.
Pág. 3
Ingeniería de Software - CCC
2023
Ahora que sabemos qué es un sistema, pasemos a hablar de las partes que lo componen.
Partes de un sistema
Entradas
Las entradas son los insumos o elementos que ingresan al sistema desde el entorno externo
y son necesarios para su funcionamiento. Representan los datos, información o recursos
que son utilizados o procesados por el sistema para alcanzar su objetivo. Las entradas
pueden ser de diferentes tipos:
Es importante destacar que una entrada en un sistema puede ser la salida de otro sistema
conectado a él, lo que resalta la interconexión y dependencia entre sistemas.
Procesos
Los procesos son las actividades, operaciones o transformaciones que ocurren dentro del
sistema para procesar las entradas y generar las salidas. Representan las acciones
realizadas por el sistema para alcanzar su objetivo. Algunos procesos son conocidos y
Pág. 4
Ingeniería de Software - CCC
2023
pueden ser entendidos en detalle, mientras que otros pueden considerarse "cajas negras", lo
que significa que se conocen las entradas y salidas, pero no se comprenden completamente
las transformaciones internas.
El concepto de "caja negra" se utiliza para simplificar la comprensión del sistema y centrarse
en su comportamiento externo sin necesidad de conocer todos los detalles internos. Esto es
especialmente útil cuando se abordan sistemas complejos y permite tratarlos como
unidades indivisibles dentro de un contexto más amplio.
Salidas
Las salidas son los resultados, productos, servicios o información que el sistema genera
como respuesta a las entradas y después de realizar los procesos. Representan los logros o
el valor que el sistema proporciona al entorno externo. Algunos ejemplos de salidas
incluyen:
Habiendo definido que es un sistema, y las partes que lo componen, nos toca retomar un
concepto que vimos en la definición de los sistemas. Dijimos que un sistema puede operar
dentro de otro más grande, con el que guarda una “relación”. Y no solo eso, sino que dentro de
un sistema, tenemos diferentes elementos que interactúan entre sí y con el entorno en el que
operan, es decir que entre estos elementos también tenemos “relaciones”. Es por ello que el
siguiente tema que trataremos son las relaciones entre sistemas.
Pág. 5
Ingeniería de Software - CCC
2023
Relaciones de causalidad
Estas relaciones describen cómo un elemento o proceso dentro del sistema afecta
directamente a otro. Una causa genera un efecto en otro componente del sistema, lo que
puede provocar cambios significativos en su comportamiento o funcionamiento.
Un ejemplo podría ser que en un proceso de producción industrial, la cantidad de materias
primas utilizadas (causa) influye directamente en la cantidad de productos fabricados
(efecto). A medida que se aumenta la cantidad de materias primas, la producción también
aumenta proporcionalmente.
Relaciones de dependencia
Las relaciones de dependencia se producen cuando la existencia o el rendimiento de un
elemento del sistema depende de la presencia o el funcionamiento adecuado de otro
elemento. Un cambio en un componente puede tener efectos significativos en otros
elementos que dependen de él.
Como ejemplo podemos citar un sistema de transporte público, el servicio de autobuses
depende de la disponibilidad de conductores. Si no hay suficientes conductores disponibles,
se verá afectada la frecuencia y capacidad de los autobuses para brindar el servicio
adecuado.
Relaciones de sinergia
La sinergia ocurre cuando los elementos del sistema trabajan juntos para lograr un resultado
que es más efectivo o valioso de lo que sería la suma de sus partes individuales. La sinergia
implica la colaboración y cooperación entre los componentes del sistema.
Un ejemplo de este tipo de relación podría ser en el desarrollo de un software complejo, un
equipo de ingenieros con diferentes especializaciones, como programadores, diseñadores
Pág. 6
Ingeniería de Software - CCC
2023
de interfaz y expertos en usabilidad, trabajan juntos para crear un producto final más
eficiente y atractivo
Estas son algunas de los tipos de relaciones que existen entre elementos de un sistema y
entre sistemas en sí. No son todas y podemos mencionar algunas más a título informativo,
como las “Relaciones de equifinalidad”, “Relaciones de jerarquía o niveles”, “Relaciones de
interconexión”, entre otras.
Ya conocemos con buena profundidad qué es un sistema, sus partes y las relaciones más
importantes que existen. Ahora vamos a hablar sobre un tipo muy particular de sistemas, que
desde hace tiempo vienen creciendo en su protagonismo y hoy en día son vitales en la porque
permiten la recopilación, procesamiento y análisis eficiente de datos, facilitando la toma de
decisiones, optimizando la comunicación, coordinación y control de procesos en
organizaciones, mejorando la productividad y competitividad, en un entorno cada vez más
digitalizado y globalizado. Estos son los sistemas de información.
Sistemas de Información
Un sistema de información es un conjunto de componentes interconectados que trabajan
juntos para recoger, procesar, almacenar y difundir información, para que los integrantes de
una organización puedan tomar las mejores decisiones.
Pág. 7
Ingeniería de Software - CCC
2023
Antes de seguir con el tema, sería oportuno hablar de la diferencia entre Dato e Información.
● Dato: es una representación básica y aislada de un hecho o entidad, carente de
significado por sí mismo. Ejemplo, un dato puede ser una fecha: 18 de diciembre de
2022
● Información: es un conjunto de datos organizados y procesados que adquiere sentido y
utilidad, proporcionando conocimiento y comprensión sobre un tema específico. La
información surge cuando los datos son interpretados y contextualizados. Para
continuar con el ejemplo anterior, si tomamos el dato de esa fecha, y le damos contexto,
podemos hablar de la siguiente información: el 18 de diciembre de 2022 Argentina se
consagró campeón del mundo por tercera vez en su historia, ganándole a Francia por
penales.
Los sistemas de información tienen varias características que los hacen valiosos para las
organizaciones. En primer lugar, están diseñados para ser fiables y precisos, lo que
garantiza que la información que proporcionan es fidedigna. En segundo lugar, son flexibles
y adaptables, lo que permite a las organizaciones modificarlos y personalizarlos para
satisfacer sus necesidades específicas. En tercer lugar, son seguros, ya que protegen la
información sensible de accesos no autorizados. Por último, son eficientes, lo que permite a
las organizaciones procesar y analizar grandes cantidades de datos con rapidez y eficacia.
Ahora que entendemos qué es un sistema de información, los componentes que lo forman,
su objetivo y características, vamos a hablar de las funciones que tienen este tipo de
sistemas para las empresas.
Pág. 8
Ingeniería de Software - CCC
2023
Por último, vamos a nombrar y dar una pequeña descripción de los diferentes tipos de
sistemas de información que existen, que se pueden clasificar en función de su alcance y
propósito. Algunos de los principales tipos son:
● Sistemas de información transaccional: Se centran en el procesamiento y registro de
transacciones comerciales diarias, como ventas, compras y pagos. Ejemplos de estos
tipos de sistemas son: SAP o Saleforce.
● Sistemas de información gerencial: Proporcionan información resumida y reportes para
apoyar el proceso de toma de decisiones de nivel medio en la organización. Como
ejemplos podemos citar Tableau o Power BI.
● Sistemas de información estratégica: Ayudan a los ejecutivos y directivos a tomar
decisiones estratégicas para el futuro de la organización. Ejemplos: Oracle Hyperion o
Google Analytics.
● Sistemas de información expertos: Utilizan el conocimiento especializado para brindar
soluciones a problemas complejos en áreas específicas. Un ejemplo de este tipo de
Pág. 9
Ingeniería de Software - CCC
2023
Pág. 10
Ingeniería de Software - CCC
2023
Pág. 11
Ingeniería de Software - CCC
2023
Luego de toda esta introducción al mundo de los sistemas, ahora sí estamos en condiciones
de comenzar a hablar de la Ingeniería de Software.
Ingeniería de Software
La ingeniería de software es una disciplina que abarca diversas áreas de conocimiento y
posee un enfoque sistemático que incluye la aplicación de principios de ingeniería, técnicas
y métodos científicos a la conceptualización, diseño, desarrollo, implementación, prueba,
mantenimiento y evolución del software.
Va más allá de la mera codificación y programación, incorporando un enfoque holístico y
estructurado para abordar la complejidad inherente a la creación de sistemas de software.
Pág. 12
Ingeniería de Software - CCC
2023
Pág. 13
Ingeniería de Software - CCC
2023
Estas capas trabajan en conjunto para garantizar que el software se desarrolle de manera
efectiva, eficiente y con altos estándares de calidad. El compromiso con la calidad, la
adecuada gestión del proceso, la elección de métodos apropiados y el uso de herramientas
adecuadas son fundamentales para el éxito en la ingeniería de software.
Pág. 14
Ingeniería de Software - CCC
2023
Comunicación
En esta etapa inicial, los ingenieros de software se comunican con los clientes y usuarios
para comprender sus necesidades y requerimientos. Se recopila información detallada
sobre la funcionalidad deseada del software y se establece una comunicación efectiva para
asegurar que todos los interesados estén alineados con los objetivos del proyecto. Es una
de las más importantes, ya que es primordial para todo el proceso, entender el problema a
resolver, o la necesidad del cliente.
Planeación
La fase de planeación implica definir los objetivos del proyecto, estimar los recursos
necesarios (tiempo, personal, tecnología), analizar la viabilidad del proyecto y establecer un
cronograma detallado. También se identifican los posibles riesgos y se desarrollan
estrategias para mitigarlos, asegurando una ejecución exitosa del proyecto.
Modelado
En esta etapa, se crea una representación visual y detallada del software a través de
diagramas y modelos. Se diseñan la arquitectura del sistema, la estructura de datos, y los
flujos de información. El modelado permite una mejor comprensión de cómo se estructurará
y funcionará el software antes de su construcción. En este sentido, el tener una mejor
comprensión de la solución de software, también permitirá poder comunicarla. Por un lado
al cliente, para validar que estemos cumpliendo con las expectativas del mismo, y por otra al
equipo de desarrollo, para que la lleve a cabo.
Construcción
Durante la fase de construcción, los ingenieros de software comienzan a codificar y
desarrollar el software de acuerdo con el diseño y los modelos previamente creados. Se
implementan las funcionalidades, se realizan pruebas unitarias y se corrigen errores o
defectos encontrados.
Pág. 15
Ingeniería de Software - CCC
2023
Despliegue
En esta etapa final, el software desarrollado se instala y pone en funcionamiento en el
entorno de producción o de uso final. Se verifica que todo funcione correctamente y se
realiza una prueba final antes de ponerlo a disposición de los usuarios. El despliegue
asegura que el software esté listo para su uso y cumpla con las expectativas establecidas.
Todo este proceso, será estudiado con mayor detalle en las siguientes unidades, la finalidad
de esta unidad introductoria es conocer a grandes rasgos el proceso.
Pág. 16
Ingeniería de Software - CCC
2023
Algunas preguntas como las que siguen pueden ayudar en esta etapa:
● ¿Ha visto antes problemas similares? ¿Hay patrones reconocibles en una solución
potencial? ¿Hay algún software existente que implemente los datos, funciones y
características que se requieren?
● ¿Ha resuelto un problema similar? Si es así, ¿son reutilizables los elementos de la
solución?
● ¿Pueden definirse problemas más pequeños? Si así fuera, ¿hay soluciones evidentes
para éstos?
● ¿Es capaz de representar una solución en una forma que lleve a su implementación
eficaz?
● ¿Es posible crear un modelo del diseño
Pág. 17
Ingeniería de Software - CCC
2023
Preguntas disparadoras:
● ¿Puede probarse cada parte componente de la solución? ¿Se ha implementado una
estrategia razonable para hacer pruebas?
● ¿La solución produce resultados que se apegan a los datos, funciones y características
que se requieren? ¿El software se ha validado contra todos los requerimientos de los
participantes?
Pág. 18
Ingeniería de Software - CCC
2023
Como se mencionó anteriormente, en las próximas unidades, veremos más en detalle parte de
este proceso de Ingeniería de Software, a través del desarrollo del ciclo de vida del software.
Toda esta unidad de introducción, nos servirá para tener las bases y conocimientos
necesarios para abordar esos temas y poder comprenderlos y llevarlos a la práctica.
Pág. 19