C Computer
A Aided
Assisted
Automated
S Software
Systems
E Engineering
En The CASE Experience, Carma McClure, BYTE Abril 1989 p.235 se ofrece la
siguiente definición:
1
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
El ciclo de vida del software es entendido como la secuencia de fases por las cuales
atraviesa un proyecto de desarrollo de software desde su concepción hasta el fin del uso
del producto software obtenido, pasando por su construcción y mantenimiento.
y un método como:
Una metodología en Decline & Fall of the American Programmer, Edward Yourdon,
Yourdon Press 1993 es definida como:
“Un plan de batalla paso a paso, o libro de cocina, para ejecutar algún
resultado deseado. Una metodología de software usualmente identifica
las principales actividades- por ejemplo, análisis, diseño, codificación
y pruebas- a ser realizadas e indica qué personas (usuarios,
administradores, técnicos) deben estar involucrados en cada actividad
y qué papel desempeñan en ellas. Las metodologías a menudo
describen criterios de entrada (por ejemplo condiciones para comenzar
una fase), criterios de salida y puntos de revisión”
A veces se utiliza ciclo de vida como sinónimo de metodología pues cada metodología
ofrece su particular visión de las fases por las cuales debe pasar un proyecto de
desarrollo de software.
Un método es entendido como un enfoque técnico para ser utilizado en toda o parte de
una metodología. Tanto las metodologías como los métodos están basados en diversas
técnicas principalmente gráficas y/o textuales.
2
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
Las siguientes son algunas actividades típicamente incluidas en el ciclo de vida del
software: planificación del proyecto, gestión del proyecto, análisis, diseño, codificación,
pruebas, documentación, mantenimiento, validación y verificación.
Los esfuerzos iniciales por resolver la “Crisis del Software” se orientaron en el ámbito
de la codificación, apareciendo las primeras técnicas de programación. A fines de los
60’s y comienzos de los 70’s surgieron gran cantidad de técnicas para programar y
documentar programas. Un ejemplo representativo lo constituyen la Programación
Estructurada y los Diagramas de Flujo. Sin embargo, las mejoras introducidas al
proceso de desarrollo no eran suficientes.
A fines de los 70’s y comienzos de los 80’s la atención se centró en resolver problemas
de especificación, diseño, métricas y gestión dentro del desarrollo de software. Es decir,
el interés fue dirigido a otras actividades del desarrollo dentro del ciclo de vida del
software.
Metodologías Estructuradas
3
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
Las primeras herramientas para apoyar el proceso de desarrollo de software fueron los
editores y procesadores de texto, usados para escribir programas y su documentación.
Así, también algunos programas de dibujo comenzaron a incorporar las notaciones
gráficas de técnicas para diseño de programas.
2. Aplicar una o varios metodos de forma integrada cubriendo todas las actividades
del ciclo de vida del software
3. Usar una herramienta CASE para apoyar la aplicación de los métodos utilizados.
4
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
Si consideramos que cada nivel debe implicar al anterior, se pone de manifiesto que la
sola utilización de una herramienta CASE no garantiza una mejora en el proceso de
desarrollo de software.
Por otra parte, las metodologías incluyen gran cantidad de técnicas, y el esfuerzo de
documentación (y actualización de dicha documentación) es por lo general
considerable. Por lo tanto, es difícil aplicar una metodología sin la ayuda de una
herramienta CASE. Así, los beneficios de utilización de un CASE se entremezclan con
los beneficios de aplicar una metodología con éxito. El valor agregado indudable de
utilizar un CASE es el aumento en la productividad en las actividades soportadas por la
herramienta.
Mientras los costos del hardware han ido en continuo descenso, sucede todo lo contrario
con los costos del software. Las exigencias en complejidad y envergadura han
sobrepasado a las mejoras en cuanto a métodos de desarrollo. El uso de metodologías de
desarrollo junto a herramientas CASE no es una panacea, pero sin lugar a dudas ofrece
la mejor alternativa actual para enfrentar proyectos de desarrollo de software de
complejidad y/o envergadura.
El beneficio adicional obtenido por la utilización de un CASE actual (si se compara con
la utilización de una metodología sin el uso de un CASE) se representa en los siguientes
aspectos:
5
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
System Architect (SA) es una herramienta CASE. SA provee soporte para técnicas
variadas para el desarrollo de sistemas de información. Dichas técnicas están asociadas
a las principales metodologías actualmente en uso. SA permite generar automáticamente
plantillas de código en varios lenguajes de programación y también esquemas de
implementación para gestores de bases de datos relacionales.
La primera entrada que hay que proporcionar es el Audit Id, un identificador del usuario
para propósitos de auditoría (control de cambios realizados sobre la enciclopedia). La
pantalla al inicio de sesión se presenta como lo muestra la Figura 2.2.1 en la cual se
indican las principales secciones. El Browser permite acceder a la enciclopedia, la
información registrada está agrupada en diagramas y definiciones. El Toolbox ofrece el
conjunto de símbolos que pueden ser dibujados en un diagrama y varía dependiendo del
tipo de diagrama que este activo. El Toolbar contiene comandos del Menu Bar que son
frecuentemente utilizados.
6
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
Menubar Toolbar
Toolbox
7
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
En la Figura 2.4.1 se seleccionan las técnicas que se utilizarán. Cada técnica tiene
asociado un conjunto de diagramas. Además se establece el sistema gestor de bases de
datos y el lenguaje de programación. Estas elecciones determinan ciertas propiedades
relacionadas con la generación automática del diseño físico de la base de datos y de
plantillas de código en el lenguaje de programación. Con el botón Advanced se accede
a un cuadro de diálogo donde es posible modificar la lista detallada de diagramas y
propiedades disponibles.
8
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
3 Creando un Diagrama
Mediante la opción del Menu Bar File | New Diagram o usando el correspondiente
botón en el Toolbar, se accede a la pantalla de diálogo Figura 3.1. En ella introducir el
nombre del diagrama a construir y seleccionar su tipo. Posteriormente se activará una
ventana de dibujo para el diagrama y aparecerá la Toolbox asociada al tipo de diagrama.
Figura 3.1
Básicamente, un diagrama está compuesto de símbolos (los disponibles en la Toolbox).
La forma de conectar símbolos puede ser modificada accediendo a Format | Symbol
Style | Line. Cada símbolo puede ser descrito por una definición. Estas definiciones
constituyen parte de la enciclopedia de la herramienta y pueden ser compartidas por
diferentes diagramas. SA mantiene independencia entre las propiedades de los símbolos
dibujados y las definiciones asociadas. Es decir, al dibujar un símbolo no es obligatorio
proporcionarle propiedades (nombre y descripción por ejemplo) ni una definición (una
definición de clase, si el símbolo representa a una clase). De la misma forma, el símbolo
podría tener propiedades y no tener una definición asociada.
Figura 3.2
Para efectuar alguna operación sobre uno o más símbolos, estos se seleccionan
pinchando una vez (si son más de uno se utiliza la tecla Shift). Posteriormente se debe
escoger la operación a realizar en el Menu Bar o presionando el botón derecho del
ratón; en este caso aparece una lista de opciones similar a la que se muestra en la
Figura 3.2.
9
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
Al mismo tiempo pueden estar varios diagramas abiertos. Para cerrar un diagrama lo
más directo es presionar el botón derecho del ratón y seleccionar la opción Close. Para
eliminar el diagrama que está activo utilizar File | Delete Diagram. Si el diagrama que
se desea eliminar no está activo seleccionarlo en el Browser y con el botón derecho del
ratón elegir Delete.
Para modificar un diagrama o una definición acceder al Browser mediante File | Open
Diagram o usando el botón correspondiente en el Toolbar. En el Browser seleccionar
diagramas o definiciones según se desee. En la parte inferior del Browser aparecerá el
diagrama reducido (ejemplo en Figura 4.1) o una descripción de la definición
seleccionada. A continuación hacer doble click sobre la entrada que se desea modificar.
Figura 4.1
5 Reusando definiciones
10
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
Figura 5.1
Una oportunidad de reutilizar definiciones se presenta cuando se está definiendo algun
elemento y debe introducirse un elemento subordinado ya definido, en este caso, existirá
un botón llamado Choices ... el cual presenta un lista de definiciones del mismo tipo ya
registradas en el repositorio. Se puede seleccionar una de ellas y arrastrarla sobre el
cuadro de texto activo. En la Figura 5.1 se muestra un ejemplo de lo anterior. En la
definición de los atributos de una clase, mediante el botón Choices... se presenta una
lista de los atributos ya definidos.
Los diagramas describen algún aspecto en particular del sistema. Cuando el sistema
tiene cierta envergadura representar dicho aspecto en un solo diagrama puede resultar
difícil de manipular y comprender. En este caso es conveniente descomponer la
descripción del aspecto que se está modelando en varios diagramas del mismo tipo,
creando una jerarquía de diagramas mediante relaciones padre-hijo entre ellos. La
mayoría de las técnicas proveen pautas para realizar dicha descomposición y establecen
criterios de corrección entre diagramas padre-hijo. El proceso de verificación y
corrección de dichos criterios se denomina comúnmente balanceo de diagramas. Por
ejemplo, en Análisis Estructurado el procedimiento de crear diagramas hijos se
denomina explosión de proceso, para lo cual se realiza balanceo de DFDs, verificando
por ejemplo que las entradas y salidas del proceso padre (en el diagrama padre) se
correspondan con las entradas y salidas en el diagrama hijo.
11
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
forma de árbol. La Figura 6.1 presenta un caso de diagramas relacionados y cómo ellos
son presentados en el Browser.
Figura 6.1
En el diagrama padre, un símbolo que tiene asociado un diagrama hijo tiene un
indicador de expansión en la parte superior. Esta situación se ilustra en la Figura 6.2,
donde el símbolo P tiene en su parte superior el indicador de expansión por tener
asociado un diagrama hijo.
P
Cliente Número Tarjeta Cajero
PIN Automático
Listado Movimientos
Datos Saldo
Figura 6.2
Cuando un símbolo tiene un diagrama hijo asociado, las opciones Child Create o Child
Attach son reemplazadas por Child Detach y Child Open las cuales permiten deshacer
el vínculo o acceder al diagrama hijo. En el diagrama hijo, al presionar el botón derecho
sobre un área sin símbolos, se ofrecen las opciones Parent y Top, con las cuales se
accede al diagrama padre o al diagrama en el tope de la jerarquía de diagramas.
12
Metodología y Tecnología de la Programación. Departamento de Sistemas Informáticos y Computación.
EUI - FI . Universidad Politécnica de Valencia.
13