unidad ii el ciclo de vida de sistemas y sus … · puede utilizar esta información para la...

15
UNIDAD II EL CICLO DE VIDA DE SISTEMAS Y SUS ETAPAS 1.1 ¿Qué son los sistemas informáticos? Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien se considere oportuno. Un sistema puede ser tan simple como: una persona tiene un microordenador y le introduce datos tan elementales, como por ejemplo las ventas diarias de una pequeña empresa, se produce una entrada por cada venta y en ella se declara el elemento vendido, por ejemplo un yogur, la cantidad de elementos vendidos, por ejemplo cuatro y el precio de venta unitario, por ejemplo 0.17 euros. Cada entrada se almacena como un registro de un fichero en el disco. Al finalizar el día se puede obtener un informe de las ventas y las tendencias. El usuario puede utilizar esta información para la gestión de almacén o planificar campañas publicitarias. Habitualmente una empresa tiene más de un ordenador, por ejemplo uno para la gestión de ventas y otro para la contabilidad y procesos asociados. Sin embargo la mayor parte de los sistemas son más complejos. Los sistemas de información tienen muchas cosas en común, la mayoría de ellos están formados por: - Personas son un componente esencial en cualquier sistema de información, producen y utilizan la información de sus actividades diarias para decidir lo que se debe hacer. Las decisiones pueden ser rutinarias o complejas. - Procedimientos, los sistemas de información deben sopor- tar diversas clases de actividades del usuario, por eso han de establecerse procedimientos que aseguren que los datos correctos llegan a las personas adecuadas en su momento justo. - Equipo, es decir los ordenadores y todos los dispositivos necesarios. 1.2 Ingeniería del software Según la definición del IEEE, "software es la suma total de los programas de ordenador, procedimien- tos, reglas, la documentación asociada y los datos que pertenecen a un sistema de cómputo" y "un producto de software es un producto diseñado para un usuario". En este contexto, la Ingeniería de Software (SE del inglés "Software Engineering") es un enfoque sistemático del desarrollo, operación, mantenimiento y retiro del software. Su origen se debe a que el entorno actual de desarrollo de sistemas software viene adoleciendo de: Retrasos considerables en la planificación Poca productividad Elevadas cargas de mantenimiento Demandas cada vez más desfasadas con las ofertas Baja calidad y fiabilidad del producto Dependencia de los realizadores Esto es lo que se ha denominado comúnmente "crisis del software", que se ha originado histórica- mente en los siguientes pasos: - Primera Fase. Los albores (1945-1955) Programar no es una tarea diferenciada del diseño de una máquina Uso de lenguaje máquina y ensamblador

Upload: vuhanh

Post on 28-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

UNIDAD II

EL CICLO DE VIDA DE SISTEMAS Y SUS ETAPAS

1.1 ¿Qué son los sistemas informáticos?

Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien se considere oportuno. Un sistema puede ser tan simple como: una persona tiene un microordenador y le introduce datos tan elementales, como por ejemplo las ventas diarias de una pequeña empresa, se produce una entrada por cada venta y en ella se declara el elemento vendido, por ejemplo un yogur, la cantidad de elementos vendidos, por ejemplo cuatro y el precio de venta unitario, por ejemplo 0.17 euros. Cada entrada se almacena como un registro de un fichero en el disco. Al finalizar el día se puede obtener un informe de las ventas y las tendencias. El usuario puede utilizar esta información para la gestión de almacén o planificar campañas publicitarias. Habitualmente una empresa tiene más de un ordenador, por ejemplo uno para la gestión de ventas y otro para la contabilidad y procesos asociados. Sin embargo la mayor parte de los sistemas son más complejos. Los sistemas de información tienen muchas cosas en común, la mayoría de ellos están formados por:

- Personas son un componente esencial en cualquier sistema de información, producen y utilizan la información de sus actividades diarias para decidir lo que se debe hacer. Las decisiones pueden ser rutinarias o complejas.

- Procedimientos, los sistemas de información deben sopor-tar diversas clases de actividades del usuario, por eso han de establecerse procedimientos que aseguren que los datos correctos llegan a las personas adecuadas en su momento justo.

- Equipo, es decir los ordenadores y todos los dispositivos necesarios.

1.2 Ingeniería del software

Según la definición del IEEE, "software es la suma total de los programas de ordenador, procedimien-tos, reglas, la documentación asociada y los datos que pertenecen a un sistema de cómputo" y "un producto de software es un producto diseñado para un usuario". En este contexto, la Ingeniería de Software (SE del inglés "Software Engineering") es un enfoque sistemático del desarrollo, operación, mantenimiento y retiro del software.

Su origen se debe a que el entorno actual de desarrollo de sistemas software viene adoleciendo de:

Retrasos considerables en la planificación Poca productividad Elevadas cargas de mantenimiento Demandas cada vez más desfasadas con las ofertas Baja calidad y fiabilidad del producto Dependencia de los realizadores

