Sei sulla pagina 1di 21

HISTORIA:

Hace no menos de 100 años las computadoras no existian, eran las personas que
se encargaban de realizar el procesamiento manualmente, en especial las
mujeres jugaban un rol fundamental en ello. Por ejemplo, en los años 1800s, en
Harvard, las mujeres se encargaban de muchas de los calculos matematicos
usados en la astronomia, a este equipo se le conocio como "Computadoras de
Harvard", aunque no existian computadoras digitales en sí.Sin embargo el término
"digital" apareció a mediados del año 1942 cuando George Stibitz aplico las ideas
de George Boole a los dispositivos electromecánicos. El término "Software" vino
una década despues, gracias a John Tukey. Pero y que del término "ingenieria de
software"?

Origen del término 'Ingenieria de software y multimedia'


Muchas personas sugieren que fue Friedrich Bauer quien acuño este termino en la
conferencia de ingeniería de software de la OTAN en 1968, otros creen que fue
Anthony Oettinger, el cual uso este termino en 1966 para hacer referencia a la
distinción entre ciencias de la computación y el desarrollo de sistemas intensivos
de software. Sin embargo, años atrás, en la edición de junio de 1965 de la revista
'Computers and Automation', apareció un anuncio de trabajo buscando un
"ingeniero de sistemas de software".

Pero no fueron ninguno de los anteriores, Grady Booch sostiene que todos sus
datos apuntan a que Margaret Hamilton usó por primera vez el término 'ingenieria
de software' para distinguir su trabajo de la ingeniería de hardware mientras
trabajaba en un programa espacial, el famoso proyecto Apollo y el Skylab, entre
1963 y 1964.

Ingeniería de software vs Ciencias de la computación

La diferencia entre ellas, es parecida a la diferencia entre la ingeniería química y


química: ambas son útiles y válidas; ambas tienen sus conjuntos particulares de
prácticas; ambas son cosas muy diferentes. La ingeniería de software es un arte y
una ciencia, es el arte de lo práctico.

La ingeniería en todos los campos tiene que ver con la resolución de fuerzas.
Podemos pensar sobre fuerzas en una materia que permitan mantener el equilibrio
de tal, en ingeniería de software, también se debe equilibrar cosas, estas son: el
costo, el cronograma, la complejidad, la funcionalidad, el rendimiento, la
confiabilidad y la seguridad, así como las fuerzas legales y éticas. Booch explica
muy bien con lo mencionado anteriormente que es la ingenieria de software, y es
fácil deducir que debemos hacer como ingeniero de software, debemos mantener
el equilibrio, hacer que el software que hagamos no caiga al lado oscuro.
La tecnología ha cambiado mucho a lo largo del tiempo, sin embargo los
fundamentos de la ingeniería aún siguen siendo verdad, aunque como veremos,
cada época descubre nuevas verdades acerca de la ingeniería de software...

Del siglo XIX al XX: computadoras humanas


El mundo de la computación tiene raíces muy antiguas, desde Ada Lovelace quien
quizá fue la primera persona en comprender que la programación era algo
importante (mucho antes que existiera cualquier computadora en sí) al gran aporte
que dio George Boole a la lógica. Además del rol de las "Computadoras humanas"
(que vimos antes) - y que sorprendentemente se organizaban de una manera
similar a las prácticas contemporáneas de desarrollo ágil , y que con el pasar los
años (el siglo XX), y que a medida que los problemas de computación eran más
grandes y con el apoyo de dispositivos mecánicos para hacer cálculos, se
organizaban en filas, donde cada fila se encargaba de un cálculo y se lo pasaba a
la siguiente fila, organizándose en forma de lo que conocemos, en arquitectura,
como pipelines.

De la Gran Depresión a la Segunda Guerra Mundial: el nacimiento de la


computadora electrónica

En esos tiempos el mundo industrial, como ahora, buscaba la eficiencia en sus


procesos, muchas de las ideas de Frederick Taylor emerger. Además, los Gilbreth
promocionaron el concepto de diagramas de proceso, los predecesores a los
diagramas de flujo.

Pero la gran Depresión apareció, con el fin de combatirla, el presidente Roosevelt,


