SlideShare una empresa de Scribd logo
1 de 81
Ing. Carlos Avalos Ruiz 1
Tema Nro.1:
Desarrollo de sistemas
de información
“Una guía para la automatización de las funciones de la
organización para la obtención de ventajas competitivas”
Ing. Carlos Avalos Ruiz 2
Introducción
• El desarrollo de los sistemas de información se
basan en ciclo de vida del desarrollo del software.
• La disciplina encargada de proveer los medios
necesarios para la construcción de una software es
la ingeniería de software.
• Por ende el desarrollo de los sistemas de
información están basado en procesos de desarrollo
de software que la ingeniería de software propone.
• Para ello existen dos enfoques paradigmáticos:
estructurado y orientado a objetos.
Ing. Carlos Avalos Ruiz 3
La Ingeniería de Software (IS)
• La IS es una disciplina que integra métodos, herramientas y
procedimientos para el desarrollo del software de
computadoras.
• Se han propuesto varios paradigmas, entre ellos podemos
mencionar: estructurado,orientado a objetos ,sala limpia,
cliente/servidor, reutilización del software, reingeniería del
software, software asistido por computa- doras, etc.
• El software se ha convertido en el elemento clave de la
evolución de los sistemas y productos informáticos.
Ing. Carlos Avalos Ruiz 4
Paradigma Orientado a Objetos
• Con frecuencia se alude a la Orientación a Objetos
como un nuevo paradigma (Paradigma de Objetos) y
al término Orientado a Objeto ( OO ) como la
aplicación de este paradigma al mundo de la
computación.
• El paradigma para los programadores, es la manera
como se maneja la complejidad.
• Desde este punto de vista el paradigma es el modelo
o la estructura dentro del software solución de un
problema.
Ing. Carlos Avalos Ruiz 5
• Superficialmente OO significa la organización del
software como una colección 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 interés, y busca las
abstracciones claves y las relaciones entre esas
abstracciones claves.
Ing. Carlos Avalos Ruiz 6
• La Orientación a Objetos se aplica a otros disciplinas
dentro del mundo de la computación, tal como se
aprecia en la siguiente ilustración :
Ing. Carlos Avalos Ruiz 7
En resumen la Orientación a
Objetos:
Orientado
a
objetos
abstracción
de la realidad
Conceptos
Objetos
Clases
Estructuras -
jerárquicas
Métodos/ope-
raciones/servicios
Abstracción
Encapsulamiento
Herencia
Polimorfismo
Mensaje
Identidad
Asociación
en función
y que mediante
permite manejar
la complejidad
Ing. Carlos Avalos Ruiz 8
Tecnología Orientada a Objetos
• La Tecnología de Objetos (TO), una de las más
recientes técnicas de desarrollo de sistemas y se basa
en la OO; cuenta con cuatro bases fundamentales :
– Análisis Orientado a Objetos (AOO).
– Diseño Orientado a Objetos (DOO).
– Programación Orientada a Objetos (POO).
– Base de Datos Orientado a Objetos (BDOO).
Ing. Carlos Avalos Ruiz 9
Tecnología
orientada a
objetos
Nuevos
métodos de
programación.
Nuevos
métodos de
análisis
Nuevos
métodos de
diseño
Reutilizar
el código
Mas calidad
Mas productividad
Menos costo
Situación Actual en la TOO
Ing. Carlos Avalos Ruiz 10
Desarrollo de la Tecnología
Orientada a Objetos
• Con el universo de métodos, se ha formado un cos-
mo dinámico con el mundo de objeto en el que un
método evoluciona en una estrella nítida u otra cesa
para ser destacado y llega a ser un gigante rojo antes
de desaparecer enteramente.
• De aquí en adelante, una organización debería prime
ra comprender completamente qué significa para pen
sar desde el punto de vista de objetos.
Ing. Carlos Avalos Ruiz 11
Método, Metodología y Proceso en
el desarrollo de software
• Un método es la aplicación particular de una método
logia de desarrollo de software pero que no abarca el
ciclo de vida de desarrollo de software ni cuenta con
herramientas tecnológica de soporte.
• Una metodología es una marco general basado en un
paradigma que sirve de base para el desarrollo de
software y que abarca todo el ciclo de vida.
• Un proceso de desarrollo de software esta basado en
una metodología, abarca todo el ciclo de vida y provee
herramientas tecnológica de soporte.
Ing. Carlos Avalos Ruiz 12
¿Problemas en el desarrollo de software?
• Retrasos en los plazos
• Proyectos cancelados
• Rápido deterioro del sistema instalado
• Tasa de defectos o fallos
• Requisitos mal comprendidos
• Cambios frecuentes en el dominio del problema
• Muchas de las interesantes características del software no
proporcionan beneficios al cliente
• Buenos programadores se cansan y dejan el equipo
Ing. Carlos Avalos Ruiz 13
El Modelado
• El modelado es una tecnica de ingeniería probada y
bien aceptada.
• El modelado no solo es parte de la industria de la
construcción.
• Un modelo es una abstracción del sistema,
especificando el sistema desde un cierto punto de
vista y en un determinado nivel de abstracción.
• Un modelo es una simplificacion de la realidad.
Ing. Carlos Avalos Ruiz 14
¿Por qué las empresas no hacen
modelado?
• La mayor parte de las empresas software no realizan
ningún modelado.
• El modelado requiere:
– aplicar un proceso de desarrollo
– formación del equipo en la técnicas
– ¿tiempo?
• ¿Se obtienen beneficios con el modelado?
Ing. Carlos Avalos Ruiz 15
¿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.
Construimos modelos para comprender mejor el sistema
que estamos desarrollando.
Ing. Carlos Avalos Ruiz 16
Principio de Modelado
• La elección 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 están ligados a la realidad.
• Un único modelo no es suficiente.
• El modelado no es sólo para los grandes sistemas.
Ing. Carlos Avalos Ruiz 17
Sistema de Computo
Procesos del Negocio
Order
Item
Ship via
“El modelado captura la
parte escencial de un sistema.”
Dr. James Rumbaugh
El Modelado Visual es un
modelamiento usando
notaciones graficas
estandares
Modelado Visual
Ing. Carlos Avalos Ruiz 18
Arquitectura del Software
• La visualización, especificación, construcción y
documentación de un sistema con gran cantidad de
software requiere que el sistema sea visto desde
varias perspectivas.
• La arquitectura de un sistema es quizás el artefacto
mas importante que puede emplearse para manejar
estos diferentes puntos de vista y controlar el
desarrollo iterativo e incremental.
Ing. Carlos Avalos Ruiz 19
• La arquitectura es un conjunto de decisiones significativas
sobre:
– La organización de un sistema software.
– La selección de elementos estructurales y sus
interfaces a través de los cuales se constituye el
sistema.
– Su comportamiento, como se especifica en la
colaboraciones entre esos elementos.
– La composición de esos elementos estructurales y de
comportamiento en subsistemas progresivamente
mas grandes.
– El estilo arquitectónico que guía esta organización:
los elementos.
Ing. Carlos Avalos Ruiz 20
• estáticos y dinámicos y sus interfases, sus
colaboraciones y su composición.
• La arquitectura del software no tiene que ver sola
mente con la estructura y el comportamiento, sino
también con el uso, la funcionalidad, el rendimiento,
la capacidad de adaptación, la reutilización, la
capacidad de ser comprendido, las restricciones
económicas y de tecnología y los compromisos entre
alternativas, así como de los aspectos estáticos.
Ing. Carlos Avalos Ruiz 21
Modelado de la arquitectura de
un sistema software
Vista de Diseño Vista de Implementación
Vista de Procesos Vista de Despliegue
Vista de casos de uso
vocabulario
funcionalidad
ensamblado
gestión conf.
topología
entrega
distribución
instalación
Funcionamiento
escalabilidad
rendimiento
comportamiento
Ing. Carlos Avalos Ruiz 22
• 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 diseño de un sistema comprende las
clases, interfaces y colaboraciones que forman el
vocabulario del problema y las solución.
• La vista de procesos de un sistema comprende los
hilos y procesos que forman los mecanismos de
sincronización y concurrencia del sistema.
Ing. Carlos Avalos Ruiz 23
• La vista de implementación de un sistema compren
de los componentes y archivos que se utilizan para
ensamblar y hacer disponible el sistema físico.
• La vista de despliegue de un sistema contiene los
nodos que forman la topología 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 24
Por qué es necesaria la
arquitectura
• Un sistema software grande y complejo requiere una
arquitectura para que los desarrolladores puedan
progresa hasta tener una visión común.
• Se necesita una arquitectura para:
– Comprender el sistema.
– Organizar el desarrollo.
– Fomentar la reutilización.
– Hacer evolucionar el sistema.
Ing. Carlos Avalos Ruiz 25
Unified Modeling Language (UML)
• UML es un lenguaje estandar para la visualiza cion ,
especificacion, construccion, y documenta cion de
artefactos de un sistema.
• UML combina lo mejor de :
– Modelamiento conceptual de datos (Diagrama Entidad
Relacion)
– Modelamiento del flujo de actividades.
– Modelamiento de Objetos
– Modelamiento de Componentes
Ing. Carlos Avalos Ruiz 26
• UML Significa Lenguaje Unificado de Modelado.
Un lenguaje de modelado es lenguaje cuyo voca
bulario y reglas se centra en la representación
conceptual y física de un sis tema.
• UML consiste en Reglas de simbología que se
aplican a cualquier tipo de modelo hecho bajo
este lenguaje.
• UML es un Lenguaje estandar para escribir
planos o modelos de software.
Ing. Carlos Avalos Ruiz 27
• UML tiene una sintaxis y una semántica bien
definida. La parte mas visible de UML es su
notación gráfica.
• 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 límite de un sistema y sus fun
ciones importantes.
Ing. Carlos Avalos Ruiz 28
– Ilustrar realizaciones de un sistema.
– Representar la estructura estática de un siste
ma .
– Modelar el comportamiento de objetos.
– Conocer la arquitectura física de la implemen
tación.
– 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 29
• UML es sólo un lenguaje y por lo tanto estan
sólo una parte de un método 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 información que es
utilizada o producida por un proceso de desarro
llo de software.
Ing. Carlos Avalos Ruiz 30
Antecedentes de UML
• Originalmente desarrollado por Rational, Grady
Booch y James Rumbaugh.
• Posteriormente se tiene la contribución 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 31
Los tres amigos (y otros)
• Ivar Jacobson -- Objectory and use cases.
• Jim Rumbaugh -- OMT and UML.
• Grady Booch -- Booch Method and UML.
• Hewlett-Packard, Texas Instruments, Oracle.
• Microsoft -- Repository, visual modeling.
• Platinum -- OPEN Modeling Language.
• IBM/ObjectTime -- OCL/ROOM.
Ing. Carlos Avalos Ruiz 32
Contribuciones
Meyer
Before and after
conditions
Harel
Statecharts
Gamma, et al
Frameworks and patterns,
HP Fusion
Operation descriptions and
message numbering
Embley
Singleton classes and
high-level view
Wirfs-Brock
Responsibilities
Odell
Classification
Shlaer - Mellor
Object lifecycles
Rumbaugh
OMT
Booch
Booch method
Jacobson
OOSE
Ing. Carlos Avalos Ruiz 33
Historia de UML
Booch method OMT
Unified Method 0.8OOPSLA ´95
OOSEOther methods
UML 0.9Web - June ´96
public
feedback
Final submission to OMG, Sep ‘97
First submission to OMG, Jan ´97
UML 1.1
OMG Acceptance, Nov 1997
UML 1.3
UML 1.0UML partners
Ing. Carlos Avalos Ruiz 34
Donde puede utilizarse UML
• UML esta pensado principalmente para sistemas de
gran cantidad de software.
• UML es apropiado para modelar desde sistemas de
información en empresas hasta aplicaciones
distribuidas basadas en Web, e incluso para sistemas
empotrados de tiempo real muy exigentes.
• UML no esta limitado al modelado de software, es lo
sufientemente expresivo para modelar sistemas que
no son software.
Ing. Carlos Avalos Ruiz 35
Classes
application partitioning
Business Objects
Relationships
Business Process
Objects
Use Cases
large scale system
Scenarios
Components
Microsoft
ActiveX/COM
Microsoft
ORDBMS
Oracle
CORBA
OMG
UML: Soporte para el desarrollo
de cualquier tipo de aplicaciones
Ing. Carlos Avalos Ruiz 36
Utilidad de UML
• Permite especificar todas las decisiones de análisis,
diseño e implementación, construyéndose modelos
precisos, no ambiguos y completos.
• UML puede conectarse a lenguajes de programación:
– Ingeniería directa e inversa
• Permite documentar todos los artefactos de un
proceso de desarrollo (requisitos, arquitectura,
pruebas, versiones,..)
Ing. Carlos Avalos Ruiz 37
Metamodelo UML
• ¿Cómo se expresa la semántica del modelo?
– Informalmente
– Formalmente
• El metamodelo UML define la notación de un modo
riguroso, a través de diagramas de la propia
notación y con OCL.
Ing. Carlos Avalos Ruiz 38
Metamodelo UML: Ejemplo
Relación
AsociaciónGeneralización
Role de
asociación
1
2..*ordered
Ing. Carlos Avalos Ruiz 39
Modelo Conceptual de UML
• Para comprender UML, se necesita adquirir un
modelo conceptual del lenguaje, y esto requiere
aprender tres elementos principales:
– Los bloques de construcción.
– Las reglas que dictan como se pueden combinar
estos bloques básicos.
– Algunos mecanismos comunes que se pueden
aplicar.
Ing. Carlos Avalos Ruiz 40
UML
Elementos
Estructural
Use case
Clases
Clases Activas
Interfaces
Componentes
Colaboraciones
Nodos
Comportamiento Agrupación Anotación
Relaciones Diagramas
Especificaciones
Adornos
Divisiones
comunes
Mecanismos
de extensión
Interacción
Maquina de
Estado
Paquete
Modelo
Subsistema
Framework
Notas
Dependencia
Asociación
Generalización
Realización
Use case
Clases
Objetos
Secuencia
Colaboraciones
Estado
Actividad
Componentes
Despliegue
Estereotipos
Valores etiquetados
Restricciones
Bloques de Construcción Reglas
Nombres
Alcance
Visibilidad
Integridad
Mecanismos
Comunes
Ing. Carlos Avalos Ruiz 41
Elementos del modelo conceptual
de UML
• Elementos estructurales: modelan partes estáticas y
representan cosas conceptuales y materiales, son:
Clases, una interfaz, una colaboración, un use case,
componentes y nodos.
• Elementos de comportamiento: son las partes dinámi
cas de los modelos, representan comportamiento en
el tiempo y el espacio, son: una interacción y una
máquina de estados.
Ing. Carlos Avalos Ruiz 42
• Elementos de agrupación: son las partes organizati
vas, el elemento de agrupación principal son los pa
quetes.
• Elementos de anotación: son las partes explícitas, se
usan para describir, clarificar o hacer observaciones,
esta es una nota
Ing. Carlos Avalos Ruiz 43
Elementos Estructurales
Ventana
origen
tamaño
abrir()
cerrar()
mover()
dibujar()
clase
IAvisable
<<Interface>>
IAvisable
Interface
ValidarTransacción
caso de uso
Gestor Eventos
suspender()
vaciarCola()
clase activa
Gestión Pedidos
colaboración componente
Hola
Mundo.class
Servidor
nodo
Ing. Carlos Avalos Ruiz 44
Elementos de Comportamiento
Interacción
Conjunto de mensajes intercambiados entre un conjunto
de objetos con un propósito particular.
mensaje
dibujar
Máquina de estados
Secuencia de estados por las que pasa un objeto durante
su vida en respuesta a eventos.
estadoactivado
Ing. Carlos Avalos Ruiz 45
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 46
Elementos de Notación
Son las partes explicativas de los modelos UML
NotaRetorna 0 si no
existe el valor
Ing. Carlos Avalos Ruiz 47
Relaciones del modelo concpetual
de UML
Dependencias
Asociaciones
patrón empleado
0..1 *
Generalizaciones
Realización
Ing. Carlos Avalos Ruiz 48
Diagrama
Use Case
Diagrama
de
ColaboracionColaboracion
Diagrama
de
Componentes
Diagrama
de
Despliegue
Diagrama
de
Objetos
Diagrama
de
Estado
Diagrama
de
Secuencia
Diagrama
de
Clases
Diagrama
de
Actividad
Un modelo es una
descripción completa de un
sistema desde una perspectiva particular
Modelos
Modelos y Diagramas de UML
Ing. Carlos Avalos Ruiz 49
atributos
operaciones
dependencia
Empresa
generalización
Oficina Principal
1
1..**
0..1
clase
**
miembro
rol
11..*
{subgrupo}
asociación
administrador
restricción
multiplicidad
agregación
nombre
1..*
sitio
Empleado
Nombre: María
IDEmpleado: 2568
Cargo: Gerente
obtenerFoto(f:Foto)
obtenerSonido()
obtenerContacto()
obtenerRegistroEmpleados()
Contacto
Dirección: Pizarro 254
RegistroEmpleados
IdImpuesto
Historialempleado
sueldo/salario
Departamento
Nombre: Ventas *
Oficina
Dirección : Sucre 360
Código: 2358
*
Diagrama de Clases
• Muestra un conjunto de clases, interfaces y colabora
ciones con sus relaciones.
Ing. Carlos Avalos Ruiz 50
e: Empresa
objeto anónimo
valor de atributo
enlace
objeto
d1: Departamento
Nombre: “Ventas”
d2: Departamento
Nombre: “RRHH”
d3: Departamento
Nombre: “Ventas a Crédito”
p: Personal
Nombre = “Eddi”
IDEmpleado = “4356”
Cargo = “Vendedor”
: Contacto
Dirección:“Pio265”
Diagrama de Objetos
• Muestra un conjunto de objetos y sus relaciones.
Ing. Carlos Avalos Ruiz 51
Red celular
Usuario
actor
Emitiendo
llamadas de
conferencia
Recepcionando
llamada
adicional
Usando horario
Recibiendo
llamada
Emitiendo
llamada
Relación extendida
<<extend>>
<<extend>>
use-case
límites del sistema
Telefonía Celularasociación
Diagrama de Use Case
• Muestra un conjunto de Casos de Uso (Use Case),
actores y sus relaciones, presenta una descripción de la
conducta de un sistema para un usuario en un punto
determinado.
Ing. Carlos Avalos Ruiz 52
h : hilo : herramientas
p : par
a1 : ejecutar(3)
ejecutar()
<<create>>
<<destroy>>
pideIdent()
rellamada()
objeto
etiqueta de
la secuencia
mensaje
línea de vida
creacion
llamada
recursión
retorno/rspta
destrucción
enfoque de control
interacción
Diagrama de Secuencia
• Es un diagrama de interacción que resalta el orden tem
poral de los mensajes, es decir, muestra el dinamismo
de la interacción entre objetos, en función al tiempo.
Ing. Carlos Avalos Ruiz 53
Diagrama de Colaboraciones
• Es un diagrama de interacción que resalta el orden tem
poral de los mensajes, es decir, muestra el dinamismo
de la interacción entre objetos, en función al tiempo.
c:Cliente
:Transacción p:ODBDProxy
1: <<create>>
2: grupoAcciones(a,d,o)
3: <<destroy>>
<<global>>
2.1: grupoValores(d,3.4)
2.2: grupoValores(a,”CO”)
objeto
mensaje
enlace
<<local>>
{transitorio}
Diagrama de Colaboración
Ing. Carlos Avalos Ruiz 54
estado inicial
conectado
conectando
Trabajando
listo(3) [señal OK]
Inactivo
encender
apagar/reconectar()
activado/revisar()
apagado
estado final
estado
evento
acción
transición
transición interna
guardar
estado anidado
Máquina de Estado
Diagrama de Estado
• Muestra una máquina de estados, que consta de: esta
dos, transiciones, eventos y actividades. Estos diagra
mas cubren la vista dinámica del sistema. Son importan
tes para modelar el comportamiento de una interfaz, cla
se o colaboración.
Ing. Carlos Avalos Ruiz 55
estado inicial
Seleccionar lugar
Comisionar a arquitectos
Desarrollar plan
Ofertar plan
Fin de construcción
Trabajar el plan Negociar el plan()
:Certificado de ocupación
[terminado]
ramas de secuencia
[no aceptado]
[else]
flujo de objeto
estado de actividad
con submáquina
estado final
bifurcación concurrente
unión concurrente
estado de
la acción
Diagrama de Actividades
• Es un tipo especial de
diagrama de estado
que muestra el flujo
de actividades dentro
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 56
hallar.exe
índice.html
hallar.html
accesoBd.dll busca.dll
<<hiperenlace>>
ejecutable
página web
librería
componente
Diagrama de Componentes
• Muestra la orga
nización y las
dependencias
entre un conjun
to de componen
tes. Presentan la
vista estática de
implementación
del sistema.
Ing. Carlos Avalos Ruiz 57
<<processor>>
servidor
primario
<<processor>>
servidor
<<processor>>
servidor
<<processor>>
servidor
<<network>> red local
<<processor>>
servidor de
caché
<<processor>>
servidor de
caché nodo
conexión
internet Modem
nodo
Diagrama de Despliegue
• Muestra la
configuración
de nodos de
procesamiento
en tiempo de
ejecución y los
componentes
que residen en
ellos.
Ing. Carlos Avalos Ruiz 58
Mecanismos comunes del modelo
conceptual de UML
• Especificaciones
– Proporcionan una base semántica para cada
elemento
– Los diagramas son proyecciones de esa base
• Adornos
– La notación gráfica básica de cada elemento puede
incluir adornos textuales o gráficos para resaltar
algunas propiedades de la especificación.
Ing. Carlos Avalos Ruiz 59
• Divisiones Comunes
– Dicotomía clasificador
/instancia
Persona
nombre
dirección
teléfono
Elena :
Persona
: Persona
Elena
• Divisiones Comunes
– Dicotomía interfaz /
implementación
IOrtografía
asistente
Ortográfico.dll
Ing. Carlos Avalos Ruiz 60
Mecanismos de extension del
modelo conceptual de UML
• Mecanismos de extensibilidad
– Estereotipos
• Extienden el vocabulario de UML, permitiendo añadir
nuevos tipos de bloques de construcción.
– Valores etiquetados
• Extienden las propiedades de un bloque de
construcción, añadiendo nueva información.
Ing. Carlos Avalos Ruiz 61
– Restricciones
• Extiende la semántica de un bloque, añadiendo reglas
o modificando las existentes.
Overflow
<<Exception>>
ColaEventos {version 3.2; autor: jgm}
añadir()
quitar()
vaciar()
{ordenado}
estereotipo
valor etiquetado
restricción
Ing. Carlos Avalos Ruiz 62
Sistema, modelo, vista, diagrama
• Un sistema es aquello que se está desarrollando y
para lo que se crean modelos.
• Un subsistema es una parte de un sistema.
• Un modelo es una abstracción de un sistema que
ayuda a comprenderlo.
• Una vista es una proyección de la estructura y
organización de un modelo del sistema, centrada en
algún aspecto.
• Un diagrama es una representación de un conjunto
de elementos.
Ing. Carlos Avalos Ruiz 63
Vistas UML en términos de
Elementos
Vista de Diseño
Vista de Implementación
Vista de Procesos Vista de Despliegue
Vista de casos de uso
clases
interfaces
colaboraciones componentes
nodosclases activas
casos de uso
Ing. Carlos Avalos Ruiz 64
Vistas UML en términos de
Diagramas
Vista de Diseño
Vista de Implementación
Vista de Procesos Vista de Despliegue
Vista de casos de uso
Diagramas de clase
Diagramas de interacción
Diagramas de estado
Diagramas de componentes
Diagrama de interacción
Diagramas de estado
Diagramas de despliegue
Diagrama de interacción
Diagramas de estado
Diagramas de casos de uso
Diagramas de clase
Diagramas de interacción
Diagramas de estado
Ing. Carlos Avalos Ruiz 65
Ejemplo: Hola mundo!
import Java.awt.Graphics;
class HolaMundo extends java.applet.Applet {
public void paint (Graphics g) {
g.drawString (“¡Hola, Mundo!”,10,10);
}
}
HolaMundo
paint()
g.drawString
("Hola, mundo”)
Abstracción de clases para hola mundo
Ing. Carlos Avalos Ruiz 66
Applet
HolaMundo
paint () Graphics
Object
Compone
nt
Container
Panel
Applet
HolaMun
do
ImageObserver
Clase relacionadas
Con Holamundo
Jerarquía de la
Herencia de
Hola mundo
Ing. Carlos Avalos Ruiz 67
java
lang
awt
Applet
HolaMundo
Organización de paquetes de Holamundo
Ing. Carlos Avalos Ruiz 68
:Thread :Toolkit target:HolaMundo:ComponentPeer
run
run
handleExpose paint
callbackLoop
Mecanismo para dibujar de Holamundo
Ing. Carlos Avalos Ruiz 69
HolaMundo.class
hello.java
hello.html
Componentes de Holamundo
Ing. Carlos Avalos Ruiz 70
Equipo base de
desarrollo
Pero UML no es suficiente
Unified Modeling
Language
Development
process
Ing. Carlos Avalos Ruiz 71
Proceso de Desarrollo de Software
• Un proceso de desarrollo de software es un conjunto
de actividades necesarias para transformar los
requisitos de un usuario en un sistema software.
Proceso de desarrollo
de software
Requisitos del
usuario
Sistema
software
Ing. Carlos Avalos Ruiz 72
Un Proceso Iterativo e Incremental
• Un proceso de desarrollo de software debe tener
una secuencia de hitos claramente articulados para
ser eficaz, que proporcionen a los director y al resto
del equipo del proyecto los criterios que necesitan
para autorizar el paso de una fase a la siguiente
dentro del ciclo del producto.
• Un proceso iterativo es aquel que involucra la
gestión de un flujo de ejecutables del sistema.
Ing. Carlos Avalos Ruiz 73
• Un proceso incremental es aquel que involucra la
continua integración 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
versión se encarga de atacar y reducir los riesgos
mas significativos para el éxito del proyecto.
Ing. Carlos Avalos Ruiz 74
Lo que es una Iteración
• Una iteración es un miniproyecto (un recorrido mas o
menos completo a lo largo de todos los flujos de
trabajo fundamenta) que obtiene como resultado una
versión interna.
• El resultado de una iteración es un incremento ( un in
cremento es la diferencia entre la versión interna de
una iteración y la versión interna de la siguiente).
• Los modelos evolucionan con las iteraciones
( construyen los modelos incremento por incremento).
Ing. Carlos Avalos Ruiz 75
Las Iteraciones sobre el ciclo de
vida
• Las iteraciones se realizan en cuatro fases.
• Cada una de las cuatro fases termina con un hito
principal.
– Inicio: Objetivos del ciclo de vida.
– Elaboración: arquitectura del ciclo de vida.
– Construcción: Funcionalidad operativa inicial.
– Transición : versión del producto
Ing. Carlos Avalos Ruiz 76
Ing. Carlos Avalos Ruiz 77
¿Por qué un Desarrollo Iterativo e
Incremental?
• Para tomar la rienda de los riesgos críticos y
significativos desde el principio.
• Para poner en marcha una arquitectura que guíe el
desarrollo del software.
• Para proporcionar un marco de trabajo que gestione
de mejor forma los inevitables cambios en los
requisitos y en otros aspectos.
Ing. Carlos Avalos Ruiz 78
• 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 través
del cual el personal pueda trabajar de manera mas
eficaz.
En resumen: “para obtener un software mejor”
Ing. Carlos Avalos Ruiz 79
Fases del Ciclo de vida
time
Inicio Elaboración Construcción Transición
• Inicial: define el alcance del proyecto y el límite del
sistema.
• Elaboración: Plan del proyecto, características, y la línea
base de la arquitectura.
• Construcción: Se construye el producto
• Transición: entrega del producto al usuario
Ing. Carlos Avalos Ruiz 80
Fases e Iteraciones
Una fase es el intervalo de tiempo entre dos hitos importantes del
proceso.
Una iteración es una sucesión de actividades con un plan establecido
y criterio de evaluación, mientras se va produciendo las versiones del
sistema.
Arch
Iteration
... Dev
Iteration
Dev
Iteration
... Trans
Iteration
...
Release Release Release Release Release Release Release Release
Prelim
Iteration
...
Inception Elaboration Construction TransitionElaboration Construction Transition
Ing. Carlos Avalos Ruiz 81
Creando el Proceso Unificado
Functional testing
Performance testing
Requirements mgmt
Conf. and change mgmt
Business engineering
Data engineering
UI design
Rational Unified Process 5.0
1998
Rational Objectory Process 4.1
1996-1997
Objectory Process 1.0-3.8
1987-1995
The Ericsson Approach
The Rational Approach UML
Unified Process
Unified Software Development Process
Iconix Unified Process
Rationa Unified Process 5.5

Más contenido relacionado

La actualidad más candente

Simulación y Tipos de Modelos
Simulación y Tipos de ModelosSimulación y Tipos de Modelos
Simulación y Tipos de Modelosvokii
 
Proyecto de desarrollo de sistema automatizado de registro de asistencia
Proyecto de desarrollo de sistema automatizado de registro de asistenciaProyecto de desarrollo de sistema automatizado de registro de asistencia
Proyecto de desarrollo de sistema automatizado de registro de asistenciaCarmen Bastidas
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre Juan Anaya
 
EJERCICIOS EN BPMN EN EL MODELADOR BIZAGI
EJERCICIOS EN BPMN EN EL MODELADOR BIZAGIEJERCICIOS EN BPMN EN EL MODELADOR BIZAGI
EJERCICIOS EN BPMN EN EL MODELADOR BIZAGIAlvaro Arellano
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vidamadpitbull_99
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejerciciosWalter Chacon
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosECCI
 
Tecnologias emergentes moviles
Tecnologias emergentes movilesTecnologias emergentes moviles
Tecnologias emergentes movilesKio Kusanagi
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasFelipe Cerda
 

La actualidad más candente (17)

Simulación y Tipos de Modelos
Simulación y Tipos de ModelosSimulación y Tipos de Modelos
Simulación y Tipos de Modelos
 
Proyecto final analisis de sistemas
Proyecto final analisis de sistemasProyecto final analisis de sistemas
Proyecto final analisis de sistemas
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemas
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Proyecto de desarrollo de sistema automatizado de registro de asistencia
Proyecto de desarrollo de sistema automatizado de registro de asistenciaProyecto de desarrollo de sistema automatizado de registro de asistencia
Proyecto de desarrollo de sistema automatizado de registro de asistencia
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Clase 5
Clase 5Clase 5
Clase 5
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
EJERCICIOS EN BPMN EN EL MODELADOR BIZAGI
EJERCICIOS EN BPMN EN EL MODELADOR BIZAGIEJERCICIOS EN BPMN EN EL MODELADOR BIZAGI
EJERCICIOS EN BPMN EN EL MODELADOR BIZAGI
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vida
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Tecnologias emergentes moviles
Tecnologias emergentes movilesTecnologias emergentes moviles
Tecnologias emergentes moviles
 
Modelo espiral expo
Modelo espiral expoModelo espiral expo
Modelo espiral expo
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitas
 
Urx m1
Urx m1Urx m1
Urx m1
 

Destacado

Mobile-first Service Management Platform
Mobile-first Service Management PlatformMobile-first Service Management Platform
Mobile-first Service Management PlatformEasyVista
 
How to identify the Return on Investment of Big Data / CIO
How to identify the Return on Investment of Big Data / CIOHow to identify the Return on Investment of Big Data / CIO
How to identify the Return on Investment of Big Data / CIOsuparupaa
 
El anillo -Historia sobre el valor-
El anillo -Historia sobre el valor-El anillo -Historia sobre el valor-
El anillo -Historia sobre el valor-Juan Haro Ordoñez
 
Crash bandicoot
Crash bandicootCrash bandicoot
Crash bandicootJohanita92
 
Boletin Informativo Psoe 1
Boletin Informativo Psoe 1Boletin Informativo Psoe 1
Boletin Informativo Psoe 1PSOE Infantes
 
Hermandad del Cautivo
Hermandad del CautivoHermandad del Cautivo
Hermandad del CautivoRDVega
 
ensayo dhtic especialidades fisioterapia
ensayo dhtic especialidades fisioterapia ensayo dhtic especialidades fisioterapia
ensayo dhtic especialidades fisioterapia chave_so
 
Puntos eco tenerife
Puntos eco tenerifePuntos eco tenerife
Puntos eco tenerifesporttencen
 
Contacto AquaTissue Ventas
Contacto AquaTissue Ventas Contacto AquaTissue Ventas
Contacto AquaTissue Ventas aquatissue
 
Actualización Taller Básico de Facebook para empresas y emprendedores
Actualización Taller Básico de Facebook para empresas y emprendedoresActualización Taller Básico de Facebook para empresas y emprendedores
Actualización Taller Básico de Facebook para empresas y emprendedoresRaquel Cabanillas
 
Steering with Expected Loss
Steering with Expected LossSteering with Expected Loss
Steering with Expected LossLászló Árvai
 
The Future of IT Infrastructure is Hybrid and on Demand
The Future of IT Infrastructure is Hybrid and on DemandThe Future of IT Infrastructure is Hybrid and on Demand
The Future of IT Infrastructure is Hybrid and on DemandCodero
 

Destacado (20)

Mobile-first Service Management Platform
Mobile-first Service Management PlatformMobile-first Service Management Platform
Mobile-first Service Management Platform
 
How to identify the Return on Investment of Big Data / CIO
How to identify the Return on Investment of Big Data / CIOHow to identify the Return on Investment of Big Data / CIO
How to identify the Return on Investment of Big Data / CIO
 
El anillo -Historia sobre el valor-
El anillo -Historia sobre el valor-El anillo -Historia sobre el valor-
El anillo -Historia sobre el valor-
 
Crash bandicoot
Crash bandicootCrash bandicoot
Crash bandicoot
 
Anemia ferro
Anemia ferroAnemia ferro
Anemia ferro
 
Boletin Informativo Psoe 1
Boletin Informativo Psoe 1Boletin Informativo Psoe 1
Boletin Informativo Psoe 1
 
Preparación jubilación ONCE * Ángel Balbuena
Preparación  jubilación  ONCE * Ángel BalbuenaPreparación  jubilación  ONCE * Ángel Balbuena
Preparación jubilación ONCE * Ángel Balbuena
 
Hermandad del Cautivo
Hermandad del CautivoHermandad del Cautivo
Hermandad del Cautivo
 
c.v
c.vc.v
c.v
 
Cuentos
CuentosCuentos
Cuentos
 
Scop Software Suite
Scop Software SuiteScop Software Suite
Scop Software Suite
 
OOP Day 2
OOP Day 2OOP Day 2
OOP Day 2
 
ensayo dhtic especialidades fisioterapia
ensayo dhtic especialidades fisioterapia ensayo dhtic especialidades fisioterapia
ensayo dhtic especialidades fisioterapia
 
Open source as a strategic weapon and the morfeo case
Open source as a strategic weapon and the morfeo caseOpen source as a strategic weapon and the morfeo case
Open source as a strategic weapon and the morfeo case
 
Puntos eco tenerife
Puntos eco tenerifePuntos eco tenerife
Puntos eco tenerife
 
Contacto AquaTissue Ventas
Contacto AquaTissue Ventas Contacto AquaTissue Ventas
Contacto AquaTissue Ventas
 
Actualización Taller Básico de Facebook para empresas y emprendedores
Actualización Taller Básico de Facebook para empresas y emprendedoresActualización Taller Básico de Facebook para empresas y emprendedores
Actualización Taller Básico de Facebook para empresas y emprendedores
 
Steering with Expected Loss
Steering with Expected LossSteering with Expected Loss
Steering with Expected Loss
 
The Future of IT Infrastructure is Hybrid and on Demand
The Future of IT Infrastructure is Hybrid and on DemandThe Future of IT Infrastructure is Hybrid and on Demand
The Future of IT Infrastructure is Hybrid and on Demand
 
La vaca purpura
La vaca purpuraLa vaca purpura
La vaca purpura
 

Similar a Desarrollo de sistemas de información

metodologías para el análisis y diseño de sistemas
metodologías para el análisis y  diseño de sistemas  metodologías para el análisis y  diseño de sistemas
metodologías para el análisis y diseño de sistemas BrainQC
 
Presentacion batey
Presentacion bateyPresentacion batey
Presentacion bateycolocha1996
 
Caracteisticas de un analista
Caracteisticas de un analistaCaracteisticas de un analista
Caracteisticas de un analistaFSILSCA
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteCAMILO
 
Ciclo de vida de los sistemas
Ciclo de vida de los sistemasCiclo de vida de los sistemas
Ciclo de vida de los sistemasGustavo Oseche
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetosMariana Rodríguez
 
Cuestionario (primer parcial)
Cuestionario (primer parcial)Cuestionario (primer parcial)
Cuestionario (primer parcial)RONNYSOSSAOCHOA
 
RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntas
 RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntas RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntas
RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntasGAVIOTAZAVALLOS
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de softwareITSPR
 
Análisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradoAnálisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradojr_palaciosg
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareturlahackers
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Hendrick Rodriguez
 
Analisis y diseños de sistemas
Analisis y diseños de sistemasAnalisis y diseños de sistemas
Analisis y diseños de sistemasangel20155
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareArafiguero2017
 

Similar a Desarrollo de sistemas de información (20)

metodologías para el análisis y diseño de sistemas
metodologías para el análisis y  diseño de sistemas  metodologías para el análisis y  diseño de sistemas
metodologías para el análisis y diseño de sistemas
 
Presentacion batey
Presentacion bateyPresentacion batey
Presentacion batey
 
UML
UMLUML
UML
 
Caracteisticas de un analista
Caracteisticas de un analistaCaracteisticas de un analista
Caracteisticas de un analista
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Trabajo de resumen de kendal
Trabajo de resumen de kendalTrabajo de resumen de kendal
Trabajo de resumen de kendal
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de Coste
 
Ciclo de vida de los sistemas
Ciclo de vida de los sistemasCiclo de vida de los sistemas
Ciclo de vida de los sistemas
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetos
 
Cuestionario (primer parcial)
Cuestionario (primer parcial)Cuestionario (primer parcial)
Cuestionario (primer parcial)
 
Cuestionario (primer parcial)
Cuestionario (primer parcial)Cuestionario (primer parcial)
Cuestionario (primer parcial)
 
Juan velasquez
Juan velasquezJuan velasquez
Juan velasquez
 
RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntas
 RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntas RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntas
RESUMEN DEL LIBRO KENDALL && KENDALL CAPITULO 1,2 Y 3.y las preguntas
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
 
Análisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradoAnálisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructurado
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de software
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )
 
