Sei sulla pagina 1di 56

ANLISIS Y

MODELADO DE
SISTEMAS DE
INFORMACIN

OBJETIVO GENERAL:
Analizar y modelar
proyectos de sistemas
de informacin aplicando
el paradigma orientado a
objetos.

Recopilado por: M.I Norma H.


Jimnez Alor

Unidad 1. El modelo del proceso de software


1.1. Conceptualizacin de tecnologa orientada a
objetos.
1.2. Metodologas emergentes de desarrollo de software.
1.3. Mtodos de desarrollo de software orientado a
objetos.
1.4. El proceso de desarrollo unificado RUP.

1.5. El lenguaje de modelado unificado UML.

Recopilado por: M.I Norma H.


Jimnez Alor

Unidad 1. El modelo del proceso de


software
COMPETENCIA
ESPECFICA:
Conocer el modelo de
proceso de
software.

Recopilado por: M.I Norma H.


Jimnez Alor

Introduccin
Hoy en da la tecnologa orientada a
objetos ya no se aplica solamente
a los lenguajes de programacin, adems se viene
aplicando en el anlisis y diseo con mucho xito, al
igual que en las bases de datos. Es que para hacer una
buena programacin orientada a objetos hay que
desarrollar todo el sistema aplicando esta tecnologa,
de ah la importancia del anlisis y el diseo orientado
a objetos.

Recopilado por: M.I Norma H.


Jimnez Alor

1.1 Conceptualizacin de tecnologa orientada a


objetos
o La Programacin Orientada a Objetos
(POO u OOP segn siglas en ingls) es un
paradigma de programacin que define los
programas en trminos de "clases de
objetos", objetos que son entidades que
combinan estado (es decir, datos),
comportamiento (esto es, procedimientos o
mtodos) e identidad (propiedad del objeto
que lo diferencia del resto).

Recopilado por: M.I Norma H.


Jimnez Alor

1.1 Conceptualizacin de tecnologa orientada a


objetos
o La programacin orientada a objetos
expresa un programa como un
conjunto de estos objetos, que
colaboran entre ellos para realizar
tareas. Esto permite hacer los
programas y mdulos ms fciles de
escribir, mantener y reutilizar.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
o Basndonos en la idea que estamos
en tiempos de tecnologas cambiantes
y
de
comunicacin
global,
necesitamos optimizar el anlisis y
diseo de los sistemas y aplicaciones.
Se necesita crear software que pueda
ser implementado en cualquier
infraestructura y que pueda ser
modificado con facilidad por cualquier
persona en el mundo.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
o Por tal razn, se han creado varias
metodologas para anlisis y diseo
orientado a objetos, las cuales estandarizan
la forma de trabajar en el diseo de un
software. Estas metodologas permiten que
cualquier persona pueda trabajar en su
diseo.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Qu es una metodologa de desarrollo de
software?
Conjunto
de
procedimientos,
tcnicas,
herramientas y un soporte documental que
ayuda a los desarrolladores a realizar nuevo
software.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
SCRUM.
Scrum es un "agile process" que nos permite
enfocarnos en la generacin de valor en el mnimo tiempo.
Nos permite tener un control continuo sobre el estado
actual de nuestro software

El cliente establece las prioridades y el equipo se autoorganiza para determinar la mejor forma de entregar los
requerimientos con ms prioridad.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Scrum asume que el proceso de desarrollo de software es
complicado e impredecible y lo trata como una caja negra
en lugar de un proceso terico totalmente definido. Esta es
una de las mayores diferencias entre Scrum y otras
metodologas de desarrollo de software: con Scrum se
trata de evitar los tpicos problemas de stas otras
metodologas ms formales cmo:

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
o Los requerimientos no se entienden plenamente
al principio del proceso.
o Los requerimientos cambian durante el proceso.
o El mismo proceso puede ser imprevisible si se
est trabajando con nuevas tecnologas.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Fases
El proceso de desarrollo Scrum se compone de 5
actividades importantes:
o Planes de lanzamientos.
o Distribucin, revisin y ajuste de los estndares de
producto.
o Sprint. Es donde el desarrollo de software se lleva a
cabo. Un Sprint consta de los siguientes subactividades: Elaborar, integrar, revisar y ajustar.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
o Revisin de Sprint. Cada Sprint es seguida por
una revisin de Sprint. Durante esta revisin, el
software desarrollado en el Sprint anterior se
revisa y si es necesario se le aaden nuevos
tems del backlog. El grupo de revisores pueden
ser: las partes interesadas del proyecto,
gestores, desarrolladores y, en ocasiones los
clientes, ventas y marketing.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Las actividades, y la revisin de Sprint se repiten
hasta que el producto se considera listo para su
distribucin por los participantes en el proyecto.
Luego, el proyecto pasa a la fase de cierre en que
el producto se prepara para el lanzamiento y la
distribucin.

