Académique Documents
Professionnel Documents
Culture Documents
El Proceso
Es una serie de pasos a seguir para construir un producto o un sistema.
El proceso del software es importante porque proporciona estabilidad, control y organizacin a una
actividad que puede, si no se controla, volverse catica.
Hoy da es cada vez mas frecuente la consideracin de la Ingeniera del Software como una nueva
rea de la Ingeniera, y el Ingeniero del Software comienza a ser una profesin implantada en el
mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya,
reconocida consideracin social en el mundo empresarial y, por suerte, para esas personas con
brillante futuro.
La ingeniera del software trata con reas muy diversas de la Informtica y de las Ciencias de la
Computacin, tales como construccin de compiladores, sistemas operativos o desarrollos de
Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de
sistemas de informacin y aplicables a una nfinidad de reas tales como: negocios, investigacin
cientfica, medicina, produccin, logstica, banca, Control de trafico, meteorologa, el mundo del
derecho, la red de redes Internet, redes Intranet y Extranet, etc.
Evidentemente, si la Ingeniera del Software es una nueva Ingeniera, parece lgico que rena las
propiedades citadas en las definiciones anteriores. Sin embargo ni el DRAE(Diccionario de la Real
Academia Espaola de la Lengua), ni la Real Academia Espaola de Ciencias han incluido todava el
termino en sus ultimas ediciones; en consecuencia vamos a recurrir para su definicin mas precisa a
algunos de los autores mas acreditados que comenzaron en su momento a utilizar el termino o bien
en las definiciones dadas por organismos internacionales profesionales de prestigio tales como IEEE
o ACM, de los cuales se han seleccionado las siguientes definiciones de Ingeniera del Software.
Ingeniera del software es el estudio de los principios y metodologas para desarrollo y mantenimiento
de sistemas de software.
Ingeniera del software es la aplicacin prctica del conocimiento cientfico en el diseo y construccin
de programas de computadora y la documentacin asociada requerida para desarrollar, operar y
mantenerlos.
Ingeniera del software trata del establecimiento de los principios y mtodos de la ingeniera a fin de
obtener software de modo rentable que sea fiable y trabaje en mquinas reales.
Definicin 6: IEEE.
Es muy simple el esquema que consiste en desarrollar un programa sencillo que resuelve una tarea
bien determinada. Lo normal es que se evolucione al desarrollo de un
Ambos desarrollos "dan lugar a la Ingeniera del Software": Programas integrados que pueden trabajar
en varios entornos.
Esta figura podra resumir buena parte de la esencia de la asignatura: en el desarrollo de software
(una entidad "compleja") se producen problemas de comunicacin a varios niveles: entre usuarios y
desarrolladores y entre los componentes mismos del equipo de desarrollo.
Estudiaremos las tcnicas, mtodos y herramientas de ingeniera que puedan hacer que estos
problemas se minimicen, e incluso que desaparezcan.
Pressman [1] caracteriza la Ingeniera de Software como "una tecnologa multicapa", ilustrada en la
Figura 1.
Cualquier disciplina de ingeniera (incluida la ingeniera del software) debe descansar sobre un
esfuerzo de organizacin de calidad. La gestin total de la calidad y las filosofas similares
fomentan una cultura continua de mejoras de procesos que conduce al desarrollo de enfoques
cada vez ms robustos para la ingeniera del software.
El fundamento de la ingeniera de software es la capa proceso. El proceso define un marco de
trabajo para un conjunto de reas clave, las cuales forman la base del control de gestin de
proyectos de software y establecen el contexto en el cual: se aplican los mtodos tcnicos, se
producen resultados de trabajo, se establecen hitos, se asegura la calidad y el cambio se
gestiona adecuadamente.
Los mtodos de la ingeniera de software indican cmo construir tcnicamente el software. Los
mtodos abarcan una gran gama de tareas que incluyen anlisis de requisitos, diseo,
construccin de programas, pruebas y mantenimiento. Estos mtodos dependen de un conjunto
de principios bsicos que gobiernan cada rea de la tecnologa e incluyen actividades de
modelado y otras tcnicas descriptivas.
Las herramientas de la ingeniera del software proporcionan un soporte automtico o semi-
automtico para el proceso y los mtodos, a estas herramientas se les llama herramientas CASE
(Computer-Aided Software Engineering).
Un producto software es intangible y por lo general muy abstracto, esto dificulta la definicin del
producto y sus requisitos, sobre todo cuando no se tiene precedentes en productos software similares.
Esto hace que los requisitos sean difciles de consolidar tempranamente. As, los cambios en los
requisitos son inevitables, no slo despus de entregado en producto sino tambin durante el proceso
de desarrollo.
Adems, de las dos anteriores, siempre puede sealarse la inmadurez de la ingeniera del software
como disciplina, justificada por su corta vida comparada con otras disciplinas de la ingeniera. Sin
embargo, esto no es ms que un intil consuelo.
El proceso de desarrollo de software no es nico. No existe un proceso de software universal que sea
efectivo para todos los contextos de proyectos de desarrollo. Debido a esta diversidad, es difcil
automatizar todo un proceso de desarrollo de software.
3. Validacin: El software debe validarse, para asegurar que cumpla con lo que quiere el cliente.
4. Evolucin: El software debe evolucionar, para adaptarse a las necesidades del cliente.
Pressman [1] caracteriza un proceso de desarrollo de software como se muestra en la Figura 3. Los
elementos involucrados se describen a continuacin:
Un marco comn del proceso, definiendo un pequeo nmero de actividades del marco de
trabajo que son aplicables a todos los proyectos de software, con independencia del tamao
o complejidad.
Un conjunto de tareas, cada uno es una coleccin de tareas de ingeniera del software, hitos
de proyectos, entregas y productos de trabajo del software, y puntos de garanta de calidad,
que permiten que las actividades del marco de trabajo se adapten a las caractersticas del
proyecto de software y los requisitos del equipo del proyecto.
Las actividades de proteccin, tales como garanta de calidad del software, gestin de
configuracin del software y medicin, abarcan el modelo del proceso. Las actividades de
proteccin son independientes de cualquier actividad del marco de trabajo y aparecen
durante todo el proceso.
Figura 3.