Está en la página 1de 13

“Imagination will often carry us to worlds

that never were. But without it we go


nowhere. “

“La imaginación nos suele llevar a


mundos en los que nunca hemos estado.
Pero sin ella, no iríamos a ningún sitio.”

Carl Sagan
Ingeniería de Software II
Lenguajes de Programación
Diego Fernando Bustos A.
Especialista en Construcción de software
Universitaria de Colombia
Agenda

 Fases de la construcción de software.


 Instrumentos de la construcción de software.
 Metodologías.
 Características de un Lenguaje de Programación
 Lenguajes de Programación.
Fases de la construcción de software.

 Requisitos
 Análisis
 Diseño
 Codificación
 Prueba
 Despliegue
 Mantenimiento
Instrumentos de la construcción de software.

 Requisitos
 Diseño Funcional
 Análisis
 Casos de Uso
 Prototipos – Mapas de Navegación
 Procesos (BPM)
 Diseño
 Plantillas de diseño
 Diccionarios de datos
Instrumentos de la construcción de software.

 Codificación
 Código Fuente
 Listas de verificación de codificación
 Pruebas unitarias
 Repositorio de fuentes
 Prueba
 Set de Pruebas
 Evidencias
 Despliegue
 Lista de actividades de despliegue
 Mantenimiento
 Mesa de ayuda
 Base de Conocimiento
 Controles de Cambio
Metodologías
1970
Programación estructurada sol desde 1969
Programación estructurada Jackson desde 1975
1980
Structured Systems Analysis and Design Methodology (SSADM) desde 1980
Structured Analysis and Design Technique (SADT) desde 1980
Ingeniería de la información (IE/IEM) desde 1981
1990
Rapid application development (RAD) desde 1991.
Programación orientada a objetos (OOP) a lo largo de la década de los 90's
Virtual finite state machine (VFSM) desde 1990s
Dynamic Systems Development Method desarrollado en UK desde 1995.
Scrum (desarrollo), en la última parte de los 90's
Rational Unified Process (RUP) desde 1999.
Extreme Programming(XP) desde 1999
Nuevo milenio
Enterprise Unified Process (EUP) extensiones RUP desde 2002
Constructionist design methodology (CDM) desde 2004 por Kristinn R. Thórisson
Agile Unified Process (AUP) desde 2005 por Scott Ambler
Metodologías
Enfoques de desarrollo de Software
 Modelo en cascada: Framework lineal.
 Prototipado: Framework iterativo.
 Incremental: Combinación de framework lineal e iterativo.
 Espiral: Combinación de framework lineal e iterativo.
 RAD: Rapid Application Development, framework iterativo.
Metodologías

 Metodologías Robustas
 Seguimiento a cada fase
 Formalidad
 Control
 Incremento en tiempo en el ciclo de construcción
 Facilidad en el mantenimiento
 Metodologías Agiles
 Trabajo en Pares
 Baja formalidad
 Trabajo por tiempo
 Menor tiempo en el ciclo de construcción
 Mayor complejidad en el mantenimiento
Características de un lenguaje de Programación

 1. Expresividad: Facilidad del lenguaje para expresar los algoritmos


 2. Bien Definido: Consistencia y falta de ambigüedad
 3. Tipos y estructuras de datos
 4. Modularidad: permitir el desarrollo de componentes independientemente
 5. Facilidades de entrada-salida: Soporte para interacción con el entorno
 6. Transportabilidad/Portabilidad
 7. Eficiencia/Performance
 8. Pedagogía: Facilidad de aprendizaje y enseñanza
 9. Generalidad: Aplicabilidad, Uso
 10. Estandarización: ¿Quién controla el lenguaje?
 11. Evolución: ¿Qué está ocurriendo con el lenguaje?
 12. Soporte de Librerías: ¿Qué NO se debe reescribir?
Lenguajes de Programación
Lenguajes de Programación
Proyectos Open Source publicados en el ultimo
año.
 C (40,90%)
 C++ (14,01%)
 Java (10,96%)
 Shell (8,96%)
 Javascript (5,55%)
 PHP (4,86%)
 Perl (3,19%)
 Python (2,74%)
 SQL (1,60%)
 C# (1,24%)

También podría gustarte