 
Desde el análisis hasta la solución
Muchas veces uno topa con el problema de cómo organizar y capturar la información cuando se debe desarrollar una aplicación, ya sea un sistema cliente servidor, un programita pequeño o un sitio web.
La idea es poder dar una pauta o guía de cómo desarrollar los procedimientos para llegar a una buena solución del problema.
Podríamos decir que esta guía la voy a dividir en tres grandes faces o capítulos los que corresponden a los principales puntos del desarrollo de software.
Los capítulos a dividir son los siguientes:
- Análisis
- Diseño
- Implementación
Para empezar, debo destacar que esta es una división básica porque el desarrollo de un software, sitio web o simplemente aplicación a alto nivel comprende muchas etapas de análisis y diseño, las cuales llegan a ser a veces de ingeniería inversa (o sea hecho un primer prototipo, analizar y observar las mejoras que se pueden aplicar e intervenir el prototipo para sacar una versión optimizada)
Pero entrando en materia sobre las principales partes del desarrollo:
1.- Análisis:
La etapa de diseño del software está íntimamente ligado al análisis que se hace de un problema, por lo cual si bien son etapas por separado no es aconsejable hacer una distinción estricta entre estas dos faces. Esto es una particularidad propia de la Ingeniería de Software.
Dentro de está face de análisis se pueden identificar varios puntos entre ellos, la definición de:
* El objetivo Principal: Corresponde a que se debe hacer en general, por ejemplo “Desarrollo de un portal web musical informativo para el segmento de jóvenes entre 15 a 20 años”
* Objetivos Principales: Corresponde a objetivos que componen al objetivo general, por ejemplo (proveer a los jóvenes una fuente de información musical actualizada, proveer temas musicales de grupos emergentes, proveer videos musicales de grupos emergentes, etc.)
* Requerimientos: La solución que se debe otorgar debe ser en base a los requerimientos obtenidos, estos requerimientos se basan en dos puntos principales, Los requerimientos del usuario y los requerimientos de sistema, estos deben ser documentados sobre las necesidades que ambos necesitan solucionar por sistema. Por experiencia propia en los tiempos que he desarrollado lo óptimo es en la toma de requerimientos generar documentos con formatos tipos, en los cuales los usuarios deben responder las tres principales preguntas ¿Qué?¿Cómo?¿Cuando? y lo más importante cuando los tengan validados (osea que lo que uno entendió, es lo que necesitan) sacar la FIRMA!!! De ellos para que den por aceptado que es ese el problema para así poder generar la solución (Es demasiado típico que uno genere una solución y el cliente después dice que eso no era eso lo que necesitaba).
* Tecnología Usada: es importante informar con que tecnología será abordada la solución, y lo recomendable es generar pequeñas referencias sobre ellas. (es este uno de los puntos que puede corresponder a la etapa de diseño, según los requerimientos)
2.- Diseño
Estas son algunas etapas que se sugieren para diseñar eficientemente un sistema o sitio; es conveniente no comenzar a escribir ninguna línea de código antes de completar las primeras etapas debido a que acá es donde podremos diseñar lo que queremos obtener como resultado
Delimitación del tema
Esta es la etapa crucial, se define de qué se va a tratar la aplicación, que cosas se incluirán y qué no. También es el momento para definir tanto las soluciones y los objetivos que se solucionarán.
Si no se evalúa adecuadamente la cantidad de tiempo que se dispone contra la cantidad de tiempo requerida para elaborar la aplicación de la magnitud deseada, el resultado puede ser desastroso. Muchos proyectos fracasan porque comienzan a crecer y crecer sus especificaciones (es por esto que es importante la firma), sin que haya detrás un trabajo ordenado de delimitación de contenidos.
Recolección de la información
En esta etapa se recolecta la información que se va a interpretar en el sistema, de acuerdo a la especificación hecha en la etapa anterior. Es conveniente asociarse con alguien como un "proveedor de contenido" en caso de un sitio web, puesto que como mencioné antes hay mucha gente que si bien le tiene aversión a los computadores y que dispone de valiosísima e interesante información. Las organizaciones en general producen grandes cantidades de información, también en esta etapa hay que delimitar cuanta de la información histórica, que ya no es relevante, será incluida en el sitio Web, por ejemplo, se puede definir que la información de mas de 3 años de antigüedad no será incluida, etc.
Una vez recolectados los requerimientos y la información en el caso de un sitio web, debemos entrar a diseñar de frentón.
En el caso de una aplicación en la cual exista una solución con bases de datos, debe explicitarse el MER (modelo de entidad relación) con el cual será soportada la solución.
MER: El modelo entidad-relación es el modelo conceptual más utilizado para el diseño conceptual de bases de datos. Fue introducido por Peter Chen en 1976. El modelo entidad-relación está formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de representaciones gráficas y lingüísticas. (detalles http://www3.uji.es/~mmarques/f47/apun/node83.html)
Lo ideal una vez desarrollado el MER, es pasar a la etapa de diseño con modelamiento UML, en el cual principalmente se pueden desarrollar modelos con Casos de Usos y Modelos de Análisis (A mi parecer con esto es suficiente ya que da un punto directo a la solución, también se pueden aplicar otros tipos de modelos)
UML: Por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; aún cuando todavía no es un estándar oficial, está apoyado en gran manera por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables. (detalles http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado)
Una vez, desarrollado el modelamiento con UML se sigue con la siguiente etapa, la cual corresponde al desarrollo de las interfaces de usuarios. Es en esta etapa donde se desarrollan los bosquejos para una implementación final de la solución mediante interfaces.
Estas interfaces tienen que ser diseñadas de una manera sencilla en la cual se represente el bosquejo de la interfaz final, que corresponderá a la solución propiamente tal.
Es acá, en la face de diseño en la cual se pueden explicitar documentación correspondiente a los software que se utilizaron para dar pie a la solución final.
Es importante dar detalles de lo usado para el desarrollo porque corresponde a dar información a aquellos usuarios y/o desarrolladores que no estén en directa relación con el sistema, debido a que este le servirá como documentación de inducción al tema.
3.- Implementación
Es en esta etapa donde se deben documentar los pasos realizados para el desarrollo de la solución, entre los puntos que cabe destacar en esta sección corresponden a los Manuales de Usuarios, Manuales del desarrollador y Manual de Procesos para la solución.
Esta etapa se generan documentos de sumo valor para el desarrollo de una aplicación, debido a que esto nos da un plus como desarrolladores, para dejar en buen pie a un sistema desarrollado y documentado.
clorca( )
28/02/2007

|