lanzo muchos proyectos. Uno de ellos el proyecto de las Tablas Matemáticas,
liderado por Gertrude Blanche, quien desarrollaría muchas prácticas para hacer
computación manual (¡Computadoras humanas!). En 1940, Wallace Eckert, en
base a ello desarrollaría la 1ra metodología de computación.

Mientras que en Europa los aires de que sucedería una guerra estaban
ocurriendo, el mundo de la computación digital había sido iniciada cuando George
Stibitz aplico las ideas de lógica de George Boole para construir el primer sumador
digital hecho a base de redes electromecánicos. Tiempo después nace una nueva
forma de pensamiento: el concepto de un ordenador electrónico programable,
siendo una de las primeras el famoso ENIAC.

Grace Hooper; muy en el espíritu de Ada Lovelace, quien tenia la idea de que el
software podría ser una cosa en sí misma, se percató que se podría crear un
lenguaje más cercano a los humanos, un lenguaje de más alto nivel, lejano al
hardware. De hecho, uno podría usar su computadora para traducir estas
expresiones de alto nivel al lenguaje de máquina, esto marcaría el inicio
del compilador. Más importante, en plena Segunda Guerra Mundial, Alan Touring,
daría las bases de la computación moderna, de donde Tommy Flowers pondría en
práctica estas bases para construir el famoso Colossus.

Después de la Segunda Guerra Mundial: crecimiento de la computación

Al final de la Segunda Guerra Mundial, empezábamos a ver la informática aplicada


a dominios problemáticos más allá de la guerra. Herman Goldstine, en base a las
ideas de los Gilbreth, junto a John von Neumann, desarrollarían los diagramas de
flujo. Maurice Wilkes, David Wheeler y Stanley Gill creerían el concepto
de subrutinas, el poder de descomponer algoritmos. John Backus, en base al
trabajo de Grace Hooper, desarrollaría el famoso lenguaje de alto nivel Fortran,
quien dominaría el mundo por muchos años.El mundo comercia empezaba a usar
las computadoras, quienes daban nuevas oportunidades de crecimiento. La 1ra
computadora comercial fue de Lyons Electronic Office (LEO). John Pinkerton, el
chief engineer de LEO, se dio cuenta de que muchas tareas de programación se
volvian a repetir al desarrolar las computadoras, el junto estas tareas en librerías,
formando lo que hoy conoceriamos como Sistemas Operativos y frameworks. Con
el famoso System/360 de IBM, se dio la idea de separar el software del hardware,
y con ello ahora las personas podrían desarrollar separadamente software. No
solo eso, con ello personas como Dina St. Johnson, desarrollarían las primeras
empresas de software, otras empresas podrían externalizar el desarrollo de
software a ellas!. Incluso una organización SHARE, la llevo al siguiente nivel, al
brindar una plataforma para desarrollar software que ellos no controlaban, es
decir, fueron los precursores del movimiento open source.

El ascenso de la guerra fría: madurez de la computación y el nacimiento de la


ingeniería de software

La Guerra Fría generó otro conjunto de fuerzas que llevaron a la ingeniería de


software a la madurez. Con el fin de defenderse ante la Union Sovietica, el
sistema SAGE se desarrollo, este daría grandes aportes al mundo del software: el
desarrollo de interfaces humano-computador y la toma de conciencia
de desarrollar software en ambientes distribuidos. Es decir, desarrollar software se
habia vuelto un problema central y complejo.

En los años 60s, era notorio el avance del software comercial, que se estaban
desarrollando sistemas complejos (como el SAGE y en general por la industria
espacial), es en este contexto donde Margaret Hamilton acuñó el
término “ingenieria de software” y en el que la OTAN declaró que había una "crisis
del software".

Claro, en esas epocas las computadoras eran muy caras, existian pocos
programadores, pero las cosas cambiarían con el ascenso de las
microcomputadoras. Con este cambio es que nace el insight de que la ingeniería
de software, no solo era un proceso técnico sino tambien muy humano, los
principios básicos de la gestión de proyectos serían dados por Fred Brooks,
descritas en The Mythical Man Month.

De los años sesenta a la Años ochenta: la maduración

En esta etapa se introdujo la programación modular junto con conceptos


