Sunteți pe pagina 1din 6

El desarrollo de los proyectos de software causan bastantes confusiones y malas

interpretaciones en los requerimientos de los clientes y usuarios, en parte debido a la


abundancia de notaciones, metodologías y conceptos que hace que los desarrolladores
de sistemas no se pongan de acuerdo en que es lo que realmente están elaborando. En
un esfuerzo para estandarizar las notaciones y procesos a utilizar, se conformó un
consorcio liderado por la empresa Rational y por las principales empresas del mundo de
la industria de la informática, entre ellas, Microsoft, Oracle, Sun Microsystems,
Intellicorp, IBM, AMD y otras, quienes desarrollaron una notación llamada UML y el
proceso de desarrollo RUP.

INGENIERÍA DE SOFTWARE
La ingeniería del Software nace como una disciplina para aplicar los
principios técnicas y herramientas de desarrollo de software, surgió porque todos los
desarrolladores en la década de los 80’s, realizaban el software de forma artística, es
decir utilizando métodos y técnicas adhoc donde la experiencia (el ensayo-error) era el
camino a seguir. Este enfoque produjo grandes y
exitosos productos de programación pero conforme los proyectos se volvieron más
complejos debido al avance del hardware y software y la penetración cada vez mayor
de la informática en todos los ámbitos de la sociedad, llevó a que se produjera software
sin calidad, se incumplieran los presupuestos y se incrementara dramáticamente
los costos de mantenimiento.
COMPLEJIDAD DEL SOFTWARE
Al observar sistemas complejos sociales como una gran empresa, los naturales como el
universo y los sistemas creados por el hombre como el computador, se observa que
exhiben una jerarquía de clases (conceptos) y otra de objetos (instancias). En una
empresa donde conjuntos de personas forman un departamento y un conjunto de
departamentos forman divisiones se describe la forma canónica de un sistema complejo
que exhibe dos jerarquías: Una jerarquía de clases y otra jerarquía de objetos, donde
cada objeto es una instancia de la una clase.

DEFINICIÓN:
 Es una metodología cuyo fin es entregar un producto de software.
 Es un proceso de desarrollo de software el cual utiliza el lenguaje unificado de
modelado UML, constituye la metodología estándar más utilizada para el
análisis, implementación y documentación de sistemas orientados a objetos.

CARACTERÍSTICAS
Forma disciplinada de asignar tareas y responsabilidades.
Pretende implementar las mejores prácticas en Ingeniería de Software.
Control de cambios
Modelado visual del software
Verificación de la calidad del software.
El RUP es un producto de Racional (IBM). Se caracteriza por ser iterativo e
incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye
artefactos (que son los productos tangibles del proceso).
CICLO DE VIDA RUP

El ciclo de vida organiza las tareas en fases e iteraciones.


RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias
iteraciones en número variable según el proyecto y en las que se hace un mayor o menor
hincapié en las distintas actividades.

FASES DEL CICLO DE VIDA DEL RUP:


1. FASE DE INICIO: Tiene como propósito definir y acordar el alcance del proyecto
con los patrocinadores, identificar los riesgos asociados al proyecto, proponer
una visión muy general de la arquitectura de software y producir el plan de las
fases y el de iteraciones posteriores.

2. FASE DE ELABORACIÓN: Se seleccionan los casos de uso que permiten


definir la arquitectura base del sistema y se desarrollaran en esta fase, se realiza
la especificación de los casos de uso seleccionados y el primer análisis del
dominio del problema, se diseña la solución preliminar.

3. FASE DE DESARROLLO: Tiene como propósito completar la funcionalidad


del sistema, para ello se deben clarificar los requerimientos pendientes,
administrar los cambios de acuerdo a las evaluaciones realizados por los
usuarios y se realizan las mejoras para el proyecto.

4. FASE DE CIERRE: Tiene como propósito asegurar que el software esté


disponible para los usuarios finales, ajustar los errores y defectos encontrados
en las pruebas de aceptación, capacitar a los usuarios y proveer el soporte
técnico necesario. Se debe verificar que el producto cumpla con las
especificaciones entregadas por las personas involucradas en el proyecto.
TENDENCIAS FUTURAS:
• RUP pretende implementar las mejores prácticas actuales en ingeniería de
software:
– Desarrollo iterativo del software:
 El software moderno es complejo y novedoso. No es realista usar
un modelo lineal de desarrollo como el de cascada.
 Un proceso iterativo permite una comprensión creciente de los
requerimientos a la vez que se va haciendo crecer el sistema.
 RUP sigue un modelo iterativo que aborda las tareas más
riesgosas primero.
 Con esto se logra reducir los riesgos del proyecto y tener un
subsistema ejecutable tempranamente.

– Administración de requerimientos.
 RUP describe cómo:
 Obtener los requerimientos
 Organizarlos
 Documentar requerimientos de funcionalidad y restricciones
 Rastrear y documentar decisiones
 Captar y comunicar requerimientos del negocio
 Los casos de uso y los escenarios indicados por el proceso han
probado ser una buena forma de captar requerimientos y guiar el
diseño, la implementación y las pruebas.

– Uso de arquitecturas basadas en componentes.


 El proceso se basa en diseñar tempranamente una arquitectura
base ejecutable.
 La arquitectura debe ser:
 Flexible
 Fácil de modificar
 Intuitivamente comprensible
 Promueve la reutilización de componentes
 RUP apoya el desarrollo basado en componentes, tanto nuevos
como preexistentes.

– Modelamiento visual del software.


 Modelamiento visual de la estructura y el comportamiento de la