o Cierre. En esta fase tienen lugar las actividades


de debugging, marketing y promocin. Al acabar
esta fase el proyecto quedar cerrado.
Recopilado por: M.I Norma H.
Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Extreme programming. (Programacin extrema - XP)
o Metodologa para un gil desarrollo de software.
o Programacin basada en los deseos del cliente.
o El equipo lo conforman los jefes de proyecto,
desarrolladores y el cliente.
o Se rige por valores y principios.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Valores.
Comunicacin: Crear software requiere de sistemas
comunicados.
Simplicidad: Empezar con lo necesario y requerido y
trabajar desde ah.
Retroalimentacin: Del sistema, del cliente, y del equipo.
Valenta: Programa para hoy y no para maana.
Respeto: El equipo debe trabajar como uno, sin hacer
decisiones repentinas.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Actividades.
Codificacin: La parte mas importante de XP.
Pruebas: Nunca se puede estar seguro de algo hasta
haberlo probado.
Escuchar: Escuchar los requisitos del cliente acerca del
sistema a crear.
Diseo: Crear una estructura del diseo para evitar
problemas.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Ventajas:
o Programacin organizada.
o Menor taza de errores.
o Satisfaccin del programador.
Desventajas:
o Es recomendable emplearlo solo en proyectos a corto
plazo.
o Altas comisiones en caso de fallar.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Beneficios:
o El cliente tiene el control sobre las prioridades.
o Se hacen pruebas continuas durante el proyecto.

o La XP es mejor utilizada en la implementacin de


nuevas tecnologas donde los requerimientos cambian
rpidamente.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Rational Unified Process. (Proceso Racional Unificado
- RUP)
Es un proceso de desarrollo de software y junto con el
Lenguaje Unificado de Modelado UML, constituye la
metodologa estndar ms utilizada para el anlisis,
implementacin y documentacin de sistemas orientados a
objetos.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Ventajas.
o Un proceso de software hecho a la medida para ser
publicado y hacerlo accesible para todo el equipo del
proyecto.
o Un proceso de software configurable, para satisfacer
necesidades especficas de un proyecto.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Ventajas (continuacin).
o Una definicin comn del proceso que puede ser
compartida por todo el equipo de desarrollo, ayudando a
asegurar una comunicacin clara y sin ambigedades
entre los miembros del equipo.
o Ofrece a cada usuario, un filtrado personalizado de la
definicin del proceso publicado, acorde con su rol
dentro del proyecto.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Agile Unified Process. (Proceso gil Unificado AUP)
Los procesos giles de desarrollo de software, conocidos
anteriormente como metodologas livianas, intentan evitar
los tortuosos y burocrticos caminos de las metodologas
tradicionales enfocndose en la gente y los resultados.
El Proceso Unificado gil de Scott Ambler o Agile Unified
Process (AUP) en ingls es una versin simplificada del
Proceso Unificado de Rational (RUP).

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
Describe de una manera simple y fcil de entender la
forma de desarrollar aplicaciones de software de negocio
usando tcnicas giles y conceptos que an se mantienen
vlidos en RUP.
El AUP aplica tcnicas giles incluyendo Desarrollo
Dirigido por Pruebas (test driven development - TDD),
Modelado gil, Gestin de Cambios gil, y Refactorizacin
de Base de Datos para mejorar la productividad.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
AUP se preocupa especialmente de la gestin de riesgos.
Propone que aquellos elementos con alto riesgo obtengan
prioridad en el proceso de desarrollo y sean abordados en
etapas tempranas del mismo. Para ello, se crean y
mantienen listas identificando los riesgos desde etapas
inciales del proyecto.
Al igual que en RUP, en AUP se establecen cuatro fases
que transcurren de manera consecutiva y que acaban con
hitos claros alcanzados:

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
o Inception(Concepcin): El objetivo de esta fase es
obtener una comprensin comn cliente-equipo de
desarrollo del alcance del nuevo sistema y definir una o
varias arquitecturas candidatas para el mismo.
o Elaboracin: El objetivo es que el equipo de desarrollo
profundice en la comprensin de lo requisitos del
sistema y en validar la arquitectura.

