Você está na página 1de 6

EL PROCESO

Se define proceso de software como un marco de trabajo de las tareas que se requieren para construir software de alta calidad.

2.1 INGENIERIA DEL SOFTWARE: UNA TECNOLOGA ESTRATIFICADA


La ingeniera del software es el establecimiento y uso de principios robustos de la ingeniera a fin de obtener econmicamente software que sea fiable y que funcione eficientemente sobre mquinas reales. 2.1.1. Proceso, mtodos y herramientas La Ingeniera del software es una tecnologa multicapa. La ingeniera de software comprende un proceso, mtodos tcnicos y de gestin y herramientas. El fundamento de la ingeniera del software es la capa de proceso. El proceso de la ingeniera del software es la unin que mantiene juntas las capas de tecnologa y que permite un desarrollo racional y oportuno de la ingeniera del software. Los mtodos de la ingeniera del 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. Las herramientas de la Ingeniera del software proporcionan un enfoque automtico o semi-automtico para el proceso y para los mtodos. Cuando se integran herramientas para que la informacin creada por una herramienta la pueda utilizar otra, se establece un sistema de soporte para el desarrollo del software llamado ingeniera del software asistida por computadora (CASE). 2.1.2. Una visin general de la ingeniera del software Se consideran las caractersticas genricas del proceso de software. El trabajo que se asocia a la ingeniera del software se puede dividir en tres fases genricas: La fase de definicin se centra sobre el qu. Es decir, durante la definicin, el que desarrolla el software intenta identificar qu informacin ha de ser procesada, qu funcin y rendimiento se desea, qu comportamiento del sistema, qu interfaces van a ser establecidas, qu restricciones de diseo existen, y qu criterios de validacin se necesitan para definir un sistema correcto. Tres tareas principales: ingeniera de sistemas o de informacin, planificacin del proyecto del software y anlisis de los requisitos. La fase de desarrollo se centra en el cmo. Es decir, durante el desarrollo un ingeniero del software intenta definir cmo han de disearse las estructuras de datos, cmo ha de implementarse la funcin dentro de una arquitectura de software, cmo han de implementarse los detalles procedimentales, cmo han de caracterizarse interfaces, cmo ha de traducirse el diseo en un lenguaje de programacin (o lenguaje no procedimental) y cmo ha de realizarse la prueba. Los mtodos aplicados durante la fase de desarrollo variarn, aunque las tres tareas especficas tcnicas deberan ocurrir siempre: diseo del software, generacin de cdigo y prueba del software. . La fase de mantenimiento se centra en el cambio que va asociado a la correccin de errores, a las adaptaciones requeridas a medida que evoluciona el entorno del software y a cambios debidos a las mejoras producidas por los requisitos cambiantes del cliente.

Durante la fase de mantenimiento se encuentran cuatro tipos de cambios: Correccin. Incluso llevando a cabo las mejores actividades de garanta de calidad, es muy probable que el cliente descubra los defectos en el software. El mantenimiento correctivo cambia el software para corregir los defectos. Adaptacin. Con el paso del tiempo, es probable que cambie el entorno original (por ejemplo: CPU, el sistema operativo, las reglas de empresa, las caractersticas externas de productos) para el que se desarroll el software. El mantenimiento adaptativo produce modificacin en el software para acomodarlo a los cambios de su entorno externo. Mejora. Conforme se utilice el software, el cliente/usuario puede descubrir funciones adicionales que van a producir beneficios. El mantenimiento perfectivo lleva al software ms all de sus requisitos funcionales originales. Prevencin. El software de computadora se deteriora debido al cambio, y por esto el m antenimiento preventivo tambin llamado reingeniera del software, se debe conducir a permitir que el software sirva para las necesidades de los usuarios finales. En esencia, el mantenimiento preventivo hace cambios en programas de computadora a fin de que se puedan corregir, adaptar y mejorar ms fcilmente. Las fases y los pasos relacionados descritos en nuestra visin genrica de la ingeniera del software se complementan con un nmero de actividades protectoras. Entre las actividades tpicas de esta categora se incluyen: Seguimiento y control del proyecto de software Revisiones tcnicas formales Garanta de calidad del software Gestin de configuracin del software Preparacin y produccin de documentos Gestin de reutilizacin Mediciones Gestin de riesgos Las actividades de proteccin se aplican a lo largo de todo el proceso del software.

2.2 EL PROCESO DEL SOFTWARE


Un proceso de software se puede caracterizar como un marco comn del proceso definiendo un pequeo nmero de actividades del marco de trabajo que son aplicables a todos los proyectos del software, con independencia de su tamao o complejidad. Un nmero de conjuntos de tareas cada uno es una coleccin de tareas de trabajo de ingeniera del software, hitos de proyectos, productos de trabajo, y puntos de garanta de calidad- que permiten que las actividades del marco de trabajo se adapten a las caractersticas del proyecto del software y a los requisitos del equipo del proyecto. Finalmente, las actividades de proteccin -tales como garanta de calidad del software, gestin de configuracin del software y medicin*-abarcan el modelo de procesos. Las actividades de proteccin son independientes de cualquier actividad del marco de trabajo y aparecen durante todo el proceso. El esquema de grados determina la conformidad con un modelo de capacidad de madurez que define las actividades clave que se requieren en los diferentes niveles de madurez del proceso. El enfoque del SE1 proporciona una medida de la efectividad global de las prcticas de ingeniera del software de una compaa y establece cinco niveles de madurez del proceso, que se definen de la forma siguiente:

