Ingeniería de Software y Arquitectura de Software

Last updated on October 28, 2025 8:02 pm
Category:

Description

What you’ll learn

  • Introducción a Ingeniería de Software
  • Meta, objetivos y alcance de ingeniería de software
  • Deuda tecnica
  • Software de legado
  • Ciclo de vida del proyecto
  • Metodologías tradicionales (Cascada, Cascada Incremental, Métodos formales ,etc)
  • Metodologías Agiles( Scrum, Kanban , XP, etc)
  • Principios del proceso de ingeniería de software
  • Ingeniería de requisitos
  • Diagramas UML(Casos de uso, historias de usuario, diagramas de estado , diagramas de flujo , etc)
  • Organizaciones de estandarización(IEEE, ISO)
  • Especificación de requerimientos según el estándar IEEE 830
  • Requerimientos funcionales y no funcionales
  • Arquitectura de Software( Diseño de la arquitectura, interfaz y componentes)
  • Reglas de oro en el diseño de interfaces
  • Principios SOLID para el diseño de componentes
  • Principios de Jacob Nielsen para el diseño de paginas web
  • Practicas de diseño limpio
  • Gestión de riesgos
  • Plan de riesgos
  • Software testing ( pruebas unitarias, pruebas de integración, pruebas de sistema, pruebas de caja negra, pruebas de caja blance, etc)
  • Calidad y modelos de calidad
  • Documentación de proyecto(Plan General, especificación de requerimientos, temporización , gestión de riesgos , plan de pruebas)
  • Introducción a JIRA
  • Introducción a Star UML
  • Introducción a Github
  • Introducción a figma
  • focus group
  • Revisiones tecnicas
  • SQA, QA, ACS
  • Métricas de usabilidad, confiabilidad y disponibilidad
  • Plan de pruebas según el estándar IEEE 29118

Este curso esta diseñado para que aprenda las bases como ingeniero de Software para crear productos de alta calidad. Este curso cimenta las bases para que pueda liderar equipos de trabajo y distinguirse de ingenieros que si bien saben como codificar e implementar la solución desconocen las herramientas necesarias para llevar adelante un proyecto teniendo en cuenta la satisfacción final del cliente y los usuarios finales que utilizaran la aplicación. ¿Cómo creo un software de calidad?,¿Como puedo construir una aplicación atractiva para el usuario final?.

Para este programa no es necesario que conozca como programar dado que se aborda la programación desde la teoría teniendo su eje central en el ciclo de vida del proyecto , metodologías de desarrollo , técnicas y principios para el diseño limpio de código y aplicaciones , diagramas UML para el desarrollo del modelado del proyecto , especificación de requerimientos , gestión de riesgos, software testing , documentación y herramientas imperativas que como programador usted necesitara conocer cuando trabaje en la industria.

Ventajas de aprender sobre ingeniería de software:

1)La ingeniería de Software es una disciplina que se centra en crear software de muy alta calidad , diferenciándolo de un programador y técnico cuya área se centra en la implementación de código. Si bien todo programador puede crear un programa esto no significa que lo haga bien , ¿Cómo saber si su producto es de calidad?.¿Cómo minimizo los costos y tiempos de desarrollo?, ¿Qué técnicas puedo utilizar para este propósito?, ¿De que forma organizo mis avances en el proyecto?

2)Recabación de requisitos. Si bien la mayoría de los programadores tienden a querer programar de forma directa los requerimientos de un cliente o sus propias ideas esto por norma general es una mala practica. Todo proyecto tiene un ciclo de desarrollo que guía las actividades que usted debe realizar para optimizar el desarrollo , disminuir costos y minimizar errores. Si usted intenta implementar un sistema sin una correcta planificación corre el enorme riesgo de omitir características importantes en su proyecto y deba dar vuelta atrás cuando ya lleva una parte importante de su trabajo y deba o bien reestructurar código que ya había comenzado o bien comenzar desde cero, ¿No le resulta esto costoso?, ¿No hay formas mas eficientes de lograr lo que quiero?,¿No seria mas fácil detectar mis errores y tomaría menos tiempo planificando y modificando mi planificación antes de haber escrito código?.

