Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1...

7
1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos u Entendiendo los requerimientos del cliente para un sistema de software Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 2 Objetivos u Describir diferentes enfoques para descubrir los requerimientos. u Explicar la necesidad de un análisis desde múltiples perspectivas u Ilustrar un enfoque estructurado al análisis de requerimientos u Explicar por qué influyen los factores organizacionales y sociales en los requerimientos del sistema Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 3 Tópicos cubiertos u Análisis orientado a puntos de vista u Análisis basado en métodos u Contexto del sistema u Factores sociales y organizacionales Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 4 Análisis de requerimientos u A veces llamados extracción ó exploración de los requerimientos u Involucra trabajo técnico de grupo con los clien- tes para averiguar el dominio de la aplicación, los servicios que el sistema debe proporcionar y las restricciones operacionales propias del sistema u Debe involucrar a los usuarios finales, administradores, ingenieros de mantenimiento, etc. Quienes son llamados líder especialista stakeholders” Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 5 Problemas del análisis de requerimientos u Los especialistas (stakeholders) no saben realmente lo que quieren u Éstos expresan requerimientos en sus términos propios u Diferentes especialistas pueden tener reque- rimientos en conflicto u Los factores políticos y organizacionales pueden influir en los requerimientos del sistema u Los requerimientos cambian durante el proceso de análisis. Y pueden surgir nuevos especialistas Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 6 El proceso de análisis de requerimientos Requirements validation Domain understanding Prioritization Requirements collection Conflict resolution Classification Requirements definition and specification Process entry

Transcript of Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1...

Page 1: Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos

1

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1

Análisis de Requerimientos

u Entendiendo los requerimientosdel cliente para un sistema desoftware

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 2

Objetivos

u Describir diferentes enfoques para descubrir losrequerimientos.

u Explicar la necesidad de un análisis desdemúltiples perspectivas

u Ilustrar un enfoque estructurado al análisis derequerimientos

u Explicar por qué influyen los factoresorganizacionales y sociales en los requerimientosdel sistema

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 3

Tópicos cubiertos

u Análisis orientado a puntos de vista

u Análisis basado en métodos

u Contexto del sistema

u Factores sociales y organizacionales

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 4

Análisis de requerimientos

u A veces llamados extracción ó exploración de losrequerimientos

u Involucra trabajo técnico de grupo con los clien-tes para averiguar el dominio de la aplicación, losservicios que el sistema debe proporcionar y lasrestricciones operacionales propias del sistema

u Debe involucrar a los usuarios finales,administradores, ingenieros de mantenimiento,etc. Quienes son llamados líder especialista“stakeholders”

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 5

Problemas del análisis derequerimientos

u Los especialistas (stakeholders) no sabenrealmente lo que quieren

u Éstos expresan requerimientos en sus términospropios

u Diferentes especialistas pueden tener reque-rimientos en conflicto

u Los factores políticos y organizacionales puedeninfluir en los requerimientos del sistema

u Los requerimientos cambian durante el procesode análisis. Y pueden surgir nuevos especialistas

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 6

El proceso de análisis de requerimientos

Requirementsvalidation

Domainunderstanding Prioritization

Requirementscollection

Conflictresolution

Classification

Requirementsdefinition andspecification

Processentry

Page 2: Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos

2

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 7

Actividades del proceso

u Comprensión del dominio

u Colección de requerimientos

u Clasificación

u Solución de conflictos

u Priorización

u Validación de requerimientos

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 8

Modelos del sistema

u Diferentes modelos pueden producirse durante laactividad de análisis de requerimientos

u El análisis de requerimientos puede involucrartres actividades estructurales las cuales resultanen los diferentes modelos siguientes:• Particionamiento. Identifica las relaciones estructurales entre las

entidades

• Abstracción. Identifica las generalidades entre las entidades

• Proyección. Identifica diferentes modos de ver un problema

u Modelos del sistema cubiertos en el Capítulo 6

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 9

