Unidad 3. tecnología de software metodologias de desarrollo de software
1. MAESTRIA EN TECNOLOGIAS DE INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN EN LAS ORGANIZACIONES
MTI. ROSA IMELDA GARCÍA CHI
UNIDAD 3. TECNOLOGÍA DE SOFTWARE
3. MTI. ROSY CHI
REFLEXIÓN SOBRE SU RELACIÓN
LOS SISTEMAS DE INFORMACIÓN
Y LA INGENIERÍA DE SOFTWARE
4. MTI. ROSY CHI
¿Cómo se relacionan los Sistemas de Información y la Ingeniería de Software?
PARA CREAR UN SE REQUIERE UN
ESE PROCESO DE LAS METODOLOGIAS
SISTEMAS PROCESO DE
DESARROLLO SE BASA INVOLUCRAN TECNICAS
INFORMACIÓN, QUE ES DESARROLLO DE
EN UNA METODOLOGIA Y HERRAMIENTAS
UN SOFTWARE SOFTWARE
EN OTRAS PALABRAS
QUE PUEDE SER GENERANDO CON ESTO
PARA GENERAR Y PROBADO CON
MEDIDO CON MÉTRICAS UN PRODUCTO DE
SISTEMAS DE PRUEBAS DE SOFTWARE
DE SOFTWARE SOFTWARE DE CALIDAD
INFORMACION
OBTENIENDO UN
SE APLICA INGENIERÍA PRODUCTO DE
DE SOFTWARE SOFTWARE: EL SISTEMA
DE INFORMACIÓN
5. MTI. ROSY CHI
PROYECTO – PROCESO – PRODUCTO
PROYECTO PRODUCTO
•PRUEBAS
•PROCESO DE
CALIDAD
6. MTI. ROSY CHI
Entonces…
La ingeniería Sistemas de
de software Información
desarrolla
(crea, produce)
7. MTI. ROSY CHI
ENTONCES, LOS SISTEMAS DE
INFORMACIÓN SE DEFINEN DE LA
SIGUIENTE MANERA
Sistemas + Información
8. MTI. ROSY CHI
Concepto
de Sistemas
Concepto de
SISTEMA DE
INFORMACIÓN
Concepto
de
Información
9. MTI. ROSY CHI
Repasemos lo básico…
• “Un conjunto de cosas
que ordenadamente
CONCEPTO relacionadas entre sí
de Sistema contribuyen a un
determinado objetivo”
• [DRAE, 1992]
10. MTI. ROSY CHI
ELEMENTOS DE UN SISTEMA
Los componentes del sistema
Las relaciones entre ellos
La estructura del sistema
El objetivo del sistema
El entorno del sistema
Los límites del sistema
13. MTI. ROSY CHI
DATO/INFORMACIÓN
INFORMACIÓN:
• Conjunto de datos que tienen un
significado
DATO:
•Elemento o Item • Por ejemplo: edad de Juan=18 años,
•Por ejemplo: precio de la blusa=$345.00, promedio
33, Lalo, 93.4, #45, 2013, Diciembre, 9AF3, casa, $1244.78, etc.
de Pedro=9.2, mes del año= Agosto,
etc.
• Ejemplo: Información de un
estudiante: su nombre, edad,
promedio, carrera que cursa, su
numero de control, etc.
14. MTI. ROSY CHI
PROPIEDADES DE LA INFORMACIÓN:
. Relevante
. Precisa
. Completa
. Adecuada
. Oportuna
. Nivel de detalle adecuado
. Comprensible
15. MTI. ROSY CHI
DEFINICIÓN DE SISTEMAS DE INFORMACIÓN (SI)
“Un conjunto formal de procesos que, operando sobre una colección
de datos estructurada según las necesidades de la
empresa, recopilan, elaboran y distribuyen la información (o parte
de ella) necesaria para las operaciones de dicha empresa y para las
actividades de dirección y control correspondientes (decisiones) para
desempeñar su actividad de acuerdo a su estrategia de negocio”
(Andreu et al., 1999)
16. MTI. ROSY CHI
ELEMENTOS DE UN SISTEMA DE INFORMACIÓN
− Los procedimientos y las prácticas habituales de trabajo
− La información
− Las personas o usuarios
− El equipo de soporte
24. EJEMPLO DE UN ORGANIGRAMA DE UN DEPARTAMENTO DE INFORMÁTICA
25. MTI. ROSY CHI
LOS CONCEPTOS DE SISTEMA DE
INFORMACIÓN (SI), SISTEMA DE
INFORMACIÓN AUTOMATIZADO
(SIA) Y SISTEMA INFORMÁTICO
UN SISTEMA DE INFORMACIÓN AUTOMATIZADO Y UN SISTEMA INFORMÁTICO SON UN SOFTWARE
28. MTI. ROSY CHI
PRINCIPALES SUBSISTEMAS DE UN SI
− Subsistema de Recursos Humanos
• La gestión de la información relacionada con la plantilla
• La ejecución de la nómina
− Subsistema de Gestión Comercial
• Las propias ventas
• La función de comercialización
• Sistema de Factuación
− Subsistema de Gestión Contable y Financiera
• Sistema Contable de la empresa
• Sistema de Pago de Impuestos
− Subsistema de Control de Almacén
• Sistema de Control de Inventario
• Sistema de Proveedores
− Otros Subsistemas
• Sistemas de automatización de oficinas
• Sistemas de producción
29. MTI. ROSY CHI
CLASIFICACIÓN DE LOS SI
− Sistema de − Sistemas de − Sistema de − Sistemas de
Información Apoyo a las Información Procesamiento
para la Gestión Decisiones para Ejecutivos de
(MIS) (DSS) (EIS) Transacciones
30. MTI. ROSY CHI
Unidad 2. Metodologías de Desarrollo de Software
Ingeniería de Software
31. Ingeniería de Software:
una tecnología estratificada
• La ingeniería de software es el
establecimiento y uso de principios
robustos de la ingeniería a fin de
obtener económicamente software que
sea fiable y que funcione eficientemente
sobre máquinas reales.
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
32. MTI. ROSY CHI
El IEEE [IEE93] ha desarrollado una definición más completa:
La aplicación de un enfoque
Ingeniería sistemático, disciplinado y
cuantificable hacia el
del desarrollo, operación y
mantenimiento del software;
software: es decir, la aplicación de
ingeniería al software.
33. MTI. ROSY CHI
La ingeniería de
Software es una
tecnología multicapa
cualquier enfoque de
ingeniería de software
debe descansar sobre
un empeño de
organización de
calidad.
34. MTI. ROSY CHI
La ingeniería de software sigue una
tecnología multicapa y estratificada:
Técnicas y
Herramientas
Métodos
Proceso
Un enfoque de Calidad
35. MTI. ROSY CHI
METODOLOGIAS DE DESARROLLO DE SOFTWARE
CONCEPTOS GENERALES
Proceso Metodología Tarea
Herramienta Técnica Procedimiento
Producto o
entregable
36. MTI. ROSY CHI
METODOLOGIAS DE DESARROLLO DE SOFTWARE
CONCEPTOS GENERALES
Producto o
Técnica: Herramienta: entregable:
Tarea: Procedimiento:
Proceso: Metodología:
Colección de tareas Conjunto de Actividades Definición de Herramienta Para realizar Resultado de
de trabajo procedimientos elementales la forma de utilizada para una cada etapa.
interrelacionadas, i técnicas,
niciadas en herramientas y
en que se ejecutar la aplicar un técnica, pode
respuesta a un un soporte dividen los tarea. procedimient mos
evento, que documental que procesos. o. Se pueden apoyarnos en
permiten alcanzar ayuda a los utilizar una o las
un resultado desarrolladores varias. herramientas
específico y a realizar nuevo software que
entregar un software.
producto al cliente automatizan
su aplicación.
37. MTI. ROSY CHI
METODOLOGIAS DE DESARROLLO DE SOFTWARE
CONCEPTOS GENERALES
Proceso: Metodología: Tarea:
Colección de tareas de Conjunto de Actividades
trabajo interrelacionadas, procedimientos técnicas, elementales en que
iniciadas en respuesta a un herramientas y un
evento, que permiten soporte documental que
se dividen los
alcanzar un resultado ayuda a los procesos.
específico y entregar un desarrolladores a
producto al cliente realizar nuevo software.
38. MTI. ROSY CHI
METODOLOGIAS DE DESARROLLO DE SOFTWARE
CONCEPTOS GENERALES
Producto o
Técnica: Herramienta: entregable:
Procedimiento:
Definición de la Herramienta Para realizar una Resultado de cada
forma de ejecutar utilizada para técnica, podemos etapa.
la tarea. aplicar un apoyarnos en las
procedimiento. Se herramientas
pueden utilizar una software que
o varias. automatizan su
aplicación.
39. MTI. ROSY CHI
Ahora definamos:
• Enfoque de calidad
• Proceso
• Métodos
• Técnicas y Herramientas
Ingeniería de Software
41. MTI. ROSY CHI
EXISTEN TRES ENFOQUES DE LA
INGENIERÍA DE SOFTWARE
Ingeniería de Ingeniería de
Ingeniería de
Software Software Orientada
Software Web
Tradicional a Objetos
42. MTI. ROSY CHI
Estos tres enfoques dan soporte a la Ingeniería de Software
Para obtener un producto de software de
calidad, es necesario medirlo.
En la Ingeniería de software existen las métricas
para medir el software y determinar si cumple
con las características de calidad.
Las métricas varían según el Modelo de Calidad
que se utilice.
43. Todo lo que
se mide
Crear un Se controla
Producto de Sw
con calidad
Hemos Si se
cumplido el
objetivo
Calidad de controla
Software
Si se entrega un
producto con Se
características de
calidad verifica
Se puede Si se
corregir o
entregar verifica
44. MTI. ROSY CHI
CADA UNO DE LOS ENFOQUES DE
LA INGENIERÍA DE SOFTWARE SE
BASA EN LA CALIDAD
Por lo que es un modelo de
necesario adoptar calidad
45. MTI. ROSY CHI
Se tienen varios modelos de Calidad de Sw
En cuanto
a la CMM
calidad del NMX-059/01-
software NYCE-2005
TICKIT ISO
9000
46. MTI. ROSY CHI
CMM (Modelo de Capacidad de Madurez)
Nivel 1:
Inicial
El SEI (Software
Nivel 2:
Engineering Insitute) Repetible
• establece cinco Nivel 3:
niveles de madurez Definido
del proceso en el
modelo CMM: Nivel 4:
Gestionado
Nivel 5:
Optimización
49. Nivel 1: • El proceso del software se caracteriza
según el caso, y ocasionalmente de
forma caótica. Se definen pocos procesos
Inicial y el éxito depende del esfuerzo individual
Nivel 2: • Se establecen los procesos de gestión del
proyecto para hacer seguimiento al
coste, de la planificación y de la
Repetible funcionalidad.
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
50. Nivel 3: • El proceso del software de las actividades de gestion y
de ingeniería se documenta se estandariza y se integra
Definido dentro de un proceso de software a toda organización
• Se recopilan medidas detalladas del proceso del
Nivel 4: software y de la calidad del producto mediante la
utilización de medidas detalladas, se comprenden y se
Gestionado controlan cuantitativamente tanto los productos como
el proceso del software
Nivel 5: • mediante un resultado cuantitativo del proceso y de las
ideas tecnologicas innovadoras se posibilita una mejora
Optimización del proceso
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
51. MTI. ROSY CHI
CMM Vs MOPROSOFT
El modelo CMM se adapta bien a productos de
software de gran escala.
¿pero que pasa con los software de pequeña y
mediana escala?
En México el desarrollo de software se orienta a las
Pymes
Por tal razón, adoptar el modelo Mexicano de la
calidad de Software resulta útil
52. MOPROSOFT La Norma Mexicana
Moprosoft (NMX-
059/01-NYCE-2005) es
un modelo de procesos
autorizado y
promovido por el
gobierno
mexicano, que divide
el proyecto en cuatro
fases:
53. MTI. ROSY CHI
Se recomienda adoptar un modelo
de calidad de software que oriente
el proceso de desarrollo del sw
Modelo de Calidad del Software
55. MTI. ROSY CHI
Un proceso software es:
• Un conjunto coherente de políticas,
estructuras organizacionales, tecnologías,
procedimientos y artefactos que son
necesarios para concebir, desarrollar, instalar
y mantener un producto software.
• (Fugetta, 2000)
56. • Unidad 2. Metodologías de Desarrollo de software CHI
MTI. ROSY
Ciclo de vida del
Software
se les conoce como
A los Proceso de la
Ingeniería de Software
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
57. Proceso:
El fundamento de la Ingeniería de
Software
es la capa de proceso
porque es la unión que mantiene juntas
las capas de tecnología y que permite un
desarrollo racional y oportuno de la
ingeniería de software
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
58. El Proceso del Software
• Se establece un marco común del proceso definiendo un
pequeño numero de actividades del marco de trabajo que
son aplicables a todos los proyectos del Software, con
independencia de su tamaño y o complejidad
Marco de trabajo del proceso común
Actividades del marco de trabajo
Conjunto de tareas
Tareas
Hitos, estrategias
Puntos SQA
Actividades de protección
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
59. Modelos de proceso de software
• Para resolver los problemas reales de una industria, un ingeniero en
Sistemas Computacionales o un Ingeniero de software o un equipo
de ingenieros debe incorporar una estrategia de desarrollo que
acompañe al proceso, métodos, capas de herramientas y las faces
genéricas.
Esta estrategia a menudo se llama modelo de proceso o
paradigma de ingeniería de software o ciclo de vida.
• Todo el desarrollo del software se puede caracterizar como un bucle
de resolución de problemas en el que se encuentran cuatro etapas
distintas
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
60. Faces de un bucle de resolución de problemas
Definición de Problemas
Faces de un bucle
de resolución de
problemas (RAC 95) Desarrollo Técnico
Status quo
Integración de soluciones
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
61. Faces de un bucle de resolución de problemas
Status quo: • Representa el estado actual de sucesos
Definición de • Identifica el problema especifico a resolverse
problemas:
Desarrollo • Resuelve el problema a través de la aplicación de
alguna tecnología.
técnico:
Integración de • ofrece los resultados p. Ej.:
documentos, programas, datos, nueva función
soluciones: comercial, producto nuevo.
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
62. Faces dentro de las faces del bucle de resolución de problemas. (RAC95)
Definic
ión de
Proble
mas
Faces de un bucle Desarr
de resolución de ollo
Status quo problemas (RAC 95) Técnic
o
Integr
ación
de
solucio
nes
Definic
ión de
Proble
mas
Faces de un bucle Desarr
de resolución de ollo
Status quo problemas (RAC 95) Técnic
o
Status quo Integr
ación
de
solucio
nes
Definic
ión de
Proble
mas
Faces de un bucle Desarr
de resolución de ollo
Status quo problemas (RAC 95) Técnic
o
Integr
ación
de
solucio
nes
Definición de
Problemas
Faces de un bucle
de resolución de Desarrollo Técnico
Status quo
problemas (RAC 95)
Status quo
Integración de
soluciones
Definición de
Problemas
Faces de un bucle
de resolución de Desarrollo Técnico
Status quo
problemas (RAC 95)
Integración de
soluciones
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
63. Faces dentro de las faces del bucle de resolución de problemas. (RAC95)
Se puede utilizar en
El bucle de el macro nivel
resolución descrito cuando se tiene en
anteriormente se consideración la
aplica al trabajo de aplicación entera; en
ingeniería de un nivel medio
software en muchos cuando se están
niveles diferentes de considerando los
resolución. componentes del
programa.
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
64. MTI. ROSY CHI
Proceso = Modelo = Ciclo de Vida del Sw
• Los Procesos modelo de
de Desarrollo proceso
de Software
paradigma de
ingeniería del
software
67. MTI. ROSY CHI
LOS MODELOS SIGUEN UN PROCESO
PLANEAR/ANALIZAR
EVALUAR DISEÑAR
OPERAR IMPLEMENTAR
68.
69.
70. MTI. ROSY CHI
MODELOS
ENFOQUE TRADICIONAL o
ENFOQUE CLÁSICO o
ENFOQUE ESTRUCTURADO
71. MTI. ROSY CHI
TODOS LOS MODELOS DEL ENFOQUE TRADICIONAL SE BASAN:
MODELO DE
ANÁLISIS
MODELO DE DISEÑO
72. MTI. ROSY CHI
MODELO DE ANALISIS Y MODELO DE DISEÑO DE LA
INGENIERÍA DE SOFTWARE TRADICIONAL
2. Diseño
1. Análisis de
del sistemas
I. Especificación de procesos
sistema
• a. Diagrama de flujo de datos
I. Diseño de datos
II. Diseño
II. Especificación de control arquitectónico
• a. Diagrama de transición de datos
III. Diseño de interfaz
III. Descripción de objetos de
datos
• a. Diagrama entidad-relación IV. Diseño a nivel de
• b. Diccionario de datos componentes
73. MTI. ROSY CHI
MODELO TRADICIONAL
SE CONOCE TAMBIEN
LINEAL
SECUENCIAL
CLASICO
CASCADA
76. MTI. ROSY CHI
MODELO EN CASCADA
• CRITICAS:
No refleja realmente el proceso de desarrollo del
software
Se tarda mucho tiempo en pasar por todo el ciclo
Perpetua el fracaso de la industria del software en su
comunicación con el usuario final
El mantenimiento se realiza en el código fuente
Las revisiones de proyectos de gran complejidad son
muy difíciles
Impone una estructura de gestión de proyectos
78. MTI. ROSY CHI
MODELO DE PROTOTIPO
No modifica el flujo del ciclo de vida
Reduce el riesgo de construir productos que
no satisfagan las necesidades de los usuarios
Reduce costos y aumenta la probabilidad de
éxito
Exige disponer de las herramientas adecuadas
No presenta calidad ni robustez
Una vez identificados todos los requisitos
mediante el prototipo, se construye el
producto de ingeniería.
79. MTI. ROSY CHI
EL PROTOTIPADO PARA QUE SEA EFECTIVO:
Debe ser un sistema con el que se pueda
experimentar
Debe ser comparativamente barato (< 10%)
Debe desarrollarse rápidamente
Enfasis en la interfaz de usuario
Equipo de desarrollo reducido
Herramientas y lenguajes adecuados
“El prototipado es un medio excelente para
recoger el ‘feedback’ (realimentación) del
usuario final”
80. MTI. ROSY CHI
EL PROTOTIPADO EVOLUTIVO
Construcción de una implementación parcial que
cubre los requisitos conocidos, para ir
aprendiendo el resto y, paulatinamente,
incorporarlos al sistema
Reduce el riesgo y aumenta la probabilidad de
éxito
No se conocen niveles apropiados de calidad y
documentación
Problemas de gestión de configuración
Construir software para que pueda ser
modificado fácilmente es un “arte desconocido”
82. MTI. ROSY CHI
MODELO ESPIRAL
PLANIFICACIÓN ANÁLISIS DE RIESGO
EVALUACIÓN DEL CLIENTE INGENIERÍA
83. MTI. ROSY CHI
MODELO EN ESPIRAL
Trata de mejorar los ciclos de vida clásicos y prototipos.
Permite acomodar otros modelos
Incorpora objetivos de calidad y gestión de riesgos
Elimina errores y alternativas no atractivas al comienzo
Permite iteraciones, vuelta atrás y finalizaciones rápidas
Cada ciclo empieza identificando:
Los objetivos de la porción correspondiente
Las alternativas
Restricciones
Cada ciclo se completa con una revisión que incluye todo
el ciclo anterior y el plan para el siguiente
84. MTI. ROSY CHI
MODELO EN ESPIRAL
Diferencias entre modelo en espiral y demás
modelos tradicionales
• Reconocimiento explícito de las diferentes alternativas.
• Identificación de riesgos para cada alternativa desde el
comienzo.
• Al dividir el proyecto en ciclos, al final de cada uno
existe un acuerdo para los cambios que hay que realizar
en el sistema.
• El modelo se adapta a cualquier tipo de actividad
adicional
87. MTI. ROSY CHI
MODELO INCREMENTAL
Se evitan proyectos largos y se entrega “Algo
de valor” a los usuarios con cierta frecuencia
El usuario se involucra más
Difícil de evaluar el coste total
Difícil de aplicar a sistemas transaccionales
que tienden a ser integrados y a operar como
un todo
Requiere gestores experimentados
Los errores en los requisitos se detectan tarde.
El resultado puede ser muy positivo
95. MTI. ROSY CHI
Métodos Formales y Síntesis Automática del Software
• Se define el sistema utilizando un lenguaje formal
• La implementación es automática, asistida por el
ordenador
• La documentación se genera de forma
automática
• El mantenimiento se realiza “por sustitución” no
mediante “parches”
• Dificultad en la participación del usuario
• Diseños poco optimizados
99. Métodos:
Indican como construir técnicamente el
software los métodos abarcan una gran gama de
tareas que incluyen:
• Análisis de requisitos
• Diseño
• Construcción de programas
• Pruebas
• Mantenimiento
Estos dependen de un conjunto de principios
básicos que gobiernan cada área de la
tecnología.
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
100. MTI. ROSY CHI
METODOLOGÍA Vs CICLO DE VIDA
Una metodología puede seguir uno o
varios modelos de ciclo de vida, es decir, el
ciclo de vida indica qué es lo que hay que
obtener a lo largo del desarrollo del
proyecto pero no cómo hacerlo.
La metodología indica cómo hay que
obtener los distintos productos parciales y
finales
101. MTI. ROSY CHI
CARACTERISTICAS DESEABLES DE UNA METODOLOGIA
☺ Existencia de reglas predefinidas
☺ Cobertura total del ciclo de desarrollo
☺ Verificaciones intermedias
☺ Planificación y control
☺ Comunicación efectiva
☺ Utilización sobre un abanico amplio de proyectos
☺ Fácil formación
☺ Herramientas CASE
☺ Actividades que mejoren el proceso de desarrollo
☺ Soporte al mantenimiento
☺ Soporte de la reutilización de software
102. MTI. ROSY CHI
GENERACIONES DE METODOLOGÍA
Desarrollo Convencional (Sin
Metodología)
Desarrollo Estructurado
Desarrollo en Tiempo Real
Desarrollo Orientado a Objetos
Desarrollo Web
Desarrollo Ágil
103. MTI. ROSY CHI
CLASIFICACION DE LAS METODOLOGIAS
Metodologías Estructuradas
• Orientadas a Procesos
• Orientadas a datos
• Jerárquicas
• No Jerárquicas
• Mixtas
Metodologías Orientadas a Objetos
Metodologías de Aplicaciones Web
Metodologías Ágiles
Metodologías para Sistemas de Tiempo Real
104. MTI. ROSY CHI
DESARROLLO CONVENCIONAL
Los resultados finales son impredecibles
No hay forma de controlar lo que está
sucediendo en el Proyecto
Los cambios organizativos afectan
negativamente al proceso de desarrollo
105. MTI. ROSY CHI
En el desarrollo convencional…
• Prácticamente el programador se sienta a
resolver el problema sobre la marcha, no
existe ninguna “metodología”
106. MTI. ROSY CHI
DESARROLLO ESTRUCTURADO
Programación estructurada
Diseño estructurado
Análisis estructurado
Especificaciones funcionales:
Gráficas
Particionadas
Mínimamente redundantes
108. MTI. ROSY CHI
DESARROLLO ORIENTADO AL OBJETO
La esencia del desarrollo
orientado a objetos es la y no tanto de su
identificación y organización representación final en un
de conceptos del dominio de lenguaje de programación.
la aplicación
109. MTI. ROSY CHI
CONSIDERACIONES SOBRE MODELOS OO
Se eliminan fronteras entre fases debido a la
naturaleza iterativa del desarrollo orientado al objeto.
Aparece una nueva forma de concebir los lenguajes de
programación y su uso al incorporarse bibliotecas de
clases y otros componentes reutilizables.
Hay un alto grado de iteración y solapamiento, lo que
lleva a una forma de trabajo muy dinámica.
110. MTI. ROSY CHI
ASPECTOS POSITIVOS DE LAS METODOLOGÍAS OO
Fácil de dividir el
Se fomenta la
Son interactivas e sistema en varios
reutilización de
incrementales. subsistemas
componentes.
independientes.
111. MTI. ROSY CHI
DESARROLLO WEB
En esta metodología se destaca el Diseño De
Contenido el cual incluye
• Diseño Arquitetónico
• Diseño Navegacional
• Diseño de Interfaz
Obteniendo un Producto:
• una aplicación web
112. MTI. ROSY CHI
DESARROLLO ÁGIL
Cada iteración del ciclo de vida incluye: planificación, análisis de
requerimientos, diseño, codificación, revisión y documentación.
Una iteración no debe agregar demasiada funcionalidad para
justificar el lanzamiento del producto al mercado, pero la meta
es tener una «demo» (sin errores) al final de cada iteración.
Al final de cada iteración el equipo vuelve a evaluar las
prioridades del proyecto.
113. MTI. ROSY CHI
Los métodos ágiles enfatizan las comunicaciones
cara a cara en vez de la documentación.
La mayoría de los equipos ágiles están localizados
en una simple oficina abierta, a veces llamadas
"plataformas de lanzamiento" (bullpen en inglés).
La oficina debe incluir revisores, escritores de
documentación y ayuda, diseñadores de iteración
y directores de proyecto.
114. MTI. ROSY CHI
Los métodos ágiles también enfatizan que el software
funcional es la primera medida del progreso.
Combinado con la preferencia por las comunicaciones
cara a cara, generalmente los métodos ágiles son
criticados y tratados como "indisciplinados" por la
falta de documentación técnica.
115. MTI. ROSY CHI
Del ENFOQUE que se elija
para desarrollar el sistema
de información dependerá
la metodología a utilizar
Algunas metodologías
120. MTI. ROSY CHI
METODOLOGIAS EN LA IOO
Metodologías dirigidas por los datos (data-driven)
• OMT (Rumbaugh et al. 1991)
• FUSION (Coleman et al. 1994)
Metodologías dirigidas por las responsabilidades (responsability-driven)
• RDD (Wirfs-Brock et al. 1990)
• OBA (Rubin y Goldberg 1992)
Metodologías dirigidas por los casos de uso (use case-driven)
• OOSE (Jacobson et al. 1992)
Metodologías dirigidas por estados (state-driven)
Metodología de Shlaer y Mellor 1992)
124. MTI. ROSY CHI
Algunos métodos ágiles de desarrollo de software:
Adaptive Software Development (ASD).
Agile Unified Process (AUP).
Crystal Clear.
Essential Unified Process (EssUP).
Feature Driven Development (FDD).
Lean Software Development (LSD).
Kanban.
Open Unified Process (OpenUP).
Programación Extrema (XP).
Método de desarrollo de sistemas dinámicos (DSDM).
Scrum.
G300 (o también llamada del 300%).
125. MTI. ROSY CHI
METODOLOGÍAS
METODOLOGIAS PARA
SISTEMAS DE TIEMPO REAL
126. MTI. ROSY CHI
METODOLOGIAS PARA SISTEMAS DE
TIEMPO REAL
Manejo de interrupciones
Comunicación y sincronización entre tareas
Gestión de procesos concurrentes
Respuesta oportuna ante eventos externos
Datos continuos o discretos
Se está produciendo una evolución de las
metodologías orientadas a objetos para
desarrollos de sistemas de tiempo real
127. MTI. ROSY CHI
METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL
METODOLOGIA MERISE
METODOLOGIA SSADM
METODOLOGIA METRICA
128. MTI. ROSY CHI
METODOLOGIA MERISE
Fases de la Metodología:
• Estudio Preliminar
• Estudio Detallado
• Implementación
• Realización y puesta en marcha
130. MTI. ROSY CHI
METODOLOGIA METRICA
FASE 0: Plan de
Sistemas de
Información
FASE 4:
FASE 1: Análisis de
Implantación de
Sistemas
Sistemas
FASE 3:
FASE 2: Diseño de
Construcción de
Sistemas
Sistemas
132. Herramientas:
• Estas proporcionan un soporte semi-automático
para el proceso y para los métodos.
• Cuando se integran herramientas para que la
información creada por una herramienta la pueda
utilizar otra, se establece un sistema de soporte
para el desarrollo del software llamado ingeniería
de software asistida por computadora (CASE)
combina software, hardware y una base de datos
de ingeniería de software.
ITV-DSyC-INGENIERIA DE SOFTWARE- UNIDAD 2 - ING. ROSA IMELDA GARCIA CHI
133. MTI. ROSY CHI
Herramientas de Desarrollo de Software
VISIO
EDRAW CONCEPTDRAW
PRIMAVERA DIA
RATIONAL ROSE EASY CASE
FLOW
STUDIO CASE
CHARTING
135. GANE & SARSON
VISIO
SSADM/ IDEFO OMT (Rumbaugh et al. 1991)
Cascada, Tradicional, Lineal o EDRAW UML CONCEPTDRAW UML
Secuencial
FUSION (Coleman et al. 1994)
DeMarco/ Yourdon
Prototipos Métrica V2
HERRAMIENTAS Métrica V2
Espiral
Métrica V2
PRIMAVERA Basado en
RDD (Wirfs-Brock et al. 1990) DIA
Métrica V3
componentes Métrica V3
Incremental METODOS
Métrica V3 OBA (Rubin y Goldberg 1992)
DRA MoProSoft
Métodos Formales MoProSoft
RATIONAL ROSE
Producción
PROCESO Modelo IWeb
EASY CASE
MoProSoft
Multimedia
OOSE (Jacobson et al. 1992)
Ingeniería de
Software ENFOQUE Ingeniería de
FLOW
Software Orientada CASE
CHARTING
STUDIO
Ingeniería de
Software Web
Tradicional a Objetos
136. MTI. ROSY CHI
GRACIAS POR SU ATENCIÓN
Unidad 2. Metodología de desarrollo de software