de acoplamiento y cohesión como mecanismos de composición de
algoritmos, Edsger Dijkstra adoptó un enfoque formal y nos dio la idea de
la programación estructurada, mucho después Ole Dahl y Kristen Nygaard,
crearían Simula, el 1er lenguaje de programación orientada a objetos. Las ideas
de Barbara Liskov sobre tipos Abstractos de Datos y el modelado de entidad-
relación por Peter Chen y muchas más conceptos, aportarían en esta época, y con
ello se generaron las primeras metodologías de ingeniería de software, por
ejemplo, Winston Royce desarrollaría el famoso proceso en cascada (muy aparte
de ello, el apoyaría la idea de desarrollo iterativo y de prototipos), y los métodos de
análisis y diseño estructurado como los de Ed Yourdon, Tom DeMarco, entre
muchos otros.

Además de los muchos otros trabajos como el de John Backus (sobre functional


programming), Leslie Lamport (distributed computing), entre otros.

Los años ochenta y más adelante: la edad de oro

Debido a los crecientes problemas de calidad del software, el auge de los


sistemas intensivos de software, la globalización del software y el desarrollo de
sistemas distribuidos, nuevos enfoques fueron necesarios. Es aqui cuando las
ideas de Ole Dahl y Kristen sobre programacion orientado a objetos (OO) dio lugar
a lenguajes de programación como Smalltalk, C with Classes (posteriormente
renombrado a C++), Ada, y muchos otros.

Los metódos de análisis y diseño estructurado (como los de Ed Yourdon) se


adaptaron al enfoque OO, además de nuevas ideas de diseñar OO, como los de
Rebecca Wirfs-Brock sobre Responsability Driven Design, Stephen Mellor sobre
Modelos de Dominio Conceptuales, y las notaciones para modelar objetos como el
método Booch, Objectory, OMT, estos últimos 3 se unirían para formar UML.
Nacerían entre otras:

 El modelo de vistas 4+1 por Philippe Kruchten


 El modelo espiral del desarrollo de software y muchos aportes a la
economia de desarrollar software por Barry Boehm
 Métricas de software por Capers Jones
 El modelo formal clean-room por Harlan Mills
 La programación literaria por Donald Knuth
 El modelo de madurez de capacidades (CMM) por Watts Humphrey
 Modelos de component-based engineering

Los años noventa y el milenio: la era de las disrupciones

Y el boom de Internet había llegado al mundo de los negocios, de pronto ahora


había una nueva plataforma, todo ahora pasaría a ser distribuido! Los clientes
tendrían acceso directo desde cualquier parte del mundo a los sistemas y los
sistemas se interconectarían con otros programas externos. Todo ello trajo que la
Integración Continua y el desarollo Iterativo sea la forma principal de desarollo, el
mundo de patrones se lanzaría a la fama con el famoso libro de la Banda de los
Cuatro (Gang of Four), y se expandiría a otras áreas como la organización (ver los
trabajos de Jim Coplien), de arquitectura (Mary Shaw y David Garlan).

Un cambio parecido pasaría con la llegada de los dispositivos moviles, del mundo
de servicios web se iria a un mundo de microservicios, y el crecimiento de
infraestructuras Web aparecio y pronto sería la plataforma por defecto gracias a
compañias como Amazon, Google, Microsoft, IBM, Facebook, entre otras. Y claro
nuevos lenguajes vienen y van: Javascript, Python, Swift, Rust, ... y lo mismo
sigue sucediendo con los frameworks: Bootstrap, JQuery, React, MongoDB,
Flutter - y seguira dandosé.

Y claro, en los años 90, aparecieron los métodos ágiles, aunque en 1986, Hirotaka
Takeuchi y Ikujiro Nonaka acuñaran el término “Scrum” como un enfoque de
desarrollo de productos, Ken Schwaber y Jeff Sutherland lo adaptarían al mundo
del software, Kent Beck, casi en la misma época lanzaría eXtreme Programming y
en sí muchas nuevas métodos y prácticas aparecerían como la técnica de
Refactorizar (popularizada por Martin Fowler) que se unirían bajo un mismo
término paraguas "Agile" en Febrero del 2001.

Una nueva época dorada en la Ingeniería de software había aparecido, Git y GitHub nacieron; Joel
Spolsky creo Stack Overflow; Andrew Shafer y Patrick Debois el término DevOps; el mundo del
Internet de las Cosas sigue emergiendo. ¡Y las plataformas de e-learning se expandieron,
cualquiera puede programar!

La década que viene: Big Data y la otra IA


