Buscador

Guía rápida: ¿Cómo aplicar la ingenieria del software?. Definiciones + ejemplo práctico.

Tema 1: ¿Qué es?

La ingenieria del software, es el conjunto de elementos que son aplicados en la producción de productos y servicios de software. Una vez diligenciado cada elemento estaremos generando los siguientes beneficios:

* Generar productos de software con altos estándares de calidad.

* Apoyar en mantener una relación sincronizada entre la arquitectura de negocio y la arquitectura de la aplicación.

* Tener productos de software fáciles de escalar.

Las buenas prácticas para materializar los beneficios enunciados, son las siguientes:

* Establecer una comunicación clara y efectiva para definir y formalizar el alcance del producto de software con el usuario, los proveedores, el equipo y la dirección.

* Establecer con el cliente, el equipo y los proveedores las características que debe cumplir la documentación del software a nivel de proyecto y producto.

* Establecer con el cliente, el equipo y los proveedores el proceso de calidad y ejecución de las pruebas para garantizar la puesta en producción de los productos.

* Establecer dentro del flujo del producto y ciclo de vida de desarrollo los elementos que serán automatizados para incrementar la eficiencia.

* Establecer con el cliente, el equipo y los proveedores el proceso para mantener el producto de software en producción y la forma como debe evolucionar sincronizando la arquitectura del negocio con la arquitectura de la aplicación para generar mejora continua.

* Establecer con el equipo la forma de integrar tecnologías y mantener el producto de software actualizado.

* Las condiciones para aplicar correctamente las buenas prácticas enunciadas, se explican en pre-condiciones y post-condiciones.

Tema 2: Glosario.

Herramientas para la ingenieria de sistemas.

HerramientaDescripción
UML: Diagrama de caso de usoEs una representación visual que permite realizar el levantamiento de requerimientos de una manera abstracta para ser socializada con el usuario y realizar las correcciones respectivas antes de comenzar su implementación.
UML: Diagrama de clasesEs una representación visual que permite identificar las clases del sistema, sus atributos, métodos, y las relaciones entre objetos.
UML: Diagrama de objetosEs una representación visual que permite identificar para cada objeto sus métodos y atributos los cuales serán transformados en código fuente dentro de una aplicación de software.
UML: Diagrama de paquetesEs una representación visual que permite agrupar y organizar todos los elementos del sistema de software.
UML: Diagrama de secuenciaEs una representación visual que permite identificar la transmisión de datos entre los objetos dentro de un escenario del software.
UML: Diagrama de estructura compuestaEs una representación visual que contiene los detalles de un objeto y su relación con propiedades para producir un comportamiento.
UML: Diagrama de estadosEs una representación visual que permite identificar el comportamiento de los objetos cuando se encuentran en ejecución en un momento o escenario especifico.
UML: Diagrama de actividadesEs una representación visual que permite identificar las reglas de negocio o validaciones que se realizará dentro de un caso de uso y su definición a clases y métodos dentro del sistema.
UML: Diagrama de componentesEs una representación visual que permite identificar la colección de funciones y artefactos de un componente de software que tiene una responsabilidad única previamente definida.
UML: Diagrama de despliegueEs una representación visual que permite identificar los artefactos de software que requiere una aplicación para su correcto funcionamiento.
Programación estructuradaEs una forma de construir código fuente utilizando únicamente subrutinas y funciones.
Programación modularEs una forma de construir código fuente orientado a implementar funcionalidades de forma organizada para dividir un producto de software.
Programación orientada a objetosEs una forma de construir código fuente promocionando la reutilización de código y optimización del tiempo en el proceso de implementación de un software.
Programación orientada a eventosEs una forma de construir código fuente, cuyo objetivo es generar instrucciones especificas para soportar la acción que realiza un usuario en un objeto visual del software.
Los comandos básicos SQLEs el conjunto de palabras reservadas dentro del lenguaje SQL para realizar operaciones básicas de transacción con los datos, filtrar los datos haciendo uso de operadores lógicos y realizar operaciones matemáticas.
Los comandos de estructura SQLEs el conjunto de palabras reservadas dentro del lenguaje SQL para realizar operaciones que permitan construir el modelo de datos.
Los comandos avanzados SQLEs el conjunto de palabras reservadas dentro del lenguaje SQL que permite relacionar entidades y tablas de la base de datos para realizar operaciones con los datos.
El plan de arquitectura de softwareEs una estrategia que tiene como objetivo, la definición del diseño, estructura y comportamiento del software.
El plan escritura del código fuenteEs una estrategia que tiene como objetivo, la definición y relación de los patrones de diseño de programación que serán utilizados durante la implementación de un software.
El patrón de diseño de software: Factory methodEs una técnica que tiene como objetivo, implementar una clase haciendo uso de subclases y agrupando los métodos de la clase entre las subclases creadas.
El patrón de diseño de software: SingletonEs una técnica que tiene como objetivo, que una clase solo pueda construir e instanciar un objeto.
El patrón de diseño de software: ObserverEs una técnica que tiene como objetivo, establecer una comunicación entre objetos, para que entre ellos conozcan su cambio de estado.
El patrón de diseño de software: StrategyEs una técnica que tiene como objetivo, establecer el estándar que debe cumplir los objetos para intercambiar mensajes.
El patrón de diseño de software: AdapterEs una técnica que tiene como objetivo, el trabajo conjunto de clases que no son compatibles entre sí.
El patrón de diseño de software: BuilderEs una técnica que tiene como objetivo, organizar y simplificar las clases complejas del software para generar objetos fáciles de usar.
El patrón de diseño de software: StateEs una técnica que tiene como objetivo, el cambio de comportamiento de un objeto tomando como referencia su estado actual.
El diccionario de datosEs un documento en donde se relaciona las tablas con sus campos y estructura dentro de la base de datos con el objetivo de negocio.
UML: Diagrama de tiemposEs una representación visual que permite identificar la duración de transmisión de datos entre los objetos dentro de un escenario del software.
UML: Diagrama de colaboraciónEs una representación visual que permite identificar las relaciones e interacciones entre objetos de software.
El plan de mantenimiento del softwareEs una estrategia que tiene como objetivo, la definición de procesos para garantizar la operatividad y escalamiento del software en ambiente productivo.
El plan de calidad del softwareEs un documento que define los estándares, procedimientos y responsabilidades para asegurar la entrega de un producto que satisfaga las expectativas de los usuarios y las partes interesadas.

Tema 3: Sobre el autor.

Juan David López Pava: Profesional en administración de empresas y desarrollo de software con certificaciones del PMI y Scrum Institute, apasionado por la transformación digital y la dirección de proyectos de tecnología.

Políticas de uso y privacidad