You are on page 1of 81

Tema Nro.

1: Desarrollo de sistemas de informacin


Una gua para la automatizacin de las funciones de la organizacin para la obtencin de ventajas competitivas
Ing. Carlos Avalos Ruiz 1

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

La Ingeniera de Software (IS)


La IS es una disciplina que integra mtodos, 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, reutilizacin del software, reingeniera del software, software asistido por computa- doras, etc. El software se ha convertido en el elemento clave de la evolucin de los sistemas y productos informticos.

Ing. Carlos Avalos Ruiz

Paradigma Orientado a Objetos


Con frecuencia se alude a la Orientacin a Objetos como un nuevo paradigma (Paradigma de Objetos) y al trmino Orientado a Objeto ( OO ) como la aplicacin de este paradigma al mundo de la computacin. 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 solucin de un problema.
Ing. Carlos Avalos Ruiz 4

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 :

Ing. Carlos Avalos Ruiz

En resumen la Orientacin a Objetos:


abstraccin de la realidad Conceptos Objetos Clases Estructuras jerrquicas Mtodos/operaciones/servicios

Orientado a objetos

en funcin

y que mediante

Ing. Carlos Avalos Ruiz

permite manejar la complejidad

Abstraccin Encapsulamiento Herencia Polimorfismo Mensaje Identidad Asociacin


7

Tecnologa Orientada a Objetos


La Tecnologa de Objetos (TO), una de las ms recientes tcnicas de desarrollo de sistemas y se basa en la OO; cuenta con cuatro bases fundamentales : Anlisis Orientado a Objetos (AOO). Diseo Orientado a Objetos (DOO). Programacin Orientada a Objetos (POO). Base de Datos Orientado a Objetos (BDOO).
Ing. Carlos Avalos Ruiz 8

Situacin Actual en la TOO


Tecnologa orientada a objetos Mas calidad

Reutilizar el cdigo

Mas productividad Menos costo

Nuevos mtodos de programacin.


Ing. Carlos Avalos Ruiz

Nuevos mtodos de anlisis

Nuevos mtodos de diseo


9

Desarrollo de la Tecnologa Orientada a Objetos


Con el universo de mtodos, se ha formado un cosmo dinmico con el mundo de objeto en el que un mtodo evoluciona en una estrella ntida u otra cesa para ser destacado y llega a ser un gigante rojo antes de desaparecer enteramente. De aqu en adelante, una organizacin debera prime ra comprender completamente qu significa para pen sar desde el punto de vista de objetos.
Ing. Carlos Avalos Ruiz 10

Mtodo, Metodologa y Proceso en el desarrollo de software


Un mtodo es la aplicacin particular de una mtodo logia de desarrollo de software pero que no abarca el ciclo de vida de desarrollo de software ni cuenta con herramientas tecnolgica de soporte. Una metodologa 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 metodologa, abarca todo el ciclo de vida y provee herramientas tecnolgica de soporte.
Ing. Carlos Avalos Ruiz 11

Problemas en el desarrollo de software?


Retrasos en los plazos Proyectos cancelados Rpido deterioro del sistema instalado Tasa de defectos o fallos Requisitos mal comprendidos Cambios frecuentes en el dominio del problema Muchas de las interesantes caractersticas del software no proporcionan beneficios al cliente Buenos programadores se cansan y dejan el equipo
Ing. Carlos Avalos Ruiz 12

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 las empresas no hacen modelado?


La mayor parte de las empresas software no realizan ningn modelado. El modelado requiere: aplicar un proceso de desarrollo formacin del equipo en la tcnicas tiempo?

Se obtienen beneficios con el modelado?


Ing. Carlos Avalos Ruiz 14

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 15

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

El modelado captura la parte escencial de un sistema.


Dr. James Rumbaugh

Item

Ship via

Procesos del Negocio

El Modelado Visual es un modelamiento usando notaciones graficas estandares


Ing. Carlos Avalos Ruiz

Sistema de Computo
17

Arquitectura del Software


La visualizacin, especificacin, construccin y documentacin de un sistema con gran cantidad de software requiere que el sistema sea visto desde varias perspectivas. La arquitectura de un sistema es quizs 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 18

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

estticos y dinmicos y sus interfases, sus colaboraciones y su composicin.

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

Modelado de la arquitectura de un sistema software


vocabulario funcionalidad
Vista de Diseo Vista de Implementacin

ensamblado gestin conf.

comportamiento

Vista de casos de uso

