domingo, 24 de octubre de 2010

MODELOS DE PROCESO DEL SOFTWARE

MODELOS DE PROCESO DEL SOFTWARE
PARA RESOLVER PROBLEMAS REALES DE UNA INDUSTRIA, UN INGENIERO DEL SOFTWARE O UN EQUIPO DE INGENIEROS DEBE INCORPORAR UNA  ESTRATEGIA DE DESARROLLO.
ESTA ESTRATEGIA DE DESARROLLO SE LLAMA MODELO DE PROCESO O PARADIGMA DE INGENIERIADEL SOFTWARE.
TODO EL DESARROLLO DEL SOFTWARE SE PUEDE CARACTERIZAR COMO BUCLE DE RESOLUCION DE PROBLEMAS  EN EL QUE SE ENCUENTRAN CUATRO ETAPAS DISTINTAS: “STATUS QUO”, DE FINICION DE PROBLEMAS, DESARROLLO TECNICO E INTEGRACION DE SOLUCIONES. STATUS QUO “REPRESENTA EL ESTADO ACTUAL DE SUCESOS”. LA DEFINICION DE PROBLEMAS IDENTIFICA EL PROBLEMA ESPECIFICO A RESOLVERSE.


MODELO LINEAL SECUENCIAL
LLAMADO ALGUNAS VECES “CICLO DE VIDA BASICO” O MODELO EN CASCADA, EL MODELO LINEAL SECUENCIALSUGIERE UN ENFOQUE SISTEMATICO, SECUENCIAL , PARA EL DESARROLLO DEL SOFWAREQUE COMIENZA EN UN NIVELDE SISTEMAS Y PROGRESA CON EL ANALISIS, DISEÑO,CODIFICACION,PRUEBAS Y MANTENIMIENTO.
INGENIERIAY MODELADO DE SISTEMAS /INFORMACION.
COMO EL SOFTWARE FORMA SIEMPRE PARTE DE UN SISTEMA MAS GRANDE (O EMPRESA) EL TRABAJO COMIENZA ESTABLECIENDO REQUISITOS DE TODOS LOS ELEMENTOS DEL SISTEMA ASIGNANDO AL SOFTWARE ALGUN SUBGRUPO  DE ESTOS REQUISITOS. ESTA VISION DEL SISTEMA ES ESENCIAL CUANDO EL SOFTWARE SE DEBE INTERCONECTAR CON OTROS ELEMENTOS COMO EL HARDWARE, PERSONAS Y BASES DE DATOS. LA INGENIERIA Y EL ANALISIS  DE SISTEMAS COMPRENDE LOS REQUISITOS QUE SE RECOJEN EN EL NIVEL DEL SISTEMA  CON UNA PEQUEÑA PARTE DE ANALISIS DE DISEÑO.
ANALISIS DE LOS REQUISITOS DEL SOFTWARE.  EL PROCESO DE REUNIONSE INTENSIFICA Y SE CENTRA ESPECIALMENTE EN EL SOFTWARE. PARA COMPRENDER LA NATURALEZA DE LOS PROGRAMAS A CONSTRUIRSE, EL INGENIERO DEL SOFTWARE DEBE COMPRENDER EL DOMINIO DE INFORMACION DEL SOFTWARE, ASI COMO LA FUNCION REQUERIDA, COMPORTAMIENTO, RENDIMIENTO E INTERCONEXION.
DISEÑO. ES REALMENTE UN PROCESO DE MUCHOS PASOS QUE SE CENTRA EN CUATRO ATRIBUTOS DISTINTOS DE PROGRAMA: ESTRUCTURA DE DATOS, ARQUITECTURA DEL SOFTWARE , REPRESENTACIONES DE INTERFAZ Y DETALLE PROCEDIMENTAL (ALGORITMO).
GENERACION DE CODIGO. EL  DISEÑO SE DEBE TRADUCIR EN FORMA LEGIBLE POR LA MAQUINA. SI SE LLEVA ACABO EL DISEÑO DE UNA FORMA DETALLADA, LA GENERACION DE CODIGO SE REALIZA MECANICAMENTE.
PRUEBAS.UNA VEZ QUE SE HA GENERADO EL CODIGO, COMIENZAN LAS PRUEBAS DEL PROGRAMA.
MANTENIEMIENTO.EL SOFTWARE INDUDABLEMENTE SUFRIRACAMBIOS DESPUES DE  HABER SIDO ENTREGADO AL CLIENTE (UNA EXCEPCION POSIBLE ES EL SOFTWARE EMPOTRADO). SE PRODUCIRAN CAMBIOS PORQUE SE HAN ENCONTRADO ERRORES, POR QUE EL SOFTWARE DEBE ADAPTARSE PARA ACOPLARSE A LOS CAMBIOS DE SU ENTORNO EXTERNO, O POR QUE EL CLIENTE REQUIERE MEJORAS FUNCIONALES O DE RENDIMIENTO.
EL MODELO LINEAL SECUENCIAL ES EL PARADIGMA MAS ANTIGUO Y MAS EXTENSAMENTE UTILIZADO EN LA INGENIERIA DEL SOFTWARE.
MODELO DE CONSTRUCCION 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.  EL RESPONSABLE DEL DESARROLLO DEL SOFTWARE PUEDE NO ESTRA SEGURO DE LA EFICACIA DE UN ALGORITMO,DE LA CAPACIDAD DE ADAPTACION DE UN SISTEMAOPERATIVO, O DE LA FORMA EN QUE DEBERIA TOMARSE LA INTERACCION HOMBRE-MAQUINA. EN ESTAS Y EN OTRAS MUCHAS SITUACIONES, UN PARADIGMA DE CONSTRUCCION DE PROTOTIPOS PUEDE OFRECER EL MEJOR ENFOQUE.
EL PARADIGMA DE CONSTRUCCION DE PROTOTIPOS COMIENZA CON LA RECOLECCION DE REQUISITOS. EL DESARROLLADOR Y EL CLIENTE ENCUENTRAN Y DEFINEN LOS OBJETIVOS GLOBALES PARA EL SOFTWARE,Y DENTIFICAN LOS OBJETIVOS CONOCIDOS Y LAS AREASDEL ESQUEMA DONDE ES OBLIGATORIA MAS DEFINICION. ENTONCES APARECE UN “DISEÑO RAPIDO”.
EL DISEÑO RAPIDO LLEVA ALA CONSTRUCCION DE UN PROTOTIPO. EL PROTOTIPO LO EVALUA EL CLIENTE/USUARIO Y SE UTILIZA PARA REFINAR LOS REQUISITOS DEL SOFTWARE A DESARROLLAR.
EL MODELO DRA.
EL DESARROLLO RAPIDO DE APLICACIONES (DRA) ES UN MODELO DE PROCESO DEL DESARROLLO DEL SOFTWARE LINEAL SECUENCIAL QU ENFATIZA UN CICLO DE DESARROLLOEXTREMADAMENTE CORTO. EL MODELO DRA ES UNA ADAPTACION A “ALTA VELOCIDAD” DEL MODELO LINEAL SECUENCIAL EN EL QUE SE LOGRA EL DESARROLLO RAPIDO UTILIZANDO UNA CONSTRUCCION BASADA EN COMPONENTES.
EL MODELO INCREMENTAL.
EL MODELO INCREMENTAL COMBINA ELEMENTOS DEL MODELO LINEAL SECUENCIAL (APLICADOS REPETIDAMENTE) CON LA FILOSOFIA INTERACTIVA DE CONSTRUCCION DE PROTOTIPOS, EL MODELO INCREMENTAL APLICA SECUENCIAS LINEALES DE FORMA ESCALONADA MIENTRAS PROGRESA EL TIEMPO EN EL CALENDARIO. CADA SECUENCIA LINEAL PRODUCE UN INCREMENTO DEL SOFTWARE .
EL MODELO ESPIRAL
EL MODELO ESPIRAL ES UN MODELO DE PROCESO DE SOFTWARE EVOLUTIVO QUE CONJUGA LA NATURALEZA ITERATIVA DE CONSTRUCCION DE PORTOTIPOS CON LOS ASPECTOS CONTROLADOS Y SISTEMATICOS DE MODELO LINEAL SECUENCIAL. PROPORCIONA EL POTENCIAL  PARA EL DESARROLLO RAPIDO DE VERSIONES INCREMENTALES DEL SOFTWARE . ESTE MODELO, EL SOFTWARE SE DESARROLLA EN UNA  SERIE DE VERSIONES INCREMENTALES .
A DIFERENCIA DEL MODELO DE PROCESO CLASICO QUE TERMINA CUANDO SE ENTREGA EL SOFTWARE, EL MODELO EN ESPIRAL PUEDE ADAPTARSE Y APLICARSE A LO LARGO DE LA VIDA DEL SOFTWARE DE COMPUTADORA.
ESTE MODELO SE DIVIDE EN UN NUMERO DE ACTIVIDADES DE MARCO DE TRABAJO, TAMBIEN LLAMADAS REGIONES DE TAREAS. GENERALMENTE EXISTEN TRES  Y SEIS REGIONES DE TAREAS:
·         COMUNICACIÓN CON EL CLIENTE
·         PLANIFICACION
·         ANALISIS DE RIESGO
·         INGENIERIA
·         CONSTRUCCION Y ACCION
·         EVALUACION DEL CLIENTE
CADA UNA DE ESTAS REGIONES ESTAN COMPUESTAS POR UN CONJUNTO DE TAREAS DEL TRABAJO , LLAMADO CONJUNTO DE TAREAS QUE SE ADAPTAN LAS CARACTERISTISTICAS DEL PROYECTO QUE SE VA A EMPRENDERSE.
EL MODELO ESPIRAL WIN WIN.
EL MODELO ESPIRAL WINWIN DE BOEHM DEFINE UN CONJUNTO DE ACTIVIDADES DE NEGOCIACION AL PRINCIPIO DE CADA PASO ALREDEDOR DE LA ESPIRAL. MAS QUE UNA SIMPLE ACTIVIDAD DE COMUNICACIÓN CON EL CLIENTE SE DEFINEN LAS SIGUIENTES ACTIVIDADES:
1.       IDENTIFICACION DEL SISTEMA O SUBSISTEMAS DE CLAVE DE LOS “DIRECTIVOS”
2.       DETERMINACION DE LAS CONDICIONES  DE VICTORIA DE LOS DIRECTIVOS.
3.       NEGOCIACION DE LAS CONDICIONES DE VICTORIA DE LOS DIRECTIVOS PARA REUNIRLAS EN UN CONJUNTO DE CONDICIONES VICTORIA –VICTORIA PARA TODOS LOS AFECTADOS (INCLUYENDO EL EQUIPO DEL PROYECTO DEL SOFTWARE).