Esto es lo que se ha denominado comúnmente "crisis del software", que se ha originado histórica-mente en los siguientes pasos:

- Primera Fase. Los albores (1945-1955) Programar no es una tarea diferenciada del diseño de una máquina Uso de lenguaje máquina y ensamblador

- Segunda Fase. El florecimiento (1955-1965) Aparecen multitud de lenguajes. Era posible hacer casi todo

- Tercera Fase. La crisis (1965-1970) Desarrollo inacabable de grandes programas Ineficiencia, errores, coste impredecible. Nada es posible

- Cuarta Fase. Innovación conceptual (1970-1980) Fundamentos de programación Verificación de programas. Metodologías de diseño

- Quinta Fase. El diseño es el problema (1980-?) Entornos de programación Especificación formal. Programación automática

¿Cómo se define crisis?

La palabra crisis se define en el diccionario como "un punto decisivo en el curso de algo; momento, etapa, o evento decisivo o crucial". Sin embargo para el software no ha habido ningún punto crucial, sólo una lenta evolución.

La crisis en la industria del software ha permanecido durante muchos años, lo cual parece una contra-dicción para el término. Lo que si se podría decir es que hay un problema crónico en el desarrollo de software.

Ello ha venido originado por una falta de:

Formalismo y metodología Herramientas de soporte Administración eficaz

Actualmente está surgiendo una gran expectativa ante la evolución de la Ingeniería del Software, al ir apareciendo nuevos métodos y herramientas formales que van a permitir en el futuro un plantea-miento de ingeniería en el proceso de elaboración de software. Dicho planteamiento vendrá a paliar la demanda creciente por parte de los usuarios, permitiendo dar respuesta a los problemas de:

Administración Calidad Productividad Fácil mantenimiento

Este último es uno de los grandes problemas, pues puede llegar a suponer un importe superior al 60%

El término Ingeniería, se define en el Diccionario de la Real Academia Española de la Lengua, como:

provechosas para el hombre"

del total del coste del software.

Las nuevas metodologías suponen un enfoque integral del problema, abarcando todas las fases, que en su mayoría no se consideraba en los desarrollos tradicionales. En particular son fundamentales la reducción de costes y plazos, así como la calidad del producto final. Estas tecnologías constituyen la denominada "Ingeniería del Software", que se puede definir como "el tratamiento sistemático de todas las fases del ciclo de vida del software". Hay otras definiciones, pero todas inciden en la impor-tancia de una disciplina de ingeniería para el desarrollo de software.

Definición del término "Ingeniería del Software"

1. Conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía. Profesión y ejercicio del ingeniero y el tér2. mino ingeniero se define como: Persona que profesa o ejerce la ingeniería.

La Real Academia de Ciencias Exactas, Físicas y Naturales de España, define el término Ingeniería co-mo "Conjunto de conocimientos y técnicas cuya aplicación permite la utilización racional de los materiales y de los recursos naturales, mediante invenciones, construcciones u otras realizaciones

Evidentemente, al ser una nueva ingeniería, no está incluida su definición en las referencias citadas, aunque si reúne sus propiedades.

Revisando definiciones, a nivel internacional, se pueden citar como adecuadas, las siguientes:

Definición 1:

Es el estudio de los principios y metodologías para desarrollo de sistemas de software.

Definición 2:

Es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de documentación adecuada para desarrollar, operar y mantenerlos. ordenador y la

Definición 3:

Se trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de . modo rentable

Definición 4:

La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y man-ware.

HM

tenimiento de soft

Seguidamente se dan algunas definiciones ampliamente aceptadas dentro de la informática:

DEFINICIONES DE BOE

dos a un ente a un sistema computacional.

acen útiles al hombre en estructuras,

- hacen útiles al hombre a través de programas

DEFINIC

- Software es el conjunto de programas, procedimientos y documentación asociasistema, y particularm

- Ingeniería es la aplicación de la ciencia y las matemáticas mediante lo cual las propiedades de la materia y las fuentes de energía de la naturaleza se hmáquinas, productos, sistemas y procesos.

Ingeniería de software es la aplicación de la ciencia y las matemáticas mediante la cual la capacidad de los equipos computacionales se de computador, procedimientos y la documentación asociada.

ION DE BAUER

ía del Software es el establecimiento y uso de firmes principiosIngenier y métodos de ingeniería para software fiable y que funcione en máquinas reales.

se realizaba sin ningu-

empresas dedicadas al desarrollo y distribución masiva del mismo. El origen

ron mucho en su complejidad, y nacieron las redes de ordenadores. Esto supuso mucha

. La industria del software tiene un

la obtención económica de

Durante los primeros años de la informática, el software se consideraba como un añadido. La progra-mación era un "arte", para el que no existían metodologías, era un proceso quena planificación. En esta época toda la programación se desarrollaba a medida para cada aplicación, y en consecuencia tenía muy poca difusión, habitualmente quien lo escribía era porque lo necesitaba, y era quien lo mantenía.