Nivel 1: Inicial. El proceso del software se caracteriza segn el caso, y ocasionalmente incluso de forma catica. Se definen pocos procesos, y el xito depende del esfuerzo individual. Nivel 2: Repetible. Se establecen los procesos de gestin del proyecto para hacer seguimiento del coste, de la planificacin y de la funcionalidad. Para repetir xitos anteriores en proyectos con aplicaciones similares se aplica la disciplina necesaria para el proceso. Nivel 3: Definido. El proceso del software de las actividades de gestin y de ingeniera se documenta, se estandariza y se integra dentro de un proceso de software de toda una organizacin. Todos los proyectos utilizan una versin documentada y aprobada del proceso de la organizacin para el desarrollo y mantenimiento del software. En este nivel se incluyen todas las caractersticas definidas para el nivel 2. Nivel 4: Gestionado. Se recopilan medidas detalladas del proceso del software y de la calidad del producto. Mediante la utilizacin de medidas detalladas, se comprenden y se controlan cuantitativamente tanto los productos como el proceso del software. En este nivel se incluyen todas las caractersticas definidas para el nivel 3. Nivel 5: Optimizacin. Mediante una retroalimentacin cuantitativa del proceso, ideas y tecnologas innovadoras se posibilita una mejora del proceso. En este nivel se incluyen todas las caractersticas definidas para el nivel 4.

2.3 MODELOS DE PROCESO DEL SOFTWARE.


Se selecciona un modelo de proceso para la ingeniera del software segn la naturaleza del proyecto y de la aplicacin, los mtodos y las herramientas a utilizarse, y los controles y entregas que se requieren. Todo el desarrollo del software se puede caracterizar como bucle de resolucin de problemas.

2.4 EL MODELO LINEAL SECUENCIAL.


Llamado algunas veces ciclo de vida bsico o modelo en cascada, el modelo lineal secuencial sugiere un enfoque5 sistemtico, secuencial, para el desarrollo del software que comienza en un nivel de sistemas y progresa con el anlisis, diseo, codificacin, pruebas y mantenimiento. El modelo lineal secuencial comprende las siguientes actividades: Ingeniera y modelado de Sistemas/Informacin. Como el software siempre forma parte de un sistema ms grande (o empresa), el trabajo comienza estableciendo requisitos de todos los elementos del sistema y asignando al software algn subgrupo de estos requisitos. Anlisis de los requisitos del software. El proceso de reunin de requisitos se intensifica y se centra especialmente en el software. Diseo. El diseo del software es realmente un proceso de muchos pasos que se centra en cuatro atributos distintos de programa: estructura de datos, arquitectura de software, representaciones de interfaz y detalle procedimental (algoritmo). Pruebas. Una vez que se ha generado el cdigo, comienzan las pruebas del programa. El proceso de pruebas se centra en los procesos lgicos internos del software, asegurando que todas las sentencias se han comprobado, y en los procesos externos funcionales.

Mantenimiento. El software indudablemente sufrir cambios despus de ser entregado al cliente. Se producirn cambios porque se han encontrado errores, porque el software debe adaptarse para acoplarse a los cambios de su entorno, o porque el cliente requiere mejoras funcionales o de rendimiento.

2.5 EL MODELO DE CONSTRUCCIN DE PROTOTIPOS.


Un cliente, a menudo, define un conjunto de objetivos generales para el software, pero no identifica los requisitos detallados de entrada, proceso o salida. En otros casos, el responsable del desarrollo del software puede no estar seguro de la eficacia de un algoritmo, de la capacidad de adaptacin de un sistema operativo, o de la forma en que debera tomarse la interaccin hombre mquina. En estas y en otras muchas situaciones, un paradigma de construccin de prototipos puede ofrecer el mejor enfoque.

2.6 EL MODELO DRA.


El Desarrollo Rpido de Aplicaciones (DRA) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. El modelo DRA es una adaptacin a alta velocidad del modelo lineal secuencial en el que se logra el desarrollo rpido utilizando una construccin basada en componentes. Cuando se utiliza principalmente para aplicaciones de sistemas de informacin, el enfoque DRA comprende las siguientes fases: Modelado de Gestin. El flujo de informacin entre las funciones de gestin se modela de forma que responda a las siguientes preguntas: Qu informacin conduce el proceso de gestin? Qu informacin se genera? Quin la genera? A dnde va la informacin? Quin la procesa? Modelado de datos. El flujo de informacin definido como parte de la fase de modelado de gestin se refina como un conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las caractersticas llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos. Modelado del proceso. Los objetos de datos definidos en la fase de modelado de datos quedan transformados para lograr el flujo de informacin necesario para implementar una funcin de gestin. Las descripciones del proceso se crean para aadir, modificar, suprimir, o recuperar un objeto de datos. Generacin de aplicaciones. El DRA asume la utilizacin de tcnicas de cuarta generacin. En lugar de crear software con lenguajes de programacin de tercera generacin, el proceso DRA trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea necesario). Pruebas y entrega. Como el proceso DRA enfatiza la reutilizacin, ya se han comprobado muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo.

