16
Herramientas de Software

Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

Herramientas de Software

Page 2: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

1

Sesión No. 4

Nombre: Paradigmas y filosofía de desarrollo de software. Segunda parte.

Objetivo: Al finalizar la sesión, los estudiantes conocerán la funcionalidad del

modelo en espiral y el modelo de la estructura del sistema del desarrollo de

software.

Contextualización

¿Cómo se estructura un desarrollo de software?

Hasta ahora conocemos dos modelos de ciclo de vida de software (clásico y de

prototipos), como sabemos, el modelo de ciclo de vida es la base de desarrollo

de nuestro sistema, ya que a partir de ahí construimos nuestro desarrollo de

estructura o desarrollo arquitectónico del sistema.

El modelo de estructura del sistema debe ser claro para la implementación y la

consulta y está hecho para diferentes puntos de vista desde el cliente final, al

cual no daremos una vista técnica sino lo más relacionada al proceso, hasta el

desarrollador o los demás participantes del equipo técnico.

El diseño arquitectónico lleva a cabo la implementación del ciclo de vida elegido

para el proyecto y otros factores como análisis de casos de uso, vistas finales,

capas del proyecto, entre otros.

Page 3: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

2

https://arquitecturasoftware.wordpre

ss.com/tag/arquitectura-de-negocio/

Page 4: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

3

Introducción al Tema

¿Qué es el modelo de espiral?

El modelo de ciclo de vida en espiral surge en 1986, desarrollado por Barry

Boehm, quien nota el riesgo que existe en la etapa del desarrollo e identifica las

posibles alternativas, selecciona el riesgo con mayor nivel de alcance y crea un

ciclo en espiral.

El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad

del clásico, la unión permite generar un ciclo que parte desde el centro, si el

cliente prefiere hacer alguna mejoría en el producto, o existe algún cambio

importante, se evalúan alternativas nuevas y se crea un nuevo análisis de

riesgos lo que genera una nueva vuelta de espiral, de esta manera se

incrementa el número de vueltas hasta que el producto quede terminado.

http://csse.usc.edu/csse/TECHRPTS/1988/usccse88-

500/usccse88-500.pdf

Page 5: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

4

Explicación

Modelo en espiral

Como vimos al inicio de esta sesión, el modelo en espiral es de un software

evolutivo en la conjunción del modelo de prototipos y la secuencialidad del

clásico, en su primer bucle se puede considerar un prototipo, pero en sus últimos

la versión del software se vuelve más completa. No existe un número definido de

bucles e iteraciones.

Se divide en regiones de tareas, aunque el modelo original de Bohem consta

de 4 regiones, surge una variante del modelo de 3 a 6 regiones, las cuales son:

→ Comunicación con el cliente. Dialogo establecido entre el desarrollador

y el cliente acerca de los requerimientos del producto.

→ Planificación. Definición de recursos, tiempo y otros aspectos para la

elaboración del producto.

→ Análisis de riesgos. Evaluación de los posibles riesgos físicos y lógicos.

→ Ingeniería. Definición de requerimientos para la construcción del producto.

→ Construcción y adaptación. Desarrollo, implementación, pruebas

internas y posibles mejoras al producto.

→ Evaluación del cliente. Pruebas realizadas por el cliente.

http://modeloespiral.blogspot.mx/

Page 6: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

5

Cuando el proceso es iniciado, cada paso por la región de planificación genera

ajustes en el proyecto y así se crea una nueva iteración, es por esto que la

última región es la evaluación del cliente, ya que suelen reajustarse los

requerimientos debido a las mejoras detectadas por el cliente.

El producto evoluciona a través de las iteraciones que tenga el espiral sin olvidar

las iniciales en las que ha sido basado, esto es, desde imitar a la anterior hasta

mejorarla.

Modelo espiral WINWIN

En el diálogo entre el desarrollador y el cliente puede que no se lleve una

negociación adecuada, o que las partes no se vean beneficiadas a la par, de

esta necesidad surge la variante del modelo espiral, conocida como modelo espiral WINWIN.

En esta variante el cliente gana obteniendo el producto que cumple la mayoría

de sus necesidades y el desarrollador logra entregar el proyecto en tiempo y