En una segunda época (a partir de mitad de la década de 1960) se estableció el software como pro-ducto y aparecieron las del término Ingeniería del Software, se atribuye a dos conferencias organizadas por la OTAN en 1967 y 1968.

La tercera era comenzó a mediados de la década de 1970, época en la que los sistemas informáticos aumentapresión para los desarrolladores, aunque los ordenadores para uso personal, apenas estaban difundi-dos. Esta época acabó con la aparición de los microprocesadores.

La cuarta era de la evolución de los sistemas informáticos, comienza hacia 1990 y se dirige al impacto colectivo de los ordenadores y el software, en todos los entornosgran peso en la economía mundial. Aparecen las técnicas de redes neuronales, junto con la lógica difusa.

Hoy en día el software tiene un doble papel. Es un producto, pero simultáneamente es el vehículo para hacer entrega de un producto. Como producto permite el uso del hardware, ya sea, por ejemplo,

alabra ingeniería tiene una

es a un amplio espectro de campos, tales como negocios, investigación científi-

rrollo de

obre importantes proyectos de software que han dado resultados ma-

mecánica como buscar un gato negro en una habitación iluminada.

nde no hay

La i u

En los a entaristas especializados criticaban a la industria del a falta de inversión en las fábricas. Las fábricas habían comenzado a deteriorar-

ncia, la industria del metal perdió una parte de mercado muy significativa,

crí-

n, de lo contrario no serán competitivos en este nuevo siglo. Desa-

un ordenador personal, un teléfono móvil. Como vehículo utilizado para hacer entrega del producto, actúa como base de control, por ejemplo un sistema operativo, o un sistema gestor de redes. El soft-ware hace entrega de lo que se considera como el producto más importante del siglo veintiuno, la información. El software transforma datos personales para que sean más útiles en un entorno local, gestiona información comercial para mejorar la competitividad, proporciona el acceso a redes a nivel mundial, y ofrece el medio de adquirir información en todas sus formas.

Actualmente se considera la Ingeniería del Software como una nueva área de la ingeniería, y la profesión de ingeniero informático es una de las más demandadas. La pconnotación de prestigio que provoca que muchas ramas del conocimiento tiendan a autodenominarse así.

La ingeniería del software trata áreas muy diversas de la informática y de las ciencias de la computación, aplicablca, medicina, producción, logística, banca, meteorología, derecho, redes, entre otras muchas.

Sin embargo, es frecuente que en la práctica diaria profesional no se incluya prácticamente ninguna de las recomendaciones más elementales de la ingeniería del software. Es habitual que el desasoftware se parezca más al descontrol del cuento de «si los programadores fueran albañiles...» que a una idílica y bien organizada "factoría de software" (concepto de gran vigencia a fines de los ochenta).

De hecho, las evaluaciones de los procesos productivos de software realizadas a raíz de los modelos de procesos de software confirman que el desarrollo de software suele estar básicamente en estado caótico. Y no sólo en pequeñas empresas de países como España, sino en grandes proyectos en naciones como EE UU y Japón.

Como ejemplo de que la ingeniería del software es en la actualidad imprescindible, la revista satírica inglesa Private Eye dio detalles slos. Entre ellos destacan los del servicio de ambulancias Asinfor de Londres, el servicio de sanidad re-gional de Wessex, la Sociedad para los derechos de autor y el sistema de manejo de equipajes del aero-puerto de Denver.

De una forma humorística se hace la siguiente comparación con otras ingenierías: - Ingeniería - Ingeniería química como buscar un gato negro en una habitación oscura. - Ingeniería software como buscar un gato negro en una habitación oscura do

ningún gato. - Ingeniería de sistemas como buscar un gato negro en una habitación oscura donde no hay

gato y alguien dice !!! Lo encontré!!!.

nd stria envejece

ños 50 y 60 del siglo XX, muchos commetal en EE.UU. por lse, no se aplicaban los métodos de producción modernos, la calidad quedaba en entredicho, y sin embargo el coste del producto final subía, como consecuencia la competencia externa ganó una cuota de mercado considerable.

La dirección de esas industrias no decidió invertir capital para mantenerse competitivas en el entorno industrial. Como consecuebeneficiando a las industrias extranjeras, que tenían fábricas más modernas en todos sus aspectos.

Actualmente la industria del software está en una situación análoga. A todos los niveles se tiene una "fábrica de software" que envejece, hay miles de aplicaciones basadas en software en una situación tica y necesitan su renovación urgente, aunque con la llegada del año 2000 y sus temidos efectos, parte del software se puso al día.

El futuro no pasa por "reparar" lo que está mal, y cambiar la imagen de las aplicaciones, se necesita una reingeniería o reestructuració

fortunadamente, muchos directores de empresas no están dispuestos a comprometer los recursos, pues piensan que en funcionando una aplicación, no es necesario nada más.

