Вы находитесь на странице: 1из 6

INSTITUTO TECNOLGICO DE MORELIA JOS MARA MORELOS Y PAVN

Procesos de Software
Resumen Cap. 6 Pressman
DOMINGO CARLOS MORALES MARN Profesor: Adrin Nez Vieyra Ingeniera en Sistemas Computacionales 08121107

21-Marzo-2012

Introduccin:
En el proceso del desarrollo de software, se utilizan ciertas metodologas para producirlo. Sabemos que si no se sigue una metodologa, el producto final va a perder robustez, puede perder credibilidad, puede tener huecos, los requerimientos pueden no estar plasmados en el resultado final. Se han creado dichas metodologas, resultado de la observacin del ciclo de vida del software, de los escenarios en la vida real, adems de establecer tcnicas probadas en el rea de desarrollo de procesos en otras reas, que veremos plasmadas en el desarrollo de cada proceso de software que se vern a continuacin.

Resumen:
Un proceso de software es un conjunto de actividades que conducen a la creacin de un producto de software. Pueden consistir en el desarrollo de software desde cero en un lenguaje de programacin estndar como java o C. Las herramientas de ingeniera del software asistida por computadora (CASE) pueden ayudar a algunas actividades el proceso. Es limitada su eficacia por la diversidad de procesos del software. Para algunos sistemas, como los sistemas crticos, se requiere un proceso de desarrollo muy estructurado, para sistemas de negocio con requerimientos rpidamente cambiantes, un proceso flexible y gil probablemente sea ms efectivo. Aunque existen muchos procesos diferentes de software, algunas actividades fundamentales son comunes para todos ellos: 1.- Especificacin del software. Se define la funcionalidad del software y las restricciones en su operacin. 2.-Diseo e implementacin del software. Producir un software que cumpla su especificacin. 3.- Validacin del software. Validar el software para asegurar que hace lo que el cliente desea. 4.- Evolucin del software. Debe evolucionar para cubrir las necesidades cambiantes del cliente. Los procesos del software se pueden mejorar por la estandarizacin del proceso donde la diversidad de los procesos del software en una organizacin sea reducida. Esto conduce a mejorar la comunicacin y a una reduccin del tiempo de formacin, y hace la ayuda al proceso automatizado ms econmica. La estandarizacin es un primer paso importante para introducir nuevos mtodos, tcnicas y buenas prcticas de ingeniera del software.

MODELOS DE PROCESOS: El modelo en cascada: considera las actividades fundamentales del proceso de especificacin, desarrollo, validacin y evolucin y los representa como fases separadas del proceso tales como la especificacin de requerimientos. Desarrollo evolutivo: entrelaza las actividades de especificacin, desarrollo y validacin. Un sistema inicial se desarrolla rpidamente a partir de especificaciones abstractas. Este refina basndose en las peticiones del cliente para producir un sistema que satisfaga sus necesidades. Ingeniera del software basada en componentes: se basa en la existencia de un nmero significativo de componentes reutilizables. El proceso de desarrollo del sistema se enfoca en integrar estos componentes en el sistema ms que en desarrollarlos desde cero. Estos tres modelos de procesos genricos se utilizan ampliamente en la prctica actual de la ingeniera del software. No se excluyen mutuamente y a menudo se utilizan juntos, especialmente para el desarrollo de sistemas grandes. El proceso unificado de Rational trata de combinar elementos de todos estos modelos. Los subsistemas dentro de un sistema ms grande pueden ser desarrollados utilizando enfoques diferentes. Se han propuesto todo tipo de variantes de estos procesos y pueden ser utilizados en algunas organizaciones. La ms importante es el desarrollo formal de sistemas, donde se crea un modelo formal matemtico de un sistema. EL MODELO EN CASCADA Tambin conocido como ciclo de vida del software las principales etapas de este modelo se transforman en actividades fundamentales de desarrollo: Anlisis y definicin de requerimientos: los servicios, restricciones y metas del sistema se definen a partir de las consultas con los usuarios, entonces se definen en detalle y sirven como una especificacin del sistema. Diseo del sistema y del software. El proceso de diseo del sistema divide los requerimientos en sistemas hardware o software. Establece una arquitectura completa del sistema. Implementacin y prueba de unidades: durante esta etapa el diseo del software se lleva a cabo como un conjunto o unidades de programas. Integracin y prueba del sistema: los programas o las unidades individuales de programas se integran y prueban como un sistema completo para asegurar que se cumplan los requerimientos del software.

