Buscador

Conceptos de Ingeniería de Sistemas

 Definimos la Ingeniería e sistemas como un método de resolución de problemas complejos donde figura la tecnología, sin estar limitado a ella, en el contexto de los entornos físicos, sociales, económicos y culturales en lo que estos problemas existen. El proceso de desarrollar y producir sistemas artificiales de forma lógica y ordenada se realiza mejor a través de una buena "ingeniería del sistema".

Comenzaremos este libro, aclarando que cuando hablamos de sistemas lo hacemos con el significado más amplio de la palabra y no nos referimos a un tipo particular de sistemas como lo son los sistemas de información. Con esta aclaración, comprenderemos por qué direccionamos nuestro interés hacia la “Ingeniería de Sistema” y tratar de marcar su relación, mediante ejemplos, con los sistemas informáticos. Tomando como base lo ya expresado en el “Prologo” y con el adelanto de algunos conceptos que profundizaremos más adelante (cosa que podemos realizar porque son bastante intuitivos y sencillos de visualizar), podremos efectuar una primera definición de “Ingeniería de sistema” diciendo, que es el desarrollo de un proceso ordenado para hacer realidad (construir) un sistema, cualquiera sea su naturaleza.

Un sistema es una combinación de medios (como personas, materiales, equipos, software, in stalaciones, datos, etc.), integrados de tal forma que puedan desarrollar una determinada función en respuesta a una necesidad concreta.

Entre las tantas clasificaciones de los sistemas, los podemos agrupar como naturales o artificiales, físicos o conceptuales, abiertos o cerrados, estáticos o dinámicos, etc...

Un sistema puede variar por su forma, adecuación, y/o función. Se puede tratar con una red de comunicaciones capaz de distribuir información a nivel mundial, un sistema de distribución de energía que abarque canales y plantas generadoras de energía o una planta de fabricación capaz de producir "x" productos en un tiempo determinado.

Cada sistema está formado por componentes, y estos a su vez pueden descomponerse en otros más pequeños. Si en un sistema determinado se establecen dos niveles jerárquicos, al inferior se le suele denominar "subsistema".

Por ejemplo, en un sistema de transporte aéreo, los aviones, las terminales, el equipo de apoyo terrestre y los controles son subsistemas. Los equipos, la s personas y la información son componentes.

Por ello los métodos para designar sistemas, subsistemas y componentes son relativos, ya que un sistema situado en un nivel jerárquico puede ser el componente de otro de nivel superior.

Así, para una situación determinada, es esencial definir el sistema considerado especificando

claramente sus límites y fronteras.

El proceso para obtener (Diseñar) sistemas (y/o mejorar los existentes), con independencia del tipo de sistema, es el objetivo principal de este libro. 

A toda nueva y definida necesidad le sigue un "proceso". La forma más lógica de conseguir resultados satisfactorios es fijarse en la totalidad del sistema, considerar las relaciones funcionales de sus elementos e integrarlos como un todo.

Teoría General de Sistemas Aplicada

La primera pregunta que nos hacemos es ¿Para qué estudiar Sistemas?, ¿para qué nos sirve?Responder estas preguntas seguramente ayudara al lector a interesarse por el desarrollo del contenido de este libro.

Esta parte del libro “La teoría General de Sistemas Aplicada”, intenta dar al lector una “metodología para comprender la realidad y así poder manejar el mundo complejo”. Para lograr esto, es necesario tener una más amplia visión sobre todos los factores que influyen en el momento del planteo y solución de los problemas que se presentan durante el desarrollo de los trabajos, cualquiera sea la disciplina. Por ejemplo el análisis, diseño y puesta en marcha de los Sistemas de Información.

  • Lograr este objetivo significa considerar un amplio espectro, que parte desde: el estudio de la incidencia que tienen los factores que agrega al problema el observador como tal, la necesidad del conocimiento detallado del entorno donde se desarrolla nuestro estudio, hasta llegar al final del proceso de solución donde aparece la aplicación concreta de la tecnología. Es por esto que seguimos los siguientes hilos conductores para el desarrollo de esta parte de la obra:
  • En general los problemas de sistemas requieren de soluciones socio técnicas.(Por ejemplo los sistemas informáticos)
  • Utilizar el concepto de sistema como una herramienta de abstracción, dentro delos parámetros fijados por una teoría general que se independiza de la clase delos mismos. Esto es necesario desde el momento que los sistemas (por ejemplolos informáticos) se encuentran embebidos dentro de otros sistemas, dediferentes clases, con los cuales interactúa y que de esa interacción depende eléxito o el fracaso de su funcionalidad.
  • Introducir al observador (nosotros mismos) como parte del problema, puesto que desus propios filtros de percepción e interpretación depende la calidad de la solución.
  • Sentar las bases para poder analizar el comportamiento de las Organizacionescomo sistemas dinámicos, puesto que generalmente dentro de ellas debemosinsertar los sistemas informáticos que diseñamos.