1.3 Ciclo de desarrollo

lógico, por lo que tiene unas características muy diferentes a las del hard-

nstrucción de un "producto", pero los métodos son diferentes. Los costes del software se en-

s fallos (normalmente

a los ma-

e construye a

ue ya se están dando los primeros pasos en esta dirección, que facilitaría tanto

l desarrollo del software o ciclo de vida del desarrollo. Se

El software es un elementoware:

El software se desarrolla, no se fabrica en el sentido clásico de la palabra. Ambas actividades se dirigen a la cocuentran en la ingeniería, esto implica que los proyectos no se pueden gestionar como si lo fueran de fabricación. A mediados de la década de 1980, se introdujo el concepto de "fábrica de software", que recomienda el uso de herramientas para el desarrollo automático del software.

Si se representa gráficamente la proporción de fallos en función del tiempo, para el hardware se tiene la figura conocida como "curva de bañera". Al principio de su vida hay bastantepor defectos de diseño y/o fabricación), una vez corregidos se llega a un nivel estacionario (bastante bajo). Sin embargo conforme pasa el tiempo, aparecen de nuevo, por efecto de: mala calidad, sucie-dad, malos tratos, temperaturas extremas y otras causas. El hardware empieza a estropearse.

El software no se estropea. La gráfica de fallos en función del tiempo, tendría forma de caída desde el principio, hasta mantenerse estable por tiempo casi indefinido. El software no es susceptibleles del entorno que provocan el deterioro del hardware. Los efectos no detectados harán que falle el programa durante las primeras etapas de su vida, sin embargo una vez corregidas, no se producen nuevos errores. Aunque no se estropea, si puede deteriorarse. Esto sucede debido a los cambios que se efectúan durante su vida.

Cuando un compo-nente hardware se estropea, se cambia por otro que actúa como una "pieza de repuesto", mientras que para el software, no es habitual este proceso, lo cual sig-nifica que el mante-nimiento de los pro-gramas es muy com-plejo.

La mayoría del soft-ware smedida, en vez de ensamblar compo-nentes previamente creados. Por contra en el hardware se dispone de todo tipo de circuitos integra-dos, para fabricar de mesta comodidad, aunqel desarrollo de aplicaciones informáticas.

La formalización del proceso de desarrollo se define como un marco de referencia denominado ciclo de desarrollo del software o ciclo de vida de

anera rápida un equipo completo. Los ingenieros de software no disponen de

puede describir como, "el período de tiempo que comienza con la decisión de desarrollar un produc-to software y finaliza cuando se ha entregado éste". Este ciclo, por lo general incluye las fases:

1. Requisitos 2. Diseño 3. Implantación

En g cada área está asociada a una actividad específica del desarrollo, y se le asigna un por cia (que suele variar en cada caso) en el costo del desarrollo que corresponde al

acerca del uso y la forma del modelo,

nvencional

ujo por Winston Royce en la década de 1970, como una técnica rígida para mejorar la cali-o de software. Tradicionalmente es conocido como "modelo en

te para el

n completa y

structura de control y de la estructura de datos del producto, así como un esquema de los

es de relación, dimensionamiento y algoritmos claves de cada

rama.

4. Prueba 5. Instalación

ión 6. Aceptac

la fi ura anterior centaje de inciden

número en ella inscrito. El área designada operaciones comprende las actividades comúnmente aso-ciadas al desarrollo de sistemas de información administrativos, mientras que el resto corresponde a actividades asociadas al desarrollo de software como producto.

El ciclo de desarrollo software se utiliza para estructurar las actividades que se llevan a cabo en el desa-rrollo de un producto software. A pesar de que no hay acuerdo este sigue siendo útil para la comprensión y el control del proceso.

Seguidamente se exponen las distintas aproximaciones de desarrollo de software, en función del tipo de ciclo de vida:

A) Aproximación Co

Se introddad y reducir los costos del desarrollcascada", porque su filosofía es completar cada paso con un alto grado de exactitud, antes de iniciar el siguiente.

Esquemáticamente se puede representar como:

FACTIBILIDAD: Definir un concepto preferenproducto de software y deter-minar su factibilidad de ciclo de vida y superioridad frente a otros conceptos.

REQUERIMIENTOS: Elaborar una especificacióvalidada de las funciones re-queridas, sus interfaces y el rendimiento del producto de software.

DISEÑO: Elaborar una especificare, de la e

ción completa y validada de la arquitectura global hardware-softwa-

manuales de usuarios y planes de test.

DISEÑO DETALLADO: Elaborar una especificación completa y verificada de la estructura de control, de la estructura de datos, de las interfaccomponente de programa (rutina con un máximo de 100 instrucciones fuentes).

CODIFICACION: Construir un conjunto completo y verificado de componentes de programas.

INTEGRACION: Hacer funcionar el producto de software compuesto de componentes de prog

