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

Estado Actual de la Ingeniera de Software

Instituto
Tecnolgico
De la
Laguna

Maestra en Sistemas Computacionales

Trabajo: Estado Actual de la Ingeniera de Software

Alumno: Ing. Carlos Barker del Ro

Maestro: Ing. Pedro Cortinas Martnez

Torren, Coah. A 8 de Octubre de 2012

1
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Definiciones preliminares
Proceso de Software
El proceso de desarrollo de software debe ser un conjunto coherente de: polticas, estructuras
organizacionales, tecnologas, procedimientos y artefactos; necesarios para: concebir, desarrollar,
instalar y mantener un producto de software.
Ingeniera del Software
Se puede decir que Ingeniera de software, es la disciplina o rea de la informtica que ofrece
mtodos y tcnicas para desarrollar y mantener software de calidad.
Definiciones de ingeniera de software de los autores ms reconocidos:
Ingeniera de Software es el estudio de los principios y metodologas para el desarrollo y
mantenimiento de sistemas de software (Zelkovitz, 1978)
Ingeniera de software es la aplicacin prctica del conocimiento cientfico al diseo y
construccin de programas de computadora y a la documentacin asociada requerida para
desarrollar, operar y mantenerlos. Se conoce tambin como Desarrollo de Software o Produccin
de Software (Bohem, 1976).
Ingeniera de 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 (Bauer, 1972).
Es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin y
mantenimiento del software; es decir, la aplicacin de la ingeniera al software (IEEE, 1993).

Enfoque de calidad
Cualquier enfoque de la ingeniera, incluyendo la Ingeniera de software, debe estar sustentado en
un compromiso con la calidad. Diversos enfoques tales como la gestin de la calidad total,
fomentan una cultura de mejora continua del proceso, es esa cultura la que conduce finalmente a
desarrollos muy efectivos para la Ingeniera de Software. La base que soporta a la Ingeniera de
software es el enfoque a la calidad

Modelos de Calidad en procesos de implementacin y cambios

2
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Modelo IDEAL

Figura 2 Modelo IDEAL para la calidad del software


El modelo IDEAL provee un enfoque disciplinado de ingeniera para la mejora del proceso de
software, focaliza en el gerenciamiento del programa de mejoras y establece los fundamentos para
una estrategia de largo plazo.
Las 5 fases principales que componen el modelo son:
1. Iniciar.- Establece los fundamentos bsicos para garantizar la iniciativa de mejoramiento de
procesos. Cuyas actividades son:
a. Estimulo para iniciar el mejoramiento
b. Establecimiento del contexto
c. Establecer patrocinio de la gerencia
d. Establecer infraestructura para el mejoramiento
e. Evaluar y caracterizar el estado actual de laspracticas
f. Desarrollar recomendaciones y documentar los resultados de la fase
2. Diagnosticar.- Evala mediante un mtodo formal las fortalezas y debilidades del proceso
seguido por los proyectos. Las principales actividades son:
a. Evaluar y caracterizar el estado actual de las practicas
b. Desarrollar recomendaciones y documentar los resultados de la fase
3. Establecer.- realiza la planificacin especifica de los mejoramientos que desea alcanzar.
Principales actividades:
a. Establecer los equipos de accin de procesos
b. Elaboracin del Plan de Accin

3
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


4. Actuar.- Implementa el mejoramiento de procesos llevando a cabo el plan de accin. Sus
caractersticas son:
a. Planificar, ejecutar y seguir la instalacin
b. Planificar y ejecutar proyectos piloto
c. Refinar la solucin
d. Implementar la solucin
5. Difundir.- Aprende de la experiencia del ciclo recin realizado y aumenta la habilidad de la
empresa u organizacin para mejorar los procesos en forma continua. Sus caractersticas son:
a. Documentar y analizar las lecciones.
b. Revisar el enfoque seguido y proponer
acciones futuras.

Modelo QIP

Figura 4. Modelo QIP


El propsito de este modelo es apoyar el proceso de mejora continua y la ingeniera de los
procesos de desarrollo, para ayudar en la tecnologa de implementacin. Una forma de ver el
modelo es tambin verlo como un modelo para la organizacin de aprendizaje, donde la
organizacin establece una forma de desarrollar las prcticas a travs de la experimentacin con
ellos y, a continuacin, la captura y el paquete en una forma que pueden ser reutilizados en otras
partes, dentro de ciertos lmites.
QIP esta basado en las principales disciplinas del software, por eso es natural, revolucionario y
experimental. El trabajo para desarrollo de software se basa en los humanos y su diseo de
trabajo.

4
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


CMMI
CMMI es un modelo de calidad del software que clasifica las empresas en niveles de madurez.
Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir
software.
Niveles CMM CMMI
Los niveles CMM - CMMI son 5:
Inicial o Nivel 1 CMM CMMI: En este nivel pertenecen aquellas empresas que no tienen sus
procesos bien definidos.
Caractersticas comunes de este tipo de empresas son: los presupuestos se disparan, no se
entrega el proyecto en fechas establecidas, no hay control sobre el estado y desarrollo del
proyecto. El simple hecho de existir como empresa de software se est en el nivel1.
Repetible o Nivel 2 CMM CMMI: El objetivo que pretende alcanzar el nivel 2 es que los
proyectos que lleve a cabo las empresas se los ejecute con una adecuada gestin de los procesos
lo que implica planeacin, ejecucin, control, medicin de los mismos. Es un nivel difcil de
alcanzar pues al establecer procesos se est pretendiendo cambiar la forma de trabajar de la
empresa que muchas de las veces implica un cambio cultural de la misma y por ende lo ms
importante aqu es saber si se cuenta con el apoyo de la direccin para afrontar este cambio. Sin
este apoyo no se podra alcanzar el CMM-CMMI nivel 2.
Los procesos que hay que implantar para alcanzar este nivel son:
Gestin de requisitos
Planificacin de proyectos
Seguimiento y control de proyectos
Gestin de proveedores
Aseguramiento de la calidad
Gestin de la configuracin
Definido o Nivel 3 CMM CMMI: Pertenecer a este nivel significa que los proyectos que se
llevan a cabo a dems de contar con procesos gestionados, la organizacin o empresa debe contar
con una forma definida para desarrollar dichos proyectos es decir sus procesos deben estar
establecidos, documentados y contar con mtricas para la consecucin de objetivos concretos.
Los procesos que hay que implantar para alcanzar este nivel son:
Desarrollo de requisitos
Solucin Tcnica
Integracin del producto
Verificacin
Validacin
Desarrollo y mejora de los procesos de la organizacin
Definicin de los procesos de la organizacin
Planificacin de la formacin
Gestin de riesgos
Anlisis y resolucin de toma de decisiones
Cuantitativamente Gestionado o Nivel 4 CMM CMMI: Nivel 4 a ms de contar con procesos
definidos para el desarrollo de los proyectos se utilizan tcnicas cuantitativas para el control de los
procesos, como pueden por ejemplo se usan las mtricas para gestionar la organizacin.

5
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Los procesos que hay que implantar para alcanzar este nivel son:
Gestin cuantitativa de proyectos
Mejora de los procesos de la organizacin
Optimizado o Nivel 5 CMM CMMI: Los procesos de los proyectos y de la organizacin en este
nivel a ms de ser cuantitativamente gestionados estn orientados a la mejora de las actividades
mediante el uso de mtricas.
Los procesos que hay que implantar para alcanzar este nivel son:
Innovacin organizacional.
Anlisis y resolucin de las causas.
ISO 9000
ISO 9000 se refiere a una serie de normas internacionales que define un sistema de Garanta de
Calidad en las organizaciones: ISO 9001, ISO 9002, ISO 9003 e ISO 9004 (y sus subnormas)
desarrollado por la Organizacin Internacional de Normalizacin (ISO).
Esta norma ha sido adoptada por 90 pases en todo el mundo y est compuesta por representantes
de normas nacionales de ms de 100 pases.
La familia de normas apareci por primera vez en 1987 teniendo como base una norma estndar
britnica (BS), y se extendi principalmente a partir de su versin de 1994.
La principal norma de la familia es actualmente la: ISO 9001:2008 - Sistemas de Gestin de la
Calidad - Requisitos.
Proceso de Certificacin
Para brindar una certificacin bajo la norma ISO 9000 a determinada empresa u organizacin,
existen las entidades certificadoras vigiladas por organismos nacionales que les dan su
acreditacin y son las encargadas de verificar que dichas organizaciones o empresas cumplen con
los requisitos de la norma, una vez que stas hayan elegido el alcance de la actividad profesional
que se va a registrar, seleccionado un registro, someterse a la auditora y haber concretado con
xito dicho proceso; se les otorga un certificado y sello.
Marco Conceptual
La ISO 9001 y la ISO 9002 son normas de sistema. ISO 9001 se aplica a las empresas que se
dedican al diseo de productos o servicios y tambin a su produccin o implementacin. ISO 9002
simplemente excluye el elemento de diseo de un modelo similar para garanta de calidad.

Los certificados que pueden concederse mediante ellas sealan que una organizacin es
perfectamente capaz de cumplir las necesidades y requisitos de sus clientes de manera planificada
y controlada Si quiere ir ms all y lograr la excelencia, debera cumplir requisitos adicionales. La
ISO 9004:2000 establece estos requisitos adicionales.

