Captura

Ingeniería de Software

  • Introducción de los sistemas

    Introducción de los sistemas
    Antes del surgimiento de la ingeniería de software no se manejaban lenguajes de programación en el cual se basaran para la creación de programas eficientes en aquella época por lo tanto la utilización de código de maquina era la prioridad en su momento.
  • ¿La informática?

    ¿La informática?
    A principios de esta década la importancia del software no era tan relevante de como lo eran sistemas de hardware que se implementaba en la mayoría de tecnologías en aquella época, además de que el coste del hardware era mucho mayor.
    Cabe recalcar que en ocasiones diseño del software correspondía a las mismas personas que realizaban el hardware.
  • Lenguaje Ensamblador

    Lenguaje Ensamblador
    El lenguaje ensamblador, o Assembly Language en inglés fue el primer intento en la búsqueda de un sustituto más sencillo de comunicarse de forma directa con el hardware de un dispositivo.
    Este tipo de lenguajes actúan como conversores, ya que los dispositivos utilizan el lenguaje binario, y el programador un lenguaje de programación más flexible y sencillo de usar. Este es llamado lenguaje de alto nivel.
  • Crisis del Software

    Crisis del Software
    Se comienza a ver evidente que el software tiende a ser bastante diferente al hardware por lo que es tratado de manera diferente. Las conferencias de la OTAN en 1968 y 1969, se analizó la “crisis del software”, y se plantearon ideas fundamentales como “reutilización” o “arquitectura software”. Pero el enfoque de este sistema aún no se implementaba, la ingeniería software buscaba la planificación de proyectos, buena calidad del software, bajos costos y facilidad de mantenimiento.
  • El surgir del concepto

    El surgir del concepto
    Su nacimiento “oficial”. Normalmente, se considera que la ingeniería de software tuvo su origen histórico en esta conferencia del comité científico de la OTAN el año 1968 (aunque también hay quién dice que el término ya se usaba antes). El origen exacto del término “Ingeniería de Software” es más discutido, pero el consenso actual es que fue popularizado por Margaret Hamilton cuando estaba trabajando en el desarrollo del software de navegación para el Programa Espacial Apolo.
  • WaterFall

    WaterFall
    En la década de 1970, se produjeron avances importantes en la ingeniería de software. Se crearon varios modelos de ciclo de vida de software, como el modelo de cascada, que estableció un enfoque secuencial para el desarrollo de software, y el modelo de prototipos, que se centró en la iteración y el desarrollo incremental.
  • Ingeniería madura

    Ingeniería madura
    En la década de 1980, la ingeniería de software comenzó a madurar como disciplina. Se desarrollaron nuevas técnicas para la gestión de proyectos de software, como la programación estructurada y el diseño estructurado, que se centraron en la modularidad y la claridad del código. Además, se crearon nuevas metodologías de desarrollo de software, como el desarrollo de software en equipo (TDD) y el desarrollo ágil, que se centraron en la iteración y la entrega rápida de software.
  • Patrones de diseño de software

    Patrones de diseño de software
    Se publica el libro "Design Patterns: Elements of Reusable Object-Oriented Software.
    El libro describe un conjunto de patrones de diseño que se utilizan para resolver problemas comunes en el diseño de software orientado a objetos.
    Los patrones de diseño ayudan a los diseñadores de software a resolver problemas de diseño comunes de manera efectiva y eficiente, y a crear un software que sea más fácil de entender, modificar y mantener.
  • Software de alta calidad

    Software de alta calidad
    Se publica el libro "Cleanroom software engineering" de Harlan D. Mills.
    La metodología se basa en la idea de que la calidad del software se puede mejorar mediante la eliminación de errores durante el proceso de desarrollo. El objetivo principal de la metodología es producir software de alta calidad y confiable que cumpla con los requisitos del cliente.
  • ¿Inteligencia artificial?

    ¿Inteligencia artificial?
    La ingeniería de software comenzó a incorporar técnicas de inteligencia artificial y aprendizaje automático. Se crearon nuevos lenguajes de programación, como Java, que permitieron la creación de software a gran escala. Además, la ingeniería de software comenzó a enfocarse en la calidad del software y se establecieron nuevos estándares de calidad.
  • Java, un nuevo concepto

    Java, un nuevo concepto
    Los orígenes de Java se remontan a un proyecto de investigación en Sun Microsystems, donde se buscaba crear un lenguaje de programación que pudiera ser utilizado en una amplia gama de dispositivos y sistemas operativos. El equipo liderado por Gosling se enfocó en desarrollar un lenguaje que fuera simple, seguro y portátil.
  • El "Boom" de los años 2000

    El "Boom" de los años 2000
    La ingeniería de software después de los años 2000 ha evolucionado significativamente, impulsada en gran medida por el aumento de la tecnología y la digitalización en todos los aspectos de nuestra vida.
  • Metodologías ágiles

    Metodologías ágiles
    Las metodologías ágiles son un enfoque de gestión de proyectos y desarrollo de software que se basa en la colaboración, la flexibilidad y la entrega continua de valor al cliente.
    Algunas de las metodologías ágiles más conocidas incluyen Scrum, Kanban, Extreme Programming (XP), Crystal y Lean, entre otras. Aunque cada una de estas metodologías tiene sus propias características y prácticas específicas, comparten ciertos principios fundamentales en la gestión de un objetivo claro y detallado.
  • "Refactoring: Improving the Design of Existing Code"

    "Refactoring: Improving the Design of Existing Code"
    "Refactoring: Improving the Design of Existing Code" es un libro escrito por Martin Fowler, un reconocido experto en desarrollo de software y uno de los autores del Manifiesto Ágil.
    El libro se centra en el proceso de refactoring, que es una técnica de desarrollo de software para mejorar la calidad del código existente sin cambiar su comportamiento externo. El objetivo del refactoring es mejorar la legibilidad, la mantenibilidad y la escalabilidad del código.
  • Google desarrollador de software

    Google desarrollador de software
    Google introduce su framework interno de desarrollo de software, conocido como Google Test Automation Conference (GTAC), que más tarde se convierte en la Conferencia de Automatización de Pruebas y Desarrollo de Software (STAREAST).
  • Cloud Computing

    Cloud Computing
    El concepto moderno de Cloud Computing surgió en la década de 2000, cuando las empresas comenzaron a darse cuenta del potencial de ofrecer servicios informáticos bajo demanda a través de Internet.
    Uno de los primeros proveedores de servicios en la nube fue Amazon Web Services, que lanzó su servicio de almacenamiento en la nube en 2006. Desde entonces, el Cloud Computing ha crecido y evolucionado significativamente.
  • AngularJS La simplificación

    AngularJS La simplificación
    AngularJS es un marco de trabajo (framework) de JavaScript de código abierto que se utiliza para crear aplicaciones web de una sola página.
    AngularJS se centra en la creación de aplicaciones web dinámicas y altamente interactivas, lo que permite a los desarrolladores construir aplicaciones enriquecidas de una manera más eficiente y modular.
  • Ciberseguridad y ingeniería de software

    Ciberseguridad y ingeniería de software
    Con el transcurrir de los años las nuevos avances de la tecnología el cual iban en un crecimiento exponencial también fue muy importante llevar a cabo la seguridad de los datos, claro, esto se fue implementado muchos años atrás pero al ver la gran demanda de ataques cibernéticos fue importante la programación sistemática de tecnologías de protección.
  • Microsoft y Visual Studio Code

    Microsoft y Visual Studio Code
    Visual Studio Code es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) de código abierto, multiplataforma y gratuito, que se utiliza para escribir, depurar y desarrollar aplicaciones de software. Fue lanzado por primera vez en abril de 2015 y ha ganado popularidad entre los desarrolladores de software debido a su facilidad de uso, su integración con una variedad de lenguajes de programación y sus características de personalización.
  • La nube y sus ventajas

    El uso de la nube se convierte en una práctica común en el desarrollo de software, lo que permite a los equipos de desarrollo colaborar y entregar software más rápidamente.
  • Covid 19 (Trabajo remoto) Nuevos retos

    Covid 19 (Trabajo remoto) Nuevos retos
    La pandemia de COVID-19 acelera la adopción del trabajo remoto y el uso de herramientas de colaboración en línea para el desarrollo de software.
    La inteligencia artificial (IA) y el machine learning (ML) se convierten en áreas de enfoque clave en la ingeniería de software, y la demanda de ingenieros de software especializados en IA y ML aumenta significativamente.
  • Ingeniería de Software

    Ingeniería de Software
    Al día de hoy la interpretación del software es dada como una herramienta de producción, operación y mantenimiento.
    Producción: Se aplican métodos de planificación, teorías y herramientas de desarrollo.
    Operación: Se acoge un enfoque sistemático y organizado.
    Mantenimiento: Se implementa métodos en el que haya un soporte, manual y pasos que faciliten el sostenimiento del software.
    En general se busca implementar todas estas especificaciones en cada proceso informático(TIC).