IMPLEMENTACION: Hacer funcionar el sistema global hardware-software incluyendo conversión de programas y datos, instalación y capacitación.

OPERACION Y MANTENCION: Hacer funcionar una nueva versión del sistema global.

TRANSICION: Realizar una sucesión limpia de este a otros eventuales productos.

ncia entre un CORRECTAMENTE

s los requisitos del sistema:

ario establecer al inicio todos los requisitos. En otras

stosa.

n este

usión.

modar estas incertidumbres.

oso, si se descubre al final del proceso.

B) Aproxim

s habitual que en un proyecto software no se identifiquen los requisitos detallados de entrada, pro-os no se está seguro de la eficiencia de un algoritmo, o de la forma en

consiste en realizar la fase de definición de

En cada caso, "verificación" tienen la acepción: establecer la verdad de la correspondeproducto de software y su especificación. Es decir: ¿ESTAMOS CONSTRUYENDOEL PRODUCTO?

Los principales problemas que se han detectado en esta aproximación son debidos a que se comienza estableciendo todo

En muchas ocasiones no es posible disponer de unas especificaciones correctas desde el primer momento, porque puede ser difícil para el usuhay cambio de parecer de los usuarios sobre las necesidades reales cuando ya se ha comenzado el proyecto, siendo probables los verdaderos requisitos no se reflejen en el producto final

Otro de los problemas de esta aproximación es que los resultados no se ven hasta muy avanzado el proyecto, por lo tanto la realización de modificaciones, si ha habido un error, es muy co

Esta aproximación es la más empleada por los ingenieros informáticos, aunque ha sido muy criticada, y de hecho se ha puesto en duda su eficacia. Entre los problemas que se pueden encontrar comodelo, se tienen:

- Los proyectos raras veces siguen el modelo secuencial que se supone. Los cambios pueden causar conf

- Es difícil disponer en principio de todos los requisitos. Este modelo presenta dificultades en el momento de aco

- La versión operativa de los programas no está disponible hasta que el proyecto está muy avanzado. Un error importante puede ser desastr

- Los responsables del desarrollo siempre se retrasan innecesariamente. Algunos integrantes del equipo de desarrollo han de esperar a otros para completar tareas pendientes.

ación prototipo

Ecesamiento o salida. En otros casque se ha de implantar la interfaz hombre-máquina.

En casos así, lo habitual es construir un prototipo, que idealmente sirviera como mecanismo para identificar los requisitos del software. Esta aproximaciónrequisitos del sistema en base a estos tres factores:

Un alto grado de iteración Un muy alto grado de participación del usuario ipos

Las m

Un uso extensivo de protot

pre isas clave de esta aproximación son:

Que los prototipos constituyen un medio mejor de comunicación que los modelos en papel

Que la iteración es necesaria para canalizar, en la dirección correcta, el proceso de

El p lconsidefacilidad de mantenimiento. Cuando se les dice, que el producto es a partir de entonces cuando se

aprendizaje. Esta aproximación se enfoca a mejorar la efectividad del proceso de desarrollo yno a mejorar la eficacia de ese proceso.

rob ema, es que los usuarios finales, ven lo que parece ser una versión de trabajo del software, sin rar que no es la versión definitiva y por lo tanto no se han considerado aspectos de calidad o

debe de empezar a "fabricar", no lo entiende y empieza de nuevo con ajustes, lo cual hace este proceso muy lento.

C) Aproximación evolutiva

En esta aproximación el énfasis está en lograr un sistema flexible y que se pueda expandir de forma que se pueda realizar muy rápidamente una versión modificada del sistema cuando los requisitos cambien.

Se diferencia de la aproximación anterior, en que en esta los requisitos cambian continuamente, lo cual implicaría en el caso previo que las iteraciones no tendrían fin.

D) Aproximación incremental

Es un concepto muy parecido al de desarrollo evolutivo, y frecuentemente comprendido en la aproxi-mación del desarrollo evolutivo. Se comienza el desarrollo del sistema para satisfacer un subconjunto de requisitos especificados. Las últimas versiones prevén los requisitos que faltan. De esta forma se logra una rápida disponibilidad del sistema, que aunque incompleto, es utilizable y satisface algunas de las necesidades básicas de información.

La diferencia con la aproximación anterior es que en este caso cada versión parte de una previa sin cambios pero con nuevas funciones, mientras que la aproximación evolutiva cada vez se desarrolla una nueva versión de todo el sistema.

Un ejemplo de este paradigma se tiene en el desarrollo de una aplicación sencilla, como es un editor de textos. En el primer incremento se podría desarrollar con un reducido conjunto de funciones, como las funciones básicas de gestión de archivos. En un segundo incremento, se puede incluir la gestión avanzada de textos. Y en un tercer incremento se pondría la corrección ortográfica.

E) Aproximación espiral

