Técnicas de Modelamiento Sesión 1
El Modelado en el Desarrollo de Software
El Modelado en el Desarrollo de Software 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 3
El software y sus aplicaciones
Definición de software
Líneas de Código
Líneas de Código
Software = Programas + Datos +
Documentación
Estructura de
datos
Estructura de
datos
Manual de usuario,
Documentación de construcción
Manual de usuario,
Documentación de construcción
Desarrollo + Mantenimiento
El Modelado en el Desarrollo de Software 4
El software y sus aplicaciones
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.
Definición de softwareAquellos 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.
Definición de softwareAquellos 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.
El Modelado en el Desarrollo de Software 5
El software y sus aplicaciones
Producto de softwareConjunto 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.
Producto de softwareConjunto 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 6
El software y sus aplicaciones
Productos genéricos (sw de mostrador)
Desarrollados por una organización para ser vendidos al mercado.
Productos genéricos (sw de mostrador)
Desarrollados por una organización para ser vendidos al mercado.
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.
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.
Productos hechos a medidaDesarrollados bajo pedido a una
empresa desarrolladora de software.
Productos hechos a medidaDesarrollados bajo pedido a una
empresa desarrolladora de software.
Tipos de Productos Software
El Modelado en el Desarrollo de Software 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.
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 8
El proceso de desarrollo de software
Desarrollo de softwareCrear e Implantar un sistema software, por ejemplo, software de tipo aplicación que automatice el trabajo
en una organización.
¿Que?¿Como? Hacerl
o
Servicio de Aplicación
Analista
Diseñador Programador
Usuario
El Modelado en el Desarrollo de Software 9
El proceso de desarrollo de software
El Proceso Marco de trabajo de tareas a realizar para desarrollar
SW de alta calidad.Ing. Sistemas
Planificación
Análisis de req.
Diseño
G. de Código
Prueba
Definición(QUE)
Desarrollo(COMO)
Soporte(CAMBIOS)
Mant. Correctivo
Mant. Adaptativo
Mant. Perfectivo
Mant. Preventivo o Reingeniería del Software
Visión Genérica
El Modelado en el Desarrollo de Software 10
Concepción
Elaboración
Construcción Transición
Iteraciones IT #1 IT # 2
IT # 3 IT # 4 IT # 5 IT # 6
IT # 7 IT # 8
Requerimientos
Análisis y Diseño
Implementación
Prueba
Implantación
Gestión Proyecto
Modelado del Negocio
Control de Cambios
Entorno
El proceso de desarrollo de software: RUP
El Modelado en el Desarrollo de Software 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 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 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 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 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 16
¿Que?
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.
¿Como?
Realización Pruebas
El Modelado en el Desarrollo de Software 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 18
Los modelos y su importancia
Puede hacerlo una sola personaRequiere:
Modelado mínimoProceso simpleHerramientas simples
Construcción de una casa para “fido”
El Modelado en el Desarrollo de Software 19
Los modelos y su importancia
Construida eficientemente y en un tiempo razonable por un equipoRequiere:
ModeladoProceso bien definidoHerramientas más sofisticadas
Construcción de una casa
El Modelado en el Desarrollo de Software 20
Los modelos y su importancia
Construcción de un rascacielos
El Modelado en el Desarrollo de Software 21
Los modelos y su importancia
“Modelar consiste en definir un mundo abstracto y teorico tal que las conclusiones que se puedan sacar de él coinciden con las manifestaciones aparentes del mundo real”.
Un modelo es la interpretación explicita de lo que uno entiende de una situación, o tan solo de las ideas de uno acerca de esa situación.
Problemas del Mundo Real
Modelo
ITEM_FACTURA
FACTURA
PRODUCTO
FACTURA
ITEM 1
PRODUCTO 1
ITEM 1
PRODUCTO 2
FACTURA
ITEM PRODUCTO
cod fecha id_t
cod desc stockcod cant prod
M odelo Entidad-R elación
Base D atos R elaciona l
Base D atos R ed
Base D atos Jerarqu ica
FACTURA
ITEM1 ITEM2
PROD1
PROD2
Abstracción
El Modelado en el Desarrollo de Software 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 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
Sistema Software(complejo)
Los modelos de un sistema software se expresan visualmente mediante el lenguaje de modelado
UML
?? ? Modelo
(simplificado)
El Modelado en el Desarrollo de Software 24
El modelado de un sistema software
Arquitectura/Ingeniería de Estructuras Vistas Edificio
Vista 3D Alzado/Planta Perfil Estructura del edificio Instalación Eléctrica Instalación Aire Acc.
...
Ingeniería Software Modelos UML del Sistema
Software Modelo de Casos de uso Modelo Estructural Modelo de Comportamiento Modelo de Implementación Modelo de Despliegue
Herramientas Modelado (ej)Autocad
Herramientas Modelado (ej)Rational Rose
GrpFile
read( )open( )create( )fillFile( )
rep
Repository
name : char * = 0
readDoc( )readFile( )
(from Persistence)
FileMgr
fetchDoc( )sortByName( )
DocumentList
add( )delete( )
Document
name : intdocid : intnumField : int
get( )open( )close( )read( )sortFileList( )create( )fillDocument( )
fList
1
FileList
add( )delete( )
1
File
read( )
read() fill the code..
Document
FileManager
GraphicFileFile
Repository DocumentList
FileList
usermainWndfileMgr :
FileMgrrepositorydocument :
DocumentgFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼ ¿¡ ́ ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
È ÀÏ°ü̧ ®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ ÀÌ̧ §º°·Î Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.
Diagramas Diagramas
El Modelado en el Desarrollo de Software 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 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 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 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 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
Recommended