Untitled 1

download Untitled 1

of 29

  • date post

    14-Oct-2015
  • Category

    Documents

  • view

    13
  • download

    0

Embed Size (px)

Transcript of Untitled 1

CaptuloiQU ES EL ANLISIS Y DISEO?

INTRODUCCINBienvenido al captulo 1. En este captulo introductorio veremos el propsito del anlisis y diseo, as como las caractersticas de un buen analista y un buen diseador. Para poner las bases de los captulos que vienen a continuacin, se revisar la tendencia hacia la especializacin en nuestra industria, se tratar ei debate de la metodologa de cascada contra la espiral y se sugerirn algunos criterios sobre lo que hace que una metodologa sea buena". Finalmente, daremos una panormica de las tcnicas que comprenden al resto del libro, en particular las actividades y productos para el anlisis y diseo de sistemas cliente/servidor con interfaces grficas de usuario.&

2Captulo 1 / QU ES EL ANLISIS Y EL DISEO?F:L PROPSITO DEL ANLISISY DISEOI .l anlisis es el proceso de determinar qu se necesita hacer, antes de decidir cmo debe hacerse. i/j enseo es el proceso de determinar cul de muchas posibles soluciones es la mejor para lograr lo que se necesita hacer, respetando las restricciones tecnolgicas y de presupuesto dei prnyWMO. bl enseno escoge un como espeemeo para anlicarlo al qu. El anlisis es el acto deII escubrimiento. fcl diseo es el arte del comprom i so.Tiv.dicionalmente, los esfuerzos de anlisis han tenido una dudosa reputacin en el desarrollo del software. Casi todos saben de algn proyecto al que se le dedicaron incontables meses (o a veces aos) dibujando miles de burbujas, flechas, cuadros y lneas, slo para ser abandonado en un librero y comenzar a codificar apresuradamente. Tal vez tambin haya sabido de algn proyecto que se salt cualquier pretensin de anlisis y comenz la codificacin desde el primer da.La construccin del software es similar a la construccin de una casa. Muy poca gente en sus cabales comprara un terreno, contratara a quince carpinteros y les dira: construyanme una casa", dejndolos en el campo con un montn de madera y una caja de clavos para que lo hagan a su rea! saber y entender. (Los carpinteros no estaran muy preocupados, debido a que ya han construido casas, por lo tanto, si se presentan dudas sobre los detai les. tales como la cantidad de cuartos o pisos que se requieren, con seguridad seran capaces de resolverlos entre ellos.)El costo de tal tontera podra estar entre los cien o doscientos mil dlares y producira una estructura bastante extraa. Es muy probable que el propietario no estar completamente satisfecho con el resultado, y es posible que la casa sea completamente inhabitable.Aunque parezca tan loca la historia de :ste propietario de casa con sus retos arquitectnicos. no es nada en comparacin a los millones de dlares perdidos cada ao en proyectos de software, los cuales fallan para entregar lo que los usuarios necesitan, o se derrumban completamente sin entregar nada. As como seria tonco culpar a los carpinteros por su falla para producir una casa decente bajo esas circunstancias, es raro el caso en que un proyecto de desarroilo de software falle debido a la falta de habilidades tcnicas por parte del personal de programacin. La mayora de los proyectos que fracasan io nacen por falta de una buena administracin del proyecto y por fallas en el anlisis de las necesidades del negocio y para disear una solucin antes de realizar la construccin del producto.Se podra decir que el propsito del anlisis y diseo es, al menos, evitar que se caiga el proyecto, y lo ptimo, que articule completamente las necesidades del negocio con base en una comprensin de sus problemas actuales y que encuemre la solucin que mejor satisfaga las necesidades y se ajuste a las restricciones presupustales de recursos y tiempo impuestas por el propio negocio. Un arquitecto residencia! determina los deseos, gustos, problemas paniculares, necesidades y presupuesto del propietario de la casa y luego explora las soluciones de diseo para verificar y validar los requerimientos antes de construir. El analista de software define la naturaleza del problema del negocio y el diseador de software explora las diversas soluciones. tomando decisiones bien informadas para llegar a un producto que dejar a los usuarios satisfechos.1 Analista y diseador son ppelos. Pueden ser la misma persona, personas diferentes o equipos cnmpluios de personas, dependiendo del tamao de! proyecto y del conjunto de conocimientos del personal.