6
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Proceso de Ingeniera del Software
La base de la Ingeniera de software es el estrato del proceso, este es el elemento que mantiene
unidos los estratos de la tecnologa, y permite le desarrollo racional y a tiempo del software.
Este proceso, define un marco de trabajo que es necesario establecer para la entrega efectiva de
un producto con Ingeniera de software. El proceso del software forma la base para la aplicacin de
los mtodos tcnicos, aqu se generan diferentes productos ( modelos, documentos, datos,
reportes, formatos, etc.) se asegura la calidad y el proceso del cambio del software.
El proceso de ingeniera de software, se define como "un conjunto de etapas parcialmente
ordenadas con la intencin de lograr un objetivo, en este caso, la obtencin de un producto de
software de calidad" [Jacobson 1998].
A este proceso tambin se le llama el ciclo de vida del software que comprende cuatro grandes
fases: concepcin, elaboracin, construccin y transicin.

Figura 1 Elementos del proceso de desarrollo de software


En la Figura 1, se muestra los elementos principales del proceso de desarrollo de Software que
son: Personal. Mtodos y Procedimientos y Herramientas y Tecnologas.

Los siguientes elementos enmarcan el proceso de desarrollo de software que se puede aplicar a la
mayora de los proyectos de software:

Comunicacin.- Esta actividad implica una intensa colaboracin y comunicacin


con los clientes: adems de abarcar la investigacin de los requerimientos de los
clientes.

7
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Planeacin.- Esta actividad establece el plan de trabajo de la Ingeniera de


software. Describe las tareas tcnicas, recursos necesarios, riesgos y los
productos que han de producirse, as como un plan de trabajo.
Modelado.- Es la creacin de modelos que permiten tanto al desarrollador como al
cliente, entender los requisitos y el diseo que los satisfaga.
Construccin.- Esta actividad abarca la generacin de cdigo y la realizacin de
pruebas.
Despliegue.- El producto terminado se entrega al cliente para su evaluacin y
comentarios.

Proceso de software personal (PSP)

Todo desarrollador de software sigue un proceso para el desarrollo, este puede no ser eficiente o
incluso efectivo. Para cambiar este mtodo de trabajo en un proceso exitoso, el desarrollador debe
seguir estas actividades basadas en el modelo PSP:
Planeacin.- Consiste en seleccionar requisitos, y con base a estos se desarrolla el tamao
y la estimacin de los recursos. Adems se estiman los defectos. Todas las mediciones se
registran en hojas de trabajo o plantillas, al final se identifican las tareas de desarrollo y se
crea un programa del proyecto.
Diseo de alto nivel.- Se elaboran las especificaciones externas para que cada
componente sea construido y se crea un diseo del componente, se construyen prototipos
y todos los elementos se registran y rastrean.
Revisin del diseo de alto nivel.- Los mtodos formales de verificacin se aplican a
errores descubiertos en el diseo. Se mantienen mediciones de todas las tareas
importantes y los resultados del trabajo.
Desarrollo.- Se refina y revisa el diseo a nivel de componentes. Se revisa compila y
prueba el cdigo. Se mantienen mediciones de todas las tareas importantes y los
resultados del trabajo.
Anlisis de resultados.- Mediante la medicin de resultados, se determina la efectividad del
proceso. Estas medidas deben proporcionar una gua para modificar el proceso y mejorar
su efectividad.

El PSP representa un enfoque disciplinado basado en mediciones, que cuando se presenta de


forma adecuada a los ingenieros de software, la mejora resultante en la productividad de la
ingeniera de software y la calidad del producto, es significativa, sin embargo es un proceso que no
se ha adaptado en su totalidad en las organizaciones debido a la complejidad de las mediciones y
al costo y tiempo que conlleva la capacitacin del personal.

8
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Proceso de software en equipo (PSE)

Debido a que el desarrollo de software generalmente se llevas a cabo por un equipo de desarrollo,
se extendieron las lecciones aprendidas por el PSP para introducir el PSE, la meta es construir un
equipo de desarrollo de un proyecto, que sea autodirigido y que se organice para producir un
software de calidad. Los objetivos del PSE son los siguientes:

Construir equipos de desarrollo autodirigidos que planeen y tengan un seguimiento de su


trabajo, establezcan metas y posean sus procesos y planes. Estos grupos puedes ser de 3
a 20 ingenieros de software.
Mostrar a los jefes como preparar y motivar a sus equipos y como ayudarlos a mantener
un alto desempeo.
Acelerar el mejoramiento de software al realizar, con el comportamiento normal y
esperado, el nivel 5 del CMMI.
Ofrecer una gua de mejoramiento a organizaciones de alta madurez.
Facilitar la enseanza universitaria de habilidades del equipo de calidad.

Un equipo autodirigido, comprende sus metas y objetivos generales, define funciones y


responsabilidades para cada uno de sus miembros, registra datos cuanitativos del proyecto como
calidad y productividad, identifica un proceso de equipo adecuado para el proyecto y una estrategia
para implementar el proceso, define estndares aplicables al proceso de Ingeniera de software
del equipo, evala los riesgos y registra gestiona y reporta el estado del proyecto.
El PSE define las siguientes actividades en su marco de trabajo: lanzamiento, diseo de alto nivel,
implementacin, integracin y prueba y anlisis de resultados; estas actividades permiten al equipo
planear, disear y construir un software de manera disciplinada as como medir en forma
cuantitativa el proceso y el producto.
El PSE utiliza una variedad de escritos para guiar al equipo en su trabajo, estos definen actividades
especificas del proceso y funciones ms detalladas del trabajo, como ejemplo el escrito de la
actividad de lanzamiento tenda los siguientes puntos:
-

Revisar los objetivos del proyecto con la gestin y acordar y documentar las metas del
equipo.
Establecer las funciones del equipo.
Definir el proceso de desarrollo del equipo.
Elaborar un plan y los objetivos de calidad.
Preparar un plan para las necesidades de soporte necesarias.
Producir una estrategia de desarrollo general.
Elaborar un plan de desarrollo para el proyecto en su totalidad.
Hacer planes detallados para cada ingeniero en la siguiente fase.
Adaptar los planes individuales a un plan de equipo.
Hacer un balance de la cantidad de trabajo del equipo para obtener un programa
mnimo

9
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Metodologas
RUP
RUP es un proceso para el desarrollo de un proyecto de software que define quien, como, cuando
y que debe hacerse en el proyecto, con 3 caractersticas esenciales como:

Casos de uso centrados en la arquitectura


iterativo
incremental.

El RUP maneja 6 principios clave:


Adaptacin del proceso.
Balancear prioridades.
Colaboracin entre equipos.
Demostrar valor iterativamente.
Elevar el valor de abstraccin.
Enfocarse en la calidad.

Ciclo de vida de RUP


El proceso del RUP est dividido en 4 fases, en estas fases se realiza varias iteraciones de
acuerdo al proyecto, en la Figura 4 se muestra grficamente las 4 fases del RUP, cuyas iteraciones
estn representadas con lneas verticales y marcadas con la letra correspondiente a la inicial de la
fase, la fase Inicial tiene una sola iteracin.

Figura 4. Fases del RUP


Fase de Inicio

10
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


En esta fase se define el modelo del negocio y el alcance del proyecto, se identifican los autores y
casos de usos y se disean los casos de uso esenciales. Los objetivos son:
Establecer el mbito del proyecto y sus limites
Encontrar los casos de uso crticos del sistema, los escenarios bsicos.
Mostrar una arquitectura para los escenarios principales.
Estimar el coste en recursos y tiempo en todo el proyecto.
Estimar los riesgos, las fuentes de incertidumbre.
Los resultados de la fase son:
Documento de visin
Modelo inicial de casos de uso
Glosario inicial
Caso de negocio
Lista de riesgos y plan de contingencia
Plan del proyecto
Modelo de negocio

Fase de Elaboracin
En esta fase se analiza el dominio del problema, establece los cimientos de la arquitectura,
desarrolla el plan del proyecto y elimina los riesgos mayores. Se construye un prototipo de la
arquitectura que evoluciona en iteraciones sucesivas hasta convertirse en el sistema final.
Los objetivos de esta fase son:
Definir, validar y cimentar la arquitectura.
Completar la visin
Crear un plan para la fase de construccin
Demostrar que la arquitectura propuesta soportara la visin

Los resultados son los siguientes:


Un modelo de casos de uso al menos el 80%
Requisitos adicionales que capturan los requisitos no funcionales.
Descripcin de la arquitectura software
Prototipo ejecutable de la arquitectura.
Lista de riesgos y caso de negocio revisados
Plan de desarrollo para el proyecto
Manual de usuario preliminar.
Fase de Construccin
En esta fase la finalidad es alcanzar la capacidad operacional del producto de forma incremental a
travs de las sucesivas iteraciones, en esta fase todas las componentes, caractersticas y
requisitos deben ser implementados, integrados y cambiados en su totalidad.
Los objetivos son:
Minimizar los costes de desarrollo mediante la optimizacin de recursos.
Conseguir calidad adecuada.
Conseguir versiones funcionales tan rpido como sea prctico. Los resultados de la fase de
construccin deben ser:
Modelos completos(casos de uso, anlisis, diseo, despliegue e implementacin)
Arquitectura integral.
Riesgos presentados mitigados
Plan del proyecto para la fase de transicin.

