Vous êtes sur la page 1sur 51

Ingeniera de Requisitos

Obtencin y Anlisis de Requisitos

Tcnicas:

Obtencin orientada al punto de vista (VORD).


Etnografa.
Escenarios.
Modelos de Sistemas: Anlisis Estructurado, Modelo de Datos, Modelo de Objetos

Prototipos.

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Conocer el papel de la construccin de prototipos de


software en los diferentes tipos de desarrollo de proyectos.

Conocer la diferencia entre la construccin de


prototipos evolutivos y la de prototipos desechables.

Aprender tres tcnicas distintas para el desarrollo


de prototipos.
Saber por qu la construccin de prototipos es la nica tcnica
viable para el diseo y desarrollo de la interfaz de usuario.

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Introduccin:
Por lo general, los clientes y usuarios finales del
software encuentran difcil expresar sus requisitos.
No siempre es posible predecir la manera en que un
sistema afectar el trabajo diario, como interactuar con
otros sistemas y qu operaciones se deberan automatizar.

Un anlisis cuidadoso de los requisitos junto con


revisiones sistemticas de stos ayudan a reducir
dicha incertidumbre...

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Introduccin:
..no obstante, no existe substituto real para probar
un requisito antes de estar de acuerdo con l.
Lo anterior es posible si est disponible un prototipo
del sistema.

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Definicin de Prototipo:
Versin inicial de un sistema de software que se
utiliza para demostrar los conceptos, probar las
opciones de diseo y, de forma general, conocer
ms el problema y sus posibles soluciones.

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos:
El desarrollo rpido de prototipos es esencial puesto que se
controlan los costos, y los usuarios pueden experimentar con
el prototipo en las primeras etapas del proceso de software.

Un prototipo de software apoya a dos actividades


del proceso de ingeniera de requisitos:
Obtencin de Requisitos.
Validacin de Requisitos.

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos:
Puede usarse como un anlisis de riesgo y como
una tcnica de reduccin.
Un riesgo importante en el desarrollo de software
son los errores y omisiones de requisitos.
Un prototipo puede ayudar a bajar costos totales del
desarrollo, reducir la propagacin de errores a
etapas posteriores del mismo, y disminuir el nmero
de problemas con la especificacin de requisitos.

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: otras ventajas...


Al mostrar las funciones del sistema se identifican
las diferencias entre desarrolladores y usuarios.
Durante el desarrollo del prototipo, el personal del
desarrollo de software puede darse cuenta de que los
requisitos son inconsistentes y/o estn incompletos.

Aunque limitado, se dispone rpidamente de un


sistema que funciona y demuestra la factibilidad y
usabilidad de la aplicacin a administrar.
8

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: otras ventajas...


El prototipo se utiliza como base para escribir la especificacin
para la produccin de un sistema de calidad.

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: ventajas segn un


estudio con 39 proyectos...
Mejora en la usabilidad del sistema.

Mejor acoplamiento entre el sistema y las necesidades del usuario.

Mejora en la calidad del diseo.


Mejora en el mantenimiento.
Reduccin en el esfuerzo de desarrollo.

10

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: ventajas segn un estudio con 39 proyectos...

El uso de prototipos no necesariamente significa un


aumento en los costos de desarrollo.
Por lo general, la construccin de prototipos incrementa
los costos en las etapas iniciales del proceso de
software, pero reduce los costos posteriores.

11

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: ventajas segn un estudio con 39 proyectos...

La razn principal: se evita rehacer el trabajo


durante el desarrollo, cuando los clientes solicitan
pequeos cambios al sistema.
Sin embargo, tambin se encontr que una consecuencia
negativa fue que el desempeo total del sistema, algunas
veces, es degradado debido a la reutilizacin de cdigo
ineficiente proveniente del prototipo.

12

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Proceso de Desarrollo de Prototipos:


Establecer
Objetivos del
Prototipo

Plan de
Construccin
del Prototipo

Definir
Funcionalidad

Definicin
General

Desarrollar
Prototipo

Prototipo
Ejecutable

Evaluar
Prototipo

Informe
de Evaluacin

13

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: dos tipos...


