Está en la página 1de 4

CUARTO CONGRESO DE INGENIERIA EN SISTEMAS

Historia de la Programación

La programación informática es el arte del proceso por el cual se limpia, codifica,


traza y protege el código fuente de programas computacionales, en otras palabras,
es indicarle a la computadora lo que tiene que hacer.

Generaciones de lenguaje de programación

1. Lenguajes de primera generación: Lenguaje de bajo nivel que son lenguaje


de máquina. Ejem: 1010011
2. Lenguaje de segunda generación: Lenguaje de bajo nivel que
generalmente consisten en lenguajes ensamblados.
3. Lenguaje de tercera generación: Son idiomas que consisten en
declaraciones similares a las declaraciones en un lenguaje humano.
4. Lenguaje de Cuarta generación: Se usan comúnmente en la programación
de bases de datos y scripts.
5. Lenguaje de quinta generación: Son lenguajes de programación que
contienen herramientas visuales para ayudar a desarrollar un programa. Un
buen ejemplo de un lenguaje de quinta generación en Visual Basic.

Evolución de la programación

La programación en sus inicios se reducía a la elaboración de pequeños


programas que cumplían funciones específicas, hoy en día aun conocidos como
comandos. Los programas pasaron de ser personales a públicos.

Programación Modular: Es la evolución de la programación empleando un


código más complejo y fabricando rutas de ejecución por medio de
subprogramas.

Desarrollo de las grandes aplicaciones

Se requiere un equipo de trabajo, al mismo tiempo que podría requerir el uso de


uno o varios lenguajes y técnicas de programación, pasando por una estructura
monolítica hasta una estructura de micro servicios.
Control de versiones

Surgieron los servicios de control de versiones, dentro de los más conocidos


están:

➢ Git (No GitHub): Es una de las herramientas de control de versiones


disponibles en el mercado actual. Es un modelo de repositorio distribuido
compatible con sistemas y protocolos existentes como HTTP, FTP, SSH
y es capaz de manejar eficientemente proyectos pequeños a grandes.

➢ CVS: Es un modelo de repositorio cliente-servicio donde varios


desarrolladores pueden trabajar en el mismo proyecto en paralelo.

➢ Apache Subversión (SVN): Es un modelo donde los directorios están


versionados junto con las operaciones de copia, eliminación, movimiento
y cambio de nombre.

➢ Mercurial: Es una herramienta distribuida de control de versiones que


está escrita en Python y destinada a desarrolladores de software. Los
sistemas operativos que admite son similares a Unix, Windows y macOS.
Tiene un alto rendimiento y escalabilidad con capacidades avanzadas de
ramificación y fusión y un desarrollo colaborativo totalmente distribuido.

➢ Monotone: Está escrito en C++ y es una herramienta para el control de


versiones distribuido. El sistema operativo que admite incluye, Unix,
Linux, BSD, MacOS X y Windows. Brinda un buen apoyo para la
internacionalización y localización.
Produce Software con calidad

Una visita al pasado puede mostrar fallos, causados por errores, de software que
han desencadenado pérdidas humanas y económicas.

➢ 1962 Mariner: Fue una mala transcripción de un código y omisión de un US


$18.5M.

➢ 1982 THERAC-25: Error de software, sobredosis de radiación. 3 pacientes


murieron.

➢ 1994 Pentium: Errores en la división de números con flotante. 5 millones de


unidades.

➢ 2007 Aeropuerto de los Ángeles: Tarjeta de red deficiente. 17,000


personas afectadas.

➢ 2012 Knight Capital: Fallo en el software de transacciones automáticas.


US$500 M en 45 minutos.

SDLC (Software Development Life Cycle)


Contiene fases de desarrollo de software que son:

➢ Formación de Planeación
➢ Análisis de Diseño
➢ Construcción, Pruebas
➢ Despliegue, Post implementación.

Son un conjunto de actividades planificadas que aseguran el proceso de software,


con relación a la calidad, correcta implementación de los procesos, requerimientos
y estándares.
Sus principales actividades eran revisar y verificar, descubrir errores, asegurar
requisitos, validar desarrollo uniforme basado en metodologías y poder aportar en
la dirección del proyecto.

Ya que garantiza alta capacidad en ejecución de proyectos con menores costos y


una optimización de recursos.

Tipos de pruebas

Pruebas funcionales: Verifican cada función de una aplicación o software, su


funcionalidad con un conjunto específico de requisitos.

Pruebas no funcionales o pruebas de rendimiento: Consideran parámetros


como la confiabilidad, la usabilidad y el rendimiento.

También podría gustarte