11
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Manual inicial de usuario.
Prototipo operacional.
Caso del negocio actualizado.
Fase de Transicin
En esta fase se pone el producto en manos de los usuarios finales, para lo que se requiere
desarrollar nuevas versiones actualizadas del producto, completar la documentacin, entrenar al
usuario en el manejo del producto y tareas relacionadas con el ajuste, configuracin, instalacin y
facilidad de uso del producto. En esta fase tambin se realiza:
La prueba de la versin beta para validar al nuevo sistema frente a las expectativas del usuario.
Funcionamiento paralelo con los sistemas legados que estn siendo sustituidos por el nuevo
proyecto.
Conversin de las bases de datos operacionales.
Entrenamiento de los usuarios y tcnicos de mantenimiento.
Traspaso del producto a los equipos de marketing, distribucin y venta.
Los objetivos de esta fase son:
Conseguir que el usuario se valga por si mismo.
Un producto final que cumpla los requisitos esperados, que funcione y satisfaga suficientemente
al usuario.
Los resultados son:
Prototipo operacional
Documentos legales
Caso del negocio completo
Lnea base del producto completa y corregida que incluye todos los modelos del sistema
Descripcin de la Arquitectura completa y corregida.
Las iteraciones de esta fase irn dirigidas normalmente a conseguir una nueva versin.
Los criterios de evaluacin de esta fase son:
El usuario se encuentra satisfecho.
Son aceptables los gastos actuales versus los gastos planificados.
MSF
La metodologa MSF (Microsoft Solucion Framework), es flexible e interrelacionada con una serie
de conceptos, modelos y prcticas de uso, y guas para disear y desarrollar soluciones
empresariales de una manera que asegura que todos los elementos del proyecto tal como gente,
procesos y herramientas, puedan ser exitosamente conducidos.
MSF no slo es aplicable al desarrollo de proyectos de desarrollo, tambin es aplicable a otros
proyectos de TI, como el despliegue o proyectos de infraestructura o redes. MSF no fuerza al
desarrollador a utilizar una metodologa especfica (Cascada, gil), pero les permite decidir qu
mtodo utilizar.

12
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Figura 5. Fases del modelo MSF [41]


El MSF est compuesto 6 por fases, como se muestra en la Figura5
1. Visin: donde se rene un equipo del proyecto, define la visin y el mbito de una solucin que
cumplir los objetivos del cliente. El equipo organiza entonces el proyecto y proporciona un
documento de visin/mbito aprobado. Las personas encargadas de funciones de administracin
de productos y administracin de programas toman el mando en esta fase.
2. Planeacin: donde se desarrollan los procesos de diseo conceptual, lgico y fsico, as como la
especificacin funcional. La persona encargada de funciones de administracin de programas toma
el mando durante esta fase y crea planes de proyecto que tratan el desarrollo, la comunicacin y
otras tareas; y cada funcin proporciona los datos para crear la programacin del proyecto.
3. Desarrollo: El equipo crea y prueba la solucin. La persona encargada de funciones de
desarrollo toma el mando durante esta fase.
4. Estabilizacin: El equipo crea la solucin piloto en preparacin para el lanzamiento de
produccin. La persona encargada de las funciones de prueba toma el mando durante esta fase.
5. Instalacin.
6. Soporte
Las caractersticas ms relevantes del MSF son:
Adaptable: Es parecido a un comps, usado en cualquier parte como un mapa, del cual su uso
es limitado a un especfico lugar.
Escalable: Puede organizar equipos tan pequeos entre 3 o 4 personas, as como tambin,
proyectos que requieren 50 personas a ms.
Flexible: Es utilizada en el ambiente de desarrollo de cualquier cliente.

13
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Tecnologa Agnstica: Porque puede ser usada para desarrollar soluciones basadas sobre
cualquier tecnologa.
Principios fundamentales en los que se basa MSF
MSF propone una secuencia generalizada de actividades para la construccin de soluciones
empresariales, este proceso es flexible y se puede adaptar al diseo y desarrollo de una amplia
gama de proyectos de una empresa, adems est basado en fases, puntos de transicin y de
carga de forma iterativa que se puede aplicar en el desarrollo de aplicaciones tradicionales,
soluciones empresariales para comercio electrnico as como aplicaciones Web distribuidas.
Los principios en los que se fundamenta MSF son:
Fomentar la comunicacin abierta.
Trabajar en pro de una visin compartida.
La autonoma de los miembros del equipo.
Establecer una clara rendicin de cuentas y la responsabilidad compartida.
Centrarse en entregar valor de negocio.
Mantenerse gil a espera del cambio.
Invertir en calidad.
Aprender de todas las experiencias.
MSF para Metodologas de Desarrollo gil (MSF4ASD)
MSF para Metodologas de Desarrollo gil es un proceso de desarrollo manejado por escenarios,
basado en contexto, que utiliza muchas de las ideas incorporadas en Team System (herramientas
de Microsoft). Este proceso incorpora las prcticas probadas desarrolladas en Microsoft con
respecto a los requerimientos, diseo, seguridades, rendimiento y pruebas (testing).
MSF para metodologas de desarrollo gil presenta una gua muy recomendable a los
Desarrolladores y Gestores de proyectos de software que pueden adaptarla a la metodologa de su
empresa, en la que incluye documentos de ejemplo, plantillas, archivos en blanco de Project, Excel
y Word para la administracin de proyectos, requerimientos, seguridad y pruebas.
MSF para CMMI (MSF4CMMI)
EL MSF4CMMI para CMMI es una metodologa formal para la ingeniera de software es un proceso
de mejora que proporciona a las organizaciones los elementos esenciales del proceso continuo de
mejora que den lugar a una reduccin de Ciclo de vida del Desarrollo de Software, la mejora de la
capacidad para satisfacer las metas de costos y el calendario, la construccin de productos de alta
calidad.
El MSF4CMMI se ha ampliado una orientacin MSF4ASD con una formalidad adicional,
evaluacin, verificacin y auditora.
Una de las ventajas de utilizar el proceso CMMI es el estndar de evaluacin por la que uno puede
comparar la capacidad de desarrollar software en otras organizaciones.

14
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Modelo gil
El Modelo de Desarrollo gil se origin a mediados de los aos 1990 y se podra decir que fue
extrado del modelo de desarrollo en cascada, pues ste ltimo era visto como burocrtico, lento,
degradante e inconsistente por lo exigente y muy estructurado en sus formas de desarrollo de
software que sin embargo realizaban un trabajo eficiente.
En el ao 2001, miembros prominentes de la comunidad de la industria del software se reunieron
en Sonwbird, Utah, y
adoptaron el nombre de "Metodologas giles".
El modelo de desarrollo gil es un paradigma de Desarrollo de Software que utiliza procesos giles
(pequeas y frecuentes
entregas con ciclos rpidos) enfocados en la gente y resultados, se podra decir que es:
Cooperativo, clientes y desarrolladores trabajan constantemente con una comunicacin muy fina
y constante,
Sencillo, mtodo fcil de aprender y modificar para el equipo pues la reduccin de documentacin
se reemplaza por la constante comunicacin, y
Adaptativo, capaz de permitir cambios de ltimo momento.
El objetivo de este modelo es desarrollar software rpidamente, respondiendo a los cambios que
puedan surgir a lo largo del proyecto.
Esta metodologa propone que un pequeo grupo de personas (10 como mximo) conformado de
los ms experimentados y capaces ingenieros de software, trabajen en el desarrollo de iteraciones
(software desarrollado en una unidad de tiempo) con una duracin mxima de hasta 4 semanas y
desarrollando una serie de user stories (Casos de Uso) que al final cumplan con los
requerimientos establecidos en lnea directa por los usuarios finales del sistema.
Metodologas Agiles
Hacemos mencin de algunas metodologas giles de desarrollo
de software en la Tabla 1, estas metodologas son:
Tabla 1 Lista de Metodologas Agiles
Metodologa
Acrnimo
Metodologa Acrnimo Creacin
Adaptive
Software
Development
ASD

Creacin

Highsmith 2000

Agile Modeling

AM

Ambler 2002

Agile RUP

dx

Booch, Martin,Newkirk 1998

Crystal Methods

CM

Cockbum 1998

Essential Unified
Process

EssUP

Feature Driven
Development

15
Ing. Carlos Barker del Ro

De Luca & Coad 1998 Palmer & Felsing 2002


Charette 2001,Mary y Tom Poppendieck

Estado Actual de la Ingeniera de Software


Lean Development

FDD LD

Felsing 2002,

Programacin
Extrema

XP

Beck 1999

Scrum

Scrum

Sutherland 1994 Schwaber 1995

Microsoft
Solutions
Framework

MSF

Microsoft 1994

Rapid
Development

RAD

McConnell 1996

Open Unified
Process

OpenUP

Rational Unified
Process

RUP

Krutchen 1996

Algunas empresas que usan metodologas de desarrollo gil en algunos de sus proyectos, son:
Google,
Oracle,
Yahoo,
Canon,
Xerox,
Sun,
HP,
Nokia,
Honda,
Toyota, etc.
Ventajas:
Mtodos de comunicacin ms eficaces en este tipo de metodologas.
Es posible identificar y atacar los problemas ms crticos y controversiales del proyecto en las
primeras etapas.
El cliente comenzar a ver su sistema lo ms pronto posible y verificar que se estn cubriendo
sus requerimientos de forma adecuada.
Entrega de resultados tangibles en etapas tempranas del proyecto.
Desventajas:
Proceso menos controlado y con pocos principios.
No existe contrato tradicional o al menos es bastante flexible.
Grupos pequeos, trabajando en el mismo sitio y no distribuidos adecuadamente.
Menos nfasis en la arquitectura del software, siendo sta primordial para el xito del proyecto de
software.

16
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Herramientas.
Principales herramientas CASE del mercado y su uso

HERRAMIENTAS DE LA INGENIERA DE LA INFORMACIN.


