Вы находитесь на странице: 1из 6

1.

1 Conceptos bsicos
La ingeniera de software es una disciplina formada por un conjunto de mtodos,
herramientas y tcnicas que se utilizan en el desarrollo de los programas
informticos (software).

Esta disciplina trasciende la actividad de programacin, que es la actividad


principal a la hora de crear un software. El ingeniero de software se encarga de
toda la gestin del proyecto para que ste se pueda desarrollar en un plazo
determinado y con el presupuesto previsto.

La ingeniera de software, por lo tanto, incluye el anlisis previo de la situacin, el


diseo del proyecto, el desarrollo del software, las pruebas necesarias para
confirmar su correcto funcionamiento y la implementacin del sistema.

Cabe destacar que el proceso de desarrollo de software implica lo que se conoce


como ciclo de vida del software, que est formado por cuatro etapas: concepcin,
elaboracin, construccin y transicin.

La concepcin fija el alcance del proyecto y desarrolla el modelo de negocio; la


elaboracin define el plan del proyecto, detalla las caractersticas y fundamenta la
arquitectura; la construccin es el desarrollo del producto; y la transicin es la
transferencia del producto terminado a los usuarios.

Una vez que se completa este ciclo, entra en juego el mantenimiento del
software. Se trata de una fase de esta ingeniera donde se solucionan los errores
descubiertos (muchas veces advertidos por los propios usuarios) y se incorporan
actualizaciones para hacer frente a los nuevos requisitos. El proceso de
mantenimiento incorpora adems nuevos desarrollos, para permitir que el
software pueda cumplir con una mayor cantidad de tareas.

Los Ingenieros de Software deben:


Adoptar un enfoque sistemtico para llevar a cabo su trabajo.
Utilizar las herramientas y tcnicas apropiadas para resolver el problema
planteado, de acuerdo a las restricciones de desarrollo y a los recursos
disponibles.

1.3 Etapas del desarrollo del software


Etapa de anlisis: Es el proceso de investigar un problema que se quiere resolver.
Definir claramente el Problema que se desea resolver o el sistema que se desea
crear. Identificar los componentes principales que integrarn el producto.
Etapa de Diseo: Es el proceso de utilizar la informacin recolectada en la etapa
de anlisis al diseo del producto. La principal tarea de la etapa de diseo es
desarrollar un modelo o las especificaciones para el producto o Componentes del
Sistema.
Etapa de Desarrollo: Consiste en utilizar los modelos creados durante la etapa
de diseo para crear los componentes del sistema.
Etapa de Pruebas o Verificacin Prueba : Consiste en asegurar que los
componentes individuales que integran al sistema o producto, cumplen con los
requerimientos de la especificacin creada durante la etapa de diseo. Se
recomienda aplicar las etapas: Anlisis Diseo Desarrollo Prueba A cada
uno de los ejercicios de este curso.
Etapa de Implementacin o Entrega Implantacin: Consiste en poner a
disposicin del cliente el producto.
Etapa de Mantenimiento: Consiste en corregir problemas del producto y re-
liberar el producto como una nueva versin o revisin (producto mejorado).
Etapa final EOL (End-of-Life) El fin del ciclo del producto consiste en realizar
todas las tareas necesarias para asegurar que los clientes y los empleados estn
conscientes de que el producto ya no ser vendido ni soportado.

1.4 Clasificacin de la tecnologa en el


desarrollo de software (Tecnologa
Estructurada y Orientada a Objetos)
Tecnologas de desarrollo estructurado

Las tecnologas de desarrollo estructurado son las ms convencionales de las


empleadas hoy da. Han surgido de la evolucin de las ideas de programacin
estructurada (hace ms de veinticinco aos) hacia las fases iniciales del ciclo de
vida. En su formulacin actual, las notaciones empleadas en las prime-ras fases
del ciclo de vida (especificacin de requisitos de usuario y sistema)suelen estar
constituidas por lenguajes grficos que permiten: identificar el sistema y el
entorno; representar el flujo de informacin entre los elementos; y, describir los
datos y las actividades del sistema [12].La idea base de esta tecnologa es que es
posible estructurar el modelo de un sistema de software en base a funciones que
procesan informacin que reciben de otras funciones (o del exterior) y dirigen la
informacin procesada a otros mdulos funcionales (o al exterior). El enfoque
seguido, por tanto, es el de pensar en las funciones del sistema necesarias
(extradas de los requisitos del sistema) y luego en los datos que requieren.

Tecnologas orientadas a objetos

Las tecnologas de desarrollo estructurado han demostrado sus limitaciones a la


hora de organizar y facilitar la evolucin de sistemas de software complejos. La
descomposicin en funciones hace difcil al diseador mantener la relacin con
los objetos del mundo real sobre los que se modifican generalmente los requisitos
del usuario.

Los mtodos de descomposicin orientada a objetos constituyen la tendencia


ms influyente observada en la ingeniera de sistemas de software en los ltimos
aos. Con ellos nos referimos a un conjunto de mtodos (an en fase de
desarrollo o evolucin) que permiten al analista diseador concebir su sistema
identificando clases de objetos, operaciones permitidas y relaciones entre ellos
como base para la estructura del sistema a disear
1.5 Definicin e historia de las
herramientas CASE
Qu son las Herramientas CASE?

Se puede definir a las Herramientas CASE como un conjunto de programas y


ayudas que dan asistencia a los analistas, ingenieros de software y
desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un
Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un
Software son: Investigacin Preliminar, Anlisis, Diseo, Implementacin e
Instalacin.

CASE se define tambin como:

Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del