Actualmente estamos en un nuevo cambio, aunque la IA ha existido décadas, ella
está influyendo el mundo de la ingenieria de software de una forma distinta a como
antes. ¡Todo ello gracias al crecimiento de la data de todas partes (imagenes,
videos, audio) y el poder de la computación!, el Big Data, ha hecho posible el uso
de la IA. Y ya hemos visto grandes hitos, como el de AlphaGo.

Sin embargo, como industria recién estamos viendo como impactará la IA a este
campo, ¿Qué ciclo de vida es el mejor para estos componentes que aprenden por
si sola? ¿La gestión de la configuración como encaja cuando la data es más
importante que la red neuronal en sí? ¿Como se diseña estos tipos de sistemas
donde partes de las operaciones no podemos explicar o completamente confiar?

Agrégale a estos problemas, los cambios que traerán las nuevas tecnologías
como la computación cuántica, la Realidad Aumentada, el Internet de las Cosas...

La ingenieria de software ha crecido y cambiado mucho, sin embargo, los


fundamentos permanecen: desarrollar abstracciones (de Lenguaje máquina a alto
nivel, de subrutinas a componentes y de componentes a servicios); separar
intereses; distribuir responsabilidades (sea en Sistemas Operativos, en la gestión
de proyectos o al diseñar software); buscar simplicidad. Y seguirá habiendo
cambios, pero los aspectos fundamentales siempre permanecerán

DESCRIPCIÓN:
La ingenieria de programación garantiza una secuencia de pasos ordenados a
seguir para hacer cierta cosa. Este término puede utilizarse en muchos contextos,
por ejemplo: “Vamos a programar una salida para este fin de semana largo” o “La
programación de ese canal de televisión está bien lograda”.

Es común hablar de programación de por ejemplo: una salida, de las vacaciones o


de un recorrido por una ciudad cuando queremos referirnos a armar itinerarios de
lugares para recorrer, conocer o gente con la que encontrarnos; así también se
utiliza mucho el término para referirse a la lista de programas con sus días y
horarios de emisión de los canales de televisión, la lista de películas de un cine o
las obras de un teatro.permitiendo una interrelación muy eficaz y dinámica con el
usuario. Es una tecnología que nos permite visualizar en la pantalla información,
utilizando para ello, videos de movimientos completos, sonidos, animación,
gráficos y textos

LÍNEA DE TIEMPO:
1843: Ada Lovelace desarrolla el primer lenguaje de programación cuando escribió
un algoritmo para la máquina analítica de Charles Babbage.
1957 – Fortran: (“The IBM Mathematical Formula Translating System”): Un
lenguaje de programación de alto nivel de propósito general. Para cálculo
numérico y científico (como alternativa al lenguaje ensamblador). Es el lenguaje de
programación más antiguo que se utiliza hoy en día.
1958 – Lisp: (“List Processor”) Utilizado para la notación matemática y temas de
ciencias de la computación.
1959 – Cobol: (“Common Business-Oriented Language) Usado principalmente
para la informática empresarial. Es el primer lenguaje de programación que se
demandan por el Departamento de Defensa de EE.UU..
1964 – BASIC: (“Beginner’s All-purpose Symbolic Instruction Code”) Diseñado
para la simplicidad. Su popularidad explotó a mediados de los años 70 con los
computadores personales.
1970 – Pascal: (En honor al matemático/físico francés Blaise Pascal) Utilizado
para la enseñanza de la programación estructurada y estructuración de datos.
1972 – Lenguaje C: (Basado en un lenguaje anterior llamado “B”) Creado para
sistemas Unix. Muchos de lenguajes de programación más populares del mundo
son derivados de el, entre ellos tenemos C#, Java, JavaScript, Perl, PHP y Python.
1993 – Ruby: Una lenguaje influenciado por Perl, Ada, Lisp, Smalltalk, etc.
Diseñado para la programación productiva y agradable.
1995 – Java: Hecho para un proyecto de televisión interactiva. Funciona
multiplataforma. Es el segundo lenguaje más popular (detrás de lenguaje C). 1995
– PHP: (“Personal Home Page”) Usado para la creación de páginas web
dinámicas.
1995 – JavaScript: Creado para ampliar la funcionalidad de las páginas web, 1843
1957 1958 1959 1964 1970 1972 1993 1995 1995

