Professional Documents
Culture Documents
Captura y
Modelado de
Requerimientos.
3.1- Captura de
requisitos, objetivo de
la captura de requisitos
Conceptos Bsicos:
Requerimiento:
Unrequerimientoesunacaractersticadelsistemaounadescripcinde
algo que el sistema es capaz de hacer con el objeto de satisfacer el
propsitodelmismo.
Analizarrequerimientosesmuchomsquedejarescritomeramenteloque
quieren los clientes. Es difcil saber exactamente lo que el sistema debe
hacer.
Los requerimientos son caractersticas que deben incluirse en un nuevo
sistemaconsiderando:
descripcionesdeserviciosodeaquelloqueelsistemaescapazde
hacer,
PropsitosdelosRequerimientos:
1.Permitenquelosdesarrolladoresexpliquencmohanentendido
loqueelclientepretendedelsistema.
2.Indicanalosdiseadoresqufuncionalidadycaractersticasvaa
tenerelsistemaresultante.
CaractersticasdelosRequerimientos:
Como plantea Shari Pleeger en su libro Ingeniera de Software (ver
bibliografa), para asegurar que los desarrolladores y los clientes
comprendan y utilicen correctamente los requerimientos es importante
queestosltimosseandealtacalidad.
Con este objetivo debe comprobarse que los requerimientos posean las
siguientescaractersticas:
Correcto: Tanto los clientes como los desarrolladores deben revisar los
requerimientosdefinidosparaasegurarsequenocontenganerrores.
Consistente:Unrequerimientoesconsistentesinoescontradictoriocon
otrorequerimiento.PorejemplosiunrequerimientodicequeHabrun
mximo de 10 puestos de trabajo simultneos y otro requerimiento
expresaqueParaprocesarlospagosenfechadevencimientosepodr
trabajar con 12 puestos simultneos, estos requerimientos son
inconsistentes.
Completo: Un requerimiento est completo si no necesita ampliar
detalles en su redaccin para su comprensin. Un conjunto de
requerimientos es completo si todos los estados posibles, cambios de
estado,entradas,productosyrestriccionesestndescriptosenalgunode
losrequerimientos.
Realista:Debecomprobarsequeelsistemapuedahacerloqueelcliente
estpidiendo.Aveces,cuandoeltiempodedesarrolloeslargo,elcliente
intenta anticiparse a las mejoras en tecnologas disponibles e impone
requerimientos sobre el estado del arte. Todos los requerimientos deben
serrevisadosparaasegurarquesonposibles.
Necesario: Un requerimiento es necesario si su omisin provoca una
deficiencia en el sistema a construir. En ocasiones, un requerimiento
restringe innecesariamente a los desarrolladores o incluye funciones que
noestndirectamenterelacionadasconelproblemaqueseesttratando.
Verificable: Un requerimiento es verificable cuando puede ser
cuantificado de manera que permita hacer uso de distintos mtodos de
verificacin.Debemospoderprepararpruebasquedemuestrenquesehan
cumplimentadolosrequerimientos.
Rastreable: Debe ser posible rastrear cada funcin del sistema hasta el
conjuntoderequerimientosquelaestablece.
Tipos de Requerimientos:
Unaclasificacintpicadelosrequerimientosdeunsistemadesoftwarees
lasiguiente:
1.RequerimientosFuncionales
2.RequerimientosNoFuncionales
1.RequerimientosFuncionales
Definen las funciones que el sistema ser capaz de realizar y describen
cmodebecomportarseelsistemaantedeterminadoestmulo.
Describen la funcionalidad o los servicios que se espera que el sistema
provea, detallando las transformaciones que el sistema realiza sobre las
entradasparaproducirsalidas.
Ejemplos:
a)ParaunSistemadeProcesamientodeTransacciones
Elsistemadeber:
Registrarlospedidosdelosclientes.
Administrardatosdelosclientes.
Generarfacturasdeventa.
EmitirReportesdeVentasenunrangodefechadado.
Administrardatosdelosproductosquesecomercializany
sustockactual.
Registrarmovimientosdestockdecadaproducto.
2.RequerimientosNoFuncionales:
Sonrestriccionesdelosserviciosofuncionessobreelsistemaquelimitala
eleccindealternativasenlaetapadediseoyconstruccindelsistema.
Los requerimientos no funcionales son caractersticas que de una u otra
forma pueden limitar el sistema, como por ejemplo, el rendimiento (en
tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema,
disponibilidad de equipo), mantenimiento, seguridad, portabilidad,
estndares,entreotras.
Ejemplos:
a)ParaunSistemadeProcesamientodeTransacciones
Elsistemadeber:
Operarenunentornodered.
Definir distintos niveles de usuario y asignar permisos de acceso
segnelniveldelosmismos.
AlmacenarlosdatosenunabasededatosRelacional.
b)ParaunSistemadeunVideojuego:1
Elsistemadeber:
OperarenunacomputadoraconsistemaoperativoWindows98o
superior.
Operarenunequipoconunmnimode512Kbdememoria.
EllenguajedeimplementacindeberserJAVA.
Clasificacin de Requerimientos No
Funcionales
La figura que se muestra a continuacin contiene una clasificacin de los
requerimientos no funcionales presentada por Ian Sommerville (2002) en
sulibroIngenieradeSoftware(verbibliografa).
Fuente:LibroIngenieradeSoftwareIanSommerville(2002),Pg.102
Comentamosacontinuacinlascaractersticasgeneralesdelosprincipales
tiposderequerimientosnofuncionales:
RequerimientosdelProducto:
Requerimientosorganizacionales:
Requerimientosexternos:
Ingeniera de Requerimientos
Concepto
Eselprocesodedescubrir,analizar,documentaryverificarlosserviciosy
restricciones que debe considerar el sistema a desarrollar. En otras
palabras, la ingeniera de requerimientos esun proceso que comprende
todaslasactividadesrequeridasparacrearymantenerundocumentode
requerimientosdelsistema.
Permiteunaespecificacindelosrequerimientoscompleta,consistentey
noambigua,lacualservircomobaseparaacuerdoscomunesentretodas
laspartesinvolucradasyendondesedescribenlasfuncionesquerealizar
elsistema.
La siguiente figura ilustra el esquema de procesos comprendidos por la
IngenieradeRequerimientos.
Fuente:PginaWebdelSIU(ConsorciodeUniversidades),artculodeRicardoWilliams
(CoordinadorgeneraldelSIU,LicenciadoenSistemas,EspecialistaenIngenierade
Software)http://www.siu.edu.ar/infosiu/&edicion=12¬a=75(fechavisitadelsitio:20
092013)
ELICITACIN
Concepto:Procesoendondeseadquiereelconocimientodeltrabajodel
cliente / usuario, se busca comprender sus necesidades y se detallan las
restriccionesmedioambientales.
Resultado: el conjunto de los requerimientos de todas las partes
involucradas.
Tcnicas: Entrevistas, cuestionarios, observacin, anlisis de
documentos,torbellinodeideas,JAD,entrelasprincipales.
ESPECIFICACIN
Concepto: Esta etapa es un proceso de descripcin del requerimiento
durante el cual se producir el documento de especificacin de
requerimientosdelsoftware(ERS).
Resultado:Unaformadecontratoentreusuariosydesarrolladoresque
define el comportamiento funcional deseado del software (y otras
propiedades como performance, confiabilidad, seguridad.) sin mostrar
cmoseralcanzadatalfuncionalidad.Existeunanormaestndarparala
escrituradeldocumentodeespecificacinderequerimientos(ERS)quees
la: IEEE Std. 830 (1998) ( IEEE = Institute of Electrical and Electronics
EngineersInstitutodeIngenierosenElectricidadyElectrnica)
Tcnicas:LatcnicamsutilizadaenelmomentoesladeCasosdeUso,
conotrasherramientasgrficascomplementarias.
VALIDACIN
Concepto:Eselprocesoquecertificaqueseatacaelproblemacorrecto.
Este proceso final se nutre de los anteriores y realiza la integracin y
validacinfinaldeloobtenidoencadaunadelasetapasanteriores.
Resultado:Modeloderequerimientosenlneaconlasexpectativasdelos
usuarios.
Tcnicas:Revisionesderequerimientos,prototipos,generacindecasos
deprueba,anlisisdeconsistenciaautomtico.
Enumerarlosrequisitoscandidatos.
Comprenderelcontextodelsistema.
Encontrarrequisitosfuncionales
Encontrarrequisitosnofuncionales
10
Enumerarlosrequisitoscandidatos
Durante el desarrollo del sistema todos los involucrados en el proyecto
(clientes, usuarios, analistas, desarrolladores y otros) presentan buenas
ideasquepuedenconvertirseenrequisitosverdaderos.
Conviene entonces confeccionar una lista de caractersticas con estas
ideasalasqueconsideramosrequisitoscandidatos.Estalistaseaumenta
con la aparicin de nuevas ideas y disminuye cuando algunas
caractersticasseconviertenenverdaderosrequisitosypasanamodelarse
comocasosdeuso.
Elrestodelospasossetratarnconmsdetalleenlospuntosquesiguen.
11
Elmodeladodelnegocioserealizaparadescribirlosprocesosdelnegocio,
con una visin orientada a objetos, con el objetivo de comprenderlos. El
modelado de negocio es parte de la Ingeniera de Negocios, que es una
tcnica que tiene por objetivo mejorar los procesos de negocio de la
organizacin.
Modelo de Negocio
Unmodelodecasosdeusodelnegociodescribeprocesosdeunnegocioy
susinteraccionesconelexterior.Supropsitoprincipalesdescribircmo
esusadoelnegocioporsususuarios,enestecasosusclientesysocios.
Para nosotros, la principal motivacin para confeccionar un modelo de
negocio ser la posibilidad de derivar, a partir de dicho modelo, los
requerimientosdelsistemadesoftwarequedarsoporteaesesistemade
negocio.
ElmodeladodenegocioestsoportadopordostiposdemodelosdeUML
(definidosenlaextensindeUMLrelativaalNegocio):
12
CasoDeUsoDeNegocio:Esunasecuenciadeaccionesquerealiza
unnegocioparaproducirunresultadoobservabledevalorparaun
actorindividualdelNegocio.Loscasosdeusodenegociocapturay
modelanlosprocesosdenegocio.
Simbologa:
TrabajadorDeNegocio:Representaunroloconjuntoderolesenel
negocio. Un trabajador de negocio interacta con otros
trabajadoresymanipulaentidadesdenegociomientrasparticipaen
lasrealizacionesdeloscasosdeusodenegocio.Puederepresentar:
Una abstraccin de un humano que acta dentro del
negocio.
Una abstraccin del sistema de software que modelamos
como trabajador automatizado cuando el Actor en vez de
comunicarse con un trabajador de negocio humano accede
directamentealsistema.
13
Simbologa:
Cuandoelobjetivoderealizarunmodelodenegocioesfundamentalmente
derivar el sistema de informacin de soporte nos concentraremos en
modelar entidades de negocio del tipo c) y dejaremos de lado las que
representan cosas ms bien fsicas. De esta manera las entidades de
negocioseutilizanpararepresentarlosmismostiposdeconceptosquelas
clasesdeldominio(quepodemosmodelarmedianteundiagramadeclases
comoyasevioenlaUnidad1)
Simbologa:
14
EjemplodeModelodeCasosdeUsodeNegocio
EjemplosdeModelodeObjetosdelNegocio
a)Diagramadecolaboracindenegocio:
Muestraunarealizacindecasodeusodelnegocio.
15
b)Diagramadeentidadesdenegocio:
Esundiagramadeclasesquemodelalasentidadesdenegocio.
Enestediagramapuedenbosquejarselosatributosyresponsabilidadesde
lasentidadesdenegociocomoclasesdelDominiodeProblema.
c)Diagramadetrabajadoresdenegocio:
Es un diagrama de clases que modela los trabajadores de negocio,
indicandosusatributosyresponsabilidades.
16
Losmodelosdenegociopodranservircomoentradaalavistadecasosde
uso y a la vista lgica. (Recordar vistas de la arquitectura con UML que
tratamosenlaUnidad2).
17
b)Lasresponsabilidadesdeltrabajadordenegocioautomatizadopasarna
sercasosdeusodelsistemadeinformacin.
18
Modelo de Dominio
Otro de los elementos tiles a la hora de comprender el contexto del
sistema, adems del Modelo de Negocio, es contar con un modelo de
dominio.
El Modelo de Dominio (tambin llamado Modelo de Objetos del Dominio
de Problema y frecuentemente encontrado por las siglas MODP) captura
19
Entidadesdelnegocioquerepresentancosasquesemanipulanen
elnegociocomopedidos,cuentas,contratos.
Sucesosqueocurrirnohanocurrido,comolapartiday/ollegada
deunavin,unsiniestroenunacompaadeseguros.
Utilidaddelmodelodedominio
El modelado del dominio debe contribuir a la comprensin del problema
quesesuponequeelsistemaresuelve.Paradesarrollarestemodelodebe
conformarse un equipo en el que estn presentes tanto los expertos del
dominio(usuarios)comogenteconexperienciaenmodelado,coordinado
porlosanalistasdeldominio.
El modelo de dominio ayuda a los usuarios, clientes, desarrolladores y
otros participantes del proyecto a utilizar un vocabulario comn. La
terminologa comn es necesaria para compartir el conocimiento con los
otros.
Lasclasesdeldominioqueaquseencuentrenseutilizarnaldescribirlos
casosdeusoydisearelprototipodeinterfazdeusuario(dentrodelflujo
de trabajo de Requisitos) y para sugerir clases internas al sistema en
desarrolloduranteelAnlisis.
20
Pautasparasuconstruccin
Seenumeranacontinuacinalgunaspautas,enformadeconsejosaseguir
cuandoseestconfeccionandoundiagramadeclases:
Debecontenersloloselementosesencialesparacomprenderese
aspecto.
Sedebendistribuirsuselementosdemododeminimizarloscruces
delneas.
SemuestraacontinuacinelModelodeObjetosdelDominiodeProblema
de una empresa de venta de discografa, que se est utilizando para
diversosejemplos.
21
22
3.3- Captura de
requerimientos
Siguiendoconelprocesodecapturaderequerimientos,habiendorealizado
ya la enumeracin de requisitos candidatos y obtenido una comprensin
delcontextodelsistema(medianteunmodelodenegocioy/ounmodelo
dedominio),continuamosconlaidentificacinderequisitosfuncionalesy
nofuncionales,principalmentemediantelatcnicadecasosdeuso.
23
de40puestosdetrabajosimultneos,esunrequerimientoqueafectaen
generalatodosloscasosdeusoyaningunoenparticular.
24
9 Glosario
9 Prototipodelainterfazdelusuario
Trabajadores:Lostrabajadoresresponsablesporlosartefactosque
seproducenenelmodeladodecasosdeusoson:
9 AnalistadeSistemas.
9 Especificadordecasosdeuso.
9 Diseadordeinterfazdeusuario.
9 Arquitecto.
Elsiguientegrficomuestralosartefactosdelmodeladodecasosdeusoy
lostrabajadoresresponsablesdecadauno:
Fuente:LibroElProcesoUnificadodeDesarrollodeSoftware,IvarJacobsonyotros,
(2000),Pg.127
25
Lasiguientefiguramuestraungrficoqueindicaelflujodetrabajoparala
actividadderequisitosenelPUD,incluyendolostrabajadoresparticipantes
ysusactividades:
Fuente:LibroElProcesoUnificadodeDesarrollodeSoftwareIvarJacobsonyotros,
(2000)Pg.136
Acontinuacinserealizarunadescripcindecadaunodelosartefactos,
poniendo nfasis en los principales y luego se describirn las actividades
comprendidasenesteFlujodeTrabajodeRequisitos.
26
Actor
Unactoreselrolquejuegaunusuarioenuncasodeuso.Normalmente,
un actor representa un rol que es representado por una persona, un
dispositivo de hardware o incluso otro sistema al interactuar con nuestro
sistema.
Elmodelodecasosdeusodescribeloquehaceelsistemaparacadatipo
deusuario.Cadausuariopuederepresentarseporunoomsactores.Dela
misma forma cada sistema externo que interacta con el sistema en
desarrollopuederepresentarseporunoomsactores.
Cadarol(actor)defineloquehaceuntrabajadordelnegocioenunproceso
concreto.Cadavezqueunusuarioenconcreto(unhumanouotrosistema)
interacta con el sistema, la instancia correspondiente del actor est
desarrollando ese papel. Una instancia de un actor es, por lo tanto, un
usuarioconcretoqueinteractaconelsistema.
Podemosdistinguirlasiguienteclasificacindeactoressegnelobjetivoa
cumplirenrelacinaloscasosdeuso:
Simbologa:
27
Glosario
Se puede utilizar un glosario para definir trminos comunes importantes
quelosanalistasyotrosdesarrolladoresutilizanaldescribirelsistema.Un
glosario es muy til para lograr consenso en la definicin de distintos
conceptosyparareducirelriesgodeconfusiones.
Descripcindelaarquitectura
Ladescripcindelaarquitecturacontieneunavistadelmodelodecasosde
uso,querepresentaloscasosdeusosignificativos.
La vista de la arquitectura del modelo de casos de uso debera incluir los
casos de uso que describan alguna funcionalidad importante y crtica, o
que impliquen algn requisito importante que deba desarrollarse pronto,
dentrodelciclodevidadelsoftware.
Estavistadelaarquitecturaseutilizacomoentradacuandosepriorizanlos
casosdeusoparasudesarrollodentrodecadaiteracin.
Fuente:LibroElProcesoUnificadodeDesarrollodeSoftwareIvarJacobsonyotros,
2000,Pg.133
28
CasodeUso
Uncasousorepresentacadaformaenquelosactoresusanelsistema.Los
casosdeusosonfragmentosdefuncionalidadqueelsistemaofrecepara
aportarunresultadodevalorparasusactores.Uncasodeusoespecifica
una secuencia de acciones que el sistema puede llevar a cabo
interactuandoconsusactores.
Por lo expresado, un caso de uso es una especificacin. Especifica el
comportamiento de elementos dinmicos, en este caso instancias de
casosdeuso.Unainstanciadeuncasodeusoeslarealizacin(oejecucin)
deuncasodeuso.
Podemosestablecerlacategoradeloscasosdeusocomo:
Esenciales:Describenlafuncionalidadprincipaloesencialquetiene
que cumplir el sistema. Comprenden los principales procesos que
debeejecutarelsistemadeinformacin.
Otraformadeclasificarloscasosdeusoeslasiguiente:
Concreto:Selellamaasalcasodeusoqueesiniciadoporunactor
yqueconstituyeunflujodeeventoscompleto.
Abstracto:Eselcasodeusoquenoesiniciadonuncaporunactor,
sinoquenicamenteesinstanciado(iniciado)porotrocasodeuso.
Surgen a partir de relaciones de extensin, inclusin o
generalizacin.
Ladescripcindeuncasodeusopuedeincluir:
Diagramasdeestados:Especificanelciclodevidadelasinstancias
decasosdeuso.
29
EldiagramaUMLquemodelaloscasosdeusoeseldiagramadecasosde
uso.
Prototipodeinterfazdelusuario
Los prototipos de interfaz del usuario nos ayudan a comprender y
especificarlasinteraccionesentreactoreshumanosyelsistemadurantela
capturaderequisitos.Noslonosayudaadesarrollarunainterfazgrfica
mejor,sinoacomprendermejorloscasosdeuso.
Paraespecificarlainterfazdeusuariopuedenutilizarsemodelosdeinterfaz
grficayesquemasdepantallas.
El tema de los prototipos de interfaz se ampla en el punto 3.5 de esta
unidad.
30
SimbologadelDiagramadeCasosdeUso
Enlasiguientefigurasemuestranlosdistintoselementosquepuedenestar
presentesenundiagramadecasosdeuso.
Nombredecasodeuso
Cada caso de uso debe tener un nombre que lo distinga de los dems.
Puedeserunnombresimple(unasimplecadenadetexto)ounnombrede
camino(path)enelcasodequeestprecedidoporelnombredelpaquete
enqueestincluidoelcasodeuso.
Losnombresdecasosdeusosonexpresionesverbalesquedescribenalgn
comportamiento del vocabulario del sistema que se est modelando. Se
aconseja que el nombre del caso se uso comience con un verbo en
infinitivo.
Nombredeactor
El nombre del actor debe reflejar el rol que cumple un usuario al
interactuarconelcasodeusoalqueestconectadoynodebereflejaraun
usuarioenparticular.
RelacindeGeneralizacinentreactores
Puedendefinirsecategorasgeneralesdeactoresyespecializarlosatravs
derelacionesdegeneralizacin.Losactoresespecializados(hijos)heredan
elcomportamientodelactorpadre.
31
Siuncasodeusoesinstanciadoporelactorpadrepuedeserinstanciado
porcualquieradesushijos.Ahorabienpodrahabercasosdeusoqueson
instanciadosporunodelosactoreshijoenparticular.
Relacionesentrecasosdeuso
Los casos de uso pueden organizarse especificando relaciones de
generalizacin,inclusinyextensinentreellos.Estasrelacionesseutilizan
para:
Factorizar el comportamiento comn (extrayendo ese
comportamientodeloscasosdeusoenlosqueseincluye)
Factorizarvariantes(poniendoesecomportamientoenotroscasos
deusoqueloextienden).
Simplificar un caso de uso extrayendo una parte compleja y
ubicndolaenotrocasodeuso.
Relacindegeneralizacinentrecasosdeuso
La generalizacin entre casos de uso es como la generalizacin entre
clases. En este contexto significa que el caso de uso hijo hereda el
comportamientodelcasodeusopadre.Elhijopuedemodificary/oagregar
comportamientoalheredado.
La generalizacin se emplea para simplificar la forma de trabajo y la
comprensin del modelo de casos de uso y para reutilizar casos de uso
32
Relacindeinclusinentrecasosdeuso
Unarelacindeinclusinentrecasosdeusosignificaqueuncasodeuso
baseincorporaexplcitamenteelcomportamientodeotrocasodeusoen
el lugar especificado en el caso base. El caso de uso incluido nunca es
instanciado por un actor, sino que es instanciado por el/los casos de uso
queloincluyen.Porello,uncasodeusodeinclusinessiempreuncasode
usoabstracto.
Lasecuenciadecomportamientoylosatributosdelcasodeusoincluidose
encapsulan y no pueden modificarse o accederse, solamente puede
utilizarseelresultado (o funcin) del caso de uso incluido. El caso de uso
base llama al caso de uso incluido el cual se ejecuta y luego el control
vuelvealcasodeusobase.
33
Relacindeextensinentrecasosdeuso
Unarelacindeextensinentrecasosdeusosignificaqueuncasodeuso
baseincorporaimplcitamenteelcomportamientodeotrocasodeuso.El
caso de uso base puede ejecutarse aisladamente, pero bajo ciertas
condiciones su funcionalidad ser extendida por la del caso de uso de
extensin.
Laextensinpuedeversecomoqueelcasodeusodeextensinincorpora
su comportamiento enel caso de uso base. Una relacin de extensin se
utiliza paramodelar laparte de un caso de uso que el usuario puede ver
como comportamiento opcional del sistema. De esta forma se separa el
comportamiento opcional del obligatorio. Tambin puede utilizarse para
34
ActividadesdelFlujodeTrabajodeRequisitos
Cuando los trabajadores ejecutan las actividades, crean y modifican
artefactos. Describimos un flujo de trabajo como una secuencia de
actividadesqueestnordenadas,demodoqueunaactividadproduceuna
salidaquesirvedeentradaalasiguiente.Apesardeello,enelmundoreal
35
nosiempretrabajamosestrictamenteensecuencia.Sepuedetrabajarpor
mltiplesvasqueproducenunresultadofinalequivalente.
Una actividad puede ser retomada muchas veces (recordemos que
estamosenunprocesodedesarrolloiterativo)ycadaunadestaspuede
acarrear la ejecucin de un solo fragmento de la actividad. Por ejemplo
cuando retomamos la actividad Encontrar actores y casos de uso, el
nuevo resultado puede ser solamente una identificacin adicional de un
casodeuso.
Las distintas actividades en el modelado de casos de uso adoptan
diferentesformasendiferentesfasesdelproyecto.Porejemplo,cuandoun
analistadesistemasejecutalaactividaddeEncontraractoresycasosde
usodurantelafasedeinicio,identificarmuchosactoresycasosdeuso
nuevos.Perocuandolaactividadserealicedurantelafasedeconstruccin,
el analista har principalmente cambios secundarios en el conjunto de
actoresycasosdeuso.
Se describen a continuacin las actividades que se realizan en el flujo de
trabajoderequisitos.
ENCONTRARACTORESYCASOSDEUSO
Laidentificacindeactoresycasosdeusoeslaactividadmsdecisivapara
obteneradecuadamentelosrequisitosyesresponsabilidaddelanalistade
sistemas.
Para realizar esta actividad, si se dispone de un modelo de negocio, se
puedeobtenerunborradordelmodelodecasosdeusoenformabastante
directa.Otrasvecessepuedepartirdelmodelodedominioosimplemente
deunaespecificacindelascaractersticasqueserequierendelsistema.
Estaactividadpuededescomponerseencuatropasos:
1.Encontrarlosactores
2.Encontrarloscasosdeuso
3.Describirbrevementeloscasosdeuso
4.Describirelmodelodecasosdeusocompleto
1.Encontrarlosactores:
Haydoscriteriostilesalahoradeelegirloscandidatosaactores:
36
37
formalmenteelcasodeuso,enprimerainstanciaconunaspocasfrasesy
msadelanteseharunadescripcindetallada.
4.Describirelmodelodecasosdeusocompleto:
Estatareaconsisteenelaborardiagramasydescripcionesparaexplicarel
modelodecasosdeusoentotalidad.
Nohayunareglaestrictaqueindiquequsedebeincluirenundiagrama
(considerandounsistemamedianamentecomplejoenelquenosepueden
incluirtodosloscasosdeusoensolodiagrama).Podemostenerdiagramas
por cada proceso de negocio, o reunir todos los casos de uso en los que
intervieneunmismoactor.
Elmodelodecasosdeusopuedeorganizarseenconjuntosdecasosdeuso
conformandopaquetesdecasosdeuso.
PRIORIZARCASOSDEUSO
El propsito de esta actividad es determinar cules casos de uso son
necesarios para el desarrollo en las primeras iteraciones y cules pueden
dejarseparamsadelante.
Los resultados de esta actividad conforman la vista de la arquitectura del
modelodecasosdeuso,queesrevisadaporeljefedeproyectoyseutiliza
comobaseparalaplanificacindeunaiteracin.
DETALLARCASOSDEUSO
El objetivo de esta actividad es detallar el flujo de sucesos en detalle,
incluyendocmocomienza,terminaeinteractanconlosactores.
Conelmodelodecasosdeusocomopuntodepartidaelespecificadorde
uncasodeusoindividualpuedecomenzaradescribircadacasodeusoen
detalle,especificandolasecuenciaprecisadeacciones.
Hay varias formas y herramientas con las que se puede realizar la
descripcin de un caso de uso. Independientemente de la forma elegida
para describir el caso de uso, debe verificarse que la descripcin siempre
incluyalosiguiente:
9 Elestadoinicial,comoprecondicin.
9 Cmoycundocomienzaelcasodeuso(esdecir,laprimeraaccin
aejecutar).
9 El orden requerido en el que las acciones de deben ejecutar
(determinadoenformadesecuencianumerada).
38
9
9
9
9
Cmoycundoterminanloscasosdeuso.
Losposiblesestadosfinales,comopostcondiciones.
Loscaminosdeejecucinquenoestnpermitidos.
Lasdescripcionesdecaminosalternativosqueestnincluidosjunto
conladescripcindelcaminobsico.
9 Lasdescripcionesdecaminosalternativosquehansidoextradosde
ladescripcindelcaminobsico.
9 Lainteraccindelsistemaconlosactoresyqucambiosproducen.
9 Lautilizacindeobjetos,valoresyrecursosdelsistema.
9 La descripcin explcita de lo que hace el sistema, separando las
responsabilidadesdelsistemadelasaccionesdelosactores.
Acontinuacindemuestraunaplantillaquecubreestosaspectosyresulta
muy til para realizar una descripcin detallada de un caso de uso,
incluyendolasreferenciasaloscasosdeusoconlosquetienerelaciones
deextensin,inclusin,generalizacin.
Hay diferentes formatos que se pueden utilizar para una plantilla
descriptiva de caso de uso, el siguiente es simplemente una propuesta;
mientras se respeten los tems esenciales que deben incluirse en la
descripcin, tal como se enunciaron en el prrafo anterior, se pueden
agregaroquitarseccionessegnlasnecesidadesopreferenciasdelequipo
deespecificacin.
PlantillaparaladescripcindeCasosdeUso
39
40
Diagramasdeestado:Paradescribirlosestadosdeloscasosdeuso
ylastransicionesentreesosestados.
PROTOTIPARLAINTERFAZDELUSUARIO
Hasta aqu, se ha desarrollado el modelo de casos de uso que especifica
qu usuarios hay y para qu necesitan usar el sistema. Ahora, hay que
disearlainterfazdeusuarioquelepermitallevaracaboloscasosdeuso
demaneraeficiente.
Secomienzaconloscasosdeuso,intentandodeterminarqusenecesita
delasinterfacesdeusuarioparahabilitarloscasosdeuso.Estoeshacerun
diseo lgico de la interfaz. Luego se realiza un diseo fsico y se
desarrollanprototipos.
Como ya mencionamos anteriormente, el tema de los prototipos de
interfazseamplaenelpunto3.5deestaunidad.
ESTRUCTURARELMODELODECASOSDEUSO
Elmodelodecasosdeusoseestructurapara:
41
Extraerdescripcionesdefuncionalidadadicionalesuopcionalesque
pueden extender descripciones ms especficas (casos de uso de
extensin).
42
43
3.5- Prototipos de
Interfaz
Concepto y propsito de los prototipos
Unprototipoesunaversininicialdeunsistemadesoftwarequeseutiliza
para demostrar los conceptos, probar opciones de diseo y, en general,
conocermsacercadelproblemayopcionesdesolucin.
TalcomoloplanteaIanSommerville(2002),unprototipodesirvedeapoyo
adosactividadesdentrodelprocesodeingenieraderequerimientos:
1. Obtencin de requerimientos: Los prototipos permiten a los
usuarios experimentar para ver cmo el sistema ayudar a su
trabajo.Lespermiteadquirirnuevasideasparalosrequerimientosy
proponernuevosrequerimientos.
2.Validacinderequerimientos:Unprototipopuederevelarerrores
yomisionesenlosrequerimientospropuestosyespecificados.Con
el uso de prototipos los usuarios a menudo encuentran que su
visininicialfueincorrectaoincompleta,entonceslaespecificacin
del sistema puede modificarse para reflejar el cambio en la
comprensindelosrequerimientos.
Adems de permitir a los usuarios mejorar la especificacin de
requerimientos, el desarrollo de un prototipo del sistema tiene otras
ventajas:
Aunquelimitado,sedisponerpidamentedeunsistemaque
funciona y demuestra la factibilidad y usabilidad de la
aplicacinaadministrar.
44
45
Fuente:LibroIngenieradeSoftwareIanSommerville,2002,Pg.329.
46
Sonfcilesdeaprenderyutilizar.
Consistencia:Lainterfazdebeserconsistenteenelsentidodequelas
operaciones comparables se activan de la misma forma. Por ejemplo
todas las ventanas de registro de datos son similares (ventana para
registrarnuevodisco,nuevosello,nuevognero)
47
Guaalusuario:Cuandoloserroresocurren,lainterfazdebeproveer
retroalimentacin significativa y caractersticas de ayuda sensible al
contexto.Mostrarmensajedeerrorsignificativoparaelusuarioquele
den indicacin sobre cul es el error y cmo subsanarlo o cmo
continuarcorrectamenteconlaaplicacin.
48
Respectodelaformadepresentacindelainformacinalosusuariosenla
interfaz,podemosmencionarbrevemente.
49
Soporte al usuario
Lasinterfacesdeusuariosiempredebenproveeralgunaformadesistema
deayudaenlnea,comomencionamosalenunciarlosprincipiosdediseo
deinterfacesdeusuario.
Los sistemas de ayuda en lnea con una faceta de una parte general del
diseodeinterfacesdeusuario.Elsoportealusuariocubretresreas:
Losmensajesproducidosporelsistemaenrespuestaalasacciones
delusuario
Ayudaenlnea
Ladocumentacinsuministradaconelsistema
50
Mensajes de error
Los mensajes de error del sistema son la primera marca que reciben los
usuarios de un sistema de software. Al hacer su trabajo los usuarios
inexpertospuedencometererroresydemanerainmediatadeberapoder
comprenderelmensajedeerrorresultante.
Los mensajes de error deben tomar en cuenta el conocimiento y la
experienciadelosusuarios.Podemostener:
Contenido:Eltextodeunsistemadeayudasepreparaconlaayudade
especialistas en la aplicacin. La ayuda en lnea no debe ser
simplemente una reproduccin del manual del usuario ya que las
personas leen en papel y en pantalla en forma diferente. El texto, su
51
exposicinyestilotienenquedisearsecuidadosamenteparapermitir
sudesplieguelegibleenunaventanageneralmentepequea.
Documentodeinstalacin:Proveelosdetallesdecmoinstalarel
sistema,losdiscosqueseentreganconelsistema,losarchivosde
estosdiscosylaconfiguracindehardwaremnimarequeridapara
quefuncionecorrectamenteelsistema.
ManualIntroductorio:Presentaunaintroduccinuntantoinformal
del sistema, describiendo su utilizacin normal. Describe como
iniciar, cerrar sesin de usuarios y cmo utilizar los recursos
comunesdelsistema.
52
Guadeladministrador:Describelosmensajesquesegeneranpor
lainteraccindelsistemaconotrossistemasycmoreaccionaren
estas situaciones; tambin cuando el problema puede estar
relacionado con algn elemento de hardware, indicando cmo
reconocer y reparar el problema, de ser posible para el usuario.
Estetipodedocumentacinsloestpresenteenalgunostiposde
sistemas, los que incluyen saturaciones como las que se
describieron.
Evaluacin de la interfaz
La evaluacin de la interfaz es el proceso de valorar la forma en que es
utilizadaunainterfazyverificarquecumplesusrequerimientos.
Idealmente, una evaluacin se compara con la especificacin de la
usabilidadquesebasaenlossiguientesatributos:
Robustez:Seevalaqutantoleranteeselsistemaaloserroresdel
usuario.
Recuperacin:Seobservaqutanbienserecuperaelusuariodelos
erroresdelusuario.
Cuestionarios,querecolectanlaopinindelosusuariosacercadela
interfaz.
Observacindelosusuariosalmomentodetrabajarconelsistema.
Videosdesesionesdeusuario.
53
54
55
Bibliografa
PleegerShari,IngenieradeSoftware.TeorayPrctica,PrenticeHall
Captulo4
PressmanRoger,IngenieradeSoftware.Unenfoqueprctico6ta.edicin,
Ed.McGrawHill,(2006).
Captulos8y15
www.uesiglo21.edu.ar
56