Funcionamiento y mantenimiento: esta es la fase ms larga del ciclo de vida. El sistema se instala y se pone en funcionamiento prctico. El mantenimiento implica corregir errores no descubiertos en las etapas anteriores, mejorar la implementacin de las unidades del sistema y resultar los servicios del sistema una vez que se descubren nuevos requerimientos. El proceso del software no es un modelo lineal simple, sino que implica una serie de iteraciones de las actividades de desarrollo. Las ventajas del modelo en cascada son que la documentacin se produce en cada fase y que este cuadra con otros modelos del proceso de ingeniera. Solo se debe utilizar cuando los requerimientos se comprendan bien y sea improbable que cambien radicalmente durante el desarrollo del sistema. DESARROLLO EVOLUTIVO: Se basa en la idea de desarrollar una implementacin inicial, exponindola a los comentarios del usuario y refinndola a travs de las diferentes versiones hasta que se desarrolla un sistema adecuado. Existen dos tipos de desarrollo evolutivo: Desarrollo exploratorio: el objetivo del proceso es trabajar con el cliente para explorar sus requerimientos y entregar un sistema final Prototipos desechables: donde el objetivo del proceso de desarrollo evolutivo es comprender los requerimientos del cliente y entonces desarrollar una definicin mejorada de los requerimientos del sistema. En la produccin de sistemas un enfoque evolutivo para el desarrollo de software suele ser ms efectivo que el enfoque en cascada, ya que satisface las necesidades inmediatas de los clientes. La ventaja de un proceso del software que se basa en un enfoque evolutivo es que la especificacin se puede desarrollar de forma creciente. El enfoque evolutivo tiene dos problemas: El proceso no es visible: los administradores tienen que hacer entregas regulares para medir el progreso. Si los sistemas se desarrollan rpidamente, no es rentable producir documentos que reflejen cada versin del sistema. A menudo los sistemas tienen una estructura deficiente: los cambios continuos tienden a corromper la estructura del software. Para sistemas pequeos el enfoque evolutivo es el mejor. Los problemas de desarrollo evolutivo se hacen particularmente agudos para sistemas grandes y complejos con un periodo evolutivo de vida largo, donde diferentes equipos desarrollan distintas partes del sistema.

INGENIERA DEL SOFTWARE BASABA EN COMPONENTES: Este enfoque est basado en la reutilizacin se compone de una gran base de componentes software reutilizables y de algunos marcos de trabajo de integracin para estos. Algunas veces estos componentes son sistemas por s mismos (COTS o sistemas comerciales), que se pueden utilizar para proporcionar una funcionalidad especfica, como dar formato al texto o efectuar clculos numricos. Etapas: Anlisis de componentes: dada la especificacin de requerimientos, se buscan los componentes para implementar esta especificacin. Por lo general, no existe una concordancia exacta y los componentes que se utilizan solo proporcionan parte de la funcionalidad requerida. Modificacin de requerimientos: se analizan utilizando informacin acerca delos componentes que se han descubierto. Diseo el sistema con reutilizacin: se disea o se realiza un marco de trabajo para el sistema. Los diseadores tienen en cuenta los componentes que se reutilizan y organizan el marco de trabajo. Desarrollo e integracin: para crear el sistema el software que no se puede adquirir externamente se desarrolla, y los componentes y los sistemas COTS se integran. ITERACION DE PROCESOS Los cambios son inevitables en todos los proyectos de software grandes. Los requerimientos del sistema cambian cuando el negocio que procura el sistema responde a las presiones externas. Hay dos procesos que han sido diseados explcitamente para apoyar la iteracin de procesos: 1. Entrega incremental: la especificacin, el diseo y la implementacin del software se dividen en una serie de incrementos, los cuales son por turnos 2. Desarrollo en espiral: el desarrollo del sistema gira en espiral hacia fuera, empezando con un esbozo inicial y terminando con el desarrollo final. ENTREGA INCREMENTAL Es un enfoque intermedio que combina las ventajas de estos modelos. En un proceso de desarrollo incremental, los clientes identifican a grandes rasgos los servicios proporcionados subconjunto de la funcionalidad del sistema. Una vez que los incrementos del sistema se han identificado los requerimientos para los servicios que se van a entregar en el primer incremento se definen en detalle, y este se desarrolla. Una vez que un incremento se completa y entrega, los clientes pueden ponerlo en servicio.

Este proceso de desarrollo incremental tiene varias ventajas: 1. Los clientes no tienen que esperar hasta que el sistema completo se entregue para sacar provecho de l. El primer incremento satisface los requerimientos ms crticos de tal forma que pueden utilizar el software inmediatamente. 2. Los clientes pueden utilizar los incrementos posteriores del sistema. 3. Existe un bajo riesgo de un fallo La Clasificacin de CASE nos ayuda a comprender los tipos de herramientas y su papel en la ayuda de proceso del software. Se clasifican en: 1. Una perspectiva funcional en la que las herramientas CASE se clasifican de acuerdo con su funcin especifica 2. Una perspectiva de proceso en la que las herramientas se clasifican de acuerdo con las actividades del proceso que ayudan. 3. Una perspectiva de integracin en la que las herramientas CASE se clasifican de acuerdo a la forma en que estn organizadas en unidades integradas que proporcionan ayuda a una o ms actividades del proceso.

CONCLUSIONES:
Los procesos del software son las actividades relacionadas con la produccin de un sistema software. Los modelos del proceso del software son representaciones abstractas de estos procesos. Todos los procesos del software incluyen la especificacin, el diseo, el desarrollo evolutivo y la ingeniera del software basada en componentes. Los modelos de iteracin de procesos presentan el proceso del software como un ciclo de actividades. La ventaja de este enfoque es que evita compromisos prematuros con una especificacin o diseo. La ingeniera de requerimientos es el proceso de desarrollar una especificacin del software. Las especificaciones pretenden comunicar las necesidades del sistema del cliente a los desarrolladores del sistema. La validacin del software es el proceso de verificar que el sistema se ajusta a su especificacin y que satisface las necesidades reales de los usuarios del sistema. El proceso unificado de Rational es un modelo del proceso moderno y genrico que se organiza en fases, pero que separa las actividades (requerimientos, anlisis, y diseo) de estas fases. La tecnologa CASE proporciona ayuda automatizada a los procesos del software. Las herramientas CASE ayudan a las actividades individuales del proceso; los bancos de trabajo ayudan a un conjunto de actividades relacionadas; los entornos ayudan a todas o a la mayora de las actividades del proceso del software.

Вам также может понравиться