Nace con el objetivo de captar lo mejor de la aproximación convencional y de la de prototipo, aña-diendo un nuevo componente, el análisis de riesgos. Esquemáticamente se puede ilustrar mediante una espiral, con cuatro cuadrantes que definen actividades.

En la primera vuelta de la espiral se definen los objetivos, las alternativas y las restriccio-nes y se analizan y se identifican los riesgos. Si como consecuencia del análisis de riesgo se observa que hay incertidumbre sobre el pro-blema entonces en la actividad correspon-diente a la ingeniería se aplicará la aproxima-ción prototipo cuyo beneficio principal es el de reducir la incertidumbre de la naturaleza del problema de información y los requeri-mientos que los usuarios establecen para la solución a ese problema.

Al final de esta primera vuelta alrededor de la espiral el usuario evalúa los productos obte-nidos y puede sugerir modificaciones. Se co-menzaría avanzando alrededor del camino de la espiral realizando las cuatro actividades indicadas a continuación. En cada vuelta de la espiral, la actividad de ingeniería se desa-rrolla mediante la aproximación convencio-nal o ciclo de desarrollo en cascada o me-diante la aproximación de prototipos.

Actividades

Acciones Planificación Determinación de alternativas, identificación y resolución de riesgos Ingeniería Desarrollo y verificación del producto de siguiente nivel Evaluación del cliente Valoración de los resultados del proceso de desarrollo

F) Aproximación basada en transformaciones

Con la aparición de las herramientas CASE junto con los generadores de código, el ciclo de desarrollo software en cascada ha cambiado a un ciclo de vida basado en transformaciones.

CASE (Computer Aided Software Engineering), en castellano "Ingeniería de software Asistida por Computadora", es un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información.

La utilización de herramientas CASE afecta a todas las fases del ciclo de vida del software. Este ciclo de vida se puede considerar como una serie de transformaciones. Primero se definen los requisitos del sistema, seguidamente existe un proceso de transformación que hace que la especificación se convier-ta en un diseño lógico del sistema. Posteriormente, este sufre otro proceso de transformación para lo-grar un diseño físico, es decir que responda a la tecnología destino.

La tecnología CASE propone que estos procesos de transformación sean lo más automatizables posi-ble. Sus ventajas son:

Posibilidad de comprobación de errores en etapas iniciales de desarrollo Posibilidad de realizar el mantenimiento en el ámbito de especificación Soporte de rastreabilidad de los requisitos Soporte de reusabilidad Potencia la especificación orientada al problema

.4. Metodología CASE para el desarrollo de sistemas

formáticos, al agilizar y optimizar el almacenamiento, difusión y procesamiento de la

ición de nueva tecnología con-

ciertas funciones

zación es importante tener en cuenta que:

1

Introducción

Los sistemas ininformación, mejoran la producción de las organizaciones que los emplean para la automatización de sus funciones. Sin embargo, si no se tienen en cuenta ciertos elementos en el diseño e implantación, no siempre la automatización significa un aumento de la producción.

Hay que considerar por un lado, que hay un costo asociado a la adquissistente en equipos y programas; y por otro, que aún teniendo la tecnología más moderna, la automa-tización puede ser ineficiente y no operativa si no se realizó previamente un análisis de las necesida-des de la organización, de las diferentes ofertas tecnológicas en el mercado y un diseño de los sistemas adecuado tanto a las funciones de la organización como a la tecnología empleada.

Por ejemplo, en la actualidad es muy común automatizar de manera independientede una organización utilizando computadoras personales y paquetes comerciales económicos. En un principio este tipo de sistemas pueden satisfacer las necesidades de la función automatizada, pero posteriormente cuando es necesario contar con accesos flexibles de información consistente y que en-globe todas las funciones de la organización, dichos sistemas se vuelven inadecuados, otra posibilidad es que debido a la falta de un dimensionamiento previo del sistema, el equipo adquirido puede resul-tar a corto plazo insuficiente u obsoleto.

Por lo tanto, antes de iniciar una automati

a) Las organizaciones son complejas y realizan diversas funciones que están relacionadas entre

b) , cada vez hay mayor variedad de equipos y sistemas mas po-

c)

Por unde en

uerimientos del usuario.

Como estas etapas a su vez son muy elaboradas, han surgido varias metodologías que permiten reali-

.4.1. Etapas en el método CASE

nálisis y desarrollo del tipo descendiente ("topdown") en que el

cción

. Estrategia.

las etapas más importantes, ya que tiene por objetivo lograr un entendimiento claro de

as diferentes funciones que realiza la organización y sus necesidades de información a todos niveles, durante esta etapa se realizan una serie de entrevistas con la dirección y los responsables de los depar-

si, que sus necesidades de manejo de información cambian y crecen, y que además del mane-jo operativo de la información hay una necesidad de contar con un acceso global que permita una mejor toma de decisiones

La tecnología es muy cambiantederosos de costos diversos, lo que complica la selección de la tecnología adecuada

El diseño, la programación y la operación de los sistemas requieren de especialistas