Estas herramientas CASE modelan la informacin de negocios cuando sta se transfiere entre
distintas entidades organizativas en el seno de una compaa. El objetivo primordial de las
herramientas de esta categora consiste en representar objetos de datos de negocios, sus
relaciones, y ayuda a comprender mejor la forma en que fluyen estos objetos de datos entre
distintas zonas de negocio en el seno de la compaa. Estas herramientas proporcionan una ayuda
importante cuando se disean nuevas estrategias para los sistemas de informacin y cuando los
mtodos y sistemas no satisfacen las necesidades de la organizacin.
MODELADO DE PROCESOS Y HERRAMIENTAS DE ADMINISTRACIN.
Se utilizan para representar los elementos clave del proceso de modo que sea posible entenderlo
mejor. Estas herramientas tambin pueden proporcionar vnculos con descripciones de procesos
que ayuden a quienes estn implicados en el proceso de comprender las tareas que se requieren
para llevar a cabo ese proceso. Las herramientas de administracin de procesos pueden
proporcionar vnculos con otras herramientas que proporcionen un apoyo para actividades de
proceso ya definidas.
HERRAMIENTAS DE PLANIFICACIN DE PROYECTOS.
Las herramientas de esta categora se concentran en dos reas primordiales:

Estimacin de esfuerzos de proyecto y de costes de software. Calculan el esfuerzo


estimado, la duracin del proyecto y el numero recomendado de personas.

Planificacin de proyectos. Capacitan al administrador para definir todas las reas del
proyecto (la estructura de desglose de tareas), para crear una red de tareas (normalmente
empleando una entrada grfica), para representar las interdependencias entre tareas y
para modelar la cantidad de paralelismo que sea posible para ese proyecto.

HERRAMIENTAS DE ANLISIS DE RIESGOS


Las herramientas de anlisis de riesgos capacitan al administrador el proyecto para construir una
tabla de riesgos proporcionando una gua detallada en la identificacin y anlisis de riesgos.
HERRAMIENTAS DE ADMINISTRACIN DE PROYECTOS.
La planificacin del proyecto y el plan del proyecto deben seguirse y de monitorizarse de forma
continua. Adems, el gestor deber de utilizar las herramientas que recojan mtricas que en la
ultima instancia proporcionen una indicacin de la calidad el producto del software. Las

17
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


herramientas de esta categora suelen ser extensiones de herramientas de planificacin de
proyectos.
HERRAMIENTAS DE SEGUIMIENTO DE REQUISISTOS
Cuando se desarrollan grandes sistemas, el sistema proporcionado suele no satisfacer los
requisitos especificados por el cliente. El objetivo de las herramientas de seguimiento de requisitos
es proporcionar un enfoque sistemtico para el aislamiento de requisitos, comenzando por las
especificaciones del cliente. Las herramientas de trazado de requisitos tpicos combinan una
evaluacin de textos por interaccin humana, con un sistema de gestin de bases de datos que
almacena y categora todos y cada uno de los requisitos del sistema que se "analizan" a partir de
las especificaciones originales.
HERRAMIENTAS DE MTRICAS Y GESTIN.
Las mtricas del software mejoran la capacidad del administrador para controlar y coordinar el
proceso del software y la capacidad del ingeniero para mejorar la calidad del software que se
produce.
Las herramientas mtricas actuales se centran en procesos, proyectos y caractersticas del
producto.
Las herramientas orientadas a la gestin capturan mtricas especificas del proyecto (por ejemplo:
LDC/personamos, defectos por punto de funcin) que proporcionan una indicacin global de
productividad o de calidad. Las herramientas orientadas tcnicamente determinan mtricas
tcnicas que proporcionan una mejor visin de la calidad del diseo o del cdigo. Muchas de las
herramientas mtricas avanzadas mantiene una base de datos de medidas de medias de la
industria.
Basndose en caractersticas de proyectos y de productos proporcionados por el usuario, estas
herramientas califican los nmeros locales frente a los valore medios de la industria (y frente al
rendimiento local anterior) y sugieren estrategias para llegar a mejoras. Estas herramientas utilizan
un sistema experto para sugerir el orden en el que se debe llevar a cabo un proyecto.
HERRAMIENTAS DE DOCUMENTACIN
Las herramientas de produccin de documentos y autoedicin prestan su apoyo a casi todos los
aspectos de la ingeniera del software, y representan una importante oportunidad de
aprovechamiento para todos los desarrolladores del software. La mayor parte de las
organizaciones dedicadas al desarrollo de software invierte una cantidad de tiempo considerable
en el desarrollo de documentos, y en muchos casos el proceso de documentacin en si resulta
bastante deficiente. No es raro que una organizacin de desarrollo de software invierta hasta en un
20 o 30 pro ciento de su esfuerzo global de desarrollo de software en la documentacin. Por esta
razn, las herramientas de documentacin suponen una oportunidad importante para mejorar la
productividad.
HERRAMIENTAS DE SOFTWARE DE SISTEMA.
CASE es una tecnologa de estaciones de trabajo. Por tanto, el entorno CASE debe adaptase a un
software de sistema en redes de alta calidad, al correo electrnico, a los boletines electrnicos y a
otras capacidades de comunicaciones.
HERRAMIENTAS DE CONTROL DE CALIDAD.

18
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


La mayor parte de las herramientas CASE que afirman que tiene como principal inters el control
de calidad son en realidad herramientas mtricas que hace una auditoria del cdigo fuente para
determinar si es justa o no a ciertos estndares del lenguaje. Otras herramientas extraen mtricas
tcnicas como base para medir la calidad del software que se esta construyendo.
HERRAMIENTAS DE GESTIN COMO BASE DE DATOS.
El software de gestin de bases de datos sirve como fundamentos para establecer una base de
datos CASE. Dado el nfasis acerca de los objetos de configuracin, las herramientas de gestin
de bases de datos para CASE pueden evolucionar a partir de los sistemas de gestin de bases de
datos relacionales (SGBDR) para transformarse en sistemas de gestin de bases de datos
orientadas a objetos(SGBDOO).
HERRAMIENTAS DE CODIFICACIN DE CUARTA GENERACIN.
Los sistemas de consulta de bases de datos, los generadores de cdigo y los lenguajes de cuarta
generacin han cambiado la forma en que se desarrollan los sistemas. Idealmente, estas
herramientas de generacin de cdigo no solo traducen la descripcin de un sistema operativo,
sino que tambin ayudan a verificar la correccin de la especificacin del sistemas de tal forma que
la salida resultante satisfaga los requisitos del usuario.
Los lenguajes de cuarta generacin se usan ampliamente en aplicaciones de sistemas de
informacin.
Aunque los lenguajes de cuarta generacin, los generadores de cdigo y los generadores de
aplicaciones, permiten que un ingeniero de software especifique un sistema a un nivel muy alto de
abstraccin; cada una de estas herramientas difiere en aspectos importantes.
HERRAMIENTAS DE MANTENIMIENTO
Las herramientas CASE para el mantenimiento de software abarcan una actividad que actualmente
ocupa, aproximadamente, el 70% del esfuerzo total dedicado al software. La categora de
herramientas de mantenimiento puede subdividirse de la siguiente forma:

Herramientas de ingeniera inversa a especificaciones. Toman el cdigo fuente como


entrada y generan modelos de diseo y anlisis estructurado, listas de utilizacin y otra
informacin con el diseo.

Herramientas de reestructuracin y anlisis de cdigo. Analizan la sintaxis del programa,


generan un grafo de flujo de control y un programa estructurado.

Herramientas interactivas de reingeniera de sistema. Se utilizan para modificar sistemas


de base de datos.

Estas herramientas estn limitadas a lenguajes de programacin especficos y requieren cierto


grado de interaccin con el ingeniero de software.
HERRAMIENTAS DE GESTIN DE CONFIGURACIN DE SOFTWARE.
La gestin de configuracin de software (GCS) se encuentra en el ncleo de todos los entornos
CASE. Las herramientas pueden ofrecer su asistencia en las cinco tareas principales de GCS:
identificacin, control de versiones control de cambios, auditoria y contabilidad de estados. La base
de datos CASE proporciona un mecanismo para identificar todos los elementos de configuracin y

19
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


relacionarlo con otros elementos; un acceso sencillo a los elementos de configuracin individuales
facilita el proceso de auditoria; las herramientas de comunicacin CASE pueden mejorar
enormemente la contabilidad de estados (ofreciendo informacin acerca de los cambios a todos
aquellos que necesiten conocerlos).

HERRAMIENTAS DE ANLISIS Y DISEO.


