Professional Documents
Culture Documents
Introduccin
El desarrollo de los sistemas de informacin se basan en ciclo de vida del desarrollo del software. La disciplina encargada de proveer los medios necesarios para la construccin de una software es la ingeniera de software. Por ende el desarrollo de los sistemas de informacin estn basado en procesos de desarrollo de software que la ingeniera de software propone. Para ello existen dos enfoques paradigmticos: estructurado y orientado a objetos.
Ing. Carlos Avalos Ruiz 2
Superficialmente OO significa la organizacin del software como una coleccin de Objetos discretos que incorpora tanto la estructura de datos como su comportamiento. Para cada entidad del dominio, hay un objeto que representa ese concepto en el modelo. Finalmente, OO modela mirando en alguna parte realidad o dominio que es de inters, y busca las abstracciones claves y las relaciones entre esas abstracciones claves.
Ing. Carlos Avalos Ruiz 5
La Orientacin a Objetos se aplica a otros disciplinas dentro del mundo de la computacin, tal como se aprecia en la siguiente ilustracin :
Orientado a objetos
en funcin
y que mediante
Reutilizar el cdigo
El Modelado
El modelado es una tecnica de ingeniera probada y bien aceptada. El modelado no solo es parte de la industria de la construccin. Un modelo es una abstraccin del sistema, especificando el sistema desde un cierto punto de vista y en un determinado nivel de abstraccin. Un modelo es una simplificacion de la realidad.
Ing. Carlos Avalos Ruiz 13
Por qu modelamos?
Los modelos :
Ayudan a visualizar como es o queremos que sea el sistema. Especifican la estructura o comportamiento de un sistema Proporcionan plantilla que nos guian en la construccion de un sistema. Documentan las decisiones que hemos adoptado.
Principio de Modelado
La eleccin de que modelos crear tiene una profunda influencia sobre como se define un problema y como se da forma a una solucion. Todo modelo puede ser expresado a diferentes nive les de expresion. Los mejores modelos estn ligados a la realidad. Un nico modelo no es suficiente. El modelado no es slo para los grandes sistemas.
Ing. Carlos Avalos Ruiz 16
Modelado Visual
Order
Item
Ship via
Sistema de Computo
17
La arquitectura es un conjunto de decisiones significativas sobre: La organizacin de un sistema software. La seleccin de elementos estructurales y sus interfaces a travs de los cuales se constituye el sistema. Su comportamiento, como se especifica en la colaboraciones entre esos elementos. La composicin de esos elementos estructurales y de comportamiento en subsistemas progresivamente mas grandes. El estilo arquitectnico que gua esta organizacin: los elementos.
Ing. Carlos Avalos Ruiz 19
La arquitectura del software no tiene que ver sola mente con la estructura y el comportamiento, sino tambin con el uso, la funcionalidad, el rendimiento, la capacidad de adaptacin, la reutilizacin, la capacidad de ser comprendido, las restricciones econmicas y de tecnologa y los compromisos entre alternativas, as como de los aspectos estticos.
Ing. Carlos Avalos Ruiz 20
comportamiento
Vista de Procesos
Vista de Despliegue
La vista de casos de uso de un sistema comprende los casos de uso que describen el comportamiento del sistema tal y como es percibido por los usuarios finales, analistas, y encargados de las pruebas. La vista de diseo de un sistema comprende las clases, interfaces y colaboraciones que forman el vocabulario del problema y las solucin. La vista de procesos de un sistema comprende los hilos y procesos que forman los mecanismos de sincronizacin y concurrencia del sistema.
Ing. Carlos Avalos Ruiz 22
La vista de implementacin de un sistema compren de los componentes y archivos que se utilizan para ensamblar y hacer disponible el sistema fsico. La vista de despliegue de un sistema contiene los nodos que forman la topologa hardware sobre la que se ejecuta el sistema. Cada una de estas cinco vistas pueden existir por si misma, de forma que diferentes usuarios pueden centrarse en las cuestiones de la arquitectura del sistema que mas le interese.
Ing. Carlos Avalos Ruiz 23
25
UML Significa Lenguaje Unificado de Modelado. Un lenguaje de modelado es lenguaje cuyo voca bulario y reglas se centra en la representacin conceptual y fsica de un sis tema. UML consiste en Reglas de simbologa que se aplican a cualquier tipo de modelo hecho bajo este lenguaje. UML es un Lenguaje estandar para escribir planos o modelos de software.
26
UML tiene una sintaxis y una semntica bien definida. La parte mas visible de UML es su notacin grfica. Puede utilizarse con todos los procesos y a lo largo del ciclo de vida del desarrollo de softwa re, y con diferentes tecnologias de implementa cion. UML puede utilizarse para:
Visualizar el lmite de un sistema y sus fun ciones importantes.
Ing. Carlos Avalos Ruiz 27
Ilustrar realizaciones de un sistema. Representar la estructura esttica de un siste ma . Modelar el comportamiento de objetos. Conocer la arquitectura fsica de la implemen tacin. Extender su funcionalidad con estereotipos.
El vocabulario y las reglas de un lenguaje como UML indican como crear y leer modelos bien for mados, pero no dicen que ni cuando estos mo delos se deben crear.
Ing. Carlos Avalos Ruiz 28
UML es slo un lenguaje y por lo tanto estan slo una parte de un mtodo de desarrollo de Software. UML es independiente del proceso. Un proceso bien definido guiar a sus usuarios al decidir qu artefactos producir, qu activida des y qu personal emplear para crearlo y ges tionarlo. Un artefacto es una pieza de informacin que es utilizada o producida por un proceso de desarro llo de software.
Ing. Carlos Avalos Ruiz 29
Antecedentes de UML
Originalmente desarrollado por Rational, Grady Booch y James Rumbaugh. Posteriormente se tiene la contribucin de Ivar Jacobson. Esta aceptada por OMG (Object Manage ment Group) UML se ha publicado en las siguientes versiones: 0.8, 0.9, 0.91, 1.0, 1.1,1.2,1.3.......
Ing. Carlos Avalos Ruiz 30
Contribuciones
Meyer
Before and after conditions
Harel
Statecharts
Gamma, et al
Frameworks and patterns,
Booch
Booch method
HP Fusion
Operation descriptions and message numbering
Rumbaugh
OMT
Embley
Singleton classes and high-level view
Jacobson
OOSE
Ing. Carlos Avalos Ruiz
Odell
Classification
Responsibilities
32
Historia de UML
UML 1.3
OMG Acceptance, Nov 1997 Final submission to OMG, Sep 97 public feedback First submission to OMG, Jan 97 UML partners Web - June 96
OOPSLA 95
Other methods
Ing. Carlos Avalos Ruiz
Booch method
OMT
OOSE
33
Business Objects
large scale system
Components Microsoft
Use Cases
ActiveX/COM Microsoft
Utilidad de UML
Permite especificar todas las decisiones de anlisis, diseo e implementacin, construyndose modelos precisos, no ambiguos y completos. UML puede conectarse a lenguajes de programacin:
Ingeniera directa e inversa
Permite documentar todos los artefactos de un proceso de desarrollo (requisitos, arquitectura, pruebas, versiones,..)
Ing. Carlos Avalos Ruiz 36
Metamodelo UML
Cmo se expresa la semntica del modelo? Informalmente Formalmente El metamodelo UML define la notacin de un modo riguroso, a travs de diagramas de la propia notacin y con OCL.
Ing. Carlos Avalos Ruiz 37
Generalizacin
Asociacin
1
ordered
2..*
Role de asociacin
Ing. Carlos Avalos Ruiz 38
UML
Bloques de Construccin Reglas
Mecanismos Comunes
Especificaciones Adornos Divisiones comunes Mecanismos de extensin
Elementos
Relaciones
Diagramas
Estructural Comportamiento Agrupacin Anotacin Dependencia Asociacin Generalizacin Realizacin Interaccin Use case Maquina de Clases Estado Clases Activas Interfaces Componentes Colaboraciones Nodos Paquete Modelo Subsistema Framework Notas
Use case Clases Objetos Secuencia Colaboraciones Estado Actividad Componentes Despliegue
40
Elementos de agrupacin: son las partes organizati vas, el elemento de agrupacin principal son los pa quetes. Elementos de anotacin: son las partes explcitas, se usan para describir, clarificar o hacer observaciones, esta es una nota
42
Elementos Estructurales
Ventana origen tamao abrir() cerrar() mover() dibujar()
Gestor Eventos suspender() vaciarCola()
clase activa
Hola Mundo.class
colaboracin
componente
clase
Gestin Pedidos
<<Interface>> IAvisable
Servidor
nodo
IAvisable ValidarTransaccin
caso de uso
43
Interface
Ing. Carlos Avalos Ruiz
Elementos de Comportamiento
Interaccin Conjunto de mensajes intercambiados entre un conjunto de objetos con un propsito particular.
dibujar
mensaje
Mquina de estados Secuencia de estados por las que pasa un objeto durante su vida en respuesta a eventos.
activado
Ing. Carlos Avalos Ruiz
estado
44
Elementos de Agrupamiento
Modelo del Negocio
Paquete
Un paquete incluye un conjunto de elementos de cualquier naturaleza. Tiene una naturaleza conceptual.
Ing. Carlos Avalos Ruiz 45
Elementos de Notacin
46
patrn
empleado
Asociaciones
Generalizaciones Realizacin
Ing. Carlos Avalos Ruiz 47
Diagrama de Objetos
Diagrama de Colaboracion
Modelos
Diagrama de Componentes
Diagrama de Estado
Ing. Carlos Avalos Ruiz
Diagrama de Actividad
Diagrama de Despliegue
48
Diagrama de Clases
Muestra un conjunto de clases, interfaces y colabora ciones con sus relaciones.
Empresa clase
* 1..* 1
agregacin nombre
multiplicidad sitio
* *
1..*
Departamento
0..1
Nombre: Ventas
* *
rol miembro
restriccin asociacin administrador Oficina Principal atributos operaciones Contacto Direccin: Pizarro 254 generalizacin
{subgrupo}
1..* 1
Empleado Nombre: Mara IDEmpleado: 2568 Cargo: Gerente obtenerFoto(f:Foto) obtenerSonido() obtenerContacto() obtenerRegistroEmpleados()
49
Diagrama de Objetos
Muestra un conjunto de objetos y sus relaciones.
e: Empresa d1: Departamento Nombre: Ventas enlace d2: Departamento Nombre: RRHH
d3: Departamento objeto Nombre: Ventas a Crdito valor de atributo objeto annimo : Contacto Direccin:Pio265
50
actor
use-case Usando horario Usuario asociacin lmites del sistema Telefona Celular
51
Diagrama de Secuencia
Es un diagrama de interaccin que resalta el orden tem poral de los mensajes, es decir, muestra el dinamismo de la interaccin entre objetos, en funcin al tiempo.
objeto h : hilo a1 : ejecutar(3) etiqueta de la secuencia mensaje llamada enfoque de control recursin <<destroy>> destruccin
Ing. Carlos Avalos Ruiz 52
<<create>> pideIdent()
retorno/rspta
Diagrama de Colaboraciones
Es un diagrama de interaccin que resalta el orden tem poral de los mensajes, es decir, muestra el dinamismo de la interaccin entre objetos, en funcin al tiempo.
Diagrama de Colaboracin c:Cliente 1: <<create>> 2: grupoAcciones(a,d,o) 3: <<destroy>> :Transaccin {transitorio} objeto
Ing. Carlos Avalos Ruiz 53
enlace <<local>>
Diagrama de Estado
Muestra una mquina de estados, que consta de: esta dos, transiciones, eventos y actividades. Estos diagra mas cubren la vista dinmica del sistema. Son importan tes para modelar el comportamiento de una interfaz, cla se o colaboracin. Mquina de Estado
estado final apagado estado inicial Inactivo activado/revisar() conectando transicin interna apagar/reconectar() conectado evento estado estado anidado transicin guardar encender Trabajando listo(3) [seal OK]
accin
54
Diagrama de Actividades
estado inicial
Es un tipo especial de diagrama de estado que muestra el flujo de de actividades dentro estado la accin de un sistema. Son especialmente impor tantes al mode lar el funcionamiento de un sistema pues resaltan el flujo de control entre objetos.
Ing. Carlos Avalos Ruiz
Seleccionar lugar
Comisionar a arquitectos
Desarrollar plan
Ofertar plan ramas de secuencia [no aceptado] bifurcacin concurrente [else] estado de actividad con submquina Trabajar el plan Negociar el plan() unin concurrente flujo de objeto Fin de construccin estado final :Certificado de ocupacin [terminado]
55
Diagrama de Componentes
Muestra la orga nizacin y las dependencias entre un conjun to de componen tes. Presentan la vista esttica de implementacin del sistema.
hallar.html pgina web hallar.exe ejecutable
ndice.html <<hiperenlace>>
busca.dll
56
Diagrama de Despliegue
nodo internet Modem
Muestra la configuracin de nodos de conexin <<processor>> procesamiento servidor de cach en tiempo de ejecucin y los <<network>> red local componentes que residen en ellos. <<processor>> <<processor>>
servidor primario servidor
nodo
<<processor>> servidor
<<processor>> servidor
57
Adornos
La notacin grfica bsica de cada elemento puede incluir adornos textuales o grficos para resaltar algunas propiedades de la especificacin.
Ing. Carlos Avalos Ruiz 58
Divisiones Comunes
Dicotoma clasificador /instancia
Divisiones Comunes
Dicotoma interfaz / implementacin
IOrtografa
: Persona
59
Valores etiquetados
Extienden las propiedades de un bloque de construccin, aadiendo nueva informacin.
Ing. Carlos Avalos Ruiz 60
Restricciones
Extiende la semntica de un bloque, aadiendo reglas o modificando las existentes.
valor etiquetado
estereotipo
ColaEventos {version 3.2; autor: jgm}
<<Exception>>
Overflow
{ordenado}
restriccin
Ing. Carlos Avalos Ruiz 61
casos de uso
Vista de Procesos
Vista de Despliegue
clases activas
nodos
63
Vista de Procesos
Vista de Despliegue
("Hola, mundo)
paint()
Object
ImageObserver Compone nt Container Panel
Applet
HolaMundo paint ()
Graphics
Applet
HolaMun do
Ing. Carlos Avalos Ruiz 66
java
HolaMundo Applet
awt
lang
67
:Thread
run
:Toolkit
run
:ComponentPeer
callbackLoop
target:HolaMundo
handleExpose
paint
68
HolaMundo.class
hello.html
69
Development process
70
71
Un proceso incremental es aquel que involucra la continua integracin de la arquitectura del sistema para producir esos ejecutables, donde cada nuevo ejecutable incorpora mejoras incrementales sobre los otros. En conjunto, un proceso iterativo e incremental esta dirigido por el riesgo, lo que significa que cada nueva versin se encarga de atacar y reducir los riesgos mas significativos para el xito del proyecto.
73
76
Para construir el sistema a lo largo del tiempo en lugar en lugar de hacerlo de una sola vez cerca del final, cuando el cambiar algo se ha vuelto costoso. Para proporcionar un proceso de desarrollo a travs del cual el personal pueda trabajar de manera mas eficaz. En resumen: para obtener un software mejor
78
time
Inicial: define el alcance del proyecto y el lmite del sistema. Elaboracin: Plan del proyecto, caractersticas, y la lnea base de la arquitectura. Construccin: Se construye el producto Transicin: entrega del producto al usuario
Ing. Carlos Avalos Ruiz 79
Fases e Iteraciones
Inception Elaboration Construction Transition
Prelim Iteration
...
Arch Iteration
...
Dev Iteration
Dev Iteration
...
Trans Iteration
...
Release
Release
Release
Release
Release
Release
Release
Release
Una fase es el intervalo de tiempo entre dos hitos importantes del proceso. Una iteracin es una sucesin de actividades con un plan establecido y criterio de evaluacin, mientras se va produciendo las versiones del sistema.
Ing. Carlos Avalos Ruiz 80
Unified Software Development Process Iconix Unified Process Rationa Unified Process 5.5 Functional testing Performance testing Requirements mgmt Conf. and change mgmt Business engineering Data engineering UI design
UML
81