Recopilado por: M.I Norma H.


Jimnez Alor

1.2 Metodologas emergentes de desarrollo de


software.
o Construccin: Durante la fase de construccin el
sistema es desarrollado y probado al completo en el
ambiente de desarrollo.
o Transicin: El sistema se lleva a los entornos de
preproduccin donde se somete a pruebas de validacin
y aceptacin y finalmente se despliega en los sistemas
de produccin.

Recopilado por: M.I Norma H.


Jimnez Alor

Como conclusin Qu metodologa utilizar?


Pues depende:
o Si formas parte de un equipo de desarrollo en un proyecto
grande y te toca decidir qu metodologa hay que utilizar
significa que tienes un puesto de responsabilidad. Escoge
una metodologa moderna, bien definida, que d respuesta
a las necesidades del proyecto.

Recopilado por: M.I Norma H.


Jimnez Alor

Qu metodologa utilizar?
o Si formas parte de un equipo de desarrollo en un proyecto
grande y no ocupas un puesto de responsabilidad, no
deberas decidir qu metodologa utilizar: alguien lo decidir
por t. Si nadie toma esa decisin... Mucho nimo!... el
proyecto en el que ests involucrado est destinado al
fracaso.
o Si formas parte de un equipo pequeo en un proyecto
pequeo, lo mejor es consensuar la metodologa a utilizar.
Incluso, combinar buenas ideas de ms de una.

Recopilado por: M.I Norma H.


Jimnez Alor

Cosas que no son metodologas de desarrollo de software


o La "Programacin estructurada" o la "Programacin
Orientada a Objetos" son paradigmas o modelos de
programacin. Indican pautas de comportamiento en los
sistemas de programacin... no tienen nada que ver con el
ciclo de vida del software ni la manera en la que debe
realizarse cada tarea para un proyecto concreto... as
pues... NO SON METODOLOGAS.
o Los trminos "Ciclo de vida en espiral", "Incremental", en
"Cascada", con "prototipo", etc... Indican esquemas
generales de organizacin en las tareas del ciclo de vida,

Recopilado por: M.I Norma H.


Jimnez Alor

Cosas que no son metodologas de desarrollo de software


unas con respecto a otras y con respecto a otros aspectos
como el tiempo, los requisitos o el riesgo. Actualmente se
denominan "PATRONES" del ciclo de vida del software,
aunque antao fueron denominados simplemente distintos
"Ciclos de vida". Indican ideas estructurales sencillas en el
proceso de desarrollo, y no la manera en la que debe
realizarse cada tarea del ciclo para un proyecto concreto... as
pues... NO SON METODOLOGAS.
o El lenguaje UML (Unified Modeling Languaje) es un gran
logro de la ingeniera. An con sus carencias, es algo muy

Recopilado por: M.I Norma H.


Jimnez Alor

Cosas que no son metodologas de desarrollo de software


importante: un lenguaje comn para que todos los
profesionales del desarrollo de sistemas -de software o noexpresen sus ideas... pero el UML no le indica a nadie la
manera de realizar las cada tarea en un proyecto concreto:
tan solo es una herramienta para expresar ideas... as pues...
NO ES UNA METODOLOGA. Sin embargo, algunas
metodologas de las que hemos comentado, como RUP o
METRICA hacen referencia a UML como herramienta para
expresar ideas.

Recopilado por: M.I Norma H.


Jimnez Alor

1.3 Mtodos de desarrollo de software orientado a


objetos
Existen numerosos mtodos de diseo orientado a objetos:
Booch, Yourdon-Coad, Martn, Shlaer & Mellor,
Rumbaugh, por citar algunos. Pero en general como
ocurre encualquier proyecto estructurado, un proyecto
software OO se compone de las siguientes etapas:
o Anlisis Orientado a Objetos (AOO)
o Diseo Orientado a Objetos (DOO)
o Programacin Orientada a Objetos (POO)

Recopilado por: M.I Norma H.


Jimnez Alor

1.3 Mtodos de desarrollo de software orientado a