Campos de acción
Un Ingeniero de Sistemas y Computación puede desempeñarse en diversos
campos de acción y en múltiples disciplinas. Por ejemplo, puede trabajar
apoyando sectores como: entretenimiento, financiero, salud, medio ambiente,
telecomunicaciones, educación, tecnologías de información. En estos estilos de
trabajo, se requiere una labor en equipos típicamente multidisciplinarios, donde es
fundamental el tener habilidades relacionadas con las áreas de conocimiento
propias de la carrera, tales como infraestructura tecnológica, construcción de
software, seguridad informática, manejo de información, robótica, multimedia.
Aplicaciones propias de la carrera
A continuación, se presentan ejemplos de temáticas propias de la carrera, en las
cuales podrá trabajar un Ingeniero de Sistemas y Computación
Robótica
Es la rama de la tecnología, que estudia el diseño y la construcción de máquinas
capaces de desempeñar tareas realizadas por el ser humano o que requieren del
uso de inteligencia.
Seguridad informática
Es el área de la informática que se enfoca en la protección de la infraestructura
computacional y todo lo relacionado con esta, especialmente en la protección de la
información, con el fin de garantizar su confidencialidad, integridad y
disponibilidad.
Multimedia
Tecnología que permite el manejo integral de diferentes medios de expresión
como: texto, imágenes, video y sonido, lo que da múltiples ventajas en diferentes
áreas como por ejemplo el cine y la televisión, permitiendo presentar la
información de una manera interactiva, atractiva e impactante.
Infraestructura Tecnológica
Conformada por el conjunto de  hardware y software que integran un proyecto o
permiten el desarrollo de  la operación de una compañía.
 
Por ejemplo, conjunto de redes de computadores y sistemas de información
bancarios.

Construcción de Software
Este campo de acción hace referencia a la aplicación práctica del conocimiento en
el diseño y construcción de programas de computador.

UNIVERSIDADES QUE OFRECEN LA CARRERA


Tecnología en Gestión de la Comunicación Digital (Virtual)
Universidad de San Buenaventura
Fundación Universitaria de Bellas Artes
Universidad Jorge Tadeo Lozano
Universidad ICESI
Fundación Universitaria del Área Andina
Corporación Universitaria Unitec
CESDE Formación Técnica
Academia Superior de Artes
Fundación Tecnológica de Madrid
Fundación Academia de Dibujo Profesional
Corporación Educativa de Sistemas Avanzados
Pontificia Universidad Javeriana
Universidad Piloto de Colombia
Universidad de Caldas
Instituto Tecnológico Metropolitano
SENA (production multimedia)
Universidad nacional
Universidad Manuela beltran
Universidad Jose Francisco de Caldas
Universidad detrital
Universidad panamerica
Universidad militar
Fundación Universitaria Los Libertadores
Universidad Santo Tomás (USTA)
Universidad San Martín
Universidad La Gran Colombia
Universidad EAN
Universidad Incca de Colombia (UNINCCA)
Universidad Central
Universidad de los Andes
Universidad de la Salle
Universidad Externado de Colombia
Universidad El Bosque
Universidad Piloto de Colombia
Universidad del Rosario
Universidad Sergio Arboleda
Universidad Libre
Universidad Colegio Mayor de Cundinamarca

PLAN DE ESTUDIOS