3)Diseño de la arquitectura , interfaz y de componentes. Usted puede crear el mejor Software del mundo con las mejores funcionalidades para la problemática que desea solucionar. No obstante si usted crea un sistema poco atractivo , difícil de entender para el usuario , con problemas de rendimiento y en definitiva con problema en la usabilidad poco importara si su proyecto es el mejor del mundo. Si otro programa es mas simple de utilizar y mas atractivo , resuelve su mismo problema , incluso si esa aplicación no es tan buena como la suya el usuario optara por dicha solución y escogerá su competencia en lugar de su aplicación. ¿Cómo creo un software atractivo para el usuario final?,¿Que aspectos debería considerar para mejorar la interfaz de usuario?,¿Que debería considerar para mejorar la experiencia de usuario y por ende su satisfacción al utilizar mi aplicación para que me recomiende a otros usuarios?

4)Gestión de riesgos. En todo proyecto de Software existen riesgos asociados, no es posible , al menos en proyectos serios de mediana o gran envergadura construirlos de una sola vez. Incluso el mejor programador comete errores. La cuestión es como puedo minimizar los errores, establecer planes de contingencia, monitoreo y mitigación para los proyectos. La ingeniería de Software es una diciplina que lo distingue del resto centrándose en la calidad de los productos finales. Sin este conocimiento es muy probable que cree software sin un proceso de desarrollo estructurado , genere directamente el código y por ende la posibilidades de integrar errores en sistema incrementa en forma exponencial. Esta disciplina integra otras diciplinas como Software Testing para desarrollar planes de prueba para la identificación de errores antes que terminar el producto final.

5)Minimización de costos y optimización del tiempo de desarrollo. Si bien es posible desarrollar código sin un proceso de desarrollo planificado , es extremadamente probable que introduzca errores en el producto que ofrecerá, problemas en la planificación de actividades, responsabilidades en el equipo de trabajo, problemas en los tiempos estimados de desarrollo , problema en el diseño , los requerimientos que había pensado o en el propio código. Si usted no contempla buenas practicas de desarrollo no solo desperdiciara tiempo sino que será mas costoso el proyecto dada la necesidad de volver atrás mas de lo necesario para la corrección de estos errores.

En este curso aprenderá una fuerte base teórica del proceso de desarrollo de software de calidad, consejos de desarrollo y algunos ejemplos prácticos para que aprenda a llevar a cabo adelante el proyecto con herramientas y documentación adecuada tanto para usted como para el cliente, veremos lo siguiente:

1)introducción a ingeniería de Software , meta , objetivos y alcance

2)¿Qué es la deuda técnica?

3)¿Qué es el Software de legado?

4)Ciclo de vida del proyecto

5)Metodologías de desarrollo tradicionales

6)Metodologías de desarrollo Ágil

7)Técnicas para la captura de requisitos

8)Especificación de requerimientos según el estándar IEEE 830

9)Diagramas UML para el modelado de la aplicación

10)Diseño de la arquitectura de Software

11)Diseño de la interfaz de usuario

12)Diseño de los componentes del sistema

13)Principios para el desarrollo de software

14)Principios SOLID

15)Principio para el desarrollo limpio de aplicaciones

16)Principios de código limpio

17)Principios de Jacob Nielsen para el desarrollo de paginas Web e interfaces atractivas

18)Gestión de riesgos

19)Definición de riesgos y tipos de riesgos en un proyecto

20)Plan de pruebas

21)Pruebas y macro tipos

22)Pruebas de caja negra y caja blanca

23)Requisitos funcionales y no funcionales en un proyecto

24)Tipos de prueba unitarias , de integración, de sistema , etc

25)Documentación del proyecto

26)Plan general del proyecto

27)Especificación de requerimientos

28)Temporización

29)Como documentar la gestión de riesgos y plan de pruebas

30)Herramientas útiles para el desarrollo de Software; JIRA, Star uml, figma, etc

31)Técnicas para la recabación de requerimientos

32)Revisión técnica

33)Técnicas para la obtención de métricas y mejoramiento del producto

34)Focus Group

35)Eso y mas

Who this course is for:

  • Este curso va destinado a toda persona que desee profundizar sus conocimientos en la ingeniería de Software, gestión de procesos , flujo de trabajo ,utilizando practicas recomendadas de la industria. Aquí aprenderás desde 0 como se desarrolla un producto de Software dentro de un equipo de desarrollo, como construir productos de calidad de la manera más eficiente y optima, reduciendo costos optimizando el flujo de trabajo. Tocaremos temas relacionados a la captura de requerimientos del cliente , documentación asociada al proceso, diseño de la arquitectura , interfaz y componentes del sistema a travez de diagramas UML , gestión de riesgos en el desarrollo y plan de pruebas para velar por la calidad del producto final,

Reviews

There are no reviews yet.

Be the first to review “Ingeniería de Software y Arquitectura de Software”

Your email address will not be published. Required fields are marked *