Vista de Procesos

Vista de Despliegue

Funcionamiento escalabilidad rendimiento


Ing. Carlos Avalos Ruiz

topologa entrega distribucin instalacin


21

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

Por qu es necesaria la arquitectura


Un sistema software grande y complejo requiere una arquitectura para que los desarrolladores puedan progresa hasta tener una visin comn. Se necesita una arquitectura para:
Comprender el sistema. Organizar el desarrollo. Fomentar la reutilizacin. Hacer evolucionar el sistema.
24

Ing. Carlos Avalos Ruiz

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

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.

Ing. Carlos Avalos Ruiz

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

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.
31

Ing. Carlos Avalos Ruiz

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

Wirfs-Brock Shlaer - Mellor


Object lifecycles

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

UML 1.1 UML 1.0 UML 0.9

OOPSLA 95

Unified Method 0.8

Other methods
Ing. Carlos Avalos Ruiz

Booch method

OMT

OOSE
33

Donde puede utilizarse UML


UML esta pensado principalmente para sistemas de gran cantidad de software. UML es apropiado para modelar desde sistemas de informacin 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 34

UML: Soporte para el desarrollo de cualquier tipo de aplicaciones


Objects Relationships

Business Objects
large scale system

ORDBMS Oracle Classes application partitioning

Components Microsoft

Scenarios CORBA OMG Business Process


35

Use Cases

ActiveX/COM Microsoft

Ing. Carlos Avalos Ruiz

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

Metamodelo UML: Ejemplo


Relacin

Generalizacin

Asociacin
1

ordered

2..*

Role de asociacin
Ing. Carlos Avalos Ruiz 38

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 construccin. Las reglas que dictan como se pueden combinar estos bloques bsicos. Algunos mecanismos comunes que se pueden aplicar.
Ing. Carlos Avalos Ruiz 39

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

Nombres Alcance Visibilidad Integridad

Use case Clases Objetos Secuencia Colaboraciones Estado Actividad Componentes Despliegue

Estereotipos Valores etiquetados Restricciones

Ing. Carlos Avalos Ruiz

40

Elementos del modelo conceptual de UML


Elementos estructurales: modelan partes estticas y representan cosas conceptuales y materiales, son: Clases, una interfaz, una colaboracin, un use case, componentes y nodos. Elementos de comportamiento: son las partes dinmi cas de los modelos, representan comportamiento en el tiempo y el espacio, son: una interaccin y una mquina de estados.
Ing. Carlos Avalos Ruiz 41

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

Ing. Carlos Avalos Ruiz

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

Son las partes explicativas de los modelos UML


Nota

Retorna 0 si no existe el valor

Ing. Carlos Avalos Ruiz

46

Relaciones del modelo concpetual de UML


Dependencias
0..1 *

patrn

empleado

Asociaciones

Generalizaciones Realizacin
Ing. Carlos Avalos Ruiz 47

Modelos y Diagramas de UML


Un modelo es una descripcin completa de un sistema desde una perspectiva particular
Diagrama de Secuencia Diagrama Use Case Diagrama de Clases

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

Oficina Direccin : Sucre 360 Cdigo: 2358

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()

RegistroEmpleados dependencia IdImpuesto Historialempleado sueldo/salario

Ing. Carlos Avalos Ruiz

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

p: Personal Nombre = Eddi IDEmpleado = 4356 Cargo = Vendedor


Ing. Carlos Avalos Ruiz

50

Diagrama de Use Case


Muestra un conjunto de Casos de Uso (Use Case), actores y sus relaciones, presenta una descripcin de la conducta de un sistema para un usuario en un punto determinado.
Emitiendo llamada <<extend>> Emitiendo llamadas de conferencia

Red celular Recibiendo llamada

Relacin extendida <<extend>> Recepcionando llamada adicional

actor

use-case Usando horario Usuario asociacin lmites del sistema Telefona Celular

Ing. Carlos Avalos Ruiz

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

interaccin : herramientas lnea de vida ejecutar() rellamada() creacion p : par

<<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>>

mensaje <<global>> p:ODBDProxy

2.1: grupoValores(d,3.4) 2.2: grupoValores(a,CO)

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]

Ing. Carlos Avalos Ruiz

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>>

accesoBd.dll librera componente

busca.dll

Ing. Carlos Avalos Ruiz

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

<<processor>> servidor de cach

nodo

<<processor>> servidor

<<processor>> servidor

Ing. Carlos Avalos Ruiz

