Sie sind auf Seite 1von 34

INGENIERIA DE SISTEMAS

Anlisis de Procesos de Software

Comprender

los conceptos principales relacionados con el proceso de ingenieria de software y el ciclo de vida del software Conocer los procesos, mtodos y modelos que se aplican actualmente en la Ingeniera de software Conocer los principales ciclos de vida del software.

Un conjunto coherente de polticas, estructuras organizacionales, tecnologas, procedimientos y artefactos que son necesarios para concebir, desarrollar, instalar y mantener un producto software.
Mario Piatini

Es la disciplina o rea de la informtica que ofrece mtodos y tcnicas para desarrollar y mantener software de calidad

Dichas capas se describen a continuacin: Cualquier disciplina de ingeniera (incluida la ingeniera del software) debe descansar sobre un esfuerzo de organizacin de calidad. La gestin total de la calidad y las filosofas similares fomentan una cultura continua de mejoras de procesos que conduce al desarrollo de enfoques cada vez ms robustos para la ingeniera del software.

El fundamento de la ingeniera de software es la capa proceso. El proceso define un marco de trabajo para un conjunto de reas clave, las cuales forman la base del control de gestin de proyectos de software y establecen el contexto en el cual: se aplican los mtodos tcnicos, se producen resultados de trabajo, se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente. Los mtodos de la ingeniera de software indican cmo construir tcnicamente el software. Los mtodos abarcan una gran gama de tareas que incluyen anlisis de requisitos, diseo, construccin de programas, pruebas y mantenimiento. Estos mtodos dependen de un conjunto de principios bsicos que gobiernan cada rea de la tecnologa e incluyen actividades de modelado y otras tcnicas descriptivas. Las herramientas de la ingeniera del software proporcionan un soporte automtico o semi-automtico para el proceso y los mtodos, a estas herramientas se les llama herramientas CASE(Computer-Aided Software Engineering.

El proceso de ingeniera de software se define como "un conjunto de etapas parcialmente ordenadas con la intencin de logra un objetivo, en este caso, la obtencin de un producto de software de calidad" [Jacobson 1998].El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseo y el diseo implementado en cdigo, el cdigo es probado, documentado y certificado para su uso operativo". Concretamente "define quin est haciendo qu, cundo hacerlo y cmo alcanzar un cierto objetivo" [Jacobson 1998].

Qu es un proceso de Software? Es un conjunto estructurado de actividades para: Especificar Disear Implementar Probar Mantener Software.

Tipos de Elementos para representar un proceso de Software

El proceso de Ingeniera de Software se basa en modelos, mtodos y herramientas que sirven como una gua para los ingenieros de Software durante el proceso de desarrollo, con la finalidad de mejorar la calidad de los proyectos, procesos y productos mediante la evaluacin y medicin de los mismos

El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseo y el diseo implementado en cdigo, el cdigo es probado, documentado y certificado para su uso operativo". Concretamente "define quin est haciendo qu, cundo hacerlo y cmo alcanzar un cierto objetivo" [Jacobson 1998]. El proceso de desarrollo de software requiere por un lado un conjunto de conceptos, una metodologa y un lenguaje propio. A este proceso tambin se le llama el ciclo de vida del software que comprende cuatro grandes fases: concepcin, elaboracin, construccin y transicin

Un Concepto dado por IEEE 1074 es el ciclo de vida del software es una aproximacin lgica a la adquisicin el suministro, el desarrollo, la explotacin y el mantenimiento del software. Otro concepto dado por ISO 12207 Es un marco de referencia que contiene los procesos las actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso

Existen varios modelos del ciclo de vida del software, sin embargo los mas utilizados son: Cascada, Prototipado, Incremental, Evolutivo y Espiral.

Definicin de Requerimientos

Diseo del Software y del Sistema

Implementacin y Prueba de unidades

Integracin y Prueba del Sistema Operacin y Mantenimiento

Se puede hacer uso de este modelo cuando se presenten las siguientes condiciones: Cuando los requisitos del problema se entienden razonablemente. Para hacer adaptaciones o mejoras bien definidas a un sistema existente. Limitadamente en proyectos nuevos, solo cuando los requisitos estn muy bien definidos y estables en forma razonable. El modelo en cascada sugiere un enfoque sistemtico, secuencial hacia el desarrollo del software.

Problemas que se presentan al aplicar el modelo en cascada: Es raro que los proyectos reales sigan el flujo secuencial que propone el modelo. El modelo tiene iteracciones indirectas, lo cual confunde al equipo desarrollador. Con frecuencia es difcil para el cliente establecer todos los requisitos de manera explicita. El modelo lo requiere desde un principio. El Cliente debe tener paciencia. Una versin funcionando estar lista cuando el proyecto este muy avanzado.

Cuando hay una necesidad imperiosa de producir de manera rpida un conjunto limitado de funcionalidad para el usuario y despus refinarla y expandirla en entregas posteriores de software. En estos casos se elige un modelo de proceso diseado para producir el software de manera incremental.

El modelo incremental combina elementos del modelo en cascada aplicado en forma iterativa. 1. Combina elementos del modelo lineal con la filosofa de creacin de prototipos 2. El primer incremento a menudo es un producto esencial (ncleo) 3. A partir de la evaluacin se planea el siguiente incremento y as sucesivamente 4. Es interactivo por naturaleza 5. Aseguramiento de la calidad 6. Es til cuando el personal no es suficiente para la implementacin completa Ventajas: Se puede financiar el proyecto por partes Apropiado para proyectos grandes de larga duracin No se necesita tanto personal al principio como para una implementacin completa Desventajas: Se necesitan pruebas de regresin Pueden aumentar el coste debido a las pruebas

Desarrollo rpido de aplicaciones (DRA) es un modelo que resalta un ciclo de desarrollo corto. Si se entienden bien los requisitos y se limita bien el mbito del proyecto, un equipo de desarrollo puede crear un sistema completamente funcional dentro de un periodo muy corto.

Inconvenientes: Para proyectos grandes requiere recursos humanos suficientes Los clientes y desarrolladores deben estar comprometidos en las rpidas actividades Si el sistema no se puede modularizar ser problemtico no es adecuado con riesgos tcnicos altos

Actividades Concurrentes

Especificacin

Versin Inicial

Descripcin del sistema

Desarrollo

Versiones Intermedias

Validacin

Versin Final

Conlleva el refinamiento sucesivo de una arquitectura OO, por el cual se aplica la experiencia y resultados de cada versin a la siguiente iteracin del anlisis y el diseo. Ventajas: Es ideal para sistemas que no tienen bien definidos los requerimientos. Los desarrolladores ven ms rpido el resultado de su trabajo. Desventajas : Es difcil distinguirlo del proceso codifica y corrige

Un paradigma de construccin de prototipos puede tomar un mejor enfoque: Cuando el cliente define los objetivos generales, pero no identifica los requisitos detallados de entrada, salida o procesamiento. Cuando el desarrollador de software esta inseguro de la eficacia de una algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debera tomar la interaccin hombre-mquina.

Ventajas:
No modifica el flujo del ciclo de vida. Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios. Reduce costos y aumenta la probabilidad de xito. Exige disponer de las herramientas adecuadas. No presenta calidad ni robustez. Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniera.

Inconvenientes:
A los usuarios les gusta el sistema real y a los desarrolladores les gusta construir algo de inmediato. Sin embargo, la construccin de prototipos se torna problemtica por las siguientes razones: El cliente ve funcionando lo que para el es la primera versin del prototipo que ha sido construido con chicle y cable para embalaje, y puede decepcionarse al indicarle que el sistema aun no ha sido construido. El desarrollador puede caer en la tentacin de aumentar el prototipo para construir el sistema final sin tener en cuenta los obligaciones de calidad y de mantenimiento que tiene con el cliente.

Determine objetivos alternativas y restricciones

Evale alternativas, identifique y resuelva riesgos Anlisis de Riesgos Anlisis de Riesgos Anlisis de Riesgos Anlisis Proto de Riesgos tipo 3 Prototipo Prototipo 3 2 Prototipo Operacional

REVISIN

Planea la siguiente fase

Simulaciones, modelos y benchmarks Plan de requerimientos Concepto de Plan del ciclo de vida Operacin Requeri Diseo Diseo mientos de del Detallado SW Plan de Validacin de Producto Codificacin Desarrollo Requerimientos Prueba de Unidades Plan de Integracin Diseo Prueba de y Prueba V &V Prueba de Integracin Desarrolla y verifica Aceptacin el siguiente nivel Servicio del producto

Ventajas Centra su atencin en la reutilizacin de componentes y eliminacin de errores en informacin descubierta en fases iniciales. Los objetivos de calidad son el primer objetivo. Integra desarrollo con mantenimiento. Provee un marco de desarrollo de hardware/software. Los desarrolladores observan los resultados de sus trabajos ms rpidamente. Puede modificar algunos requerimientos durante el desarrollo. Desventajas Es un modelo amplio y necesita de personal con experiencia, sino podra fracasar el modelo. Se debe aplicar a proyectos grandes.

Consiste en avanzar una o ms fases del desarrollo del software en forma paralela. Ventajas: Hay una cierta aceleracin en el desarrollo del proyecto. Se intenta mantener a todo el personal del proyecto realizando la fase que le corresponde. Desventajas : Existe la posibilidad de avanzar alguna fase sin haber previsto que surjan algunos cambios o errores. No hay mucho control en el tiempo de cada fase

Proceso Unificado de Rational ( RUP )

Proceso dirigido por casos de uso Proceso centrado en la arquitectura Proceso Iterativo o incremental Modelado Visual UML Verificacin continua de Calidad Gestin de los cambios Administracin de Riesgos

Es un modelo para el ciclo de vida de un software creado por la compaa Microsoft en el cual se nota un uso de framework. El framework es una estructura o un marco de trabajo utilizado para el desarrollo del sw. Este modelo adems posee una flexibilidad que hace posible que sea usado tanto en proyectos grandes como en proyectos pequeos (refirindose al alcance de los proyectos Es aplicable a proyectos de infraestructura o redes.

Extreme Programing (XP) Es una de las metodologas de desarrollo de software ms exitosas en la actualidad utilizadas para proyectos de corto plazo, corto equipo y cuyo plazo de entrega era ayer. La metodologa consiste en una programacin rpida o extrema, cuya particularidad es tener como parte del equipo, al usuario final, pues es uno de los requisitos para llegar al xito del proyecto.

Das könnte Ihnen auch gefallen