Você está na página 1de 29

Tcnicas de Modelamiento

Sesin 1

El Modelado en el
Desarrollo de Software
Prof. Csar Luza Montero
Facultad de Ingeniera de Sistemas e Informtica
Universidad Nacional Mayor de San Marcos

Copyright 2009, Cesar Luza, Lima-Per

Contenido
El software y sus aplicaciones
El proceso de desarrollo de software
Mtodos, tcnicas y herramientas
Los modelos y su importancia
El modelado de un sistema software

El Modelado en el Desarrollo de
Software

El software y sus aplicaciones


Definicin de software
Software =
Programas + Datos +
Documentacin
Lneas de
Cdigo

Estructur
a de
datos

Manual de
usuario,
Documentacin
de construccin

Desarrollo + Mantenimiento
El Modelado en el Desarrollo de
Software

El software y sus aplicaciones


Definicin de software
Aquellos programas, procedimientos, reglas, y
documentacin posible asociadas con la
computacin, as como los datos persistentes
a la operacin de un sistema de computo.
Hoy en da, el software ha superado al HW, y se

dice: El SW marca la diferencia de un Negocio


El principal desafo es mejorar la calidad y
reducir los costos (construccin / adaptacin, y
mantenimiento ) de las soluciones con software.
El Modelado en el Desarrollo de
Software

El software y sus aplicaciones


Producto de software

Conjunto de elementos de software


(programas, tablas, reportes, documentacin,
etc.) que tienen un propsito especfico y
completo desde el punto de vista del usuario,
de tal manera que la sustraccin de cualquiera
de los elementos del conjunto dara como
resultado que el propsito no se cumpliera.

El Modelado en el Desarrollo de
Software

El software y sus aplicaciones


Tipos de Productos Software
Productos genricos (sw de
mostrador)

Desarrollados por una organizacin para ser


vendidos al mercado.

Productos hechos a medida


Desarrollados bajo pedido a una
empresa desarrolladora de software.

La mayor parte del gasto del software es en productos


genricos, pero hay ms esfuerzo en el desarrollo de los
sistemas hechos a medida.
El Modelado en el Desarrollo de
Software

El software y sus aplicaciones


Aplicaciones del Software

Software de Sistemas (de base)


Software de Tiempo Real
Software de Negocios o gestin
Software de Ingeniera y
cientfico
Software Empotrado
(Embebido)
Software de PCs
Software de Inteligencia artificial
Software de Aplicaciones Web.
El Modelado en el Desarrollo de
Software

El proceso de desarrollo de
software
Desarrollo de software
Crear e Implantar un sistema software, por ejemplo,
software de tipo aplicacin que automatice el trabajo
en una organizacin.

Analista

Que?

Usuario

Diseador

Programador

Como?

Hacerlo

Servicio de Aplicacin

El Modelado en el Desarrollo de
Software

El proceso de desarrollo de
software
El Proceso
Marco de trabajo de tareas a realizar para desarrollar
SW de alta calidad.
Ing. Sistemas
Planificacin

Definicin
(QUE)

Anlisis de req.
Diseo
G. de Cdigo
Prueba

Desarrollo
(COMO)

Mant. Correctivo
Mant. Adaptativo

Visin Genrica

Soporte
(CAMBIOS)

Mant. Perfectivo
Mant. Preventivo o
Reingeniera del Software

El Modelado en el Desarrollo de
Software

El proceso de desarrollo de
software: RUP
Concepcin

Elaboracin

Construccin

Iteraciones

IT #1

IT # 3 IT # 4

Transicin

Modelado del Negocio


Requerimientos
Anlisis y Diseo
Implementacin
Prueba
Implantacin
Control de Cambios
Gestin Proyecto
Entorno
IT # 2

IT # 5

El Modelado en el Desarrollo de
Software

IT # 6

IT # 7

IT # 8

10

Mtodos, tcnicas y
herramientas
Que hace un Ingeniero?

