Requerimientos_-_2K7_-_2K10

15
1 Unidad 4: Requerimientos - Diapositivas de clases - Análisis de Sistemas – Curso: 2K7/2K10 Docente: Ing. Marcela F. Cattaneo 2K7: Ing. María Irene Mac William Ing. Germán Vélez 2K10: Ing. Claudia Sánchez Ing. Susana Turanzas ASI - Ingeniería de Requerimientos 2 Requerimientos Conceptos Básicos • Comprender la naturaleza de los problemas puede ser muy complejo, especialmente si el sistema es nuevo. • Es difícil saber exactamente lo que el sistema debe hacer. • Un requerimiento es una característica del sistema o una descripción de algo que el sistema es capaz de hacer con el objeto de satisfacer el propósito del mismo.

description

requerimientos.

Transcript of Requerimientos_-_2K7_-_2K10

Page 1: Requerimientos_-_2K7_-_2K10

1

Unidad 4: Requerimientos

- Diapositivas de clases -

Análisis de Sistemas – Curso: 2K7/2K10

Docente: Ing. Marcela F. Cattaneo

2K7: Ing. María Irene Mac WilliamIng. Germán Vélez

2K10: Ing. Claudia SánchezIng. Susana Turanzas

ASI - Ingeniería de Requerimientos 2

RequerimientosConceptos Básicos

• Comprender la naturaleza de los problemaspuede ser muy complejo, especialmente siel sistema es nuevo.

• Es difícil saber exactamente lo que elsistema debe hacer.

• Un requerimiento es una característica delsistema o una descripción de algo que elsistema es capaz de hacer con el objeto desatisfacer el propósito del mismo.

Page 2: Requerimientos_-_2K7_-_2K10

2

ASI - Ingeniería de Requerimientos 3

Requerimientos:Conceptos Básicos

• Requerimientos son características quedeben incluirse en un nuevo sistemaconsiderando:– descripciones de servicios o de aquello que

el sistema es capaz de hacer– restricciones que el sistema deba

considerar, contemplando las necesidades ocondiciones establecidas por el usuario

– además de los problemas observados y lasmejoras posibles en relación al sistemaactual.

ASI - Ingeniería de Requerimientos 4

RequerimientosConcepto

• En el estándar IEEE-Std 610 (1990), se define “requerimiento” de la siguiente manera:– (1) Una condición o capacidad requerida por un

usuario para resolver un problema o lograr unobjetivo.

– (2) Una condición o capacidad que debe cumplir oposeer un sistema o componente de sistema parasatisfacer un contrato, estándar, especificación u otrosdocumentos de imposiciones formales.

– (3) Una representación documentada de una condicióno capacidad como se define en (1) o (2).

Page 3: Requerimientos_-_2K7_-_2K10

3

ASI - Ingeniería de Requerimientos 5

Requerimientos:Propósitos de los Requerimientos

1. Permiten que los desarrolladores expliquencómo han entendido lo que el cliente pretendedel sistema.

2. Indican a los diseñadores qué funcionalidad ycaracterísticas va a tener el sistema resultante.

3. Indican al equipo de pruebas quédemostraciones llevar a cabo para convencer alcliente que el sistema que se le entrega es loque había ordenado.

ASI - Ingeniería de Requerimientos 6

Características de los Requerimientos

• Necesario: Un requerimiento es necesariosi su omisión provoca una deficiencia en elsistema a construir.

• Conciso: Un requerimiento es conciso si esfácil de leer y entender.

• Completo: Un requerimiento está completosi no necesita ampliar detalles en suredacción para su comprensión.

Page 4: Requerimientos_-_2K7_-_2K10

4

ASI - Ingeniería de Requerimientos 7

Características de los Requerimientos

• Consistente: Un requerimiento es consistente sino es contradictorio con otro requerimiento.

• No ambiguo: Un requerimiento no es ambiguocuando tiene una sola interpretación.