Análisis orientado a puntos devista

u Los especialistas representan diferentes modos dever un problema ó los diferentes puntos de vistade un problema

u Este análisis de múltiple perspectiva es muyimportante ya que no hay un modo correcto ysencillo para analizar los requerimientos delsistema

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 10

Sistema de cajero automático

u El ejemplo usado aquí es un sistema de cajeroautomático que provee algunos serviciosbancarios

u Se emplea un sistema muy simplificado el cualofrece algunos servicios a clientes del bancopropietario del sistema y a otros clientes unpequeño conjunto de servicios

u Los servicios incluyen disposición de efectivo,solicitar un servicio (enviando un mensaje),estados de cuenta y transferencia de fondos

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 11

Puntos de vista sobre el sistema de cajeroautomático

u Clientes del banco

u Representantes de otros bancos

u Ingenieros de mantenimiento en hardware ysoftware

u Departamento de mercadotecnia

u Administradores del banco y contadores

u Administradores de base de datos y seguridad

u Ingenieros de comunicaciones

u Departamento de personal

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 12

El problema de múltiples puntosde vista

Problemto be

analysed

Page 3: Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos

3

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 13

Tipos de puntos de vista

u Fuentes de datos• Los puntos de vista, son responsables de producir ó consumir

datos. El análisis implica verificar qué datos son producidos yconsumidos y qué suposiciones sobre las fuentes o sumideros dedatos son validas

u Estructuras de representación• Los puntos de vista representan tipos particulares de modelos de

sistemas. Estos pueden ser comparados a explorarrequerimientos que serían olvidados empleando unarepresentación simple. Particularmente apropiado para sistemasde tiempo real

u Receptores de los servicios• Los puntos de vista son externos al sistema y reciben servicios

de éste. Es más apropiados para sistemas interactivos Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 14

Puntos de vista externos

u Es natural pensar en los usuarios finales comoreceptores de los servicios del sistema

u Los puntos de vista son un medio natural deestructurar la obtención de requerimientos

u Es relativamente fácil decidir si un punto de vistaes válido

u Puntos de vista y servicios pueden ser pedidospara estructurar requerimientos no funcionales

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 15

Análisis basado en métodos

u Ampliamente usado para aproximarse al análisisde requerimientos. Depende de la aplicación deun método estructurado para entender el sistema

u Los métodos tienen diferentes énfasis. Algunosestán diseñados para obtener los requerimientos,otros son métodos de diseño

u Un método orientado a puntos de vista (VORD)es usado como ejemplo aquí. Esto también ilustrael uso de los puntos de vista

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 16

Métodos estructurados

u Modelos de proceso

u Notaciones para modelado del sistema

u Reglas aplicadas al modelo del sistema

u Diseño de apuntes

u Plantilla de Reportes

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 17

El método VORD

Viewpointidentification

Viewpointstructuring

Viewpointdocumenta tion

Viewpointsystem mapping

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 18

Modelo de proceso VORD

u Identificación de puntos de vista• Explorar los puntos de vista que reciben servicios del sistema e

identificar los servicios proporcionados a cada punto de vista

u Estructurar los puntos de vista• Agrupar los puntos de vista relacionados en jerarquías. Los

servicios comunes son proporcionados en los niveles más altosde la jerarquía

u Documentación de los puntos de vista• Refina la descripción de los puntos de vista y los servicios

identificados

u Representación de los puntos de vista• Transformar el análisis a un diseño orientado a objetos

Page 4: Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos

4

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 19

Formatos VORD estándarViewpoint template Service template

Reference: The viewpoint name. Reference: The service name.Attributes: Attributes providing

viewpoint information.Rationale: Reason why the service is

provided.Events: A reference to a set of event

scenarios describing howthe system reacts toviewpoint events.

Specification: Reference to a list of servicespecifications. These maybe expressed in differentnotations.