Construir artefactos dentro de unas


limitaciones de coste, utilizando el
conocimiento y las teoras de la ciencia sobre
la cual se basa el artefacto.

El Modelado en el Desarrollo de
Software

11

Mtodos, tcnicas y
herramientas
Los mtodos indican los pasos que debemos

seguir para construir un artefacto, ejemplo


software. Abarcan una gran gama de tareas que
incluyen el anlisis de los requisitos, el diseo,
la construccin de programas, pruebas y
mantenimiento.
Las tcnicas indican como debemos construir
el artefacto, es la forma de realizar las
actividades del metodo. Ejemplo: tcnicas de
modelado y otras tcnicas descriptivas.
El Modelado en el Desarrollo de
Software

12

Mtodos, tcnicas y
herramientas
Histricamente se han utilizado tcnicas

como:
El modelado
Divisin del Producto
Divisin del Proceso

En principio se deberan utilizar estas

tcnicas, tambin en informtica .

El Modelado en el Desarrollo de
Software

13

Mtodos, tcnicas y
herramientas
El modelado

Simplificacin del objeto en el mundo real,


pero que es suficientemente realista como
para dar una idea de lo que ocurrir en la
realidad y usarse como base del desarrollo.

El Modelado en el Desarrollo de
Software

14

Mtodos, tcnicas y
herramientas
Divisin del Producto.

Se fracciona el producto de modo que cada


fragmento lo puede realizar un miembro del
grupo de desarrollo.

El Modelado en el Desarrollo de
Software

15

Mtodos, tcnicas y
herramientas
Divisin del Proceso
Implica dividir el desarrollo del artefacto por
fases. Normalmente se habla de especificacin,
diseo y fabricacin.

Que?

Como?

Realizacin

El Modelado en el Desarrollo de
Software

Pruebas
16

Mtodos, tcnicas y
herramientas
Las herramientas proporcionan un enfoque

automtico o semi-automtico para el proceso y para


los mtodos. Cuando se integran herramientas para
que la informacin creada por una herramienta pueda
ser usada por otra, se establece un sistema de soporte
para el desarrollo del software llamado Ingeniera del
Software asistida por computadora (CASE).

El Modelado en el Desarrollo de
Software

17

Los modelos y su importancia


Construccin de una casa para
fido

Puede hacerlo una sola persona


Requiere:
Modelado mnimo
Proceso simple
Herramientas simples

El Modelado en el Desarrollo de
Software

18

Los modelos y su importancia


Construccin de una casa

Construida eficientemente y en un tiempo


razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas ms sofisticadas
El Modelado en el Desarrollo de
Software

19

Los modelos y su importancia


Construccin de un rascacielos

El Modelado en el Desarrollo de
Software

20

Los modelos y su importancia


Problemas
del Mundo
Real

Modelar consiste en definir

un mundo abstracto y teorico


tal que las conclusiones que
se puedan sacar de l
coinciden con las
manifestaciones aparentes del
mundo real.
Un modelo es la interpretacin
explicita de lo que uno
entiende de una situacin, o
tan solo de las ideas de uno
acerca de esa situacin.

Abstraccin

M o d e lo E n t id a d - R e la c i n
IT E M _ F A C T U R A

P R O D U C T O

F A C T U R A

B a s e D a to s J e r a r q u ic a

B a s e D a t o s R e la c io n a l
F A C T U R A

F A C T U R A

IT E M

c o d

IT E M

fe c h a

1
IT E M
c o d c a n t

P R O D U C T O

P R O D U C T O

id _ t

p ro d

P R O D U C T O
c o d d e s c s to c k

B a s e D a to s R e d
F A C T U R A

P R O D 2

IT E M 1

El Modelado en el Desarrollo de
Software

P R O D 1

IT E M 2

Modelo

21

Los modelos y su importancia


Utilidad de los modelos
Comprender la realidad,

Comprender el sistema

Un modelo permite comprender mejor el sistema que