objetos
El mtodo de Booch considera que las etapas del proceso
en un desarrollo orientado a objetos son:
1. Identificar las claves y objetos en un nivel dado de
abstraccin.
2. Identificar la semntica de estas clases y objetos.
3. Identificar las relaciones entre clases y objetos.
4. Especificar la interfaz y la implementacin de estas
clases y objetos.

Recopilado por: M.I Norma H.


Jimnez Alor

1.3 Mtodos de desarrollo de software orientado a


objetos
Estas etapas suelen seguirse por la mayora de los
mtodos de diseo OO existentes. De hecho, para los
sistemas orientados a objetos se define el siguiente diseo
en pirmide que contempla el mtodo de Booch.

Recopilado por: M.I Norma H.


Jimnez Alor

1.3 Mtodos de desarrollo de software orientado a


objetos
La capa del subsistema.- Contiene una representacin de
cada uno de los subsistemas que le permiten al software
conseguir los requisitos definidos por el cliente e
implementar la infraestructura tcnica que los soporta.
La capa de clases y Objetos.- Contiene las jerarquas de
clase que permiten crear el sistema usando
generalizaciones y especializaciones mejor definidas. Esta
capa tambin contiene representaciones de diseo para
cada objeto.

Recopilado por: M.I Norma H.


Jimnez Alor

1.3 Mtodos de desarrollo de software orientado a


objetos
La capa de mensajes.- Contiene los detalles que le
permiten a cada objeto comunicarse con sus colaboradores.
Esta capa establece las interfaces externas e internas para
el sistema.
La capa de responsabilidades.- Contiene las estructuras
de datos y el diseo algortmico para todo los atributos y
operaciones de cada objeto.
Esta pirmide de diseo se centra entonces en el diseo de
un producto o sistema especfico.
Recopilado por: M.I Norma H.
Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


Es un proceso que puede especializarse para una gran
variedad de sistemas de software, en diferentes reas de
aplicacin, diferentes tipos de organizaciones, diferentes
niveles de aptitud y diferentes tamaos de proyecto.
RUP no es un sistema con pasos firmemente
establecidos, sino un conjunto de metodologas
adaptables al contexto y necesidades de cada
organizacin.
Es el resultado de varios aos de desarrollo y uso
prctico en el que se han unificado tcnicas de desarrollo,
a travs
Recopilado por: M.I Norma H.
Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


del UML, y trabajo de muchas metodologas utilizadas por los
clientes. La versin que se ha estandarizado vio la luz en 1998
y se conoci en sus inicios como Proceso Unificado de
Rational 5.0; de ah las siglas con las que se identifica a este
proceso de desarrollo.

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


Elementos bsicos de RUP
o Con RUP, un proceso de desarrollo es representado
usando un conjunto de elementos de modelado, tales como:
roles, actividades, artefactos y flujos de trabajo (workflows),
entre otros. Un rol expresa quin (individuo o grupo) hace
un trabajo, una actividad describe cmo es hecho el trabajo
y un artefacto captura el trabajo realizado. En RUP se
encuentran 4 elementos bsicos: los roles (el quin), las
actividades (el cmo), los artefactos (el qu) y los flujos de
trabajo (el cundo).

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


Caractersticas principales de RUP
o Unifica los mejores elementos de metodologas
anteriores.
o Preparado para desarrollar grandes y complejos
proyectos.
o Orientado a Objetos.
o Utiliza el UML como lenguaje de representacin visual.

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


Fases del ciclo de vida de RUP
o Fase de inicio. Es el alcanzar consenso entre todos los
inversionistas y afectados por el desarrollo del proyecto,
de los objetivos del ciclo de vida del proyecto.
o Fase de elaboracin. Consiste en definir y establecer la
base de la arquitectura del sistema, brindando as una
base estable para la mayor parte del esfuerzo de diseo e
implementacin en la fase de construccin

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


Fases del ciclo de vida de RUP
o Fase de construccin. Se enfoca de forma detallada en
el diseo, implementacin y prueba hasta lograr un
sistema completo, con una alta calidad a un costo
efectivo. La meta de esta fase, es resolver los
requerimientos restantes y completar el desarrollo del
sistema sobre la arquitectura base.

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


Fases del ciclo de vida de RUP
o Fase de transicin. Se enfoca en asegurar que el software
est listo para los usuarios finales. En la fase de transicin,
puede extenderse algunas iteraciones, incluyendo las
pruebas del producto dentro de la preparacin para su
publicacin y el hacer los ajustes menores basados en la
retroalimentacin de los usuarios.

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