57

Mecanismos comunes del modelo conceptual de UML


Especificaciones
Proporcionan una base semntica para cada elemento Los diagramas son proyecciones de esa base

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

Persona nombre direccin telfono

Elena asistente Elena : Persona Ortogrfico.dll

IOrtografa

: Persona

Ing. Carlos Avalos Ruiz

59

Mecanismos de extension del modelo conceptual de UML


Mecanismos de extensibilidad
Estereotipos
Extienden el vocabulario de UML, permitiendo aadir nuevos tipos de bloques de construccin.

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>>

aadir() quitar() vaciar()

Overflow

{ordenado}

restriccin
Ing. Carlos Avalos Ruiz 61

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 abstraccin de un sistema que ayuda a comprenderlo. Una vista es una proyeccin de la estructura y organizacin de un modelo del sistema, centrada en algn aspecto. Un diagrama es una representacin de un conjunto de elementos.
Ing. Carlos Avalos Ruiz 62

clases interfaces colaboraciones

Vistas UML en trminos de Elementos


componentes
Vista de Diseo Vista de Implementacin

casos de uso

Vista de casos de uso

Vista de Procesos

Vista de Despliegue

clases activas

nodos

Ing. Carlos Avalos Ruiz

63

Vistas UML en trminos de Diagramas Diagramas de componentes Diagramas de clase


Diagramas de interaccin Diagramas de estado Diagrama de interaccin Diagramas de estado
Vista de Implementacin Vista de Diseo

Diagramas de casos de uso

Vista de casos de uso

Vista de Procesos

Vista de Despliegue

Diagramas de clase Diagramas de interaccin Diagramas de estado


Ing. Carlos Avalos Ruiz

Diagramas de despliegue Diagrama de interaccin Diagramas de estado


64

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 g.drawString

("Hola, mundo)
paint()

Abstraccin de clases para hola mundo


Ing. Carlos Avalos Ruiz 65

Clase relacionadas Con Holamundo

Object
ImageObserver Compone nt Container Panel

Applet

HolaMundo paint ()

Graphics

Applet

Jerarqua de la Herencia de Hola mundo

HolaMun do
Ing. Carlos Avalos Ruiz 66

Organizacin de paquetes de Holamundo

java
HolaMundo Applet

awt
lang

Ing. Carlos Avalos Ruiz

67

Mecanismo para dibujar de Holamundo

:Thread
run

:Toolkit
run

:ComponentPeer
callbackLoop

target:HolaMundo

handleExpose

paint

Ing. Carlos Avalos Ruiz

68

Componentes de Holamundo hello.java

HolaMundo.class

hello.html

Ing. Carlos Avalos Ruiz

69

Pero UML no es suficiente

Equipo base de desarrollo

Unified Modeling Language


Ing. Carlos Avalos Ruiz

Development process
70

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.
Requisitos del usuario Sistema software

Proceso de desarrollo de software

Ing. Carlos Avalos Ruiz

71

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 gestin de un flujo de ejecutables del sistema.
Ing. Carlos Avalos Ruiz 72

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.

Ing. Carlos Avalos Ruiz

73

Lo que es una Iteracin


Una iteracin es un miniproyecto (un recorrido mas o menos completo a lo largo de todos los flujos de trabajo fundamenta) que obtiene como resultado una versin interna. El resultado de una iteracin es un incremento ( un in cremento es la diferencia entre la versin interna de una iteracin y la versin interna de la siguiente). Los modelos evolucionan con las iteraciones ( construyen los modelos incremento por incremento).
Ing. Carlos Avalos Ruiz 74

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. Elaboracin: arquitectura del ciclo de vida. Construccin: Funcionalidad operativa inicial. Transicin : versin del producto
75

Ing. Carlos Avalos Ruiz

Ing. Carlos Avalos Ruiz

76

Por qu un Desarrollo Iterativo e Incremental?


Para tomar la rienda de los riesgos crticos y significativos desde el principio. Para poner en marcha una arquitectura que gue 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 77

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

Ing. Carlos Avalos Ruiz

78

Fases del Ciclo de vida


Inicio Elaboracin Construccin Transicin

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

Creando el Proceso Unificado


Unified Process
Rational Unified Process 5.0
1998

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

Rational Objectory Process 4.1


1996-1997

The Rational Approach Objectory Process 1.0-3.8


1987-1995

UML

Ing. Carlos Avalos Ruiz

The Ericsson Approach

81

You might also like