Services A reference to a set ofservice descriptions.

Viewpoints: List of viewpoint namesreceiving the service.

Sub-VPs: The names of sub-viewpoints.

Non-functionalrequirements:

Reference to a set of non -functional requirementswhich constrain the service.

Provider: Reference to a list of systemobjects which provide theservice.

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 20

Identificación de puntos de vista

Querybalance

Gettransactions

Cashwithdrawal

Transactionlog

Machinesupplies

Cardreturning

Remotesoftwareupgrade

Ordercheques

Userinterface

Accountinformation

Messagelog Software

size Invaliduser

System cost Printer Security

Cardretention

Stolencard

Orderstatement

Remotediagnostics Reliability

Updateaccount

Fundstransfer

Messagepassing

Cardvalidation

Customerdatabase

Manager

Accountholder

Foreigncustomer

Hardwaremaintenance

Bankteller

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 21

Información de servicios de los puntosde vista

FOREIGNCUSTOMER

Withdraw cashQuery balance

Service list

Withdraw cashQuery balanceOrder chequesSend messageTransaction listOrder statementTransfer funds

Service list

Run diagnosticsAdd cashAdd paperSend message

Service list

ACCOUNTHOLDER

BANKTELLER

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 22

Datos/Control a Puntos de vista

Start transactionCancel transactionEnd transactionSelect service

Card detailsPINAmount requiredMessage

Control input Data inputACCOUNTHOLDER

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 23

Jerarquía de puntos de vista

EngineerManagerTellerForeigncustomer

Accountholder

Services

Order chequesSend messageTransaction listOrder statementTransfer funds

Customer Bank staff

All VPs

Services

Query balanceWithdraw cash

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 24

Plataforma cliente/disposición de efectivoCustomer

Account numberPINStart transactionSelect serviceCanceltransactionEnd transaction

Cash withdrawalBalance enquiry

Account holderForeigncustomer

Reference:

Attributes:

Events:

Services:

Sub-VPs:

Cash withdrawal

To improve customer serviceand reduce paperwork

Users choose this service bypressing the cash withdrawalbutton. They then enter theamount required. This isconfirmed and, if funds allow,the balance is delivered.

Customer

Deliver cash within 1 minuteof amount being confirmed

Filled in later

Reference:

Rationale:

Specification:

VPs:

Non-funct.requirements:

Provider:

Page 5: Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos

5

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 25

Análisis de datos y control

Validate user

Request PIN

SelectserviceTimeout

Return card

Invalid card

Return card

Stolen card

Retain card

Incorrect PIN

Re-enter PIN

Incorrect PIN

Return card

Card

PIN

Card present

Accountnumber

PIN

Accountnumber

Valid cardUser OK

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 26

Notación para análisis de datos y control

u Elipses. datos proporcionados de ó para un puntode vista

u Control de información, los datos entran y/o salende la tapa de cada cuadro

u Los Datos salen por la derecha de cada cuadro

u Las excepciones son mostradas en el fondo decada cuadro

u El nombre del evento siguiente está en el cuadrode orillas gruesas

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 27

Descripción de excepciones

u La mayoría de los métodos no incluyenfacilidades para describir las excepciones

u En este ejemplo las excepciones son• Tiempo transcurrido. El cliente no insertó su NIP en un tiempo

razonable

• Tarjeta inválida. La tarjeta no es reconocida y es devuelta

• Tarjeta robada. La tarjeta está registrada como robada y esretenida por el cajero

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 28

Ventajas/desventajas del método

u Los métodos imponen una estructura al procesode analizar los requerimientos

u Puede ser soportado por herramientas CASE

u Puede ser aplicado sistemáticamente y puedellevar naturalmente a un diseño

u Sin embargo, obliga al modelado del sistema ausar una estructura computacional

u Los métodos fallan al proporcionar una adecuadadescripción de actividades humanas

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 29

Contexto del sistema