lo antes mencionado, si se pretende que realmente una automatización no solamente reduna mejora de la producción sino que además resulte una inversión rentable en cuanto a la adquisi-ción de una tecnología adecuada, es necesario contar con una metodología de desarrollo de sistemas.

Dado que el desarrollo de sistemas de información es una actividad compleja, ésta puede dividirsepara su estudio en las siguientes etapas:

1. Definición y análisis de los req2. Diseño del sistema y de la base de datos. 3. Implantación y prueba de módulos. 4. Integración y prueba del sistema. 5. Operación y mantenimiento.

zarlas de una manera estructurada. El método CASE (Computer Aided Systems Engineering) plantea una secuencia de etapas que es aproximadamente equivalente a la citada arriba, pero es más detallada, y además proporciona para cada etapa su descripción, definición de objetivos y metas, productos de la etapa, factores críticos de éxito, y la lista de tareas que conviene realizar. Además es posible auxiliar-se de herramientas CASE que facilitan grandemente la puesta en práctica del método. Esta tecnología ha sido utilizada para el diseño de diversos sistemas que se han desarrollado. A continuación presen-tamos la metodología CASE.

1

La metodología CASE se basa en un aciclo de vida de un sistema se compone de las siguientes etapas (ver figura 1):

1. Estrategia

2. Análisis

3. Diseño

4.1 ConstruFigura 1. Etapas

del m étodo CASE.4.2 Documentación

5. Transición

6. Producción

1

Esta es una delas necesidades de la organización y del ambiente en que operará el sistema o sistemas a implantar.

Con el fin de tener una visión desde los puntos de vista de la dirección corporativa, se analizan l

tamentos. Así a partir de esta información se realiza así un primer modelado de los requerimientos del sistema de información adecuado a las necesidades de la organización. Posteriormente para la de-finición de una primera versión de la arquitectura del sistema, además de los requerimientos antes obtenidos, se toman en cuenta las tecnologías disponibles y los sistemas de información ya existentes en operación. En la figura 2 se muestra este proceso.

Figura 2. Etapa de Estra

recomenda-últi-

o se hará de acuerdo las necesidades actuales y futuras de la organización, tomando en cuenta res-

a etapa de análisis toma y verifica los descubrimientos de la etapa de estrategia y expande estos en etalle para asegurar la precisión de los modelos de la empresa, posibilitando un funda-o para el diseño, dentro del alcance de la organización y tomando en cuenta sistemas

s responsables de la operación de las funciones que serán automatizadas se realiza un aná-

de los modelos

tegia

Los resultados de esta etapa son, un conjunto de modelos de la empresa, un conjunto de ciones, y un plan acordado de desarrollo de los sistemas de información, la elaboración de este mtricciones operativas, financieras y técnicas.

2. Análisis

Lsuficiente dmento sólidexistentes.

Con el fin de obtener un refinamiento de los modelos, durante esta etapa se realiza otra serie de entre-vistas ya no a un nivel directivo como en la anterior, sino a un nivel operativo y técnico. Con la parti-cipación lolisis detallado de sus requerimientos específicos en cuanto a objetivos, subfunciones, información, da-tos, etc.

Así, en esta etapa a partir

Figura 3. Etapa de Anál

de la organi-zación obteni-dos en la ante-rior y del pro-ducto del aná-lisis de ésta, se genera el mo-delado del sis-tema.

isis

Los modelos básicos de esta etapa son:

l de entidad/relación, que modela mediante relaciones lógicas todos los datos involucrados en el sis-ción (consulta o modificación) sean posibles.

a etapa de diseño toma los requerimientos y el modelado de la etapa de análisis y determina la me- de satisfacerlos, logrando niveles de servicios acordados, dados el ambiente técnico y las previas en los niveles requeridos de automatización. Es decir que del diseño conceptual se

l diseño final del sistema integra tres diseños, el de la base de datos, el de la aplicación y el de la red además se elaboran los planes de prueba y de transición y se realizan los diseños de los sistemas de auditoria y control, y el de respaldos y recuperación. Los resultados de esta etapa lo constituyen, la

partir del diseño final generado en la anterior etapa, en esta de construcción, se codificarán y proba-gramas, usando herramientas apropiadas. Esta etapa involucra planeación, diseño sistema, codificacion de abajo a arriba (prueba de unidades y enlaces), pruebas de

Figura 4. Etapa de Diseño

Etema, de tal manera que cualquier tipo de explota

El funcional, que modela las diferentes servicios que ofrecerá el sistema mediante una organización y clasificación de las diversas funciones y subfunciones que fueron identificadas en el análisis.

Como resultados de esta etapa, además del modelo de entidad/relación y el funcional, se definen las restricciones que tendrá el sistema y la estrategia que se seguirá en la etapa de transición. El proceso de esta etapa y sus resultados se muestran en la figura 3.

3. Diseño