Analisis y diseños de sistemas
Analisis y diseños de sistemasAnalisis y diseños de sistemas
Analisis y diseños de sistemas
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de software
 

Más de Eder Martin Shapiama (19)

sepsis neonatal.pptx
sepsis neonatal.pptxsepsis neonatal.pptx
sepsis neonatal.pptx
 
LA INVESTIGACIÓN CIENTÍFICA.pdf
 LA INVESTIGACIÓN CIENTÍFICA.pdf LA INVESTIGACIÓN CIENTÍFICA.pdf
LA INVESTIGACIÓN CIENTÍFICA.pdf
 
Vbasic6.0
Vbasic6.0Vbasic6.0
Vbasic6.0
 
VISUAL BASIC 6.0
VISUAL BASIC 6.0VISUAL BASIC 6.0
VISUAL BASIC 6.0
 
uml
umluml
uml
 
INTERNET
INTERNETINTERNET
INTERNET
 
EL COMPUTADOR Y SUS COMPONENTES
EL COMPUTADOR Y SUS COMPONENTESEL COMPUTADOR Y SUS COMPONENTES
EL COMPUTADOR Y SUS COMPONENTES
 
Procedimiento de mantenimiento
Procedimiento de mantenimientoProcedimiento de mantenimiento
Procedimiento de mantenimiento
 
