Análisis y diseño de sistemas con metodologías UML y RUP
1. República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Superior
I.U.P “Santiago Mariño” – Extensión Porlamar
Metodología para el análisis de
diseño del Sistema
Profesor: Alumno:
JHONATAN FENANDEZ FREDDY
RAMOS
C.I 20.326.663
ING: SISTEMA
2. INTRODUCCION
El análisis y diseño de sistemas abarca de manera amplia y detallada el estudio de una
aplicación de sistemas de información que se realiza en una organización con el objetivo
de definir las necesidades y las prioridades del usuario para conseguir una aplicación
nueva o mejorada.
Una de las últimas fases de este estudio es el Diseño del Nuevo Sistema, en el cual se
deben estudiar diversos factores que sirven de punto clave para un óptimo diseño. Entre
estos factores se tiene el contexto general del sistema; en el cual se establece de manera
general la función y los objetivos del nuevo sistema, los subsistemas; que son una especie
de subdivisión del sistema principal y cumplen la tarea de disminuir la carga general del
sistema, la visión lógica, las entidades, el modelo entidad – relación, el diccionario y base
de datos y la carta estructurada.
3. 1. Definición de:
1.1. Método.
El método científico es el conjunto de pasos, técnicas y procedimiento que se emplean
para formular y resolver problema de investigación mediante la prueba o verificación de
hipótesis.
En algún caso se entiende también como la forma habitual de realizar algo por una
persona basada en la experiencia, costumbre y preferencias personales.
1.2. Metodología.
Metodología es un vocablo generado a partir de tres palabras de origen
griego:metà (“más allá”), odòs (“camino”) y logos (“estudio”). El concepto hace referencia
al plan de investigación que permite cumplir ciertos objetivos en el marco de una ciencia.
Cabe resaltar que la metodología también puede ser aplicada en el ámbito artístico,
cuando se lleva a cabo una observación rigurosa. Por lo tanto, puede entenderse a la
metodología como el conjunto de procedimientos que determinan una investigación de
tipo científico o marcan el rumbo de una exposición doctrinal.
2. Metodologías para el Análisis Diseño de Sistemas (Explicar Etapas, Fases, Actividades
y ejemplos).
En una organización o empresa, el análisis y diseño de sistemas es el proceso de estudiar
su situación con la finalidad de observar como trabaja y decir si es necesario realizar una
mejora; el encargado de realizar estas tareas es el analista de sistemas. Antes de
comenzar el desarrollo de cualquier proyecto, se conoce un estudio de sistemas para
detectar todos los detalles de la situación actual en la empresa.
Según James Senn, existen tres estrategias para el desarrollo de sistemas: el método
clásico del ciclo de vida de desarrollo de sistemas, el método de desarrollo por análisis
estructurado y el método de construcción de prototipos de sistemas. Cada una de estas
estrategias tienen un uso amplio en cada una de los diversos tipos de empresas que
existen, y resultan efectivas si son aplicadas de manera adecuada.
El ciclo de vida de desarrollo de un sistema de información es el conjunto de actividades
que emprenden los analistas y diseñadores para desarrollar e implementar un sistema de
información, saber:
4. ====
2.1. Lenguaje Unificado de Modelado (UML) (Diagramas).
Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling
Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado
en la actualidad; está respaldado por el OMG (Object Management Group).
Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML
ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos
conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos
como expresiones de lenguajes de programación, esquemas de bases de datos y
compuestos reciclados.
Es importante remarcar que UML es un "lenguaje de modelado" para especificar o para
describir métodos o procesos. Se utiliza para definir un sistema, para detallar los
artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje
en el que está descrito el modelo.
Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte a
una metodología de desarrollo de software (tal como el Proceso Unificado Racional
o RUP), pero no especifica en sí mismo qué metodología o proceso usar.
UML no puede compararse con la programación estructurada, pues UML significa
Lenguaje Unificado de Modelado, no es programación, solo se diagrama la realidad de una
utilización en un requerimiento. Mientras que, programación estructurada, es una forma
de programar como lo es la orientación a objetos, la programación orientada a objetos
viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para
lenguajes orientados a objetos.
5. UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las
entidades representadas.
2.2. Metodología del Ciclo de Vida de un Sistema de James Martín.
El desarrollo rápido de aplicaciones o RAD (acrónimo en inglés de rapid application
development) es un proceso de desarrollo de software, desarrollado inicialmente por
James Martin en 1980. El método comprende el desarrollo interactivo, la construcción de
prototipos y el uso de utilidades CASE (Computer Aided Software Engineering).
Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la
usabilidad, utilidad y la rapidez de ejecución.
Hoy en día se suele utilizar para referirnos al desarrollo rápido de interfaces gráficas de
usuario tales como Glade, o entornos de desarrollo integrado completos. Algunas de las
plataformas más conocidas son Visual Studio, Lazarus, Delphi,Foxpro , Anjuta,Game
Maker, Velneo o Clarion. En el área de la autoría multimedia, software como Neosoft
Neoboo y MediaChance Multimedia Builder proveen plataformas de desarrollo rápido de
aplicaciones, dentro de ciertos límites.
Comenzando con las ideas de Barry Boehm y Scott Shultz, Martin desarrolló el Rapid
Application Development durante los años 1980 en IBM y finalmente lo formalizó
publicando un libro en 1990
La metodología de desarrollo conocida como diseño rápido de aplicaciones RAD (por sus
siglas en inglés) ha tomado gran auge debido a la necesidad que tienen las instituciones de
crear aplicaciones funcionales en un plazo de tiempo corto. Esta modalidad de desarrollo
consiste de diferentes etapas que suceden de forma paralela y exigen la colaboración de
los usuarios en todos los niveles. Por el contrario, en la metodología de diseño tradicional,
las etapas suceden de forma lineal y el usuario es excluido del proceso, lo que hace que
esta modalidad sea más lenta y poco eficiente. Hoy día la competencia en el mercado
demanda calidad lo más pronto posible y RAD se enfoca en estas características.
2.3. Metodología de Jeffrey Whitten.
Teniendo entonces una idea clara de los conceptos , relaciones y diferencias entre datos,
información y conocimiento , se hace entonces importante, mencionar algunos conceptos
tales como “sistema” , “sistema de información” y “sistema de información informático”
ya que aunque sus definiciones puedan parecerse e incluso superponerse, poseen
mínimos detalles que marcan la diferencia.
La palabra sistema significa “conjunto de cosas que relacionadas entre si ordenadamente
contribuyen a determinar objeto”. Es importante enfocarnos en una palabra determinante
6. en este concepto: ordenadamente, este vocablo se define como “la forma en que están
organizados o dispuestos los distintos elementos de un sistema, a esto se le llama también
configuración” y mas tarde “ conocer el propósito resultado que se desea obtener de un
sistema es el primer paso en la definición de la manera en que se configuraran sus
elementos” por lo tanto la salida d un sistema estará intrínsecamente relacionada con la
configuración del m ismo.
2.4. Metodología del Proceso Unificadode Desarrollo de Software.
El Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es
un marco de desarrollo de softwareque se caracteriza por estar dirigido por casos de uso,
centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más
conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational o
simplemente RUP.
El Proceso Unificado no es simplemente un proceso, sino un marco de trabajo extensible
que puede ser adaptado a organizaciones o proyectos específicos. De la misma forma,
el Proceso Unificado de Rational, también es un marco de trabajo extensible, por lo que
muchas veces resulta imposible decir si un refinamiento particular del proceso ha sido
derivado del Proceso Unificado o del RUP. Por dicho motivo, los dos nombres suelen
utilizarse para referirse a un mismo concepto.
El nombre Proceso Unificado se usa para describir el proceso genérico que incluye
aquellos elementos que son comunes a la mayoría de los refinamientos existentes.
También permite evitar problemas legales ya que Proceso Unificado de Rational o RUP son
marcas registradas por IBM (desde su compra de Rational Software Corporation en 2003).
El primer libro sobre el tema se denominó, en su versión española, El Proceso Unificado de
Desarrollo de Software (ISBN 84-7829-036-2) y fue publicado en 1999 por Ivar
Jacobson, Grady Booch y James Rumbaugh, conocidos también por ser los desarrolladores
del UML, el Lenguaje Unificado de Modelado. Desde entonces los autores que publican
libros sobre el tema y que no están afiliados a Rational utilizan el término Proceso
Unificado, mientras que los autores que pertenecen a Rational favorecen el nombre
de Proceso Unificado de Rational.
7. 2.5. Metodología de Kendall y Kendall.
Identificación de problemas, oportunidades y objetivos: Esta fase es crucial para el éxito
del resto del proyecto requiere que se observe de forma objetiva lo que ocurre en una
organización, También es un componente importante de la primera fase, en esta etapa se
deberá descubrir lo que la organización intenta realizar, luego determinar si el uso de los
sistemas de información apoyaría a la organización para alcanzar sus metas.
Determinación de los requerimientos de información: Esto se hace a partir de los usuarios
particularmente involucrados, para determinar los requerimientos de información dentro
de una organización pueden utilizarse diversos instrumentos, los cuales incluyen:
muestreo, el estudio de los datos y formas usadas para la organización, la entrevista, los
cuestionarios; la observación de la conducta de quien tomo la decisiones.
Análisis de las necesidades del sistema: Se analizan las necesidades propias del sistema.
También se analizan las decisiones estructuradas por realizar, que son decisiones donde
las condiciones, condiciones alternativas, acciones y reglas de acción podrán
determinarse.
Diseño del sistema recomendado: Se usa la información recolectada con anterioridad y se
elabora el diseño lógico de sistemas de información, esta etapa también incluye el diseño
de los archivos o la base de datos que almacenará aquellos datos requeridos por quien
toma las decisiones en la organización.
Desarrollo y documentación del software: Dentro de las técnicas estructuradas para el
diseño y documentación del software se tienen: el método HIPO, los diagramas de flujo,
los diagramas Nassi.Schneiderman, los diagramas Warnier-Orr y el pseudocódigo es aquí
donde se transmite al programador los requerimientos de programación.
Pruebas y mantenimiento del sistema: Todo sistema de información debe probarse antes
de ser utilizado, ya que el costo es menor si se detectan los problemas antes de que entre
en funcionamiento.
Implantación y evaluación del sistema: Esta es la última etapa del desarrollo del sistema,
esto incluye el adiestramiento que el usuario requerirá. Uno de los criterios
fundamentales que debe satisfacerse, es que el futuro usuario utilice el sistema
desarrollado.
8. 2.6. Metodología de Administración de Relaciones (RMM).
Es un proceso de análisis , diseño y desarrollo de aplicaciones hipermedia. Los elementos
principales de esta metodología son:
Modelo E-R (Entidad-Relación)
Modelo RMDM (Relationship Management Data Model).
La metodología fue creada por Isakowitz, Stohr y Balasubramanian.
Esta metodología es apropiada para dominios con estructuras regulares, es decir, con
clases de objetos bien definidos, y con claras relaciones entre esas clases.
El modelo propone un lenguaje que permite describir los objetos del dominio, sus
interrelaciones y los mecanismos de navegación hipermedia de la aplicación. Los objetos
del dominio se definen con la ayuda de entidades, atributos y relaciones asociativas. El
modelo introduce el concepto de slice con el fin de modelizar los aspectos unidos a la
presentación de las entidades.
Ante las limitaciones que ofrecía RMM, sus creadores analizaron la estructura de
navegación de RMM y propusieron añadir dos nuevos y tipos de Slices:
Slice Híbridos: permiten combinar atributos de diferentes entidades y estructuras
de acceso.
9. Slice Mínimos: es la mínima parte de una entidad que es necesaria para identificar
uno de sus elementos y que se utilizara como ancla.
M-Slice: permiten combinar primitivas de acceso con otros slices de otras
entidades para crear un m-slice.
2.7. Metodología Orientadaa Objetos.
Análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería de
software que modela un sistema como un grupo de objetos que interactúan entre sí. Este
enfoque representa un dominio absoluto en términos de conceptos compuestos por
verbos y sustantivos, clasificados de acuerdo a su dependencia funcional. En este método
de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada
como, por ejemplo, el lenguaje unificado de modelado (UML). ADOO aplica técnicas de
modelado de objetos para analizar los requerimientos para un contexto - por ejemplo, un
sistema de negocio, un conjunto de módulos de software - y para diseñar una solución
para mejorar los procesos involucrados. No está restringido al diseño de programas de
computadora, sino que cubre sistemas enteros de distinto tipo. Las metodologías de
análisis y diseño más modernas son casos de uso guiados a través de requerimientos,
diseño, implementación, pruebas, y despliegue.
2.8. Metodología de Sistemas Expertos por David Rolston.
Un sistema experto (SE), es básicamente un programa de computadora basado en
conocimiento y raciocinio que lleva a cabo tareas que generalmente solo realiza un
experto humano; es decir , es un programa que imita la comportamiento humano en el
10. sentido de que utiliza la información que le es proporcionada para dar una opinión sobre
un tema en especial.
Se puede decir que los sistema experto son el primer resultado operacional de la
inteligencia artificial, pues logran resolver problema a través de conocimiento y
raciocinio de igual forma que lo hace el experto humano.
2.9. Metodología del Software Educativo por Álvaro Galvis (ISE).
Es una metodología de desarrollo de software que contempla una serie de fases o etapas
de un proceso sistemático atendiendo a: Análisis, diseño, desarrollo, prueba y ajuste, y
por ultimo implementación. En la Figura siguiente se ilustra el flujo de acción de la
metodología, donde Gómez et al (s/f) señalan que el ciclo de vida de una aplicación
educativa puede tener dos maneras de ejecución, en función de los resultados de la etapa
de análisis (se diseña, desarrolla y prueba lo que se requiere para atender la necesidad), y
en el sentido contrario, se somete a prueba aquello que puede satisfacer la necesidad.
Metodología ISE propuesta por Galvis
Etapa 1: Análisis
El propósito de esta etapa es determinar el contexto donde se creará la aplicación y
derivar de allí los requerimientos que deberá atender la solución interactiva, como
complemento a otras soluciones. Acorde con Galvis (citado en Gómez et al, s/f) en esta
fase se establece como mínimo la siguiente información:
1. Características de la población objetivo.
2. Conducta de entrada y campo vital.
3. Problema o necesidad a atender.
4. Principios pedagógicos y didácticos aplicables.
5. Justificación de uso de los medios interactivos.
6. Diagramas de Interacción
Etapa 2: Diseño
11. El diseño se construye en función directa de los resultados de la etapa de análisis, es
importante hacer explícitos los datos que caracterizan el entorno del SE a diseñar:
destinatarios, área del contenido, necesidad educativa, limitaciones y recursos para los
usuarios, equipo y soporte lógico.
En esta etapa acorde con Salcedo (2002) es necesario atender a tres tipos de
diseño: Educativo (este debe resolver las interrogantes que se refieren al alcance,
contenido y tratamiento que debe ser capaz de apoyar el SE), comunicacional (es donde
se maneja la interacción entre usuario y maquina se denomina interfaz),
y computacional (con base a las necesidades se estable qué funciones es deseable cumpla
el SE en apoyo de sus usuarios, el docente y los estudiantes).
Etapa 3: Desarrollo
En esta fase se implementa toda la aplicación usando la información recabada hasta el
momento. Se implementa el lenguaje escogido tomando en consideración los diagramas
de interacción mencionados anteriormente. Es preciso establecer la herramienta de
desarrollo sobre el cual se va a efectuar el programa, atendiendo a recursos humanos
necesarios, costo, disponibilidad en el mercado, portabilidad, facilidades al desarrollar,
cumpliendo las metas en términos de tiempo y calidad de SE.
Etapa 4: Prueba Piloto
En esta se pretende ayudar a la depuración del SE a partir de su utilización por una
muestra representativa de los tipos de destinatarios para los que se hizo y la consiguiente
evaluación formativa. Es imprescindible realizar ciertas validaciones (efectuadas por
expertos) de los prototipos durante las etapas de diseño y prueba en uno a uno de los
módulos desarrollados, a medida que estos están funcionales.
Etapa 5: Prueba de Campo
La prueba de campo de un SE es mucho más que usarlo con toda la población objeto. Si se
exige, pero no se limita a esto. Es importante que dentro del ciclo de desarrollo hay que
buscar la oportunidad de comprobar, en la vida real, que aquello que a nivel experimental
parecía tener sentido, lo sigue teniendo, es decir, si efectivamente la aplicación satisface
las necesidades y cumple con la funcionalidad requerida.
2.10. Metodología de Sistemas Blandos (SSM) de Peter Checkland.
Es una técnica cualitativa que se puede utilizar para aplicar los sistema estructurados a las
situaciones asistencias. Es una manera de ocuparse de problemas situacionales en los
cuales hay una actividad con un alto componente social, político y humano. Esto distingue
el SSM de otras metodologías que se ocupan de los problemas DUROS que están a
menudo mas orientados a la tecnología.
El SSM se origino de la comprensión que los sistemas “duros” estructurados, por ejemplo,
la investigación de operaciones técnicas, son inadecuados para investigar temas de
grandes y complejas organizaciones. La metodología de sistema blando fue desarrollada
por Peter Checkland con el propósito expreso de ocuparse de problemas de este tipo.
12. 2.11. Metodología MERINDE.
El tipo de artefacto mas fundamental utilizando en la metodología MeRinde es el modelo.
Cada rol necesita una perspectiva diferente del sistema. El diseño de MeRinde permite
identificar todos los roles y cada una de las perspectivas que posiblemente podrían
necesitar. Las perspectiva recogidas de todos los roles se estructuran en unidades mas
grandes, es decir, modelos, de modo que un rol pueda tomar una perspectiva concreta del
conjunto de médelos.
Los modelos propuesto en MeRinde facilitan el entendimiento del sistema para todos los
involucrados, incluyendo a los clientes, usuarios y líderes de proyecto. La elección de los
modelos para un sistema es una de las decisiones más importantes del equipo de
desarrollo.
2.12. Metodología SCRUM.
Scru es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo
principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se basa
en construir primero la funcionalidad de mayor valor para el cliente y en los principios de
inspección continua, adaptación, auto-gestión e innovación.
13. COMCLUSION
Como el en termino generales, método es la vía o camino que se utiliza para llegar a un fin
o para lograr un objetivo.
Esta fase del análisis y diseño de sistemas le permite al analista como tal, conocer las
bases bajo las cuales trabaja el sistema en desarrollo y así establecer con exactitud las
funciones que satisfagan los requerimientos de dicho sistema, en este caso se pudo saber
mediante las técnicas de recopilación de información aplicadas a la empresa cuales son los
requerimientos del nuevo sistema, para así proceder a elaborar sus funciones y
restricciones.
A través de esta información se pudo establecer también el modelo entidad-relación que
es el modelo conceptual más utilizado para el diseño de bases de datos, ya que, el modelo
entidad-relación está formado por un conjunto de conceptos que permiten describir la
realidad mediante un conjunto de representaciones gráficas y lingüísticas y le facilita al
analista conocer las entidades, sus atributos, sus campos y sus funciones, lo cual sirve
como base para elaborar las tablas que van a permitir el funcionamiento del sistema de
información.