https://drive.google.com/file/d/1vq1m5oSQjqxqHIXecuW5KdLE26CWdIn3/view?usp=drive_link
Ingeniería de Sistemas y Computo - Recursos Académicos.
Desarrollo de Software & Standard industrial UML
martes, 24 de febrero de 2026
viernes, 9 de octubre de 2020
Ciencia de los Algoritmos vs Desarrollo de Software.
La Ciencia de los Algoritmos.
Antecedente Histórico.
Joyanes (2008),1 define al Algoritmo como un método para resolver un problema. Aunque la relevancia del término ha llegado con el advenimiento de la era informática, la palabra Algoritmo proviene de Mohammed Al-Khwârizmi (nombre árabe: محمد بن موسی خوارزمی), matemático persa que vivió durante el siglo IX y alcanzó gran reputación por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir números decimales. La traducción al latín del apellido en la palabra Algorismus derivó posteriormente en Algoritmo. Señala, que Euclides, matemático griego (del siglo IV a.C.) quien inventó un método para encontrar el máximo común divisor de dos números, se considera con Al-Khwârizmi el otro gran padre de la Algoritmia (Ciencia que trata de los Algoritmos).
1. JOYANES AGUILAR, Luis. Fundamentos de programación. Algoritmos, estructura de datos y objetos. 4ta Edición. Editorial Mc Graw Hill. España. 2008. 751 pp.
¿Qué es un Algoritmo ?
Un algoritmo se puede definir como un método para solucionar problemas. Esta basado en un conjunto de instrucciones que representan un modelo de solución para determinado tipo de problemas.Algoritmo: "Conjunto de instrucciones que realizadas en orden, conducen a obtener la solución de un problema".
En la ciencia de la Computación, los Algoritmos son mas importantes que los lenguajes de Programación o incluso que las computadoras. Un Lenguaje de programacion es solo un medio para expresar un algoritmo y una computadora es solo un dispositivo electrónico para ejecutarlo. Joyanes (2008).
Diseño de Algoritmos: Primero los planos, luego la construcción.
Desde la perspectiva de la Tecnología de la Información (TI), los Algoritmos son programas o soluciones tecnológicas, pero totalmente independientes de los lenguajes de programación. "Detrás de cada programa escrito para una computadora, hay un algoritmo".
Metodología de la Programación.
En la Ingeniería de Software, el Diseño de algoritmos exige del desarrollador de aplicaciones, sentido común, creatividad y conocimiento de los fundamentos de la Metodología de la Programación:
La construcción de Software de nuestros días, requiere de cuatro (04) modelos metodológicos, en orden evolutivo:
Metodología de la Programación.
En la Ingeniería de Software, el Diseño de algoritmos exige del desarrollador de aplicaciones, sentido común, creatividad y conocimiento de los fundamentos de la Metodología de la Programación:
La construcción de Software de nuestros días, requiere de cuatro (04) modelos metodológicos, en orden evolutivo:
1. Programación Imperativa, que incluye:
1.1. Programación Estructurada.1.2. Programación Modular.1.3. Programación Orientada a Objetos.
2. Programación Declarativa, que incluye:
2.4. Programación Funcional (Haskell)
En un entorno de trabajo, sea industrial, comercial o cualquier negocio de bienes o servicios, existen un conjunto de procesos de negocio de distinta naturaleza, producción, logística, financiera, contable, etc. y muchos de ellos son candidatos a ser automatizados, y potencialmente convertirse en una propuesta de solución tecnológica. Este conjunto de propuestas constituyen los problemas de domino del negocio.
En consecuencia, seleccionado el problema de dominio, emprendemos un proyecto de desarrollo de software, o ciclo de desarrollo:
Análisis, Diseño e implementación de Algoritmos.
¿Por donde empezar?
- Lo Primero, ¿Cuál es el Problema de Domino?
- luego iniciar, estas fases mínimas de desarrollo.
1. Análisis. Definición del problema de dominio.
1.Casos de uso: Narrativas del uso del sistema
a. Definir proceso(s):
a. Definir proceso(s):
- describir sus elementos
b. Especificar reglas de negocio (OCL)*
b. Especificar reglas de negocio (OCL)*
c. Especificar las Entradas y Salidas.
2. Diseño del algoritmo. Propuesta de solución informática.
2.a. Especificación AS&ST-Notation.(Algorithmic Specification & Static Type Notation)**
2.b. Especificación UML (Activity Diagram - Class Dagram)***
3. implementación del algoritmo. Convertir el algoritmo a código fuente de lenguaje de programación.
Seleccionar lenguaje de programación: C / C++, Javascript, Python, etc
Comprobación y depuración
Pruebas o test de software****
4. Referencias: Stack Tecnologico
* OCL - Object Constraint Languaje (IBM)
** Especificaciones de lenguaje algorítmico AS&ST-Notation v.1.0.
*** OMG/UML - Unified Modeling Language
**** QA - Unit Testing.
Suscribirse a:
Entradas (Atom)