scaner
 scaner scaner
scaner
 
monitores
 monitores monitores
monitores
 
Teclado mause
Teclado mauseTeclado mause
Teclado mause
 
sistema electrico,ups
sistema electrico,upssistema electrico,ups
sistema electrico,ups
 
Disco duro
Disco duroDisco duro
Disco duro
 
Ttarjeta sonido
Ttarjeta sonidoTtarjeta sonido
Ttarjeta sonido
 
Placa madre
Placa madrePlaca madre
Placa madre
 
Fuente de poder
Fuente de poderFuente de poder
Fuente de poder
 
Plan contingencia
Plan contingenciaPlan contingencia
Plan contingencia
 
seguridad informática
 seguridad informática seguridad informática
seguridad informática
 
Mantenimiento del software
Mantenimiento del softwareMantenimiento del software
Mantenimiento del software
 

Último

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 

Último (20)

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 

Desarrollo de sistemas de información

  • 1. Ing. Carlos Avalos Ruiz 1 Tema Nro.1: Desarrollo de sistemas de información “Una guía para la automatización de las funciones de la organización para la obtención de ventajas competitivas”
  • 2. Ing. Carlos Avalos Ruiz 2 Introducción • El desarrollo de los sistemas de información se basan en ciclo de vida del desarrollo del software. • La disciplina encargada de proveer los medios necesarios para la construcción de una software es la ingeniería de software. • Por ende el desarrollo de los sistemas de información están basado en procesos de desarrollo de software que la ingeniería de software propone. • Para ello existen dos enfoques paradigmáticos: estructurado y orientado a objetos.
  • 3. Ing. Carlos Avalos Ruiz 3 La Ingeniería de Software (IS) • La IS es una disciplina que integra métodos, herramientas y procedimientos para el desarrollo del software de computadoras. • Se han propuesto varios paradigmas, entre ellos podemos mencionar: estructurado,orientado a objetos ,sala limpia, cliente/servidor, reutilización del software, reingeniería del software, software asistido por computa- doras, etc. • El software se ha convertido en el elemento clave de la evolución de los sistemas y productos informáticos.
  • 4. Ing. Carlos Avalos Ruiz 4 Paradigma Orientado a Objetos • Con frecuencia se alude a la Orientación a Objetos como un nuevo paradigma (Paradigma de Objetos) y al término Orientado a Objeto ( OO ) como la aplicación de este paradigma al mundo de la computación. • El paradigma para los programadores, es la manera como se maneja la complejidad. • Desde este punto de vista el paradigma es el modelo o la estructura dentro del software solución de un problema.
  • 5. Ing. Carlos Avalos Ruiz 5 • Superficialmente OO significa la organización del software como una colección 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 interés, y busca las abstracciones claves y las relaciones entre esas abstracciones claves.
  • 6. Ing. Carlos Avalos Ruiz 6 • La Orientación a Objetos se aplica a otros disciplinas dentro del mundo de la computación, tal como se aprecia en la siguiente ilustración :
  • 7. Ing. Carlos Avalos Ruiz 7 En resumen la Orientación a Objetos: Orientado a objetos abstracción de la realidad Conceptos Objetos Clases Estructuras - jerárquicas Métodos/ope- raciones/servicios Abstracción Encapsulamiento Herencia Polimorfismo Mensaje Identidad Asociación en función y que mediante permite manejar la complejidad
  • 8. Ing. Carlos Avalos Ruiz 8 Tecnología Orientada a Objetos • La Tecnología de Objetos (TO), una de las más recientes técnicas de desarrollo de sistemas y se basa en la OO; cuenta con cuatro bases fundamentales : – Análisis Orientado a Objetos (AOO). – Diseño Orientado a Objetos (DOO). – Programación Orientada a Objetos (POO). – Base de Datos Orientado a Objetos (BDOO).
  • 9. Ing. Carlos Avalos Ruiz 9 Tecnología orientada a objetos Nuevos métodos de programación. Nuevos métodos de análisis Nuevos métodos de diseño Reutilizar el código Mas calidad Mas productividad Menos costo Situación Actual en la TOO
  • 10. Ing. Carlos Avalos Ruiz 10 Desarrollo de la Tecnología Orientada a Objetos • Con el universo de métodos, se ha formado un cos- mo dinámico con el mundo de objeto en el que un método evoluciona en una estrella nítida u otra cesa para ser destacado y llega a ser un gigante rojo antes de desaparecer enteramente. • De aquí en adelante, una organización debería prime ra comprender completamente qué significa para pen sar desde el punto de vista de objetos.
  • 11. Ing. Carlos Avalos Ruiz 11 Método, Metodología y Proceso en el desarrollo de software • Un método es la aplicación particular de una método logia de desarrollo de software pero que no abarca el ciclo de vida de desarrollo de software ni cuenta con herramientas tecnológica de soporte. • Una metodología es una marco general basado en un paradigma que sirve de base para el desarrollo de software y que abarca todo el ciclo de vida. • Un proceso de desarrollo de software esta basado en una metodología, abarca todo el ciclo de vida y provee herramientas tecnológica de soporte.
  • 12. Ing. Carlos Avalos Ruiz 12 ¿Problemas en el desarrollo de software? • Retrasos en los plazos • Proyectos cancelados • Rápido deterioro del sistema instalado • Tasa de defectos o fallos • Requisitos mal comprendidos • Cambios frecuentes en el dominio del problema • Muchas de las interesantes características del software no proporcionan beneficios al cliente • Buenos programadores se cansan y dejan el equipo
  • 13. Ing. Carlos Avalos Ruiz 13 El Modelado • El modelado es una tecnica de ingeniería probada y bien aceptada. • El modelado no solo es parte de la industria de la construcción. • Un modelo es una abstracción del sistema, especificando el sistema desde un cierto punto de vista y en un determinado nivel de abstracción. • Un modelo es una simplificacion de la realidad.
  • 14. Ing. Carlos Avalos Ruiz 14 ¿Por qué las empresas no hacen modelado? • La mayor parte de las empresas software no realizan ningún modelado. • El modelado requiere: – aplicar un proceso de desarrollo – formación del equipo en la técnicas – ¿tiempo? • ¿Se obtienen beneficios con el modelado?
  • 15. Ing. Carlos Avalos Ruiz 15 ¿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. Construimos modelos para comprender mejor el sistema que estamos desarrollando.
  • 16. Ing. Carlos Avalos Ruiz 16 Principio de Modelado • La elección 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 están ligados a la realidad. • Un único modelo no es suficiente. • El modelado no es sólo para los grandes sistemas.
  • 17. Ing. Carlos Avalos Ruiz 17 Sistema de Computo Procesos del Negocio Order Item Ship via “El modelado captura la parte escencial de un sistema.” Dr. James Rumbaugh El Modelado Visual es un modelamiento usando notaciones graficas estandares Modelado Visual
  • 18. Ing. Carlos Avalos Ruiz 18 Arquitectura del Software • La visualización, especificación, construcción y documentación de un sistema con gran cantidad de software requiere que el sistema sea visto desde varias perspectivas. • La arquitectura de un sistema es quizás el artefacto mas importante que puede emplearse para manejar estos diferentes puntos de vista y controlar el desarrollo iterativo e incremental.
  • 19. Ing. Carlos Avalos Ruiz 19 • La arquitectura es un conjunto de decisiones significativas sobre: – La organización de un sistema software. – La selección de elementos estructurales y sus interfaces a través de los cuales se constituye el sistema. – Su comportamiento, como se especifica en la colaboraciones entre esos elementos. – La composición de esos elementos estructurales y de comportamiento en subsistemas progresivamente mas grandes. – El estilo arquitectónico que guía esta organización: los elementos.
  • 20. Ing. Carlos Avalos Ruiz 20 • estáticos y dinámicos y sus interfases, sus colaboraciones y su composición. • La arquitectura del software no tiene que ver sola mente con la estructura y el comportamiento, sino también con el uso, la funcionalidad, el rendimiento, la capacidad de adaptación, la reutilización, la capacidad de ser comprendido, las restricciones económicas y de tecnología y los compromisos entre alternativas, así como de los aspectos estáticos.
  • 21. Ing. Carlos Avalos Ruiz 21 Modelado de la arquitectura de un sistema software Vista de Diseño Vista de Implementación Vista de Procesos Vista de Despliegue Vista de casos de uso vocabulario funcionalidad ensamblado gestión conf. topología entrega distribución instalación Funcionamiento escalabilidad rendimiento comportamiento
  • 22. Ing. Carlos Avalos Ruiz 22 • 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 diseño de un sistema comprende las clases, interfaces y colaboraciones que forman el vocabulario del problema y las solución. • La vista de procesos de un sistema comprende los hilos y procesos que forman los mecanismos de sincronización y concurrencia del sistema.
  • 23. Ing. Carlos Avalos Ruiz 23 • La vista de implementación de un sistema compren de los componentes y archivos que se utilizan para ensamblar y hacer disponible el sistema físico. • La vista de despliegue de un sistema contiene los nodos que forman la topología 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.
  • 24. Ing. Carlos Avalos Ruiz 24 Por qué es necesaria la arquitectura • Un sistema software grande y complejo requiere una arquitectura para que los desarrolladores puedan progresa hasta tener una visión común. • Se necesita una arquitectura para: – Comprender el sistema. – Organizar el desarrollo. – Fomentar la reutilización. – Hacer evolucionar el sistema.
  • 25. Ing. Carlos Avalos Ruiz 25 Unified Modeling Language (UML) • UML es un lenguaje estandar para la visualiza cion , especificacion, construccion, y documenta cion de artefactos de un sistema. • UML combina lo mejor de : – Modelamiento conceptual de datos (Diagrama Entidad Relacion) – Modelamiento del flujo de actividades. – Modelamiento de Objetos – Modelamiento de Componentes
  • 26. Ing. Carlos Avalos Ruiz 26 • UML Significa Lenguaje Unificado de Modelado. Un lenguaje de modelado es lenguaje cuyo voca bulario y reglas se centra en la representación conceptual y física de un sis tema. • UML consiste en Reglas de simbología que se aplican a cualquier tipo de modelo hecho bajo este lenguaje. • UML es un Lenguaje estandar para escribir planos o modelos de software.
  • 27. Ing. Carlos Avalos Ruiz 27 • UML tiene una sintaxis y una semántica bien definida. La parte mas visible de UML es su notación gráfica. • 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 límite de un sistema y sus fun ciones importantes.
  • 28. Ing. Carlos Avalos Ruiz 28 – Ilustrar realizaciones de un sistema. – Representar la estructura estática de un siste ma . – Modelar el comportamiento de objetos. – Conocer la arquitectura física de la implemen tación. – 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.
  • 29. Ing. Carlos Avalos Ruiz 29 • UML es sólo un lenguaje y por lo tanto estan sólo una parte de un método 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 información que es utilizada o producida por un proceso de desarro llo de software.
  • 30. Ing. Carlos Avalos Ruiz 30 Antecedentes de UML • Originalmente desarrollado por Rational, Grady Booch y James Rumbaugh. • Posteriormente se tiene la contribución 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.......
  • 31. Ing. Carlos Avalos Ruiz 31 Los tres amigos (y otros) • Ivar Jacobson -- Objectory and use cases. • Jim Rumbaugh -- OMT and UML. • Grady Booch -- Booch Method and UML. • Hewlett-Packard, Texas Instruments, Oracle. • Microsoft -- Repository, visual modeling. • Platinum -- OPEN Modeling Language. • IBM/ObjectTime -- OCL/ROOM.
  • 32. Ing. Carlos Avalos Ruiz 32 Contribuciones Meyer Before and after conditions Harel Statecharts Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Embley Singleton classes and high-level view Wirfs-Brock Responsibilities Odell Classification Shlaer - Mellor Object lifecycles Rumbaugh OMT Booch Booch method Jacobson OOSE
  • 33. Ing. Carlos Avalos Ruiz 33 Historia de UML Booch method OMT Unified Method 0.8OOPSLA ´95 OOSEOther methods UML 0.9Web - June ´96 public feedback Final submission to OMG, Sep ‘97 First submission to OMG, Jan ´97 UML 1.1 OMG Acceptance, Nov 1997 UML 1.3 UML 1.0UML partners
  • 34. Ing. Carlos Avalos Ruiz 34 Donde puede utilizarse UML • UML esta pensado principalmente para sistemas de gran cantidad de software. • UML es apropiado para modelar desde sistemas de información en empresas hasta aplicaciones distribuidas basadas en Web, e incluso para sistemas empotrados de tiempo real muy exigentes. • UML no esta limitado al modelado de software, es lo sufientemente expresivo para modelar sistemas que no son software.
  • 35. Ing. Carlos Avalos Ruiz 35 Classes application partitioning Business Objects Relationships Business Process Objects Use Cases large scale system Scenarios Components Microsoft ActiveX/COM Microsoft ORDBMS Oracle CORBA OMG UML: Soporte para el desarrollo de cualquier tipo de aplicaciones
  • 36. Ing. Carlos Avalos Ruiz 36 Utilidad de UML • Permite especificar todas las decisiones de análisis, diseño e implementación, construyéndose modelos precisos, no ambiguos y completos. • UML puede conectarse a lenguajes de programación: – Ingeniería directa e inversa • Permite documentar todos los artefactos de un proceso de desarrollo (requisitos, arquitectura, pruebas, versiones,..)
  • 37. Ing. Carlos Avalos Ruiz 37 Metamodelo UML • ¿Cómo se expresa la semántica del modelo? – Informalmente – Formalmente • El metamodelo UML define la notación de un modo riguroso, a través de diagramas de la propia notación y con OCL.
  • 38. Ing. Carlos Avalos Ruiz 38 Metamodelo UML: Ejemplo Relación AsociaciónGeneralización Role de asociación 1 2..*ordered
  • 39. Ing. Carlos Avalos Ruiz 39 Modelo Conceptual de UML • Para comprender UML, se necesita adquirir un modelo conceptual del lenguaje, y esto requiere aprender tres elementos principales: – Los bloques de construcción. – Las reglas que dictan como se pueden combinar estos bloques básicos. – Algunos mecanismos comunes que se pueden aplicar.
  • 40. Ing. Carlos Avalos Ruiz 40 UML Elementos Estructural Use case Clases Clases Activas Interfaces Componentes Colaboraciones Nodos Comportamiento Agrupación Anotación Relaciones Diagramas Especificaciones Adornos Divisiones comunes Mecanismos de extensión Interacción Maquina de Estado Paquete Modelo Subsistema Framework Notas Dependencia Asociación Generalización Realización Use case Clases Objetos Secuencia Colaboraciones Estado Actividad Componentes Despliegue Estereotipos Valores etiquetados Restricciones Bloques de Construcción Reglas Nombres Alcance Visibilidad Integridad Mecanismos Comunes
  • 41. Ing. Carlos Avalos Ruiz 41 Elementos del modelo conceptual de UML • Elementos estructurales: modelan partes estáticas y representan cosas conceptuales y materiales, son: Clases, una interfaz, una colaboración, un use case, componentes y nodos. • Elementos de comportamiento: son las partes dinámi cas de los modelos, representan comportamiento en el tiempo y el espacio, son: una interacción y una máquina de estados.
  • 42. Ing. Carlos Avalos Ruiz 42 • Elementos de agrupación: son las partes organizati vas, el elemento de agrupación principal son los pa quetes. • Elementos de anotación: son las partes explícitas, se usan para describir, clarificar o hacer observaciones, esta es una nota
  • 43. Ing. Carlos Avalos Ruiz 43 Elementos Estructurales Ventana origen tamaño abrir() cerrar() mover() dibujar() clase IAvisable <<Interface>> IAvisable Interface ValidarTransacción caso de uso Gestor Eventos suspender() vaciarCola() clase activa Gestión Pedidos colaboración componente Hola Mundo.class Servidor nodo
  • 44. Ing. Carlos Avalos Ruiz 44 Elementos de Comportamiento Interacción Conjunto de mensajes intercambiados entre un conjunto de objetos con un propósito particular. mensaje dibujar Máquina de estados Secuencia de estados por las que pasa un objeto durante su vida en respuesta a eventos. estadoactivado
  • 45. Ing. Carlos Avalos Ruiz 45 Elementos de Agrupamiento Modelo del Negocio Paquete Un paquete incluye un conjunto de elementos de cualquier naturaleza. Tiene una naturaleza conceptual.
  • 46. Ing. Carlos Avalos Ruiz 46 Elementos de Notación Son las partes explicativas de los modelos UML NotaRetorna 0 si no existe el valor
  • 47. Ing. Carlos Avalos Ruiz 47 Relaciones del modelo concpetual de UML Dependencias Asociaciones patrón empleado 0..1 * Generalizaciones Realización
  • 48. Ing. Carlos Avalos Ruiz 48 Diagrama Use Case Diagrama de ColaboracionColaboracion Diagrama de Componentes Diagrama de Despliegue Diagrama de Objetos Diagrama de Estado Diagrama de Secuencia Diagrama de Clases Diagrama de Actividad Un modelo es una descripción completa de un sistema desde una perspectiva particular Modelos Modelos y Diagramas de UML
  • 49. Ing. Carlos Avalos Ruiz 49 atributos operaciones dependencia Empresa generalización Oficina Principal 1 1..** 0..1 clase ** miembro rol 11..* {subgrupo} asociación administrador restricción multiplicidad agregación nombre 1..* sitio Empleado Nombre: María IDEmpleado: 2568 Cargo: Gerente obtenerFoto(f:Foto) obtenerSonido() obtenerContacto() obtenerRegistroEmpleados() Contacto Dirección: Pizarro 254 RegistroEmpleados IdImpuesto Historialempleado sueldo/salario Departamento Nombre: Ventas * Oficina Dirección : Sucre 360 Código: 2358 * Diagrama de Clases • Muestra un conjunto de clases, interfaces y colabora ciones con sus relaciones.
  • 50. Ing. Carlos Avalos Ruiz 50 e: Empresa objeto anónimo valor de atributo enlace objeto d1: Departamento Nombre: “Ventas” d2: Departamento Nombre: “RRHH” d3: Departamento Nombre: “Ventas a Crédito” p: Personal Nombre = “Eddi” IDEmpleado = “4356” Cargo = “Vendedor” : Contacto Dirección:“Pio265” Diagrama de Objetos • Muestra un conjunto de objetos y sus relaciones.
  • 51. Ing. Carlos Avalos Ruiz 51 Red celular Usuario actor Emitiendo llamadas de conferencia Recepcionando llamada adicional Usando horario Recibiendo llamada Emitiendo llamada Relación extendida <<extend>> <<extend>> use-case límites del sistema Telefonía Celularasociación Diagrama de Use Case • Muestra un conjunto de Casos de Uso (Use Case), actores y sus relaciones, presenta una descripción de la conducta de un sistema para un usuario en un punto determinado.
  • 52. Ing. Carlos Avalos Ruiz 52 h : hilo : herramientas p : par a1 : ejecutar(3) ejecutar() <<create>> <<destroy>> pideIdent() rellamada() objeto etiqueta de la secuencia mensaje línea de vida creacion llamada recursión retorno/rspta destrucción enfoque de control interacción Diagrama de Secuencia • Es un diagrama de interacción que resalta el orden tem poral de los mensajes, es decir, muestra el dinamismo de la interacción entre objetos, en función al tiempo.
  • 53. Ing. Carlos Avalos Ruiz 53 Diagrama de Colaboraciones • Es un diagrama de interacción que resalta el orden tem poral de los mensajes, es decir, muestra el dinamismo de la interacción entre objetos, en función al tiempo. c:Cliente :Transacción p:ODBDProxy 1: <<create>> 2: grupoAcciones(a,d,o) 3: <<destroy>> <<global>> 2.1: grupoValores(d,3.4) 2.2: grupoValores(a,”CO”) objeto mensaje enlace <<local>> {transitorio} Diagrama de Colaboración
  • 54. Ing. Carlos Avalos Ruiz 54 estado inicial conectado conectando Trabajando listo(3) [señal OK] Inactivo encender apagar/reconectar() activado/revisar() apagado estado final estado evento acción transición transición interna guardar estado anidado Máquina de Estado Diagrama de Estado • Muestra una máquina de estados, que consta de: esta dos, transiciones, eventos y actividades. Estos diagra mas cubren la vista dinámica del sistema. Son importan tes para modelar el comportamiento de una interfaz, cla se o colaboración.
  • 55. Ing. Carlos Avalos Ruiz 55 estado inicial Seleccionar lugar Comisionar a arquitectos Desarrollar plan Ofertar plan Fin de construcción Trabajar el plan Negociar el plan() :Certificado de ocupación [terminado] ramas de secuencia [no aceptado] [else] flujo de objeto estado de actividad con submáquina estado final bifurcación concurrente unión concurrente estado de la acción Diagrama de Actividades • Es un tipo especial de diagrama de estado que muestra el flujo de actividades dentro de un sistema. Son especialmente impor tantes al mode lar el funcionamiento de un sistema pues resaltan el flujo de control entre objetos.
  • 56. Ing. Carlos Avalos Ruiz 56 hallar.exe índice.html hallar.html accesoBd.dll busca.dll <<hiperenlace>> ejecutable página web librería componente Diagrama de Componentes • Muestra la orga nización y las dependencias entre un conjun to de componen tes. Presentan la vista estática de implementación del sistema.
  • 57. Ing. Carlos Avalos Ruiz 57 <<processor>> servidor primario <<processor>> servidor <<processor>> servidor <<processor>> servidor <<network>> red local <<processor>> servidor de caché <<processor>> servidor de caché nodo conexión internet Modem nodo Diagrama de Despliegue • Muestra la configuración de nodos de procesamiento en tiempo de ejecución y los componentes que residen en ellos.
  • 58. Ing. Carlos Avalos Ruiz 58 Mecanismos comunes del modelo conceptual de UML • Especificaciones – Proporcionan una base semántica para cada elemento – Los diagramas son proyecciones de esa base • Adornos – La notación gráfica básica de cada elemento puede incluir adornos textuales o gráficos para resaltar algunas propiedades de la especificación.
  • 59. Ing. Carlos Avalos Ruiz 59 • Divisiones Comunes – Dicotomía clasificador /instancia Persona nombre dirección teléfono Elena : Persona : Persona Elena • Divisiones Comunes – Dicotomía interfaz / implementación IOrtografía asistente Ortográfico.dll
  • 60. Ing. Carlos Avalos Ruiz 60 Mecanismos de extension del modelo conceptual de UML • Mecanismos de extensibilidad – Estereotipos • Extienden el vocabulario de UML, permitiendo añadir nuevos tipos de bloques de construcción. – Valores etiquetados • Extienden las propiedades de un bloque de construcción, añadiendo nueva información.
  • 61. Ing. Carlos Avalos Ruiz 61 – Restricciones • Extiende la semántica de un bloque, añadiendo reglas o modificando las existentes. Overflow <<Exception>> ColaEventos {version 3.2; autor: jgm} añadir() quitar() vaciar() {ordenado} estereotipo valor etiquetado restricción
  • 62. Ing. Carlos Avalos Ruiz 62 Sistema, modelo, vista, diagrama • Un sistema es aquello que se está desarrollando y para lo que se crean modelos. • Un subsistema es una parte de un sistema. • Un modelo es una abstracción de un sistema que ayuda a comprenderlo. • Una vista es una proyección de la estructura y organización de un modelo del sistema, centrada en algún aspecto. • Un diagrama es una representación de un conjunto de elementos.
  • 63. Ing. Carlos Avalos Ruiz 63 Vistas UML en términos de Elementos Vista de Diseño Vista de Implementación Vista de Procesos Vista de Despliegue Vista de casos de uso clases interfaces colaboraciones componentes nodosclases activas casos de uso
  • 64. Ing. Carlos Avalos Ruiz 64 Vistas UML en términos de Diagramas Vista de Diseño Vista de Implementación Vista de Procesos Vista de Despliegue Vista de casos de uso Diagramas de clase Diagramas de interacción Diagramas de estado Diagramas de componentes Diagrama de interacción Diagramas de estado Diagramas de despliegue Diagrama de interacción Diagramas de estado Diagramas de casos de uso Diagramas de clase Diagramas de interacción Diagramas de estado
  • 65. Ing. Carlos Avalos Ruiz 65 Ejemplo: Hola mundo! import Java.awt.Graphics; class HolaMundo extends java.applet.Applet { public void paint (Graphics g) { g.drawString (“¡Hola, Mundo!”,10,10); } } HolaMundo paint() g.drawString ("Hola, mundo”) Abstracción de clases para hola mundo
  • 66. Ing. Carlos Avalos Ruiz 66 Applet HolaMundo paint () Graphics Object Compone nt Container Panel Applet HolaMun do ImageObserver Clase relacionadas Con Holamundo Jerarquía de la Herencia de Hola mundo
  • 67. Ing. Carlos Avalos Ruiz 67 java lang awt Applet HolaMundo Organización de paquetes de Holamundo
  • 68. Ing. Carlos Avalos Ruiz 68 :Thread :Toolkit target:HolaMundo:ComponentPeer run run handleExpose paint callbackLoop Mecanismo para dibujar de Holamundo
  • 69. Ing. Carlos Avalos Ruiz 69 HolaMundo.class hello.java hello.html Componentes de Holamundo
  • 70. Ing. Carlos Avalos Ruiz 70 Equipo base de desarrollo Pero UML no es suficiente Unified Modeling Language Development process
  • 71. Ing. Carlos Avalos Ruiz 71 Proceso de Desarrollo de Software • Un proceso de desarrollo de software es un conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema software. Proceso de desarrollo de software Requisitos del usuario Sistema software
  • 72. Ing. Carlos Avalos Ruiz 72 Un Proceso Iterativo e Incremental • Un proceso de desarrollo de software debe tener una secuencia de hitos claramente articulados para ser eficaz, que proporcionen a los director y al resto del equipo del proyecto los criterios que necesitan para autorizar el paso de una fase a la siguiente dentro del ciclo del producto. • Un proceso iterativo es aquel que involucra la gestión de un flujo de ejecutables del sistema.
  • 73. Ing. Carlos Avalos Ruiz 73 • Un proceso incremental es aquel que involucra la continua integración 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 versión se encarga de atacar y reducir los riesgos mas significativos para el éxito del proyecto.
  • 74. Ing. Carlos Avalos Ruiz 74 Lo que es una Iteración • Una iteración es un miniproyecto (un recorrido mas o menos completo a lo largo de todos los flujos de trabajo fundamenta) que obtiene como resultado una versión interna. • El resultado de una iteración es un incremento ( un in cremento es la diferencia entre la versión interna de una iteración y la versión interna de la siguiente). • Los modelos evolucionan con las iteraciones ( construyen los modelos incremento por incremento).
  • 75. Ing. Carlos Avalos Ruiz 75 Las Iteraciones sobre el ciclo de vida • Las iteraciones se realizan en cuatro fases. • Cada una de las cuatro fases termina con un hito principal. – Inicio: Objetivos del ciclo de vida. – Elaboración: arquitectura del ciclo de vida. – Construcción: Funcionalidad operativa inicial. – Transición : versión del producto
  • 77. Ing. Carlos Avalos Ruiz 77 ¿Por qué un Desarrollo Iterativo e Incremental? • Para tomar la rienda de los riesgos críticos y significativos desde el principio. • Para poner en marcha una arquitectura que guíe el desarrollo del software. • Para proporcionar un marco de trabajo que gestione de mejor forma los inevitables cambios en los requisitos y en otros aspectos.
  • 78. Ing. Carlos Avalos Ruiz 78 • 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 través del cual el personal pueda trabajar de manera mas eficaz. En resumen: “para obtener un software mejor”
  • 79. Ing. Carlos Avalos Ruiz 79 Fases del Ciclo de vida time Inicio Elaboración Construcción Transición • Inicial: define el alcance del proyecto y el límite del sistema. • Elaboración: Plan del proyecto, características, y la línea base de la arquitectura. • Construcción: Se construye el producto • Transición: entrega del producto al usuario
  • 80. Ing. Carlos Avalos Ruiz 80 Fases e Iteraciones Una fase es el intervalo de tiempo entre dos hitos importantes del proceso. Una iteración es una sucesión de actividades con un plan establecido y criterio de evaluación, mientras se va produciendo las versiones del sistema. Arch Iteration ... Dev Iteration Dev Iteration ... Trans Iteration ... Release Release Release Release Release Release Release Release Prelim Iteration ... Inception Elaboration Construction TransitionElaboration Construction Transition
  • 81. Ing. Carlos Avalos Ruiz 81 Creando el Proceso Unificado Functional testing Performance testing Requirements mgmt Conf. and change mgmt Business engineering Data engineering UI design Rational Unified Process 5.0 1998 Rational Objectory Process 4.1 1996-1997 Objectory Process 1.0-3.8 1987-1995 The Ericsson Approach The Rational Approach UML Unified Process Unified Software Development Process Iconix Unified Process Rationa Unified Process 5.5

Notas del editor

  1. 3 Core Message: Modeling captures essential parts of the system Key Point 1: Computer system basically automate business processes. However, it’s not easy to build software systems on time and within budget. Key Point 2: Building a complex software system requires blueprint. You don’t construct a building without a blueprint. Visual modeling is the blueprint for software systems. Conclusion: VM is a key to successful software development
  2. 9 Core message -- second bullet UML can be used to communicate system and software design throughout the life cycle
  3. 10 Walk the audience through the timeline. Point out that the UML is the natural successor to the notations. 1. Late ‘80s and early ‘90 - there are many (50+) OO methodologies 2. Among the first generation methodologies, Booch and OMT stood out 3. Around 1993, second generation methodologies came out - Booch ‘93 and OMT-II. Methodologist borrowed good concepts from each others so many concepts were the same across the methodologies, but different notations. 4. Oct. 1994 - Dr. James Rumbaugh joined Rational to unify Booch &amp; OMT. 5. At OOPSLA ‘95, Grady and Jim announced Unified Method 0.8. 6. Use Case technique developed by Dr. Ivar Jacobson was adapted by all methodologies by then. 7. Rational acquires Objectory in fall of ‘95 - Dr. Ivar Jaconson joins Rational. 8. Jun of ‘96 - Rational submits UML 0.9 to OMG. 9. UML gains industry support from HP, Microsoft, Oracle + 16 others 10. UML is the defacto standard for OO and component technologies 11. The final submission goes in Sep. ‘97 - expect the announcement in Dec.
  4. 11 Transition: So! Who should use UML? Everybody who is doing software development. Core Message: UML supports object and component-based technology. Key Point 1: UML is an expressive language that can be used to describe pretty much everything about software application. - object technology: objet, class, relationships, scenario, Use Case - component-based development: component, ActiveX/COM, CORBA - large scale system, application partitioning