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
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
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
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:
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
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
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