Está en la página 1de 34

Tcnicas de Modelamiento

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 2013, Cesar Luza, Lima-Per

Auto diagnostico
De manera individual defina los siguientes

conceptos:
Sistema
Software
Ingeniera
Mtodo
Tcnica
Herramienta
Modelo
En equipos de 4 integrantes discutan sus definiciones, lleguen a
un consenso y expongan.

El Modelado en el Desarrollo de Software

Objetivos de aprendizaje
Al final de la sesin, el alumno:
Explica la diferencia entre producto software y proceso
software
Describe las fases genricas del proceso software y
los elementos asociados (mtodo, tcnica y
herramienta).
Ejemplifica los tipos de modelos en la construccin de
software.

El Modelado en el Desarrollo de Software

Contenido
Producto software y proceso software

Mtodos, tcnicas y herramientas


Los modelos en la construccin ed software

El Modelado en el Desarrollo de Software

Producto software y Proceso


software
Definicin de software
Software =

Programas

Lneas de
Cdigo

Datos

+ Documentacin

Estructura de
datos

El Modelado en el Desarrollo de Software

Manual de usuario,
Documentacin de
construccin

Producto software y Proceso


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

El Modelado en el Desarrollo de Software

Producto software y Proceso


software
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

Producto software y Proceso


software
Proceso de software
Para 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

Producto software y Proceso


software
Fases genricas del Proceso Software
.
Ingeniera de
Sistemas

Planificacin

Definicin
(QUE)

Requerimientos
Diseo
Construccin

Desarrollo
(COMO)

Prueba
Entrega

El Modelado en el Desarrollo de Software

Producto software y Proceso


software
Actividades Genricas
Especificacin

Requerimientos

Anlisis

Diseo

Implementacin

Construccin

Pruebas
unitarias

Pruebas de
integracin

Validacin

Pruebas
funcionales

Pruebas del
sistema

Pruebas de
usuario

Evolucin

Gestin del
cambio

Producto software y Proceso


software
Actividades Genricas
Una actividad es una unidad o un paso bsico dentro de

un proceso de desarrollo de software.


Las actividades genricas dentro de todos los procesos de

desarrollo son:

Especificacin: Lo que el sistema debe hacer y las


restricciones de desarrollo.
Implementacin: Produccin del sistema de software.
Validacin: Examinar si el software realiza lo requerido por el
usuario.
Evolucin: Modificar el software en respuesta a las
demandas de cambio.

Producto software y Proceso


software : RUP
Concepcin

Elaboracin

Construccin

Transicin

Modelado del Negocio


Requerimientos
Anlisis y Diseo
Implementacin

Prueba
Implantacin

Control de Cambios
Gestin Proyecto
Entorno
Iteraciones
IT #1 en
IT el
# 2Desarrollo
IT # 3 de
IT Software
# 4 IT # 5
El Modelado

IT # 6

IT # 7

IT # 8 12

Contenido
Producto software y proceso software

Mtodos, tcnicas y herramientas


Los modelos en la construccin ed software

El Modelado en el Desarrollo de Software

13

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

14

Mtodos, tcnicas y
herramientas
Mtodos

Indican los pasos que debemos seguir para construir un


artefacto.
En software: abarcan una gran gama de tareas que
incluyen el anlisis de los requisitos, el diseo, la
construccin de programas, pruebas y mantenimiento.

El Modelado en el Desarrollo de Software

15

Mtodos, tcnicas y
herramientas
Tcnicas
Indican como debemos construir el artefacto,
Es la forma de realizar las actividades del
mtodo.
Ejemplo: tcnicas de modelado y otras tcnicas
descriptivas.

El Modelado en el Desarrollo de Software

16

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

17

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

18

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

19

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
20

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

21

Contenido
Producto software y proceso software

Mtodos, tcnicas y herramientas


Los modelos en la construccin de software

El Modelado en el Desarrollo de Software

22

Los modelos en la construcin


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

23

Los modelos en la construcin


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

24

Los modelos en la construcin


de software
Construccin de un rascacielos

El Modelado en el Desarrollo de Software

25

Los modelos en la construcin


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

Modelo Entidad-Relacin
ITEM_FACTURA

PRODUCTO

FACTURA

Base Datos Jerarquica

Base Datos Relacional


FACTURA

FACTURA