el plan de estudios está diseñado para que un estudiante que ingresa al programa
sin haber cursado un programa de Maestría alcance una formación doctoral
cursando un total de ciento veinte (120) créditos distribuidos a lo largo de cuatro
años. Los estudiantes que hayan cursado parcial o totalmente un programa de
Maestría, pueden homologar y reconocer hasta treinta y seis (36) créditos
cursados y aprobados oficialmente en un programa, ya sea este nacional o
internacional.
Los cuatro años del programa de Doctorado se dividen en dos fases:
La fase de inducción a la investigación, cuya duración es normalmente de un año
Esta fase recibe la denominación de "Año de Inducción". Los estudiantes que al
iniciar el programa ya posean título de maestría, normalmente pueden superar
esta etapa una vez realizado el proceso de homologación.
La fase de investigación, cuya duración es normalmente de tres años. Los años
incluidos en esta fase reciben la denominación de "Año 1", "Año 2" y "Año 3". En
esta fase el estudiante se focaliza en el desarrollo de su Tesis Doctoral.
El programa de Doctorado comprende dos componentes principales:
1. Componente de formación conceptual: incluye el conjunto de asignaturas que
contribuyen a completar y profundizar los conocimientos del estudiante. Por una
parte, con un conjunto de asignaturas transversales enfocadas en la
fundamentación científica, así como también a la reflexión ética y filosófica del
quehacer investigativo; estas asignaturas se denominan "transversales", puesto
que aportan a todas las disciplinas.
Por otra parte, con un conjunto de asignaturas especializadas en campos
específicos de la ingeniería; estas asignaturas se denominan "especializadas",
puesto que pretenden una formación con un alto nivel de especialización en un
área particular. La componente conceptual contempla una escolaridad mínima de
32 créditos, al menos 12 en transversales y 20 en profundización.
2. Componente de formación para la investigación: incluye tres etapas sucesivas
del desarrollo del estudiante como investigador (ver Figura 1). La primera etapa es
cubierta con 8 créditos y corresponde a la inducción al trabajo y metodología de la
investigación en el contexto de la ingeniería. La segunda que abarca 8 créditos,
permite la elaboración de un estado del arte en eltema del proyecto de
investigación y la construcción de una propuesta de proyecto de Tesis Doctoral.
En la tercera etapa, se realiza el desarrollo de las actividades que permiten
alcanzar los objetivos propuestos de investigación siguiendo una metodología en
forma rigurosa. Esta componente de formación para la investigación contempla
una escolaridad mínima de 80 créditos.
1.Componente de formación para la investigación del programa de Doctorado en
Ingeniería
Dado que los mínimos necesarios para cubrir las dos componentes incluyen un
total de ciento doce (112) créditos, quedan ocho (8) créditos de componente
flexible. Estos créditos pueden cursarse ya sea en asignaturas conceptuales o en
trabajo de investigación; es decisión del estudiante, asesorado y autorizado por su
Director de Tesis, en qué forma cursa estos créditos.
Ejemplo de plan de estudio para un estudiante que ingresa sin un título de
maestría
2. se ilustra un ejemplo de una distribución posible de los créditos a lo largo del
programa para un aspirante que ingresa al programa de Doctorado sin poseer un
título de maestría. En este ejemplo, los 8 créditos de la componente flexible se han
aplicado a asignaturas de la componente de investigación. El estudiante cursa la
totalidad de los 120 créditos requeridos
Ejemplo de plan de estudio para un estudiante sin maestría utilizando los créditos
flexibles en la componente de formación para la investigación.
Ejemplo de plan de estudio para un estudiante que ingresa con título de maestría
3. presenta un ejemplo de una distribución posible de los créditos a lo largo del
programa para un estudiante que ingresa con título de Maestría, obteniendo la
homologación máxima de 36 créditos. En este ejemplo, la componente flexible se
ha aplicado a asignaturas de la componente de investigación. El estudiante cursa
en total 84 créditos en el programa
Ejemplo de plan de estudio para un estudiante que ingresa con título de maestría,
obteniendo la homologación máxima de 36 créditos.
Carga académica máxima semestral
La carga académica máxima de un estudiante del programa de Doctorado en
Ingeniería es de dieciséis (16) créditos por semestre. Este valor pretende evitar
sobrecargas de trabajo que afectan la calidad y productividad del estudiante; lo
cual se refuerza con la duración de 21 semanas de trabajo en periodo académico
para las asignaturas de investigación.
Tesis Doctoral
El trabajo de investigación del estudiante se centra alrededor de la Tesis Doctoral.
La Tesis Doctoral debe ser un trabajo de investigación que constituya un aporte
original a las ciencias de la Ingeniería. Además, debe tener méritos para generar
publicaciones en revistas especializadas de reconocido valor científico a nivel
internacional y/o para generar productos tecnológicos de alta calidad e impacto
protegidos por mecanismos de propiedad intelectual.

El estudiante desarrollará su Tesis Doctoral, bajo la permanente supervisión y