LAS HABILIDADES DE UM ANALISTA3Esto se reduce a un concepto muy simple: Encuentre lo que el negocio requiere que se haga ames de comenzar a imaginarse cmo hacerlo."El factor que complica todo es que los negocios no son simples y sus problemas intrnsecos crecen por la presencia de personas con diferentes opiniones sobre la manera de resolverlos (o incluso si siquiera deben resolverse), y todo el lo est coronado con un laberinto inexpugnable de sistemas heredados muy enfermos.-LAS HABILIDADES DE UN ANALISTAEl papel del analista es ir y encontrar qu problemas existen en 1 negocio y determinar lo que desean que suceda quieneifCSTrtinrcargo ciel mismoTEste es un papel y un conjunto de respon- sabiltralt!, ladicamLMlc! diferentes a las de, por ejemplo, un programador, cuyo trabajo es escribir cdigo confiable. Es razonable entonces que las habilidades que se requieren en el analista sean diferentes de las que se requieren en el programador.No me terminan de gustar los trminos analista de negocios y analista de software, debido a que los analistas exitosos son una mezcla de ambos. Como analista necesita estar consciente en forma muy precisa de la manera en que un negocio hace dinero. Como veremos en el captulo 2, los sistemas de informacin de negocios existen para contribuir a ello. Por otro Indo, el objetivo del juego es construir el software. Por esta razn, el analista no puede desentenderse completamente de los principios bsicos de la automatizacin. Necesita estar profundamente consciente de lo que es posible, factible y prctico en lo que se refiere a la computacin en los negocios.En trminos generales, el analista es un investigador, ya que el anlisis es un proceso de descubrimiento. El analista debe estar a gusto en el papel de arquelogo, desenterrando gemas de datos desconocidos de entre el naufragio de los archivos planos de un sistema heredado, o descifrando los jeroglficos de un antiguo algoritmo de algn programador que ya ha muerto. Muchas veces el analista se convierte en un socilogo que es forzado a aventurarse y vivir entre la tribu para aprender sus costumbres y dialectos y para separar su mitologa de la realidad.Tambin son de gran importancia las buenas habilidades para la comunicacin. El anlisis no es una actividad sosegada y sin sobresaltos". En la fase de anlisis de un proyecto se pasar gran parte del tiempo sacando informacin de los posibles usuarios del sistema, reorganizando lo que aprende y volvindolo a presentar para su validacin. Tal vez sea llamado para hacer diplomacia, resolviendo conflictos y dando soluciones entre facciones del negocio que estn en guerra, o pasar tiempo en el papel de consejero de campamento aliviando el miedo que los usuarios tienen al cambio.Algunas empresas de IT (tecnologa de informacin) tienen la creencia de que si una persona se pasa dos aos encerrada en su cubculo dando mantenimiento a cdigo COBOL, obtiene mgicamente el conjunto de habilidades mencionadas anteriormente y asciende a un orden de existencia superior: analista-programador". Desgraciadamente esto no es cierto. Al igual que muchas otras habilidades en la vida, un buen analista se crea por medio de prctica dedicada y aptitud pura el trabajo. El analista necesita el entrenamiento adecuado y un ambiente en donde pueda pulir su talento por medio de la repeticin de las tcnicas analticas.:Los sisicntjs heredados snn aquellos que ya existen en In compaa, incluyendo ios sistemas que se vayana reemplazar. Por lo general, lian sido desarrollados nace algn tiempo con tecnologa vieja.

4Captulo 1 ! QU ES EL ANLISIS Y EL DISEO?JO TE ?Z.CC'J?. t>\CSSJ &U SrA S UNA PAy. iiftiijirirv; Esto significa que una gran pane del diseo externo debe ser escrita en una forma no muy tcnica. Las especificaciones internas de lo que sucede tras hamhnlinr>< pc r>rrn asunto, su pblico se miia a la comunidad de la T que debe construir, probar y mantener el sistema. La especificacin interna debe ser escrita directamente para esta audiencia.'4. TJiia buena metodologa de diseo crea productos diferenciados que son mensurables. Una de las tareas ms difciles de cualquier proyecto es estimar cundo ss terminara Para hacer una estimacin e! gerente de proyecto debe tomar medidas, la cual involucra el conteo de cosas que necesitan hacerse y la aplicacin de algn tipo de medida sobre de ellas para estimar qu tanto tiempo se llevar el hacerlas. La medicin viene, por supuesto, de haber contado esias cosas en el pasado y haber medido qu tanto tard el hacerlas anteriormente (o plagiando el sistema de medidas de otra persona). Por lo tanto, una metodologa de diseno debe producir componentes discretos lo ms pronto posible. Qu tamas tablas tenemos? Qu tantas ventanas se requerirn para la interfaz? Qu tantos repones se requieren? Cul es la cantidad de objetos que necesitamos disear y construir?1Tan pronto como e! gerente pueda tener producios firmes que contar, puede comenzar a refinar las estimaciones de los esfuerzos requeridos y los conjuntos de habilidades necesarias para lograr la tarea. Conforme el proveen*avanza tendr producios intermedios con los que se pueda medir el avance. Cuntas ventanas se han diseado? Cuntas faltan de disear? Cul es la tasa de productividad del equipo? Cul es c tiempo promedio que se lleva codificar y probar una ventana y sus funciones de fondo? Cmo influye esto en nuestra estimacin originai?"

GUE ES LO QUE HACE QUE UNA METODOLOGA SEA "BUENA"?175. Por ltimo, pero no menos importante, el diseo debe ser fcilmente aprovechado en ei producto final. Debe expresar el uso ^fTstructura del sistema en una forma muy cercara al resultado pretendido. E