Este enfoque nos permite fundamentalmente diferenciar dos conceptos, si bien ambos son importantes: los conceptos y paradigmas orientados al análisis de los aspectos relativos a la tecnología misma. Realizamos esta separación por la confusión generalizada de pensar la solución de problemas, únicamente en términos de herramientas.

En síntesis, se intenta establecer el marco conceptual dentro del cual debemos aplicar la tecnología.

Por lo tanto es necesario realizar un cambio en nuestra estructura de razonamiento, y es el de no considerar como suficiente el conocimiento y manejo eficiente de las muchas herramientas que en la actualidad nos ofrece el mercado, y pensar en el absurdo de que la estructura de nuestras mentes creativas no tienen incidencia alguna en el planteo y solución de problemas.

El resultado de este tipo de pensamiento, es que frecuentemente, estos poderosos medios técnicos son utilizados a destiempo o fuera de lugar, actuando como amplificadores de los problemas en lugar de solucionarlos.

Algunos lectores pueden pensar que los próximos capítulos tienen un marco netamente teórico y de escasa aplicación práctica. Esta apreciación no la considero acertada, mi experiencia laboral así me lo indica, de todas maneras para los menos crédulos les recuerdo las palabras de alguien cuyo grado de credibilidad es incuestionable, quien decía:

“No hay nada más practico que una buena teoría” (Albert Einstein)

Espero, que de alguna manera, todo este trabajo produzca algún cambio en los lectores, sobre todo en su estructura de razonamiento y por lo tanto en la forma de ver y analizar la realidad. Si durante la lectura una pequeña luz de alerta se ha encendido en vuestras mentes, por pequeña que esta sea, en lo personal sentiré haber logrado el objetivo.

Lista de 20 libros que pueden ser útiles para estudiar Ingeniería de Sistemas

 Aquí hay una lista de 20 libros que pueden ser útiles para estudiar Ingeniería de Sistemas:

  1.     "Sistemas de información gerencial" de Kenneth Laudon y Jane Laudon
  2.     "Ingeniería del Software" de Ian Sommerville
  3.     "Arquitectura de computadoras" de Andrew S. Tanenbaum
  4.     "Análisis y diseño de sistemas" de John Satzinger, Robert Jackson y Stephen Burd
  5.     "Teoría de sistemas" de F.G. Sage
  6.     "Métodos formales en la ingeniería del software" de Bernard L. P. Ullman
  7.     "Proceso unificado de desarrollo de software" de Ivar Jacobson
  8.     "Sistemas de información: un enfoque gerencial" de Ralph M. Stair y George Reynolds
  9.     "Sistemas de bases de datos" de Ramez Elmasri y Shamkant B. Navathe
  10.     "Arquitectura de sistemas de información" de James A. O'Brien
  11.     "Análisis y diseño orientado a objetos" de Grady Booch, James Rumbaugh y Ivar Jacobson
  12.     "Redes de computadoras" de Andrew S. Tanenbaum
  13.     "Modelos de sistemas" de John N. Warfield
  14.     "Análisis y diseño de sistemas de información" de James A. Senn
  15.     "Ingeniería de software basada en componentes" de Clemens Szyperski
  16.     "Sistemas operativos" de Andrew S. Tanenbaum
  17.     "Modelos de procesos de negocio" de Pauline Norris y Evan Leybourn
  18.     "Fundamentos de sistemas de bases de datos" de Abraham Silberschatz, Henry Korth and S. Sudarshan
  19.     "Análisis y diseño de sistemas de información" de Gary B. Shelly y Thomas J. Cashman
  20.     "Modelos de sistemas dinámicos" de David K. Cheng
    "Sistemas de información gerencial" de Kenneth Laudon y Jane Laudon