Prototipo evolutivo: dar al usuario un sistema
incompleto y despus modificarlo y aumentarlo en el
momento en que los requisitos del usuario sean claros.

Prototipo desechable: para ayudar al anlisis y


validacin de requisitos. Tras su evaluacin, se
descarta y se construye un sistema de calidad.

14

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos
Construccin de Prototipos: Evolutivos.
Comienza con un sistema relativamente simple, que
implementa los requisitos ms importantes del usuario.
Dicho prototipo se expande o cambia en cuanto se descubran
nuevos requisitos. Finalmente se convierte en el sistema final.

No tiene una especificacin detallada, y en algunos


casos no existe un documento formal de requisitos.
La tcnica ms comn para desarrollar sitios Web y
aplicaciones de comercio electrnico.
15

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: Desechables.


Ayudan a refinar y clarificar la especificacin del sistema.

La evaluacin del prototipo informa del desarrollo de


la especificacin detallada del sistema, que se
incluye en el documento de requisitos de ste.

Una vez que se ha redactado la especificacin, el


prototipo ya no es til y se descarta.

16

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: Diferencias...


El objetivo de la construccin de prototipos evolutivos es entregar a los usuarios finales un sistema
funcional.

El objetivo de la construccin de prototipos


desechables es validar o derivar los requisitos del
sistema.

17

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: Diferencias...


El prototipo evolutivo comienza con los requisitos mejor
conocidos, y los menos conocidos se implementan
cuando se necesitan por parte de los usuarios.

El prototipo desechable considera aqullos no bien


comprendidos; los ya precisados nunca deben estar
en el prototipo.

18

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos: Diferencias...


El prototipo evolutivo crece hacia un sistema final
que se debe desarrollar con los mismos estndares
de calidad de la organizacin, como cualquier otro
software. Confiable y eficiente.
El prototipo desechable, por tener un periodo de
vida corto, no requiere mantenimiento. Pobre
desempeo y baja confiabilidad.

19

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Evolutivos:


Desarrollar
Especificacin
Abstracta

Construir
Prototipo

Utilizar
Prototipo

NO
Entregar
Sistema

Prototipo apto?
S

20

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Evolutivos: Ventajas...


Entrega acelerada del sistema: se favorece la entrega
y la usabilidad, en lugar de privilegiar detalles de
funcionalidad y el mantenimiento del software.

Compromiso del usuario con el sistema.

21

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Evolutivos: se parece al RAD en:

Los procesos de especificacin,


implementacin se entrelazan.

diseo

El sistema se desarrolla en una serie de incrementos.


Se utilizan tcnicas de desarrollo rpido de sistemas, como
herramientas CASE y lenguajes de cuarta generacin.
Generalmente, las interfaces del sistema de desarrollan
usando un sistema de desarrollo interactivo.

22

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Evolutivos: problemas...


De Administracin: evolucin rpida del sistema no
hace costeable producir una gran cantidad de
documentacin del sistema.
De Mantenimiento: los cambios continuos tienden a
corrom-per la estructura del prototipo.
Contractuales: los contratos se basan en una especificacin
del sistema; si ste no existe, es difcil disearlos.

23

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Evolutivos:


Los problemas anteriores se solucionan usando un
proceso de desarrollo incremental.
Este tipo de proceso es ms manejable puesto que sigue
los estndares normales del proceso de software.

24

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables:


Este enfoque extiende el proceso de anlisis de requisitos con
la intencin de reducir los costos del ciclo de vidacompleto.

La funcin principal del prototipo es clarificar los


requisitos y proveer informacin adicional a los
administradores para valorar los riesgos del proceso.

Despus de la evaluacin, el prototipo se desecha;


no se usa como base para el desarrollo posterior.
25

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables:


Este esquema de trabajo es comn para los sistemas
de hardware para validar el diseo.

Un prototipo de software desechable normalmente


no se usa para validar el diseo, sino que ayuda a
desarrollar los requisitos del sistema.
Despus de la evaluacin, el prototipo se desecha;
no se usa como base para el desarrollo posterior.

26

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables:

Requisitos

Desarrollar

Evaluar

