SlideShare ist ein Scribd-Unternehmen logo
1 von 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 : repository
                                                                                                                                                                                                :     gFile                                                                      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   El Modelado en el Desarrollo deRational Rose
                                                       Software
                                                            24
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

Weitere ähnliche Inhalte

Was ist angesagt?

Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
martin
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
Edgardo Rojas
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
claudiachiri
 

Was ist angesagt? (20)

Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Modelado UML de sistema punto venta
Modelado UML de sistema punto ventaModelado UML de sistema punto venta
Modelado UML de sistema punto venta
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Como Documentar Casos De Uso
Como Documentar Casos De UsoComo Documentar Casos De Uso
Como Documentar Casos De Uso
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
 
Estrategias o métodos para el desarrollo de sistemas
Estrategias o métodos para el desarrollo de sistemasEstrategias o métodos para el desarrollo de sistemas
Estrategias o métodos para el desarrollo de sistemas
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos
 

Andere mochten auch

DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
lcastillo110
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 
Calidad del software
Calidad del softwareCalidad del software
Calidad del software
Reivaj Sagarv
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
sergio
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
Juan Restrepo
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
Kleo Jorgee
 
Sílabo taller de modelamiento de software 2016
Sílabo taller de modelamiento de software 2016Sílabo taller de modelamiento de software 2016
Sílabo taller de modelamiento de software 2016
Jorge Pariasca
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
Guillermo Díaz
 
Implementacion de software
Implementacion de softwareImplementacion de software
Implementacion de software
Tom Rodriguez
 

Andere mochten auch (20)

DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de software
 
Modelado, Ingenieria de Software
Modelado, Ingenieria de SoftwareModelado, Ingenieria de Software
Modelado, Ingenieria de Software
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Calidad del software
Calidad del softwareCalidad del software
Calidad del software
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Metodología de la Programación II El modelado del software
Metodología de la Programación II  El modelado del softwareMetodología de la Programación II  El modelado del software
Metodología de la Programación II El modelado del software
 
Capitulo 19 Modelado De DiseñO
Capitulo 19 Modelado De DiseñOCapitulo 19 Modelado De DiseñO
Capitulo 19 Modelado De DiseñO
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Sílabo taller de modelamiento de software 2016
Sílabo taller de modelamiento de software 2016Sílabo taller de modelamiento de software 2016
Sílabo taller de modelamiento de software 2016
 
Top down
Top downTop down
Top down
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Implementacion de software
Implementacion de softwareImplementacion de software
Implementacion de software
 

Ähnlich wie Tm01 el modelado en el desarrollo de software

SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
Cristhian Martinez
 
Kevin guia
Kevin guiaKevin guia
Kevin guia
keninmnk
 
El producto y el proceso
El producto y el procesoEl producto y el proceso
El producto y el proceso
jenmer
 
Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de software
Ingris Argueta
 
01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software
Paola Galindo
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieria
Alexander Cruz
 

Ähnlich wie Tm01 el modelado en el desarrollo de software (20)

Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Omar,luis,daniel
Omar,luis,danielOmar,luis,daniel
Omar,luis,daniel
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
 
Paula guia
Paula guiaPaula guia
Paula guia
 
Kevin guia
Kevin guiaKevin guia
Kevin guia
 
El producto y el proceso
El producto y el procesoEl producto y el proceso
El producto y el proceso
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)
 
Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de software
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
ingenieriadesoftware1
ingenieriadesoftware1ingenieriadesoftware1
ingenieriadesoftware1
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.
 
Tms 01 conceptos
Tms 01 conceptosTms 01 conceptos
Tms 01 conceptos
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieria
 
Curso de Ingeniería de Software - Capítulo 1
Curso de Ingeniería de Software - Capítulo 1Curso de Ingeniería de Software - Capítulo 1
Curso de Ingeniería de Software - Capítulo 1
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 

Mehr von Julio Pari

Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Julio Pari
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
Julio Pari
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
Julio Pari
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
Julio Pari
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
Julio Pari
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
Julio Pari
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
Julio Pari
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
Julio Pari
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
Julio Pari
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
Julio Pari
 

Mehr von Julio Pari (20)

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPC
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSM
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic Enterprise
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor Osorio
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de Arquitectura
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
 
UML Java
UML JavaUML Java
UML Java
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
 

Tm01 el modelado en el desarrollo de software

  • 1. 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ú
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. Los modelos y su importancia Construcción de un rascacielos El Modelado en el Desarrollo de Software 20
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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 : repository : gFile 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 El Modelado en el Desarrollo deRational Rose  Software 24
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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

