sus campos de aplicacin, tcnicas usadas y caractersticas especficas de tiempo real, caracterizaremos el proceso de desarrollo de la aplicacin. No nos adentraremos en todas las razones pobre organizacin, falta de mtodos y procedimientos y planes de integracin, falta de especificaciones, falta de inversin del cliente en el proyecto de porque buenos proyectos no necesariamente son exitosos. El objetivo ms esencial es expresar cual procedimiento debe seguirse para desarrollar eficientemente un sistema que satisfaga los requerimientos del cliente. Para caracterizar la actividad de desarrollo, esta debe ser primero ubicada en el contexto de la compaa. Un desarrollo es parte de las actividades de un proyecto, y cada proyecto est integrado en un objetivo de la compaa. La obtencin de resultados implica la necesidad de un procedimiento para planificar, organizar y controlar el desarrollo de proyectos. La gerencia de proyectos necesita la modelacin del proceso de desarrollo. El trmino general ciclo de vida de la aplicacin o producto es utilizado para describir este tipo de modelo. Introducido alrededor de 1975, esta clase de modelo es usado como un apoyo para describir los detalles del procedimiento a seguir, y para controlar el mismo. Este captulo demuestra que el desarrollo de un sistema requiere una organizacin ms compleja que simplemente establecer la secuencia de los pasos para la especificacin, el diseo e implementacin. Es ms, el modelo para el desarrollo tambin puede ser usado como base para una metodologa. El modelo propuesto para sistemas electrnicos al final del captulo define el rango para el cual la metodologa MCSE es til.
Contexto del desarrollo
El trmino desarrollo es usado aqu para caracterizar todas las actividades tcnicas involucradas para ir desde los requerimientos del usuario hasta el producto industrial que satisface la necesidad.
Para la compaa u organizacin responsable del
desarrollo, estas actividades forman una parte integral del proyecto. Un proyecto es caracterizado primero por sus objetivos y segundo por su progreso. Este tiene un inicio y un final el cual corresponde con la satisfaccin de los objetivos. Un proyecto tambin interacciona con otras actividades (o proyectos) ya que el mismo necesariamente comparte recursos. La caracterizacin del contexto de un desarrollo consiste en posicionarlo en el contexto de la compaa tal como se muestra en la siguiente figura.
La actividad de la compaa en el sentido ms
amplio contempla un conjunto de proyectos. El desarrollo de una aplicacin y un sistema es solamente parte de un proyecto. Para realizar sus actividades, la compaa tiene recursos fsicos y humanos los cuales distribuye entre las diferentes actividades. La actividad de desarrollo puede ser mejor caracterizada definiendo que es el proyecto y su gerencia. Un proyecto puede ser caracterizado por su ciclo de vida. Este ciclo comienza mediante una fase de expresin de requerimientos y es completado con una fase de finalizacin. Tres fases intermedias son mostradas en la siguiente figura: definicin del proyecto, planificacin y organizacin, y desarrollo [RUSKIN 82].
ELECTRNICA APLICADA - 2012
Planificacin y organizacin Cuando el proyecto es aceptado, los objetivos, costos y fechas lmites son fijados. La siguiente fase tiene que ver con la planificacin y organizacin del mismo. La planificacin consiste en producir planes detallados identificando tareas, fechas lmites y duracin para cada una, y el presupuesto y recursos necesarios para cada tarea. La organizacin necesaria para ejecutar el proyecto es tambin definida. Esta involucra la identificacin la calidad, cantidad y duracin de los recursos fsicos y humanos. Expresin de una necesidad Un proyecto comienza por la necesidad o deseo para satisfacer un objetivo. El objetivo puede variar mucho tanto en naturaleza como en forma. Por ejemplo, puede requerirse desarrollar un sistema para el control de grandes edificios, pero el objetivo puede ser expresado como el deseo de suministrar una ayuda para el control de edificios. Por consiguiente, la primera fase tiene que ver con la expresin de una necesidad para satisfacer objetivos, lo cual lleva a expresar un concepto e identificar restricciones esenciales. Esta fase no provee indicacin alguna acerca de la manera de lograr los objetivos. Diferentes tcnicas pueden ser usadas, particularmente tcnicas de creatividad y anlisis de valor. Definicin del proyecto Esta fase contempla un estudio preliminar del proyecto. Primero, el proyecto es caracterizado por un estudio de factibilidad basado en asunciones acerca de las diferentes formas de alcanzar los objetivos, criterios de decisin, restricciones, obstculos potenciales, recursos, presupuesto y fechas lmites. Segundo, la aproximacin global a ser seguida para satisfacer los objetivos es entonces seleccionada. El paso de definicin del proyecto resulta en una descripcin en suficiente detalle para permitir el desarrollo de una propuesta clara. Todos los aspectos del desarrollo deben ser considerados en la fase de definicin del proyecto, pero no requiere la implementacin del proyecto.
Desarrollo del proyecto
Esta fase forma la parte tcnicas del trabajo y conduce a la obtencin de la aplicacin o producto a partir de la definicin de requerimientos. Terminacin del proyecto El objetivo de esta actividad es chequear que el producto final cumple con los objetivos, y siempre y cuando sea posible esta debe tomar lugar a lo largo del desarrollo. Cuando el producto ha sido completado, una aceptacin formal es necesaria para confirmar que el cliente est satisfecho con el resultado. Los recursos son liberados y un reporte financiero es producido al concluir el proyecto. Como se muestra en la figura previa acerca del trabajo de desarrollo, la gerencia del proyecto tiene que ver con las actividades de planificacin y organizacin, y la gerencia y control del desarrollo. La metodologa MCSE no tiene que ver con la gerencia de un proyecto.
Fases del desarrollo
El ciclo de vida de una aplicacin o producto es una representacin puramente descriptiva. Esta divide el proceso de desarrollo en una serie de actividades interrelacionadas, basadas sobre la necesidad inicial para producir un producto operacional. El trmino ciclo es relacionado al hecho de que cualquier producto desarrollado normalmente genera nuevas necesidades.
ELECTRNICA APLICADA - 2012
Varios modelos han sido producidos. Antes de entrar en detalles sobre la diferencia entre ellos, notaremos que todos tienen en comn las fases esenciales de todo desarrollo. Con unas pocas variaciones en dependencia del autor, distinguimos al menos cinco fases: 1. 2. 3. 4. 5.
Definicin o especificacin Diseo Implementacin Produccin Operacin
El significado normal de cada una de estas fases
es descrita a continuacin. Definicin y especificacin Un proyecto es generalmente el resultado de una solicitud formulada en la forma de un documento en el cual se describen los requerimientos del cliente. Este documento es llamado definicin de requerimientos. Este es un punto de partida para el equipo de diseo, para expresar una propuesta la cual debe contener todas las especificaciones. Aunque las descripciones en la definicin de requerimientos pueden parecer claras para el cliente, este tipo de documento normalmente contiene pocos detalles, y es consecuentemente inadecuado para caracterizar el proyecto en su totalidad. Consecuentemente, durante la fase de definicin, los objetivos, que debe satisfacer el sistema final, son listados. El propsito es producir una descripcin detallada del comportamiento externo del sistema. Esta descripcin describe funciones a ser realizadas, restricciones que deben ser respetadas, interfaces que sern usadas, y toda la informacin complementaria especificando el tamao del sistema, la velocidad de ejecucin, desempeo y otras caractersticas que deben ser satisfechas, etc. el documento resultante es llamado especificacin de requerimientos. Diseo El trabajo de diseo consiste en ir desde la especificacin de requerimientos a una definicin de implementacin, en otras palabras los documentos necesarios para llevar adelante la implementacin. Inicialmente, el diseador usa directamente las especificaciones para producir
una descomposicin en trminos de funciones
internas. A medida que las decisiones son tomadas, el refinamiento continua expresando como cada funcin considerada como una caja negra contribuye para alcanzar los objetivos. Este es una vista simplificada, ya que el diseo involucra varias etapas intermedias. En cada etapa, cada requerimiento es transformado en una implementacin correspondiente mediante una secuencia de decisiones. Aunque la descripcin anterior es considerada convencional, particularmente para proyectos de software, etapas intermedias tiles dependen del tipo de problemas siendo procesado. Para la categora de sistemas de tiempo real considerados en el libro, el diseo debe producir una definicin simultnea del hardware y software a ser utilizados (co-diseo de hardware/software). Por consiguiente, el proceso es ms complicado. Implementacin La fase de implementacin tiene que ver con el desarrollo del hardware y software, seguido de la integracin del software en la infraestructura de hardware. Esta implementacin lleva a un sistema operando el cual puede ser reproducido industrialmente y el cual satisface todos los requerimientos. Produccin Esta etapa tiene que ver con la experimentacin sobre un prototipo para evaluar sus caractersticas. La produccin es iniciada despus de la evaluacin. Criterios de industrializacin complementarios son introducidos en esta etapa. Operacin Cuando el producto ha sido producido en masa y vendidos, este va a operacin. La fase de explotacin comienza, lo cual implica mantenimiento. Varios tipos de mantenimiento son posibles: correctivo para eliminar errores residuales, adaptivo para tomar en cuenta nuevos requerimientos, preventivos para incrementar la confiabilidad del sistema.
ELECTRNICA APLICADA - 2012
Las dos ltimas fases no necesariamente forman parte del proyecto. Sin embargo, sin importar la organizacin, la compaa es siempre responsable. Por ejemplo, otros grupos o departamentos pueden ser responsables por la produccin y mantenimiento de los productos desarrollados.
Modelos de ciclo de vida
La descomposicin del proyecto en pasos facilita el control del desarrollo mediante la definicin de objetivos planificables y medibles para ser alcanzados en cada fase. Un modelo preparado para el desarrollo puede por consiguiente ser usado como una base para la gerencia del proyecto.
subsistema corresponde con un rea ms
restringida del problema, y es entonces desarrollada en la misma manera, comenzando con su especificacin. Los subsistemas pueden ser desarrollados en paralelo. De este modo, el proceso de desarrollo para un sistema electrnico puede ser mostrado como sigue. La figura muestra que el diseo sigue niveles jerrquicos los cuales varan desde lo funcional a lo fsico.
Varios modelos han sido sugeridos para
representar el proceso de desarrollo. En las siguientes secciones, describiremos los modelos ms comunes presentados para el desarrollo de software. *********************
Desarrollo de un sistema electrnico
Despus de analizar unos cuantos modelos para el ciclo de vida del desarrollo de un producto y unos cuantos puntos esenciales que afectan su progreso, consideraremos los detalles del proceso para el desarrollo de sistemas electrnicos para aplicaciones de tiempo real, para caracterizar el modelo del proceso de desarrollo seleccionado por MCSE. Debemos recordar que los sistemas electrnicos estn compuestos de dos partes principales el hardware y el software y que estas dos partes deben ser coherentes para sistemas dedicados. Para manejar la complejidad, un sistema es descrito siguiendo un conjunto de niveles jerrquicos: definicin, descripcin externa, descripcin breve, descripcin detallada. Si vamos a tomar en cuenta estos aspectos, el desarrollo de un proyecto debe ser visto como un conjunto de desarrollos jerrquicos. En la parte superior, las primeras fases tienen que ver con la especificacin y la definicin preliminar del sistema global. Esto implica subsistemas. Cada
Durante la primera etapa de diseo, un sistema
complejo es dividido en subsistemas interconectados. El diseo de cada subconjunto incluye la definicin de las partes correspondientes al hardware y al software. Trabajando desde una especificacin hacia un diseo, la parte del hardware es dividida en un conjunto de funciones o componentes. Los componentes, si ellos existen, son directamente usables, de lo contrario tienen que ser diseados. La jerarqua para el desarrollo del hardware termina cuando todos los componentes seleccionados estn disponibles. La implementacin es entonces posible y el ensamblaje y prueba gradual ascendiendo en la jerarqua. Similarmente, la parte del software es dividida en tareas o mdulos. Cada parte es desarrollada usando un procedimiento de diseo top-down y una programacin estructurada. Los mdulos codificados son probados y posteriormente ensamblados. Unos cuantos comentarios pueden hacerse sobre la presentacin realizada.
ELECTRNICA APLICADA - 2012
Observando la jerarqua, puede verse que cada implementacin es un componente desarrollado como un elemento independiente el cual puede ser integrado en un ensamblaje ms complejo. Cada componente es desarrollado iterativamente: anlisis, sntesis, verificacin y correccin mediante retroalimentacin cuando sea necesario. Las fases de especificacin, diseo, definicin de la implementacin, ensamblaje y prueba son repetidas para cada constituyente. Por consiguiente, la terminologa especificacin, diseo, implementacin no es relacionada a un nivel de descripcin especfico. Existe mucha confusin acerca de la definicin de estos trminos, particularmente entre especificacin y diseo. Por el momento, consideraremos que una especificacin est relacionada con una vista externa del objeto considerado, mientras que las fases subsecuentes tienen que ver con lo interno, y por consiguiente con la solucin. Aunque el abordaje puede ser global (enfoque de sistema) en la parte superior de la jerarqua, cuando el diseador de un constituyente se mueve hacia abajo en la jerarqua el mismo debe ser ms y ms especialista en un campo especifico o tcnica de implementacin: por ejemplo, diseo de un componente ASIC para filtrado de seales, o el desarrollo de un programa que lleva a cabo una transformacin rpida de Fourier, etc. Los constituyentes pueden ser diseados en paralelo. La restriccin necesaria es que uno debe ser capaz de producir la especificacin para cada componente para permitir su posterior integracin. Un procedimiento bottom-up tambin es posible. Este consiste entonces en producir un constituyente para su posterior uso.
En este caso, debe ser posible integrar el
componente en un ensamblaje ms amplio. Un sistema solamente se vuelve operacional cuando todos sus constituyentes han sido construidos y probados. El constituyente ms complejo es el sistema mismo. Por consiguiente, la implementacin sigue un proceso bottom-up. Una programacin del proyecto puede ser producida para satisfacer las fechas lmites solamente despus de la descomposicin ha sido llevada a cabo. Consecuentemente, un modelo preciso del proceso de desarrollo es muy til para la planificacin y por consiguiente para la gerencia del proyecto.