Está en la página 1de 29

Técnicas de Modelamiento

Sesión 1
El Modelado en el
Desarrollo de Software

Prof. César Luza Montero


Facultad de Ingeniería de Sistemas e Informática
Universidad Nacional Mayor de San Marcos

Copyright © 2009, Cesar Luza, Lima-Perú


Contenido
 El software y sus aplicaciones
 El proceso de desarrollo de software
 Métodos, técnicas y herramientas
 Los modelos y su importancia
 El modelado de un sistema software

El Modelado en el Desarrollo de Software


2
El software y sus aplicaciones
 Definición de software

Software =
Programas + Datos + Documentación

Líneas de Estructura Manual de usuario,


Código de datos Documentación de
construcción

Desarrollo + Mantenimiento

El Modelado en el Desarrollo de Software


3
El software y sus aplicaciones

Definición de software
Aquellos programas, procedimientos, reglas, y
documentación posible asociadas con la
computación, así como los datos persistentes a la
operación de un sistema de computo.

 Hoy en día, el software ha superado al HW, y se


dice: “El SW marca la diferencia de un Negocio”
 El principal desafío es mejorar la calidad y reducir
los costos (construcción / adaptación, y
mantenimiento ) de las soluciones con software.
El Modelado en el Desarrollo de Software
4
El software y sus aplicaciones

Producto de software
Conjunto de elementos de software (programas,
tablas, reportes, documentación, etc.) que tienen un
propósito específico y completo desde el punto de
vista del usuario, de tal manera que la sustracción de
cualquiera de los elementos del conjunto daría como
resultado que el propósito no se cumpliera.

El Modelado en el Desarrollo de Software


5
El software y sus aplicaciones
Tipos de Productos Software
Productos genéricos (sw de
mostrador)
Desarrollados por una organización 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


genéricos, pero hay más esfuerzo en el desarrollo de los
sistemas hechos a medida.
El Modelado en el Desarrollo de Software
6
El software y sus aplicaciones
Aplicaciones del Software

 Software de Sistemas (de base)


 Software de Tiempo Real
 Software de Negocios o gestión
 Software de Ingeniería y
científico
 Software Empotrado
(Embebido)
 Software de PC´s
 Software de Inteligencia artificial
 Software de Aplicaciones Web.

El Modelado en el Desarrollo de Software


7
El proceso de desarrollo de
software
Desarrollo de software
Crear e Implantar un sistema software, por ejemplo,
software de tipo aplicación que automatice el trabajo
en una organización.

Analista Diseñador Programador

¿Como?
¿Que? Hacerlo

Servicio de Aplicación
Usuario
El Modelado en el Desarrollo de Software
8
El proceso de desarrollo de
software
El Proceso
Marco de trabajo de tareas a realizar para desarrollar
SW de alta calidad.
Ing. Sistemas
Definición
Planificación (QUE)
Análisis de req.
Desarrollo
Diseño (COMO)
G. de Código
Prueba
Mant. Correctivo Soporte
(CAMBIOS)
Mant. Adaptativo
Visión Genérica Mant. Perfectivo
Mant. Preventivo o Reingeniería
del Software
El Modelado en el Desarrollo de Software
9
El proceso de desarrollo de
software: RUP
Concepción Elaboración Construcción Transición

Modelado del Negocio


Requerimientos
Análisis y Diseño
Implementación
Prueba
Implantación

Control de Cambios
Gestión Proyecto
Entorno
Iteraciones IT #1 IT # 2 IT # 3 IT # 4 IT # 5 IT # 6 IT # 7 IT # 8
El Modelado en el Desarrollo de Software
10
Métodos, técnicas y
herramientas
 ¿Que hace un Ingeniero?
 Construir artefactos dentro de unas
limitaciones de coste, utilizando el
conocimiento y las teorías de la ciencia sobre
la cual se basa el artefacto.

El Modelado en el Desarrollo de Software


11
Métodos, técnicas y
herramientas
 Los métodos indican los pasos que debemos
seguir para construir un artefacto, ejemplo
software. Abarcan una gran gama de tareas que
incluyen el análisis de los requisitos, el diseño,
la construcción de programas, pruebas y
mantenimiento.
 Las técnicas indican como debemos construir
el artefacto, es la forma de realizar las
actividades del metodo. Ejemplo: técnicas de
modelado y otras técnicas descriptivas.

El Modelado en el Desarrollo de Software


12
Métodos, técnicas y
herramientas
 Históricamente se han utilizado técnicas
como:
 El modelado
 División del Producto
 División del Proceso

 En principio se deberían utilizar estas


técnicas, también en informática .

El Modelado en el Desarrollo de Software


13
Métodos, técnicas y
herramientas
 El modelado
 Simplificación 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