Hinweis der Redaktion

  1. Veamos ahora cuales son las características genéricas del proceso de desarrollo de software, es decir aquellas características que se encontrarán presentes en cualquiera sea el proceso de desarrollo particular que adoptemos. Más adelante veremos en detalle distintos modelos específicos de procesos de desarrollo. La fase de Definición se ocupa del qué . Es decir, durante la Definición se intenta identificar qué información debe ser procesada, qué funcionalidad se desea, qué interfaces van a ser usadas, qué restricciones de diseño existen. Por lo tanto, se deberán identificar los requerimientos tanto de hardware como de software. Básicamente, durante la fase de Definición tendrán lugar tres actividades: la Ingeniería del Sistema, la captura y análisis de los requerimientos y la planificación del proyecto de software. La fase de Desarrollo se ocupa del cómo . Es decir, acá se debe definir cómo serán las estructuras de datos, cómo será la arquitectura del software, cómo se implementarán los detalles procedimentales, cómo serán las interfaces, cómo traducimos el diseño en código, cómo llevamos a cabo la prueba. Básicamente, tres tareas deberán ocurrir en esta fase: el diseño del software, la generación de código y la prueba del software. La fase de Mantenimiento o Soporte se ocupa de los cambios en el software. En esta fase se podrán llevar a cabo cuatro tipos de mantenimientos diferentes dependiendo del tipo de cambio: Mantenimiento Correctivo: cambiar el software para corregir errores. Mantenimiento Adaptativo: cambiar el software para adaptarlo a su entorno, por ejemplo cambios en la CPU, en el sistema operativo, en las políticas de la empresa, en las características externas del producto, etc.). Mantenimiento Perfectivo: cambiar el software para mejorarlo y obtener nuevos beneficios. Mantenimiento Preventivo: debido al deterioro producido en el software por los sucesivos cambios, se suele llevar a cabo un procesos de Reingeniería para producir un nuevo software con la misma funcionalidad pero de mejor calidad.
  2. Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software).
  3. Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software).
  4. Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software). Obviamente el debe ser el contexto de desarrollo (envergadura del proyecto) el que determine la configuración adecuada del proceso y los recursos necesarios. Existen propuestas radicales que promueven un proceso/modelado más “ligth”, tales como: Extreme Programming (Kent Beck) y Agile Modeling (Scott Ambler). Sin embargo, en muchos proyectos es difícil eludir un proceso y modelado más rigurosos, debido por ejemplo a relaciones contractuales, envergadura del proyecto en tiempo y participantes, etc. Una lectura interesante: Extreme Programming in the Quick-change Era 'Beware of the religion of the code-generating modeling tool.‘by Alexandra Weber Morales About 30 years ago, Barry Boehm theorized that the cost of software change increased exponentially over time; that is, if an error caught in requirements gathering cost $1, an error caught during deployment would cost $1000. "What if," said Robert Martin, a former preacher who now uses his persuasive speaking skills to promote Smalltalk guru Kent Beck's Extreme Programming (XP) methodology, "you took a moment to suspend disbelief and considered that--due to today's technology--the cost of change is essentially flat. When costs don't change over time, up-front speculative work is a liability. Ambiguity and volatility are reasons to delay." In such a world, Martin told a packed room at the UML World conference in New York city on June 14, developers need a process that exploits a flat change/cost curve?and XP is that process. The five-year-old methodology values communication (but not on paper), simplicity, feedback and courage. It's designed for small to medium-sized teams of no more than 12 people who work in a common area, integrate and test their code constantly, pair program on single computers and use whiteboards hung on the periphery to hash out designs. Source code is the preferred archival medium, and cards containing "user stories"(requirements written by customers) and tasks are the "high-density storage mechanism," according to Martin, who runs a training firm called Object Mentor out of Green Oaks, IL. "Where does modeling fit in?“ asked an audience member, reminding Martin that his talk, at this point nearly over, had promised to describe the interaction between the UML and XP. "Paper and pencil or whiteboards are the best CASE tools I know of. In Kent's case, he uses CRC cards, not the UML," said Martin. "But whether it's Booch notation or UML, you do the highest-level map you can, but you don't do all your design up front. Remember, in XP it's not an archival resource, it's a communication device. The only archive I want is the code and a few poignant, incisive documents explaining why I made certain decisions." Does this mean that ever more sophisticated modeling tools have no place in XP? Not exactly, said Martin. "If a code-generating tool works for you, use it. After all, that's what a compiler does. But beware of the religion of modeling tools that spit out executable prototypes. Sometimes getting the code from the tool is more time-consuming than writing it yourself."
  5. Un model o captur a una vista de un sistema del mundo real . Es una abstracción de dicho sistema, considerando un cierto propósito. Así, el modelo describe completamente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle . Diagram a : una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos 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