Las herramientas de anlisis y diseo capacitan al ingeniero del software para crear modelos del
sistema que haya que construir. Los modelos contienen una representacin de los datos, de la
funcin y del comportamiento (en el nivel de anlisis), as como caracterizaciones del diseo de
datos, arquitectura, procedimientos e interfaz. Al efectuar una comprobacin de la consistencia y
validez del modelo, las herramientas de anlisis y diseo proporcionan al ingeniero del software un
cierto grado de visin en lo tocante a la representacin del anlisis, y le ayudan a eliminar errores
antes de que se propaguen al diseo, o lo que es peor, a la propia implementacin.
HERRAMIENTAS PRO/SIM.
Las herramientas PRO/SIM (de prototipos y simulacin) proporcionan al ingeniero del software la
capacidad de predecir el comportamiento de un sistema en tiempo real antes de llegar a
construirlo. Adems, capacitan al ingeniero del software para desarrollar simulaciones del sistema
de tiempo real que permitirn al cliente obtener ideas acerca de su funcionamiento,
comportamiento y respuesta antes de la verdadera implementacin.
HERRAMIENTAS DE DESARROLLO Y DISEO DE INTERFAZ.
Las herramientas de desarrollo y diseo de interfaz son en realidad un conjunto de primitivas de
componente de programas tales como mens, botones, estructuras de ventanas, iconos,
mecanismos de desplazamiento, controladores de dispositivos, etc., Sin embargo, estos conjuntos
de herramientas se estn viendo sustituidos por herramientas de generacin de prototipos de
interfaz que permiten una rpida creacin en pantalla de sofisticadas interfaces de usuario, que se
ajustan al estndar de interfaz que se haya adoptado para el software.
HERRAMIENTAS DE GENERACIN DE PROTOTIPOS.
Se puede utilizar toda una gama de herramientas de generacin de prototipos. Los generadores de
pantallas permiten al ingeniero de software definir rpidamente la disposicin de pantalla para
aplicaciones interactivas. Otras herramientas de prototipos CASE mas sofisticadas permiten la
creacin de un diseo de datos, acoplado con las disposiciones de la pantalla y de los informes
simultneamente. Muchas herramientas de anlisis y diseo proporcionan extensiones que ofrecen
alguna opcin de generacin de prototipos. Las herramientas PRO/SIM generan un esqueleto de
cdigo fuente en Ada y C para las aplicaciones de ingeniera (en tiempo real). Por ultimo, una gama
de herramientas de cuarta generacin poseen tambin caractersticas de generacin de prototipos.
HERRAMIENTAS DE PROGRAMACIN.
La categora de herramientas de programacin abarca los compiladores, editores y depuradores
que estn disponibles para prestar su apoyo en la mayora de los lenguajes de programacin
convencionales. Adems, los entornos de programacin orientados a objetos (OO), los lenguajes
de cuarta generacin, los entornos de programacin grfica, los generadores de aplicaciones y los
lenguajes de consulta de bases de datos residen tambin en esta categora.

20
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

HERRAMIENTAS DE INTEGRACIN Y COMPROBACIN.


En su directorio de herramientas de comprobacin de software, software Quality Engineering define
las siguientes categoras de herramientas de comprobacin:

Adquisicin de datos: herramientas que adquieren datos que se utilizaran durante la


comprobacin.

Medida esttica: herramientas que analizan el cdigo fuente sin ejecutar casos de prueba.

Medida dinmica: herramientas que analizan el cdigo fuente durante la ejecucin.

Simulacin: herramientas que simulan las funciones del hardware o de otros elementos
externos.

Administracin de comprobaciones: herramientas que prestan su asistencia en la


planificacin, desarrollo y control de las comprobaciones.

Herramientas de funcionalidad cruzada: se trata de herramientas que cruzan los limites de


las categoras anteriores.

Debera tenerse en cuenta que muchas de las herramientas de comprobacin poseen


caractersticas que abarcan dos o ms de las categoras anteriores.
HERRAMIENTAS DE ANLISIS ESTTICO.
Las herramientas de anlisis esttico prestan su asistencia al ingeniero del software a efectos de
derivar casos prcticos. Se utilizan tres tipos distintos de herramientas estticas de comprobacin
en la industria: herramientas de comprobacin basadas en cdigo, lenguajes de comprobacin
especializados, y herramientas de comprobacin basadas en requisitos. Las herramientas de
comprobacin basadas en cdigo admiten un cdigo fuente (o PDL) como entrada y efectan un
cierto numero de anlisis que can lugar a la generacin de casos de prueba. Los lenguajes de
comprobacin especializados (por ejemplo: ATLAS) capacitan al ingeniero del software para
escribir detalladas especificaciones de comprobacin que describirn todos los casos de prueba y
la logstica de su ejecucin. Las herramientas de comprobacin basadas en requisitos aslan
requisitos especficos del usuario y sugieren casos de prueba (o clases de comprobaciones) que
ejerciten estos requisitos.
HERRAMIENTAS DE ANLISIS DINMICO.
Las herramientas de anlisis dinmico interactan con un programa que se est ejecutando,
comprueban la cobertura de rutas, comprueban las afirmaciones acerca del valor de variables
especificas y en general instrumentan el flujo de ejecucin del programa. Las herramientas

21
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


dinmicas pueden ser bien intrusivas, bien no intrusivas. Las herramientas intrusivas modifican el
software que hay que comprobar mediante sondas que se insertan (instrucciones adicionales) y
que efectan las actividades mencionadas anteriormente. Las herramientas de comprobacin no
intrusivas utilizan un procesador hardware por separado que funciona en paralelo con el
procesador que contenga el programa que se est comprobando.
HERRAMIENTAS DE GESTIN DE COMPROBACIN.
Las herramientas de gestin de comprobacin se utilizan para comprobar y coordinar la
comprobacin de software para cada uno de los pasos principales de comprobacin. Las
herramientas de esta categora administran y coordinan la comprobacin de regresiones, efectan
comparaciones que determinan las diferencia s entre la salida real y la esperada, y efectan
comprobaciones por lotes de programas con interfaces interactivas entre hombre y maquina.
Adems de las funciones indicadas anteriormente, muchas herramientas de gestin de
comprobaciones sirven tambin como controladores de comprobacin genricos. Un controlador
de comprobacin lee uno o mas casos de prueba de algn archivo de pruebas, da formato a los
datos de prueba para que se ajusten a las necesidades del software que se esta probando, e
invoca entonces al software que sea preciso comprobar.
HERRAMIENTAS DE COMPROBACIN CLIENTES/SERVIDOR.
El entorno C/S existe unas herramientas de comprobacin especializadas que ejerciten la interfaz
grfica de usuario y los requisitos de comunicaciones en red par el cliente y el servidor.
HERRAMIENTAS DE REINGENIERA.
La categora de herramientas de reingeniera se pueden subdividir en las funciones siguientes:

Herramientas de ingeniera inversa para producir especificaciones: se toma el cdigo


fuente como entrada y se generan modelos grficos de anlisis y diseo estructurados,
listas de utilizacin y otras informaciones de diseo.

Herramientas de reestructuracin y anlisis de cdigo: se analiza la sintaxis del programa,


se genera una grfica de control de flujo y se genera automticamente un programa
estructurado.

Herramientas de reingeniera para sistemas en lnea: se utilizan para modificar sistemas de


bases de datos en lnea (por ejemplo: para convertir archivos IDMS o DB2 traducindolos a
un formato de entidades y relaciones).

Muchas de las herramientas anteriores estn limitadas a lenguajes de programacin especficos


(aun cuando se abarcan la mayora de los lenguajes principales) y requieren un cierto grado de
interaccin con un ingeniero del software.
Las herramientas de ingeniera inversa y progresiva de la prxima generacin harn un uso mucho
mayor de tcnicas de inteligencia artificial, aplicando una base de conocimientos que se a
especifica del dominio de la aplicacin (esto es, un conjunto de reglas de descomposicin que se
aplicaran a todos los programas de una cierta zona de aplicacin tal como el control de fabricacin
o la avinica). El componente de inteligencia artificial asistir en la descomposicin y
reconstruccin del sistemas, pero seguir requiriendo una interaccin con un ingeniero de software
a lo largo del ciclo de la reingeniera.

22
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Ejemplos de Herramientas CASE
Las herramientas CASE se han venido ampliando y desarrollando, existe una gran variedad de
estas con caractersticas especficas, a continuacin describiremos algunas de ellas, desde las
ms actuales hasta otras ya no tanto.
Microsoft Project
Microsoft Project es un software de administracin de proyectos diseado, desarrollado y
comercializado por Microsoft para asistir a administradores de proyectos en el desarrollo de planes,
asignacin de recursos a tareas, dar seguimiento al progreso, administrar presupuesto y analizar
cargas detrabajo.
Permite el aprendizaje rpido con el planeamiento y la administracin guiados, organizacin y
seguimiento de las tareas y recursos, comparar versiones de planes de proyectos, evaluar los
cambios, realizar un seguimiento del rendimiento, generar informes predefinidos, compartir planes
de proyecto, colaboracin entre grupos de trabajo, presenta diagramas como: Diagrama de Grant y
Diagrama de Pert (diagrama de red).
El software Microsoft Office Project en todas sus versiones (la versin 2007 es la ms reciente) es
til para la gestin de proyectos, aplicando procedimientos descritos en el PMBoK (Management
Body of Knowledge) del PMI (Project Management Institute).
La primera versin de Microsoft Project fue lanzada para DOS en 1984 por una compaa que
trabajaba para Microsoft. Microsoft adquiri todos losderechos del software en 1985 y liber la
versin 2. La versin 3 para DOS fue liberada en 1986. La versin 4 para DOS fue la ltima versin
para este sistema operativo, liberada en 1987. La primera versin para Windows fue liberada en
1990, y fue llamada versin 1 para Windows. Un dato interesante es que la primera versin para
DOS introdujo el concepto de Lneas de dependencia (link lines) entre tareas en la grfica de
Gantt.
Una versin para Macintosh fue liberada en julio de 1991 y su desarrollo continu hasta Project 4.0
para Mac en 1993. En 1994, Microsoft detuvo el desarrollo para la mayora de las aplicaciones
Mac, y no ofreci nuevas versiones de Office hasta 1998, despus de la creacin del nuevo
Microsoft Macintosh Business Unit el ao anterior. El MacBU nunca lanz una versin actualizada
para Proyect, y la versin anterior de 1993 no es ejecutada nativamente en Mac OS X.
Las versiones fueron lanzadas en 1992 (v3), 1993 (v4), 1995, 1998, 2000, 2002, 2003 y 2007
La aplicacin crea calendarizacin de rutas criticas, adems de cadenas crticas
y metodologa de eventos en cadena disponibles como add-ons de terceros. Los calendarios
pueden ser resource leveled, y las grficas visualizadas en una Grfica de Gantt. Adicionalmente,
Project puede reconocer diferentes clases de usuarios, los cuales pueden contar con distintos
niveles de acceso a proyectos, vistas y otros datos. Los objetos personalizables como calendarios,
vistas, tablas, filtros y campos, son almacenados en un servidor que comparte la informacin a
todos los usuarios.
La familia de Microsoft Project incluye: Microsoft Project Standard, Microsoft Project Professional,
Microsoft Project Server y Microsoft Project WebAccess.
Microsoft Project y Project Server son piezas angulares del Microsoft Office Enterprise Project
Management (EPM).
Microsoft revel que las futuras versiones de Microsoft Project contarn con Interfaz de usuario
fluida.