cod fecha id_t

ITEM 1

ITEM 1

PRODUCTO 1

PRODUCTO 2

ITEM
cod cant

prod

PRODUCTO
cod desc stock

Base Datos Red

El Modelado en el Desarrollo de Software

FACTURA

PROD1

PROD2

ITEM1

ITEM2

Modelo

26

Los modelos en la construcin


de software
El trmino "modelo" se deriva de la
palabra latina modulus,
que significa medida, norma, patrn,
ejemplo a seguir.
Ejemplos:
Un tren de juguete o una mueca,
mapas, planos arquitectnicos de un
edificio

Ejemplos en ingeniera de software


Modelos de procesos, Patrones de
diseo, Diagrama de clases
Planes de proyectos, especificaciones
y diseos, mtricas,.
El Modelado en el Desarrollo de Software

27

Los modelos en la construcin


de software
Clasificacin
Modelos
Descriptivos

Modelos
Prescriptivos

Modelos
Transitorios

Refleja la
existencia de
un objeto
original,

Representa la
especificacin
de algo a ser
construido,

Al inicio es
descriptivo.
Luego es
prescriptivo.

Por ejemplo:
una fotografa.

Por ejemplo: un
plan de
construccin

Ejemplo: boceto
de una casa vieja
para luego
dibujar algunas
modificaciones,

En la construccin de software que


tipo de modelo se utilizan?

28

Los modelos en la construcin


de software
Utilidad de los modelos (Pragmatismo)
Comprensin de la
realidad

Un modelo es una simplificacin de la realidad:,


existe un objeto o fenmeno que es mapeado al
modelo. (Mapeo)

Comprensin del
sistema

Un modelo permite comprender mejor el sistema


que estamos desarrollando: sus elementos y sus
relaciones

Reducin de la
complejidad

Un modelo permite reducir la complejidad de


entender sistemas complejos en su totalidad
(Reduccin)

Comunicacin con
otros

Un modelo permite la comunicacin entre los


desarrolladores y los clientes.

El Modelado en el Desarrollo de Software

29

Los modelos en la construcin


de 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

30

Los modelos en la construcin


de software
Arquitectura/Ingeniera de

Modelos UML del Sistema


Software

Estructuras

Ingeniera Software

Vistas Edificio

DocumentList

FileMgr

Document
add( )
delete( )

fetchDoc( )
sortByName( )

Modelo de Casos de uso


Modelo Estructural
Modelo de Comportamiento
Modelo de Implementacin
Modelo de Despliegue

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

name : int
docid : int
numField

: int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )

FileList
fList
add( )
delete( )

user

read() fill the


code..

.

Document
Repository

mainWnd
fileMgr document
:
gFile
: repository
FileMgrDocument

DocumentList

1: Doc view request ( )

FileManager

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

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

File
read( )

6: fillDocument ( )

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

7: readFile ( )

8: fillFile ( )

9: sortByName ( )

GraphicFile
File

FileList

Diagramas

Diagramas
Herramientas Modelado
Autocad

Herramientas Modelado
Rational Rose

El Modelado en el Desarrollo de Software

31

Los modelos en la construcin de


software
Anlisis del Sistema
Modelos
conceptuales

Requerimientos del software

Diseo

Modelos de
Diseo

Construccin

Prueba y entrega
El Modelado en el Desarrollo de Software

Modelos de
implementacin

32

Los modelos en la construcin de


software
De alto nivel, usados en etapas tempranas
Destinado a Stakeholders no tcnicos
Para exploracin conceptual del problema

Modelos
conceptuales

Modelos de diseo

Modelos de
implementacin

De niveles medios
Especifican capacidades esenciales del sistema
Histricamente: MERs, DFDs
Recientemente: Escenarios, Patrones de Diseo,

De nivel detallados
Especificas aspectos fsicos o de implementacin
Depende de las caractersticas de la mquina
El Modelado en el Desarrollo de Software

33

Autoevaluacin
Qu es producto software? Cmo se clasifican?

Cules son sus aplicaciones?


Qu es proceso de software?
Qu es mtodo?, Qu es tcnica? Qu es
herramienta?
Qu es un modelo?Por qu son importantes en el
proceso software?
Cmo se puede clasificar los modelos en el proceso
software?

El Modelado en el Desarrollo de Software

34

También podría gustarte