Sunteți pe pagina 1din 25
CAPITULO CompPRENSION DE LOS REQUERIMIENTOS Concepros cLave Ee rrequerimientos de un problema es una de las tareas mas diffciles que enfrenta dais as el ingeniero de software. Cuando se piensa por primera vez, no parece tan dificil desarro reget 108 lar un entendimiento claro de los requerimientos. Después de todo, 2acaso no sabe el ues bo. N15 cliente lo que se necesita? No deberian tener los usuarios finales una buena comprensin de laberain 107 las caracteristicas y funciones que le darn un beneficio? Sorprendentemente, en muchas ins comapin 102 tancias la respuesta a estas preguntas es “no”. E incluso si los clientes y los usuarios finales Aespingu defen explican sus necesidades, éstas cambiarn mientras se desarrolla el proyecto. de cided ; 7 ‘ En el prélogo a un libro escrito por Ralph Young [YouO1] sobre las pricticas eficaces respecto de los requerimientos, escribi lo siguiente. eneitiniin aq 4€ 108 requerimientos, escribt lo siguient indagcin Es la peor de las pesadillas, Un cliente enta ala ofcina, toma asiento, lo mira a uno fijamente a los indagein de os ojos y dice: “Sé que cree que entiende lo que digo, pero lo que usted no entiende es que lo que digo requrinietos 108 no es lo que quiero decir Invariablemente, esto pasa cuando ya est avanzado el proyecto, despues ings de de que se han hecho compromisos con los plazos de entrega, que hay reputaciones en juego'y mucho Eee dinero invertido, mea “ patiete ‘mos de obtener los requerimientos de nuestros clientes. Tenemos problemas para entender la infor- fore ies 8 probes tabp..--.112 Ce dediguemos may poe eee enlugarde establecer mecanismos p Ts fundamento sido para el sistema o s aiden deo reqvrinenos hay solucin, LET PEs fares Qué es? Antes de comenzar cualquier fra- Boje tecnico es una buena idea oplicar un conjunio de fareas de ingenieria a los requeri- mienios. Estas llevarén a la comprensién de cudl seré efecto que tendré el software en el negocio, qué es lo que quiere el cliente y cémo interactvarén los usuarios finales con el software. aQuien To hace? Los ingenieros de software (que en el ‘mundo de las tecnologias de informacién a veces son Har rmados ingenieros de sistemas 0 analistas) y todos los demés partcipantes del proyecto (gerentes, clientes y ‘svaros) intervienen en la ingenieria de requerimientos. aPor qui sportante? Disefar y constuir un elegan- fe programa de cémpute que resuelva el problema equive- cedo no sotisface las necesidades de nadie. Por es0 es importante entender le que el cliente desea antes de comenzar a disefar y a constvir un sistema basade en compuladora eCuéles son los pases? La ingeniria de requerimientos ‘comienza con la conceptién,tarea que define el alcance y la naturaleza del problema que se va a resolver. Va segui dda de la indagacién, labor que ayuda a les participates riacién que obtenemos, Es frectente que tegi stemos los requerimientos de manera desorganizada y ‘empo a verficar lo que registramos, Dejamos que el cambio nos controle conttolaroa él. En pocas palabras, fallamos en establecer un Awate. Cada uno de los problemas es dif. Cuando se com- binan, el panorama es atemorizador aun para los gerentes y profesionales mas experimentados, Pero ‘a definir lo que se requiere. Después sigue la elaboracién, donde se refinan y modifican los requerimientos basicos ‘Cuando los partcipantes definen el problema, fiene lugar tuna negeciacién: gcudles son los prioridades, qué es lo ‘esencial, cudindo se requiere? Por dhimo, se expecifica el problema de algin mode y luego se revsa 0 valida para ‘garantizar que hay coincidencia entre la comprensién que Usted fiene del problema y la que tienen los partcipantes, aCual es el producto final? El objetivo de los requer mientos de ingenieria es proporcionar a todas las partes Un entendimiento escrito del problema. Esto se logra por medio de varios productos del trabajo: exeenarios de uso, listas de funciones y de caraceristicas, modelos de reque Fimientos 0 especifcaciones 4Cémo me asegure de que le hice bien? Se revscn on ls parce os produces cel roc de tin nieria de requerimientos a fin de asegurar que lo que se eters et lel eke clren cet on cic. Act eho una cher lex cess cambio eum deve le que todas las partes esén de acuerdo, y seguirén cam: biande dorante todo el proyeco. 101 ci 102 PARTE DOS MODELADO Es razonable afirmar que las técnicas que se estudiarn en este capitulo no son una “solu: cin’ verdadera para los retos que se mencionaron, pero si proven de un enfoque sélide para enfrentarlos, 5.1 _INGENteRIA DE REQUERIMIENTOS 0 “La pare més fill oastrir un trad soars dc dic qué conti Nngua parte el raj vada ent ol is- ‘ema reste sd se hace inal, Nod es més diel de coreg después” Fred Brooks is esl ura base él pore seo yla conta. Sn ta sof esa Hane cha srobbid do ota as sociales dl rs, Cone pe hacer pond rear os req yon odours dre még de iso “tassels des dese nrmes el sofvare poo ener se vishmbran ens, tes primers meses del iico dd proyeco” oper Jones El diseflo y construccion de software de computadora es diftil, creativo y sencillamente diver Lido, En realidad, elaborar software es tan atractivo que muchos desarrolladores de software quieren ir directo a él antes de haber tenido el entendimiento claro de lo que se necesita, Argu- ‘mentan que las cosas se aclararan a medida que lo elaboren, que los participantes en el proyecto podrén comprender sus necesidades s6lo después de estudiar las primeras teraciones del soft ‘are, que las cosas cambian tan rapido que cualguler intento de entendet ls requetimientos en detalle es una pérdida de tiempo, que las utilidades salen de la produccion de un programa que furcione y que todo lo demas es secundario. Lo que hace que estos argumentos sean tan secluctoreses que tienen algunos elementos de verdad ! Pero todos son erténeos ypueden levar un proyecto de software al fracaso, Elespeciro amplio de tareas y técnicas que llevan a entender los requerimientos se denomina Ingenieria de requerimientos. Desde la perspectiva del proceso del software, la ingenieria de re- querimientos es una de las acciones importantes de la ingenieria de software que comienza durante la actividad de comunicaci6n y continda en la de modelado. Debe adaptarse a las ne- cesidades del proceso, del proyecto, del producto y de las personas que hacen el trabajo. La ingenieria de requerimientos tiende un puente para el disefio y la construccion. Pero, ad6nde se origina el puente? Podria argumentarse que principia en los pies de los participantes enel proyecto (por ejemplo, getentes, clientes y usuarios), donde se definen las necesidades del negocio, se describen los escenarios de uso, se delinean las funciones y caracteristicas y se Identifican las restricciones del proyecto, Otros tal vez sugieran que empieza con una definicion. mas amplia del sistema, donde el software no es ms que un componente del dominio del sis tema mayor. Pero sin importar el punto de arranque, el recortide por el puente lo leva a uno muy alto sobre el proyecto, lo que le permite examinar el contexto del trabajo de software que debe realizarse; las necesidades especificas que deben abordar el disefio y la construccién; las prioridades que gufan el orden en el que se efectita el trabajo, y la informacién, las funciones y los comportamientos que tendran un profundo efecto en el disefio resultante La ingenierfa de requerimientos proporciona el mecanismo apropiado para entender lo que desea el cliente, analizar las necesidades, evaluar la factibilidad, negociar una solucién razona~ ble, especificar la solucién sin ambigtiedades, validar la especificacién y administrar los reque. rimientos a medida de que se transforman en un sistema funcional [Tha97]. Incluye siete tareas diferentes: concepcién, indagacion, elaboracion, negociacion, especificacién, validacién y ad: ministracién. Es importante notar que algunas de estas tareas ocurren en paralelo y que todas se adaptan a las necesidades del proyecto, Concepeién. {Cémo inicia un proyecto de software?

S-ar putea să vă placă și