acompañamiento de un Director de Tesis. Este acompañamiento incluye, además
de la asesoría y la dirección científica, el seguimiento y la evaluación del proceso y
del trabajo de investigación adelantado por el estudiante. El Director de Tesis debe
ser profesor de planta trabajando en un grupo de investigación de la Facultad de
Ingeniería, con título de doctor.
Adicionalmente, los doctorandos pueden tener un Asesor de Tesis que puede ser
un profesor de planta con título de doctor de la Facultad de Ingeniería de la
Pontificia Universidad Javeriana, o un Profesor externo con título de doctor,
debidamente avalado por el Director de Doctorado. Los asesores pueden realizar
su labor de acompañamiento por periodos específicos de tiempo, los cuales no
necesariamente deben coincidir con el desarrollo completo de la Tesis Doctoral.
En el caso en que el estudiante decida hacer una pasantía de investigación, el
profesor que tenga a cargo la dirección de la misma actuará como Asesor de
Tesis, al menos durante el período de la pasantía.
Pruebas de Promoción y Grado
A lo largo del desarrollo del plan de estudio existen tres pruebas fundamentales
que el estudiante del programa de Doctorado en Ingeniería debe superar: el
examen de Competencias, el examen de Candidatura y la sustentación de la Tesis
Doctoral.
Examen de Competencias:
El Examen de Competencias debe realizarse antes de finalizar el cuarto (4)
semestre del programa de Doctorado, aunque se espera que sea presentado
hacia el final del primer año. Para el desarrollo de esta prueba el Director del
Doctorado en Ingeniería, apoyándose en el Comité de Doctorado, nombrará un
Comité de Examen. En todos los casos, este Comité de Examen coordinará la
construcción de las preguntas y desarrollo de las pruebas a que hubiere lugar en
el marco del examen y velará por hacer que éste se desarrolle de acuerdo a los
lineamientos expresados en este documento y cumpliendo con los requisitos
vigentes fijados por el Director de Doctorado.

El Examen de Competencias busca evaluar los conocimientos de los doctorandos


en las áreas básicas de la Física, la Matemática y las Ciencias de la Ingeniería, así
como en los temas de profundización específica que conciernen al desarrollo de
su Tesis Doctoral. Así mismo, se busca evaluar también las habilidades del
estudiante para comprender, analizar y proponer nuevas ideas con base en
información existente, es decir, sus competencias investigativas.

El Examen de Competencias toma como base la revisión de material bibliográfico,