Métodos, técnicas y
herramientas
 División 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
Métodos, técnicas y
herramientas
 División del Proceso
 Implica dividir el desarrollo del artefacto por
fases. Normalmente se habla de especificación,
diseño y fabricación.

¿Que? ¿Como? Realización Pruebas


El Modelado en el Desarrollo de Software
16
Métodos, técnicas y
herramientas
 Las herramientas proporcionan un enfoque
automático o semi-automático para el proceso y para
los métodos. Cuando se integran herramientas para
que la información creada por una herramienta pueda
ser usada por otra, se establece un sistema de soporte
para el desarrollo del software llamado Ingeniería del
Software asistida por computadora (CASE).

El Modelado en el Desarrollo de Software


17
Los modelos y su importancia
Construcción de una casa para “fido”

Puede hacerlo una sola persona


Requiere:
Modelado mínimo
Proceso simple
Herramientas simples

El Modelado en el Desarrollo de Software


18
Los modelos y su importancia
Construcción de una casa

Construida eficientemente y en un tiempo


razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas
El Modelado en el Desarrollo de Software
19
Los modelos y su importancia
Construcción de un rascacielos

El Modelado en el Desarrollo de Software


20
Los modelos y su importancia
 “Modelar consiste en definir Problemas
del Mundo
un mundo abstracto y teorico Real
Abstracción
tal que las conclusiones que
se puedan sacar de él
coinciden con las
manifestaciones aparentes del
mundo real”. 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

 Un modelo es la interpretación F A C T U R A

explicita de lo que uno 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

entiende de una situación, o


F A C T U R A
F A C T U R A
c o d fe c h a id _ t

IT E M 1 IT E M 1

tan solo de las ideas de uno


IT E M P R O D U C T O
c o d c a n t p ro d c o d d e s c s to c k

P R O D U C T O 1 P R O D U C T O 2

acerca de esa situación.


B a s e D a to s R e d

F A C T U R A P R O D 1

P R O D 2

IT E M 1 IT E M 2

El Modelado en el Desarrollo de Software


21
Modelo
Los modelos y su importancia
 Utilidad de los modelos
 Comprender la realidad,
 Un modelo es una simplificación de 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 permite reducir la complejidad de entender
sistemas complejos en su totalidad
 Comunicar con otros
 Un modelo permite la comunicación 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 compresión

? ? Modelo
? (simplificado)
Sistema Software Los modelos de un sistema
software se expresan visualmente
(complejo) mediante el lenguaje de modelado
UML

El Modelado en el Desarrollo de Software


23
El modelado de un sistema
software
 Arquitectura/Ingeniería de  Ingeniería Software
Estructuras  Modelos UML del Sistema
 Vistas Edificio Software
 Vista 3D  Modelo de Casos de uso
 Alzado/Planta Perfil  Modelo Estructural
 Estructura del edificio  Modelo de Comportamiento
 Instalación Eléctrica  Modelo de Implementación
 Instalación Aire Acc.  Modelo de Despliegue

DocumentList
FileMgr Document
DocumentList

...
fetchDoc( )
add( )
delete( ) name : int
docid : int
mainWnd
fileMgr document
: gFile
: repository Repository
FileMgrDocument

sortByName( ) numField : int user
get( ) read() fill the
open( )
close( ) code.. ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ 1: Doc view request ( )
FileList read( )
FileManager
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
sortFileList( )
fList create( ) 2: fetchDoc( )
fillDocument( )
add( )
delete( ) 3: create ( )
1
4: create ( )
Document
5: readDoc ( )

rep È-ÀÏ°ü¸®ÀÚ´Â ÀÐ¾î ¿Â


¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼- 6: fillDocument ( )
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

Repository File
GraphicFile
7: readFile ( )

(from Persistence) read( ) GrpFile

File FileList
8: fillFile ( )
name : char * = 0
readDoc( ) read( ) È-¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( )
open( ) °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
readFile( ) create( ) Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡
º¸¿©ÁØ´Ù.
fillFile( )

Diagramas Diagramas
 Herramientas Modelado (ej) Herramientas Modelado (ej)

Autocad Rational
El Modelado en el Desarrollo de 24 Rose
Software
El modelado de un sistema
software
 Modelo Visual: son modelos que presentan
gráficamente alguna vista del sistema.
 Se crean mediante:
 Lápiz 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
interés
 El código fuente del sistema es el modelo más
detallado del sistema (y además 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 técnicos
 Para exploración conceptual del problema
 Modelos de niveles medios
 Especificación de Capacidades esenciales del sistema
 Históricamente: ERs, DFDs, ,
 Recientemente: Escenarios, Patrones de Diseño, 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
construcción de unidades reusables siguiendo
los principios de :
 Abstracción
 Encapsulación
 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

También podría gustarte