• Verificable: Un requerimiento es verificablecuando puede ser cuantificado de manera quepermita hacer uso de distintos métodos deverificación.

ASI - Ingeniería de Requerimientos 8

Niveles de descripción de Requerimientos

• Niveles de descripción: Es convenientehacer una clara separación entre losdiferentes niveles de descripción:

1. Requerimientos del usuario

2. Requerimientos del sistema

Page 5: Requerimientos_-_2K7_-_2K10

5

ASI - Ingeniería de Requerimientos 9

Niveles de descripción de Requerimientos

1. Requerimientos del usuario:Documenta los deseos y necesidades del cliente y seexpresa en un lenguaje claro para él.

Son declaraciones en lenguaje natural y endiagramas de los servicios que se espera que elsistema provea y de las restricciones bajo las cualesdebe operar.

La audiencia primaria para los requerimientos C (delcliente) es la comunidad del cliente y la secundariaes la comunidad del desarrollador.

ASI - Ingeniería de Requerimientos 10

Niveles de descripción de Requerimientos

2. Requerimientos del sistema:Establecen de manera detallada y estructurada losservicios y restricciones del sistema.

El documento de requerimientos del sistema,algunas veces denominado especificación funcional,debe ser preciso. Sirve como una especie de contratoentre el comprador del sistema y los desarrolladores

La audiencia primordial para estos requerimientos esla comunidad del desarrollador y la secundaria es lacomunidad del cliente .

Page 6: Requerimientos_-_2K7_-_2K10

6

ASI - Ingeniería de Requerimientos 11

Niveles de descripción de Requerimientos

• La relación entre los dos niveles de descripciónde los requerimientos y su definición en eldocumento de ERS (IEEE Std. 830) se puedevisualizar en el siguiente gráfico.

ERS (IEEE Std 830)

1. Introducción

2. Descripción General

3. Requerimientos específicos

4. Información de soporteRequerimientosdel Cliente

Requerimientosdel Sistema (Detallados)

ASI - Ingeniería de Requerimientos 12

RequerimientosTipos de Requerimientos

- razones de la creación delsistema.

- restricciones del ambienteen el que el sistemafunciona.- restricciones globalessobre cómo debeconstruirse y funcionar elsistema.

- descripción de loque el sistema hace.- ¿qué informaciónnecesita sermantenida?- ¿qué necesita serprocesado?

Requerimientos

Requerimientos Funcionales

Requerimientos No Funcionales

Page 7: Requerimientos_-_2K7_-_2K10

7

ASI - Ingeniería de Requerimientos 13

Tipos de Requerimientos:Requerimientos Funcionales

• Definen las funciones que el sistema serácapaz de realizar y describen cómo debecomportarse el sistema ante determinadoestímulo.

• Describen la funcionalidad o los serviciosque se espera que el sistema proveerá,detallando las transformaciones que elsistema realiza sobre las entradas paraproducir salidas.

ASI - Ingeniería de Requerimientos 14

Tipos de Requerimientos Requerimientos Funcionales - Ejemplos

a) Para un Sistema de Procesamiento de TransaccionesEl sistema deberá:– Registrar los pedidos de los clientes.– Administrar datos de los clientes.– Generar facturas de venta.– Emitir Reportes de Ventas en un rango de fecha

dado.– Administrar datos de los productos que se

comercializan y su stock actual.– Registrar movimientos de stock de cada producto.....

Page 8: Requerimientos_-_2K7_-_2K10

8

ASI - Ingeniería de Requerimientos 15

Tipos de Requerimientos Requerimientos Funcionales - Ejemplos

b) Para un Sistema de un Videojuego: (1)

El sistema deberá:– Generar dos tipos de personajes: los que están bajo el

control del jugador y personajes “extraños” bajo elcontrol de la aplicación.

– Permitir al jugador definir un personaje principal.– Mantener cualidades para cada personaje: fuerza,

velocidad, paciencia.– Mantener un valor para cada cualidad de cada personaje.– Permitir que los personajes puedan “interactuar” cuando