23
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Racional Rose

Rational Rose es una herramienta de produccin y comercializacin establecidas por Rational


Software Corporation (actualmente parte de IBM). Rose es un instrumento operativo conjunto que
utiliza el Lenguaje Unificado (UML) como medio para facilitar la captura de dominio de
la semntica, laarquitectura y el diseo.

24
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Este software tiene la capacidad de:

Sus caractersticas principales:

No es gratuito, se debe hacer un previo pago para poder adquirir el producto.


La ingeniera de cdigo (directa e inversa) es posible para ANSI C++, Visual C++, Visual
Basic 6, Java, J2EE/EJB, CORBA, Ada 83, Ada 95, Bases de datos: DB2, Oracle, SQL 92, SQL
Server, Sybase, Aplicaciones WEB.

Solamente Ingeniera reversa para COM.


Rational Rose habilita asistentes para crear clases y provee plantillas de cdigo que
pueden aumentar significativamente la cantidad de cdigo fuente generado. Adicionalmente, se
pueden aplicar los patrones de diseo, Racional Rose ha provisto 20 de los patrones de diseo
GOF para Java.

Admite la integracin con otras herramientas de desarrollo (IDEs).

Requerimientos :

Windows 2000 Professional, Service Pack 4

Windows XP Professional, Service Pack 2

Windows 2000 and 2003 Server and Advanced Server, Service Pack 3 and 4

Windows Vista

Linux
La siguiente tabla muestra el soporte para Ciclo de Vida de un Proyecto en Rational Rose
Rose
Si. Usando el modelo de casos de uso de negocio
Junto con RequisitePro.

Si. Diagramas UML de clases y de interaccin. El asistente de frameworks p


Soporta la mayora de los lenguajes excepto .NET

No. Se provee Quality Architect para pruebas unitarias, pero requiere otras h
Integrado con la aplicacin de control de versiones compatible con SCC.
No
Si

25
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


No. Requiere el uso de SoDA
Si
Ventana de trabajo:

26
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

JDeveloper

Este magnfico entorno integrado desarrollado por Oracle trabaja con la ingeniera inversa, es decir
primero se crea l cdigo y despus el diagrama.
Es un software propietario pero gratuito desde 2005. Las primeras versiones de 1998 estaban
basadas en el entorno JBuilder de Borland, pero desde la versin 9i de 2001 est basado en Java,
no estando ya relacionado con el cdigo anterior de JBuilder.
Sus caractersticas principales:

Es un entorno gratis, aunque previamente se debe suscribir para poder descargarlo. Puede
descargarse en :
http://www.oracle.com/technology/products/jdev/index.html.

Netamente desarrollado para Java.

Posee diagrama de clases (UML).

Funciona en los siguientes sistemas operativos:

Windows.

Linux.

Mac OSX

27
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

MagicDraw
MagicDraw es una herramienta de modelaje con completas caractersticas UML, sin duda es una
de las mejores herramientas CASE del mercado, que procura mantenerse adems siempre al da
con continuas actualizaciones. Es desarrollada por No Magic, Inc. Implementada totalmente en
JAVA. Diseada para los analistas del negocio, los analistas del software, los programadores, los
ingenieros de software, y los escritores de la documentacin, esta herramienta de
desarrollo dinmica y verstil facilita anlisis y el diseo de los sistemas y de las bases de datos
orientados objeto.
Caractersticas principales:

Interfaz elegante e intuitiva, la mayor parte de las opciones accesibles con un solo click.

Ayudas en el diseo con autocompletacin y correccin automtica en tiempo real.

Permite visualizar el proyecto de diferentes formas.

Posible derivacin de modelos UML a travs de cdigos fuente escritos anteriormente.

Facilidad y rapidez para el cambio del dominio del modelado.

Generador automtico de informes.

Desarrollo colaborativo directamente con la herramienta a travs del Team Work Server
(Software que permite trabajar a ms de un desarrollador sobre el mismo proyecto en el mismo
instante, el modelo est almacenado en un equipo servidor y los desarrolladores pueden
consultar y actualizar la informacin).

Disponible para un gran nmero de plataformas y sistemas operativos.


La versiones existentes de MagicDraw son: Reader, Community, Personal, Standard, Profesional,
Entrerprise.
Reader:
-Permite la visualizacin e impresin de proyectos.

28
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


-Gratuita.
-Destinada para poder compartir ficheros.
Community:
-Destinada para desarrolladores que creen proyectos no comerciales.
-Disponibles pocas funcionalidades y con restricciones.
-Gratuita.
Personal:
-Disponibles todas las funcionalidades.
-Destinada para el uso individual, no contiene Team Work Server.
Standard:
A todas las funcionalidades de la versin personal aade:
-Integracin con IDE"s.
-Soporte para el desarrollo colaborativo.
Profesional:
-Incorpora soporte de generacin de cdigo e ingeniera inversa para lenguajes como: Java, C++,
C#.
Enterprise:
-La versin ms avanzada de MagicDraw
-Permite cualquier modelado.
-Recuperacin de estructuras mediante JDBC.
-Produccin de modelos personalizados o especficos como XML y DDL.
Soporta la integracin con los siguientes IDEs:

Sun Java Studio 8.

Borland CaliberRM 6.0, 6.5 requirements tool.

Oracle Workshop 8.1.2.

E2E Bridge 4.0

IntelliJ IDEA 4.X o mayor.

NetBeans 6.X o mayor.

Eclipse 3.1 o mayor.

IBM Rational Application Developer

Borland JBuilder 8.0, 9.0, X, 2005, 2006, 2007

Built-in CVS interface for storing project files.

Integracin con herramientas MDA: Compuware OptimalJ, AndroMDA, Interactive Objects


ArcStyler, openArchitectureWare, E2E Bridge, Mia-Software Tools and Netfective' Blu Age.
Adems MagicDraw tiene plug-ins para que soporten:

Usando SysML para Ingeniera de Sistemas.

29
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

DoDAF para compilar modelos.


Trabajando con IBM Rational RequisitePro and Telelogic DOORS para gestin de
requerimientos.

Visual Paradigm
Visual Paradigm es una herramienta UML profesional que soporta el ciclo de vida completo del
desarrollo de software: anlisis y diseo orientados a objetos, construccin, pruebas y despliegue.
Permite dibujar todos los tipos de diagramas de clases, cdigo inverso, generar cdigo desde
diagramas y generar documentacin. Tambin proporciona abundantes tutoriales de UML,
demostraciones interactivas de UML y proyectos UML. Presenta licencia gratuita y comercial. Es
fcil de instalar y actualizar y compatible entre ediciones.
Caractersticas principales:

Soporte de UML versin 2.1.

Diagramas de Procesos de Negocio - Proceso, Decisin, Actor de negocio, Documento.

Modelado colaborativo con CVS y Subversion (control de versiones).

Interoperabilidad con modelos UML2 (metamodelos UML 2.x para plataforma Eclipse) a
travs de XMI.

Ingeniera de ida y vuelta.

Ingeniera inversa - Cdigo a modelo, cdigo a diagrama.

Ingeniera inversa Java, C++, Esquemas XML, XML, NET exe/dll, CORBA IDL.

Generacin de cdigo - Modelo a cdigo, diagrama a cdigo.

Editor de Detalles de Casos de Uso - Entorno todo-en-uno para la especificacin de los


detalles de los casos de uso, incluyendo la especificacin del modelo general y de las
descripciones de los casos de uso.

Diagramas EJB - Visualizacin de sistemas EJB.

30
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Generacin de cdigo y despliegue de EJB - Generacin de beans para el desarrollo y


despliegue de aplicaciones.

Diagramas de flujo de datos.

Soporte ORM - Generacin de objetos Java desde la base de datos.

Generacin de bases de datos - Transformacin de diagramas de Entidad-Relacin en


tablas de base de datos.

Ingeniera inversa de bases de datos - Desde Sistemas Gestores de Bases de Datos


(DBMS) existentes a diagramas de Entidad-Relacin.

Generador de informes.
Distribucin automtica de diagramas - Reorganizacin de las figuras y conectores de los
diagramas UML.

Importacin y exportacin de ficheros XMI.

Integracin con Visio - Dibujo de diagramas UML con plantillas (stencils) de Microsoft Visio.

Editor de figuras.
Ms otras herramientas y plugins de modelado UML:

Plataforma Java (Windows/Linux/Mac OS X):

SDE para Eclipse.

SDE para NetBeans.

SDE para Sun ONE.

SDE para Oracle JDeveloper.

SDE para JBuilder.

SDE para IntelliJ IDEA.

SDE para WebLogic Workshop.

Plataforma Windows:

SDE para Microsoft Visual Studio