arquitectura y los componentes.
 Bloques de construcción:
 Ocultan detalles
 Permiten la comunicación en el equipo de desarrollo
 Permiten analizar la consistencia:
 entre las componentes
 entre diseño e implementación
 UML es la base del modelamiento visual de RUP.
– Verificación de la calidad del software.
 No sólo la funcionalidad es esencial, también el rendimiento y la
confiabilidad.
 RUP ayuda a planificar, diseñar, implementar, ejecutar y evaluar
pruebas que verifiquen estas cualidades.
 El aseguramiento de la calidad es parte del proceso de desarrollo
y no la responsabilidad de un grupo independiente.

– Control de cambios.
 Los cambios son inevitables, pero es necesario evaluar si éstos
son necesarios y rastrear su impacto.
 RUP indica cómo controlar, rastrear y monitorear los cambios
dentro del proceso iterativo de desarrollo.

La notación UML se deriva y unifica las tres metodologías de análisis y diseño Orientada
a Objeto más extendidas:
 Metodología de Grady Booch para la descripción de conjuntos de objetos y sus
relaciones.
 Técnica de modelado orientada a objetos de James Rumbaugh (OMT: Object-
Modeling Technique).
 Aproximación de Ivar Jacobson (OOSE: Object- Oriented Software Engineering)
mediante la metodología de casos de uso (use case).

El desarrollo de UML comenzó a finales de 1994 cuando Grady Booch y Jim


Rumbaugh de Rational Software Corporation empezaron a unificar sus métodos. A
finales de 1995, Ivar Jacobson y su compañía Objectory se incorporaron a Rational en
su unificación, aportando el método OOSE.
De las tres metodologías de partida, las de Booch y Rumbaugh pueden ser descritas
como centradas en objetos, ya que sus aproximaciones se enfocan hacia el modelado
de los objetos que componen el sistema, su relación y colaboración. Por otro lado, la
metodología de Jacobson es más centrada a usuario, ya que todo en su método se
deriva de los escenarios de uso. UML se ha ido fomentando y aceptando como estándar
desde el OMG que es también el origen de CORBA, el estándar líder en la industria para
la programación de objetos distribuidos. En 1997 UML fue aprobada por la OMG
convirtiéndose en la notación estándar de facto para el análisis y el diseño orientado a
objetos.

FLUJO DE TRABAJO:
Un diagrama de flujo de trabajo (también conocido como flujo de trabajo) brinda un
panorama gráfico del proceso de negocio. Por medio de símbolos y formas
estandarizados, el flujo de trabajo muestra de forma detallada cómo se completa tu
trabajo de principio a fin. También muestra quién es responsable del trabajo en qué
punto del proceso. Diseñar un flujo de trabajo implica llevar a cabo primero un análisis
exhaustivo de dicho flujo, lo cual puede exponer debilidades potenciales. Un análisis del
flujo de trabajo puede ayudarte a definir, estandarizar e identificar áreas críticas de tu
proceso.
Los flujos de trabajo también son útiles para ayudar a los empleados a entender sus
funciones y el orden en el cual se completa el trabajo, y para crear más unidad dentro
de departamentos diferentes. Con sus orígenes en la industria manufacturera, los flujos
de trabajo ahora se usan en una variedad de industrias, desde el gobierno hasta las
finanzas y el comercio, y son más sencillos que nunca de crear.

ARTEFACTOS:
Representan la especificación de un elemento de implementación concreto y real,
generalmente archivos (ejecutables, de datos, de configuración, HTML, documentos,
resultados de proceso de desarrollo, etc.) y tablas de la base de datos.
Los artefactos se despliegan en los nodos, indicando que recurso computacional los va
a albergar y, en su caso, ejecutar.
Un artefacto es una información que es utilizada o producida mediante un proceso de
desarrollo de software. Pueden ser artefactos un modelo, una descripción o un software.
Los artefactos de UML se especifican en forma de diagramas, éstos, junto con
la documentación sobre el sistema constituyen los artefactos principales que el
modelador puede observar.

Se necesita más de un punto de vista para llegar a representar un sistema. UML utiliza
los diagramas gráficos para obtener estos distintos puntos de vista de un sistema:

 Diagramas de Implementación.
 Diagramas de Comportamiento o Interacción.
 Diagramas de Casos de uso.
 Diagramas de Clases.

Ejemplo de algunos de los diagramas que utiliza UML.

Diagramas de Implementación

Se derivan de los diagramas de proceso y módulos de la metodología de Booch, aunque


presentan algunas modificaciones. Los diagramas de implementación muestran los
aspectos físicos del sistema. Incluyen la estructura del código fuente y la
implementación, en tiempo de implementación. Existen dos tipos:

o Diagramas de componentes
o Diagrama de plataformas despliegue

TENDENCIAS FUTURAS:
Hoy en día, UML ("Unified Modeling Language") está consolidado como el lenguaje
estándar en el análisis y diseño de sistemas de cómputo. Mediante UML es posible
establecer la serie de requerimientos y estructuras necesarias para plasmar un sistema
de software previo al proceso intensivo de escribir código.

En otros términos, así como en la construcción de un edificio se realizan planos previo


a su construcción, en Software se deben realizar diseños en UML previa codificación de
un sistema, ahora bien, aunque UML es un lenguaje, éste posee más características
visuales que programáticas, mismas que facilitan a integrantes de un equipo
multidisciplinario participar e intercomunicarse fácilmente, estos integrantes siendo los
analistas, diseñadores, especialistas de área y desde luego los programadores.

S-ar putea să vă placă și