Especificar

Generales

Prototipo

Prototipo

Sistema

Componentes
Reusables

Desarrollar
Software

Validar
Sistema

Sistema de
Software

27

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables:


El prototipo se desarrolla a partir de un bosquejo de
la especificacin...
Se entrega para experimentar con l...
Y se modifica hasta que el cliente est satisfecho
con su funcionalidad.

28

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables:


Ms que derivar una especificacin a partir del prototipo,
algunas veces se sugiere que la especificacin del
sistema sea la implementacin del mismo prototipo.

Este enfoque presenta varios problemas...

29

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables:


Las caractersticas importantes se excluyen del
prototipo para simplificar la implementacin rpida
(por ejemplo, las funciones crticas de seguridad).
Una implementacin no tiene valor legal para el
contrato entre el cliente y el contratista.
En una implementacin del prototipo, no se pueden probar
de manera adecuada los requisitos no funcionales, como
los de confiabilidad, robustez y seguridad.

30

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables: problemas...

El modo de utilizarlo no corresponde con la forma


de cmo se usa el sistema final entregado.
Algunas veces, se presiona a los desarrolladores para que
entreguen los prototipos desechables para su utilizacin,
en particular cuando existen retrasos en la entrega de la
versin final del softwareno es conveniente porque:

31

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipos Desechables: problemas...


Puede ser imposbile afinar el prototipo para que cumpla con los
requisitos no funcionales.

El cambio rpido durante el desarrollo significa que no se


documente el prototipo.
Los cambios hechos durante el desarrollo del prototipo
pueden degradar la estructura del sistema.
Los
estndares
de
calidad
organizacionales,
normalmente, se relajan para el desarrollo del prototipo.

32

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Tcnicas de Construccin de Prototipos:


Son tcnicas de desarrollo que hacen nfasis en la velocidad
de entrega ms que en otras caractersticas del sistema,
como el desempeo, mantenimiento o confiabilidad.
Existen tres tcnicas prcticas de desarrollo rpido para el
desarrollo de prototipos de carcter industrial:
Desarrollo con lenguajes dinmicos de alto nivel.
Programacin de bases de datos.
Ensamblaje de componentes y aplicaciones.

33

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Desarrollo con Lenguajes Dinmicos de Alto Nivel:

Son poderosos recursos de administracin de datos


en tiempo de ejecucin.
Ejemplos: Lisp, Prolog, Smalltalk, Java.

34

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Desarrollo con Lenguajes Dinmicos de Alto Nivel:


Preguntas:
Cul es el dominio del problema?: sistema interactivo,
procesamiento simblico, lenguaje natural.
Cul es la interaccin del usuario requerida?: Java se
integra bien con los navegadores Web, Prolog se adeca
bien para las interfaces basadas en texto.
Cul es el entorno de ayuda provista por el lenguaje?.

35

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Programacin de Bases de Datos:


La mayora de las aplicaciones de negocios implican la
manipulacin de una base de datos, y la produccin de
salidas que involucran organizar y dar formato a esos datos.

Para esto, la mayora de los SABD comerciales permiten


su programacin a travs de un lenguaje especializado,
el que contiene conocimiento de la base de datos y
maneja las operaciones necesarias para su manipulacin.

36

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Programacin de Bases de Datos:


Se denomina lenguaje de cuarta generacin (4GL)
al lenguaje de programacin de bases de datos y al
entorno en que se desarrolla.
En general, permiten la actualizacin de la base de datos y la
generacin de informes a partir de la informacin de la misma.

37

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Programacin de Bases de Datos: componentes de un 4GL...

Un lenguaje de consulta de bases de datos, por lo


general SQL: ingresado de forma directa o generado
automticamente a partir de los formularios.

Un generador de interfaces que se utiliza para crear


formula-rios de ingreso y despliegue de datos.
Un generador de pantallas para apoyar la definicin de las
interfaces con el usuario (en especial, basadas en el web).

38

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Programacin de Bases de Datos: componentes de un 4GL...

Una hoja de clculo para el anlisis y manipulacin


de informacin numrica.
Un generador de informes para el anlisis y
manipulacin de la informacin numrica.