están en la misma área.......

(1) Basado en el ejemplo desarrollado en libro “Ingeniería de Software, una perspectiva orientada a Objetos” de Eric Braude.

ASI - Ingeniería de Requerimientos 16

Tipos de Requerimientos:Requerimientos No Funcionales

• Son restricciones de los servicios o funcionessobre el sistema que limita la elección dealternativas en la etapa de diseño yconstrucción del sistema.

• Características que de una u otra forma puedenlimitar el sistema, como por ejemplo, elrendimiento (en tiempo y espacio), interfaces deusuario, fiabilidad (robustez del sistema,disponibilidad de equipo), mantenimiento,seguridad, portabilidad, estándares, etc.

Page 9: Requerimientos_-_2K7_-_2K10

9

ASI - Ingeniería de Requerimientos 17

Tipos de Requerimientos:Requerimientos No Funcionales - Ejemplos

a) Para un Sistema de Procesamiento de TransaccionesEl sistema deberá:

– Operar en un entorno de red.– Definir distintos niveles de usuario y asignar permisos de

acceso según el nivel de los mismos.– Almacenar los datos en una BD Relacional.......

b) Para un Sistema de un Videojuego: (1)

El sistema deberá:– Operar en una PC con S.O. Windows XP o superior.– Operar en un equipo con un mínimo de 1Gb de RAM.– El lenguaje de implementación deberá ser JAVA.......

ASI - Ingeniería de Requerimientos 18

Requerimientos No Funcionales

• Clasificación Requerimientos No Funcionales

Requerimientos del Producto

Requerimientos de la organización

Requerimientos externos

Requerimientos éticos

Requerimientosregulatorios

Requerimientos legales

Requerimientos de seguridad

Requerimientos de confiabilidad

Requerimientos de eficiencia

Requerimientos de desarrollo

Requerimientos operacionales

Requerimientos ambientales

Requerimientos de usabilidad

Requerimientos de protección/

seguridad

Requerimientos de contables

Requerimientos de espacio

Requerimientos de rendimiento

Fuente: Libro “Ingeniería de Software” – Ian Sommerville, Capítulo 4

Page 10: Requerimientos_-_2K7_-_2K10

10

ASI - Ingeniería de Requerimientos 19

Requerimientos No Funcionales

• Requerimientos del Producto: Estosrequerimientos especifican el comportamientodel producto, como por ejemplo:

Requerimientos de desempeño en la rapidez deejecución. Requerimientos de tamaño de memoriarequerida, tamaño en disco necesario

Requerimientos de fiabilidad que fijan la tasa de fallaspara que el sistema sea considerado aceptable.

Requerimientos de seguridad y de usabilidad

ASI - Ingeniería de Requerimientos 20

Requerimientos No Funcionales

• Requerimientos de la organización: Se derivan de las políticas y procedimientos existentes en la organización del cliente y en la del desarrollador. Algunos ejemplos son:

Requerimientos del proceso operacional que definencómo se utilizará el sistema.

Requerimientos del proceso de desarrollo queestablecen el lenguaje de programación , estándaresdel entorno o proceso de desarrollo a utilizar.

Requerimientos ambientales que definen el entorno deoperación del sistema.

Page 11: Requerimientos_-_2K7_-_2K10

11

ASI - Ingeniería de Requerimientos 21

Requerimientos No Funcionales

• Requerimientos externos: Este apartado cubre todos los requerimientos que se derivan de los factores externos al sistema y de su proceso de desarrollo. Éstos incluyen:

Requerimientos regulatorios que definen lo que debe hacer el sistema para ser aprobado en su uso por su regulador (por ej. un Banco Central).

Requerimientos legislativos que deben seguirse para asegurar que el sistema opere dentro de la Ley.

Requerimientos éticos para asegurar que será aceptado por el usuario y por el público en general.

ASI - Ingeniería de Requerimientos 22

Los problemas con los Requerimientos