forma.

http://sofware1nathalygrijalva.blogsp

ot.mx/2012/10/modelo-espiral.html

Page 7: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

6

En el modelo se identifican los sistemas o subsistemas entre los directivos, las

condiciones de beneficio para cada uno y se llevan a cabo las negociaciones

entre las dos entidades.

Modelo de la estructura del sistema

Los grandes sistemas o sistemas complejos se componen de subsistemas, el

diseño arquitectónico o la estructura del sistema es una estructura que organiza

los elementos que se requieren para el desarrollo de un software, sus elementos

dependen de los requerimientos, conocimientos, tiempos y recursos con los que

se cuentan para realizar el sistema.

Cada desarrollo de software debe estar basado en modelo o estilo arquitectónico,

pero la mayoría de las veces, no se utiliza un sólo estilo, si no que se adaptan

las partes relevantes o útiles de varios estilos para formar el que más se adapta

a las necesidades.

Para que la estructura sea la más adecuada, debe cumplir con los

requerimientos del sistema, el sistema debe ser estructurado por componentes o

http://csse.usc.edu/csse/TECHRPTS/1998/usccse9

8-511/usccse98-511.pdf

Page 8: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

7

módulos, esto permite identificar las partes por separado que componen al

sistema, esta propiedad es útil para sistemas que son desarrollados por más de

una persona.

La estructura del sistema define el uso del sistema sobre las plataformas en las

que será utilizado como el performance, limitación de usuarios, disponibilidad,

seguridad, entre otros elementos, y uno de los elementos más importantes es

que debe estar pensada para posibles modificaciones de diseño, por ejemplo, se

da el caso de que uno de los requerimientos principales, como puede ser un

módulo extra, no estaba contemplado cuando se levantaron los requerimientos,

en este caso se debe cambiar una parte principal del sistema, sin afectar las que

ya han sido desarrolladas.

Una manera de categorizar la estructura del sistema es por medio de vistas, las

cuales pueden ser:

http://www.inegi.org.mx/inegi/contenidos/servicios/sdm

x/

Page 9: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

8

Vista del modelo de casos de uso. Define los casos más importantes

que influyen en el proceso, además de los actores que lo ejecutan, por

ejemplo, en un sistema de almacén, un caso de uso puede ser la entrada

de productos, donde interactúa el proveedor del producto, la persona que

recibe el producto y el control del stock de existencias de ese producto.

Vista del modelo de análisis. Define las entidades de análisis basadas

en los casos de uso, pueden ser clases u objetos.

Vista del modelo de diseño. Define las interfaces, clases, objetos y

posibles subsistemas dentro de nuestro sistema, dependiendo de la

tecnología que se use, ya que no todas las tecnologías de desarrollo

requieren las mismas entidades de diseño.

Vista del modelo de despliegue. Define los elementos de hardware que

soportarán el sistema, por medio de nodos e interconexiones entre los

mismos.

Vista del modelo de implantación. Define la intersección entre los

elementos lógicos del sistema definidos en el modelo de diseño (clases,

objetos, interfaces, etcétera) y los elementos definidos en el modelo de

despliegue así como sus conexiones.

http://www.ibm.com/developerworks/rational/library/content/0

3July/1000/1156/1156 fig1.gif

Page 10: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

9

Como podemos ver, los modelos de ciclo de vida comparten una secuencia

desde el modelo clásico, prototipos y espiral comparten las etapas en las que se

dividen pero el modelo de la estructura del sistema se diseña con base en los

casos de uso, después de proceder a desarrollar el sistema.

Page 11: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

10

Conclusión

Todos los modelos de software tienen ventajas y desventajas en su uso, como

hemos visto, el modelo en espiral conjunta el modelo de prototipos al

implementar sus bucles y la secuencialidad del modelo clásico y no existe una

cantidad de bucles definidos para éste.

Ventajas:

→ Reduce riesgos en cada etapa del proyecto antes de que evolucione.

→ Es adaptable en las etapas del proyecto.

→ Integra las etapas del proyecto entre sí.

→ En su modelo variante WINWIN, los requerimientos junto con la

funcionalidad son balanceados para los mismos fines.