Microsoft Visio
Microsoft
Visio
es
un
software
de
diagramas
para
Microsoft
Windows.
Usa grficos de vectores para crear diversos diagramas. Facilita a los profesionales empresariales
y de Tecnologas de la Informacin la visualizacin, el anlisis y la comunicacin de informacin
compleja. Los diagramas de Visio comunican informacin de un vistazo, conectados a datos
muestran informacin, son fciles de actualizar y pueden aumentar espectacularmente
la productividad. La amplia variedad de diagramas de Microsoft Visio permite comprender, procesar
y compartir informacin sobre los sistemas, recursos y procesos organizativos de una empresa.
Micorsoft Visio est disponible en dos ediciones independientes: Office Visio Professional y Office
Visio Standard. Office Visio Standard tiene la misma funcionalidad bsica que Office Visio
Professional e incluye un subconjunto de sus caractersticas y plantillas. Office Visio Professional
ofrece funcionalidad avanzada, como conectividad de datos y caractersticas de visualizacin, que
no se incluyen en Office Visio Standard. Ambas ediciones, Standard y Professional, comparten la
misma interfaz.

31
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Microsoft adquiere Visio Corporation en 2000. Visio 2007 fue liberado el 30 de noviembre del 2006.
Microsoft revel que la siguiente versin de Microsoft Visio presentar un cordn de unin entre
interfaces de usuario.
Enterprise Architect
Enterprise Architect (EA) Professional es una herramienta CASE de Sparx Systems. Soporta ocho
de los nueve diagramas estndares del UML: diagrama de casos de uso, de clases, de secuencia,
de colaboracin, de actividad, de estados, de implementacin (componentes), de despliegue y
varios perfiles del UML. Si fuera necesario, el diagrama de objetos se puede crear usando los
diagramas de colaboracin.
Enterprise Architect tiene un mecanismo de perfil UML genrico para cargar y trabajar con
diferentes perfiles UML. En Enterprise Architect, estos perfiles se especifican en archivos XML con
un formato especfico. Los perfiles disponibles son:
Modelado de Procesos de Negocio: Soporta las extensiones de modelado de procesos de negocio
de Eriksson-Penker.
Modelado de Datos.
Modelado de la Interfaz de Usuario.
Modelado Web.
Esquema XSD
Permite ingeniera de cdigo (directa e inversa) para ANSI C++, Visual Basic 6, Java, C#,
VB.NET, Delphi y Bases de datos: Ingeniera directa desde el modelo de datos al script DDL. La
ingeniera reversa usa la fuente de datos ODBC.
La forma en la que EA trabaja es generando los archivos de cdigo fuente de las clases para
aquellas que correspondan al mismo paquete. Adicionalmente, se pueden aplicar los patrones de
diseo, el usuario tiene que crear los patrones.
La siguiente tabla muestra el Soporte del Ciclo de Vida del Proyecto en Enterprise Architect
Enterprise Architect

Si. Usando perfiles de UML para el modelado de procesos de negocio


Si. Requisitos funcionales y no funcionales; matriz de trazabilidad de

Si. Diagramas UML de clases y de interaccin. Requiere agregar algu


Es adecuada para proyectos C++, VB, C# y VB.NET
Si

No lo soporta directamente. Aproximacin: usar unidad controlada. E

Administracin de Riesgos - Asignacin de Recursos - Estimacin de


Si
Si

32
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Si

BoUML
BoUmL es una herramienta de software libre. Pude ser redistribuida o modificada bajo los trminos
de Licencia Pblica General (GNU).
Es una herramienta que permite especificar y generar cdigo en C++, Java, Php y IDL.
Sus Caractersticas principales:

Es gratis.

Es multiplataforma: Linux, Solari, Mac Os, Windows.

Permite programar simultneamente en C++, Java, Php y IDL.

Es rpido, no necesita mucho espacio de memoria.


Esta herramienta puede descargarse en: http://bouml.free.fr/.

CASE Studio
Herramienta con potente utilidad de modelado para varias bases de datos. CASE Studio es una
herramienta profesional con la que pueden disearse bases de datos, incluye facilidades para la
creacin de diagramas de relacin, modelado de datos y gestin de estructuras. Tiene soporte para
trabajar con una amplia variedad de formatos de base de datos (Oracle, SQL, MySQL,
PostgreSQL, Access) y permite adems generar xcripts SQL, aplicar procesos de ingeniera
inversa, usar plantillas de diseo personalizables y crear detallados informes en HTML y RTF.

33
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

ArgoUML
Herramienta que contiene funciones avanzadas en las etapas de diseo y modelacin de software.
Presenta licencia comercial.
Como caractersticas fundamentales:

Es modular y extensible.

Soporta todas las especificaciones UML.

Integrado con la WEB.

Brinda una excelente ayuda.


Poseidon
Es una herramienta para modelar cualquier clase de sistema, relacionado o no
con programacin por computadoras. Se presenta en dos ediciones: Community Edition y
Professional Edition.
Sus caractersticas fundamentales son:

Soporta diagramas UML.

Permite Generacin de cdigo para Java y exportacin como HTML.

Fcil de instalar y actualizar.

Compatibilidad entre ediciones.

Opciones avanzadas de impresin.

Soporta grficos en la mayora de los formatos.

Varios idiomas.

EasyCASE

34
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


EasyCASE es un producto para la generacin de esquemas de base de datos e ingeniera reversa.
Esta herramienta permite automatizar las fases de anlisis y diseo dentro del desarrollo de una
aplicacin, para poder crear las aplicaciones eficazmente, desde procesamiento de transacciones a
la aplicacin de bases de datos de cliente/servidor, as como sistemas de tiempo real.
EasyCASE permite capturar los detalles de diseo de un sistema y comunicar las ideas
grficamente, para que sean fciles de ver y entender. Para un diseo legtimo y modelado de
datos, procesos y eventos, permite crear y mantener diagramas de flujo de datos, diagramas de
entidad-relacin, mapasde estructura y ms.
Posee herramientas de correccin avanzadas que permiten revisiones generales. Permite re-usar
diagramas o partes de diagramas para economizar el diseo de un proyecto.
EasyCASE soporta una gama amplia de metodologas estructuradas, permitiendo escoger los
mtodos ms apropiados para realizar las tareas. Determina los tipos de esquemas segn la
metodologa del proyecto seleccionada y notifica de errores a medida que el modelo vaya
construyndose.
El verdadero poder de EasyCASE se encuentra en el soporte comprensivo al modelado de datos,
procesos y eventos. Posee desde el editor de diagramas flexible y un diccionario de los datos, as
como una extensa cantidad de reportes y anlisis.
Es una herramienta multi-usuario, permite compartir datos y trabajar en un proyecto con otros
departamentos. El equipo completo puede acceder a proyectos localizados en el servidor de la red
concurrentemente. Para asegurar la seguridad de los datos, existe el diagrama y diccionario de los
datos que bloquean por niveles al registro, al archivo y al proyecto, y niveles de control de acceso.
Especificaciones de EasyCASE Profesional:
Metodologas Estructuradas:
. Yourdon/DeMarco
. Gane & Sarson
. Ward-Mellor
. SSADM
. Yourdon/Constantine
. Chen
. Martin
. Bachman
. Shlaer-Mellor
. IDEF1X
. Merise
. Metrica
Bases de Datos que soporta:
.Oracle
. Paradox
. Progress
. SQLBase
. SQL Server
. Sybase

35
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


. Watcom SQL
. Access
. ANSI SQL
. Clipper
. dBASE III , IV, V
. DB2
. FoxPro
. Informix
. Otras ms ...
Tipos de Diagramas:
. Data Flow Diagrams (DFDs)
. Transformation Schema (real-time DFDs)
. Structure Charts (STCs)
. State Transition Diagrams (STDs)
. Entity Relationship Diagrams (ERDs)
. Data Model Diagrams (DMDs)
. Data Structure Diagrams (DSDs)
. Entity Life History Diagrams (ELHs)
. Logical Data Structure Diagrams (LDSs)

ERwin

36
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


PLATINUM ERwin es una herramienta de diseo de base de datos. Brinda productividad en diseo,
generacin, y mantenimiento de aplicaciones. Desde un modelo lgico de los requerimientos de
informacin, hasta el modelo fsico perfeccionado para las caractersticas especficas de la base de
datos diseada, ERwin permite visualizar la estructura, los elementos importantes, y optimizar el
diseo de la base de datos.
Genera automticamente las tablas y miles de lneas de stored procedure y triggers para los
principales tipos de base de datos.
ERwin hace fcil el diseo de una base de datos. Los diseadores de bases de datos slo apuntan
y pulsan un botn para crear un grfico del modelo Entidad-Relacin de todos sus requerimientos
de datos y capturar las reglas de negocio en un modelo lgico, mostrando todas las entidades,
atributos, relaciones, y llaves importantes.
Ms que una herramienta de dibujo, ERwin automatiza el proceso de diseo de una manera
inteligente. Por ejemplo, ERwin habilita la creacin de un diccionario de atributos reusables,
asegurando la consistencia de nombres y definiciones para su base de datos.
Se mantienen las vistas de la base de datos como componentes integrados al modelo, permitiendo
que los cambios en las tablas sean reflejados automticamente en las vistas definidas.
La migracin automtica garantiza la integridad referencial de la base de datos.
ERwin establece una conexin entre una base de datos diseada y una base de datos, permitiendo
transferencia entre ambas y la aplicacin de ingeniera reversa. Usando esta conexin, Edwin
genera automticamente tablas, vistas, ndices, reglas de integridad referencial (llaves primarias,
llaves forneas), valores por defecto y restricciones de campos y dominios.
ERwin soporta principalmente bases de datos relacionales SQL y bases de datos que incluyen
Oracle, SQL Server, Sybase, DB2, e Informix.
El mismo modelo puede ser usado para generar mltiples bases de datos, o convertir una
aplicacin de una plataforma de base de datos a otra.
Especificaciones Tcnicas:
Software de Aplicacin Compatibles: NetDynamics, PowerBuilder, PROGRESS, Visual Basic.
Bases de Datos Compatibles: CA-Clipper, CA-OpenIngres, DB2 for MVS y DB2 for OS/390, DB2
UDB, dBASE, FoxPro, HiRDB, Informix, InterBase, Microsoft Access, Microsoft SQL Server, Oracle,
Paradox, Rdb, Red Brick Warehouse, SAS, SQL Anywhere, SQLBase, Sybase, Teradata.