2.7 MODELOS EVOLUTIVOS DE PROCESO DEL SOFTWARE.


Los modelos evolutivos son iterativos. Se caracterizan por la forma en que permiten a los ingenieros del software desarrollar versiones cada vez ms completas del software. 2.7.1. El modelo incremental El modelo incremental combina elementos del modelo lineal secuencial (aplicados repetidamente) con la filosofa interactiva de construccin de prototipos.

2.7.2. El modelo espiral El modelo en espiral, es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construccin de prototipos con los aspectos controlados y sistemticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo rpido de versiones incrementales del software. El modelo en espiral se divide en un nmero de actividades de marco de trabajo, tambin llamadas regiones de tareas. Generalmente, existen entre tres y seis regiones de tareas. Un modelo en espiral contiene seis regiones de tareas: Comunicacin con el cliente- las tareas requeridas para establecer comunicacin entre el desarrollador y el cliente. Planificacin- las tareas requeridas para definir recursos, el tiempo y otra informacin relacionadas con el proyecto. Anlisis de riesgos- las tareas requeridas para evaluar riesgos tcnicos y de gestin. Ingeniera- las tareas requeridas para construir una o ms representaciones de la aplicacin. Construccin y accin- las tareas requeridas para construir, probar, instalar y proporcionar soporte al usuario. Evaluacin del cliente- las tareas requeridas para obtener la reaccin del cliente segn la evaluacin de las representaciones del software creadas durante la etapa de ingeniera e implementada durante la etapa de instalacin 2.7.3. El modelo espiral WINWIN El modelo en espiral WINWIN de Boehm define un conjunto de actividades de negociacin al principio de cada paso alrededor de la espiral. Ms que una simple actividad de comunicacin con el cliente, se definen las siguientes actividades: 1. Identificacin del sistema o subsistemas clave de los directivos. 2. Determinacin de las condiciones de victoria de los directivos. 3. Negociacin de las condiciones de victoria de los directivos para reunirlas en un conjunto de condiciones para todos los afectados (incluyendo el equipo del proyecto de software). Adems del nfasis realizado en la negociacin inicial, el modelo en espiral WINWIN introduce tres hitos en el proceso, llamados puntos de fijacin, que ayudan a establecer la completitud de un ciclo alrededor de la espiral y proporcionan hitos de decisin antes de continuar el proyecto de software. En esencia, los puntos de fijacin representan tres visiones diferentes del progreso mientras que el proyecto recorre la espiral. El primer punto de fijacin, llamado objetivos del ciclo de vida (OCV), define un conjunto de objetivos para cada actividad principal de ingeniera del software. El segundo punto de fijacin, llamado arquitectura del ciclo de vida (ACV), establece los objetivos que se deben conocer mientras que se define la arquitectura del software y el sistema. La capacidad operativa inicial (COI) es el tercer punto de fijacin y representa un conjunto de objetivos asociados a la preparacin del software para la instalacin/distribucin, preparacin del lugar previamente a la instalacin, y la asistencia precisada de todas las partes que utilizar o mantendr el software.

2.7.4. El modelo de desarrollo concurrente El modelo de proceso concurrente se puede representar en forma de esquema como una serie de actividades tcnicas importantes, tareas y estados asociados a ellas.

2.8 MODELO DE DESARROLLO BASADO EN COMPONENTES.


El modelo de desarrollo basado en componentes incorpora muchas de las caractersticas del modelo en espiral. Es evolutivo por naturaleza [NIE92], y exige un enfoque iterativo para la creacin del software. Sin embargo, el modelo de desarrollo basado en componentes configura aplicaciones desde componentes preparados de software. El modelo de desarrollo basado en componentes conduce a la reutilizacin del software, y la reutilizacin proporciona beneficios a los ingenieros de software.

2.9 EL MODELO DE MTODOS FORMALES.


El modelo de mtodos formales comprende un conjunto de actividades que conducen a la especificacin matemtica del software de computadora. Los mtodos formales permiten que un ingeniero de software especifique, desarrolle y verifique un sistema basado en computadora aplicando una notacin rigurosa y matemtica.

2.10 TCNICAS DE CUARTA GENERACIN.


El trmino tcnicas de cuarta generacin (T4G) abarca un amplio espectro de herramientas de software que tienen algo en comn: todas facilitan al ingeniero del software la especificacin de algunas caractersticas del software a alto nivel.

Você também pode gostar