Professional Documents
Culture Documents
Según esta nueva definición, un ingeniero necesita tener una amplia formación científica
y técnica que le permita abordar, de la forma más económica posible y utilizando un mí-
nimo de recursos, los problemas que la sociedad le plantee. Estos problemas tendrán
que ser estudiados en sus tres vertientes : técnica, económica y humana, para que pue-
da decirse que las soluciones de ingeniería adoptadas son realmente aceptables.
Desde el punto de vista de la Ingeniería del Software, una de las definiciones más co-
múnmente aceptadas es : “el establecimiento y uso de principios de ingeniería robus-
tos, orientados a obtener software económico que sea fiable y funcione de manera efi-
ciente sobre máquinas reales”.
-1-
LOS PROYECTOS DE INGENIERÍA
-2-
LOS PROYECTOS DE INGENIERÍA
Una definición de proyecto desde el punto de vista de la economía sería “una actividad
en la que se invertirá dinero esperando obtener un rendimiento, y que desde el punto
de vista lógico se presta a su planificación, financiación y ejecución como un todo”.
-3-
LOS PROYECTOS DE INGENIERÍA
dios a emplear, el modo de ejecutarlo y las previsiones sobre cuánto costará y la renta-
bilidad económica y social que se pretende obtener.
Para que este proceso de desarrollo del proyecto de ingeniería tenga unos resultados
óptimos se debe seguir una serie de etapas ordenadas de forma lógica de tal manera
que, de una forma u otra respondan al esquema básico de la figura 1.
-4-
LOS PROYECTOS DE INGENIERÍA
SATISFACCIÓN
NECESIDAD DE NECESIDADES
ELABORACIÓN EJECUCIÓN
DE PROPUESTAS
EVALUACIÓN CONFECCIÓN
DE PROPUESTAS DEL PROYECTO
En la mayoría de los casos el desarrollo de proyectos software tropieza con graves in-
convenientes derivados de la incorrecta formulación de objetivos lo que, generalmente,
se debe a falta de comunicación real entre el cliente y el equipo de desarrollo de soft-
ware. Además existe un conjunto de “verdades” atribuidas al software que dificultan
enormemente el establecimiento de los objetivos y que son :
-5-
LOS PROYECTOS DE INGENIERÍA
grama todo iría mejor. El primer paso del proyecto estriba precisamente en dife-
renciar claramente la necesidad real, por lo que se requiere una intensa comuni-
cación entre técnico y cliente sobre el tipo de información que se maneja en su
empresa, la función que se le da a la misma, rendimiento actual del sistema, crite-
rios de evaluación, etc... Sólo después de adquirir toda esta información estare-
mos en condiciones de determinar qué necesita realmente el cliente : puede que
necesite un programa nuevo, pero puede que su problema se resuelva utilizando
algoritmos más potentes, mejorando las comunicaciones internas, gestionando
mejor los datos o sólo trabajando de otra forma, puntos que, entre otros muchos,
será necesario considerar antes de empezar a trabajar.
El proceso anterior debe concretarse en dos vertientes : identificación del problema real
(el problema del cliente) y el problema técnico (la manera de dar satisfacción a las nece-
sidades). Así, la formulación del problema técnico pasa por responder a una serie de
preguntas, como por ejemplo : ¿existe la tecnología necesaria para resolver el problema,
cuál es ? ¿qué recursos se requerirán para dar solución al problema ? ¿cuáles son las
limitaciones de tiempo y de dinero ? En aquellos casos en que se desarrolle un producto
para venderlo a muchos clientes potenciales habrá que añadir los siguientes interro-
gantes : ¿cuál es el mercado potencial del producto ? ¿qué ventajas tiene frente a la
competencia ? ¿qué lugar ocupa el producto dentro de la línea general de la compañía o
empresa ? La respuesta a este segundo grupo de preguntas suele escapar a la forma-
ción normal del técnico proyectista, por lo que habrá que solicitar la colaboración de ga-
binetes especializados o, en su defecto, recurrir a la realización de un estudio personal
más modesto basado en estadísticas regionales, nacionales o internacionales.
-6-
LOS PROYECTOS DE INGENIERÍA
Para que exista una colaboración eficaz entre ambas partes que dé lugar a una identifi-
cación precisa del problema es necesario preparar correctamente las entrevistas o reu-
niones de trabajo de tal manera que se ahorre tiempo y se obtengan conclusiones con-
cretas, llegando a definirse cuestiones como:
-7-
LOS PROYECTOS DE INGENIERÍA
-8-
LOS PROYECTOS DE INGENIERÍA
-9-
LOS PROYECTOS DE INGENIERÍA
9) Programa de tareas: ningún plan de diseño estará completo sin que exista
un programa detallado de su realización a lo largo del tiempo, de tal manera
que se determine el plazo disponible para la ejecución de cada parte del pro-
yecto, los recursos (humanos y materiales) que se emplearán, y el coste apro-
ximado. El equipo de diseño debe conocer esta planificación y los plazos de
que dispone, pero no es eficaz a largo plazo dar a conocer la programación en
todos sus detalles ya que la tendencia del personal es la de agotar al máximo
los plazos disponibles.
-10-
LOS PROYECTOS DE INGENIERÍA
A esta lista de preguntas puramente técnica hay que añadir otras sobre las limitaciones
del diseño que son impuestas por el exterior y que pueden ser de dos tipos :
Factores dato : son factores dato aquellos que no pueden ser modificados, co-
mo por ejemplo limitaciones de tiempo dadas por el plazo de entrega del proyec-
to, limitaciones presupuestarias del cliente, tecnología del hardware existente,
etc...
Factores estratégicos : son variables de diseño en las que habrá que elegir en-
tre dos o más posibilidades, dependiendo la solución final que se adopte de la
elección realizada. Por ejemplo ¿se desea que la solución generada pueda utili-
zarse en cualquier equipo, o es necesario disponer de unos requisitos mínimos ?
¿se utilizarán gráficos, o sólo pantallas de texto ? ¿qué tipo de sistema operativo
o entorno es más adecuado para este caso ?
3.2.1.- Brainstorming.
El brainstorming (tormenta cerebral o tormenta de ideas) consiste en una reunión de
trabajo a cargo de un grupo de personas en número variable (7 a 12, aunque pueden ser
más) y que han de tener conocimientos en el tema de que se trata y conocer los condi-
cionantes específicos del problema de diseño. Durante cada sesión se expondrán ideas
para la posible resolución del problema estando prohibidas las críticas. Se obtiene así un
-11-
LOS PROYECTOS DE INGENIERÍA
Otro factor importante a la hora de profundizar en las soluciones es utilizar las ideas de
los demás, procurando mejorarlas o complementarlas, para ello puede ser interesante
que participen personas de distintas edades, profesiones y sexo. Por otro lado no tiene
sentido realizar una sesión de brainstorming para buscar ideas en un problema de solu-
ción única. El peligro principal de esta técnica es la divagación, ya que el estado mental
que se crea en los participantes favorece el desarrollo de las sugerencias más imaginati-
vas o fantásticas y un alejamiento del tema propuesto inicialmente, por lo que es misión
del organizador reconducir el tema tantas veces como estime preciso.
A la vista de las cuestiones generales que se enuncian en las tablas 1 y 2 resulta evi-
dente que en la mayoría de los casos no será posible cumplir con todos los requisitos al
mismo tiempo, ya que algunos se contradicen o se excluyen entre sí. Por otra parte, es
posible que en algunos casos algunas de las preguntas no puedan ser aplicadas ya que
excederán el ámbito normal de aplicación para la que han sido concebidas. Sin embargo
no debemos olvidar que en la fase de diseño del proyecto en que nos encontramos no
es aconsejable descartar de antemano ninguna posibilidad por lo que es recomendable
estudiar cada opción por separado para cada uno de los elementos que compondrán el
proyecto y trasladar las conclusiones al conjunto.
-12-
LOS PROYECTOS DE INGENIERÍA
3.2.3.- La sinéctica.
La sinéctica es un método de diseño en grupo en el que se explota la habilidad de las
personas para encontrar paralelismos o conexiones entre campos aparentemente muy
dispares. El grupo de sinéctica debe estar formado por un número no demasiado eleva-
do de personas (hasta 6), en el cual la mitad puede formar parte del equipo de diseño
del proyecto y la otra mitad pueden ser invitados del exterior, procurando siempre que
exista la mayor variedad posible de titulaciones y actividades profesionales. El método
de trabajo tiene algunas similitudes y diferencias con el brainstorming: el punto principal
de contacto es que debe trabajarse en un contexto en el que no existan las críticas, y la
diferencia estriba en que, si en el método del brainstorming se trabaja en busca del ma-
yor número de soluciones posible, en la sinéctica se persigue obtener una única solución
viable.
-13-
LOS PROYECTOS DE INGENIERÍA
La sesión de sinéctica comienza con una exposición del problema por parte del director o
moderador de la misma de forma que, inicialmente, procure exponer las soluciones pre-
viamente existentes o triviales para que sean evitadas desde el principio por los partici-
pantes. Además, debe sugerir alguna línea principal dentro de los tipos de analogías
mencionadas ya que, como puede suponerse, es relativamente frecuente la divagación.
En el caso de que las comparaciones que vayan realizando los participantes se alejen
demasiado del problema inicial o sean demasiado fantásticas, debe procurar reconducir
la discusión volviendo a resumir los objetivos que se persiguen. Si por el contrario apa-
recen comparaciones que tengan visos de poder convertirse en nuevas soluciones del
problema, se profundizará en ellas hasta tener un prediseño.
-14-
LOS PROYECTOS DE INGENIERÍA
cada uno de sus aspectos simples, de tal manera que estas opciones puedan ser com-
binadas, y cada combinación evaluada, con facilidad. Supongamos un problema de di-
seño en el que hay que decidir sobre dos aspectos y cada uno de ellos sólo tiene dos
opciones posibles. Así, el primer aspecto puede tomar la solución A o la a, y el segundo
la B o la b. Evidentemente, el espectro de posibles soluciones al problema general es
AB, Ab, aB y ab.
En este caso resulta evidente a primera vista que la solución a elegir es la AB siempre y
cuando el proyectista dé la misma importancia a todas las características o ventajas del
problema.
2) Buscar más alternativas: quedarse con la primera idea no suele ser sufi-
ciente y siempre será mejor tener varias opciones para comparar.
3) Construir prototipos: una vez que se haya diseñado una parte con suficiente
entidad como para que pueda ser llevada a la práctica, puede ponerse a
punto en una versión reducida que permita estudiar su funcionamiento. A me-
nudo, al ver un modelo pueden aflorar nuevas ideas que habían sido pasadas
por alto.
-15-
LOS PROYECTOS DE INGENIERÍA
7) Cumplir las funciones especificadas: una vez realizada la PDS, hay que
ajustarse lo más posible a ella, de tal manera que si se encuentran dificultades
en el cumplimiento de alguna función siempre es mejor desechar un diseño y
empezar de nuevo que dejar especificaciones sin lograr.
-16-
LOS PROYECTOS DE INGENIERÍA
puestas. Sin embargo no es fácil determinar qué opción es la más adecuada en cada
caso ya que suelen existir criterios de valoración a menudo contrapuestos: quizá la solu-
ción económicamente más aceptable no es la mejor desde el punto de vista técnico o
viceversa, sin olvidar otros elementos de valoración tales como la estética o la imagen
externa, condicionantes legales o de cualquier otra índole que puedan ser de aplicación.
Por otra parte, la solución que satisfaga de forma óptima uno de los criterios quizá ni
siquiera alcance un mínimo en alguno de los demás, por lo que es necesario renunciar a
la perfección en aras de conjuntar todos los criterios en una solución de compromiso.
Así, se hace necesario contar con herramientas de valoración que pongan de manifiesto
las virtudes y defectos de las soluciones para llegar a decidir cuál se adapta mejor al
problema. A continuación se exponen las técnicas más usuales.
El tercer paso consiste en realizar filtros sucesivos de la siguiente manera: el criterio más
importante (el 1) no es cumplido por la solución C, que sin embargo alcanza correcta-
mente los demás, pero debido a que este criterio es el más importante, esta solución se
elimina del estudio. A continuación se pasa al segundo criterio, que es cumplido por to-
das las soluciones restantes, por lo que, tomando el tercer criterio se elimina la solución
B. En el cuarto paso desaparece la A, por lo que definitivamente quedan las soluciones
D, E y F como aceptables, pero para decidir entre ellas habría que adoptar criterios
complementarios o elegir otro método de valoración, por lo que el método de jerarquiza-
ción puede tomarse como una primera aproximación para eliminar las peores soluciones.
-17-
LOS PROYECTOS DE INGENIERÍA
-18-
LOS PROYECTOS DE INGENIERÍA
-19-
LOS PROYECTOS DE INGENIERÍA
Σki
V= + (N/10)2 -1 > 10
4N
La valoración de las distintas soluciones en función del valor V obtenido se muestra en la
tabla 7.
Además debe dejarse parte de la valoración a criterios puramente técnicos con un infor-
me complementario.
-20-
LOS PROYECTOS DE INGENIERÍA
Ingeniería del
sistema
Análisis
Diseño
Codificación
Prueba
Mantenimiento
-21-
LOS PROYECTOS DE INGENIERÍA
-22-
LOS PROYECTOS DE INGENIERÍA
Es necesario prestar gran atención en esta fase, ya que los errores que se detecten aquí
serán mucho más fáciles y económicos de solucionar que los que aparezcan en fases
posteriores, por otro lado iniciar la codificación sin realizar un diseño detallado de las
estructuras de datos, arquitectura y diseño procedimental, es justamente lo contrario de
lo que debe hacerse y sería como pedir a un arquitecto que construya una casa sin ha-
ber estudiado antes el terreno, los materiales y las normas de urbanismo, por ejemplo.
Por otro lado, tal como se ha especificado en los procedimientos de diseño, al quedarse
con una única solución en alguna de las etapas de diseño sin haber comparado las po-
sibilidades que ofrece cada una de las alternativas, se corre el riesgo de optar por solu-
ciones no adecuadas al problema en cuestión. Las fases de confección del proyecto y
ejecución son equivalentes a la de codificación, aunque la primera de ellas se corres-
ponde más con una redacción de la documentación del proyecto y la segunda tiene
parte en común con la fase de prueba, ya que tanto la codificación como las pruebas
forman parte de la ejecución formal del proyecto.
Por último, la evaluación del grado de satisfacción de las necesidades del cliente logrado
con el proyecto realizado pertenece tanto a las pruebas del software como al manteni-
miento del mismo una vez instalado. Evidentemente, tanto en el proceso general del pro-
yecto como en el ciclo de vida clásico del software, el ciclo es cerrado, lo que significa
que en cualquier momento del proceso es posible volver a replantear un estudio de ne-
cesidades, o una nueva elaboración de propuestas, aunque esto no es deseable y debe
evitarse por medio de la aplicación lo más detallada posible de las técnicas del diseño.
El ciclo de vida clásico es un método muy utilizado, sin embargo presenta ciertas dificul-
tades en su aplicación:
3. Hasta las últimas fases del proceso no existirá una versión del programa ca-
paz de ser utilizado, de tal manera que los posibles errores de diseño o de
definición de requisitos tienen consecuencias graves cuando se realizan las
pruebas.
-23-
LOS PROYECTOS DE INGENIERÍA
EVALUACIÓN Análisis y
DE PROPUESTAS Diseño
CONFECCIÓN
DEL PROYECTO Codificación
EJECUCIÓN Prueba
SATISFACCIÓN
DE NECESIDADES Mantenimiento
-24-
LOS PROYECTOS DE INGENIERÍA
Al igual que en el ciclo de vida clásico, debe comenzarse con la especificación de requi-
sitos por parte del cliente, a continuación el ingeniero del software realizará un diseño
rápido en el que se centrará en la entrada y salida de datos y, en general, en los aspec-
tos del software visibles para el usuario.
Definición
de Requisitos
Producto Diseño
Final Rápido
Construcción
Revisión del Prototipo
Evaluación
con el Cliente
Construido un prototipo, se pasará a evaluar éste con el usuario, que definirá nuevos
requisitos o redefinirá los anteriores.
-25-
LOS PROYECTOS DE INGENIERÍA
trega inmediata del software. Por otro lado es posible que el diseñador, por tratarse de
un prototipo, utilice herramientas o lenguajes de programación inadecuados con la inten-
ción de modificarlos con posterioridad, pero a lo largo del proceso, quizá influido por las
presiones del cliente, se dé por satisfecho aún a sabiendas de la falta de optimización.
-26-