El ciclo de vida de RUP se caracteriza por:
Dirigido por casos de uso: Los casos de uso reflejan lo
que los usuarios futuros necesitan y desean, lo cual se
capta cuando se modela el negocio y se representa a
travs de los requerimientos

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


El ciclo de vida de RUP se caracteriza por:
Centrado en la arquitectura: La arquitectura muestra la
visin comn del sistema completo en la que el equipo
de proyecto y los usuarios deben estar de acuerdo, por lo
que describe los elementos del modelo que son ms
importantes para su construccin, los cimientos del
sistema que son necesarios como base para
comprenderlo,
desarrollarlo
y
producirlo
econmicamente.

Recopilado por: M.I Norma H.


Jimnez Alor

1.4 El Proceso de Desarrollo Unificado (RUP)


El ciclo de vida de RUP se caracteriza por:
Iterativo e Incremental: Una iteracin involucra actividades
de todos los flujos de trabajo, aunque desarrolla
fundamentalmente algunos ms que otros.

Es prctico dividir el trabajo en partes ms pequeas o


miniproyectos. Cada miniproyecto es una iteracin que
resulta en un incremento.

Recopilado por: M.I Norma H.


Jimnez Alor

1.5 El lenguaje de modelado unificado UML.


o Es una herramienta o Lenguaje de Modelamiento Unificado
que permite a los creadores de sistemas crear diseos que
capturen sus ideas en una forma convencional y fcil de
comprender, y as poder comunicrselas a otras personas.
o El Lenguaje de Modelado Unificado (UML:Unified Modeling
Language) es la sucesin de una serie de mtodos de
anlisis y diseo orientadas a objetos que aparecen a fines
de los 80's y principios de los 90s. UML es llamado un
lenguaje de modelado, no un mtodo.
o Es un lenguaje de propsito general para el
modelo orientado a objetos.

Recopilado por: M.I Norma H.


Jimnez Alor

1.5 El lenguaje de modelado unificado UML.


o El lenguaje de modelado es la notacin (principalmente
grfica) que usan los mtodos para expresar un diseo.
El proceso indica los pasos que se deben seguir para
llegar a un diseo.
o Define una notacin que se expresa como diagramas
que sirven para representar modelos/subsistemas o
partes de ellos.

o Define una estructura para ir del anlisis al diseo y de


ste a la implementacin.

Recopilado por: M.I Norma H.


Jimnez Alor

1.5 El lenguaje de modelado unificado UML.


Vistas de UML
5 vistas- 9 diagramas

Recopilado por: M.I Norma H.


Jimnez Alor

1.5 El lenguaje de modelado unificado UML.


Los diagramas expresan grficamente partes del modelo

Recopilado por: M.I Norma H.


Jimnez Alor

1.5 El lenguaje de modelado unificado UML.


Un modelo UML esta compuesto por tres clases de
bloques de construccin:
o Elementos: Los elementos son abstracciones de cosas
reales o ficticias (objetos, acciones, etc.)
o Relaciones: relacionan los elementos entre s.

o Diagramas: Son colecciones de elementos con sus


relaciones.

Recopilado por: M.I Norma H.


Jimnez Alor

1.5 El lenguaje de modelado unificado UML.


o La finalidad de los diagramas es presentar diversas
perspectivas de un sistema, a los cuales se les conoce
como modelo.

o Es importante destacar que le modelo UML describe lo


que supuestamente har un sistema, pero no dice como
implementar dicho sistema.

Recopilado por: M.I Norma H.


Jimnez Alor

Referencias electrnicas
o http://latecladeescape.com/articulos/1550-metodologias-dedesarrollo-del-software
o http://www.omitsis.com/scrum-como-metodologia-de-desarrollo
o http://ingsoftware072301.obolog.com/rational-unified-process-rupproceso-racional-unificado-2006524
o http://www.ingenieriadesoftware.mex.tl/images/18149/METODOLO
GIAS%20AGILES.pdf
o http://dpinto.cs.buap.mx/semadoo/mario.pdf
o http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo
o http://www.slideshare.net/ecastrojimenez/uml-lenguaje-demodelamiento-unificado-presentation

Recopilado por: M.I Norma H.


Jimnez Alor

Potrebbero piacerti anche