Desventajas:

→ Se sugiere que la implementación sólo sea para grandes sistemas, ya que

es costoso.

→ Requiere mayor tiempo en análisis de riesgos y desarrollo del sistema.

→ Algunas veces resulta complicado lograr un balance con el cliente entre la

funcionalidad y sus necesidades.

El modelo de la estructura del sistema parte del modelo

de ciclo de vida que se va a utilizar, cuando se desarrolla

su arquitectura debemos tomar varios factores en cuenta

como el desarrollo de casos de uso, el análisis de

requerimientos a partir de los casos de uso realizados, el

diseño de los elementos lógicos y su interacción con el

entorno físico, así como la implementación sobre su versión final, todo enfocado

principalmente en los casos de uso, ya que definen su funcionalidad.

Page 12: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

11

Para aprender más

Análisis comparativo de técnicas, metodologías y herramientas de ingeniería de requerimientos.

• Medina, J. (2004). Análisis Comparativo de Técnicas, Metodologías y

Herramientas de Ingeniería de Requerimientos. (Tesis de maestría

inédita). En Departamento de Ingeniería Eléctrica Sección de

Computación/Centro de Investigación y de estudios Avanzados del

Instituto Politécnico Nacional. Consultado el 7 de agosto de 2015:

http://delta.cs.cinvestav.mx/~pmalvarez/tesis-medina.pdf

Vistas arquitectónicas de software y gestión de modelos

• Limón, R. (s/f). Las vistas arquitectónicas de software y sus

correspondencias mediante gestión de modelos. (Tesis de doctorado

inédita). En Departamento de Sistemas Informáticos y Computación de la

Universidad Politécnica de Valencia. Consultado el 7 de agosto de 2015:

http://www.dsic.upv.es/docs/bib-dig/tesis/etd-10132009-094823/borrador-

tesis-rogelio-2.pdf

Metodologías de desarrollo de softwares más utilizados

• Cervantes, J.; Gómez, M. (2012). Taxonomía de los modelos y

metodologías de desarrollo de software más utilizados. Consultado el 7 de

agosto de 2015:

Page 13: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

12

http://www.redalyc.org/articulo.oa?id=37326902005

Modelo de planificación instruccional

• Jiménez, J. (s/f). Un modelo de planificación Instruccional usando

Razonamiento Basado en Casos en Sistemas Multi-Agente para entornos

integrados de Sistemas Tutoriales Inteligentes y Ambientes Colaborativos

de Aprendizaje. (Tesis de doctorado inédita). En Doctorado en Ingeniería

–Sistemas e Informática de la Universidad Nacional de Colombia.

Consultado el 7 de agosto de 2015:

http://www.bdigital.unal.edu.co/8381/1/15510904.2006.pdf

Page 14: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

13

Actividad de Aprendizaje

Instrucciones:

Con la finalidad de aplicar tus conocimientos adquiridos en esta sesión, tendrás

que complementar el cuadro comparativo de la sesión pasada, incluyendo el

modelo en espiral con el siguiente formato:

MODELO

DEFINICIÓN CARACTERISTICAS VENTAJAS DESVENTAJAS

MODELO

CLÁSICO

MODELO DE PROTOTIPOS

MODELO EN ESPIRAL

Page 15: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

14

Escribe una introducción y una conclusión a tu trabajo. Recuerda que la

actividad te ayudará a diferenciar las características entre los modelos.

La actividad representa el 5% de tu calificación y se tomará en cuenta lo

siguiente:

• Tus datos generales

• Referencias bibliográficas

• Ortografía y redacción

• Conclusión e Introducción

• Actividad.

Page 16: Herramientas de Software - UNID · El modelo se basa en la conjunción del modelo de prototipos y la secuencialidad del clásico, la unión permite generar un ciclo que parte desde

HERRAMIENTAS DE SOFTWARE

15

Bibliografía

Pressman, R. (2002). Ingeniería de software .Un enfoque práctico. Madrid:

McGraw-Hill.

Alonso, F., Martínez, L., & Segovia, F. (2005). Introducción a la Ingeniería del

Software: Modelos de desarrollo de Programas. España: Delta Publicaciones.