Caracteristicas del lenguaje de programación COBOL

 COBOL (COmmon Business Oriented Language) es un lenguaje de programación de alto nivel que se utiliza principalmente en aplicaciones empresariales y de sistemas de información. Algunas de sus características incluyen:

  •     Orientado a datos: COBOL tiene un enfoque muy fuerte en el manejo de datos y en la manipulación de archivos. Tiene una sintaxis especial para declarar y manipular registros y archivos de datos.
  •     Sintaxis clara y legible: COBOL tiene una sintaxis clara y legible que está diseñada para ser fácil de entender por personas que no son programadores. Los programas COBOL están divididos en secciones y divisiones, y tienen una estructura muy clara y jerárquica.
  •     Fortalezas en procesamiento de datos masivos: COBOL tiene una serie de características que lo hacen ideal para el procesamiento de grandes cantidades de datos, como la capacidad de realizar operaciones de archivo masivas y la capacidad de manejar archivos de gran tamaño.
  •     Lenguaje estándar: COBOL es un lenguaje estándar que ha sido utilizado por décadas en aplicaciones empresariales y de sistemas de información. Como resultado, hay una gran cantidad de herramientas y recursos disponibles para los programadores COBOL.
  • Sistemas operativos: COBOL se ejecuta en una amplia variedad de sistemas operativos, incluyendo Windows, Unix, Linux y z/OS.

Aplicaciones: COBOL se utiliza en una amplia variedad de aplicaciones, como sistemas de contabilidad, sistemas de reservas, sistemas de informes y sistemas de gestión de inventario. También se utiliza en aplicaciones gubernamentales y militares.

De que trata la ingeniería de software

 La ingeniería de software es una disciplina que se centra en el desarrollo y mantenimiento de sistemas y aplicaciones informáticas. Esta disciplina se ocupa de la creación de software de alta calidad, fiable y sostenible, utilizando técnicas y metodologías especializadas.

Los ingenieros de software se encargan de diseñar, desarrollar, probar y mantener el software, y trabajan en estrecha colaboración con otros profesionales, como diseñadores de interfaz de usuario y expertos en bases de datos, para asegurar que el software cumpla con los requisitos del usuario y sea fácil de usar.

Los ingenieros de software también deben estar familiarizados con las últimas tendencias y tecnologías en el campo del software, y deben estar dispuestos a aprender y adaptarse continuamente a las necesidades del mercado.

En resumen, la ingeniería de software se centra en la creación y mantenimiento de sistemas y aplicaciones informáticas de alta calidad y fiable, utilizando técnicas y metodologías especializadas y trabajando en estrecha colaboración con otros profesionales para cumplir con los requisitos del usuario.

Plan de estudios para estudiar ingenieria de sistemas en 4 años

 Para diseñar un plan de estudios para estudiar ingeniería de sistemas en cuatro años, es importante tener en cuenta las siguientes consideraciones:

  1.     Requisitos de grado: es necesario asegurarse de que el plan de estudios cumpla con los requisitos de grado para obtener un título de ingeniería de sistemas. Estos requisitos varían según la institución, pero por lo general incluyen materias de cálculo, física, química, matemáticas aplicadas, ingeniería de sistemas y tecnología de la información.
  2.     Electivas: es importante incluir electivas en el plan de estudios para darle a los estudiantes la oportunidad de explorar áreas de interés y personalizar su educación.
  3.     Trabajo práctico: es importante incluir trabajo práctico en el plan de estudios para dar a los estudiantes la oportunidad de aplicar lo que han aprendido y desarrollar habilidades prácticas. Esto puede incluir proyectos de ingeniería, estándares profesionales, oportunidades de prácticas profesionales o internados.
  4.     Balance entre teoría y práctica: es importante encontrar un balance adecuado entre materias teóricas y prácticas para asegurar que los estudiantes tengan una comprensión sólida de los conceptos fundamentales y al mismo tiempo desarrollen habilidades prácticas.

Con estas consideraciones en mente, a continuación se presenta un posible plan de estudios para estudiar ingeniería de sistemas en cuatro años:

Año 1


    Cálculo I
    Física I
    Química
    Matemáticas aplicadas
    Introducción a la ingeniería de sistemas

Año 2


    Cálculo II
    Física II
    Álgebra lineal
    Sistemas operativos
    Análisis de algoritmos

Año 3


    Cálculo III
    Física III
    Diseño de sistemas de información
    Seguridad de la información
    Proyecto de ingeniería de sistemas I

Año 4


    Electivas (2-3 materias)
    Proyecto de ingeniería de sistemas II
    Prácticas profesionales o internado

Este es solo un ejemplo de un posible plan de estudios para estudiar ingeniería de sistemas en cuatro años. Es importante tener en cuenta que los requisitos de grado y los planes de estudios pueden variar según la institución.