artículos científicos de las áreas temáticas relevantes en el marco de la Tesis
Doctoral del estudiante. El examen consta de dos fases: la primera consiste en la
solución escrita de un conjunto de preguntas que son formuladas por el Comité de
Examen con base en los artículos, y con el apoyo del Director de Tesis del
estudiante. La segunda fase del examen consiste en un ejercicio de carácter
propositivo expuesto en una sustentación oral sometida a preguntas por parte del
Comité de Examen.
Para consultar los documentos y requisitos correspondientes para solicitar el
Examen de competencias dar click aquí
Examen de Candidatura:
Los objetivos del Examen de Candidatura son:
Evaluar la amplitud y profundidad de conocimiento del estudiante doctoral;
particularmente de aquel relacionado con su investigación doctoral en ingeniería.
Evaluar la capacidad del doctorando para relacionar diversas áreas del
conocimiento con el tema de investigación escogido.
Evaluar la capacidad del doctorando para adelantar exitosamente la investigación
propuesta.
Evaluar el potencial del aporte a las ciencias de la ingeniería que podrá ser
alcanzado por el estudiante doctoral.
Evaluar el protocolo del proyecto de investigación desarrollado en el marco de la
Tesis Doctoral.
El Examen de Candidatura incluye la presentación de un documento que contiene
tres partes: la propuesta de investigación, el estado del arte que cubre los temas
del proyecto propuesto y los avances ya alcanzados por el estudiante en el
desarrollo de su proyecto. Se espera que este documento no exceda las 30
páginas de extensión.
El estudiante debe realizar una presentación oral ante el Comité de Evaluación.
Esta presentación tendrá un carácter privado y el Comité de Evaluación definirá
los términos de su desarrollo. Es importante que el estudiante tenga en cuenta que
el idioma de esta presentación dependerá de la composición del Comité de
Evaluación.
A partir de la valoración de los documentos y la presentación oral ante el Comité
de Evaluación, el examen de Candidatura será calificado como "aprobado" o "no
aprobado". En el caso de no aprobar el examen, el doctorando podrá solicitar una
nueva oportunidad. El segundo examen debe tener lugar en un período no inferior
a seis (6) meses ni superior a un (1) año después de haber presentado el primer
examen. Si en el segundo intento no se obtiene la aprobación, el estudiante será
retirado del programa de Doctorado en Ingeniería.
Sustentación de la Tesis Doctoral:
La sustentación de la Tesis Doctoral es una presentación oral pública por parte del
estudiante aspirante a Doctor en Ingeniería de los resultados de la investigación.
Se trata de un reconocimiento formal al mérito científico; al aporte al conocimiento
y a la resolución de problemas en su área del conocimiento.
IMPORTANCIA EN LA ACTUALIDAD
El desarrollo de software se ha convertido en una de las disciplinas más
importantes en la actualidad, y se encuentra avanzando a pasos agigantados, ya
que el consumo de productos software por parte de la sociedad es cada vez
mayor y la necesidad de dar soluciones a problemas cotidianos con la tecnología
se vuelve imprescindible.
Está claro que las personas no podemos vivir sin el software debido a que nos
ayuda con nuestras tareas, a optimizar tiempos y hacer la vida más fácil. En ese
sentido muchos se pueden preguntar ¿cómo se hace el software?
Pues bien, sabemos que el software es aquel ente lógico que hace funcionar a los
dispositivos electrónicos, es decir, aquellas secuencias de instrucciones que le
dicen a los dispositivos qué hacer, cómo y cuándo. El desarrollo de software es
realizado por personas amantes de la tecnología, comúnmente llamados
programadores. Aunque si bien es cierto que cualquier persona con tiempo y que
le guste programar podría construir software, lo más seguro es que el producto
final sería mucho menos eficiente y mucho menos seguro que un software
desarrollado con procedimientos adecuados y bien estudiados. Es aquí en donde
quiero mencionar el papel de la ingeniería de software, la cual comprende todos
los aspectos de la producción del software, desde las etapas iniciales de la
especificación del producto, hasta el mantenimiento de éste, después de que se
utiliza. Es además un conjunto de métodos, la aplicación de un enfoque
sistemático, disciplinado y cuantificable al desarrollo, además ofrece herramientas
y técnicas que trascienden más allá de sólo la codificación del software y que es
sumamente importante para construir o mantener un software de calidad.
La ingeniería de software es un conjunto de etapas parcialmente ordenadas. En el
que las necesidades del usuario son traducidas en requerimientos de software,
estos requerimientos son transformados en diseño, el diseño implementado en
código, el código es probado y documentado para su uso operativo con la
intención de obtener un producto de software de calidad. El desarrollo de software
requiere un conjunto de conceptos, una metodología y un lenguaje propio. A este
proceso también se le llama el ciclo de vida del software, que comprende las
etapas por las que pasa un proyecto de software desde que es concebido hasta
que está listo para usarse. En cuanto a las metodologías de ingeniería de
software, estas consisten en el uso de métodos, técnicas, herramientas y modelos
para el desarrollo las cuales deben estar muy bien documentadas para que los
programadores las ejecuten correctamente.
Actualmente existen muchas metodologías y la selección de una de ellas para el
desarrollo del software depende del tipo de proyecto que se quiera realizar. Están
las llamadas tradicionales, que fueron propuestas con anterioridad a los años 90 y
que pretendían ayudar indicando los pasos a realizar y documentando cada una
de las tareas del desarrollo de software; sin embargo tienen un problema, asumen
que un proyecto de software es casi una extensión de un proyecto burocrático
tradicional y no reflejan la naturaleza compleja del desarrollo de software actual,
además de que suelen ser metodologías inflexibles al cambio. Es así que las
metodologías modernas contemplan características como el desarrollo de software
de manera iterativa, manejo de requerimientos, modelado de software visual,
arquitecturas basadas en componentes, control de cambios, entre otros y sus
objetivos se centran en ser escalables, flexibles y adaptables.
Todo esto nos puede llevar a pensar que el desarrollo de software es una tarea
sumamente compleja y no apta para cualquiera, ya que los retos que tenemos
como programadores son cada vez mayores. Por ejemplo debemos desarrollar
técnicas para construir software confiable y que sea lo suficientemente flexible
para adaptarse a los cambios, debemos reducir los tiempos de entrega para
sistemas grandes y complejos sin comprometer la calidad del producto y además
debemos diseñar técnicas que demuestren a los usuarios que pueden confiar en
el software.

Potrebbero piacerti anche