MODELO DE DESARROLLO CONCURRENTE
EL MODELO DE PROCESO CONCUERRENTE SE PUEDE REPRESENTAR DE FORMA DE ESQUEMA COMO UNA SERIE DE ACTIVIDADES TECNIAS IMPORTANTES, TAREAS Y ESTADOS ASOCIADOS A ELLAS.
ESTE MODELO DEFINE UNA SERIE DE ACONTESIMIENTOS QUE DISPARARAN TRANSICIONES DE ESTADO PARA CADA UNA DE LAS ACTIVIDADES DE LA INGENIERIA DEL SOFTWARE.
EL MODELO DE PROCESO CONCURRENTE SE UTILIZA COMO UN PARADIGMA DE DESARROLLO DE APLICACIONES CLIENTE/SERVIDOR. UN SISTEMA CLIENTE/SERVIDOR  SE COMPONE DE UN CONJUNTO DE COMPONENTES FUNCIONALES. CUANDO SE APLICA A CLIENTE/SERVIDOR EL MODELO DE PROCESO CONCURRENTE DEFINE ACTIVIDADES EN DOS DIMENSIONES :
1.       DIMENSION DE SISTEMAS. LOS ASPECTOS DE NIVEL DE SISTEMAS SE AFRONTAN MENDIANTE  TRES ACTIVIDADES: DISEÑO, ENSAMBLAJE Y USO.
2.       DIMENSION DE COMPONENTES. SE AFRONTA CON DOS ACTIVIDADES: DISEÑO Y REALIZACION.
DESARROLLO BASADO EN COMPONENTES.
EL MODELO DE DESARROLLO BASADO EN COMPONENTES INCORPORA MUCHAS CARACTERISTICAS DEL MODELO EN ESPIRAL. ES EVOLUTIVO POR NATURALEZA Y EXIGE UN ENFOQUE  ITERATIVO PARA LA CREACION DEL SOFTWARE.
CONDUCE LA REUTILIZACION DEL SOFTWARE Y LA REUTILIZACION PROPORCIONA BENEFICIOS A LOS INGENIEROS DEL SOFTWARE.

MODELO DE METODOS FORMALES. COMPRNEDE UN CONJUNTO DE ACTIVIDADES QUE CONDUCEN ALA ESPECIFICACION MATEMATICA DEL SOFTWARE DE COMPUTADORA.


No hay comentarios:

Publicar un comentario