SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
Sesion 7 2 diseño diagramas de despliegue
Sesion 7 2 diseño   diagramas de despliegueSesion 7 2 diseño   diagramas de despliegue
Sesion 7 2 diseño diagramas de despliegueJulio Pari
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareJosé Antonio Sandoval Acosta
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del softwareyeltsintorres18
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de softwaresairarcf
 
Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software KarolXiomaraRojasSor
 
Metodologia web
Metodologia webMetodologia web
Metodologia webAnel Sosa
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoYovana Connie Roca Avila
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura RestIsrael Rey
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 

La actualidad más candente (20)

Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Proyecto Final - Calidad de Software
Proyecto Final - Calidad de SoftwareProyecto Final - Calidad de Software
Proyecto Final - Calidad de Software
 
Sesion 7 2 diseño diagramas de despliegue
Sesion 7 2 diseño   diagramas de despliegueSesion 7 2 diseño   diagramas de despliegue
Sesion 7 2 diseño diagramas de despliegue
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del software
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de software
 
Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software
 
Metodologia web
Metodologia webMetodologia web
Metodologia web
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Presentacion fdd
Presentacion fddPresentacion fdd
Presentacion fdd
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 

Destacado

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 Softwarelcastillo110
 
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 SOFTWAREadark
 
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 softwareReivaj 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 softwaresergio
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwarekellypt1
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones Juan Restrepo
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
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 softwareVideoconferencias UTPL
 
Capitulo 19 Modelado De DiseñO
Capitulo 19 Modelado De DiseñOCapitulo 19 Modelado De DiseñO
Capitulo 19 Modelado De DiseñOMarilyn Jaramillo
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo 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 2016Jorge 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 ClaseGuillermo Díaz
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajasEdith Carreño
 
Implementacion de software
Implementacion de softwareImplementacion de software
Implementacion de softwareTom Rodriguez
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareYenifer Bravo
 

Destacado (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 software
Modelamiento softwareModelamiento software
Modelamiento 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
 
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
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de software
 

Similar a 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 guiakeninmnk
 
El producto y el proceso
El producto y el procesoEl producto y el proceso
El producto y el procesojenmer
 
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)denny osael lopez medina
 
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 softwareIngris Argueta
 
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.usserp584
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanjhonatanalex
 
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_softwarePaola Galindo
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieriaAlexander Cruz
 
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 1Eddie Malca
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software Luis Valeriano
 

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

Más de Julio Pari

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...Julio Pari
 
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 KubernetesJulio Pari
 
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 KubernetesJulio Pari
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCJulio Pari
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMJulio Pari
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic EnterpriseJulio Pari
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioJulio 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 CorderoJulio Pari
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de ArquitecturaJulio Pari
 
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 FISIJulio 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 IIJulio Pari
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasJulio 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 FISIJulio 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 hijaJulio Pari
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialJulio Pari
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialJulio Pari
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bdJulio Pari
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sqlJulio Pari
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuarioJulio Pari
 

Más de 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

Notas del editor

  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