estamos desarrollando: sus elementos y sus relaciones

Reducir la complejidad

Un modelo es una simplificacin de la realidad

Un modelo permite reducir la complejidad de entender


sistemas complejos en su totalidad

Comunicar con otros

Un modelo permite la comunicacin entre los


desarrolladores y los clientes.
El Modelado en el Desarrollo de
Software

22

El modelado de un sistema
software
Un Modelo es un esquema simplificado que

describe un sistema o realidad desde un


determinado punto de vista que facilita su estudio
y compresin

Modelo
(simplificado)

Sistema Software
(complejo)

Los modelos de un sistema


software se expresan visualmente
mediante el lenguaje de modelado
UML

El Modelado en el Desarrollo de
Software

23

El modelado de un sistema
software
Arquitectura/Ingeniera de

Estructuras

Ingeniera Software

Modelos UML del Sistema


Software

Vistas Edificio

Vista 3D
Alzado/Planta Perfil
Estructura del edificio
Instalacin Elctrica
Instalacin Aire Acc.

DocumentList

FileMgr

...

add( )
delete( )

fetchDoc( )
sortByName( )

FileList
add( )
delete( )

Modelo de Casos de uso


Modelo Estructural
Modelo de Comportamiento
Modelo de Implementacin
Modelo de Despliegue
Document
name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )

fList

user
read() fill the
code..

Repository

mainWnd
fileMgr document
:
gFile
: repository
FileMgrDocument

1: Doc view req uest ( )

DocumentList

FileManager

2: fetchDoc( )
3: create ( )

Document

4: create ( )

5: readDoc ( )

rep
Repository
(from Persistence)
name : char * = 0
readDoc( )
readFile( )

Diagramas

File
read( )

6: fillDocument ( )

7: readFile ( )

GrpFile
read( )
open( )
create( )
fillFile( )

8: fillFile ( )



.

9: sortByName ( )

GraphicFile
File

FileList

Diagramas

Herramientas Modelado (ej)


Herramientas Modelado (ej)
Autocad
Rational Rose
El Modelado en el Desarrollo de
24
Software

El modelado de un sistema
software
Modelo Visual: son modelos que presentan

grficamente alguna vista del sistema.

Se crean mediante:

Lpiz y Papel
Herramienta Software especifica
(por ej: Rational Rose)

CASE : Computer Aided Software Engineering


El Modelado en el Desarrollo de
Software

25

El modelado de un sistema
software
Un proceso de desarrollo de software debe ofrecer

un conjunto de modelos que permitan expresar el


producto desde cada una de las perspectivas de
inters
El cdigo fuente del sistema es el modelo ms

detallado del sistema (y adems es ejecutable). Sin


embargo, se requieren otros modelos ...
Cada modelo es completo desde su punto de vista

del sistema, sin embargo, existen relaciones de


trazabilidad entre los diferentes modelos
El Modelado en el Desarrollo de
Software

26

El modelado de un sistema
software
Modelos de alto nivel en etapas tempranas
Destinado a Stakeholders no tcnicos
Para exploracin conceptual del problema
Modelos de niveles medios

Especificacin de Capacidades esenciales del sistema


Histricamente: ERs, DFDs, ,
Recientemente: Escenarios, Patrones de Diseo, etc.

Modelos de nivel Detallados


Modelos Formales

El Modelado en el Desarrollo de
Software

27

El modelado de un sistema
software
Nota: Paradigma Orientado a Objeto

Desarrollo de un sistema software mediante la


construccin de unidades reusables siguiendo
los principios de :

Abstraccin
Encapsulacin
Herencia
Polimorfismo

El Modelado en el Desarrollo de
Software

28

El modelado de un sistema
software
Nota: Paradigma Basado en Componentes

Desarrollo de un sistema software mediante


en el ensamblado de unidades reusables
siguiendo los principios de:

Componentes
Interfaces
Infraestructura

El Modelado en el Desarrollo de
Software

29

Você também pode gostar