¿Cuáles son las características de un buen ingeniero de sistemas?

 Un buen ingeniero de sistemas debe tener las siguientes características:

  1.     Conocimientos técnicos: Un buen ingeniero de sistemas debe tener una sólida base de conocimientos técnicos en áreas como redes, sistemas operativos, bases de datos y programación.
  2.     Habilidades de resolución de problemas: Un ingeniero de sistemas debe ser capaz de analizar y resolver problemas de manera lógica y efectiva.
  3.     Comunicación efectiva: Un ingeniero de sistemas debe ser capaz de comunicar efectivamente tanto con colegas técnicos como con no técnicos, ya sea de manera oral o escrita.
  4.     Trabajo en equipo: Un ingeniero de sistemas debe ser capaz de trabajar en equipo y colaborar con otros miembros del equipo de TI para lograr los objetivos del proyecto.
  5.     Adaptabilidad: Un ingeniero de sistemas debe ser capaz de adaptarse a nuevas tecnologías y entornos de trabajo en constante cambio.
  6.     Habilidades de organización: Un ingeniero de sistemas debe ser capaz de organizar y planificar su tiempo y recursos de manera efectiva para completar los proyectos a tiempo.
  7. Habilidades de liderazgo: Un ingeniero de sistemas debe ser capaz de liderar y guiar a otros miembros del equipo de TI para lograr los objetivos del proyecto.
  8. Habilidades de aprendizaje continuo: Un ingeniero de sistemas debe estar dispuesto a aprender continuamente y mantenerse actualizado sobre las últimas tendencias y tecnologías en el campo.

¿Qué es la ingeniería de sistemas?

 La ingeniería de sistemas es un campo de la ingeniería que se centra en el diseño, la implementación y el mantenimiento de sistemas complejos. Un sistema es un conjunto de elementos interrelacionados que trabajan juntos para lograr un objetivo común. Los sistemas pueden ser de diferentes tipos, como sistemas mecánicos, eléctricos, informáticos o de producción.

La ingeniería de sistemas se ocupa de la integración de diferentes sistemas y de la optimización de su rendimiento. Los ingenieros de sistemas deben tener una comprensión profunda de cómo funcionan los diferentes sistemas y cómo se pueden integrar de manera efectiva. También deben tener habilidades en matemáticas y ciencias, así como en ingeniería y programación.

Los ingenieros de sistemas trabajan en una amplia variedad de industrias, incluyendo la aeroespacial, la automotriz, la informática, la energía y la manufactura. Pueden trabajar en proyectos de diseño y desarrollo, así como en la implementación y el mantenimiento de sistemas existentes. También pueden trabajar en la investigación y el desarrollo de nuevas tecnologías y sistemas.

¿Qué es Blogger?

 Sí, Blogger es una plataforma de blogging gratuita propiedad de Google. Se utiliza para crear y publicar blogs en Internet. Los usuarios pueden utilizar Blogger para compartir sus pensamientos, ideas y contenido con una audiencia global de forma sencilla y rápida.

Con Blogger, los usuarios pueden crear un blog con una dirección web personalizada, elegir una plantilla y comenzar a publicar contenido. Los usuarios también pueden utilizar la plataforma para personalizar la apariencia de su blog, agregar widgets y aplicaciones y utilizar herramientas de SEO para mejorar el posicionamiento de su blog en los motores de búsqueda.

Blogger es una plataforma popular y fácil de usar para aquellos que quieren comenzar a bloguear sin tener que preocuparse por la configuración y el mantenimiento de un servidor web. Es utilizado por personas y empresas de todo el mundo para crear blogs de diferentes temas y propósitos.

INGENIERÍA DE SOFTWARE - MODELOS DE DESARROLLO DE LOS PROCESOS DEL SOFTWARE Parte 3

Las metodologías según el grado de formalismo son:
1. Metodologías pesadas: Son las metodologías clásicas, los métodos de trabajo son muy formales. Conlleva realizar una gran carga de trabajo de gestión y generar una gran cantidad de documentación. Cascada y RUP.
2. Metodologías ágiles: Son las últimas en aparecer y se basan en dar respuestas a los problemas con los que se encuentran las metodologías tradicionales. Usan el concepto de adaptación a los requisitos que no se conocen en lugar de la predicción. Estrem Programming y Scrum.
Además un proceso de software es una serie de actividades relacionadas que conduce a la elaboración de un producto de software que incluye: desarrollo de software, mejoras y modificaciones de software existente, adaptación e integración de software (Sommerville, 2011, pg.28) las fases del proceso de software son: Requerimientos, diseño, programación, implementación, validación constante y evolución (Figura 2.3).