ciclo de vida del desarrollo de sistemas de informacin, completamente o en
alguna de sus fases.

La sigla genrica para una serie de programas y una filosofa de desarrollo de


software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.

Una innovacin en la organizacin, un concepto avanzado en la evolucin de


tecnologa con un potencial efecto profundo en la organizacin. Se puede ver al
CASE como la unin de las herramientas automticas de software y las
metodologas de desarrollo de software formales.

Historia de las Herramientas CASE

Las Herramientas CASE tienen su inicio con el simple procesador de palabras


que fue usado para crear y manipular documentacin. Los setentas vieron la
introduccin de tcnicas grficas y diagramas de flujo de estructuras de datos.
Sobre este punto, el diseo y especificaciones en forma pictrica han sido
extremadamente complejos y consuman mucho tiempo para realizar cambios.

La introduccin de las herramientas CASE para ayudar en este proceso ha


permitido que los diagramas puedan ser fcilmente creados y modificados,
mejorando la calidad de los diseos de software. Los diccionarios de datos, un
documento muy usado que mantiene los detalles de cada tipo de dato y los
procesos dentro de un sistema, son el resultado directo de la llegada del diseo
de flujo de datos y anlisis estructural, hecho posible a travs de las mejoras en
las Herramientas CASE.

Pronto se reemplazaron los paquete grficos por paquetes especializados que


habilitan la edicin, actualizacin e impresin en mltiples versiones de diseo.
Eventualmente, las herramientas grficas integradas con diccionarios de base de
datos para producir poderosos diseos y desarrollar herramientas, podran
sostener ciclos completos de diseo de documentos.

Como un paso final, la verificacin de errores y generadores de casos de pruebas


fueron incluidos para validar el diseo del software. Todos estos procesos pueden
saberse integrados en una simple herramienta CASE que soporta todo el ciclo de
desarrollo.

1.6 Clasificacin de las herramientas CASE


No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil
incluirlas en una clase determinada. Podran clasificarse atendiendo a:

Las plataformas que soportan.


Las fases del ciclo de vida del desarrollo de sistemas que cubren.
La arquitectura de las aplicaciones que producen.
Su funcionalidad.
Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se
pueden agrupar de la forma siguiente:
1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado):
abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son
llamadas tambin CASE workbench.
2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) ofront-
end, orientadas a la automatizacin y soporte de las actividades desarrolladas
durante las primeras fases del desarrollo: anlisis y diseo.
3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) oback-
end, dirigidas a las ltimas fases del desarrollo: construccin e implantacin.

4. Juegos de herramientas o Tools-Case, son el tipo ms simple de


herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro
de este grupo se encontraran las herramientas de reingeniera, orientadas
a la fase de mantenimiento.

2.1Tareas de la Ingeniera de Requisitos


Extraccin: Esta fase representa el comienzo de cada ciclo. Extraccin
es el nombre comnmente dado a las actividades involucradas en el
descubrimiento de los requisitos del sistema.

Anlisis: Sobre la base de la extraccin realizada previamente,


comienza esta fase en la cual se enfoca en descubrir problemas con los
requisitos del sistema identificados hasta el momento.

Especificacin: En esta fase se documentan los requisitos acordados


con el cliente, en un nivel apropiado de detalle.

Validacin: La validacin es la etapa final de la IR. Su objetivo es,


ratificar los requisitos, es decir, verificar todos los requisitos que aparecen en
el documento especificado para asegurarse que representan una
descripcin, por lo menos, aceptable del sistema que se debe
implementar. Esto implica verificar que los requisitos sean consistentes y que
estn completos.

2.3 Modelado de requisitos


El modelo de requisitos tiene como objetivo delimitar el sistema y capturar
la funcionalidad que debe ofrecer desde la perspectiva del usuario. Este
modelo puede funcionar como un contrato entre el desarrollador y el
cliente o usuario del sistema, y por lo tanto proyecta lo que el cliente desea
segn la percepcin del desarrollador. Por lo tanto, es esencial que los
clientes puedan comprender este modelo.

El modelo de requisitos es el primer modelo a desarrollarse, sirviendo de


base para la formacin de todos los dems modelos en el desarrollo de
software. En general, el cualquier cambio en la funcionalidad del sistema
es ms fcil de hacer, y con menores consecuencias, a este nivel que
posteriormente. El modelo de requisitos que desarrollaremos se
Basa en la metodologa Objectory (Jacobson et al. 1992), basada
principalmente en el modelo de casos de uso.

Actualmente esta metodologa es parte del Proceso Unificado de


Rational(RUP). El modelo de casos de uso y el propio modelo de requisitos
son la base para los dems modelos, como se describi anteriormente en
el Captulo 3 y

se resume aqu:

Requisitos: El modelo de casos de uso sirve para expresar el modelo de


requisitos, el cual se desarrolla en

cooperacin con otros modelos como se ver ms adelante.

Anlisis: La funcionalidad especificada por el modelo de casos de uso se


estructura en el modelo de anlisis,

que es estable con respecto a cambios, siendo un modelo lgico


independiente del ambiente de implementacin.

Diseo: La funcionalidad de los casos de uso ya estructurada por el


anlisis es realizada por el modelo de

diseo, adaptndose al ambiente de implementacin real y refinndose


an ms.

Implementacin: Los casos de uso son implementados mediante el


cdigo fuente en el modelo de

implementacin.

Pruebas: Los casos de uso son probados a travs de las pruebas de


componentes y pruebas de integracin.

Documentacin: El modelo de casos de uso debe ser documentado a lo


largo de las diversas actividades, dando lugar a distintos documentos como
los manuales de usuario, manuales de administracin, etc.