Ljor maneradecisiones pasa al diseño final que será utilizado para la implantación, por ejemplo en esta etapa, el modelo entidad/relación será transformado en un diseño de base de datos, y en especificaciones de almacena-miento y el modelo de funcional, en módulos y manuales de procedimientos.

E

ar-quitectura del sistema, el diseño de la base de datos, la especificación de los programas, la especifica-ción de los manuales de procedimientos. En la figura 4 se muestra esta etapa.

4.1 Construcción

Arán los nuevos prode la estructura delarriba a abajo (prueba del sistema) y un enfoque disciplinado en la realización del trabajo y en el con-trol de versiones del sistema y pruebas. Los resultados de esta etapa son los programas probados y la base de datos afinada.

Los resultados de esta etapa lo constituyen los programas probados y las bases de datos afinada, en la siguiente figura se muestra el proceso de esta etapa.

4.2 Docu

no de los productos fundamentales para un uso y un mantenimieemas programados son los manuales. Esta metodología incluye un importante y hace hincapié para que en su elaboración se co

utilizarán y mantendrán de construcción.

mas y de sus bases de datos correspondientes. En ciertos casos, pocas, los nuevos sistemas integran algunos de los antiguos; pero co

istema completamente nuevo o un sistema que intede operación que deberá ser asimilado y aprendido

mentación

Uttanecesidades propias de los usuarios que mismo tiempo que la

Los manuales, resultados de esta etapa, se elaboran a partir de lasprogramas realizados y del análisis del estilo de trabajo y nivel de radores de los sistemas. En la figura 6 se muestra el proceso de esta

5. Transición

La implantación de sistemas no necesariamente implica la sustitu

ya sea de un stipo de uso y esta razón, el desarrollo de un sistema no se termina con su prograsu uso, se debe prever un período de transición que deberá incluir de datos, la capacitación de los usuarios y el desarrollo de pruebas.

En esta metodología la transición conforma una de sus etapas y en tareas necesarias para la implementación y proporciona un periodtransición debe llevarse a cabo con una interrupción mínima de usuarios confiados y listos para explotar el nuevo sistema. El rereporte que muestre que las pruebas fueron satisfactorias, en la figde esta etapa.

Figura 5. Etapa de Construcción

nto efectivos y eficientes de los sis-na etapa dedicada a esta actividad nsideren el estilo de trabajo y las

el sistema. Esta etapa se realiza al

Figura 6. Etapa de Documentación

s -r razones operat i-

mo quiera qu sea, la introducción gra ya existentes implica un nuevo por los usuarios y operadores. Por

ra siguiente se muestra el proceso

especificaciones de diseño, de los competencia de los usuarios y ope- etapa.

ción total de lo antiguos subsisteivas y/o económ

e

mación; antes de su liberación para la alimentación de las nuevas bases

ella se realizan se realizan todas las o inicial de soporte al sistema. La

la organización, y debe dejar a los sultado final de esta etapa es un

u

de los casos, y con intervención mínima de los administrado reevalúan los resultados y se hacen refinami

ES

Consideramos que es fundamental el uso de una metodologíuna real satisfacción de los usuarios y ampliar la vida útil de realización de las etapas de estrategia, análisis, diseño y docu

bles para la extensión y mantenimiento

sonWesley.

] Barker, R. (1990). Case Method: Entity Relationship Mod

Longman, C. (1992). Case Method: functio

6. Producción

Finalmente, en la etapa de producción se asegura que el siste

vas pruebas, sedeberán ser introducidos sin afectar a los usuarios, y deberá conseguirse la máxima confianza de los usuarios. El resultado de esta etapa un sistema listo para su operación.

ONCLUSIONC

tos que serán invalualos a la evolución natural de las organizaciones.

Cada sistema a desarrollar debe ser tratado con la metodologanálisis un producto final de calidad. Como analistas de sistelos últimos avances en cuanto a las metodologías y tendenciajo de la Información.

Conforme pasa el tiempo el perfil del analista de sistemas iráberes dentro de las organizaciones, lo que nos afirma que duclaro, manteniéndonos en la excelencia.

BIBLIOGRAFÍA

[1] Barker, R. (1990). Case Method. Addi

[2

[3] Barker, R. and Wesley.

[4] Sommerville, I. (1992). Software Engineering. AddisonW

Figura 7. Etapa de Transición

m te en la mayoría res del sistema. Para esto se realizan nue-entos del sistema, los cambios necesarios

a en el desarrollo de sistemas, para lograrlos sistemamentación, permiten de los sistemas informáticos, adaptándo-

elling. AddisonWesley.

n and process modelling. Addison-

ma funcione correcta en

Figura 8. Etapa de Producción

s de información. Además, la

contar con produc-

ía que mejor se adapte a los objetivos delmas debemos mantenernos a la par de s dentro del incesante mundo del mane-

incorporando nuevas posibilidades y de-rante mucho tiempo tendremos trabajo,

esley.