• Los requerimientos pueden ser tediosos• Los requerimientos pueden estar desorganizados• Los requerimientos, como lo expresan los

usuarios, pueden ser imprecisos, ambiguos oerróneos

• La captura de requisitos es un proceso continuo.• Los clientes no siempre conocen sus verdaderas

necesidades• Yo entiendo los requerimientos, pero ¿Qué hace

realmente el Sistema?

Page 12: Requerimientos_-_2K7_-_2K10

12

ASI - Ingeniería de Requerimientos 23

Los problemas con los Requerimientos

“No queremos que nos pase esto!”

ASI - Ingeniería de Requerimientos 24

Ingeniería de RequerimientosConcepto

• Es el proceso de descubrir, analizar, documentary verificar los servicios y restricciones que debeconsiderar el sistema a desarrollar.

• Permite una especificación de los requerimientoscompleta, consistente y no ambigua, la cualservirá como base para acuerdos comunes entretodas las partes involucradas y en donde sedescriben las funciones que realizará el sistema.

Page 13: Requerimientos_-_2K7_-_2K10

13

ASI - Ingeniería de Requerimientos 25

Ingeniería de RequerimientosActividades

Actividades de la Ingeniería de Requerimientos

Fuente: Página Web del SIU (Consorcio de Universidades), artículo de Ricardo Williams (Coordinador general del SIU): http://www.siu.edu.ar Modelado

ASI - Ingeniería de Requerimientos 26

Ingeniería de Requerimientos Elicitación

• Concepto: Proceso en donde se adquiere elconocimiento del trabajo del cliente / usuario,se busca comprender sus necesidades y sedetallan las restricciones medioambientales.

• Resultado: el conjunto de los requerimientosde todas las partes involucradas.

• Técnicas: Entrevistas, cuestionarios,observación, análisis de documentos,torbellino de ideas, JAD, etc.

detalle

Page 14: Requerimientos_-_2K7_-_2K10

14

ASI - Ingeniería de Requerimientos 27

Ingeniería de Requerimientos Especificación

• Concepto: Esta etapa es un proceso dedescripción del requerimiento.

• Resultado: Una forma de contrato entre usuariosy desarrolladores que define el comportamientofuncional deseado del software (y otraspropiedades como performance, confiabilidad,etc.) sin mostrar cómo será alcanzada talfuncionalidad ERS - IEEE Std. 830 (1998)

• Técnicas: La técnica más utilizada en elmomento es la de Casos de Uso, con otrasherramientas gráficas complementarias.

ASI - Ingeniería de Requerimientos 28

Ingeniería de Requerimientos Validación

• Concepto: Es el proceso que certifica que seataca el problema correcto. Este proceso final senutre de los anteriores y realiza la integración yvalidación final de lo obtenido en cada una de lasetapas anteriores.

• Resultado: Modelo de requerimientos en líneacon las expectativas de los usuarios.

• Técnicas: Revisiones de requerimientos,prototipos, generación de casos de prueba,análisis de consistencia automático.

Page 15: Requerimientos_-_2K7_-_2K10

15

ASI - Ingeniería de Requerimientos 29

Análisis y Validación

Modelado

Modelos de Requerimientos

Stakeholders

Sistemasexistentes

Documentos,reportes, manuales

Elicitación

Fuentes dela Elicitación

Especificaciónde

Requerimientos

Entregables

Rol del Modelado de Requerimientos en la Ingeniería de Requerimientos

ASI - Ingeniería de Requerimientos 30

Bibliografía

• Sommerville Ian, “Ingeniería de Software”,9na Ed., Addison Wesley - Madrid, 2011.

• Braude Eric, “Ingeniería de Sofware, unaperspectiva orientada a objetos”, año2003,Alfaomega Grupo Editor SA.

• Bramble Paul, artículo “Introduction to Patternsfor Writing Effective Use Cases”.

• Loucopoulos, P., Karakostas, V., “SystemRequeriments Engineering”, McGraw-Hill,1995, London.