39

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Programacin de Bases de Datos: y prototipos...


La estructuracin de las aplicaciones que imponen
las herramientas CASE y la documentacin asociada
significa que los prototipos evolutivos desarrollados
bajo este enfoque deben ser ms mantenibles que
los sistemas desarrollados de forma manual.

40

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Programacin de Bases de Datos: desventajas...


Los programas generados tienden a ser ms
lentos, y requerir de ms memoria.
Aunque claramente reducen los costos de desarrollo
del sistema, no es del todo claro se reduzcan los
costos del ciclo de vida completopueden ser altos
por la falta de estructuracin, dificultad de la
mantencin y falta de estandari-zacin.

41

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Ensamblaje de Componentes y Aplicaciones:


Es posible reducir el tiempo requerido para
desarrollar un sistema, si muchas partes de ste se
pueden reusar ms que disear e implementar.
Los prototipos se pueden construir ms rpido si se tiene un
conjunto de componentes reutilizables y algunos mecanismos
para construir estos componentes en sistemas.

El mecanismo de composicin debe incluir recursos de control


y medios para la comunicacin entre los componentes.

42

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Ensamblaje de Componentes y Aplicaciones:


Componentes
Reusables de
Software

Marco de Trabajo
de Composicin
de Componentes

Prototipo
Ejecutable

Cdigo de Control
e Integracin

43

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Ensamblaje de Componentes y Aplicaciones:


El prototipo comprende el desarrollo de una
especificacin
tomando
en
cuenta
qu
componentes reutilizables estn disponibles.
El desarrollo del prototipo comprende de dos niveles:

El nivel de aplicacin en el que la aplicacin completa se integra con el


prototipo, de manera que su funcionalidad pueda ser compartida.

El nivel de componente en el que los componentes


individuales se integran dentro de un marco de trabajo
estndar para implementar el sistema.

44

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Ensamblaje de Componentes y Aplicaciones:


La reutilizacin de aplicaciones da acceso a toda la
funcionali-dad de una aplicacin.
Una metfora de composicin de documentos es de
mucha ayuda para comprender este enfoque de
desarrollo de prototipos.

45

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipo de la Interfaz de Usuario:

En la actualidad, las GUI se han convertido en la


norma para los sistemas interactivos.
El esfuerzo comprendido en la especificacin, el diseo y la
implementacin de una interfaz de usuario representa una
parte significativa de los costos de desarrollo de la aplicacin.

46

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipo de la Interfaz de Usuario:

El usuario debe tomar parte en el proceso de diseo


de la interfaz.
Esta forma de trabajo conduce a un enfoque denominado
diseo centrado en el usuario, que depende de la
construccin del prototipo de la interfaz y de la participacin
del usuario en el proceso de diseo de la interfaz.

47

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipo de la Interfaz de Usuario:

Desde el punto de vista de la ingeniera de


software, la construccin de prototipos es una parte
esencial del proceso de diseo de la interfaz.
La construccin de prototipos evolutivos con la participacin
del usuario final es la nica forma sensible para desarrollar
interfaces grficas de usuario para los sistemas de software.

48

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipo de la Interfaz de Usuario:


Los generadores de interfaces son sistemas de diseo de
ventanas grficas en los que los componentes de la interfaz
se seleccionan de un men y se colocan en la interfaz.

Dichos generadores crean un programa bien estructurado


generado a partir de la especificacin de la interfaz.

49

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipo de la Interfaz de Usuario: Web.

En el caso de interfaces para el Web, el uso de


html es una notacin comprensible para la
especificacin de la interfaz de usuario.
Botones, campos, formularios y tablas se pueden incluir en las
pginas Web, as como en objetos multimedios que permiten
el acceso a sonidos, video y pantallas de realidad virtual.

50

Ingeniera de Requisitos
Obtencin y Anlisis de Requisitos

Construccin de Prototipo de la Interfaz de Usuario: Web.

Es posible construir un prototipo de las interfaces de usuario


basadas en Web usando un editor de sitios Web que es,
esencialmente, un constructor de interfaces de usuario.

51