u Los límites del sistema deben ser establecidospara determinar lo que debe ser implementado

u Éstos son documentados usando una explicacióndel contexto del sistema. Esto debe incluir unadescripción de los otros sistemas que están en elambiente

u Los factores organizacionales y sociales puedeninfluir la definición de los límites del sistema

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 30

Contexto del sistema de cajero

Auto-tellersystem

Securitysystem

Maintenancesystem

Accountdatabase

Usagedatabase

Branchaccounting

system

Branchcountersystem

Page 6: Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos

6

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 31

Factores sociales yorganizacionales

u Los sistemas de software son usados en uncontexto social y organizacional. Esto puedeinfluir o aun dominar los requerimientos delsistema

u Los factores sociales y organizacionales no sonsólo puntos de vista, sino que su influyen sobretodos los puntos de vista

u Un buen análisis debe ser sensitivo a esosfactores pero actualmente no hay un modosistemático de abordar su análisis

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 32

Ejemplo

u Considere un sistema que permite aladministrador senior acceder a la información sinpasar a través de los administradores intermedios• El estatus administrativo. Los administradores Senior pueden

sentir que son muy importantes para tocar un teclado. Estopuede limitar el tipo de interface empleada en el sistema

• Las responsabilidades administrativas. Los administradorespueden tener tiempo ininterrumpido para aprender a manejar elsistema

• Resistencia organizacional. Los directivos intermedios quienesserán consultados pueden proporcionar deliberadamenteinformación incompleta ó equivocada, así que el sistema puedefallar

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 33

Análisis etnográfico

u Un científico social pasa un tiempo considerableobservando y analizando cómo trabaja la gente

u Las personas no tienen que explicar o articular sutrabajo

u Los factores sociales y organizacionales deimportancia deben ser observados

u Estudios etnográficos han mostrado que el trabajousualmente es más abundante y más complejoque lo sugerido por los modelos de sistemassencillos

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 34

Enfoque Etnográfico

u Desarrollado en un proyecto de estudio delproceso de control de tráfico aéreo

u Combina tecnología con prototipado

u El desarrollo de un prototipo trasciende enpreguntas sin respuesta lo cual enfoca el análisisetnográfico

u El problema con la etnografía es que estudia laspracticas existentes, las cuales pueden teneralguna base histórica que ya no es relevante

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 35

Desarrollo de la etnografía

u El uso de la etnografía en el análisis derequerimientos necesita ser desarrollado tal quepueda ser combinado con métodos mássistemáticos

u Conforme la importancia de los factoreshumanos, sociales y organizacionales se vuelvenmás ampliamente reconocidos, estos métodosson promisoriamente desarrollados

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 36

Etnografía y análisis estructurado

Structuredanalysis

Ethnographicanalysis

Prototypeevaluation

Systemprototyping

Requirementsspecification

Page 7: Análisis de Requerimientos Objetivos Entendiendo los ...fgonza/courses/2003/ingSoft1/CAP5.pdf · 1 Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 1 Análisis de Requerimientos

7

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 37

Resumen

u El análisis de requerimientos solicitaentendimiento, colección de requerimientos,clasificación, organización, priorización yvalidación

u Los sistemas complejos deben ser analizadosdesde diferentes puntos de vista

u Los puntos de vista pueden estar basados enfuentes y sumideros de datos, modelos delsistema ó interacción externa

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 38

Resumenu Deben emplearse métodos estructurados en el

análisis de requerimientos. Éstos deben incluir unmodelo del proceso, notaciones de modelado delsistema, reglas y apuntes para el modelado delsistema y reportes estándar

u El método VORD orientado a puntos de vistaaísla los puntos de vista que son externos alsistema

Ingenieria de Software, 5a edicion. Capitulo 5 Diapositiva 39

Resumen

u Los límites entre el sistema y su ambiente debenser definidos

u Los factores sociales y organizacionales tienenmucha influencia en los requerimientos