INGENIERÍA DE SOFTWARE - MODELOS DE DESARROLLO DE LOS PROCESOS DEL SOFTWARE Parte 2

1. Fases: en este elemento se marcan las diferentes actividades que se realizarán en cada fase.
2. Métodos: en este punto se identificará el modo en que se hace el proceso de desarrollo del producto software. Generalmente los procesos se descompone en tareas más pequeñas.
3. Técnicas y herramientas: indican cómo se debe resolver cada tarea y que herramientas podríamos usar.
4. Documentación: la documentación es importante para el desarrollo de cada fase, su función es indicar como se trabajó en cada proceso, después de una revisión exhaustiva podemos recoger los resultados y tomar decisiones de las situaciones que se plantearon.
5. Control y evaluación: el control y evaluación debe realizarse en todo el ciclo de vida de un proyecto. Consiste en comprobar, aceptar o rechazar todos los resultados que se vayan obteniendo en cada ciclo.

Podríamos realizar una clasificación de las metodologías:

1. Metodologías orientadas al flujo de información: El sistema se concibe como un conjunto de unidades que entran, se procesan y salen. Aplican los conceptos de la programación estructurada y fueron las primeras en aparecer. Diseño estructurado de “Yourdon”
2. Metodologías orientadas a objetos: Basado en la orientación de objetos. Se desarrollan alrededor del concepto clase. Rational unified Process.
3. Metodologías Híbridas: Son metodologías que abarcan más de una de las familias anteriores. No se centran en la naturaleza tecnológica del proyecto, sino en normalizar todos los desarrollos de software de una organización. Métrica versión 3 y SSADM.

INGENIERÍA DE SOFTWARE - MODELOS DE DESARROLLO DE LOS PROCESOS DEL SOFTWARE Parte 1

Para poder resolver los problemas reales que se presentan en una institución, el ingeniero de software o el equipo de ingenieros deben incorporar una estrategia de desarrollo, que acompañe al proceso, métodos y capas de herramientas.
Estas estrategias que elige el ingeniero de software se llama modelo de proceso o paradigma de ingeniería de software. Se selecciona un modelo de proceso para la ingeniería del software según la naturaleza del proyecto y de la aplicación, los métodos y herramientas a utilizarse, los controles y entregas que se requieren.
La metodología es una disciplina que no indica que métodos y técnicas debemos usar en cada fase del ciclo de vida de un proyecto.
Los elementos que forman parte de una metodología son:


INGENIERÍA DE SOFTWARE - INGENIERÍA DE SOFTWARE

La ingeniería de software es una disciplina de ingeniería que se interesa por todos los aspectos de la producción de software, desde la especificación del sistema hasta el mantenimiento del sistema después de que se pone en operación (Sommerville, 2011). Una disciplina hace que las cosas funcionen, con la aplicación de teorías, metodologías, métodos y herramientas, de manera adecuada. La producción de software incluye procesos técnicos de desarrollo de software, actividades de administración de proyectos software, desarrollo de herramientas, métodos y teorías para apoyar la producción de software.

El término de Ingeniería de Software fue introducido a finales de los 60 a raíz de la crisis de software (Figura 2.1). Esta crisis fue el resultado de la introducción de la tercera generación del hardware, que se caracterizó por: imprecisión en la planificación de proyectos software, baja calidad de software y difícil mantenimiento de software no estructurado.

El Instituto de Ingeniería Eléctrica y Electrónica define Ingeniería del Software como un enfoque sistemático, disciplinario y cuantificable para el desarrollo, operación y mantenimiento del software de calidad.
El enfoque sistemático que se usa en la ingeniería de software se conoce como el proceso de software, que es una secuencia de actividades que conducen a la elaboración de un producto software (Sommerville, 2011, pg.9), son cuatro las actividades fundamentales en el proceso de software:
a) Especificación del software, donde clientes e ingenieros definen el software que se producirá y las restricciones en su operación.
b) Desarrollo del software, donde se diseña y programa el software “codificación”.
c) Validación del software, donde se verifica el software para asegurar que sea lo que el cliente requiere.
d) Evolución del software, donde se modifica el software para reflejar los requerimientos cambiantes del cliente y del mercado.