37
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Oracle Designer
Oracle Designer es un juego de herramientas para guardar las definiciones que necesita el usuario
y automatizar la construccin rpida de aplicaciones cliente/servidor.
Integrado con Oracle Developer, Oracle Designer provee una solucin para desarrollar sistemas
empresariales cliente/servidor. Sofisticadas aplicaciones cliente/servidor pueden ser 100%
generadas usando la lgica de la aplicacin y el mdulo de componentes reusables. Oracle
Designer tambin habilita la captura del diseo de sistemas existentes, salvaguardando la versin
actual.
Todos los datos ingresados por cualquier herramienta de Oracle Designer, en cualquier fase de
desarrollo, se guardan en un repositorio central, habilitando el trabajo fcil del equipo y
la direccin del proyecto.
En el lado del Servidor, Oracle Designer soporta la definicin, generacin y captura de diseo de
los siguientes tipos de bases de datos, por conexin nativa de Oracle y por conectividad ODBC:

Oracle7 y ms

?Personal Oracle Lite

Rdb

ANSI 92

DB and MVS

Microsoft SQL Server

Sybase
Oracle Designer no fuerza al uso de alguna metodologa especfica, pero en cambio proporciona
un juego de herramientas que le permiten que use la metodologa de desarrollo que elija.
Oracle Designer soporta las siguientes metodologas: Desarrollo Rpido de Aplicaciones (RAD), ?
Ingeniera de la Informacin (IE), ?Modelado Asistido de Procesos, Captura de Diseo Asistido.

38
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software


Las herramientas de Oracle Designer se agrupan en reas que reflejan las necesidades primarias
de sus tipos diferentes de usuarios:
Requisitos para el Modelado de Sistemas:
Uso de las herramientas en esta rea: procesos para el modelo del negocio; re-examinar los
mtodos usados para conseguir las metas de la organizacin; crear representaciones
diagramticas de los procesos del negocio; detalles de los registros; describir los requisitos del
negocio en detalle; crear modelos diagramticos de las entidades, funciones y flujos de datos en
los sistemas que constituyen la organizacin.
Generadores de Diseos Preliminares:
Uso de Transformadores para generar los diseos preliminares de los modelos creados
anteriormente.
Diseo y Generacin:
Uso de las herramientas en esta rea: diseo de sistemas que renan los requisitos comerciales
de una organizacin; proveer un ambiente de desarrollo para los ingenieros de sistemas y
diseadores; crear componentes del lado del servidor y aplicaciones del lado del cliente desde
definiciones grabadas en el Repositorio de Datos.
Utilitarios:
Uso de las herramientas en esta rea: ingresar y editar la informacin en el Repositorio; mostrar las
relaciones entre los elementos en el Repositorio de Datos; generar etiquetas predefinidas y
personalizadas en el Repositorio; administrar el Repositorio de datos; escribir sentencias
interactivas en SQL.

39
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

PowerDesigner
PowerDesigner es una suite de aplicaciones de Powersoft para la construccin, diseo y modelado
de datos a travs de diversas aplicaciones. Es una herramienta para el anlisis, diseo inteligente y
construccin slida de una base de datos y un desarrollo orientado a modelos de datos a nivel
fsico y conceptual.
Esta suite cuenta con los siguientes productos:

PowerDesigner ProcessAnalyst: Permite analizar el flujo de datos de toda la empresa, a


travs de los departamentos hasta el usuario final.

PowerDesigner DataArchitect: Provee a los diseadores de las bases de datos una manera
eficiente para la creacin inteligente, depuracin e ingeniera de reversa del modelado, tanto
conceptual como fsico de los datos.

PowerDesigner AppModeler: Permite el diseo y ajuste de los componentes de objetos y


datos en aplicaciones de uso comn como PowerBuilder, Power++, Visual Basic y Delphi,
ajustando el modelo de base de datos. Junto con la aplicacin de servidor PowerDynamo
(incluido) se pueden publicar las bases de datos en Internet directamente del modelo de base de
datos. Esta herramienta tambin puede generar pginas de servidor activas para Microsoft
Internet Information Server.

PowerDesigner WarehouseArchitect: Provee un poderoso datawarehousing para el diseo


e implementacin de una base de datos. Cuenta con soporte para bases de datos tradicionales
DBMS y bases de datos en plataformas de sistemas analticos usando modelados
dimensionales, esquemas de "estrella" y "nieve", particionamiento y agregacin. Tambin cuenta
con un alto desempeo en el indexamiento de esquemas.

PowerDesigner MetaWorks: Permite fcilmente ver y compartir la informacin del


modelado de datos con una definicin constante de objetos. Tambin puede comparar y mezclar
dos modelos de datos paso a paso.

PowerDesigner Viewer: Crea reportes de los modelos fsicos, conceptuales y procesos del
modelado de la base de datos. Tambin permite generar reportes para Internet en HTML. Este
producto cuenta con demos directos de sitio de Sybase en Internet para su evaluacin.
Adems de todas estas caractersticas, PowerDesigner ofrece las posibilidades de:

Soporte para tipos de datos abstractos: PowerDesigner soporta la identificacin de tipos de


datos abstractos con ingeniera inversa de aplicaciones para Oracle.

40
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Soporte para usuarios de bases de datos: Los usuarios de bases de datos pueden ser
recogidos de una base de datos existente y luego almacenados en un modelo fsico de datos.
Ahora, es posible aadir nuevos usuarios y tambin asignar usuarios como propietarios y vistas.

Mayor selectividad en ingeniera inversa: PowerDesigner permite seleccionar no slo las


tablas que se desean cargar, sino todo tipo de objetos de la base de datos.

Clculo del tamao de las bases de datos: Puede calcular y definir el tamao definitivo de
bases de datos de nuevo diseo y construccin, incluyendo tamaos detallados de ndices y
tablas.
System Architect
System Architect posee un repositorio nico que integra todas las herramientas, y metodologas
usadas. En la elaboracin de los diagramas, el System Architect conecta directamente al
diccionario de datos, los elementos asociados, comentarios, reglas de validaciones, normalizacin,
etc.
Posee control automtico de diagramas y datos, normalizaciones y balanceamiento entre
diagramas "Padre e Hijo", adems de balanceamiento horizontal, que trabaja integrado con
el diccionario de datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo
Funcional.
System Architect es considerado un Upper Case, que puede ser integrado a la mayora de los
generadores de cdigo. Traduce modelos de entidades, a partir de la enciclopedia, en esquemas
para Sybase, DB2, Oracle, Ingress, SQL Server, RDB, XDB, Progress, Paradox, SQL Base, AS400,
Interbase, OS/2, DBMS, Dbase 111, Informix, entre otros. Genera tambin Windows DDL y
definiciones de datos para lenguaje C/C++. Posibilita a travs de ODBC, la creacin de bases de
datos a partir del modelo de entidades, para los diversos manejadores de bases de datos arriba
mencionados.
Posee un mdulo especfico para Ingeniera Reversa desde las Bases de Datos SQL ms
populares, incluyendo Sybase, DB2, Infonmix, Oracle y SQL Server (DLL), adems de dilogos y
mens desde Windows.
System Architect posee mltiples metodologas para diseo y anlisis, incluyendo: Anlisis
Estructurado en los modelos De Marco/Yourdon y Gane/Sarson, anlisis de tiempo real en el
modelo Ward & Mellor; anlisis esencial de sistemas; anlisis orientado a objetos en los modelos
UML, Booch, Coad/Yourdon, Rumbaugh, Shaler/Mellor; Diagrama de entidad - relacin en los
modelos Peter Chen, James Martin, Bachman o Booch, Grfico de Estructuras, Diagramas de
Descomposicin, Planeamiento Estratgico de informaciones, entre otras.
Es una herramienta creada especficamente para la arquitectura "Cliente/Servidor", por eso posee
control total de versiones, y de acceso, as como la administracin completa de mltiples equipos
de desarrollo.

41
Ing. Carlos Barker del Ro

Estado Actual de la Ingeniera de Software

Conclusiones
La herramientas CASE actualmente brindan una gran gama de componentes que incluyen todos o
la mayora de los requisitos necesarios para el desarrollo de los sistemas, han sido creadas con
una gran exactitud en torno a las necesidades de los desarrolladores de software para
la automatizacinde procesos incluyendo el anlisis, diseo e implantacin. Ofrecen una gran
plataforma de seguridad a sistemas que las usan.
Debido a la demanda que tienen las CASE, su exigencia en cuanto a su uso ha ido aumentando,
por lo que toda CASE debe entre otras cosas: proporcionar topologas de aplicacin flexibles,
proporcionar aplicaciones porttiles, brindar un Control de versin, crear cdigo compilado en el
servidor, dar un Soporte multiusuario y ofrecer seguridad.
Las herramientas CASE cuentan con una credibilidad y exactitud que tienen un reconocimiento
universal, siendo usadas por cualquier desarrollador y/o programador que busca un resultado
ptimo y eficiente.

42
Ing. Carlos Barker del Ro