Está en la página 1de 214

C.F.G.S.

DESARROLLO DE APLICACIONES INFORMTICAS

MDULO: Anlisis y Diseo de Aplicaciones Informticas de Gestin

Unidad 1
Introduccin al Desarrollo de las Aplicaciones Informticas Sistemas de Informacin Bsicos

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

NDICE DE CONTENIDOS

OBJETIVOS .......................................................................................................... 2 1.- SISTEMAS DE INFORMACIN


1.1.- CONCEPTO DE SISTEMA ........................................................................ 3 1.2.- CONCEPTO DE INFORMACIN .............................................................. 6 1.3.- SISTEMAS DE INFORMACIN............................................................... 10 1.3.1.-Definicin.................................................................................. 11 1.3.2.- Componentes de un SI............................................................ 12 1.3.3.-Estructura de un SI................................................................... 14 1.3.4.- Soporte de un SI...................................................................... 16

SOLUCIONES AUTOEVALUACIN ........................................................... 22 GLOSARIO .......................................................................................................... 23

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

OBJETIVOS

Esta primera unidad pretende dar una visin global de las tareas que hay que realizar en el desarrollo de las aplicaciones informticas, de aproximar al alumno al entorno en el cual ha de desarrollar su trabajo: la empresa, a que identifique las estructuras organizativas, los niveles y funciones de gestin, los tipos de informacin requeridos en cada nivel y los principales flujos de datos y tareas realizadas en procesos de gestin tpicos.

Aprenderis bsicamente:

Los conceptos bsicos sobre los Sistemas de Informacin. La importancia de los mismos en los sistemas productivos y empresariales. La aplicacin de los sistemas automatizados mediante ordenador, en los sistemas de informacin formando los denominados Sistemas de informacin automatizado.

Con esta primera unidad vamos a intentar situarte en lo que consisten los Sistemas de informacin los elementos que la componen y la automatizacin de estos sistemas.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

1.- Sistemas de Informacin.


1.1.- Concepto de sistema.
Habrs observado que en la actualidad vivimos en un mundo caracterizado por una industria global, que en muchas ocasiones tiene diseminadas las distintas partes de la cadena productiva de las empresas en distintos pases, incluso muy alejados entre s, por ejemplo cualquier empresa del ramo textil.

Cmo mantener esta infraestructura en orden, las tiendas siempre repuestas de gnero, las fbricas surtidas con materias primas, y toda la industria que hay alrededor tambin sincronizadas?.

La respuesta es manejando informacin. El mercado requiere respuestas cada vez ms rpidas en un mundo muy cambiante. Por lo tanto se hace necesaria la gestin de esta informacin de la manera ms precisa y rpida, y esta es la demanda de las organizaciones, crear Sistemas de Informacin que ayuden a lograr los objetivos de la compaa.

Un sistema es un conjunto de elementos materiales relacionados de alguna forma entre ellos, que constituyen un todo orgnico, sujeto a determinadas leyes. Si buscamos en el diccionario de la Real Academia de la Lengua Espaola encontramos que lo define como Conjunto de reglas o cosas que, ordenadamente relacionadas entre si, contribuyen a un determinado objetivo. Si miramos a nuestro alrededor podremos encontrar varios sistemas: un sistema de seguridad, el sistema de juego que pueda seguir un determinado equipo deportivo o, algo ms vivo y cercano, el sistema circulatorio humano.

Un sistema consta de los siguientes elementos:

Componentes del sistema. Relaciones entre los componentes que determinan la estructura del sistema. Pueden tener un soporte fsico como los cables telefnicos o las carreteras o pueden ser abstractas como las que ligan los depsitos bancarios con los intereses que devengan.
Realimentacin Entrada Entorno Lmites o contorno

Sistema

Salida

Objetivo del sistema. Entorno del sistema; aquello que rodea al sistema dentro del cual est ubicado. Lmites del sistema; frontera entre lo que es el sistema y lo que constituye el entorno. Entradas y salidas del sistema; relaciones entre el sistema o sus componentes con el exterior. En muchos sistemas la salida influye en el estado del sistema, eso se denomina realimentacin. 3

VALLINIELLO
Veamos unos ejemplos de estos elementos:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

SISTEMA CIRCULATORIO

Componentes: el corazn, las venas, las arterias, ... Relaciones: las arterias llevan sangre oxigenada y las venas llevan sangre no oxigenada. El corazn bombea la sangre a travs de las arterias. Objetivo: asegurar el suministro de sangre a todo el cuerpo. Entorno: el cuerpo humano; es un elemento que agrupa a varios sistemas de la misma importancia. Lmites: la membrana que separa cada uno de sus rganos con el resto del cuerpo que no pertenece al sistema. Entradas y salidas: las reacciones del corazn a los distintos estmulos y situaciones. Un ejemplo de entrada sera una orden del sistema nervioso al corazn para modificar el ritmo de sus latidos. Un ejemplo de salida es la interaccin entre el sistema circulatorio y el respiratorio.

SISTEMA DE SEGURIDAD

Componentes: alarmas, guardias, perros, cmaras... Relaciones: el guardia ve en su monitor las imgenes que emite la cmara. Si hay algn intruso activa la alarma. Est atento a las reacciones de los perros y les da ordenes. Objetivo: proteger la propiedad. Entorno: las instalaciones que protege. Lmites: las vallas que rodean las instalaciones. Entradas: personas, objetos o animales que entran en el entorno. Salidas: llamadas a la polica.

SISTEMA DE JUEGO DE UN EQUIPO DE FTBOL

Los componentes del sistema son los jugadores, el equipo tcnico, y el equipo directivo. El objetivo de este sistema, es buscar la manera de conseguir ms goles y adems que el equipo encaje los menos goles que sea posible en su portera. Las relaciones: El equipo directivo se encarga del fichaje del resto de componentes del sistema y realizan las labores de publicidad, solvencia econmica y direccin del club. 4

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

El equipo tcnico se encarga de dirigir a los jugadores en el entrenamiento, y en el campo de juego, adems de la preparacin fsica del equipo, y en algunos casos resolucin de problemas mdicos.

Los jugadores son el ltimo eslabn del sistema y se encargan de llevar a cabo las estrategias propuestas por el equipo tcnico adems de aportar su tcnica individual.

El entorno del sistema es el estadio de ftbol, adems de cualquier otro estadio donde toque jugar, que es donde se entrena el equipo para ensayar el sistema.

Los lmites del sistema los establecen las leyes de competicin existentes, as como la reglamentacin internacional de la FIFA.

Lo que nosotros necesitamos, es conocer la manera en que las empresas manejan la informacin necesaria para su funcionamiento, constituyendo sistemas. Para ello analizaremos tambin las tcnicas creadas para el estudio de los sistemas, lo que se llama teora general de sistemas o enfoque sistmico.

Este enfoque lo que hace es analizar los sistemas desde un punto de vista global. Se inicia como si el sistema fuera una caja negra en la que slo podemos distinguir la informacin de entrada y la de salida, para ir

progresivamente descomponiendo el sistema.

Una vez estn identificados los lmites del sistema y sus

relaciones, abrimos la caja negra y vemos el interior, donde nos

encontramos otras grandes cajas negras, que forman los

subsistemas de nuestro sistema, adems de las relaciones entre ellos. Cada una de estas cajas negras a su vez se ir descomponiendo hasta que nos encontremos con problemas de fcil resolucin. La tcnica utilizada en este enfoque sistmico u holstico, puedes encontrarla en otros contextos tambin con el nombre de tcnica de divide y vencers. 5

VALLINIELLO
AUTOEVALUACIN:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

1.- En los sistemas de cualquier tipo podemos encontrar los siguientes elementos: a) El objetivo del sistema, los componentes del sistema y las relaciones entre componentes, que determinan su estructura. b) El entorno, el objetivo del sistema, los componentes del sistema y las relaciones entre componentes. c) El objetivo del sistema, los componentes del sistema, el entorno y sus lmites y las relaciones entre componentes, que determinan su estructura. d) Los objetivos, los componentes y los resultados del sistema.

PARA SABER MS. Si quieres profundizar ms sobre el enfoque sistmico visita esta pgina: http://www.daedalus.es/AreasISEnfoque-E.php

1.2.- Concepto de informacin.


Cuanto ms grande y complejo es un sistema, ms importante es la comunicacin de informacin entre sus componentes, ya que se deben coordinar para la consecucin del objetivo. Disponer de la informacin adecuada significa poder tomar las decisiones ms apropiadas. Ahora bien, qu entendemos por informacin? No hemos de confundir el trmino datos con el trmino informacin.

Datos: estn constituidos por los registros de los hechos, acontecimientos, transacciones, etc. Son la materia prima de la informacin. Informacin: son los datos procesados de tal manera que resultan significativos y tiles para el receptor Entendemos por procesamiento, el situar los datos en un contexto determinado. Entendemos por utilidad o significacin, que permite decidir mejor, ya que la decisin es paso previo a la accin. Por ejemplo: Datos: Hoy 20 Informacin: Dependiendo del contexto en que se dan los datos anteriores, puede ser respuesta a varias preguntas. - Cunto cuesta? - Cundo llegar? - Cundo cumples aos y cuntos sern? - 6

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Matemticamente, Claude Shannon, estableci una frmula que calculaba la cantidad de informacin que se comunica, en funcin del nmero total de mensajes que se pueden enviar, teniendo en cuenta que cualquier mensaje podra tener la misma posibilidad de ser enviado.

Tambin tiene en cuenta que la comunicacin ms elemental que puede producirse es el envo de una de estas dos alternativas posibles si / no, o puedes encontrarla en otros textos como verdadero / falso. En Informtica esta informacin se traduce como: Si No 1 0

y recibe el nombre de bit, y es la menor cantidad de informacin que puede considerarse.

Pues bien, Shannon establece que cuando existe la posibilidad de enviar no dos, sino una cantidad n de diferentes mensajes equiprobables (con la misma probabilidad p = 1/n), la cantidad de informacin I medida en bits, que se comunica cuando se enva uno de los n mensajes es: I = log2 n = log2 (1/p) La cantidad de informacin (I) de un mensaje, es equivalente al nmero mnimo de dgitos binarios (ceros o unos) necesarios para codificar todos los posibles mensajes a enviar.

Veamos ahora con ejemplos lo que significa esta frmula:

Cul es la cantidad de informacin que nos da un semforo al lucir el color verde?

En el caso de enviar la informacin necesaria para determinar cul es el color que tiene encendido el semforo, tenemos tres posibilidades: rojo, mbar y verde. Suponiendo que es igual de probable que sea uno de estos tres colores, la cantidad de informacin sera: I = Log 2 3 = 15840
Informacin a enviar bit 1 bit2 0 1 0 1 rojo mbar verde No se usa Color representado

Como hay que redondear siempre por exceso, ya que no podemos considerar fracciones de bit, al ser el bit la mnima cantidad de informacin posible, tenemos que I =2, y si codificamos esta informacin realmente necesitaramos 2 bits para poder representar 3 datos

0 0 1 1

VALLINIELLO
Otro ejemplo:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Cul es la cantidad de informacin que se recibe, si un alumno saca un 10 en un examen? Slo se admiten nmeros enteros.

En este caso, tenemos 11 posibilidades: 0,1,2,3,4,5,6,7,8,9,10, suponiendo que es igual de probable sacar cualquiera de esas notas, la cantidad de informacin sera: I = Log 2 11 = 34574

Como hay que redondear siempre por exceso, tenemos que I = 4, y si codificamos esta informacin realmente necesitaramos 4 bits, ya que para poder representar 11 datos:

Informacin codificada bit1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 bit2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 bit3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 bit4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

dato 0 1 2 3 4 5 6 7 8 9 10 No se usa No se usa No se usa No se usa No se usa

Evidentemente, la teora matemtica de Shannon, incluye estudios mas sofisticados para el anlisis de otros aspectos como la entropa, la redundancia de informacin, o simplemente que los mensajes no sean equiprobables.

Tampoco tenemos que olvidar la calidad de informacin, entendemos sta como una serie de cualidades que, adems de la capacidad de disminuir la incertidumbre, ayudan al receptor a tomar la decisin ms ventajosa, y que son:

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Importancia: si la informacin es o no relevante para el propsito o el problema considerado. Si queremos decidir si vendemos o no acciones de una empresa, es irrelevante la clasificacin de la liga espaola de ftbol, por muy exacta y completa que sea.

Precisin: si es exacta con la realidad para que se pueda confiar en ella. Aunque en realidad, no existe la precisin absoluta, sino niveles de precisin, donde un mayor nivel exige un mayor coste en la recogida de informacin. Para una operacin de bolsa no se pueden ofrecer informes de cotizaciones cuyos valores estn redondeados a la centena, pues implicara que los valores 1.501 y 1.599 apareceran como 1.500.

Completa: lo ideal es poder contar con toda la informacin relevante para la toma de decisin, dado que esto no ocurre en el mundo real, procuraremos que lo sea sobre los elementos clave. Para decidir sobre la compra de un coche, lo ideal ser contar con una lista de todas sus piezas y marcas correspondientes, un informe de todos los centros de servicio tcnico, etc. Pero nos quedamos con la informacin fundamental, como es el precio y sus principales caractersticas tcnicas (consumo, cilindrada, etc.)

Interlocutor: si quien recibe la informacin es alguien capacitado para sacarle provecho. De nada sirve mandar informes burstiles a una persona que no tiene dinero para invertir. Rapidez: comunicar a tiempo la informacin para que pueda ser til. No servira de nada dar a unos alumnos los apuntes de un tema del que ya han hecho el examen. Detalle: llegar al nivel de detalle adecuado. No tiene sentido hacer llegar un informe metereolgico de muchas pginas a una persona no preparada, slo para decirle que maana har sol o enviar una hoja con una sola frase a alguien que debe tomar una decisin sobre una inversin de muchos millones.

Comprensible: la informacin que llega en un idioma o terminologa desconocida no resulta til.

AUTOEVALUACIN: 2.- Cul es la cantidad de informacin, medida en bits, que se recibe de un aparato

medidor de audiencias, al seleccionar un canal, siendo los posibles canales: TVE1, TVE2, Canal +, Canal + 2, Antena 3, Telecinco, Cuatro, La sexta y Localia? a) 3 b) 4 c) 9 d) 2 e) Ninguna de las respuestas anteriores es correcta.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 3.- Cul es la cantidad de informacin, medida en bits, recibida en el siguiente mensaje secreto codificado en binario? El mensaje es: 001011000 a) 9 b) 7 c) 4 d) 3 e) Ninguna de las respuestas anteriores es correcta.

PARA SABER MS Para conocer algo ms sobre el creador de la teora de la comunicacin visita la siguiente direccin: Pequea biografa de Claude Shannon http://www.bell-labs.com/news/2001/february/26/1.html

1.3 Sistemas de Informacin.


Una vez que ya conocemos qu es un sistema, qu son los datos, y cundo los datos se convierten en informacin, estamos preparados para conocer el concepto de Sistema de Informacin (SI), sin confundirlo con los sistemas de informacin automatizados (SIA).

Las empresas, sean grandes o pequeas, necesitan una infraestructura para poder desarrollar sus actividades. Esta estructura se basa en unas funciones que hay que desarrollar y de las cuales destacan las siguientes: Controlar y gestionar el empleo de los recursos financieros, del dinero, a travs de la funcin contable y de gestin econmica Comercializar de manera ptima los productos o servicios en los que la empresa basa su negocio, a travs de la actividad comercial y de ventas Fabricar productos o crear servicios que vender en el mercado, mediante el departamento de produccin.

Pero es muy difcil que estas funciones se puedan realizar con eficacia sin coordinarse entre s mediante la gestin y la intercomunicacin de informacin de buena calidad.

10

VALLINIELLO
1.3.1 Definicin.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Un Sistema de Informacin (SI) es la infraestructura necesaria para coordinar los flujos de informacin requeridos para desarrollar las actividades de una empresa de acuerdo a su planteamiento o estrategia de negocio. O dicho de otro modo, es el conjunto de entidades (humanas o no) que tienen como objetivo captar, almacenar y procesar la informacin manejada por una organizacin o empresa.

Hoy da cuando se piensa en un sistema de informacin, se suele concebir la imagen de ordenadores, programas e instrumentos sofisticados pertenecientes a lo que se suele llamar Tecnologas de la Informacin (TI), pero los Sistemas de Informacin existen desde la primera organizacin humana. Basta con recordar los avances realizados (sistemas de numeracin y clculo, comunicacin y correo, etc.) por civilizaciones antiguas (egipcios, romanos,...) con el propsito de administrar sus reinos, imperios o territorios.

Quizs la definicin ms completa sea la ofrecida por R. Andreu en 1991, que deca: Un Sistema de informacin es un conjunto formal de procesos que, operando sobre una coleccin de datos estructurada segn las necesidades de la empresa, recopilan, elaboran y distribuyen la informacin (o parte de ella) necesaria para las operaciones de dicha empresa y para las actividades de direccin y control correspondientes (decisiones) para desempear su actividad de acuerdo a su estrategia de negocio. A continuacin te mostramos un ejemplo de sistema de informacin, para un supermercado.

11

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 4.- Cul de las siguientes afirmaciones es incorrecta?: a) Un sistema de informacin es el sistema dedicado a coordinar los flujos de informacin de la empresa. b) Un sistema de informacin es un conjunto formal de procesos. c) Un sistema de informacin, es siempre un conjunto de datos automatizados en un ordenador. d) ) Los sistemas de informacin existen desde la primera organizacin humana.

1.3.2 Componentes de un SI. Los elementos que componen un sistema de informacin son los siguientes: Los procedimientos y prcticas habituales de trabajo que se siguen al ejecutar toda clase de actividades necesarias para el buen funcionamiento de la empresa. La informacin que es el elemento fundamental del sistema, adaptndose a los usuarios que la manejan y al equipo disponible. Las personas o usuarios, los individuos o unidades de la organizacin que introducen, manejan o usan la

informacin para realizar sus actividades en funcin de los procedimientos de trabajo establecidos.

Los equipos o recursos materiales que se utilizarn para la comunicacin, el procesamiento y el almacenamiento de la informacin. Son la parte ms visible del SI. Aqu estn incluidos elementos de los ms variados niveles tecnolgicos: desde el papel y lpiz a los ordenadores.

12

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Podemos ver en un esquema como se relacionan estos elementos entre s:

OBJETIVOS

PROCEDIMIENTOS Y PRCTICAS DE TRABAJO

INFORMACIN

PERSONAL

EQUIPO

Como vemos las relaciones van en dos sentidos: Informacin Procedimientos y prcticas de trabajo Qu informacin se necesita, como puede ser el saber el NIF de un cliente antes de facturar sus pedidos. No pueden implicar el uso de informacin de la que no se puede disponer; no se puede exigir que los informes de consumo elctrico de la oficina se desglosen por despachos si se carece de contadores individuales para conocer esta informacin.

Personal Procedimientos y prcticas de trabajo

Cmo se ven implicadas las personas. La facturacin provoca un trabajo contable que debe asumir la persona que atiende la tarea y, adems, los procedimientos marcan una cierta disciplina de accin que los trabajadores deben respetar.

Las prcticas de trabajo obligan a la gente a adoptar una cierta manera de actuar, pero deben a su vez, adaptarse a las caractersticas de las personas implicadas para ser eficaces. Por ejemplo, no puede exigirse que los empleados soporten ritmos de trabajo excesivos (atender demasiados pedidos, etc.) o se disminuira la calidad y la produccin, aparte de la moral de la plantilla. 13

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Equipo Procedimientos y prcticas de trabajo

Qu equipo se necesita para un trabajo eficaz. En pequeos negocios, la facturacin se puede gestionar bien manualmente, con impresos y bolgrafo. En otros mbitos es imprescindible el apoyo de sistemas informticos o de TI sofisticadas.

Los procedimientos deben acomodarse al equipo o tecnologa existente. No se pueden cumplir determinados plazos si los medios no son lo bastante rpidos porque no se dispone de un lector de cdigo de barras y hay que marcar todos los productos a mano.

1.3.3 Estructura de un SI. Ms de una vez hemos escuchado decir a alguien algo como le he entregado a mi jefe la documentacin que me solicit o Mi jefa nos reuni ayer para comunicarnos la nueva estructura directiva de la empresa. Frases como estas, estn describiendo cmo la mayora de las empresas estn organizadas de una forma jerrquica. De esta manera habr individuos encargados de controlar y realizar cada una de las labores necesarias para el correcto funcionamiento de la empresa. De igual modo un sistema de informacin se podra ver como una red de centros de informacin asociados a las unidades funcionales de la empresa. Dependiendo de los flujos de datos e informacin se crea una red de informacin entre las diferentes unidades funcionales de la organizacin, lo que nos lleva a la estructura de un sistema de informacin. Alta direccin Aunque la estructura de los SI depende de la empresa pertenezca, base comn, a la hay que que una se Nivel Tctico Medio plazo 1 ao Nivel Operativo Corto plazo Actividades rutinarias (Operaciones / Transacciones) Nivel Estratgico Largo plazo >3 aos

puede describir mediante una pirmide:

La anchura de la pirmide nos muestra la cantidad de personas que componen cada nivel jerrquico. 14

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Operaciones y transacciones, este nivel incluye el procesamiento de las actividades diaria: facturacin, pagos, entrega de productos, etc. Sus caractersticas son: 9 Los procedimientos de tratamiento se comprenden bien y se pueden describir en detalle. 9 Aparecen pocas excepciones a los procedimientos normales. 9 Hay un gran volumen de transacciones. 9 Existe una gran similitud entre transacciones.

Nivel operativo, se preocupa del anlisis de los resultados, principalmente de los recursos consumidos en las transacciones (dinero, tiempo, personal, etc.) para tomar decisiones a corto plazo (reponer materiales, ordenar produccin, etc.)

Nivel tctico, se ocupa de la asignacin de recursos a medio plazo para mejorar el rendimiento de la empresa. Habitualmente se basa en el anlisis de los siguientes informes: 9 Resmenes con medidas estadsticas: media de ventas por departamento, total de horas extra, etc. 9 De excepciones: centros con prdidas, departamentos que han consumido ms de la media, etc. 9 Especficos: los que los directivos necesitan generalmente con rapidez para resolver un problema concreto, como por ejemplo, cuando los costes de un departamento se disparan, se puede pedir un resumen de gastos desglosado.

Nivel estratgico, su tarea es decidir las lneas maestras que debe seguir la empresa en el futuro 9 La informacin que se maneja ha de ser muy resumida. 9 La informacin se presenta en formatos muy variables y de fuentes externas inesperadas. 9 Las decisiones que se toman en este nivel no estn normalizadas, y son en gran medida subjetivas.

Alta direccin, normalmente formada por una sola persona, que tomar las decisiones finales apoyndose en la informacin que le proviene del nivel estratgico de direccin.

Adems en la estructura piramidal habr unos flujos de informacin que van de arriba a abajo y viceversa, que representan la informacin que fluye entre los distintos niveles de una empresa:

Flujos verticales ascendentes, de subordinado a superior. Consisten en informes sobre resultados de las actividades y avisos de incidencias. Son de carcter histrico (ya han pasado). Flujos verticales descendentes, de jefe a subordinado. Se trata de rdenes o solicitudes de informacin para tomar decisiones o controlar el funcionamiento. Flujos horizontales, se producen entre personas del mismo nivel de autoridad. El contenido suele ser informacin de coordinacin para poder manejar responsabilidades compartidas. Por ejemplo, un vendedor consulta al departamento de produccin para saber si se puede instalar un accesorio extra que le pide un cliente a un modelo de coche. 15

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Veamos estos flujos en el organigrama de un departamento de informtica.

Departamento de Informtica

Jefe de informtica

Jefe de explotacin

Calidad

Jefe de desarrollo

Jefe de sistemas

Tcnicos de explotacin

Programa de mejora de la calidad

Analistas

Programadores

Lneas de autoridad; flujos verticales ascendentes y descendentes Lneas de coordinacin; flujos horizontales

AUTOEVALUACIN: 5.- Cul de las siguientes opciones es cierta? a) El nivel tctico de direccin trabaja con plazos largos. b) El nivel estratgico de direccin trabaja con plazos cortos. c) El nivel tctico de direccin trabaja con plazos medios. d) El nivel estratgico de direccin trabaja con plazos medios.

1.3.4 Soporte de un SI. Hasta aqu hemos utilizado la nocin de SI independientemente de la tecnologa empleada para darle soporte. Sin embargo, las empresas han ido incorporando nuevas tecnologas a lo largo de estos ltimos aos para mejorar el rendimiento y la eficacia de los SI. Al principio con las mquinas de escribir, calculadoras, telfonos, etc. y ahora con tecnologas de la informacin ms sofisticadas como el fax, informtica, etc. a las que se ha denominado TI. En nuestro caso, nos centraremos especialmente en la informtica como TI que podemos aplicar a una automatizacin de los SI, pero sin olvidar otras tecnologas que pueden complementar su accin.

16

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Cuando una empresa decide mejorar el rendimiento de su SI incorporando medios informticos, se ha de realizar un estudio minucioso de lo que resulta ms eficaz para cada caso. En general, la solucin ptima suele ser un SI que cuenta con funciones automatizadas (Sistema de Informacin Automatizada SIA) y con funciones manuales. Por otro lado, el SIA necesita un soporte informtico para poder funcionar, de modo que la informtica es slo una herramienta ms o menos sofisticada que est incluida en el SIA. En el siguiente esquema vemos la implicacin de estos elementos:

Empresa
Sistema de Informacin (SI)
Sistema de Informacin Automatizada (SIA)
Sistema Informtico de Soporte (TI)

En la mayora de los casos, los equipos informticos aportan una serie de valores aadidos a las funcionalidades de un sistema de informacin, reduciendo el tiempo de clculos, estudios, procesamiento y anlisis de la informacin, mejorando la gestin de los datos con la ayuda de los sistemas gestores de bases de datos, etc. Hoy en da la cantidad de datos a manejar es enorme. El manejo de todos estos datos sin sistemas informticos es imposible. Mediante ordenadores las empresas pueden recoger y generar grandes cantidades de datos. Hay diferentes tipos de sistemas de informacin en funcin de las diferentes tareas a realizar dentro de la empresa. Segn el grado de complejidad podemos encontrar los siguientes tipos de sistemas de informacin: Sistemas de informacin operativos. Sistemas de informacin de direccin. Sistemas de soporte a la toma de decisiones. Sistemas de soporte ejecutivo. Sistemas expertos. Sistemas de informacin ofimticos. 17

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Sistemas de informacin operativos (T.P.S.-Transaction Procesing Systems). 9 Pago de cuentas. 9 Entrada de albaranes. 9 Gestin de pedidos. 9 Gestin de inventario.

Piensa en las siguientes tareas que son ya algo cotidiano en la mayora de las empresas:

Esta informacin la emplean los responsables de la operativa diaria para supervisar el da a da del sistema. As nos permite analizar los errores detectados por nosotros o por nuestros clientes o proveedores.

Los sistemas de informacin operativos son los que almacenan y ayudan a la realizacin de transacciones.

Podramos incluirlos en la categora de gestin administrativa. Adems de realizar la transaccin aportan informacin sobre las transacciones pasadas.

Los TPS realizan las siguientes funciones con los datos: 9 Entrada de datos. 9 Validacin de datos de entrada. 9 Procesamiento de la informacin. 9 Actualizacin de registros. 9 Generacin de salidas (papel, pantalla, modem)

Sistemas de informacin a la direccin (M.I.S.-Management Information Systems)

Al principio los sistemas informticos nicamente almacenaban informacin de tipo contable, de una manera rutinaria y a posteriori. Uno de los grandes cambios fue el paso dado al realizar entradas interactivas y el de obtener informacin "on-line".

El objetivo de un sistema de informacin a la direccin es el de proveer de informacin a los directivos que les permita resolver problemas, controlar la empresa y tomar decisiones.

18

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Habitualmente se emplean en situaciones estructuradas y repetitivas, normalmente aportan datos sobre: 9 Ventas de artculos en promocin. 9 Evolucin de facturacin de clientes. 9 Diversos coeficientes y ratios. Muy a menudo los TPS (Sistemas de Informacin Operativos) alimentan los datos que utilizan estos sistemas. As un MIS puede usar la informacin de ventas recogida durante varios aos por un TPS para predecir los ventas del ao siguiente. Con la previsin de ventas, el director comercial puede tomar decisiones respecto a acciones de publicidad futuras. Se utilizan en todas las reas de actividad, incluyendo: 9 Planificacin 9 Marketing 9 Finanzas 9 Fabricacin 9 Recursos humanos 9 Gestin de proyectos Los emplean bsicamente directivos de rango medio. Las decisiones de planificacin que se toman con la ayuda de estos sistemas son para un plazo corto y sirven para cumplir objetivos estratgicos definidos por los niveles de gestin ms altos. La informacin se produce en forma de informes "on-line" a la direccin y es presentada de una forma fija al usuario. Sistemas de soporte a la toma de decisiones. (D.S.S.-Decision Support Systems)

Piensa en una hoja de clculo. Es un ejemplo bsico de sistema de informacin interactivo, de soporte a la toma de decisiones, que ayuda a resolver problemas de gestin. De ah se puede llegar a sistemas con un grado de complejidad enorme, que permitan la elaboracin de hiptesis complejas y su validacin. Son utilizados por directivos de empresas de alto grado y se utilizan para crear modelos que ayuden a analizar el problema y a la toma de decisiones. Un sistema de soporte a la toma de decisiones puede presentar diferentes soluciones posibles para el problema y permite al usuario introducir, obtener y analizar datos a su gusto. Puede realizar modelos que le permitan conocer mejor el sistema. No necesita de informticos para cambiar el programa, meter datos o crear relaciones entre los datos. Por tanto la informacin est disponible al momento. 19

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

El sistema nunca tomar ninguna decisin por el usuario, pero le ayudar a decidir exponiendo las ventajas e inconvenientes de cada caso.

Hay muchas herramientas comerciales en el mercado, sobre todo en las siguientes reas: 9 Planificacin financiera: Los Bancos analizan el impacto de las variaciones en los tipos de inters, regulaciones fiscales y variaciones en el mercado de divisas. 9 Fabricacin: Analizan el Impacto de diferentes sistemas de produccin, salarios, adquisicin de nuevas mquinas. 9 Fusiones y adquisiciones. 9 Desarrollo de nuevos productos. 9 Ampliaciones de plantas. 9 Previsin de ventas.

PARA SABER MS Para saber ms acerca de los sistemas de soporte a la toma de decisiones nada mejor que una empresa dedicada a las soluciones empresariales en este campo. Datahouse Company http://www.datahousecompany.com.ar/software-business-intelligence.html

Sistemas de soporte ejecutivo. (ESS Executive Support System)

Ejecutivo es sinnimo de direccin de alto nivel y de decisiones estratgicas. Como vimos antes en la definicin de los niveles de las empresas, la responsabilidad fundamental de un ejecutivo es el establecimiento de objetivos a largo plazo y de las estrategias de alto nivel necesarias para llevarlas a cabo.

As los sistemas de soporte ejecutivo estn diseados especficamente para las necesidades de informacin de los ejecutivos, planificacin directiva, anlisis y seguimiento temporal de las decisiones.

Los sistemas de soporte ejecutivo contienen gran cantidad de datos e informacin externa a la empresa que se enlazan y comparan con informacin interna a la misma, normalmente obtenida del sistema de informacin a la direccin y adaptadas a las necesidades de los ejecutivos. Su principal funcin es sintetizar y controlar el volumen de informacin que un ejecutivo debe leer.

20

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Una visin distinta de los sistemas de soporte ejecutivo, es la que plantea Luis Miguel Ramrez Tenorio Sistemas de soporte a la decisin en un mundo globalizado http://www.rcci.net/globalizacion/2004/fg446.htm

Sistemas expertos

Tambin se denominan sistemas basados en el conocimiento. Es un tipo de programa preparado para proponer decisiones o resolver problemas en un campo muy concreto. Utiliza el conocimiento de un experto humano que se transforma en un conjunto de reglas. Las reglas se obtienen de la experiencia de los expertos humanos en ese campo. Funciona como un experto en una disciplina concreta, resolviendo problemas que requieran conocimiento, inteligencia y experiencia. En muchos casos estn integrados en sistemas de soporte a la toma de decisiones y en sistemas de soporte ejecutivo. Hay programas comerciales que ayudan a crear sistemas expertos. Se usan en hospitales, laboratorios de investigacin, plantas industriales, talleres de reparacin, pozos petrolferos... etc.

PARA SABER MS Para saber ms acerca de los sistemas expertos, lee el siguiente artculo de Juan Jos Samper Mrquez Introduccin a los Sistemas Expertos http://www.redcientifica.com/doc/doc199908210001.html

Sistemas de informacin ofimticos (OIS Office Information System)

En los ltimos 20 aos los ordenadores han cambiado radicalmente el entorno de trabajo en las oficinas y empresas. la manera de trabajar de las

Los sistemas de informacin ofimticos ayudan en la preparacin, almacenamiento, obtencin, reproduccin y comunicacin de informacin en todos los puntos de la organizacin, ya estn en la misma ubicacin o alejados en el espacio. 21

VALLINIELLO
Utiliza muchos elementos de todos conocidos: 9 Procesadores de textos. 9 Hojas de clculo.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

9 Sistemas de gestin de bases de datos. 9 Correo electrnico. 9 Fax. 9 Sistemas de gestin documental. 9 Agenda electrnica. 9 Libretas electrnicas. AUTOEVALUACIN: 6.- Sobre los sistemas de informacin operativos podemos afirmar que: a) Se denominan tambin sistemas basados en el conocimiento. b) En muchos casos estn integrados en sistemas de soporte a la toma de decisiones. c) Son los que almacenan y ayudan a la realizacin de transacciones. d) Ayudan en la preparacin, almacenamiento, obtencin, reproduccin y comunicacin de informacin en todos los puntos de la organizacin.

PARA SABER MS En el siguiente enlace puedes ver distintas aplicaciones de los sistemas expertos en el mundo de las finanzas http://ciberconta.unizar.es/Biblioteca/0002/Sanchez95.html

Aqu puedes ver otros ejemplos reales de Sistemas Expertos http://www.axor.com.ar/sist_exp_prod_es.htm

SOLUCION AUTOEVALUACIN 1.- c 2.- b 3.- a 4.- c 5.- c 6.- c

22

VALLINIELLO GLOSARIO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Enfoque sistmico u holstico: Se trata de aplicar recursivamente la siguiente tcnica: descomponer el ejemplar a resolver en un cierto nmero de subejemplares ms pequeos del mismo problema. Se resuelve independientemente cada subejemplar. Se combinan los resultados obtenidos para construir la solucin del ejemplar original.

Entropa: Define la cantidad media de informacin obtenida observando una sola salida de la fuente. La entropa est relacionada con la tendencia natural de los objetos a caer en un estado de desorden. Los sistemas altamente entrpicos tienden a desaparecer por el desgaste generado por su proceso sistmico.

Equiprobables: Una situacin es equiprobable, cuando existe exactamente la misma probabilidad de que ocurra una cosa u otra. Por ejemplo, en el lanzamiento de una moneda al aire es equiprobable que obtengamos cara o cruz, o en el lanzamiento de un dado es equiprobable que se obtenga cualquiera de las 6 caras del dado.

Hardware: Se denomina hardware o soporte fsico al conjunto de elementos materiales que componen un ordenador. En dicho conjunto se incluyen los dispositivos electrnicos y electromecnicos, circuitos, cables, tarjetas, armarios o cajas, perifricos de todo tipo y otros elementos fsicos.

Hiptesis: Una hiptesis es un planteamiento y/o supuesto que se busca comprobar mediante la observacin siguiendo las normas establecidas por el mtodo cientfico.

Interactivo: Un sistema es interactivo cuando permite un dilogo continuo entre el usuario y la aplicacin, respondiendo sta a las rdenes de aqul.

Jerarqua: Organizacin por categoras o grados de importancia entre diversas personas o cosas, en las que normalmente unos dependen funcionalmente de otros.

On-line: en lnea, en tiempo real.

Realimentacin: El trmino "realimentacin" procede del campo de la ciberntica y, en ese contexto, se refiere al regreso parcial o completo de un proceso a su fuente original, con objeto de poder aprender de ello y extraer algn provecho.

23

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 1: Introduccin al desarrollo de las aplicaciones informticas M Lourdes Gutirrez Lpez

Software: Tambin conocido como soporte lgico, abarca todo tipo de programas, utilidades, aplicaciones, sistemas operativos, drivers o controladores de dispositivos que hacen posible que el usuario pueda trabajar con la mquina (hardware).

Transaccin: En informtica, se llama transaccin a la operacin que modifica el estado de una base de datos, sin que los datos en s mismos pierdan consistencia alguna. Una transaccin consiste en una interaccin con una estructura de datos que, an siendo compleja y estando compuesta por varios procesos que se han de aplicar uno despus de otro, queremos que sea equivalente a una interaccin atmica. Es decir, que se realice de una sola vez y que la estructura a medio manipular no sea jams alcanzable por el resto del sistema. Es decir, que si en medio de la transaccin algo falla, la transaccin entera se anule, dejando al sistema en el estado anterior, consistente. Por ejemplo, una transaccin entre dos cuentas bancarias. Si despus de sacar el dinero de la primera cuenta no se puede ingresar por algo el dinero en la cuenta de destino, se anula la transaccin entera, de forma que la primera cuenta vuelve a quedarse en el mismo estado que estaba antes. Lo contrario sera inconsistente, ya que el dinero habra desaparecido.

24

C.F.G.S. DESARROLLO DE APLICACIONES INFORMTICAS

MDULO: Anlisis y Diseo de Aplicaciones Informticas de Gestin

Unidad 2
Sistemas de Informacin en la Empresa

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

NDICE DE CONTENIDOS

OBJETIVOS .......................................................................................................................

1.- INTRODUCCIN ..........................................................................................................

2.- SISTEMAS DE INFORMACIN EN LA EMPRESA .................................................... 2.1.- Subsistema de Recursos Humanos (RRHH) ................................................ 2.2.- Subsistema de Gestin Comercial ................................................................ 2.3.- Subsistema de gestin contable y financiera................................................ 2.4.- Subsistema de control de almacn ............................................................... 2.5.- Subsistema de produccin ............................................................................

3 4 7 8 10 11

3.- ANLISIS DEL SISTEMA ............................................................................................ 3.1.- Objetivos del anlisis del sistema ................................................................. 3.2.- Funciones del analista de sistemas .............................................................. 4.- SOFTWARE ASOCIADO A LOS SISTEMAS DE INFORMACIN............................. 4.1.- ERP (Enterprise Resource Planning)............................................................ 4.2.- Descripcin de los sistemas DATA WAREHOUSE ...................................... 4.3.- Explotacin de los sistemas data warehouse ............................................... 4.4.- Sistemas de informacin geogrfica (GIS) ................................................... 5.- NEGOCIO ELECTRNICO (E-BUSINESS)................................................................. 5.1.- Modelos de negocio electrnico.................................................................... 5.2.- Tipos de redes informticas usadas en e-business ...................................... 5.3.- Administracin de la relacin con el cliente (CRM, Customer Relationship Management)................................................

12 13 13 14 14 16 18 21 22 23 25

26

6.- EXTERNALIZACIN (OUTSOURCING)......................................................................

28

SOLUCIONES AUTOEVALUACIN.................................................................................. GLOSARIO.........................................................................................................................

29 30

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

OBJETIVOS

Con esta unidad se pretende completar la visin de los sistemas de informacin en la empresa, antes de comenzar el estudio de los procesos y herramientas utilizados para desarrollar nuevas aplicaciones informticas, que veremos a partir de la siguiente unidad. Trabajaremos los siguientes conceptos:

Los Sistemas de Informacin en la empresa. Los subsistemas que componen un sistema de informacin de una empresa. Las aplicaciones informticas que permiten informatizar estos sistemas de informacin. Las nuevas posibilidades de negocio que se abren con la aplicacin de las nuevas tecnologas de la informacin y comunicacin a las empresas.

En esta segunda unidad se muestran las posibilidades de los sistemas de informacin en las empresas, su estructura en subsistemas correspondiendo con las unidades funcionales de la empresa, el software asociado y las posibilidades de negocio electrnico que ofrecen.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

1.- Introduccin.
La aparicin de las Nuevas Tecnologas de la Informacin y de la Comunicacin ha provocado que nos encontremos inmersos en una Sociedad de la Informacin y el Conocimiento que nos exige nuevos desafos.

Qu podemos hacer ante estos retos?

La clave est en saber adaptarnos a cada nueva situacin, para lo cual es necesario estar preparados. Como trabajadores esto significa tener un perfil adecuado a las necesidades y formarnos a lo largo de toda nuestra vida. Para las empresas significa desarrollar modelos de negocio que se adapten a las nuevas circunstancias y aplicar estrategias de mejora continua buscando siempre la calidad. Hoy no pueden alcanzarse estos objetivos sin la incorporacin de las nuevas tecnologas a las empresas, al trabajo y a la formacin de las personas para participar de la Sociedad de la Informacin.

En las empresas es vital recoger toda la informacin que circula por la misma de forma sistematizada para tratarla informticamente, esto nos evitar la prdida de datos importantes de los procesos que desarrollamos. No basta con conocer los procesos, adems hay que conocer sus fundamentos, lo cual posibilitar su mejora y optimizacin.

La informacin se ha convertido en un elemento clave y fundamental para que cualquier organizacin o empresa funcione adecuadamente, de ah su importancia estratgica. As, como vimos en la unidad anterior, una empresa debe desarrollar sus sistemas de informacin y aplicarles las Tecnologas de la Informacin segn los distintos modelos de sistemas de informacin automatizados ya mencionados. En esta unidad explicaremos cmo es la estructura de estos sistemas de la informacin y veremos cmo esta Sociedad de la Informacin con sus tecnologas de la informacin y comunicacin, est transformando los sistemas de informacin hacia nuevos modelos que se adaptan mejor a la nueva realidad y abren nuevas expectativas de negocio.

Para ello, estudiaremos los subsistemas que componen un sistema de informacin en la empresa, describiremos los productos informticos que permiten implantar estos modelos en las empresas y mostraremos las nuevas modalidades de negocio basados en las nuevas tecnologas.

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Las administraciones pblicas tambin utilizan los sistemas de informacin como puedes ver en esta pgina web: Consejo Superior de Administracin Electrnica http://www.csi.map.es/

2.- Sistemas de informacin en la empresa.


Hemos visto la necesidad de establecer sistemas de informacin automatizados en las empresas, pero qu objetivos bsicos tienen?

Podemos concretarlos en tres:

Intentar satisfacer las necesidades de las empresas automatizando los procesos operativos (por ejemplo, procesar la reserva de habitacin en un hotel). Proporcionar informacin que ayude a la toma de decisiones (por ejemplo, estudios financieros sobre las posibilidades y consecuencias de solicitar a un banco un prstamo para comprar nuevas mquinas en una empresa).

Lograr ventajas sobre las empresas competidoras (por ejemplo, establecer un plan para mejorar la atencin y los servicios a los clientes mediante el uso de Internet).

Los diferentes sistemas de informacin automatizados deben estar interconectados en una red informtica que permita el intercambio de informacin y la optimizacin de los procesos. Como veremos ms adelante estas redes podrn ser tanto internas a la propia empresa (intranet) como externas, colaborando entonces con otras empresas o entre diferentes organizaciones de la misma empresa o corporacin (extranet), e incluso estarn abiertas al resto de la comunidad a travs de redes abiertas como Internet.

Los sistemas de informacin deben sustentar la estructura y organizacin de la empresa, por lo que han de estar integrados en las diferentes reas funcionales de la empresa respaldando sus acciones y tareas. Por ello, podramos decir que el sistema de informacin de una empresa se compone de los distintos subsistemas que corresponden a sus unidades funcionales.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

En la figura puede verse el esquema general de un sistema de informacin de una empresa tpica.

No todas las empresas incluirn todos los subsistemas, depender de su tamao y estructura. Estos subsistemas estarn automatizados y no sern elementos aislados sino que estarn integrados por un sistema de gestin de la informacin integral.

Esta divisin suele coincidir con las unidades orgnicas o funcionales ms habituales en las organizaciones: Recursos humanos, Contabilidad y finanzas, Comercializacin y ventas, Produccin e ingeniera y Logstica.

2.1.- Subsistema de Recursos Humanos (RRHH).


Siempre que presentamos nuestro currculum a una empresa con la esperanza de ser contratados, nos preguntamos lo mismo, y puede que t te lo hayas preguntado en alguna ocasin: Qu criterios seguirn para elegir a la persona a contratar? De qu depende esta eleccin?

En las empresas es el subsistema de Recursos Humanos (RRHH) el que se encarga de que esta seleccin sea la adecuada a las necesidades. Los recursos humanos de una empresa estn formados por todas las personas que pertenecen a la empresa. Son el activo ms importante de la misma por lo que es fundamental su gestin. Para que una empresa grande o pequea funcione bien, cada empleado debe tener una visin amplia y completa de la empresa y al mismo tiempo un sentido del lugar que ocupa en la organizacin. El subsistema de RRHH debe ayudarnos a conseguir este objetivo.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Veamos las principales actividades que se realizan en esta rea de la empresa para conocer los requisitos que se pueden exigir a los sistemas de informacin que deben darle soporte. Estas actividades se basan en dos aspectos principales:

La gestin de la informacin relacionada con la plantilla, que incluye informacin personal compuesta de:

Filiacin completa: nombre, apellidos, DNI, direccin, etc. Historial laboral: fecha de incorporacin, bajas, cargos desempeados, etc. Datos relacionados con el salario: tipo de contrato, sueldo, complementos, etc.

La ejecucin de la nmina. La nmina o relacin de pagos salariales se realiza peridicamente, en general de forma mensual. Para determinar todos los conceptos de la paga de cada empleado, se debe disponer de sus datos contractuales (nivel, salario, etc.) y del historial laboral en el periodo (horas extra, bajas, etc.) para determinar su retribucin bruta. Despus, siguiendo la normativa laboral y fiscal se deben deducir los pagos a la seguridad social, retenciones del impuesto sobre la renta, etc. Cada uno de ellos se calcula en funcin de datos personales como el estado civil, nmero de hijos, edad, etc. La nmina junto con la contabilidad, es el subsistema que ms cambios sufre como reaccin a los cambios del entorno (cambios en la legislacin, en la situacin personal, ...) y por ello, ha de contar con una estructura flexible. Es un subsistema que en casi todas las empresas est automatizado. El desarrollo de una aplicacin de nminas debe ser muy cuidadoso por la repercusin social de cualquier fallo. Son programas que estn bastante estandarizados y en muchas ocasiones, las empresas no los encargan a medida sino que adaptan paquetes comerciales.

En ambos casos, la informacin manejada es confidencial debido a sus implicaciones sociales y personales. Por ello, los sistemas deben contar con un control estricto de accesos que asegure una adecuada proteccin de los datos.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

En la unidad anterior vimos que la estructura jerrquica de un sistema de informacin tiene tres niveles fundamentales: operativo, tctico y estratgico. La gestin de los RRHH tiene actividades en estos tres niveles:

Nivel operativo:

Mantenimiento de datos de los empleados. Inventario de cualificaciones de los empleados: experiencia, preferencia de trabajo, perfil psicolgico, etc. Inventario de puestos de trabajo existentes en la empresa y de las condiciones adecuadas para desempearlos. Evaluacin de los empleados. Generacin de los informes que hay que remitir a la administracin pblica. Gestin de las solicitudes de empleo. Envo al departamento de gestin econmica de las instrucciones exactas para el pago de salarios.

Nivel tctico:

Anlisis y diseo del perfil de persona ideal para cada puesto de trabajo, para saber a qu tipo de persona hay que contratar o que formacin debe recibir alguien antes de ascender de cargo. Analizar las necesidades de contratacin de personal para cubrir los objetivos de la empresa a medio plazo. Anlisis de las necesidades de formacin y creacin de planes para la mejora del nivel tcnicoprofesional de la plantilla.

Nivel estratgico:

Crear planes que indiquen la cantidad de personal, sus caractersticas, las fechas en las que contratar. Los cursos de formacin necesarios, etc. para poder contar con la infraestructura de personal apropiada para los objetivos de la empresa.

PARA SABER MS Si quieres conocer ms sobre los recursos humanos de las empresas visita esta pgina:

http://www.arearh.com/

VALLINIELLO
AUTOEVALUACIN:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

1.- La gestin administrativa de un plan de pensiones para la jubilacin de los trabajadores: a) b) c) d) No forma parte del subsistema de RRHH. Forma parte del subsistema de RRHH a nivel operativo. Forma parte del subsistema de RRHH a nivel tctico. Forma parte del subsistema de RRHH a nivel estratgico

2.2.- Subsistema de Gestin Comercial.


El propsito de todo negocio es vender satisfaciendo las necesidades de los clientes. Las actividades de gestin relacionadas con el trato con los clientes se basan en dos reas principales: Ventas, que incluye:

La gestin y el tratamiento de los pedidos. La facturacin de la venta. El control de los detalles de entrega y la actualizacin del inventario.

Comercializacin o Marketing, implica el anlisis de las ventas, de la competencia, etc. para optimizar todos los aspectos que intervienen en la implantacin de productos en el mercado. El estudio de la comercializacin requiere informacin procedente de muchos departamentos:

Informacin de ventas. Informacin de investigacin de mercados. Informes tcnicos de los departamentos de produccin, de diseo o de fabricacin sobre la mejora de los productos, innovacin, etc. Informacin sobre la capacidad financiera de la empresa para acometer campaas de promocin, nuevos productos, etc.

La gestin comercial afecta a todos los niveles de la jerarqua de la empresa: Nivel operativo:

Todos los aspectos de apoyo a los vendedores.

9 Gestin de las carteras de clientes para la localizacin de los compradores potenciales. 9 Control de los contactos con los clientes. 9 Consultas sobre caractersticas y disponibilidad de los productos. 9 Informacin sobre el crdito o la consideracin econmica de cada cliente. 9 Facilidades para la gestin de pedidos y facturas o cualquier otro documento comercial.
Gestin de la distribucin de los productos: control de envos, recepcin, devoluciones, etc.

VALLINIELLO
Nivel tctico:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Recogida de informacin de ventas de cada cliente, de cada zona, de cada tipo de producto, etc. para un posterior anlisis, que permita controlar si las previsiones se cumplen o detectar posibles problemas. El estudio de estos datos permite planificar las prximas campaas, controlar las actuales y fijar objetivos de ventas.

Gestin y control de las campaas de publicidad para optimizarlas. Establecimiento de los precios en funcin de los datos del mercado. Decisiones sobre la mejor distribucin de los productos (venta directa, concesionarios, etc.) Anlisis de los competidores para controlar cmo pueden influir en la comercializacin de los productos.

Nivel estratgico:

Dividir el mercado en segmentos de personas con caractersticas o necesidades comunes, para seleccionar los segmentos a los que la organizacin desea acceder. Planificar los productos y servicios que se deben ofertar para satisfacer las necesidades de dichos clientes. Predecir las ventas para los distintos productos y segmentos con los que se va a trabajar.

AUTOEVALUACIN: 2.- A qu nivel corresponde el estudio de las guerras de precios sobre un producto? a) b) c) d) Nivel operativo. Nivel tctico. Nivel estratgico. Alta direccin.

2.3.- Subsistema de gestin contable y financiera.


La contabilidad es una herramienta bsica para la gestin de una empresa adems de una obligacin legal. Existen diversas funciones de gestin econmica y financiera para una mejor planificacin del negocio.

La gestin econmica afecta a los niveles de la empresa de la forma siguiente:

VALLINIELLO
Nivel operativo:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Control de activos fijos. Gestin de cobros, comprobacin de saldos y registros de ventas e ingresos. Gestin de pagos. Control de inventario, como parte de los activos. Ejecucin de la nmina, en cuanto al pago de los salarios. Generacin de informes para la direccin y de documentos oficiales.

Nivel tctico.

Gestin y control de presupuestos. Informacin sobre el flujo de caja, para controlar que exista suficiente dinero disponible para las actividades diarias y para la adquisicin de activos a largo plazo. Control de los planes de gasto de capital en funcin de parmetros financieros como el valor neto actual, el plazo para cubrir el coste de una inversin con los beneficios que genera, etc.

Nivel estratgico.

Cunto y cmo endeudarse para poder alcanzar las metas marcadas. Previsin de la recuperacin de lo invertido. Establecimiento de objetivos de gastos e ingresos. etc.

Los sistemas han de tener la posibilidad de recoger informacin tanto financiera como econmica y social. Las caractersticas de las operaciones contables hicieron que fuera una de las primeras actividades que se automatizaron. Adems, la gestin econmica debe trabajar con un gran volumen de datos, lo que implica el trabajo con grandes bases de datos.

AUTOEVALUACIN: 3.- Cul es el sistema de informacin que permite realizar la contabilidad de la empresa? a) b) c) d) Un sistema de informacin operativo o transaccional. Un sistema de informacin de direccin. Un sistema experto. Un sistema de soporte ejecutivo.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

2.4.- Subsistema de control de almacn.


El objetivo principal es el control de las existencias almacenadas ( o stock), tanto las materias primas como los productos elaborados.

La gestin de inventario afecta as a los niveles de la empresa: Nivel operativo:

Compras de materias primas o componentes mediante pedidos a los proveedores. Recepcin de materias primas o componentes, comprobando que coincide con lo pedido. Actualizacin de la cantidad registrada en el inventario. Envo de los productos elaborados a los clientes, actualizacin del inventario y gestin de los documentos implicados en esta operacin.

Nivel tctico.

Determinar de forma ptima la cantidad mnima de producto que debe haber siempre en almacn y la cantidad a reaprovisionar cuando sta descienda. Planificar la produccin ptima para no saturar el almacn con una cantidad de productos elaborados superior a la que vaya a ser vendida.

Nivel estratgico.

En este subsistema, el nivel estratgico es prcticamente inexistente.

AUTOEVALUACIN: 4.- Un ejemplo de actividad en el nivel tctico del subsistema de control de almacn podra ser: a) La planificacin a largo plazo de la gestin del almacn en funcin de la apertura de nuevos mercados. b) La planificacin a medio plazo de las personas que deben ser contratadas para descargar los camiones del almacn. c) La actualizacin diaria del inventario en funcin de los productos que entran en el almacn. d) La planificacin de la capacidad de produccin ptima para no llenar el almacn con ms productos terminados de los que somos capaces de vender.

10

VALLINIELLO 2.5.- Subsistema de produccin.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

El subsistema de gestin comercial posibilitara el estudio de mercado, pero el encargado de planificar el ritmo de produccin es el subsistema de produccin.

ste es el subsistema que ms se ha visto afectado por los avances de la tecnologa. Incluye todas las reas necesarias para transformar las materias primas en productos, siguiendo un plan que persiga la mayor produccin y el menor coste posible. Dentro de este subsistema se incluyen sistemas de planificacin de recursos de la fabricacin (MRP, Manufacturing Resource Planning) para determinar el ritmo adecuado de produccin y controlar la entrada de materias y la salida de productos en funcin de la capacidad de produccin y la demanda de los clientes.

Este sistema MRP estar integrado con otros sistemas para planificar de forma global. As, forman parte de este sistema los sistemas de fabricacin asistida por ordenador (CAM, Computer Aided Manufacturing) que permiten controlar y llevar a cabo con ayuda informtica la fabricacin de los productos, y los sistemas de diseo asistido por ordenador (CAD, Computer Aided Design) que permiten utilizar los ordenadores para disear los productos.

Por ejemplo, en la fabricacin de automviles, los ordenadores se utilizan para disear todas sus piezas (CAD) y para la fabricacin mediante el uso de robots (CAM), la gestin de las materias primas necesarias y los productos producidos as como el ritmo de produccin, se realizar con el MRP. Cuando los sistemas CAD y CAM se integran en uno slo se habla de sistemas de fabricacin integrado por ordenador Manufacturing). (CIM, Computer Integrated

PARA SABER MS En esta pgina puedes conocer el uso de los sistemas CAD/CAM con mquinas de control numrico:

GESTIOPOLIS, artculo sobre diseo y fabricacin asistidos por ordenador http://www.gestiopolis.com/recursos/documentos/fulldocs/ger1/macives.htm

11

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 5.- El sistema MRP se utilizara a nivel: a) b) c) d) Operativo. Nivel tctico. Nivel estratgico. Transaccional.

3.- Anlisis del sistema.


Hemos definido un Sistema como un conjunto de elementos organizados para llevar a cabo algn mtodo, procedimiento o control mediante el procesamiento de informacin, y el Sistema Informtico tambin responde a esta definicin. Los elementos de un Sistema Informtico son:

Software Programas, estructuras de datos, procedimientos y documentacin asociada. Hardware Ordenador y perifricos Personas Usuarios, operadores soft, operadores hard. Bases de Datos Informacin organizada a la que accede el software. Documentacin Manuales, listados, impresos, etc que explican el uso del sistema. Procedimientos Pasos que definen el uso de cada elemento del sistema, pasos a seguir.

La ingeniera de sistemas informticos es una actividad de resolucin de problemas. Es el usuario quin nos impone los objetivos y define las restricciones del sistema, y a partir de aqu es el ingeniero de sistemas o analista de sistemas, quin desarrolla la solucin al problema planteado, utilizando todos los elementos del sistema informtico.

ELEMENTOS + ANALISTA = PRODUCTO

En los primeros momentos de creacin de un sistema, no se tiene una visin muy clara de la funcin deseada, por ello, es el analista de sistemas quien debe delimitar el sistema, identificando el mbito de funcionamiento y el rendimiento deseados.

El anlisis del sistema se centra en todos los elementos del sistema, no slo en el software.

12

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

3.1.- Objetivos del anlisis del sistema.


Identificar las necesidades del cliente. Evaluar la viabilidad del sistema. Realizar un anlisis tcnico y econmico. Asignar funciones a los elementos del sistema. Establecer restricciones de coste y tiempo. Crear una definicin del sistema que sea la base para todo el desarrollo posterior.

Est comprobado que la inversin en tiempo y esfuerzo en el anlisis de un sistema es muy importante en el proceso de desarrollo del sistema. Supone un coste del 20 al 40% del total de desarrollo del sistema.

Est dirigido por el analista, y se considera un trabajo tan difcil y costoso por ser la transformacin de un concepto dudoso, en un conjunto concreto de elementos tangibles que lo representan. Adems durante el anlisis la comunicacin es excepcionalmente densa y abundan las oportunidades de mal entendimientos, omisiones y errores. Tambin se puede dar el caso de que la percepcin del sistema cambie a medida que avanza la actividad, invalidando el trabajo anterior.

3.2.- Funciones del analista de sistemas.


Para conseguir los objetivos antes descritos el analista debe: Desarrollar las actividades de anlisis, diseo y programacin de los sistemas de informacin mecanizados que requiera la compaa. Desarrollar los sistemas de informacin que requieran los proyectos tcnico-administrativos. Elaborar proyectos de sistemas de informacin mecanizada. Programar y supervisar la implantacin de los sistemas de informacin mecanizada. Dirigir y/o participar en la ejecucin de los estudios e investigaciones de factibilidad y aplicacin de sistemas mecanizados. Analizar los sistemas mecanizados en funcionamiento, recomendando las modificaciones o aplicacin de nuevas tcnicas, segn la conclusin de los mismos. Proponer las polticas y medidas de seguridad a adoptarse en el manejo de la informacin. Participar en los programas de capacitacin para los futuros usuarios del sistema que desarrolle la oficina.

13

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

4.- Software asociado a los sistemas de informacin.


Como hemos estado viendo, en una empresa actual es muy importante conocer y administrar los flujos de informacin, para lo cual se han diseado los Sistemas de Informacin, que centralizan y gestionan toda la informacin apoyndose en herramientas informticas.

El sistema de informacin es el encargado de coordinar los flujos y registros de la informacin tanto interna, como la proveniente del entorno, necesarias para realizar las operaciones bsicas y la toma de decisiones para conseguir los objetivos de la empresa.

Pero, cmo se informatizan?, qu software necesitan?. La automatizacin de un sistema de informacin implica la adquisicin de hardware y software tanto de base como diferentes aplicaciones que cubran las necesidades. Para implantar un sistema de informacin como los descritos en esta unidad debe desarrollarse un software que cumpla con los requerimientos de la empresa. Existen paquetes software que responden a estas necesidades de forma general, son las llamadas aplicaciones de planificacin de recursos empresariales (ERP, Enterprise Resource Planning) que describiremos en el prximo apartado. El desarrollo de los sistemas de informacin debe ir ligado a la estrategia empresarial de la empresa, por ejemplo, para prever posibles ampliaciones de la empresa o la apertura de nuevas sucursales. Es fundamental que en la implementacin de estos sistemas participe personal cualificado de la empresa dirigido por el director de informtica o de sistemas de informacin (CIO, Chief Information Officer).

4.1.- ERP (Enterprise Resource Planning).


Gran parte de la informatizacin de los subsistemas de las empresas se resuelve mediante la implantacin de un ERP. El ERP es una aplicacin de gestin empresarial que da soporte a las distintas unidades funcionales de la empresa de forma integrada y coordinada.

Integra aplicaciones especficas para la gestin de cada rea (RRHH, finanzas, almacn, etc.) con otras aplicaciones generales comunes a todas las reas (correo electrnico, programas ofimticos, etc.). Las aplicaciones se personalizan para cada empresa. Por ejemplo, la gestin de la nmina se realiza en funcin del convenio colectivo y los acuerdos firmados por la empresa con los sindicatos.

14

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Las ventajas de los ERP es que dan una visin unificada de los distintos departamentos o negocios de la empresa siguiendo la filosofa de sistema de informacin que hemos estado presentando en esta unidad, facilitan el manejo y aprendizaje de las aplicaciones a los trabajadores ya que comparten una interfaz y almacenamiento comn de la informacin lo que permite su eficaz uso a travs, por ejemplo, de sistemas de soporte a la toma de decisiones.

Por tanto, un ERP es un sistema de informacin que integra todos los subsistemas (departamentos y funciones de una empresa) en una base de datos, la cual sirve a todas las necesidades de las diferentes reas de la empresa.

Anteriormente cada departamento optimizaba sus equipos informticos para mejorar su rea. Un ERP hace lo anterior, pero para toda la empresa, optimizando todas las reas con un sistema comn para todos. Al integrar toda la informacin de la empresa se consigue un flujo de informacin con mucha disponibilidad, rapidez y precisin, que hace mejorar todos los procesos de la empresa. El ERP permite un acceso y explotacin de la informacin contenida en la base de datos, facilitando un amplio abanico de posibilidades de anlisis que permitirn una mejor toma de decisiones estratgicas.

Para ello, se utilizan conceptos como Almacn corporativo de datos (Data warehousing) o Minera de datos (Data Mining) que describimos en el apartado siguiente.

A veces no basta con un ERP y es necesario desarrollar software especfico adaptado a los requisitos de la empresa. Este desarrollo se realizar con un enfoque sistmico y siguiendo una serie de etapas y procesos que describiremos en las prximas unidades.

Un posible inconveniente de los ERP es su alto coste y dificultad de implantacin por lo que se utilizan ms en grandes corporaciones donde es ms fcil rentabilizar el esfuerzo, que en pequeas empresas. Hay diferentes fabricantes de software ERP, entre los que destacan SAP, Peoplesoft, Baan, Oracle y J.D. Edwards.

PARA SABER MS Puedes conocer una de las mejores empresas que desarrollan sistemas ERP en su pgina web:

Empresa SAP de desarrollo de software de gestin empresarial http://www.sap.com/spain/index.epx

15

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 6.- A qu nivel se planteara la implantacin de un sistema de informacin ERP? a) Operativo. b) Nivel tctico . c) Niveles tctico y estratgico. d) Transaccional.

4.2.- Descripcin de los sistemas DATA WAREHOUSE.


Estamos acostumbrados a ver sistemas informticos en cualquier empresa. No podemos concebir una agencia de viajes sin un ordenador que gestione las reservas y tenga acceso a Internet para consultar la disponibilidad. Ni podemos imaginar una oficina donde no se utilicen ordenadores para escribir cartas, llevar la contabilidad o gestionar las nminas. Tampoco conocemos un almacn de productos que no controle su inventario o realice la facturacin sin ayuda informtica. Todos estos procesos transaccionales u operativos estn incluidos en los sistemas de informacin operativos que vimos en la primera unidad. Todas las empresas los conocen y los utilizan. Sin embargo, si el mayorista de la agencia de viajes quiere conocer los mejores y ms exitosos paquetes vacacionales de la prxima temporada, o si el director de la oficina quiere saber el rendimiento de la cartera de clientes y conocer cundo y cmo debe solicitar un crdito de cara a una ampliacin del negocio, o si el administrador del almacn necesita optimizar la entrada y salida de productos para evitar una acumulacin excesiva o una falta de existencias, en estos casos, los sistemas de informacin operativos no son suficientes. Para ayudar a los directivos en estos asuntos necesitamos otros sistemas de informacin como los vistos en la unidad anterior, es decir de soporte ejecutivo, de toma de decisiones, etc. Estos sistemas se basan en el concepto de data warehouse. Un data warehouse es literalmente un almacn de datos, pero esta descripcin es pobre para las verdaderas posibilidades del sistema. Sus dos principales ventajas son: Que est integrado con el resto de sistemas de informacin de la empresa para recopilar toda la informacin histrica. Que estructura toda la informacin de forma homognea y fiable permitiendo consultas tiles y eficaces para la toma de decisiones.

16

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Cmo estar construido internamente el data warehouse?

En cuanto al software, fundamentalmente se basa en un sistema gestor de bases de datos que permite el manejo de grandes cantidades de datos y la visin de los mismos desde diferentes perspectivas segn las necesidades de la empresa. Esto se consigue con tablas multidimensionales de datos donde el usuario (ejecutivos o expertos) puede tener una visin global de la empresa o parcial y relacionada a un aspecto o departamento concreto. Con ello se ayudar a la toma de decisiones en la empresa en los niveles medio y superior (tctico y estratgico).

Si nos referimos al hardware, necesitamos un sistema potente con unas caractersticas algo diferentes a los equipos utilizados en los sistemas de informacin operativos, ya que en el data warehouse necesitamos manejar mucha informacin pero acceden pocas personas (p.ej: estudio financiero sobre las necesidades de endeudamiento de la empresa), mientras que en los transaccionales es necesario manejar menos informacin pero por muchas personas al mismo tiempo (p.ej: gestin continua de las reservas de hotel). Adems deben ser sistemas escalables que permitan su ampliacin en funcin de las necesidades de la empresa.

PARA SABER MS Aqu tienes un ejemplo de empresa que ofrece servicios de data warehouse a otras empresas:

SQLMax Connections: servicios de data warehouse para empresas http://www.sqlmax.com/dataw1.asp

AUTOEVALUACIN: 7.- En qu sistema de informacin puede utilizarse un data warehouse? a) Un sistema de informacin de direccin. b) Un sistema de apoyo a la toma de decisiones. c) Un sistema de soporte ejecutivo. d) Todas las respuestas son correctas.

17

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

4.3.- Explotacin de los sistemas data warehouse.


Hemos visto que la parte interna de este sistema es bsicamente una base de datos bien estructurada, pero cmo puedo aprovechar la informacin almacenada?, qu ventajas aporta el sistema a los gestores de bases de datos tradicionales?

Estos sistemas basan su xito en el uso de tcnicas estadsticas de anlisis de la informacin integral, histrica y global del negocio.

As, podremos: Descubrir relaciones entre datos que haban permanecido ocultas al anlisis superficial de los mismos. O aprender de los datos del pasado para predecir situaciones futuras.

Internamente el sistema data warehouse contiene bases de datos multidimensionales optimizadas para manejar grandes volmenes de datos que deben verse desde distintas perspectivas. En el sistema data warehouse se realizan una serie de procesos, de los que unos son para la creacin del almacn de datos y otros para su explotacin y aprovechamiento. En la figura siguiente podemos ver su estructura general.

18

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Para la creacin y actualizacin del almacn de datos es necesario realizar unos procesos trasparentes al usuario, ya que son realizados por el administrador del sistema. Estos procesos consisten en:

Una extraccin de la informacin desde las distintas fuentes (bases de datos), tanto internas (por ejemplo, datos del subsistema transaccional sobre las ventas realizadas en los ltimos aos), como externas a la empresa (por ejemplo, informacin estadstica sobre

comportamientos del mercado en la ltima dcada). Una elaboracin y transformacin de la informacin a base de filtrados, homogeneizacin, limpieza, etc, de los datos, y La carga de la informacin organizndola.

Para su explotacin la operacin ms frecuente sobre el sistema data warehouse es la consulta de informacin que realizan los usuarios. Hay una serie de tcnicas que podemos utilizar para realizar consultas y extraer informacin til del sistema data warehouse:

Utilidades de proceso analtico (OLAP, On-line Analytical Processing): herramientas que permiten realizar consultas multidimensionales a la base de datos en un lenguaje cercano al lenguaje natural que son transformadas en series de consultas que puede procesar el sistema gestor de la base de datos. Por ejemplo, imaginemos que queremos conocer el impacto de una campaa de publicidad y marketing en diferentes segmentos de mercado. Para ello deberamos hacer un proceso OLAP que incluya el anlisis de tablas multidimensionales de datos de facturacin por clientes, contactos

realizados por los vendedores, datos de las campaas publicitarias realizadas, ofertas realizadas a los diferentes sectores de cliente objetivo, la etc. Como resultado entre ofertas, los el

obtendramos esfuerzos

relacin las

publicitarios,

trabajo de los vendedores y la cuota de mercado obtenida. Con esta informacin podremos mejorar la prxima campaa publicitaria y de marketing.

19

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Consultas e informes libres (query & reporting): permite realizar consultas complejas que manejan gran cantidad de datos sobre cualquier tipo de informacin. Por ejemplo en una empresa de transporte, podramos conocer las mercancas transportadas por un determinado modelo de camin entre dos puntos de enlace concretos por un grupo de conductores y en un determinado horario, durante un periodo de 5 aos.

Minera de datos (Data mining): permiten realizar informes o consultas libres basadas en tcnicas estadsticas para descubrir relaciones entre datos o patrones de comportamiento en los datos. Por ejemplo, con esta tcnica podramos optimizar la gestin del almacn de una fbrica de zapatos al descubrir la relacin existente entre el tiempo meteorolgico, la necesidad de un tipo especial de piel en la fabricacin de un determinado calzado y las fluctuaciones en el precio de esa piel. Si sabemos cundo podemos necesitar ms cantidad de esa piel y cundo podemos comprarla ms barata estaremos en una posicin de ventaja para comprarla en el momento oportuno sin llegar a saturar de mercanca nuestro almacn.

En muchas ocasiones se utiliza una combinacin de las tcnicas anteriores para explotar estos sistemas y ayudar a la toma de decisiones en la empresa. Podemos tener varios subconjuntos del data warehouse para dar soporte a distintas unidades funcionales de la empresa. Estos subconjuntos se denominan data marts (mercado de datos).

Los sistemas data warehouse se utilizan:

En los sistemas de marketing (por ejemplo para un estudio de mercado). En los estudios financieros (por ejemplo en el anlisis de riesgo de crdito). En el control de gestin (por ejemplo en la elaboracin de presupuestos). En la logstica de la empresa (por ejemplo en la optimizacin y control de los inventarios de un almacn). En recursos humanos (por ejemplo en la planificacin de la ampliacin de plantilla). etc.

PARA SABER MS Puedes conocer ms acerca de la minera de datos consultando la enciclopedia virtual wikipedia:

Enciclopedia libre Wikipedia http://es.wikipedia.org/wiki/Minera_de_datos

20

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

4.4.- Sistemas de informacin geogrfica (GIS, Geographic Information System)


Imagina una empresa de transportes por carretera donde disponen de cientos de camiones para transportar mercancas por toda Europa. Sera muy til disponer de informacin en todo momento de la posicin de cada camin para controlar los envos. Algo as tienen las agencias de transporte urgente o correos, donde para determinados envos se ofrece la posibilidad al cliente de consultar en Internet, mediante un cdigo, la situacin exacta de su envo. O piensa en una empresa que se encarga del mantenimiento de los postes de la red elctrica, cuando se produce una avera, la empresa debe saber la posicin exacta del poste para enviar a los operarios a hacer la reparacin. Cmo se implementan estos sistemas? Es necesario el uso de los sistemas de informacin geogrfica (SIG, o en ingls, GIS). Estos sistemas incluyen bases de datos con localizaciones geogrficas y o

coordenadas

espaciales

sistemas

grficos de acceso a su informacin. Pueden incluir mapas cartogrficos o planos de las zonas o poblaciones que nos interesan. Adems, pueden ayudarse de sistemas de localizacin por satlite (Sistemas de posicionamiento global GPS Global Positioning System) para conocer la posicin exacta y en tiempo real del elemento que queremos controlar.

El SIG funciona como una base de datos con informacin geogrfica que se encuentra asociada a los objetos grficos de un mapa digital. De esta forma sealando un objeto se conocen sus atributos e, inversamente, preguntando por un registro de la base de datos se puede saber su localizacin en la cartografa.

El Sistema de Informacin Geogrfica separa la informacin en diferentes capas temticas y las almacena independientemente, permitiendo trabajar con ellas de manera rpida y sencilla, y facilitando al profesional la posibilidad de relacionar la informacin existente, a travs de la topologa de los objetos con el fin de generar una nueva topologa que no podramos obtener de otra forma.

21

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

En este enlace puedes ver un sistema de informacin geogrfica sobre Suelo Industrial del Principado de Asturias

Sistema de Informacin Geogrfica sobre Suelo Industrial del Principado de Asturias http://www2.idepa.es/sueloindustrial/sig/

5.- Negocio electrnico (e-business).


El entorno en el que se mueven las empresas hoy en da es cada vez ms competitivo y globalizado. Como consecuencia las empresas deben aprovecharse de las nuevas tecnologas para crecer en su negocio, lo cual implica intercambiar bienes, servicios, dinero, informacin y conocimiento a travs de las tecnologas de la informacin y comunicacin (TIC) basadas en las redes de ordenadores como Internet. Las empresas tienen que crear y aplicar conocimientos a travs de la informacin que pasa a ser el capital ms valioso.

En este contexto, han aparecido nuevas modalidades y modelos de negocio empresarial en las que se ha pasado de las relaciones reales a las virtuales. En este caso las empresas producen transacciones comerciales a travs de Internet, a esto lo denominamos comercio electrnico (e-commerce). Pero el negocio electrnico (e-business) no se limita al comercio sino que va ms all.

El

negocio

electrnico

e-business

consiste en redefinir los procesos de la empresa interconectndolos con los

socios, los clientes y los proveedores.

Esto implica reorganizar la empresa para que pueda no slo realizar comercio

electrnico con los clientes, sino tambin intercambiar servicios y conocimiento a travs de las TIC entre los empleados de la empresa, los socios, etc.

22

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Por ejemplo, hay empresas que se han asociado para intercambiar y compartir sus conocimientos en investigacin para mejorar de forma comn. Hay empresas dedicadas a la venta, que ponen a disposicin de sus vendedores toda la informacin que necesitan a travs de Internet, de manera que utilizando un ordenador porttil los vendedores pueden visitar y trabajar con los clientes en su empresa como si estuviesen sentados en la oficina del vendedor. Estos son ejemplos de negocio electrnico (ebusiness), el cual proporciona ventajas como:

Mayor eficiencia y velocidad en los negocios. Reduccin de intermediarios. Ampliacin de mercados. Reduccin de gastos. etc.

La implantacin del e-business implica reorganizar y adaptar todos los sistemas y subsistemas de informacin de la empresa.

PARA SABER MS Para introducirnos en el mundo del comercio electrnico es aconsejable visitar esta pgina web:

AEC. Asociacin Espaola de Comercio Electrnico http://www.aecm.org

5.1.- Modelos de negocio electrnico.


Pero cuntos modelos distintos de negocio electrnico hay? Puede que hayas pensado que el tipo de negocios que se pueden hacer en esta modalidad es limitado, pero nada ms lejos de la realidad. Dnde estn las fronteras? Como en cualquier otro tipo de negocios, en la imaginacin, la creatividad y la innovacin de empresarios y emprendedores. Eso s, se puede hacer una clasificacin atendiendo a algunos criterios.

Para que sea posible realizar estas modalidades de negocio electrnico es necesario hacer uso de las redes de ordenadores y de los programas informticos de comunicaciones. Dependiendo de cmo y para qu se utilicen estas redes y programas podemos tener diferentes modelos de e-business, a continuacin vamos a describir los ms comunes:

23

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Empresa a empresa (B2B, business-to-business): se refiere a las transacciones que se realizan entre empresas. Por ejemplo, una empresa que ofrezca la gestin de la contabilidad y nminas a otras empresas realizando el intercambio de informacin a travs de Internet.

Empresa a empleado (B2E, business-to-employee): el sistema se centra en la gestin de las actividades que ocurren dentro de la empresa o una empresa que ofrezca una serie de servicios a sus empleados a travs de una red informtica. Por ejemplo, en la Universidad, a travs de Internet el profesorado puede consultar los datos de su nmina, reservar aulas, solicitar ayudas a la investigacin, pedir libros a la biblioteca, etc.

Empresa a consumidor (B2C, business-to-consumer): las transacciones se producen entre la empresa y los clientes. Un ejemplo de este modelo son los bancos en casa que operan a travs de Internet.

Consumidor a consumidor (C2C, consumer-to-consumer): en este caso las personas o consumidores realizan las transacciones entre s. Un ejemplo son las subastas que se realizan en Internet, como por ejemplo en eBay.

Entre iguales (P2P, Peer-to-peer): los usuarios de estos sistemas intercambian conocimiento o servicios sin necesidad de dinero. Un ejemplo sera e-mule o cualquier aplicacin para intercambiar por Internet archivos de msica, cine, etc.

AUTOEVALUACIN: 8.- Qu modelo de negocio practico cundo descargo una cancin que no tiene copyright a travs de Internet? a) B2B b) B2E c) B2C d) P2P

PARA SABER MS Podemos leer ms sobre los modelos de negocio en Internet en el siguiente artculo:

http://www.redcientifica.com/doc/doc200111180001.html

24

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

5.2.- Tipos de redes informticas usadas en e-business.


Hemos comentado que las empresas pueden realizar sus transacciones comerciales a travs de Internet, pero sabemos que esta red es pblica. Qu ocurre si se necesita intercambiar informacin confidencial?.Cmo pueden proteger las empresas sus comunicaciones? Dependiendo de las necesidades del negocio electrnico concreto que se vaya a implantar, necesitaremos un tipo u otro de red informtica tal y como aparece en la figura inferior y explicamos a continuacin:

Intranet: es una red interna de la empresa y que da servicio a los distintos departamentos que la forman. El aspecto de la red es el mismo que Internet pero funciona slo dentro de la empresa, la ventaja es que cualquier empleado puede usarla desde su navegador de Internet de forma muy sencilla y desde cualquier equipo. Como las redes no estn abiertas a redes pblicas la seguridad es muy alta y se impide el acceso de personas ajenas a la organizacin. Estas redes se utilizan por ejemplo en los modelos B2E.

25

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Extranet: esta red interconecta las intranet de varias empresas que se han asociado, por ejemplo para efectuar pedidos entre s o comprobar el estado del almacn de una empresa socia, etc. Estas redes pueden montarse por medio de una red privada segura no accesible a personas ajenas a la organizacin (es una solucin muy segura y rpida pero cara). Las redes privadas seguras pueden usarse en B2B. Pueden utilizar redes pblicas como Internet limitando los accesos con contraseas (es una solucin barata pero poco segura y dependiente del trfico en la red). La solucin de red pblica es la que se utiliza por ejemplo en C2C o B2C . Pueden establecer una conexin virtual privada sobre una red pblica mediante lo que se denomina Red Privada Virtual (VPN, Virtual Private Network) que garantiza la seguridad de las transacciones (es una solucin de compromiso entre las dos anteriores) y que est teniendo mucho xito. Las VPN se utilizan en B2B y B2E.

Cmo se envan los datos a travs de estas redes? Para responder debemos conocer el concepto de intercambio electrnico de datos (EDI, Electronic Data Interchange) que consiste en utilizar formatos normalizados entre los sistemas informticos que participan en la transaccin de manera que sta sea segura, rpida y consistente. AUTOEVALUACIN: 9.- Cmo sera la red que utilizamos cuando queremos leer el correo electrnico a travs de una pgina web utilizando una contrasea? a) Una Intranet. b) Una extranet montada sobre una red privada segura. c) Una extranet montada sobre una red privada virtual. d) Una conexin privada sobre la red pblica Internet.

5.3.- Administracin de la relacin con el cliente (CRM, Customer Relationship Management).


Alguna vez has hecho reservas de hoteles por Internet? Seguramente s. Te has fijado en el gran nmero de pginas web que ofrecen este servicio?Qu haces cuando intentas realizar una reserva y la pgina funciona muy lenta? Lo normal es que acabes buscando pgina. en otra

26

VALLINIELLO
Cul es la consecuencia?

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Que la empresa de esa pgina web ha perdido una compra y posiblemente un cliente para el futuro.

La velocidad del servicio es un factor crtico en el comercio electrnico. Pero no slo la velocidad es importante. Cuando vas a tu agencia de viajes habitual, si el vendedor te conoce, te va a aconsejar un hotel que no escape de tu presupuesto y que est bien porque l sabe lo que buscas. Y cuando ests en una agencia de viajes por Internet, te gustara que te aconsejasen hoteles de tu perfil? Seguro que la agencia virtual que lo haga tendr ms clientes.

Las empresas de e-business deben volcar su esfuerzo en atender perfectamente al cliente pues con ello mejorarn sus resultados econmicos. En un negocio electrnico en el que la mayora de las transacciones son virtuales y el vendedor no suele ver directamente a los clientes, es fundamental cuidar al cliente.

El diseo de los sistemas de informacin debe realizarse para buscar la satisfaccin del cliente. Para ello, se han creado los sistemas de administracin de la relacin con el cliente (CRM) cuya estrategia est destinada a lograr ser ms efectivos en el momento de interactuar con los clientes. CRM sirve para adquirir y mantener la lealtad del cliente.

CRM no es nuevo, lo que es nuevo es la tecnologa que permite hacer lo que anteriormente se haca en las tiendas de barrio. El dueo tena pocos clientes y suficiente memoria para saber qu le gustaba a cada cliente. Lo que ahora hace la tecnologa es permitirnos regresar a ese tipo de modelo potenciando sus posibilidades. Con la implementacin del sistema CRM, la empresa deber ser capaz de anticiparse a los deseos del cliente. El sistema debe ser un medio de obtener informacin sin llegar a acosar al cliente.

Estos sistemas contienen bases de datos en las que se incluyen informaciones sobre los clientes, acerca de sus preferencias, estadsticas de utilizacin de los servicios, compras realizadas, esquemas de servicio, etc.

27

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Puedes mejorar tus conocimientos sobre los sistemas CRM en este enlace:

Improven consultores http://www.improven.com/Servicios/Home_VentasCRM.aspx?ind=17&sec=9

6.- Externalizacin (Outsourcing).


A lo largo de todo este captulo hemos visto una serie de sistemas informticos que ayudan a la

direccin de las empresas a tomar decisiones para mejorar sus

negocios. La mayor parte de estos sistemas son muy eficaces pero son difciles de implantar y caros, por lo que no todas las empresas pueden realizar el proceso por s mismas.

Una buena solucin es encargar su implantacin a una empresa especialista en estos temas.

Cuando las empresas dejan de tener un departamento especfico encargado de la puesta en funcionamiento de determinados servicios como informtica, contabilidad, asesora fiscal, marketing, seleccin y formacin de personal, etc., y deciden demandar y contratar dichos servicios a una empresa especializada decimos que se ha producido una externalizacin de los servicios.

La implantacin de sistemas de informacin y modelos de negocio electrnico suele contratarse con empresas externas que proporcionan Servicios Avanzados a las Empresas con reduccin de costes y mejorando la calidad.

Las empresas pueden contratar un servicio de hospedaje web (hosting) que ofrece la infraestructura necesaria para realizar comercio electrnico y que abarata los costes de implantacin. Las empresas que ofrecen estos servicios disponen de mltiples servidores compuestos por potentes ordenadores que alquilan, ofreciendo seguridad, mantenimiento y apoyo tcnico.

28

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

En la red encontrareis multitud de empresas expertas en Outsourcing, por ejemplo:

http://www.avanzasa.com/ http://www.sopraprofit.es/

SOLUCIONES AUTOEVALUACIN 1.2.3.4.5.6.7.8.9.b b a d c c d d d

29

VALLINIELLO GLOSARIO
reas funcionales

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Una parte de la empresa dirigida por una persona (o equipo) responsable que tiene una estructura y funcionamiento relativamente independientes del resto de reas y con objetivos definidos, pero manteniendo una adecuada coordinacin y cooperacin con las dems reas.

Auditora Consiste en la revisin sistemtica de una actividad para evaluar el cumplimiento de la legalidad y criterios objetivos propios de la empresa u organizacin. Surge de la necesidad de las empresas de comprobar su situacin econmica. Existen numerosas empresas dedicadas a la auditoria. La auditoria informtica comprende el conjunto de actividades encaminadas a la validacin y verificacin de los sistemas, procesos y resultados en los que se utilicen tecnologas automatizadas, ya sea en cumplimiento de la legislacin, como garanta de la integridad y correccin de la informacin aportada por un sistema.

Extranet Es una red privada resultante de la interconexin de dos o ms intranets que utiliza Internet como medio de transporte de la informacin para compartir con seguridad la parte de la informacin o de las operaciones de un negocio con los suministradores, vendedores, socios, clientes u otros negocios. Una extranet se puede ver como parte de la intranet de una compaa que se extiende a los usuarios fuera de la compaa, normalmente sobre Internet.

GPS El Global Positioning System (GPS) o Sistema de Posicionamiento Global es un Sistema Global de Navegacin por Satlite que permite determinar en todo el mundo la posicin de una persona, un vehculo o una nave, con una precisin de hasta centmetros. Funciona mediante una red de satlites que se encuentran orbitando alrededor de la tierra.

Hosting Es un alojamiento web que consiste en ofrecer servicios por Internet a los usuarios y empresas para que puedan realizar negocios por Internet, almacenar informacin, imgenes, vdeo, o cualquier contenido accesible va Web.

30

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 2: Sistemas de Informacin en la Empresa M Lourdes Gutirrez Lpez

Interfaz En software, un interfaz de usuario es la parte del programa informtico que permite el flujo de informacin entre varias aplicaciones o la interaccin entre el propio programa y el usuario.

Intranet Es una red de ordenadores de rea Local (red LAN, o Local rea Network) que proporciona herramientas de Internet para ayudar a la produccin del personal de una empresa u organizacin. Utiliza los mismos protocolos de comunicaciones que Internet pero al ser privada evita la entrada de intrusos. La Intranet fue creada para proporcionar seguridad y poder compartir archivos, carpetas y recursos, facilitando y abaratando las comunicaciones entre los distintos empleados de la empresa.

Lenguaje natural Se utiliza el trmino para referirse principalmente al lenguaje humano. El trmino se utiliza en contraposicin a los lenguajes formales, lenguajes artificiales como por ejemplo los lenguajes de programacin de ordenadores.

Marketing Tambin se llama Mercadotecnia y es el conjunto de tcnicas y estrategias que se aplican para lograr la satisfaccin de las necesidades y los requerimientos de los clientes y los consumidores.

MRP Manufacturing Resource Planning. Es el sistema que se encarga de planificar los requerimientos de materiales para la produccin y optimizar el ritmo de fabricacin.

Plan de gestin contable Es la legislacin que define el modelo contable que deben llevar todas las empresas espaolas. Incluye el registro en el libro mayor contable de todas las transacciones (asientos) en las cuentas correspondientes en el debe (gastos) y en el haber (ingresos).

Telfonos mviles 3G Son telfonos que pueden utilizar la tecnologa UMTS (Universal Mobile Telecommunications System, Servicios Universales de Telecomunicaciones Mviles) que proporciona mayor capacidad de transmisin de datos y una gama de servicios mucho ms extensa de banda ancha, tales como servicios de video telefona y video conferencia.

31

C.F.G.S. DESARROLLO DE APLICACIONES INFORMTICAS

MDULO: Anlisis y Diseo de Aplicaciones Informticas de Gestin

Unidad 3
Software e Ingeniera del Software

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

NDICE DE CONTENIDOS

OBJETIVOS .......................................................................................................................

1.- INTRODUCCIN AL SOFTWARE Y A LA INGENIERA DEL SOFTWARE.............. 1.1.- Software ........................................................................................................ 1.2.- Evolucin del software .................................................................................. 1.3.- La crisis del software..................................................................................... 1.4.- Ingeniera del software .................................................................................. 1.5.- Objetivos de la ingeniera del software ......................................................... 1.6.- Fundamentos de la ingeniera del software .................................................. 1.7.- Actividades del equipo de trabajo de ingeniera del software.......................

2 3 7 9 11 14 15 19

2.- CICLO DE VIDA DEL SOFTWARE..............................................................................

21

3.- TIPOS DE CICLOS DE DESARROLLO....................................................................... 3.1.- Modelo en cascada ....................................................................................... 3.2.- Modelos evolutivos ........................................................................................ 3.3.- Modelo en espiral. Evolutivo ......................................................................... 3.4.- Modelo incremental ....................................................................................... 3.5.- Modelo orientado a la reutilizacin................................................................ 3.6.-Cul es el modelo ms adecuado?..............................................................

24 25 27 29 32 34 36

SOLUCIONES AUTOEVALUACIN.................................................................................. GLOSARIO.........................................................................................................................

37 38

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

OBJETIVOS

El ciclo de vida del software debe ser el punto de partida de cualquier proyecto relacionado con el desarrollo de aplicaciones y por ello, es preciso tener una visin general del mismo as como de los fundamentos de la Ingeniera del Software, para posteriormente ir detallando cada una de las fases que llevan a la obtencin de la aplicacin buscada.

En esta tercera unidad es preciso que el alumno consiga llegar a comprender la necesidad de planificar el trabajo, especialmente cuando este se aborda en equipo. Por ello va a ser tratada como unidad introductoria para el desarrollo de software de calidad.

Vamos a dar a conocer la terminologa bsica y los estndares que definen cmo debe ser desarrollado el software, as como los diferentes modelos de ciclo de vida que se pueden seguir a la hora de desarrollar una aplicacin.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

1.- Introduccin al software y a la ingeniera del software.


El ordenador es sin duda una de las herramientas ms tiles que actualmente se utiliza en la mayora de las tareas de la actividad humana, pero hay que entender al ordenador no slo como el electrodomstico fsico (hardware) que colocamos sobre la mesa, sino que debe ir acompaado de programas y aplicaciones informticas que le proporcionan la capacidad de ser til en tareas profesionales o de ocio. Es como decir; para qu quieres vas si no tienes tren?. Ambos conceptos son inseparables.

Cuando se habla de actividades concretas que se pueden realizar con un ordenador, se est hablando del software. El ordenador sirve para muchas cosas, pero para hacer una factura necesitamos un software especfico, igual que para tratar imgenes o sonidos, incluso para jugar. Y en cada una de estas actividades se necesita el software adecuado, que finalmente ser el que nos permita realizar esas diferentes tareas, nos facilite las cosas y nos muestre los resultados de forma clara y sencilla.

Un software de baja calidad es probable que dificulte el trabajo e incluso que proporcione resultados incomprensibles o poco claros. Por ello a veces hay quien prefiere realizar ese trabajo de forma manual. Con un software de calidad esto no puede ocurrir porque se adapta a las necesidades del usuario y es creado para cubrir unas necesidades concretas, si las cumple ser til.

Conseguir un software de calidad con un alto grado de eficacia lleva tiempo y dinero, esto unido a la falta de profesionales cualificados, lo convierte cada vez ms en algo raro de encontrar.

Podemos resumir diciendo que con un ordenador se puede hacer cualquier cosa siempre que dispongamos del software adecuado. Realmente esto es as. Hasta hace pocos aos resultaba ingenuo pensar que se pudieran automatizar tareas como la cocina, jugar al ajedrez, reparar vehculos, explorar lugares, etc.

VALLINIELLO
Y hasta donde podemos llegar?

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Lo que podemos asegurar es que la imaginacin del ser humano no tiene lmites y desde luego el software no se los pone, as que podemos esperar casi cualquier cosa que podamos imaginar.

PARA SABER MS El software se utiliza constantemente y de forma masiva a cada momento, y la tendencia es que siga creciendo su uso en cada vez ms actividades. En este enlace puedes ver cmo se ubica el software en un sistema informtico y cul es su utilidad.

Para qu sirve el software? http://www.virtual.unal.edu.co/cursos/sedes/manizales/4100010/Lecciones/Cap1/basestecnicas.htm

1.1.- Software.
El software debemos entenderlo como algo vivo, que se adapta a las necesidades del usuario y que mejora con el uso. Necesita datos para generar resultados tiles, con o sin la intervencin de personas. Por tanto podemos decir que el software Est compuesto por el cdigo fuente con el que estn desarrollados los diferentes programas. Los datos con los que trabaja. La documentacin que debe acompaar a cualquier aplicacin informtica. En la documentacin deben establecerse claramente los objetivos (requisitos) que se persiguen y las especificaciones que ayudan a alcanzarlos.

VALLINIELLO
Aunque lo parezca, no todo el software es igual.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Hay aplicaciones concretas que llevan a cabo tareas especficas para una determinada empresa o un sistema de trabajo concreto y Otras que son creadas de forma sistemtica y que se emplean de forma general por muchos usuarios o empresas sin necesidad de ser modificados para adaptarlos a cualquiera de ellos.

Por ello podemos hablar de dos tipos de software atendiendo a la forma en que ha sido creado:

Software a medida. Software que se adapta a las necesidades y forma de trabajar del cliente. Software de propsito general. Est desarrollado y contrastado su funcionamiento suficientemente. Si alguien quiere usarlo, debe adaptarse a l.

Pero esta no es la nica clasificacin posible, tambin podemos decir que existen muchas clases de software atendiendo a su mbito de aplicacin. As hablamos de software:

De sistemas. Se trata de los programas especficos que gestionan dispositivos, tales como maquinaria industrial, electrodomsticos los

avanzados o cajeros automticos. Suele ir integrado dentro de

productos y sistemas de los mercados industriales que controla. Reside en memorias ROM instaladas en lavadoras, microondas y todo tipo de electrodomsticos y componentes de automvil. De tiempo real. Se incluye en esta categora principalmente al software que controla instrumentos, simulacin de sistemas, control de vuelos, etc., en los que el tiempo de respuesta de la aplicacin suele ser un factor crtico. Por ejemplo, el controlador areo no puede esperar a que la informacin que captura el radar tarde varios minutos en mostrarse en la pantalla tras ser procesada por la aplicacin, porque en ese tiempo dos aviones pueden haber chocado o haberse estrellado. La respuesta debe ser inmediata, y la informacin debe procesarse de forma casi instantnea.

De gestin. Bsicamente incluimos en esta categora aquellas aplicaciones que facilitan al usuario la gestin de una empresa, un proyecto o una forma de trabajar. Por ejemplo el software de ofimtica.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Cientfico. Las aplicaciones cientficas, en especial las relacionadas con la investigacin y el desarrollo, tienen caractersticas especficas que las hacen diferentes. Normalmente son creadas por cientficos especializados, ya que requieren un gran conocimiento especfico sobre una materia que va ms all de lo que puede controlar un informtico sin conocimientos de la misma.

De Inteligencia Artificial. La IA (Inteligencia Artificial) pretende que el software aprenda con la experiencia y pueda ofrecer soluciones por s mismo a los problemas que se le plantean. Ese aprendizaje, naturalmente es simulado y se basa en una recopilacin de datos que le permite ajustar ms la respuesta del programa, pero no hay una verdadera adquisicin de conocimiento, aunque puede llegar a parecerlo.

De ordenador personal. En esta categora incluimos todo el software que puede utilizar un usuario en casa con su ordenador personal.

El software es un producto muy diferente al resto de los que consume actualmente nuestra sociedad.

Qu tiene de especial el software? Pues una serie de caractersticas propias que lo hacen singular: Es desarrollado, no fabricado. Es un elemento lgico, no fsico. Se deteriora y no hay piezas de repuesto. Se puede construir a medida.

Y este producto debe cumplir una serie de requisitos que nos van a permitir distinguir entre un buen producto y un producto mediocre, que en ocasiones puede dar ms problemas de los que resuelve. Por tanto podemos decir que el software debe ser:

Fcil de mantener. Construido y documentado para permitir cambios sin demasiado coste ni esfuerzo. Fiable. Debe hacer aquello para lo que fue construido, sin errores y con rapidez. Eficiente. Debe aprovechar al mximo los recursos sin utilizarlos de forma innecesaria. Fcil de usar. La comunicacin entre el software y el usuario o usuarios que lo utilicen, debe ser clara, sencilla y amigable.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

En definitiva lo que debe ocurrir es que el software facilite el trabajo a los usuarios, de modo que sea el usuario quien dirija el ordenador y no al contrario.

Y podemos preguntar Existen mtodos y procedimientos para construir buen software?

Evidentemente la respuesta afirmativa a esta pregunta es la razn de ser de la ingeniera del software.

PARA SABER MS Una definicin muy completa de software, la podemos encontrar en el siguiente enlace de Wikipedia. Si buscamos en diferentes libros sobre la definicin del software podemos encontrar algunas que parece que definen cosas diferentes, pero bsicamente podemos quedarnos con la realizada por el IEEE (The Institute of Electrical and Electronics Engineers). En este enlace adems puedes encontrar un completo artculo sobre todo lo relacionado con el Software.

Definicin de software http://es.wikipedia.org/wiki/software

AUTOEVALUACIN:

1.- Acabamos de entregar un software para la gestin integral de una empresa, y al mostrrselo al cliente, ste pregunta por la documentacin. A qu se est refiriendo? a) Al cdigo fuente, necesario para modificar y hacer reajustes en la aplicacin. b) A todos los documentos (informes y listados) que se pueden generar con ese software. c) Al manual de usuario y todas las especificaciones generadas durante la construccin. d) A los datos fiscales de nuestra empresa para comprobar la fiabilidad del software.

2.- De las siguientes caractersticas, marca las que seran deseables en un software de calidad: a) Que sea construido y documentado para permitir cambios. b) Que utilice todos los recursos disponibles del ordenador, en todo momento. c) Que sea sencillo e intuitivo. d) Que haga aquello para lo que ha sido construido.

VALLINIELLO 1.2.- Evolucin del software

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Conoces a alguien que sea aficionado a programar y que haya aprendido de forma autodidacta a hacer pequeas aplicaciones?

Al principio el software era desarrollado ms o menos as, o incluso peor, por virtuosos que basndose en la intuicin y en la experiencia acumulada al desarrollar programas, se aventuraban a crear software que naturalmente nadie entenda ni poda modificar, a veces ni ellos mismos. El progreso en el desarrollo era incierto y muy azaroso. Y en la mayora de los casos no se utilizaban las herramientas ms adecuadas, sino aquellas que se tenan ms mano.

Enseguida se observ que esto del software poda ser til y que haba procedimientos y actividades ms adecuados que otros para conseguir productos mejores, sobretodo basndose en la experiencia de algunos de los virtuosos anteriores.

El planteamiento era sencillo, Porqu no intentar aplicar las tcnicas de ingeniera empleadas para la produccin de otro tipo de productos y que tan buenos resultados daban, tambin al desarrollo del software?

Con todo ello se consigui dotar al software de una importancia que no tena hasta ese momento y fue entonces cuando se empez a pensar que era necesario establecer los criterios que deba cumplir el software y cmo conseguirlos.

Por estos motivos apareci la Ingeniera del software:

Con profesionales bien formados. Que desarrollan su labor con fundamentos tericos. Siguiendo metodologas especficas de reutilizacin de cdigo. Basndose en anlisis detallados de los problemas y sus soluciones.

La ingeniera del software tiene adems un importante mercado detrs, que lo est convirtiendo en uno de los productos ms demandado y tiles del mundo empresarial.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Esta evolucin podemos observarla en el siguiente cuadro que resume la historia reciente del software como uno de los principales protagonistas de la informtica, prcticamente desde que sta apareci. El progreso en las diferentes tcnicas inventadas por cientficos y expertos, ha ido abriendo nuevos caminos y lneas de investigacin que han sido aplicadas a toda clase de programas.
Ingeniera Informtica Profesional

Artesana 1950 Se comienzan a utilizar Programas pequeos e intuitivos

Produccin

Ciencia 1956 IBM inventa el Fortran

Comercializacin

1965 Algoritmos y Estructuras de Datos

1970 Los programas grandes con xito eran una excepcin

1970 Aceptacin creciente de los mtodos de programacin estructurada

1970 Aparece el primer compilador de Pascal

1970 Aparecen las primeras empresas de servicios informticos

1972 Aparece el concepto de lenguajes orientados a objetos 1990 1978 Nace el lenguaje de programacin C Profesionales cada vez mejor formados. 1980 Se usa Control de produccin en el desarrollo del software. Se utilizan metodologas de desarrollo.

1980 Aparecen lenguajes de 4 generacin

1985 Se empieza a utilizar el 1990 Se continan haciendo programas sin metodologa 1990 Aparece la Reusabilidad en el software marketing para comercializar software

Se emplean equipos de desarrollo.

Y se automatizan muchas de las tareas.

VALLINIELLO 1.3.- La crisis del software.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Piensas que es fcil producir software de calidad? Cules crees que fueron los principales problemas que llevaron a los desarrolladores de software a cambiar de estrategia, adoptando metodologas y desarrollando la nueva ingeniera del software?

Es ms frecuente de lo deseable encontrar deficiencias en el software, que es necesario detectar a tiempo. Esto nos lleva a establecer mtodos para diagnosticar algunos problemas. Los problemas que suelen aparecer son:

Cuando aumenta la demanda del producto, los desarrolladores no alcanzan una productividad suficiente y las prisas no suelen ayudar a la hora de mejorar la calidad. A veces los clientes no se sienten satisfechos con el resultado final, porque no es lo que esperaban. Las aplicaciones fallan y se rompen con cierta frecuencia, lo que puede provocar la prdida de datos. La baja calidad durante el desarrollo, principalmente porque los equipos de profesionales no estn suficientemente preparados o formados. Puede ocurrir que los costes sean superiores a lo presupuestado, lo cual suele implicar retrasos y desconfianza. La actualizacin del software, suele ser muy costosa y generalmente es preferible un producto nuevo a modificar otro existente. No se cumplen los plazos de entrega, lo cual se achaca normalmente a problemas y fallos de ltima hora que nos llevan a desconfiar. No suele existir portabilidad en el software y debe ser retocado e incluso reconstruido en algunas fases para diferentes plataformas. Suele ser frecuente la ausencia del aprovechamiento ptimo de los recursos disponibles.

Cuando se dan los problemas y deficiencias anteriores, podemos decir que el software est en crisis, y los motivos ms frecuentes por los que suele ocurrir esto, podemos resumirlos en los puntos siguientes: El hardware es cada vez ms potente, y esto puede llevar a que algunas aplicaciones no funcionen correctamente. Suele solucionarse con reajustes en la configuracin de los dispositivos.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Aumento de la demanda por encima de la productividad de los desarrolladores, lo que significa retrasos, prisas y disminucin en la calidad por falta de rigor en la fase de pruebas. Ausencia de metodologas y tcnicas de anlisis. Lo que seguramente desembocar en olvidos y situaciones imprevistas. Uso inadecuado de los recursos, lo que puede incluso suponer mayor trabajo del que resuelve el software. Por ejemplo no

aprovechar la existencia de una red local para usar una nica impresora en una oficina y decidirse por utilizar una para cada puesto de trabajo, lo que supone multiplicar el gasto de consumibles, el mantenimiento y la ocupacin del espacio fsico (que repercute en la comodidad), sin que realmente se produzca ningn beneficio. Cuando se incrementa la complejidad del Sistema, es ms recomendable el seguimiento de una metodologa de desarrollo adecuada y ms tiempo de dedicacin. Ausencia de cauces de comunicacin adecuados entre el equipo de desarrollo y los clientes, incluso entre los miembros del equipo de desarrollo.

Todo esto lleva a entender esta crisis del software como causa de que la produccin del software no sea la adecuada y de que el software que se produce no aporte el suficiente grado de satisfaccin entre los usuarios, lo que resumidamente significa:

Baja productividad. No existe una produccin masiva como en otros productos, en la que adems no se siguen tcnicas o mtodos de ingeniera industrial.

Baja calidad. No cubre las expectativas de los usuarios suficientemente, es difcil de mantener y modificar, no es intuitivo o sencillo.

AUTOEVALUACIN: 3.- Uno de los principales motivos de crisis en el software, puede ser: a) La constante reduccin de precios en el hardware. b) Las nuevas tecnologas que permiten mayores medios de comunicacin y restan utilidad al software. c) La ausencia de metodologas y tcnicas de anlisis. d) Cada vez aparecen nuevos entretenimientos que restan importancia al software.

10

VALLINIELLO 1.4.- Ingeniera del software.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Qu hacer ante la situacin descrita en el apartado anterior, donde la crisis del software, claramente haca que nadie estuviera satisfecho con los programas?

La solucin para salvar la crisis del software, sera aplicar la Ingeniera del Software en la construccin de sistemas

informticos.

La necesidad de un enfoque de ingeniera en el desarrollo del software fue propuesta en una conferencia de la OTAN en 1968. En esta conferencia se establecen las bases de lo que se pretende conseguir con la ingeniera del software, que podemos reducir en los siguientes puntos:

Reducir costes. Mejorar la calidad. Explotar y aprovechar el potencial que proporciona el hardware.

Pero no es sencillo hacer software de calidad; eficiente, fiable, fcil de mantener y usar e incluso adecuado a las necesidades del cliente. El desarrollo de una aplicacin es una labor de equipo, por lo que todo el equipo tiene que ser competente y hacer aportaciones en cada una de las diferentes fases del desarrollo del software. Esas aportaciones sern utilizadas por parte de otros miembros del proyecto en fases siguientes. Incluso es posible que ante la deteccin de fallos o errores sea necesario volver a fases anteriores para llevar a cabo cambios o reajustes de requerimientos.

Llegar a esta situacin de produccin del software ha supuesto una compleja evolucin hacia la ingeniera a travs de mltiples disciplinas. Cada una de estas disciplinas ha ido aportando elementos, mtodos y tcnicas para la obtencin de un producto diferente a cualquiera de los conocidos, que se aplica a todo tipo de actividades empresariales o domsticas, y que va asociado al hardware, con una inevitable dependencia entre ambos.

11

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

La ingeniera del software nos va a garantizar el desarrollo de software de calidad, siempre que tengamos en cuenta una serie de criterios a seguir. Este enlace ubica la ingeniera del software en este proceso. Ingeniera del Software http://www.um.es/docencia/barzana/IAGP/Iagp1.html

El siguiente enlace es la pgina del Instituto de Ingeniera del Software que recoge todos los avances y disciplinas relacionadas, con el fin de asegurar el desarrollo y las operaciones destinadas a predecir y mejorar costes, planificacin y calidad del software.

SEI http://www.sei.cmu.edu/

El principal desafo de la ingeniera del software es desarrollar y mantener software garantizando:

Calidad. Ser fcil de mantener y actualizar, aportando un alto grado de satisfaccin a los usuarios. Fiabilidad. Har aquello para lo que ha sido diseado y proporcionar resultados correctos. Facilidad de uso. Realmente va a suponer mejoras en la actividad laboral de los usuarios, a los que les resultar sencillo su manejo con una documentacin adecuada.

Minimizar el mal uso. Ser muy difcil hacer un uso inadecuado del software de modo que slo va a permitir obtener resultados correctos, habiendo previsto situaciones errneas o imposibles.

Despus de todo esto podemos concluir con algunas definiciones formales que el IEEE (el comit de estandarizacin internacional) ha establecido sobre los conceptos de software e ingeniera del software:

Ingeniera del Software: La aproximacin sistemtica al desarrollo, operacin y mantenimiento del software. Software: Programas de ordenador, procedimientos, reglas, documentacin y datos asociados a un sistema de ordenador.

12

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

PARA SABER MS

Pgina oficial del instituto internacional de estandarizacin. Podrs encontrar todo tipo de actividades llevadas a cabo por el Instituto, publicaciones, voluntariado, etc. Adems se pueden conocer los informes que actualmente se estn realizando. IEEE. Sitio oficial http://www.ieee.org/portal/site

Las actividades del IEEE estn organizadas por regiones a nivel mundial. En el siguiente enlace puedes comprobar esta organizacin:

Mapa de distribucin de las regiones del IEEE http://www.ieee.org/organizations/rab/imagemaps/world_reg.html

Europa se encuadra en la regin 8, junto a Oriente Medio y frica. ste el enlace a su Web.

IEEE. Regin 8. http://www.ewh.ieee.org/reg/8/

A su vez cada regin est estructurada en secciones. ste es el enlace a la seccin reservada para Espaa, pero no esperes encontrarla en castellano.

IEEE. Seccin de Espaa. http://ewh.ieee.org/r8/spain/

13

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Este Instituto tiene un comit que trata sobre computacin. ste es el enlace para acceder a sus actividades y noticias de inters. IEEE. Computer Society. http://www.ieee.org/organizations/society/comp.html

En Wikipedia podemos encontrar algunos comentarios sobre las actividades que realiza el IEEE que pueden resultar muy esclarecedores sobre su funcionamiento y utilidad. IEEE en Wikipedia http://es.wikipedia.org/wiki/IEEE

AUTOEVALUACIN: 4.- El IEEE define la Ingeniera del Software como a) La nica posibilidad de conseguir software de calidad. b) La aproximacin sistemtica al desarrollo, operacin y mantenimiento del software. c) Conjunto de programas, procedimientos, reglas, documentacin y datos asociados a un sistema informtico. d) El conjunto de programas que se utilizan en un ordenador.

1.5.- Objetivos de la ingeniera del software.


Quizs no te has dado cuenta, pero en los apartados anteriores hemos asistido a la aparicin de un producto, el Software, que cada vez es ms demandado y al que cada vez se le exige ms, debido a que su uso se ha extendido a una velocidad vertiginosa en la mayora de los trabajos que se desarrollan en la sociedad actual.

Pero el software en general debe ajustarse a unos requisitos y pautas que han establecido los organismos internacionales, con el fin de unificar criterios y delimitar las tareas de los desarrolladores.

Hasta ahora hemos conseguido determinar los problemas que se presentan a la hora de desarrollar aplicaciones y desde luego, si no se siguen las tcnicas y procedimientos adecuados, el producto obtenido suele tener una baja calidad y presentar problemas.

14

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Hemos conseguido diagnosticar y detectar estos problemas del software y hemos visto que su solucin es la ingeniera del software.

Por todo ello es conveniente establecer claramente los objetivos de la Ingeniera del Software:

Como cualquier ingeniera, construir instrumentos que ayuden o faciliten al ser humano la realizacin de alguna tarea.

Conseguir un producto software fiable, de alta calidad y bajo coste. Conducir el proceso de desarrollo y mantenimiento software, de manera eficiente y con xito. Mejorar la calida de los productos software. Aumentar la productividad de los desarrolladores. Facilitar el control y seguimiento del proceso de desarrollo. Suministrar a los desarrolladores las bases para construir software de alta calidad de forma eficiente. Definir una disciplina que garantice la produccin sistemtica y el mantenimiento de los productos software desarrollados en el plazo fijado dentro del coste estimado.

1.6.- Fundamentos de la ingeniera del software.


En qu se basa la ingeniera del software para conseguir esos objetivos, teniendo en cuenta las peculiaridades del producto que se desarrolla?

La ingeniera del software no es como el resto de ingenieras, principalmente porque:

Se basa en un producto intangible, Es de muy reciente aparicin y Utiliza muchos menos recursos comparada con cualquiera de las otras ramas de la ingeniera.

En general las ingenieras construyen instrumentos que imitan, aumentan, ayudan, facilitan o sustituyen capacidades fsicas del ser humano. La ingeniera del software adems puede simular capacidades mentales del ser humano, permitiendo la resolucin de problemas o ayudando en esa tarea.

15

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Pero la ingeniera del software es mucho ms que ingeniera, necesita de las aportaciones de otras disciplinas humanas con el fin de conseguir un producto de calidad. Ya hemos visto su relacin con la rama de ingeniera, pero es importante tambin las aportaciones de:

La Ingeniera, evidentemente. La Gestin de recursos o personal en un proyecto, Las tcnicas de Economa de tiempos (ajuste de plazos) o de costes (ajuste de presupuestos), La participacin de la Informtica es indiscutible por el uso de tcnicas, metodologas y herramientas. Es imprescindible finalmente una gran dosis de

Creatividad, especialmente en proyectos innovadores y de gran envergadura, aplicada a cada una de las cuatro disciplinas anteriores.

La ingeniera del software es una tecnologa estratificada en capas bien definidas sobre un enfoque de calidad, que permiten cubrir las necesidades del equipo de desarrollo. As, podemos decir que disponemos de tcnicas procedimientos y herramientas. que implican mtodos,

Un determinado conjunto de estas tcnicas es lo que se denomina paradigma de la ingeniera del software o ciclo de vida del software. La eleccin de un ciclo de vida del software concreto va a depender de la naturaleza del proyecto y de la aplicacin a desarrollar. Los MTODOS definen cmo construir el software desde el punto de vista tcnico.

Planificacin y estimacin de proyectos. Fase inicial que permite establecer plazos a cumplir y recursos a utilizar durante el proyecto. Anlisis de requisitos. Que va a concretar las necesidades del usuario y cules se pueden llevar a cabo y de qu modo. Diseo. Va a permitir especificar cmo solucionar las necesidades del cliente y cmo llevar a cabo dichas soluciones. Codificacin. Consiste en la elaboracin del programa de ordenador que sintetiza dichas soluciones mediante la programacin del cdigo.

16

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Pruebas. Fase durante la que se realizan las pruebas que permitan asegurar que el software funciona adecuadamente. Mantenimiento. Una vez que la aplicacin informtica est funcionando en un sistema real es necesario hacer un seguimiento peridico para concretar ajustes y solucionar cualquier problema que pudiera surgir.

Las HERRAMIENTAS, proporcionan un soporte automtico o semi-automtico para los mtodos. Ayudan a automatizar muchas de las tareas anteriores.

Herramientas CASE. Computer Aided Software Engineering. (Ingeniera del Software Asistida por Computador) Las herramientas CASE permiten realizan dentro del ordenador las tareas de anlisis y diseo, que hasta entonces venan hacindose con lpiz y papel a lo sumo con la ayuda de editores de texto y de grficos no pensados para desarrollar y organizar los diferentes elementos de un proyecto informtico.

Herramientas CAD. Computer Aided Design (Diseo Asistido por Computador). Bsicamente se centran en tareas de diseo.

Finalmente los PROCEDIMIENTOS, son el punto de unin entre mtodos y herramientas y definen:

La secuencia en la que se aplican los mtodos. Cmo usar las herramientas. Las entregas que se requieren. Controles de seguimiento y calidad. Guas para facilitar la labor de gestores y desarrolladores. etc.

PARA SABER MS Las herramientas CASE han adquirido una gran importancia en los ltimos aos, ya que han conseguido facilitar considerablemente las tareas de planificacin y desarrollo, minimizando costes y tiempo, permitiendo la reutilizacin y aumentando la calidad del producto final.

Wikipedia. Herramientas Case http://es.wikipedia.org/wiki/Herramienta_CASE

17

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Las herramientas CAD pretenden ayudar al equipo de desarrollo en el diseo de aplicaciones. Pero esto no es exclusivo de la ingeniera del software. En el siguiente enlace puedes comprobar cmo proliferan este tipo de herramientas en cualquiera de las ingenieras.

Comentarios sobre herramientas CAD. http://www.cadxp.info/

En la ingeniera del software adems se suelen emplear algunas tcnicas de apoyo que facilitan:

La planificacin de las tareas. La representacin de los datos y estados del proyecto. La evaluacin a la hora de tomar decisiones

Esas tcnicas de apoyo son:

Abstracciones. Con estas tcnicas es posible crear modelos virtuales sobre cmo ser el producto final y cmo ser el proceso de desarrollo de ese producto basndose en uno de los Modelos de Ciclo de Vida del Software.

Representaciones. Tcnicas utilizadas en las diferentes fases de desarrollo para la planificacin de tiempos y recursos, los procesos a seguir, la estimacin de costes, tareas del personal, etc. Podemos citar, las diferentes notaciones y smbolos, Diagramas de Gantt, Lenguajes de programacin

Evaluaciones. Que van a permitir determinar el grado de finalizacin del producto concluido e incluso de cada una de las fases del producto. Normalmente incluye diferentes tcnicas de medicin especficas para cada una de las fases, que permitan ponderar una situacin frente a otra.

18

VALLINIELLO
AUTOEVALUACIN:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

5.- La INGENIERA DEL SOFTWARE es una tecnologa estratificada en capas bien definidas sobre un enfoque de calidad, que permiten cubrir las necesidades del equipo de desarrollo. Podemos decir que disponemos de tcnicas que implican: a) Procedimientos que definen las secuencias de actuacin de las herramientas. b) Procedimientos, evaluaciones e iteraciones. c) Herramientas de diseo y mtodos de anlisis. d) Herramientas, mtodos y procedimientos. 6.- Entre los mtodos que permiten construir el software nos encontramos con el anlisis de requisitos como uno de los ms importantes, en el que: a) Establecemos los plazos a cumplir y recursos a utilizar. b) Elaboramos el programa de ordenador que sintetiza las soluciones planteadas durante el Diseo. c) Concretamos las necesidades del usuario, estableciendo cuales se pueden realizar y cmo hacerlo. d) Realizamos las pruebas de anlisis mediante las cuales determinamos si el software obtenido es correcto.

1.7.- Actividades del equipo de trabajo de ingeniera del software.


Piensas que es frecuente trabajar individualmente desarrollando software o es una tarea que requiere de la cooperacin de todo un equipo? La tarea de desarrollar software hace ya mucho tiempo que dej de ser una labor individual del virtuoso de turno, aunque actualmente hay determinadas aplicaciones, normalmente de poca dificultad y reducido tamao, que an son programadas por desarrolladores de forma individual. Actualmente una aplicacin moderna es desarrollada por un equipo de personas especializadas en las diferentes fases del desarrollo de un proyecto. En este aspecto podemos concretar que el ingeniera del software debe: Trabajar en Equipo. Analizar y estudiar los problemas adelantndose a los mismos. Trabajar bajo restricciones de tiempo, costes y recursos. Interactuar con clientes y usuarios del futuro sistema software. Tomar decisiones constantemente. personal dedicado a la

19

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

El tipo de actividades que va a llevar a cabo el personal de dicho equipo de Ingeniera del Software sern: De desarrollo. Se centran bsicamente en la construccin del producto, desde las necesidades del cliente hasta las pruebas finales que se realizan para comprobar su funcionamiento. De control. Van a permitir asegurarnos un software de calidad evaluando determinados aspectos del proyecto en sus diferentes fases, incluso algn tiempo despus de su implantacin. De gestin. Tareas que van a garantizar el adecuado desarrollo del proyecto. De operacin. Principalmente se centran en el trato con el usuario, desde las entrevistas iniciales para especificar los requerimientos hasta su formacin en el uso del producto finalizado, e incluso de los reajustes durante su mantenimiento. Bsicamente el trabajo de Desarrollo de software (obtencin del producto) se compone de las siguientes fases.
Estudio de viabilidad. Deduccin de requisitos. ANLISIS Decidir qu hacer. Anlisis de requisitos. Modelado del sistema. Prototipado. Arquit. del sistema. DISEO Decidir cmo hacerlo. Detallado. Interfaz de usuario. Datos. CONSTRUCCIN CODIFICACIN. Hacerlo. PRUEBAS. Probar el producto. INSTALACIN. Usar el producto obtenido. Documentacin. Codificacin. Debug (Depuracin).

Durante todas estas fases: Aceptacin del producto.

VALIDACIN Y VERIFICACIN Inspecciones y revisiones. Planificacin de prueba. Pruebas de unidad. Pruebas de integracin. Pruebas de regresin. Pruebas del sistema. Pruebas de aceptacin.

MANTENIMIENTO Seguimiento del producto durante su funcionamiento real.

20

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Las actividades de control, se ocupan de evaluar y asegurar la calidad del software.

Las actividades de gestin. Se ocupa de llevar a cabo una gestin apropiada de cada proyecto, adaptada a sus caractersticas, para alcanzar sus propios objetivos.

Actividades de operacin. Definen las diferentes etapas por las que debe pasar el producto final hasta que es utilizado definitivamente por el cliente.

AUTOEVALUACIN: 7.- El personal perteneciente al equipo de trabajo de desarrollo del software debe estar cualificado y sus actividades de desarrollo consisten en a) Bsicamente en la elaboracin del producto, desde que es pensado por el cliente hasta que le es entregado y puede utilizarlo. b) Determinar cul ser el desarrollo de la aplicacin desde que se le entrega al cliente hasta que este decide prescindir de ella. c) Centrarse bsicamente en el trabajo que desarrollar el usuario final. d) La planificacin del proyecto con una completa estimacin de los costes.

2.- Ciclo de vida del software.


Podemos definir el Ciclo de Vida del Software como el conjunto de fases por las que pasa el sistema que se est desarrollando desde que nace la idea inicial hasta que el software es retirado o reemplazado por otro ms adecuado.

Se denomina a veces paradigma del software y puede presentarse bajo dos puntos de vista:

Transformacin del producto. Se refiere al producto en s, es decir al Software que vamos a conseguir, que ser de utilidad al cliente que lo ha pedido y del cual ha surgido la necesidad de su construccin.

Proceso mediante el que se transforma el producto. Se centra en el proyecto mediante el que va a ser creado el producto final, cmo enfocarlo y cmo llevarlo a cabo.

21

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Durante el ciclo de vida del software se realiza un reparto del esfuerzo de desarrollo del mismo en cada una de las fases que lo componen. La tabla siguiente muestra cuales son esas fases, y el grfico que le sigue muestra el porcentaje de esfuerzo y por tanto de coste que supone cada fase sobre el total de un proyecto. Anlisis y diseo. Implementacin. Pruebas. Adaptacin. Mejoras. Correcciones. Estudio del problema y planteamiento de soluciones. Confeccin de la solucin elegida Proceso para comprobar la calidad del producto Instalacin al cliente para que pueda usarlo. Retoques que permiten hacer ms atractivo el uso. Solucin de errores o ajustes para evitar problemas.

Las caractersticas que debe poseer un Ciclo de Vida del Software podemos concretarlas en la siguiente imagen:

22

VALLINIELLO
No existe un nico modelo de
CICLO DE VIDA

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

a seguir a la hora de desarrollar el software. Existen

varios tipos que permiten adaptar la construccin de un producto:

Segn el problema a tratar. El equipo de trabajo disponible. Las herramientas y recursos con los que podemos contar para llevarlo a cabo.

Por eso tenemos diferentes alternativas para llevar a cabo un proyecto, de entre las cuales es necesario elegir una de ellas segn un conjunto de criterios que debemos ordenar para cada proyecto. AUTOEVALUACIN: 8.- De entre las siguientes caractersticas, marca aqullas que debera poseer un ciclo de vida del software: a) Cuantificar el esfuerzo que va a suponer la realizacin del producto para ajustarse al presupuesto. b) Determinar el orden de las fases. c) Describir los estados por los que debe pasar el producto y las actividades para su transformacin. d) Establecer el tiempo mximo que el cliente va a utilizar el software desde el momento de entrega.

PARA SABER MS En el siguiente enlace puedes encontrar un resumen muy completo sobre los ciclos de vida del software en PDF. A destacar la parte que trata sobre las cualidades del Software.

Ciclo de Vida del Software http://www.biblioteca.co.cr/pdf/unidad12-4.pdf

Tambin es muy recomendable el artculo que Wikipedia recoge sobre las fases de desarrollo del Software, aunque da un enfoque diferente y siempre enriquecedor al tema.

Fases del Software http://es.wikipedia.org/wiki/Fases_del_desarrollo_de_software

23

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Esta pgina pretende ser un lugar de encuentro de gente interesada en la Ingeniera del Software Basada en Componentes, CBSE (Component-Based Software Engineering), especialmente en Espaa.

Ingeniera del software basada en componentes (ISBC) http://www.um.es/giisw/isbc

3.- Tipos de ciclos de desarrollo.


Al comienzo, el modelo que se utilizaba era el de codificar y corregir. Normalmente lo haca todo la misma persona que conoca slo algunas de las tcnicas y no le iba mal con ellas. En ocasiones existan mejores opciones que no poda utilizar al no conocerlas. Este modelo bsico contiene dos pasos:

Escribir cdigo. Corregir problemas en el cdigo.

Se trata de primero implementar algo de cdigo y luego pensar acerca de requisitos, diseo, validacin, y mantenimiento. Algo as como solucionar los problemas cuando aparezcan, sin realizar ninguna previsin. Esto a veces funciona.

Este modelo tiene tres problemas principalmente:

Despus de un nmero de correcciones, el cdigo puede tener una muy mala estructura, hace que los arreglos sean cada vez ms costosos. Con cierta frecuencia, an el software bien diseado, no se ajusta a las necesidades del usuario, por lo que es rechazado o su reconstruccin es muy cara. El cdigo es difcil de reparar por su pobre preparacin para probar y modificar.

Por todo esto no es el modelo ms recomendable y por lo que fueron apareciendo modelos que han ido proporcionando buenos resultados que aportan al desarrollo del software una base slida sobre la que planificar cualquier trabajo. Todos ellos han surgido de la experiencia que ha sentado las bases de los ciclos de vida del Software.

24

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Hay un gran nmero de modelos de ciclo de vida del software, entre los que vamos a tratar: Modelo en cascada. Modelos evolutivos: Desarrollo exploratorio. Enfoque utilizando prototipos.

Modelo en espiral. Evolutivo. Modelo incremental. Modelo basado en reutilizacin.

3.1.- Modelo en cascada.


El primer modelo de desarrollo de software que se public, se deriv de otros procesos de ingeniera. Toma las actividades fundamentales de especificacin, desarrollo, validacin y evolucin y las representa como fases separadas del proceso. Consta de las siguientes fases: Definicin de los requisitos: Los servicios, restricciones y objetivos son establecidos con los usuarios del sistema. Se busca hacer esta definicin en detalle de todo el sistema. Diseo de software: El sistema es dividido en subsistemas de software y hardware. Se establece la arquitectura total del sistema. Se identifican y describen las abstracciones y relaciones de todos los componentes del sistema. Implementacin y pruebas unitarias: Construccin de los mdulos y unidades de software. Se realizan conjuntos de pruebas para cada unidad. Integracin y pruebas del sistema: Se integran todas las unidades, se prueban en conjunto y se entrega el conjunto probado al cliente. Operacin y mantenimiento: Generalmente es la fase ms larga. El sistema es puesto en marcha y se realiza la correccin de los errores descubiertos. Se realizan mejoras de implementacin y es posible identificar nuevos requisitos. La interaccin entre fases puede observarse en la imagen siguiente. Cada fase tiene como resultado documentos que deben ser aprobados por el usuario. Una fase no comienza hasta que termine la fase anterior y generalmente incluye la correccin de los problemas encontrados en fases previas.

25

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Algunos problemas que se observan en el modelo de cascada son:

Las iteraciones son costosas e implican rehacer trabajo debido a la necesidad de produccin y aprobacin de documentos.

Los problemas se dejan para su posterior resolucin, lo que lleva, en ocasiones a que sean ignorados o corregidos de una forma poco satisfactoria.

Existe una alta probabilidad de que el software no cumpla con los requisitos del usuario por el largo tiempo de entrega del producto.

Es inflexible a la hora de evolucionar para incorporar nuevos requisitos. Es difcil responder a cambios en los requisitos.

Este modelo slo debe usarse si se conocen y entienden completamente los requisitos. Tambin se utiliza como parte de grandes proyectos.
Ejemplo del modelo. Se trata del caso ms habitual y sencillo. Cuando el cliente nos llama sabe lo que necesita y lo que quiere conseguir. Vamos a trabajar de forma conjunta y abordar el trabajo por etapas, cada vez que concluimos una etapa, alcanzamos el punto de partida de la siguiente. Un ejemplo claro es el de un proyecto de desarrollo de una aplicacin para gestin de almacn. El cliente tiene claro su funcionamiento y lo que necesita, adems es probable que haya visto alguna aplicacin similar ya funcionando, le haya gustado y haya apreciado sus ventajas. La planificacin segn este modelo es sencilla porque requiere la consecucin de diferentes fases con la participacin directa del cliente: Anlisis del problema para definir los requisitos que se necesitan. En este caso, gestin de productos (altas, bajas y modificaciones), pedidos a proveedores, control de existencias, etc. Una vez que el cliente valida esos requisitos se puede continuar con la siguiente fase de diseo, en la que, basndose en estos requisitos, es elaborada una aplicacin que permita utilizarlos segn las especificaciones del cliente. Durante la fase de diseo el problema es tratado por partes, de modo que cada una de ellas se centra en uno de los requisitos definidos durante el anlisis. Al concluir cada una de las partes, sta debe ser revisada por el cliente para comprobar que su funcionamiento es el esperado. La fase de diseo finaliza cuando cada una de las partes del proyecto supera las pruebas de validacin. Entonces es el momento de integrarlas todas juntas y llevar a cabo pruebas de todo el sistema completo. Finalmente hemos obtenido una solucin que permite automatizar mediante el uso de los ordenadores la gestin de almacn, es entonces el momento para que el cliente la utilice a modo de prueba un tiempo, durante el cual debe indicar qu partes es preciso revisar y reconsiderar. Los cambios que es preciso aplicar, nos pueden llevar a cualquiera de las fases anteriores, en la que se procedera de idntico modo a como se ha realizado antes.

26

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 9.- En el modelo en cascada de ciclo de vida del software, generalmente se incluye en cada fase: a) Los documentos generados durante el diseo del software. b) Las iteraciones ms costosas. c) La correccin de los problemas encontrados en las fases anteriores. d) El coste del trabajo realizado durante esa fase.

3.2.- Modelos evolutivos.


La idea de este modelo parte del desarrollo de una implantacin del sistema inicial, exponerla a los comentarios del usuario y refinarla en sucesivas versiones hasta que se desarrolle el sistema adecuado. En la imagen se observa cmo las actividades concurrentes de especificacin, desarrollo y validacin, son realizadas durante el desarrollo de cada una de las distintas versiones hasta llegar al producto final.

Una ventaja de este modelo es que se obtiene una rpida realimentacin del usuario, ya que las actividades de especificacin, desarrollo y pruebas se ejecutan en cada versin.

27

VALLINIELLO
Existen dos tipos de desarrollo en este modelo:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Desarrollo exploratorio: El objetivo de este enfoque es explorar con el usuario los requisitos hasta llegar a un sistema final. El desarrollo comienza con las partes que se tienen ms claras. El sistema va evolucionando a la vez que se aaden nuevas caractersticas propuestas por el usuario.

Enfoque utilizando prototipos: El objetivo es entender los requisitos del usuario y trabajar para mejorar la calidad de los requisitos. A diferencia del desarrollo exploratorio, se comienza por definir los requisitos que no estn claros para el usuario y se utiliza un prototipo para experimentar con ellos. El prototipo ayuda a terminar de definir estos requisitos.

Entre los puntos favorables de este modelo estn:

La especificacin puede desarrollarse de forma creciente. Los usuarios y desarrolladores logran un mejor entendimiento del sistema. Esto se refleja en una mejora de la calidad del software.

Es ms efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas del usuario.

Desde una perspectiva de ingeniera y administracin se identifican los siguientes problemas del modelo:

Proceso no visible: Los administradores necesitan entregas para medir el progreso. Si el sistema se necesita desarrollar rpido, no es efectivo producir documentos que reflejen cada versin del sistema.

Sistemas pobremente estructurados: Los cambios continuos pueden ser perjudiciales para la estructura del software haciendo costoso el mantenimiento. Se requieren tcnicas y herramientas: Para el rpido desarrollo se necesitan herramientas que pueden ser incompatibles con otras o que poca gente sabe utilizar.

Este modelo es efectivo en proyectos pequeos (menos de 100.000 lneas de cdigo) o medianos (hasta 500.000 lneas de cdigo) con poco tiempo para su desarrollo y sin generar documentacin para cada versin.

28

VALLINIELLO
Ejemplo del modelo.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Otra forma de hacer un planteamiento del trabajo para la aplicacin de gestin de almacn es segn los modelos evolutivos. Las situaciones en las que se aplica este modelo suelen ser muy variadas, entre ellas podemos destacar cuando el cliente no sabe muy bien lo que busca, tiene claro que necesita una aplicacin informtica para facilitar el trabajo, pero no sabe cmo quiere que funcione. Evidentemente no ha visto nada que funcione como l quiere y no est muy seguro de que con el software se produzcan mejoras en la organizacin de la empresa.

El modelo evolutivo, parte de cada una de las especificaciones planteadas por el cliente, por ejemplo Generacin de Pedidos a Proveedores, es diseada, desarrollada y presentada al cliente para que opine al respecto. Normalmente hay que mostrarle facilidad de uso y eficacia en el trabajo. El cliente durante esa validacin ir haciendo peticiones sobre cmo le gusta que funcione cada uno de los apartados. Y una vez concluida, para la siguiente versin se incorpora una nueva especificacin. De este modo vamos obteniendo versiones sucesivas del producto final, cada vez con mayores prestaciones.

Para proyectos largos es mejor combinar lo mejor del modelo de cascada y evolutivo: Se puede hacer un prototipo global del sistema. Posteriormente volver a implementarlo con un acercamiento ms estructurado.

Los subsistemas con requisitos bien definidos y estables se pueden programar utilizando cascada y la interfaz de usuario se puede especificar utilizando un enfoque exploratorio. AUTOEVALUACIN: 10.- En los modelos de ciclo de vida evolutivos se obtiene una rpida realimentacin del usuario, ya que las actividades de especificacin, desarrollo y validacin se ejecutan en cada versin, pero desde el punto de vista de la Ingeniera del Software, esto presenta algunos problemas entre los que podemos citar a) La especificacin puede desarrollarse de forma creciente. b) Los cambios continuos no favorecen el mantenimiento del software. c) Se comienza con las partes que se tienen ms claras. d) Se comienza con las partes que no estn claras para el usuario.

3.3.- Modelo en espiral. Evolutivo.


El modelo de desarrollo en espiral es una variante de los modelos evolutivos y actualmente uno de los ms conocidos. El ciclo de desarrollo se representa como una espiral, en lugar de una serie de actividades sucesivas con retrospectiva de una actividad a otra, que realmente es lo que ocurre. Una caracterstica importante del modelo en espiral es que cada ciclo se completa con una revisin en la que participan los principales agentes (personas u organizaciones) que tienen relacin con el producto.

29

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Cada ciclo de desarrollo se divide en cuatro fases: Definicin de objetivos: Se definen los objetivos, estableciendo las restricciones del proceso o de la parte del producto que est siendo elaborada. Se realiza un diseo detallado del plan de desarrollo, con alternativas para esa parte del producto, que pueden ser no software (organizacin empresarial, aumento de plantilla, inversin en recursos, etc.). Se identifican los riesgos y se elaboran estrategias alternativas dependiendo de stos. Los riesgos que nos podemos encontrar son los siguientes; volver atrs para rehacer o retocar una fase, seleccionar herramientas de desarrollo inadecuadas, no validar una parte del producto a la que se le ha dedicado cierto tiempo, hacer una estimacin de tiempos y costes inadecuada, el bajo grado de satisfaccin del cliente, el mal funcionamiento del producto tras las pruebas pertinentes (puede ocurrir que lo que sea inadecuado sean las propias pruebas), etc. Evaluacin y reduccin de riesgos: Se realiza un anlisis detallado de cada riesgo identificado durante la definicin de los objetivos realizada anteriormente. Pueden desarrollarse prototipos para disminuir el riesgo que se produce cuando el cliente no tiene muy claro qu necesita o qu busca (requisitos dudosos). Se llevan a cabo los pasos para reducir los riesgos identificados. Por ejemplo es posible considerar la posibilidad de usar prototipos para contrarrestar el riesgo de requisitos dudosos, o tambin podemos aplicar rigurosas pruebas de funcionamiento del producto antes de pasarlo a la validacin del cliente. Desarrollo y validacin: Se escoge el modelo de desarrollo despus de la evaluacin del riesgo. Es posible optar por un modelo diferente para cada etapa, es decir, el modelo que se utilizar (cascada, sistemas formales, evolutivo, etc.) puede depender del riesgo identificado para esa fase. Planificacin: Se determina si continuar con otro ciclo, en el caso que se considere inadecuado el actual porque se hayan detectado alto nivel de riesgos. Se planea la fase siguiente del proyecto y se vuelve a aplicar la espiral.

30

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Este modelo a diferencia de los otros toma en consideracin explcitamente el riesgo, que puede llegar a ser determinante en la administracin del proyecto.
Ejemplo del modelo. El modelo en espiral comienza con la identificacin de los objetivos, restricciones y soluciones alternativas del proyecto, cada una de esas alternativas presenta una serie de inconvenientes o riesgos que pueden dificultar el resultado final del producto.

Si utilizamos el ejemplo de la aplicacin para la gestin de almacn, supongamos que el cliente es la primera vez que realiza este tipo de trabajos (no ha hecho la gestin de almacn de forma manual) por lo que no sabe muy bien lo que busca, adems es posible que haya visto algunas aplicaciones similares y tenga diferentes preferencias de cada una de ellas, incluso cuando intentamos consensuar las especificaciones que buscamos puede llegar a contradecirse, precisamente porque no conoce el tema y no puede imaginar el modelo que necesita.

En esta situacin lo ideal es definir claramente los objetivos (o especificaciones) que se buscan, y proponer al cliente las diferentes alternativas para conseguirlos (si es que las hay), entonces identificar los riesgos de cada alternativa (difcilmente una alternativa carece de riesgos) y evaluarlos junto al cliente que debe tomar la decisin (con el debido asesoramiento) sobre la alternativa a seguir. Normalmente las diferentes alternativas se representan mediante modelos de simulacin de la aplicacin o prototipos, en los que podemos identificar con cierta facilidad los riesgos.

Por ejemplo si se opta por la alternativa de comenzar el proyecto desde que se realiza el pedido de un producto a proveedores, sta puede hacerse sobre un producto nuevo o sobre un producto que ya existe, adems cuando almacenamos el producto debe existir una correspondencia exacta entre lo que aparece fsicamente en el almacn y lo que est registrado en el software. Los riesgos que presenta esta alternativa pueden ser los siguientes: Si el cliente no tiene muy claro cmo funciona un almacn de forma manual, probablemente le va a costar ms entender el funcionamiento del software. Es posible que pida cosas que el programa ya proporciona. Por ejemplo puede pretender conocer en cada momento el nmero de existencias de un producto, cuando puede conocer el de todos los productos almacenados.

Una vez que se ha desarrollado parte del sistema, junto al cliente se planifica la siguiente fase en la que se deben concretar nuevas alternativas para la consecucin de los objetivos buscados.

El proceso a seguir: El ciclo de vida se inicia con la definicin de los objetivos. De acuerdo a las restricciones se determinan distintas alternativas. Se identifican los riesgos al sopesar los objetivos contra las alternativas. Se evalan los riesgos con actividades como anlisis detallado, simulacin, prototipos, etc. Se desarrolla un poco el sistema. Se planifica la siguiente fase.

31

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 11.-El modelo en espiral, a diferencia de otros a) Define los objetivos. b) Utiliza prototipos. c) Realiza una planificacin de las tareas a realizar durante el anlisis. d) Tiene en cuenta el riesgo.

3.4.- Modelo incremental.


El enfoque incremental de desarrollo surge como una forma de reducir la repeticin del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema. Podemos interpretarlo como una combinacin del Modelo de Cascada y Modelo Evolutivo.

Reduce el proceso de rehacer trabajo durante el desarrollo y permite retrasar las decisiones hasta conocer mejor el sistema.

32

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Durante el desarrollo de cada incremento se puede utilizar el modelo de cascada o evolutivo, dependiendo del conocimiento que se tenga sobre los requisitos a implementar. Si se tiene un buen conocimiento, se puede optar por cascada, si es dudoso, evolutivo.

Ejemplo del modelo. Otra forma de trabajar en el desarrollo del software es la de elaborar una pequea aplicacin que cumpla los objetivos bsicos del proyecto, para despus ir aadiendo especificaciones (incrementando prestaciones) que van a permitir cubrir por etapas las necesidades del clientes. En el ejemplo de gestin de almacn, se elaborara una pequea aplicacin con los requisitos bsicos de un programa de este tipo, sobre la que se irn haciendo aadidos (incrementos) que el cliente va decidiendo cuando la utiliza. Una especie de aplicacin bsica, que se ir ampliando segn el cliente vaya detectando nuevas necesidades. El desarrollo de esos incrementos va a depender del grado de claridad respecto a las especificaciones del cliente, si el cliente conoce lo que busca y tiene claras sus necesidades el desarrollo ser muy diferente al de la situacin contraria, pero en cualquier caso debe ir validando incrementos del proyecto que irn siendo integrados a la aplicacin hasta conseguir un sistema final aceptado o que deben volver a ser desarrollados con las revisiones precisas.

Entre las ventajas del modelo incremental se encuentran: Los clientes no esperan hasta el fin del desarrollo para utilizar el sistema. Pueden empezar a usarlo desde el primer incremento. Los clientes pueden aclarar los requisitos que no tengan claros conforme ven las entregas del sistema. Se disminuye el riesgo de fracaso de todo el proyecto, ya que se puede distribuir en cada incremento. Las partes ms importantes del sistema son entregadas primero, por lo cual se realizan ms pruebas en estos mdulos y se disminuye el riesgo de fallos.

33

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Algunas de las desventajas identificadas para este modelo son:

Cada incremento debe ser pequeo para limitar el riesgo (menos de 20.000 lneas). Cada incremento debe aumentar la funcionalidad. Es difcil establecer las correspondencias de los requisitos y los incrementos. Es difcil detectar las unidades o servicios genricos para todo el sistema.

AUTOEVALUACIN: 12.- El enfoque incremental pretende reducir la repeticin del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos, pero en cada incremento puede utilizar el modelo en cascada o el evolutivo, esto va a depender de a) Los objetivos que se persigan. b) Si conocemos exactamente el nmero de iteraciones a realizar. c) El nivel de conocimiento de los requisitos a implementar. d) Es una eleccin que hace el cliente de forma independiente.

3.5.- Modelo orientado a la reutilizacin.


Como su nombre lo indica, es un modelo fuertemente orientado a la reutilizacin. Este modelo consta de 4 fases: Anlisis de componentes: Se determina qu componentes pueden ser utilizados para el sistema en cuestin. Casi siempre hay que hacer ajustes en cada uno de ellos para adecuarlos. Modificacin de requisitos: Se adaptan (en lo posible) los requisitos para concordar con los componentes de la etapa anterior. Si no se pueden realizar modificaciones en los requisitos, hay que seguir buscando componentes ms adecuados (es preciso volver a la fase 1). Diseo del sistema con reutilizacin: Se disea o reutiliza el marco de trabajo para el sistema. Se deben tener en cuenta los componentes localizados en la fase anterior para disear o determinar este marco. Desarrollo e integracin: El software que no puede comprarse, se desarrolla. Se integran los componentes y subsistemas. La integracin es parte del desarrollo en lugar de una actividad separada.

34

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Ejemplo del modelo. Actualmente un equipo de desarrollo no puede trabajar pensando en un nico proyecto, sino que debe intentar aprovechar al mximo el tiempo y los recursos de la empresa, ya sean humanos, de software o materiales. Por ello es habitual que este tipo de empresas dispongan de libreras o mdulos de cdigo que pueden ser utilizados fcilmente en diferentes proyectos, con el consiguiente ahorro (en tiempo y econmico). Pero eso significa que a la hora de desarrollar nuevos mdulos es necesario hacerlo pensando en que posteriormente podra ser utilizado en otros proyectos, por lo que a la hora de desarrollar uno de estos mdulos deben ajustarse a ciertos patrones que facilitarn la compatibilidad con el resto de los mdulos desarrollados.

Si nos situamos en el proyecto de gestin de almacn, un mdulo que puede utilizarse de otros anteriores podra ser la entrada de datos de tipo numrico, texto o fecha que se suele utilizar en todo tipo de aplicaciones a la hora de introducir datos a travs de teclado, de modo que no exista la posibilidad al introducir valores numricos de cometer errores aadiendo caracteres.

Adems si en nuestra aplicacin se realiza un mdulo para la venta de productos con la consiguiente disminucin del nmero de existencias del producto en almacn, es posible plantearlo de tal modo que pueda ser reutilizado en las posteriores aplicaciones que se desarrollen e incluyan ventas de productos.

Las ventajas de este modelo son: Disminuye los costes y el esfuerzo de desarrollo. Reduce el tiempo de entrega. Disminuye los riesgos durante el desarrollo.

35

VALLINIELLO
Desventajas de este modelo:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Es posible que el software no cumpla las expectativas del cliente debido a que se encuentra predefinido, porque fue diseado para otro proyecto. Las actualizaciones de los componentes adquiridos no estn en manos de los desarrolladores del sistema. AUTOEVALUACIN: 13.- El modelo de ciclo de vida orientado a la reutilizacin, se basa en utilizar componentes que en su momento fueron definidos para otro proyecto, y ante esto nos encontramos con los problemas de que a) La integracin no siempre podemos garantizarla. Ya que los componentes adquiridos no estn en manos de los desarrolladores. b) Disminuye los riesgos durante el desarrollo. c) Aumentan los riesgos en las fases iniciales. d) Es necesario hacer reajustes para adaptar cada uno de los componentes.

3.6.-Cul es el modelo ms adecuado?


Se adapta con Modelo de proceso requisitos y arquitectura no predefinidos Codificar y corregir Poco Poco Poco Produce software fiable Gestiona riesgos Admite correcciones sobre la marcha Visin del progreso por el Cliente y el Jefe del proyecto Suficiente

Mucho

Cascada Evolutivo exploratorio Evolutivo prototipado Espiral

Poco

Mucho

Poco

Poco

Poco

Bastante

Bastante

Suficiente

Bastante

Bastante

Mucho

Suficiente

Suficiente

Mucho

Mucho

Mucho

Mucho

Mucho

Suficiente

Suficiente

Incremental Desarrollo orientado a reutilizacin

Poco

Mucho

Suficiente

Poco

Poco

Suficiente

Depende (1)

Suficiente

Mucho

Mucho

(1) Cuando se decide por la reutilizacin, se supone que esta decisin ha sido tomada con garantas de calidad y mejora en el tiempo de desarrollo, aunque si se hace de forma precipitada y sin los fundamentos precisos, los resultados pueden llegar a ser peores y muy difciles de reparar. De modo que segn sea utilizado o segn sea la cualificacin de quien lo utiliza, es posible conseguir desde un producto poco fiable, hasta otro muy fiable.

36

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Poco: Suficiente: Bastante: Mucho:

Significa que sucede en raras ocasiones. Que se produce algunas veces. Que se da con cierta frecuencia. Que ocurre la mayora de las veces.

Cada proyecto de software requiere una forma particular de abordar el problema. Las propuestas comerciales y acadmicas actuales promueven procesos iterativos, donde en cada iteracin puede utilizarse uno u otro modelo de proceso, teniendo en cuenta un conjunto de criterios, como por ejemplo; grado de definicin de requisitos, tamao del proyecto o riesgos identificados, entre otros.

SOLUCIONES AUTOEVALUACIN 1.2.3.4.5.6.7.8.9.10.11.12.13.c a, c, d c b d c a b, c c b d c a, d

37

VALLINIELLO GLOSARIO.
Aplicacin Informtica. Vase Software.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Cdigo fuente. Se llama as al programa escrito en un lenguaje de alto nivel, normalmente contenido en un fichero de texto. Bsicamente es el conjunto de instrucciones que forman el programa a ejecutar por el ordenador una vez compilado (convertido a cdigo objeto) y enlazado (con lo que se obtiene el cdigo ejecutable o programa). Para hacer modificaciones en el programa, hay que trabajar sobre el cdigo fuente y repetir los procesos de compilacin y enlace.

Dato. En la vida comn se usa como sinnimo de informacin, pero en informtica el trmino dato es ms restrictivo que el de informacin. Se define como un conjunto de smbolos que representan valores, hechos, objetos o ideas de forma adecuada para ser objeto de tratamiento.

Documentacin. Es el conjunto de documentos que se obtienen desde el momento en que el software es concebido hasta que deja de ser utilizado porque ha sido sustituido por otro o simplemente porque deja de ser til. Incluye todo tipo de informes generados durante el planteamiento del problema, el anlisis del mismo, el planteamiento y diseo de las posibles soluciones, la toma de decisiones en cada una de las fases de desarrollo, el test de prueba y validacin, los procedimientos de mantenimiento y actualizacin, el manual de utilizacin y ayuda, los tutoriales de uso, las revisiones peridicas, las actualizaciones realizadas, etc. En ocasiones tambin es incluido el cdigo fuente en la documentacin del software, aunque eso depende normalmente del contrato firmado entre la empresa de desarrollo y el cliente. Por tanto podemos resumir diciendo que la documentacin consiste en el registro de todas las operaciones realizadas para la obtencin, utilizacin y revisin del software hasta que es desechado.

Especificaciones. Podemos definirlos como mini-objetivos del proyecto software, de modo que un objetivo es cumplido cuando todas las especificaciones que lo definen han sido alcanzadas, probadas y verificadas.

38

VALLINIELLO
IEEE.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Son las siglas de The Institute of Electrical and Electronics Engineers, el Instituto de Ingenieros Elctricos y Electrnicos, una asociacin tcnico-profesional mundial dedicada a la estandarizacin, entre otras cosas. Es la mayor asociacin internacional sin fines de lucro formada por profesionales de las nuevas tecnologas, como ingenieros de telecomunicaciones, ingenieros electrnicos, Ingenieros en informtica... Interfaz. Se trata de la parte del software que est en contacto con el usuario, es decir la parte que determina el modo en que el ordenador muestra resultados (grficos, sonidos, texto, ventanas) y tambin cmo este recibe los datos que le proporciona el usuario (a travs del teclado, ratn, micrfono). Actualmente reciben el nombre de Fron ent (o frontales de aplicaciones) y suelen ser totalmente configurables, siendo posible cambiar colores, aspecto, tamao, etc. Memorias ROM. ROM es el acrnimo de Read Only Memory, (Memoria de Solo Lectura). Son circuitos electrnicos capaces de almacenar informacin (memorias), usualmente programas, en los que se puede introducir un valor inicial en el proceso de fabricacin, pero cuyo contenido no se puede modificar con posterioridad. Por tanto podemos leer la informacin que contienen tantas veces como queramos, (podremos ejecutar el programa tantas veces como queramos) pero no podremos modificar su contenido ni escribir en la memoria ninguna informacin distinta a la que suministra el fabricante. Son tiles para dispositivos de uso especfico que ejecutan un nico programa (o muy pocos), como por ejemplo, un electrodomstico, o una mquina de una cadena de montaje, o el ordenador de a bordo de un coche. Metodologa. Conjunto de procedimientos, procesos o actividades que se aplican de forma ordenada y siguiendo un determinado patrn, para plantear soluciones a un problema o abordar una tarea. Mdulos. Unidad de trabajo en el equipo de desarrollo que, generalmente incluye todos los procesos que nos llevan a obtener una parte del producto que cumple un objetivo del proyecto o que ayuda a cumplirlo junto a otros mdulos.

Procesos iterativos. Se trata de las actividades que se realizan durante cualquiera de las fases de desarrollo del software, y que se repite continuamente con el fin de detectar anomalas o verificar el correcto funcionamiento de la misma. En cada una de las iteraciones se van solucionando problemas y se van consiguiendo metas.

39

VALLINIELLO
Programa. Vase Software.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 3: Software e Ingeniera del Software M Lourdes Gutirrez Lpez

Prototipo. Versin reducida del producto final, totalmente operativa en algunas de sus funciones, mientras que en otras puede aparecer incompleta. Se utiliza cuando es necesario ajustar las necesidades del cliente y de este modo decidir los requisitos del sistema sobre un modelo.

Puntos de Configuracin. Cada una de las partes del proyecto que identifica una determinada configuracin con las especificaciones u objetivos que se deben alcanzar, para pasar al punto siguiente.

Requerimientos. Conjunto de necesidades del cliente, detectadas de forma conjunta entre ste y el equipo de desarrollo del software, y sobre las que van a ser definidas las bases para elaborar la aplicacin informtica que le va a permitir solucionar o mejorar sus problemas. En ocasiones tambin se entienden como los objetivos del producto final, definidos por el cliente con el asesoramiento adecuado.

Sistema de Trabajo. Conjunto de acciones o actividades que se realizan de forma coordinada y que permiten la obtencin de resultados tiles para un individuo, una empresa o un organismo.

Sistema. Se entiende como el conjunto de dispositivos (hardware), tareas o actividades a realizar y el software necesario para conseguir aprovecharlas al mximo, en un entorno de trabajo concreto. As podemos entender sistema empresarial, sistema acadmico, sistema de almacn, sistema contable, etc.

Software. Tambin conocido como programa y aplicacin informtica, es la parte lgica del ordenador, esto es, el conjunto de instrucciones (programas) que puede ejecutar el hardware para la realizacin de las tareas de computacin a las que se destina.

Usuario. Individuo o grupo de individuos que van a utilizar de forma competente un sistema informtico. En este sentido no se incluye el personal dedicado a las tareas de mantenimiento (del hardware o del software).

40

C.F.G.S. DESARROLLO DE APLICACIONES INFORMTICAS

MDULO: Anlisis y Diseo de Aplicaciones Informticas de Gestin

Unidad 4
Metodologas de Desarrollo del Software

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

NDICE DE CONTENIDOS

OBJETIVOS .......................................................................................................................

1.- INTRODUCCIN A LAS METODOLOGAS DE DESARROLLO ............................... 1.1.- Fundamentos................................................................................................. 1.2.- De la tradicin al mtodo estructurado ......................................................... 1.3.- Del desarrollo estructurado a los objetos...................................................... 1.4.- Para qu una metodologa de desarrollo?.................................................. 1.5.- Hacia el ideal. ................................................................................................

2 3 5 8 9 10

2.- CLASIFICACIN DE LAS METODOLOGAS ............................................................. 2.1.- Introduccin a las metodologas estructuradas............................................. 2.2.- Metodologas estructuradas orientadas a procesos ..................................... 2.3.- Metodologas estructuradas orientadas a datos ........................................... 2.4.- Metodologas orientadas a objetos: RUP...................................................... 2.5.- Modelado de objetos con UML...................................................................... 2.6.- Metodologas para sistemas de tiempo real ................................................. 2.7.- Metodologas de desarrollo gil .................................................................... 2.7.1.- Desarrollo gil: programacin extrema ......................................... 2.8.- Desarrollo de software libre...........................................................................

12 12 13 15 17 20 22 24 25 28

3.- METODOLOGAS DE LAS ADMINISTRACIONES EUROPEAS................................ 3.1.- Merise............................................................................................................ 3.2.- SSADM.......................................................................................................... 3.3.- Descripcin general de mtrica..................................................................... 3.3.1.- Mtrica: estructura principal. ......................................................... 3.3.2.- Mtrica: interfaces ......................................................................... 3.4.- Euromtodo ...................................................................................................

31 31 32 33 35 36 38

SOLUCIONES AUTOEVALUACIN.................................................................................. GLOSARIO.........................................................................................................................

40 41

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

OBJETIVOS

Una vez introducido el concepto de ciclo de vida del software, qu indicaba qu pasos deben realizarse en cualquier proyecto relacionado con el desarrollo de aplicaciones, ahora debemos introducir un nuevo concepto que es el de metodologa de desarrollo del software, que nos indicar cmo deben realizarse esos pasos del ciclo de vida.

El ciclo define el qu hacer, y la metodologa el cmo hacerlo. Para ello es preciso tener una visin general de las metodologas, as como de sus fundamentos dentro de la ingeniera del software para posteriormente ir detallando algunas de las metodologas ms potentes y de uso ms extendido en las prximas unidades.

En esta unidad es preciso que el alumno siga profundizando en su conocimiento sobre la ingeniera del software, comprendiendo la necesidad de planificar el trabajo, y de trabajar en equipo. Por ello va a ser tratada esta unidad como introductoria para el desarrollo de software de calidad.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

1.- Introduccin a las metodologas de desarrollo.


En la unidad anterior vimos el ciclo de vida del software y sus diferentes modelos de desarrollo de software asociados. El ciclo de vida del software indica qu es lo que hay que obtener a lo largo del proceso de desarrollo del proyecto pero no muestra cmo hacerlo. Por tanto, surge la pregunta, cmo se obtienen los distintos productos parciales o finales del ciclo de vida del software?

Para responder a esta pregunta, la ingeniera del software ha realizado distintas aproximaciones a lo largo del tiempo, definiendo lo que se ha denominado como metodologas de desarrollo del software.

Aunque no hay una definicin nica para la metodologa de desarrollo, podemos consensuar que las metodologas de desarrollo de software son un conjunto de

procedimientos, tcnicas, herramientas y soporte documental para el desarrollo de productos software.

Para entender qu significa esto, podemos ver a la metodologa como un libro de recetas de cocina, en el que se van indicando paso a paso todas las actividades a realizar para lograr el producto informtico deseado. Adems, el recetario nos permite ir indicando qu personas deben participar en el desarrollo de las actividades y qu papel deben de tener, y detallar la informacin que se debe producir como resultado de una actividad y la informacin necesaria para comenzarla.

El anlisis de los riesgos constituye una pieza fundamental en el diseo y desarrollo de sistemas de software seguros. Los riesgos que afectan a un sistema de informacin son de distinta ndole: naturales (inundaciones, incendios, etc.) o lgicos (fallos propios, ataques externos, virus, etc.).

Por tanto, el riesgo y la incertidumbre son inherentes al desarrollo del software, y en este contexto, la metodologa es imprescindible para solucionar los problemas de desarrollo del software ya que permite considerar y controlar, en la medida de lo posible, el riesgo y la incertidumbre.

Metodologas de desarrollo

Como arquitectos de software, debemos tener un plano en el que apoyarnos, y la metodologa nos va a permitir disponer de ese plano para satisfacer las necesidades de los clientes.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Normalmente, la metodologa consistir en un conjunto de fases descompuestas en subfases (mdulos, etapas, pasos, etc.). Esta descomposicin del proceso de desarrollo, gua a los desarrolladores de software con una serie de tcnicas que han de elegir para cada situacin del proyecto. La descomposicin tambin facilita la planificacin, gestin, control y evaluacin de los proyectos. Las tcnicas, indican cmo debe ser realizada cada actividad del proceso. Estas tcnicas combinan el empleo de unos modelos o representaciones grficas junto con el empleo de unos procedimientos detallados. Una tcnica puede ser utilizada en una o ms actividades de la metodologa de desarrollo de software. Para garantizar la calidad del proceso es necesario que el cliente colabore en la construccin de las aplicaciones, y esto se consigue a travs de las tcnicas y estrategias que proporciona la metodologa. Una metodologa, por tanto, representa el camino para desarrollar software de una manera sistemtica. PARA SABER MS ste es un buen momento para que repases el concepto de ingeniera del software y el uso de las metodologas de desarrollo a travs de la visita a esta web: Wikipedia: Qu es la Ingeniera del Software? http://es.wikipedia.org/wiki/Ingeniera_de_software

1.1.- Fundamentos.
Vimos la necesidad de aplicar tcnicas de la ingeniera a los problemas informticos asociados a la programacin. Por tanto, en un principio los mtodos aplicados se han basado en el mtodo cientfico, si bien adaptado a las necesidades y particularidades del desarrollo del software. Posteriormente, y a lo largo del tiempo, estos principios se han ido ajustando por la experiencia adquirida en su uso. Y qu pretendemos aplicando estas metodologas? Varias cosas como vemos a continuacin:

Conseguir aplicaciones informticas de calidad que den respuesta a las necesidades de los clientes y estn libres de errores. El aplicar de una metodologa experimentada debe ayudarnos a alcanzar software de calidad con xito.

Un buen control de los proyectos para evitar retrasos, desarrollar ms rpido y ajustarse al presupuesto. Sin una Metodologa es fcil que en un proyecto se nos dispare el presupuesto y no se cumplan los plazos. Por ejemplo, si no hay una planificacin no sabremos en qu fases debemos detenernos ms o menos.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Un mtodo de trabajo estndar para todos los proyectos, lo cual permite satisfacer a los clientes, desarrolladores, directivos o auditores. Por ejemplo, podremos intercambiar a las personas que desarrollan el proyecto, y cualquier experto puede conocer el proyecto sin necesidad de haber trabajado en l.

Construir

una

aplicacin

que

est

bien

documentada y sea fcil de mantener. As, cuando en el futuro se presente la necesidad de realizar cambios o ajustes en el sistema, ser ms fcil hacerlos.

Sabemos

que

las

metodologas

descomponen

el

proceso.

Pero,

en

qu

elementos

lo

descomponemos?

El proceso queda descompuesto en tareas, que son actividades elementales en que se dividen los procesos. Para cada tarea definimos un procedimiento, que es la forma en que ejecutaremos la tarea. Con el procedimiento se establece tambin un medio de comunicacin entre el cliente y los desarrolladores. Como resultado de llevar a cabo el procedimiento vamos a obtener un producto. Este producto ser intermedio en cada una de las fases y servir de base para la fase siguiente. En la ltima fase el producto ser final y ser el que se entregue al cliente.

Ahora bien, cmo son esos procedimientos?

Los procedimientos pretenden ayudarnos a realizar la tarea. Por tanto, deben ofrecernos unas tcnicas que nos permitan llevar a cabo cada procedimiento. En realidad, no hay una tcnica exclusiva para cada procedimiento, sino que podremos utilizar la misma tcnica en procedimientos distintos.

Y en qu consistirn las tcnicas?

Las tcnicas utilizan representaciones grficas y textos formales para realizar los procedimientos. Adems, la metodologa tambin nos proporciona herramientas de ayuda a la realizacin de las tcnicas. Por ejemplo, una herramienta puede ser un programa informtico de dibujo que permita realizar los grficos, o un programa que permita comprobar si el dibujo tiene errores. Con estas tcnicas desarrollaremos cada uno de los productos.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Una metodologa puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qu es lo que hay que obtener a lo largo del desarrollo del proyecto y la metodologa indica cmo hay que obtener los distintos productos parciales y finales Ejemplo Veamos un ejemplo sobre algo tan cotidiano como es el hacer una tortilla de patata: Metodologa Tareas Receta. Pelar y picar patatas, batir huevos, frer patatas, mezclar y hacer.

Para la tarea batir huevos Procedimiento Abrir los huevos, echarlos en un recipiente, quitar restos de cscara, batir hasta bien mezclados. Tcnicas Ilustraciones del libro de recetas. Herramientas Tenedor, batidora.

AUTOEVALUACIN: 1.- Si disponemos de un programa informtico para realizar grficos de organigramas, y lo utilizamos en una metodologa de desarrollo. A qu se est refiriendo? a) A un procedimiento. b) A una tarea. c) A una herramienta. d) A una tcnica.

1.2.- De la tradicin al mtodo estructurado.


El desarrollo del software ha evolucionado desde la programacin artesanal hasta la ingeniera del software. En paralelo han ido evolucionando las metodologas de desarrollo. Esta evolucin podramos concretarla en una serie de grandes revoluciones: Estado inicial. En esta etapa inicial de desarrollo del software los desarrolladores estaban ms centrados en la codificacin del cdigo que en comprender las necesidades de los usuarios. Esto provocaba que los sistemas desarrollados fuesen difciles de mantener, y en muchas ocasiones los clientes no quedasen satisfechos con el resultado porque no se cumpla con sus necesidades. Como se careca de una planificacin y de un mtodo de desarrollo se producan distintos problemas:

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Los resultados son imprevisibles, no se conocen los plazos de realizacin y adems el resultado depende de las personas concretas que desarrollen el sistema ya que no hay unas pautas comunes de desarrollo

Es difcil controlar y revisar el desarrollo del producto, ya que no existen mecanismos de control ni fases establecidas. Por tanto, es difcil detectar errores. Los cambios en el equipo de desarrollo influyen en todo el proceso y en el mantenimiento de los productos terminados. Si cambian las personas a mitad de proceso de desarrollo al no haber una documentacin estandarizada es difcil continuar el trabajo. Y cuando el producto est finalizado y hay que actualizarlo, es muy difcil por el mismo motivo, la falta de documentacin completa y estndar.

Diseo estructurado. Para resolver los problemas del desarrollo tradicional que hemos indicado, surgieron distintas propuestas de desarrollo de software que vamos a englobar en lo que se denomina desarrollo estructurado. Naci a finales de los sesenta y se utiliz en las empresas de desarrollo de software a partir de la mitad de los setenta. El desarrollo estructurado incluye una serie de tcnicas y conceptos que siguen mtodos de ingeniera. Vemoslos:

Tradicin
do do to ura M ct tru Es

Programacin estructurada que permite hacer programas ms entendibles y fciles de modificar. Diseo estructurado que posibilita la divisin de los programas en mdulos y se introduce el concepto de abstraccin.

Anlisis estructurado o descendente, que se centra en el estudio de las especificaciones y requisitos que debe cumplir el programa para satisfacer las demandas del cliente. La programacin estructurada se centraba en cmo deba ser el programa informtico, el diseo estructurado en cmo debamos disear el programa para que la programacin fuese ms fcil de hacer, sencillo de mantener y de mayor calidad, pero y si no sabemos exactamente qu debe hacer el programa?, y si no hemos entendido lo que quiere el cliente? Para centrarnos en estos aspectos surge el anlisis estructurado. Antes del anlisis estructurado, las especificaciones del programa se hacan en un documento no estndar y sin estructura alguna, por lo que era difcil de entender. El anlisis estructurado intenta solucionar esto proporcionando una serie de tcnicas estndar que permiten detallar claramente y sin redundancia los requisitos del programa.

Tcnicas estructuradas de desarrollo de software. Estas tcnicas son grficas (diagramas) y textuales (documentos), modulares para poder hacer unas partes independientes de otras, y poco redundantes para evitar que los cambios obliguen a modificaciones grandes del anlisis.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

El diseo estructurado ha ido evolucionando a lo largo del tiempo para adaptarse a las nuevas necesidades como la programacin de sistemas en tiempo real.

En la siguiente tabla podemos ver cmo han surgido metodologas de desarrollo del software que siguen los principios del desarrollo estructurado: AOS EVOLUCIN 1968 1974 1975 1977 1978 1981 1985 1989 2001 Aparece la programacin estructurada de DIJKSTRA Surgen las tcnicas de programacin estructurada de WARNIER y JACKSON Aparece el diseo estructurado (MYERS y YOURDON) Aparece el anlisis estructurado (GANE y SARSON) Nace la metodologa de desarrollo de software francesa MERISE Nace la metodologa de desarrollo de software britnica SSADM Anlisis y Diseo estructurado para sistemas de tiempo real (WARD y MELLOR) Nace la metodologa de desarrollo de software espaola METRICA Nueva versin de la metodologa METRICA Versin 3

PARA SABER MS Para profundizar en los principios del desarrollo estructurado puedes consultar esta web donde encontrars una informacin muy completa:

Wikipedia: Programacin estructurada http://es.wikipedia.org/wiki/Programacin_estructurada

Edsger Wybe Dijkstra (1930-2002) fue un importante informtico de origen holands que desarroll los principios de la programacin estructurada. Para conocerlo un poco podemos leer sus escritos. Aqu tienes una interesante pgina web donde encontrar toda la informacin que te interese:

Escritos de Edsger Wybe Dijkstra http://www.smaldone.com.ar/documentos/ewd.shtml

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

1.3.- Del desarrollo estructurado a los objetos.


En el apartado anterior hemos visto una importante evolucin desde el estado inicial que podramos describir como artesanal hasta una metodologa estructurada que sigue unos principios cientficos. Pero, cules son las tendencias actuales en las metodologas de desarrollo de la ingeniera del software? Desarrollo orientado al objeto. Durante los aos ochenta surgieron los lenguajes de programacin orientada a objetos, que a diferencia de la programacin estructurada, no separan datos y procesos sino que los tratan de forma conjunta en los denominados objetos que representan conceptos. La esencia del desarrollo orientado a objetos es la identificacin y organizacin de conceptos en el diseo de la aplicacin, y no tanto de su representacin final en un lenguaje de programacin. Una de las ventajas de utilizar objetos es que se crean libreras (bibliotecas de clases de objetos) que permiten reutilizar los elementos segn se necesiten, de esta forma no es necesario partir siempre desde cero. Otra ventaja es que al ser muy flexibles en la concepcin de los conceptos representados por objetos, permite tratar mejor la incertidumbre y adaptarse a las necesidades cambiantes de sistemas complejos.

Ha habido mltiples metodologas orientadas a objetos a lo largo del tiempo. Actualmente, la que tiene ms relevancia es la metodologa del proceso unificado que trata de integrar los diferentes mtodos existentes. Esta metodologa utiliza como mtodo el Lenguaje de Modelado Unificado (UML). La empresa Rational Software Corporation

(perteneciente a IBM) distribuy esta metodologa como RUP (Rational Unified Process) en el ao 2000. Desarrollo gil. A veces hay situaciones en las que no es necesario un desarrollo completo de una metodologa. Algunos desarrolladores piensan que en estas situaciones deben utilizarse metodologas ms ligeras que permitan realizar desarrollos rpidos. En ese sentido en los ltimos aos est teniendo bastante xito las metodologas denominadas giles que intentan buscar un equilibrio entre el uso de las metodologas y la programacin directa de aplicaciones.

Un ejemplo de este tipo de metodologas es la Programacin Extrema (XP) desarrollada en 1996, aunque no es la nica. La metodologa RUP puede adaptarse al desarrollo gil y seguir sus principios y propuestas. Ms adelante volveremos a hablar de estas metodologas.

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

En este enlace encontrareis informacin de la programacin extrema con un poco de humor. Programacin Extrema (XP) http://www.marquetti-asociados.com.ar/paradigma.php

AUTOEVALUACIN: 2.- Indica el orden correcto en el que han aparecido las siguientes metodologas de desarrollo del software: a) b) c) d) Mtrica, RUP, XP, SSADM Mtrica, Merise, metodologa orientada a objetos, metodologa estructurada Mtrica, metodologas orientadas a objetos, metodologas giles Desarrollo tradicional, Mtrica, XP, metodologas orientadas a objetos

1.4.- Para qu una metodologa de desarrollo?


Hemos explicado los esfuerzos que se han seguido para desarrollar metodologas de desarrollo a lo largo del tiempo, pero:

De verdad era necesario todo este esfuerzo? Tan importante es realizar un anlisis y un diseo de las aplicaciones antes de comenzar a programar? No sera ms fcil y rpido empezar directamente a introducir cdigo en el ordenador con un buen lenguaje de programacin?

A veces ocurre que realizamos el diseo de nuestro software nicamente con los requisitos que el cliente nos indic al principio, y cuando estamos en la etapa final del desarrollo el cliente nos solicita un cambio. Este cambio puede ser difcil de realizar, pues si lo hacemos, altera muchas cosas que no habamos previsto, y esto puede ocasionar un retraso en el proyecto con el consiguiente malestar del cliente. Esto podra haberse resuelto si se hubiese aplicado una estrategia correcta, con una metodologa de desarrollo que implique ms al cliente en el desarrollo y le vaya mostrando los sucesivos avances, por ejemplo, mediante el empleo de prototipos.

Dos conocidos ejemplos ilustran la importancia de utilizar una buena metodologa de desarrollo que asegure la calidad del software.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

En 1995, un profesor de matemticas de la universidad de Lynchburg descubri un error en los microprocesadores Pentium de la compaa Intel. Aunque Intel corrigi el error rpidamente, ya se haban distribuido casi dos millones de procesadores

defectuosos.

Intel sustituy los microprocesadores pero ya se

haba producido la mala imagen de la empresa y tuvo que soportar importantes prdidas. El fallo ocurri por un error de diseo en el algoritmo de divisin de punto flotante (operaciones matemticas con decimales). Apenas un ao despus, la nave espacial europea Ariane 5 explot cuarenta segundos despus de su lanzamiento perdindose casi 500 millones de euros. La comisin de expertos que investig el desastre descubri, que el fallo se produjo en un pequeo programa reutilizado del sistema del cohete Ariane 4. Lo irnico del caso, es que este cdigo no tena ninguna utilidad en el nuevo sistema. Si se hubiesen establecido los mecanismos adecuados de supervisin que proponen las metodologas de desarrollo, probablemente se habran evitado estos errores. PARA SABER MS Hemos hablado de la conveniencia de proponer prototipos al cliente. Si quieres profundizar ms en este tema puedes ver los siguientes enlaces: http://www.sidar.org/recur/desdi/traduc/es/visitable/tecnicas/Prototyping.htm Podemos saber ms sobre los prototipos realizados en papel en este enlace: Universidad Politcnica de Madrid: Prototipado en papel http://is.ls.fi.upm.es/xavier/usabilityframework/actividades/ed_prototipado.php

1.5.- Hacia el ideal.


Una vez que nos hemos convencido de la importancia de utilizar una metodologa de desarrollo, nos surge la siguiente pregunta, qu metodologa elegimos? Como veremos en lo que queda de unidad la respuesta a esta pregunta no es nica, en realidad deberemos determinar el alcance de nuestra aplicacin y luego ver cul es la metodologa que mejor responde a nuestras necesidades. Adems, la metodologa influye en el entorno de desarrollo e incluso en la estructura de la propia empresa informtica de desarrollo de software. As, cada empresa debe ver qu metodologa se ajusta mejor a su propia estructura.

10

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Tambin cabe preguntarse, cmo debe ser una metodologa de desarrollo ideal?, qu caractersticas debe reunir?

Las vamos a enumerar a continuacin: Descripcin clara de las fases, tareas, productos, tcnicas y herramientas. Debe cubrir todo el ciclo de vida del software, desde el inicio hasta el mantenimiento. Evaluaciones y controles peridicos de los productos obtenidos. Planificacin del proyecto para poder realizar su control y facilitar la labor a los directivos. Mecanismos de comunicacin fciles entre los desarrolladores y el cliente para satisfacer sus necesidades. Flexibilidad para adaptarse a cualquier proyecto de manera que una empresa de desarrollo de software pueda utilizar siempre la misma metodologa sin necesidad de cambiar. Fcil de aprender a manejar por los desarrolladores. La metodologa debe estar soportada por herramientas CASE que automaticen y faciliten los procesos. Mecanismo de control y mejora de la calidad del desarrollo. Soporte al mantenimiento de las aplicaciones, no slo hay que desarrollar programas sino mantenerlos despus. Posibilidad de reutilizacin de los componentes software desarrollados en otros proyectos para que no haya que partir siempre de cero.

Estas son las caractersticas ideales, pero aunque hay miles de metodologas es difcil encontrar una metodologa que las cumpla todas, por lo que debemos conocer la posibilidad y oportunidad de distintas metodologas. AUTOEVALUACIN: 3.- A la hora de elegir una metodologa de desarrollo debo: a) b) c) d) Utilizar en cada proyecto una distinta segn las necesidades. Seleccionar una y aplicarla a todos los proyectos siempre. Escoger la metodologa ideal segn se ha descrito antes. Estudiar la estructura y experiencia de mi empresa, las necesidades del proyecto y escoger la que ms se ajuste a mis necesidades.

11

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

2.- Clasificacin de las metodologas.


Cuando estudiamos nuevos conceptos o ideas, siempre tendemos a establecer clasificaciones para entender mejor su naturaleza. Clasificamos grupos de msica, modelos de coches, tipos de ordenadores, etc. En esta lnea nosotros vamos a intentar clasificar las metodologas de desarrollo segn el enfoque que utilizan y su uso. As, como podemos ver en la imagen siguiente tenemos metodologas:

2.1.- Introduccin a las metodologas estructuradas.


En definitiva la metodologa de desarrollo lo que pretende es resolver un problema o necesidad, y para ello parte de la peticin del cliente y con sucesivas fases obtiene una solucin informtica.

Ya vimos que

en las metodologas estructuradas se realiza una aproximacin a la resolucin del

problema descendente. Es decir, se pasa de una visin ms general del problema con un nivel de abstraccin alto (cercano a las personas), a un nivel de abstraccin ms bajo (cercano a la mquina). Para ello, estas metodologas proponen la creacin de modelos que representen los procesos o acciones a realizar, los flujos de informacin y las estructuras de datos necesarias para almacenar la informacin.

El modelo general que representa a un sistema informtico consta de Entrada-Proceso-Salida. Los datos se introducen en el sistema, el cual los procesa para obtener unos resultados a la salida. Las metodologas estructuradas utilizan este esquema para realizar su enfoque del desarrollo del software.

12

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Segn se enfoque el desarrollo desde un punto de vista u otro tenemos:

Las metodologas orientadas a procesos. Las orientadas a datos. Tambin existen metodologas mixtas que toman en consideracin tanto los procesos como los datos, aadiendo el factor tiempo segn un modelo de eventos.

Aunque fundamentalmente las metodologas estructuradas respondieron inicialmente a un ciclo de vida de cascada, algunas metodologas estructuradas han evolucionado con el tiempo hacia otros modelos de ciclos de vida incluyendo la posibilidad de realizar prototipos.

AUTOEVALUACIN: 4.- Queremos desarrollar un nuevo sistema software que responda a las necesidades de una tienda de alquiler de pelculas de vdeo y juegos de ordenador. Al aplicar una metodologa analizo primero la informacin acerca de los clientes, los tipos de pelculas en DVD, los tipos de juegos segn plataforma, etc. Estoy utilizando una metodologa estructurada: a) b) c) d) Orientada a procesos. Orientada a datos. Mixta. Ninguna respuesta es correcta.

2.2.- Metodologas estructuradas orientadas a procesos.


Estas metodologas orientadas a procesos estudian cmo son transformados los flujos de datos por los procesos, desde la entrada hasta la salida. Por tanto, hacen ms hincapi en los procesos que en los datos.

Cmo vamos a analizar estos flujos de informacin? Siempre recurrimos a representaciones grficas porque son las ms tiles y fciles de interpretar. Estas representaciones grficas son acompaadas por documentos de texto desarrollando lo que se denomina especificacin estructurada.

La especificacin estructurada incluye estas tcnicas:

13

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Diagramas de Flujo de Datos (DFD): son una representacin grfica que representa los procesos que debe llevar a cabo el sistema informtico y los datos que hay a la entrada y salida de cada proceso. Utilizando el concepto de abstraccin, los procesos se van
Proceso Proceso Entidad Externa Proceso Proceso

describiendo al principio como procesos amplios y complejos, para ir posteriormente descomponindolos en procesos ms simples. Este proceso se ir repitiendo para realizar un refinamiento progresivo del sistema. En la imagen podemos ver una herramienta
Proceso

Entidad Externa

informtica de ayuda para desarrollar DFD. En concreto se trata de la modelizacin de un almacn, en la que aparece un proceso de gestin de compras y unas entidades de proveedores y almacn. Diccionario de Datos (DD): son las descripciones de todos los datos del sistema y de los elementos que aparecen en el DFD. Especificaciones de procesos: es la descripcin detallada de los procesos, es decir, explican cmo se obtienen las salidas a partir de las entradas. Para la realizacin de estas tcnicas dispondremos de una serie de herramientas informticas de ayuda que permitan facilitar la realizacin de los DFD y automatizar parte del proceso. En la imagen anterior tenemos un DFD con procesos, entidades y un almacn de datos.

Fases de la especificacin estructurada. Pero, cules son las fases de esta metodologa?, qu tareas y procedimientos asociados deben realizarse? Vamos a verlo a continuacin:

1. Fase de planificacin inicial. 2. Fase de anlisis: Descripcin del modelo fsico actual: se trata de describir el sistema actual del cliente que podr estar informatizado o no. Para ello, se realizan una serie de DFD que describen los sistemas actuales. Elaboracin del modelo lgico actual: a partir del modelo anterior, se realiza un nuevo modelo que no dependa de elementos fsicos, por ejemplo la organizacin actual de la empresa o las ubicaciones en una u otra planta del edificio. Para ello, se realizan tambin DFD.

14

VALLINIELLO
3. Fase de diseo:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Desarrollo de un nuevo modelo lgico: una vez estudiado el sistema actual, hay que introducir las nuevas necesidades del cliente y elaborar un modelo lgico alternativo que resuelva los problemas del cliente y satisfaga sus requisitos. Para ello se realiza una especificacin estructurada completa, es decir, se incluyen DFD, DD y especificacin de procesos.

Elaboracin de un conjunto de modelos fsicos: a partir del modelo lgico se incluyen los detalles fsicos de la empresa, como por ejemplo la distribucin del edificio de la empresa, y se realizan distintas propuestas alternativas.

Estimacin de los costes y tiempos de cada opcin del modelo fsico. Seleccin de un modelo en funcin de los intereses del cliente. Recopilacin del modelo elegido en un documento de especificacin que permita su posterior implementacin en la empresa.

4. Fase de codificacin: mediante la programacin estructurada. 5. Resto de fases: incluye las fases de prueba, control y mantenimiento.

Hay diferentes metodologas que siguen este modelo aunque con pequeos cambios. Entre otras, las ms importantes son las desarrolladas por DeMarco (1979), Gane y Sarson (1979) y

Yourdon/Constantine (1989).

PARA SABER MS Puedes saber ms sobre los DFD si visitas esta pgina: Monografas: Manual sobre los DFD http://www.monografias.com/trabajos12/diflu/diflu.shtml

2.3.- Metodologas estructuradas orientadas a datos.


Dentro del modelo bsico Entrada-Proceso-Salida, estas metodologas se centran en el estudio de los datos a la entrada y de los resultados a la salida. Para ello definen cmo son esos datos, los agrupan en estructuras de datos, y posteriormente describen los procesos. La razn para hacer esto est en la creencia de que los datos son ms estables que los procesos en las empresas y sus sistemas, por lo que si identifico con xito la estructura y naturaleza de estos datos podr desarrollar posteriormente, a partir de esa estructura de datos, un modelo de procesos ms estable que si lo hago al contrario. En realidad, esto no siempre es cierto, sino que depende de cada organizacin o empresa.

15

VALLINIELLO
Y todas las estructuras de datos son iguales?

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

No exactamente, por eso, en funcin de cmo sean esas estructuras de datos, podemos clasificar a estas metodologas en orientadas a datos jerrquicos y orientadas a datos no jerrquicos. Metodologas estructuradas orientadas a datos jerrquicos. En este caso la estructura de los datos es jerrquica y la estructura de control del programa que se deriva del estudio de los datos tambin es jerrquica. Esto significa que hay una relacin de jerarqua entre los datos y pueden ser representados mediante rboles. Por ejemplo, como puede verse en la figura, una estructura de datos jerrquica sera la representacin del rbol genealgico de una familia.

En esta metodologa, el procedimiento a seguir consiste en definir primero las estructuras de los datos de entrada y salida (anlisis de los datos), mezclarlas todas en una estructura jerrquica de programa y despus ordenar detalladamente la lgica procedimental del programa (anlisis de los procesos) para que se ajuste a esta estructura jerrquica. Por tanto, en esta metodologa se crea en primer lugar el diccionario de datos y luego se estudian las actualizaciones y modificaciones que deben realizarse a esos datos para obtener las salidas definiendo de esta manera los procesos.

Como ejemplos de este tipo de metodologas tenemos las propuestas por Jackson (1975), Cameron (1989), Warnier (1974) y Warnier/Orr (1981). Metodologas estructuradas orientadas a datos no jerrquicos. En esta metodologa se analizan los datos para crear un modelo que integre las entidades y las relaciones entre ellas. Estas entidades representan los elementos de la organizacin, por ejemplo una entidad podra ser un proveedor de la empresa. En este caso, los datos no tienen por qu responder a una estructura jerrquica sino que pueden relacionarse de cualquier otra forma, como por ejemplo en la figura, donde no hay una estructura jerrquica.

Un ejemplo de este tipo de metodologa es Information Engineering (IE) desarrollada por Martin y Finkelstein en 1981.

16

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 5.- La metodologa de Jackson es una metodologa: a) b) c) d) Orientada a procesos. Orientada a datos jerrquicos. Orientada a datos no jerrquicos. Orientada a objetos.

2.4.- Metodologas orientadas a objetos: RUP


Vimos cmo evolucionaron las metodologas para responder al paradigma de la programacin orientada a objetos. Ha habido varias metodologas, pero la que se ha consolidado actualmente y tiene ms presencia en la ingeniera del software es el Proceso Unificado (RUP) que utiliza las tcnicas proporcionadas por el Lenguaje de Modelado Unificado (UML). RUP ha unificado distintas metodologas As, RUP y tcnicas constituye en la una sola

metodologa.

metodologa

estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos.

Sus principales caractersticas son: Forma disciplinada de asignar y organizar tareas y responsabilidades (quin, cmo, qu, cundo). Desarrollo iterativo e incremental. Proporciona mecanismos de gestin del proyecto administrando horarios y recursos. Facilita la gestin de requisitos a travs de un proceso completo para su recogida y documentacin guiado por casos de uso. Centrada en la arquitectura para buscar su robustez con un producto que tenga el comportamiento deseado. Basada en componentes reutilizables. Modelado visual del software utilizando el estndar UML (asegura el uso de herramientas CASE). Resulta fcil dividir el sistema en varios subsistemas independientes.

17

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Facilita el control de cambios a lo largo de todo el proceso, guardando todas las versiones del proyecto. Permite la verificacin de la calidad del software a travs de diferentes mecanismos de control en los que participa todo el equipo de desarrollo. Adaptable a cualquier tipo de proyecto y organizacin independientemente del tamao o complejidad.

Hemos indicado que RUP asigna y organiza disciplinadamente las tareas, para ello define estos elementos: Perfiles o roles de las personas y entidades implicadas (quin). Actividades que guan el proceso (cmo). Artefactos o productos intermedios a obtener (qu). Flujos de trabajo: indican la secuencia de actividades y los procedimientos a seguir (cundo). De desarrollo e ingeniera, incluyen: Modelado de Negocio: describe la estructura y dinmica del negocio. Requisitos: descripcin de las necesidades del negocio mediante casos de uso. Anlisis y Diseo: describe la arquitectura de software mediante distintos modelos. Implementacin: desarrollo del software segn el diseo y cumpliendo los requisitos. Pruebas: para asegurar que el comportamiento es correcto y satisface las necesidades. Implantacin: puesta en marcha y configuracin del sistema.

De ayuda y apoyo, incluyen: Configuracin y gestin de cambios: controla los productos intermedios. Administracin del proyecto: establece estrategias de trabajo, horarios y recursos. Entorno: para controlar la infraestructura ligada al desarrollo del proyecto.

En las caractersticas, hemos dicho que la metodologa RUP sigue un ciclo de vida iterativo e incremental. Para ello RUP divide el proceso de desarrollo en ciclos, teniendo un producto al final de cada ciclo. Las fases o etapas de desarrollo son:

Fase de Inicio: El objetivo es estudiar la viabilidad del proyecto, para ello se hace un plan temporal, se identifican los riesgos, se detectan los casos de uso, se hace una estimacin de costos, etc.

Fase de Elaboracin: El objetivo es determinar la arquitectura ptima, para lo que se hace un plan de proyecto, se completan los casos de uso y se eliminan los riesgos.

18

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Fase de Construccin: El objetivo es la elaboracin de un producto totalmente operativo y eficiente y el manual de usuario. Fase de Transicin: El objetivo es implantar el producto y ponerlo a disposicin de los usuarios. Como consecuencia de esto suelen surgir nuevos requisitos a ser analizados, lo que presentamos en esta fase es una versin inicial o beta del sistema.

Cada una de estas etapas es desarrollada mediante un ciclo de iteraciones, que reproducen el ciclo de vida a menor escala. Los objetivos de una iteracin se establecen en funcin de la evaluacin de las iteraciones precedentes. Cada iteracin obtiene un producto intermedio operativo revisable por el cliente y que ser un punto de partida para la siguiente. Con esto se consigue una retroalimentacin con el cliente en cada iteracin. Hay un alto grado de iteracin y solapamiento, lo que lleva a una forma de trabajo muy dinmica donde es posible realizar distintas etapas al mismo tiempo. Se eliminan fronteras entre fases debido a la naturaleza iterativa del desarrollo orientado al objeto.

En la imagen podemos ver una descripcin de las fases, las iteraciones (el sistema es flexible por lo que podra haber ms o menos de las que aparecen, una para la fase de inicio I1, dos para la fase de elaboracin E1 E2), y los flujos de trabajo (las figuras de colores indican cuando se realizan los flujos de trabajo y con qu volumen de trabajo). Una caracterstica importante de una metodologa orientada a objetos como RUP es que establecen mecanismos para tratar el riesgo y la incertidumbre, por lo que son necesarios cuando nos enfrentamos a desarrollos de software donde la incertidumbre es una componente significativa.

19

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Puedes profundizar en el estudio de la programacin orientada a objetos haciendo una visita a esta pgina web de la enciclopedia libre wikipedia:

Wikipedia: artculo sobre Programacin orientada a objetos http://es.wikipedia.org/wiki/Programacin_orientada_a_objetos

AUTOEVALUACIN: 6.- La metodologa RUP se corresponde con el modelo de ciclo de vida de: a) Cascada. b) No corresponde a ningn modelo concreto sino que tiene caractersticas de varios modelos como iterativo, incremental y con reutilizacin. c) Prototipado. d) Espiral.

2.5.- Modelado de objetos con UML.


Hemos dicho que RUP utiliza UML como tcnica de modelado de los objetos, pero en qu consiste UML?

El Lenguaje Unificado de Modelado (UML) consiste en un conjunto de notaciones y diagramas estndar para modelar sistemas orientados a objetos, y describe la semntica esencial de estos diagramas y los smbolos en ellos utilizados. UML es de libre uso y se trata de una estandarizacin o consolidacin de muchas notaciones y modelos usados anteriormente. Por tanto, UML es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema de software. Como tcnica de trabajo de la metodologa, UML proporciona varios tipos de diagramas que muestran diferentes aspectos de las entidades o elementos representados.

Podemos clasificar estos diagramas en:

Diagramas de estructura: describen los elementos del sistema. Incluye: Diagrama de clases. Diagrama de componentes. Diagrama de objetos.

20

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Diagramas de comportamiento: indican lo que deben hacer los elementos del sistema, para lo que incluye: Diagrama de actividades. Diagrama de casos de uso. Diagrama de estados.

Diagramas de Interaccin: indican el flujo de control y de datos entre los elementos del sistema, para lo que utiliza: Diagrama de secuencia, Diagrama de comunicaciones, Diagrama de tiempos, etc.

Una de las grandes ventajas de UML es que existen mltiples herramientas CASE que lo soportan, lo cual facilita y automatiza el trabajo. En la imagen podemos ver un diagrama de comunicaciones que representa la gestin de una cola de trabajos realizado con una herramienta CASE.

21

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 7.- Podemos decir que UML: a) Es un lenguaje grfico que permite modelar, construir y documentar los elementos que forman un sistema software orientado a objetos. b) Pertenece a una empresa y hay que pagar por su uso. c) Es una tcnica desarrollada por la metodologa RUP. d) Todas las respuestas son correctas.

PARA SABER MS Puedes profundizar en UML visitando esta web que incluye un completo tutorial para principiantes:

Manuales clikear: UML http://www.clikear.com/manuales/uml/

2.6.- Metodologas para sistemas de tiempo real.


Cuando viajamos en un avin sabemos que el piloto debe solicitar permiso para despegar o para conocer la ruta que debe seguir, o la altura de vuelo. Todo esto se lo indica un controlador de vuelo que se ayuda de un sistema informtico. Qu pasara si hay muchos aviones en vuelo que saturan el sistema informtico y el controlador areo tiene que esperar para dar una orden a dos aviones que intentan aterrizar al mismo tiempo en el mismo aeropuerto? Desde luego lo mejor es no estar en esos aviones.

Un sistema informtico que debe captar seales (en este caso del radar y de los sistemas de comunicacin de los aviones) sin perder ninguna y que debe contestar a las mismas antes de un determinado momento, es un sistema de tiempo real. En estos sistemas la velocidad de respuesta es fundamental porque el usuario, en este caso el controlador areo y el piloto, no pueden esperar.

22

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

No debemos confundir los sistemas de tiempo real con los sistemas interactivos, en los que hay que responder lo ms rpido posible al usuario pero no hay riesgo de perder seales o datos a la entrada, ni un lmite de tiempo en la respuesta. Por ejemplo, un sistema interactivo que controla las operaciones de venta en un supermercado interesa que responda rpido, pero si tarda, el nico problema es que hay que esperar. No perderemos datos porque no habr otra venta hasta que termine la anterior, y no hay un lmite de tiempo porque el cliente puede esperar. Esto es un inconveniente pero no un problema crtico como un accidente areo. Otro ejemplo sera un sistema que controle las mquinas de una fbrica donde las tareas deben sincronizarse perfectamente.

Para desarrollar estos sistemas ser necesario disponer de metodologas de desarrollo del software que permitan especificar este tipo de situaciones de tiempo real y las posibles soluciones. Qu incluirn estas metodologas? Debern establecer mecanismos para modelar sistemas que:

Controlen la comunicacin y sincronizacin entre tareas. Gestionen los procesos concurrentes que se ejecutan en paralelo. Respondan ante eventos externos como puede ser una nueva seal. Reciban datos y seales continuas que no pueden perderse. Interrumpan los procesos para pasar a otra accin: por ejemplo al producirse una seal de alarma.

Para enfrentarse a estos sistemas las metodologas de desarrollo tradicionales evolucionaron para adaptarse. As por ejemplo, tenemos la metodologa de Hatley y Pirbhay (1987) que es una ampliacin de la metodologa estructurada de Yourdon/Constantine que ya vimos. Tambin hay una evolucin de las metodologas orientadas a objetos para desarrollos de sistemas de tiempo real, como la extensin de UML realizada por Douglass (1998), o la metodologa RUP que contempla el desarrollo de software para sistemas de tiempo real. AUTOEVALUACIN: 8.- El sistema informtico que controla los procesos de una central nuclear: a) Es un sistema de tiempo real. b) Es un sistema interactivo. c) Debe desarrollarse con una metodologa orientada a objetos. d) Debe desarrollarse con la metodologa RUP.

23

VALLINIELLO 2.7.- Metodologas de desarrollo gil.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Hemos estado describiendo las metodologas de desarrollo de software que han ido evolucionando a lo largo del tiempo. Cabra preguntarse:

Qu nuevas metodologas se estn desarrollando?, Siguen todas las metodologas los modelos tradicionales o estn apareciendo otras posibilidades?

Algunos desarrolladores creen que las metodologas tradicionales generan demasiada burocracia y exigen demasiado esfuerzo, sobre todo para empresas de desarrollo pequeas y en desarrollos de proyectos pequeos. Por otro lado, el mercado competitivo actual de los productos tecnolgicos, no slo exige calidad, coste e innovacin, sino tambin rapidez y flexibilidad. En este contexto, el mercado necesita ciclos de desarrollo ms cortos.

Para solucionar estos problemas se han propuesto una serie de principios y valores que aligeren la carga de las metodologas tradicionales. Con el desarrollo de estas ideas y conceptos han aparecido un nuevo tipo de metodologas que se denominan de desarrollo gil. Sin embargo, algunos expertos consideran que el desarrollo gil no constituye realmente una nueva metodologa, sino un conjunto de recomendaciones y principios aplicables a las metodologas tradicionales para hacerlas ms flexibles, rpidas y adaptables.

Este enfoque est mostrando su efectividad en proyectos pequeos, con requisitos inestables o cambiantes (incertidumbre) y cuando se exige reducir drsticamente los tiempos de desarrollo pero manteniendo una alta calidad del producto final.

Las metodologas giles se basan en el trabajo en equipo y pretenden:

Centrarse en el desarrollo y en satisfacer al cliente, es decir, producir un sistema con las funcionalidades correctas. Esto significa que el sistema final tiene que incluir slo el mnimo nmero de caractersticas necesarias para satisfacer por completo al cliente real.

Mejorar las predicciones y previsiones para cumplir plazos y ajustarse a los recursos. Eliminar riesgos tomando en consideracin la incertidumbre. Disminuir costes, por ejemplo, deben eliminarse actividades relacionadas con algunos productos intermedios, como documentos formales de especificaciones que no tienen una relacin directa con el resultado final del producto.

24

VALLINIELLO
Las metodologas giles estn basadas

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

fundamentalmente

en

metodologas orientadas a objetos, algunas de las ms utilizadas son: Programacin Extrema (XP), Scrum (Schwaber y Beedle 2001), o Rational Unified Process (RUP) que por su flexibilidad puede seguir los principios de la metodologa gil. De hecho vemos que RUP se adapta a cualquier necesidad (sistemas tradicionales, sistemas con gran incertidumbre, sistemas de tiempo real, desarrollo gil). AUTOEVALUACIN: 9.- Indica para qu tipo de proyecto sera adecuada una metodologa gil. a) Un sistema de control areo en tiempo real de un aeropuerto. b) La informatizacin de un banco nacional. c) El desarrollo de una aplicacin que consiste en la gestin y mantenimiento de una gran base de datos. d) El desarrollo de una aplicacin web para compartir por Internet archivos y mensajes de los empleados de una empresa.

2.7.1.- Desarrollo gil: programacin extrema. La Programacin extrema (eXtreme Programming XP) se trata de un proceso gil de desarrollo de software formulado por Kent Beck (1999). Es una de las metodologas de desarrollo de software ms exitosas en la actualidad, utilizada en proyectos de corto plazo, con equipo pequeo y que requieren flexibilidad. La metodologa consiste en: Un desarrollo incremental con iteraciones cortas y programacin rpida. Cuya particularidad es dar mayor valor al individuo, a la colaboracin con el cliente (que forma parte del equipo), pues son los requisitos para llegar al xito del proyecto. Los principios y prcticas que propone son de sentido comn pero llevadas al extremo, de ah proviene su nombre. La programacin extrema fue creada pensando en las siguientes circunstancias: Proyectos en contextos de incertidumbre, donde los requisitos tienen altas probabilidades de cambiar con el tiempo o son imprecisos, por ejemplo, porque el cliente no tiene claro lo que quiere, o porque el cambio de requisitos est ligado al propio problema a resolver.

25

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Proyectos con alto riesgo, por ejemplo, proyectos con una fecha de entrega que es indispensable cumplir, o proyectos totalmente novedosos para la industria con un alto riesgo tcnico.

Proyectos con un grupo pequeo de desarrolladores (mximo de 12), aunque el equipo completo sea bastante ms extenso (incluye a jefes de equipo o representantes de clientes).

Las caractersticas fundamentales del mtodo de programacin extrema son:

Desarrollo iterativo e incremental, realizando mejoras sucesivas. Pruebas continas, se realizan automatizadas e incluso se escribe el cdigo de la prueba antes de la codificacin. Programacin por parejas, se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto para buscar una mayor calidad del cdigo, ya que el cdigo es revisado y discutido mientras se escribe. Cada miembro lleva a cabo la accin que el otro no est haciendo en ese momento. Es como el piloto y el copiloto: mientras uno conduce, el otro consulta el mapa.

Buen ambiente de trabajo, centrada en potenciar las relaciones interpersonales como clave para el xito en desarrollo de software, promoviendo el trabajo en equipo, preocupndose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo.

Frecuente comunicacin entre los usuarios y los desarrolladores. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo. Correccin de todos los errores antes de aadir nueva funcionalidad, se hacen entregas frecuentes al cliente. Refactorizacin del cdigo, es decir, reescribir ciertas partes del cdigo para aumentar su legibilidad y su fcil mantenimiento pero sin modificar su comportamiento. Las pruebas han de garantizar que en la refactorizacin no se ha introducido ningn fallo, ni prdida de funcionalidad.

Propiedad del cdigo compartida, en lugar de dividir la responsabilidad en el desarrollo de cada mdulo en grupos de trabajo distintos, este mtodo promueve que todo el personal pueda corregir y mejorar cualquier parte del proyecto. Las frecuentes pruebas de regresin garantizan que los posibles errores sern detectados.

Simplicidad al desarrollar y codificar los mdulos del sistema. Es la mejor manera de que las cosas funcionen, cuando todo funcione se podr aadir funcionalidad si es necesario. Reutilizacin del cdigo a partir de la creacin de patrones o modelos estndar.

26

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

El ciclo de vida ideal de XP consiste de seis fases: Exploracin de las necesidades. Planificacin de la entrega con estimaciones. Iteraciones de desarrollo. Implantacin del producto. Mantenimiento del producto implantado. Muerte o abandono del proyecto.

En las iteraciones se siguen estos pasos: El cliente define sus necesidades. El programador estima el esfuerzo necesario para su implementacin. El cliente selecciona qu desarrollar de acuerdo con sus prioridades y las restricciones de tiempo. El desarrollador realiza lo solicitado.

En todas las iteraciones de este ciclo, tanto el cliente como el programador aprenden. Para llevar a cabo lo solicitado por el cliente, esta metodologa incluye una serie de prcticas que se pueden agrupar en cuatro grandes bloques: planificacin (planning).
Codificacin Planificacin Diseo

diseo (designing). codificacin (coding). pruebas (testing).

Pruebas

Sin embargo, estos bloques no deben realizarse en orden, sino que cada uno consta de una serie de actividades, y todas ellas se irn realizando de manera evolutiva. AUTOEVALUACIN: 10.- La refactorizacin consiste en: a) Desarrollar el software por parejas intercambindose el cdigo. b) Reutilizar el cdigo a partir de patrones refactorizados. c) Reestructurar un cdigo fuente, alterando su estructura interna sin cambiar su comportamiento externo. d) Programar con un cdigo muy simple y fcil de mantener.

27

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Como hemos visto hay otras metodologas giles como por ejemplo Scrum. Si quieres leer ms acerca de esta importante metodologa visita la web que te proponemos. Wikipedia: metodologa Scrum http://es.wikipedia.org/wiki/Scrum

2.8.- Desarrollo de software libre.


En los ltimos aos ha surgido con gran fuerza y xito el fenmeno del software libre que proporciona el cdigo fuente de las aplicaciones (cdigo abierto). Qu metodologa emplean sus desarrolladores? No es sencillo responder a esta pregunta porque en el mundo del software libre hay entornos de trabajo muy distintos entre s. Vamos a comenzar explicando qu es el software libre, despus veremos quin lo desarrolla y terminaremos indicando qu metodologas se usan dependiendo de quin lo desarrolle.

Podemos definir el software libre como el software distribuido con su cdigo fuente de manera que el usuario lo pueda utilizar para analizarlo, modificarlo, redistribuirlo y ejecutarlo en cuantos ordenadores desee.

Por tanto, no debe confundirse este concepto con el de software gratuito, ya que lo importante del software libre es la disposicin del cdigo abierto. El software libre es distribuido segn una serie de licencias que indican los derechos que tiene el usuario y los que se reserva el cliente, una de estas licencias es la GPL (GNU General Public License, Licencia Pblica General GNU) que da mximas libertades al usuario para su utilizacin, pero que protege al creador del cdigo para que nadie pueda apropiarse del cdigo y convertirlo en software propietario limitando sus derechos originales. Este concepto de software libre surge en contraposicin al de software propietario, en el cual se limitan los derechos de manera que no se libera el cdigo fuente, se prohbe la copia, la distribucin, la modificacin, etc.

Segn la definicin anterior cualquiera podra desarrollar software libre. De hecho la procedencia del software libre es variada. El modelo de desarrollo tradicional de software libre y de cdigo fuente abierto, se ha venido caracterizando por la participacin de una red de programadores voluntarios que contribuyen a un proyecto software concreto. Esto ha cristalizado en una Comunidad de Software Libre, que se basa en la articulacin de metodologas de trabajo que potencian la participacin cooperativa de programadores dispersos por todo el planeta, para la elaboracin colectiva de programas de software libre.

28

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Dos elementos han hecho posible este modelo: la red mundial Internet y el afn de miles de desarrolladores de software por compartir sus conocimientos y experiencias. Dentro de este software libre debemos citar el sistema operativo Linux y sus aplicaciones asociadas, desarrolladas bajo licencia GPL.

En este modelo, la integracin se configura como proceso habitual de mejora de un programa reutilizando y mejorando otros trabajos de programadores.

La ventaja de este modelo cooperativo es disponer de gran cantidad de desarrolladores que apliquen sus conocimientos y esfuerzos para la resolucin de los problemas que plantea el diseo, la depuracin y la correccin del cdigo fuente, lo que permite alcanzar los niveles de calidad y estabilidad que hoy tienen.

En estos proyectos hay un grupo que lidera el desarrollo y que acepta o no las modificaciones realizadas por los desarrolladores y las incorpora a la versin principal. Este modelo asegura la evolucin continua del software con un factor de crecimiento enorme, pues toda la comunidad participa del desarrollo.

En este entorno de trabajo cooperativo se han establecido una serie de principios y consejos para el desarrollo de software libre de cdigo abierto, existiendo mltiples coincidencias con los principios del desarrollo gil, como son: la comunicacin. la retroalimentacin. el enfoque centrado en el cdigo y las personas. la organizacin menos formal y jerrquica. la flexibilidad ante el cambio. la reutilizacin o la sencillez del cdigo.

Por ello, en el desarrollo del software libre triunfan las metodologas giles.

Sin embargo, actualmente el desarrollo de software libre no est limitado a estas comunidades de desarrollo, sino que cualquier entidad puede desarrollar programas o aplicaciones y distribuirlos con una licencia de software libre y de fuentes abiertas. Han aparecido Organizaciones para la promocin del software libre y de fuentes abiertas, tambin todo tipo de empresas, grandes y pequeas, estn participando en su desarrollo. De esta manera han surgido escenarios mixtos de software libre de cdigo abierto con software propietario, y nuevas licencias que dan unos derechos pero limitan otros.

29

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

En este contexto, la industria del software (incluyendo grandes, medianas y pequeas empresas) est adaptando su oferta de productos y servicios teniendo en cuenta la presencia y dimensiones del software libre, as como su demanda creciente.

Hay empresas que estn desarrollando software libre, centrando su negocio en los servicios asociados al mismo y no tanto en el propio desarrollo o distribucin del producto. Tambin las administraciones pblicas han apostado por el software libre contribuyendo a su desarrollo, adquiriendo y desarrollando aplicaciones de cdigo abierto. As por ejemplo, la Junta de Andaluca ha desarrollado Guadalinex, una nueva distribucin de Linux adaptada a las necesidades de la propia administracin, de los centros escolares y de cualquier ciudadano con sus distintas posibilidades de configuracin.

En este mundo de empresas, organizaciones y entidades trabajando con software libre, las metodologas de desarrollo de software utilizadas varan mucho y dependen del proyecto concreto a desarrollar y de la propia institucin, por lo que las metodologas utilizadas siguen el mismo esquema de mercado que en el desarrollo de software propietario.

AUTOEVALUACIN: 11.- El sistema operativo Windows es software libre porque: a) b) c) Puedo instalarlo libremente en cualquier ordenador. Puedo copiarlo libremente. Puedo modificarlo, mejorarlo y adaptarlo a mis necesidades porque tengo acceso al cdigo fuente. d) Ninguna respuesta es correcta porque Windows es software propietario de la empresa Microsoft.

PARA SABER MS Si quieres saber ms sobre la licencia de software libre GPL, puedes visitar esta web donde encontrars tanto la versin original de la licencia en ingls como su traduccin a espaol.

http://es.tldp.org/htmls/gpl.html http://es.tldp.org/htmls/gpl.html

30

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

3.- Metodologas de las administraciones europeas.


Las administraciones pblicas, que tambin desarrollan aplicaciones software, qu metodologa utilizarn? Sera conveniente disponer de una metodologa estndar para toda la administracin pblica? Con la intencin de estandarizar los diferentes proyectos informticos que utilizaban y desarrollaban diferentes administraciones del mismo pas, los organismos pblicos comenzaron a desarrollar a finales de los aos 70 y principios de los 80, metodologas de desarrollo software basadas en el mtodo estructurado. Sin embargo, como las distintas administraciones necesitaban dar respuesta a proyectos de desarrollo muy diferentes, modificaron y ampliaron las metodologas existentes para adaptarlas a sus necesidades. De esta manera, surgen una serie de metodologas en diferentes pases europeos que tienen enfoques mixtos. Por ejemplo, a partir del desarrollo estructurado, realizan una metodologa con diferentes enfoques para centrarse tanto en los procesos como en las estructuras de datos, los eventos, etc. Estas metodologas han ido evolucionando para adaptarse a nuevas necesidades y paradigmas incluyendo la modelizacin de sistemas de tiempo real o la programacin orientada a objetos, por lo que su principal caracterstica es que son metodologas mixtas. Vamos a ver varios ejemplos de este tipo de metodologas, la metodologa francesa Merise, la britnica SSADM, la espaola Mtrica, y el Euromtodo propuesto por la Unin Europea para dar homogeneidad a los proyectos ligados a su organizacin.

3.1.- Merise.
El proyecto Merise nace en 1977 dentro del centro CTI (Centre Technique dInformation) perteneciente al Ministerio de Industria Francs. Su objetivo era desarrollar una metodologa de desarrollo del software para cubrir las necesidades tanto de la empresa pblica como de las empresas en general. En 1978 se present su primera versin para el sector pblico, y fue en 1982 cuando el modelo se revis y se extendi a las empresas del sector privado. Merise puede ser utilizado para el desarrollo de todo tipo de sistemas de informacin, desde aquellos que utilizan bases de datos hasta los que procesan eventos en tiempo real, y pretende que los proyectos se completen con xito dentro del costo y tiempos planeados.

31

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

La metodologa Merise aport un ciclo de vida ms largo que los existentes anteriormente con un conjunto definido de etapas. Abarca los aspectos relacionados con:

La recopilacin y validacin de la informacin. Capacitacin de personal. Evaluacin de equipos informticos. Anlisis, diseo y validacin de los procesos. Implementacin, gestin de costos y tiempos y el desarrollo del cdigo.

Adems del ciclo de vida mas largo, esta metodologa introduce dos ciclos complementarios: El ciclo de abstraccin, se basa en la percepcin de tres niveles de abstraccin (de lo ms abstracto a los ms concreto): conceptual (finalidades generales de la empresa), organizativo (descripcin de la organizacin necesaria para alcanzar los objetivos) y fsico (concrecin de los medios software y hardware necesarios). Los tres niveles se desarrollan simultneamente. El ciclo de decisin. En cada etapa del ciclo de vida, cada vez se va bajando ms en el nivel de abstraccin (segn el ciclo de abstraccin), y se toman decisiones, al principio de forma global, y despus de forma ms detallada, conforme se va progresando en el trabajo.

Un aspecto muy importante de Merise es que se ocupa al mismo tiempo del estudio de los datos y de los procesos. Para llevar a cabo las diferentes actividades Merise utiliza distintas tcnicas. AUTOEVALUACIN: 12.- Merise es una metodologa de desarrollo de software a) b) c) d) Estructurada orientada a datos jerrquicos. Estructurada orientada a datos no jerrquicos. Estructurada orientada a procesos. Estructurada con un enfoque mixto.

3.2.- SSADM.
En 1980 el gobierno britnico plantea la necesidad de crear una metodologa para unificar y estandarizar los proyectos de software de las distintas administraciones. As se desarroll, entre el Central Computing and Telecommunications Agency (CCTA) y Learmonth and Burchett Management Systems (LBMS), la metodologa SSADM (Structures Systems Analysis and Design Method).

32

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Veamos algunas de las caractersticas fundamentales de SSADM que nos permitan acercarnos a esta metodologa:

Centrada en los usuarios, atendiendo a sus requisitos y su participacin. Define de forma clara el proceso de produccin, dando especificaciones acerca de qu hacer, cundo y cmo. Utiliza tres puntos de vista, para orientarse a datos, eventos y procesos. Flexibilidad en herramientas y tcnicas de implementacin, proporcionando un conjunto de procedimientos para llevar a cabo las distintas tareas del anlisis y diseo.

AUTOEVALUACIN: 13.- SSADM es una metodologa de desarrollo de software: a) b) c) d) Estructurada orientada a datos jerrquicos. Estructurada orientada a datos no jerrquicos. Estructurada orientada a procesos. Estructurada con un enfoque mixto.

3.3.- Descripcin general de mtrica.


Al igual que ocurri en otras administraciones pblicas europeas, en Espaa surgi la necesidad de crear una metodologa de desarrollo de software comn para todas las administraciones y organismos pblicos.

La propuesta del Ministerio de Administraciones Pblicas fue el desarrollo de la metodologa Mtrica para que todas las organizaciones siguiesen el mismo modelo y unificasen los criterios para aportar homogeneidad y eficiencia a las aplicaciones informticas. El mbito original de aplicacin fue la administracin general del estado espaol, pero puede ser utilizada por otras administraciones o empresas privadas. La primera versin es de 1989, la segunda versin apareci en 1993 y en el ao 2001 apareci la tercera versin (Mtrica V3).

33

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Qu objetivos persigue la ltima versin de Mtrica? Podemos indicar que los objetivos generales de Mtrica son:

Satisfacer las necesidades de los usuarios dando una mayor importancia al anlisis de requisitos. Mejorar la productividad permitiendo una mayor capacidad de adaptacin a los cambios y teniendo en cuenta la reutilizacin en la medida de lo posible. Facilitar la comunicacin entre todos los participantes en el desarrollo teniendo en cuenta su papel y responsabilidad, as como las necesidades de todos y cada uno de ellos. Facilitar la operacin, mantenimiento y uso de los productos software obtenidos. Utilizar las distintas tecnologas que actualmente estn conviviendo y los aspectos de gestin que aseguran que un proyecto cumple sus objetivos en trminos de calidad, coste y plazos.

Hemos visto los objetivos que persigue, cmo intenta alcanzar esos objetivos? Veamos las caractersticas de Mtrica con las que cumple con los objetivos marcados:

Tiene en cuenta los mtodos de desarrollo ms extendidos, as como los ltimos estndares de ingeniera del software y calidad, adems de referencias especficas en cuanto a seguridad y gestin de proyectos. Cumple con el estndar propuesto por Euromtodo.

En una nica estructura, Mtrica cubre el desarrollo estructurado (con un enfoque mixto orientado a procesos, datos y eventos) y el desarrollo orientado a objetos (utiliza UML). La automatizacin de las actividades propuestas en la estructura de Mtrica es posible ya que sus tcnicas estn soportadas por una amplia variedad de herramientas CASE. Ha sido concebida para abarcar el desarrollo completo de sistemas sea cual sea su complejidad y magnitud, por lo cual su estructura responde a desarrollos mximos y deber adaptarse y dimensionarse en cada momento de acuerdo a las caractersticas particulares de cada proyecto.

Es una gua formal que descompone cada uno de los procesos en actividades, y stas a su vez en tareas. Para cada tarea se describe su contenido haciendo referencia a sus principales acciones, productos, tcnicas, prcticas y participantes.

Aunque propone una secuencia de pasos, que podra identificarse con una estructura de cascada, hace una propuesta flexible en la que deja libertad para escoger el orden de realizacin de las actividades, pudindose realizar en paralelo.

Puede ser utilizada libremente con la nica restriccin de citar la fuente de su propiedad intelectual, es decir, el Ministerio de Administraciones Pblicas de Espaa.

34

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN: 14.- Mtrica es una metodologa de desarrollo de software: a) b) c) d) Estructurada orientada a datos. Estructurada y orientada a objetos. Estructurada orientada a procesos. Orientada a objetos.

3.3.1.- Mtrica: estructura principal. Hemos visto los fundamentos de Mtrica, pero nos falta ver cul es la estructura real que propone, y cules son las etapas, tareas, actividades, productos... Para ello debemos ver el ciclo de vida de Mtrica que propone una serie de procesos que se descomponen en actividades, y adems, se incluyen los procesos de interface para dar soporte a los aspectos organizativos del proyecto. Vamos a describir cada uno de estos procesos: En este apartado vamos a tratar de explicarte la estructura de la metodologa MTRICA. Qu procesos forman parte de esta metodologa? Planificacin de Sistemas de Informacin (Proceso PSI): Su finalidad es dar soporte a la planificacin e implantacin de sistemas de informacin facilitando una visin general, necesaria para posibilitar su integracin y un modelo de informacin global de la organizacin. De esta manera, podremos instalar por ejemplo, sistemas para la toma de decisiones como los que vimos en la unidad 2.

Desarrollo de sistemas de informacin (Proceso DSI): Contiene todas las actividades y tareas que se deben llevar a cabo para desarrollar un sistema, cubriendo desde el anlisis de requisitos hasta la instalacin del software. Es el proceso ms importante de los identificados en el ciclo de vida de un sistema y se relaciona con todos los dems. Est dividido en distintos subprocesos:

35

VALLINIELLO
9

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Estudio de Viabilidad del Sistema (Proceso EVS): El propsito de este proceso es analizar un conjunto concreto de necesidades con la idea de proponer una solucin a corto plazo. Los criterios con los que se hace esta propuesta sern aspectos econmicos, tcnicos, legales y operativos. Los resultados del Estudio de Viabilidad del Sistema constituirn la base para tomar la decisin de seguir adelante o abandonar.

Anlisis del Sistema de Informacin (Proceso ASI): Su propsito es conseguir la especificacin detallada del sistema a travs de un catlogo de requisitos y una serie de modelos que cubran las necesidades de los clientes, y que sern la entrada para el proceso de Diseo del Sistema de Informacin.

Diseo del Sistema de Informacin (Proceso DSI): Su propsito es obtener la definicin de la arquitectura del sistema y del entorno tecnolgico que le va a dar soporte, junto con la especificacin detallada de los componentes del sistema de informacin, el plan de pruebas, etc.

Construccin del Sistema de Informacin (Proceso CSI): Tiene como objetivo final la construccin y prueba de los distintos componentes del sistema de informacin a partir del conjunto de especificaciones lgicas y fsicas del mismo, obtenido en el proceso DSI. Se desarrollan los procedimientos de operacin y seguridad y se elaboran los manuales de usuario final y de explotacin.

Implantacin y Aceptacin del Sistema (Proceso IAS): Su objetivo principal es la entrega y aceptacin del sistema en su totalidad, que puede comprender varios sistemas de informacin desarrollados de manera independiente segn se haya establecido en el proceso de Estudio de Viabilidad del Sistema, y se prepara la implantacin y puesta en marcha del sistema.

Mantenimiento del Sistema de Informacin (Proceso MSI): comprende actividades y tareas de modificacin, mejora y actualizacin de todos los componentes del sistema segn las nuevas necesidades del cliente.

3.3.2.- Mtrica: interfaces. La estructura de Mtrica incluye tambin un conjunto de interfaces que definen una serie de actividades de tipo organizativo o de soporte al proceso de desarrollo y a los productos, para complementar y garantizar el xito del proyecto desarrollado.

36

VALLINIELLO
Incluye estos procesos:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Gestin de Proyectos: Tiene como finalidad principal la planificacin, el seguimiento y control de las actividades y de los recursos humanos y materiales que intervienen en el desarrollo de un sistema de informacin. Como consecuencia de este control es posible conocer en todo momento qu problemas se producen y resolverlos o paliarlos lo ms pronto posible, lo cual evitar desviaciones temporales y econmicas. Contempla proyectos de desarrollo nuevos, proyectos de ampliacin y mejora de los ya existentes.

Seguridad: Incorpora mecanismos de seguridad adicionales a los que se proponen en la propia metodologa para reducir los riesgos lgicos, asegurando el desarrollo de cualquier tipo de sistema con integridad y consistencia.

Gestin de Configuracin: Su finalidad es identificar, definir, proporcionar informacin y controlar los cambios en la configuracin del sistema, as como las modificaciones y versiones de los mismos. Este proceso permitir conocer el estado de cada uno de los productos, garantizando que no se realizan cambios incontrolados y que todos los participantes en el desarrollo disponen de la versin adecuada de los productos que manejan.

Aseguramiento de la Calidad: estn orientadas a verificar la calidad de los productos. Son actividades que evalan la calidad y que son realizadas por un grupo de asesoramiento de la calidad independiente de los responsables de la obtencin de los productos.

Mtrica tambin incluye la descripcin de las tcnicas que se utilizan en los procesos y los perfiles de las personas que participan en el desarrollo del software.

PARA SABER MS Podemos visitar la pgina web oficial del Ministerio de Administraciones Pblicas donde estn todos los documentos de la metodologa para descargar y usar libremente:

Ministerio de Administraciones Pblicas: Mtrica V3 http://www.csi.map.es/csi/metrica3/

37

VALLINIELLO 3.4.- Euromtodo.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

A lo largo de esta unidad hemos visto diferentes metodologas de desarrollo de software, que las empresas y administraciones pblicas pueden utilizar en funcin de sus intereses y necesidades. Cada mtodo aporta su estructura con unas particularidades determinadas. Cuando una empresa privada o un organismo pblico pretenden adquirir un sistema de informacin informtico debe establecerse una buena colaboracin y relacin de entendimiento entre el proveedor y el cliente.

Uno de los principales obstculos en la consecucin de este mutuo entendimiento es la variedad de metodologas de desarrollo existentes, cada una de ellas con sus conceptos y terminologa propios y en general, con un vocabulario procedente de la ingeniera del software, que no siempre es fcilmente comprendido por usuarios, compradores, responsables de la contratacin, etc. Ante una determinada oferta de contratacin pueden acudir distintos proveedores, y cada uno de ellos, puede ofrecer un anlisis realizado con una metodologa distinta, lo cual dificulta la toma de decisin sobre la opcin ms adecuada. Habra alguna solucin?

sa fue la pregunta que se hizo la Comisin Europea, es decir, es posible establecer un marco comn para toda la Unin Europea de manera que clientes y desarrolladores puedan utilizar especificaciones comunes?

Con esta idea se pens en la elaboracin de un Euromtodo que en realidad no es una metodologa de desarrollo de software, sino un marco con el que pueden guiarse desarrolladores y clientes tanto de empresas privadas como administraciones pblicas, para adquirir sistemas de informacin software con garantas.

Podemos definir Euromtodo como una metodologa para la adquisicin de sistemas de informacin y servicios relacionados, desarrollada en el marco de un proyecto de instituciones europeas bajo supervisin de la Comisin Europea. Se trata de una metodologa de carcter pblico que puede utilizarse libremente. Sus caractersticas de diseo permiten su utilizacin tanto en el mbito pblico como en el privado.

Con Euromtodo, (actualmente promocionado por distintos motivos por la Comisin Europea como ISPL) la Comisin Europea pretende fomentar la apertura del mercado de sistemas de informacin, mejorar la movilidad de las personas entre los distintos pases, facilitar la organizacin de proyectos internacionales y ayudar a los clientes a valorar las ofertas de los proveedores.

38

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Para alcanzar estas pretensiones, Euromtodo se ha desarrollado con dos orientaciones diferentes:

Como marco metodolgico proporciona un conjunto de conceptos y una terminologa, que aporta las siguientes ventajas: 9

Mejorar la relacin cliente-proveedor: Los conceptos y la terminologa de Euromtodo se han diseado para facilitar el entendimiento mutuo entre el cliente, el proveedor, y los desarrolladores. Tambin permite entender mejor las propuestas de los proveedores y crear una situacin de cooperacin eficaz entre clientes y proveedores, que favorezca al mximo que los proyectos se rematen felizmente para ambas partes.

Armonizar los mtodos: para lo que existen diccionarios puente entre los distintos mtodos y Euromtodo. Tambin, evita quedar ligado a un determinado proveedor o a un determinado mtodo de desarrollo.

Como mtodo sirve para definir, planificar y ejecutar la adquisicin de un sistema de informacin y los servicios relacionados. Esto aporta las siguientes ventajas: 9

Permite gestionar y valorar la situacin del problema y los riesgos asociados: Anima a los clientes y proveedores a controlar los costes y los plazos previstos, gestionar los riesgos y mejorar el entendimiento mutuo.

9 9 9 9

Poder expresar los requisitos del sistema con mayor claridad. Valorar mejor el objetivo de la adquisicin. Determinar mejor la estrategia de adquisicin, en funcin de la situacin especfica del problema a resolver. Mejorar el "plan de entregas" del sistema software, el aspecto ms relevante de las relaciones cliente-proveedor a nivel contractual.

Euromtodo es compatible con las tcnicas estructuradas, los modelos orientados a objetos y est abierto a cualquier evolucin que estos enfoques u otros puedan experimentar en el futuro. As por ejemplo, se han establecido las conexiones conceptuales y metodolgicas oportunas entre Mtrica y Euromtodo.

39

VALLINIELLO
PARA SABER MS

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

En la pgina web del Ministerio de Administraciones Pblicas dispones de todos los documento del Euromtodo.

Ministerio de Administraciones Pblicas: Euromtodo http://www.csi.map.es/csi/pg5e40.htm

AUTOEVALUACIN: 15.- Euromtodo es: a) b) c) d) Una metodologa de desarrollo de software estructurada mixta. Una metodologa de desarrollo de software orientada a objetos. La armonizacin entre SSADM, Mtrica y Merise. Todas las respuestas anteriores son correctas.

SOLUCIONES AUTOEVALUACIN 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.c c d b b b a a d c d d d b d

40

VALLINIELLO GLOSARIO.
Abstraccin.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

La abstraccin consiste en un mecanismo para reducir la informacin secundaria y poder centrarse en la importante. As, en un programa, la abstraccin de datos proporciona la definicin de un dato o concepto y las operaciones aplicables al concepto, pero sin especificar la implementacin concreta del concepto; y la abstraccin de programas permite hacer subprogramas que podemos usar sin saber exactamente cmo estn realizados internamente.

Casos de uso. Es una tcnica para la captura de requisitos de un nuevo sistema o una actualizacin software. Cada caso de uso proporciona uno o ms escenarios que indican cmo debera interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo especfico. Explican por tanto, qu debe realizar el sistema. Normalmente, en los casos de usos se evita el empleo de lenguaje tcnico, prefiriendo en su lugar un lenguaje ms cercano al usuario final.

GNU. Es un proyecto de desarrollo de software libre basado en el sistema operativo Unix impulsado por el programador americano Richard Stallman en 1983 con la licencia pblica general GNU (GPL). Su nombre es un acrnimo recursivo en ingls que significa GNU no es Unix y se lee u, como el animal de su logotipo.

Herramientas CASE. Las Herramientas CASE (Computer Aided Software Engineering, o Ingeniera de Software Asistida por Ordenador) son diversas aplicaciones informticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en trminos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseo del proyecto, clculo de costes, implementacin de parte del cdigo automticamente con el diseo dado, compilacin automtica, documentacin o deteccin de errores entre otras.

41

VALLINIELLO
Incertidumbre.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

Hablamos de incertidumbre cuando no tenemos un conocimiento seguro y claro de algo, por ejemplo, cuando no podemos determinar claramente las tareas en las que se divide un proceso. En presencia de incertidumbre la percepcin del mundo es mucho ms compleja. La incertidumbre oscurece las relaciones causa y efecto, dificultando la comprensin de los fenmenos. Si hay incertidumbre no todo es cognoscible, ni predecible, por mucho esfuerzo que se haga. La prediccin metereolgica es un ejemplo de tarea con presencia de incertidumbre.

Lgica Procedimental. La lgica procedimental define el algoritmo (secuencia ordenada de instrucciones a seguir para alcanzar la solucin) de un programa o de un proceso.

Mtodo cientfico. El mtodo cientfico se entiende como el estudio sistemtico, controlado, emprico y crtico de las hiptesis acerca de la explicacin de distintos fenmenos. Descartes hizo una importante aportacin al mtodo cientfico mediante su Discurso del Mtodo.

Microprocesador. Es un conjunto de circuitos electrnicos integrados que realizan las operaciones de clculo y control de un ordenador. Es el cerebro de la mquina.

Mdulo. Un mdulo puede ser definido de varias formas, pero por lo general debe ser un componente de un sistema o programa informtico mayor, y operar en ese sistema independientemente de las operaciones de otros componentes.

Objeto. Un objeto es una representacin detallada, concreta y particular de "algo". Tal representacin determina su identidad, su estado y su comportamiento particular en un momento dado. Por ejemplo, podramos definir un objeto llamado cuenta de banco cuyo estado est marcado por su saldo, y su comportamiento por las operaciones ingresar y extraer dinero de la cuenta.

42

VALLINIELLO
Programacin Estructurada.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 4: Metodologas de Desarrollo del Software M Lourdes Gutirrez Lpez

A finales de los aos sesenta surgi una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que adems estaban escritos de manera que facilitaba su comprensin posterior. Se demuestra mediante teoremas que todo programa puede escribirse utilizando nicamente las tres instrucciones de control siguientes: Secuencia de instrucciones, Instruccin condicional, y la Iteracin o bucle de instrucciones.

Riesgo. Hay riesgo cuando existe incertidumbre sobre la ocurrencia de un suceso cuya consecuencia es desfavorable. Por ejemplo, si no hacemos una buena prediccin de los plazos de entrega de un programa tenemos el riesgo de incumplir un contrato.

Sistemas en tiempo real. La informtica o programacin en tiempo real est relacionada con los sistemas hardware y software que se ven limitados por problemas de tiempo. Por ejemplo, el sistema informtico que utilizan los controladores areos debe seguir el movimiento de los aviones y responder al ritmo en que realizan las operaciones de navegacin, despegue y aterrizaje.

43

C.F.G.S. DESARROLLO DE APLICACIONES INFORMTICAS

MDULO: Anlisis y Diseo de Aplicaciones Informticas de Gestin

Unidad 5
Gestin de proyectos software.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

NDICE DE CONTENIDOS

OBJETIVOS .......................................................................................................................

1.- INTRODUCCIN A LA GESTIN DE PROYECTOS.................................................. 2.- PLANIFICACIN .......................................................................................................... 2.1.- Introduccin y conceptos generales.............................................................. 2.2.- Actividades para la planificacin de un proyecto (calendario) ...................... 2.3.- Pasos para elaborar el calendario de un proyecto........................................ 2.4.- Gestin de riesgos......................................................................................... 2.5.- Gestin de compromisos............................................................................... 2.6.- Tcnicas. Diagramas de Hitos ...................................................................... 2.7.- Tcnicas. Diagramas de Gantt...................................................................... 2.8.- Tcnicas. Redes de Precedencia, Redes Pert ............................................. 2.8.1.- Introduccin a las redes de precedencia....................................... 2.8.2.- Representacin de diagramas PERT............................................ 2.8.3.- Ejemplo de elaboracin de un diagrama PERT ............................ 2.8.4.- Clculo de los Tiempos Early ........................................................ 2.8.5.- Clculo de los Tiempos Last ......................................................... 2.8.6.- Holguras de sucesos y actividades: camino crtico.......................

2 4 4 7 8 11 12 13 14 16 16 17 18 21 22 23

3.- ESTIMACIN DE RECURSOS Y COSTES ................................................................. 3.1.- Estimacin de recursos ................................................................................. 3.2.- Estimacin de costes .................................................................................... 3.2.1.- Mtodos de estimacin de costes ................................................. 3.2.2.- Modelo Cocomo ............................................................................ 3.2.3.- Crticas a estos modelos de estimacin de costes .......................

26 27 28 29 31 34

4.- SEGUIMIENTO Y SUPERVISIN DEL PROYECTO SOFTWARE............................. 4.1.- Supervisin de los resultados ....................................................................... 4.2.- Acciones correctivas ..................................................................................... SOLUCIONES AUTOEVALUACIN.................................................................................. GLOSARIO .........................................................................................................................

34 35 36 38 38

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

OBJETIVOS

Esta unidad sirve para que el alumno identifique las principales tareas que tiene que realizar y los factores que influyen en la implantacin de aplicaciones, as como las tcnicas utilizadas en la planificacin temporal y organizativa de proyectos informticos.

Tambin se ver un mtodo de estimacin de costes que le va a permitir hacer un clculo estimado del coste del proyecto.

Finalmente ver una serie de recomendaciones, que hay que tener en cuenta a la hora de hacer un seguimiento y supervisin adecuada del proyecto.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

1.- Introduccin a la gestin de proyectos.


Gestionar cualquier tipo de proyecto no es algo sencillo, sobre todo si se trata de proyectos complejos por su naturaleza o por su tamao. Nosotros no estamos interesados en cualquier tipo de proyecto, sino que estamos ocupados en aprender a gestionar proyectos software.

Existen tcnicas que nos faciliten la gestin de nuestros proyectos software?

Podemos decir que el mtodo de trabajo habitual en el desarrollo del software es mediante proyectos. La decisin de emprender un proyecto puede ser consecuencia de diferentes situaciones o circunstancias. Sin embargo cada proyecto depende de una gestin apropiada que le va a permitir alcanzar los objetivos marcados. Esta gestin viene condicionada por una serie de caractersticas especficas de cada proyecto.

Un proyecto consiste en un conjunto de etapas, actividades y tareas que tienen como finalidad alcanzar un objetivo, en un plazo que se puede considerar relativamente largo.

En general podemos decir que un proyecto:

Tiene un principio y un final. Utiliza recursos finitos y cuenta con un presupuesto ajustado. Tiene actividades nicas y esencialmente no repetitivas. Tiene un objetivo, hacia el que se dirige todo el esfuerzo. Requiere de una persona responsable del proyecto y personal de desarrollo cuyos roles y estructura de equipo deben fijarse y desarrollarse.

Tiene una planificacin. Debe medir su progreso frente a esa planificacin. Suele coexistir con otros proyectos y competir por los recursos. Posee agentes internos y externos, que deben ser identificados y tratados, porque suelen influir de una manera importante en el proyecto.

Precisamente es la divisin en trabajos ms sencillos lo que va a permitir al personal del proyecto dominar la complejidad del proceso para desarrollar el software. En esta unidad abordaremos la gestin de proyectos de desarrollo de software a travs de sus distintos aspectos:

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Planificacin
PLANIFICACIN

Direccin

DIRECCIN

Previsiones. Objetivos a corto y largo plazo. Polticas organizativas. Procedimientos estndares. Anlisis de tareas.

Motivacin. Comunicacin. Jefatura. Coordinacin. Valoracin de la ejecucin. Resolucin de conflictos. Mantenimiento de polticas de la empresa.

Obtencin y distribucin de recursos.

Organizacin

Control

ORGANIZACIN

Descripciones del trabajo. Asignacin de tareas a puestos de trabajo. Personal. Determinacin de las relaciones organizativas. Delegacin de autoridad.

Supervisin.

CONTROL

Comparacin de la ejecucin actual y la esperada. Decisin de acciones correctivas cuando sea preciso.

El seguimiento adecuado en cada una de estas reas determinar la toma de decisiones sobre la informacin de proyectos de software.

PARA SABER MS. La Gestin de Proyectos sigue unas pautas preestablecidas que venan adaptndose continuamente y que cada vez estn ms estandarizadas. En el siguiente enlace puedes consultar algunas de las caractersticas que ms se utilizan, as como un resumen de su importancia en el mundo empresarial.

http://es.wikipedia.org/wiki/software

Resumen sobre la gestin de proyectos. Se trata de una especie de resumen de toda esta unidad. Aunque utiliza una terminologa ligeramente distinta puede resultar muy interesante echarle un vistazo.

Tcnicas de Programacin http://www.getec.etsit.upm.es/docencia/gproyectos/planificacion/programacion.htm

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN 1.- Estamos intentando establecer las bases a seguir para la gestin de un proyecto, pero qu se supone que es un proyecto? a) La gestin ptima de los recursos ordenados en el tiempo, que permiten conseguir un objetivo. b) Un proyecto es la planificacin del tiempo que se realiza en el desarrollo del software. c) Un proyecto consiste en un conjunto de etapas, actividades y tareas que tienen como finalidad alcanzar un objetivo. d) Cada una de las tareas que realiza un equipo de desarrollo del software.

2.- Planificacin.
2.1.- Introduccin y conceptos generales.
Seguro que no se te escapa la necesidad de hacer una buena planificacin del proyecto, pero:

Cules son los aspectos ms importantes que debe cubrir la planificacin? Qu objetivos debe cubrir un buen plan? Qu puntos debe incluir ese plan?

El rea de planificacin de proyectos, cubre dos aspectos importantes: La realizacin de un plan de proyecto por parte del jefe del mismo. La gestin de los compromisos.

El jefe del proyecto es la persona que tiene la responsabilidad de planificar, controlar y dirigir todas las actividades del proyecto. Muchas veces, estas responsabilidades suponen la coordinacin e integracin de actividades a travs de distintas unidades organizativas y departamentos. Evidentemente la eleccin de un buen jefe debera ser el primer paso para iniciar el proyecto. El primer cometido del jefe de proyecto es la realizacin del plan de proyecto. En este plan de proyecto debe:

Definir un conjunto de tareas. Coordinarlas en el tiempo. Asignar a cada tarea los recursos necesarios para cumplir los objetivos marcados en cada una de ellas, con el propsito de satisfacer los compromisos adquiridos. Con independencia de su tamao, todo proyecto debe incluir un plan de trabajo en el que se detalle de forma precisa lo que hay que hacer.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Cundo y dnde hacerlo. As como quin lo debe realizar y el coste que implica, todo ello con el fin de garantizar el xito del desarrollo.

Para obtener un plan de proyecto til, ste debera facilitar los siguientes objetivos:

Proporcionar a los directivos un resumen del proyecto que les ayude a tomar las decisiones adecuadas. Permitir en todo momento supervisar el progreso del proyecto a cualquiera de las partes implicadas (clientes y jefe del proyecto). Debe presentarse como un documento orientado al cliente. Debe ser el documento base del proyecto, aprobado por el cliente y actualizable a medida que avanza en su desarrollo.

Un plan de proyecto es nico y puede variar considerablemente de uno a otro, pero se recomienda que incluya al menos los siguientes puntos:

Un resumen del proyecto redactado de forma comprensible por cualquier persona. Debe especificar claramente los productos entregables, de modo que cuando se produzcan se compruebe que se ajustan al plan.

Una lista de hitos que se pretenden alcanzar en un plazo determinado y sus responsables. Todos los recursos que se van a utilizar, ya sean humanos, materiales, herramientas software, etc., especificando el motivo de su utilizacin. Proceso de revisin de la planificacin del proyecto, indicando quin, cmo y cundo se realiza, as como con qu objeto. Vas de comunicacin entre el equipo de desarrollo y el cliente. Un diagrama de descomposicin del trabajo, mediante el cual el proyecto en cuestin ser tratado por partes, ms fciles de manejar y que posteriormente deben ser integradas. Una lista del personal del proyecto y su asignacin a las tareas del diagrama anterior. Una red de actividades que detalle la secuencia de tareas en el tiempo y su relacin entre ellas. Especificando los responsables de cada una. Va a depender del modelo de ciclo de vida adoptado para el proyecto.

Los presupuestos de esfuerzo y econmicos, as como el calendario y plazos para todas las actividades, y por extensin para todo el proyecto.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Sobre el plan de proyecto existen estndares, como el IEEE-1998 para la estructura de planes de desarrollo de software, aunque este estndar se suele utilizar a modo de gua y cada empresa lo adapta a sus proyectos segn sus propias conveniencias.

AUTOEVALUACIN 2.- La eleccin de un buen jefe de proyecto debera ser el primer paso para iniciar el proyecto porque tiene la responsabilidad de a) b) c) d) Elegir al personal que va a formar parte del proyecto. Decidir si el proyecto se va a llevar a cabo. Validar el calendario realizado por el equipo del proyecto. Planificar, dirigir y controlar todas las actividades del proyecto.

3.- Para qu es interesante el plan de proyecto? (Marca todas las respuestas que sean correctas) a) b) Porque siempre hay que tener un documento que mostrar a los clientes. Porque define el conjunto de tareas, coordinadas en el tiempo, junto con los recursos necesarios. c) d) Realmente slo es recomendable para grandes proyectos. Para que los directivos tengan un resumen del proyecto y puedan tomar las mejores decisiones. PARA SABER MS Hasta ahora has podido contrastar la importancia que tiene la Planificacin en un proyecto de desarrollo, ya que de su adecuada realizacin va a depender, de forma muy importante, el xito o fracaso de todo el proyecto. La Red nos ofrece muchos artculos sobre la planificacin. El siguiente es un ejemplo pero te animamos a que busques algunos por tu cuenta.

Planificacin de un proyecto. http://www.monografias.com/trabajos15/sist-informacion/sistinformacion.shtml#PLANIFIC

En el siguiente enlace puedes encontrar muchas ms cosas sobre la planificacin de proyectos.

Proyectos sobre sistemas. http://www.gestiopolis.com/recursos2/documentos/fulldocs/ger/adproysisinf.htm#3

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2.2.- Actividades para la planificacin de un proyecto (calendario).


Cualquier proyecto est sujeto a unos plazos de ejecucin, y como imaginars, los proyectos informticos no son distintos en ese punto a cualquier otro. Pero hablar de plazos, supone hablar del calendario. Qu debe incluir el calendario del proyecto? Qu caractersticas debe tener? Qu pasos y en qu orden debemos darlos para elaborar un buen calendario? Podremos elaborar un calendario sin tener en cuenta los recursos, los costes y las restricciones del proyecto? Ser necesario revisar y reajustar el calendario a lo largo de la ejecucin del proyecto?

stas y otras preguntas son las que pretendemos contestarte en este apartado. Uno de los principales objetivos del plan de proyecto, es la configuracin del calendario, tambin denominado programa de tiempos. Bsicamente consiste en una representacin grfica de todas las actividades del proyecto, que va a permitir al jefe del proyecto coordinar con efectividad a todo el equipo durante todo el desarrollo. Este calendario debera ser dinmico, admitiendo cambios a medida que se avanza, con el fin de ajustar plazos y tiempos ante las dificultades que pueden surgir durante el desarrollo. Sin ese calendario, el control del proyecto es casi imposible. La direccin del proyecto puede ser extremadamente difcil si no han sido identificadas las actividades individuales y sus interrelaciones. El control del proyecto se basa en la supervisin peridica y en la comparacin de los resultados con los previstos en el calendario. Si no existe calendario, es imposible estimar el estado del proyecto con certeza. Para que un programa de tiempos (o calendario) sea eficaz, debe tener al menos las siguientes caractersticas: Comprensible por todos aquellos que van a utilizarlo. Suficientemente detallado para medir y controlar el progreso del proyecto. Capaz de sealar las actividades crticas. Flexible, fcilmente modificable. Basado en estimaciones de tiempos coherentes segn los compromisos adquiridos por los responsables de cada tarea. Ajustable a los recursos disponibles, de modo que si aumentan adecuadamente los recursos, mejora el calendario del proyecto. Compatible con los planes de otros proyectos con los que comparte los mismos recursos.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2.3.- Pasos para elaborar el calendario de un proyecto.


Para elaborar el calendario del proyecto, el jefe del mismo debe considerar una serie de pasos en el orden adecuado (como se indica en la tabla siguiente). PASOS PARA ELABORAR UN CALENDARIO DEL PROYECTO 1. Definicin de los objetivos. 2. Descomposicin de las actividades. 3. Relacin entre las actividades. 4. Estimacin de los tiempos y costes de las actividades. 5. Ajuste del programa de tiempos a las restricciones del proyecto. 6. Organizacin del equipo y asignacin de recursos. 7. Revisin del calendario.

1.- Definicin de los objetivos. Los objetivos estarn definidos al comienzo para identificar las responsabilidades del equipo de desarrollo y sern revisados durante el proyecto para sealar los cambios que se apartan del alcance inicial. Un objetivo estar bien definido cuando es:

Asequible. El objetivo identifica una meta y puede conseguirse con unos tiempos y unas restricciones dadas. Si la meta es demasiado ambiciosa, el objetivo puede perder credibilidad.

Definitivo. Especifica concretamente qu es lo que se debe lograr y en qu grado de detalle. Slo se consideran aqu los objetivos relacionados con el proyecto o metas organizativas. Las actividades rutinarias del proyecto no deben tomarse como objetivos.

Cuantificable. Define la duracin de las actividades, lo que es imprescindible para evaluar el progreso del proyecto. De duracin especfica. Especifica un criterio de finalizacin.

2.- Descomposicin de las actividades. El jefe del proyecto debe elaborar un diagrama de descomposicin del trabajo (WBSWorking Breakdown Structure). Para ello en la parte superior se representa la actividad ms general y a continuacin, se subdivide en actividades ms sencillas.

Inicialmente se identifican los paquetes de trabajo y despus cada una de las tareas (y subtareas) que los componen. Con este diagrama el jefe de proyecto aumenta su capacidad de supervisin de los trabajos, y puede observar el seguimiento de actividades o tareas crticas que tienen una gran repercusin sobre el tiempo total del proyecto.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

3.- Relacin entre las actividades. Normalmente el conjunto de actividades de un proyecto suelen estar relacionadas entre s. La determinacin del calendario del proyecto supone tambin la identificacin de las interrelaciones entre las actividades que influyen en la secuencia que deben seguir las mismas y las repercusiones de lo que ocurra en una de ellas (por ejemplo un retraso) en las otras. Para representar esas interrelaciones se utilizan diferentes tcnicas: En proyectos grandes. Tcnicas basadas en Redes de Precedencia. Redes PERT Redes CPM

En proyectos sencillos. Diagramas de Hitos Diagramas de Gantt Diagramas full wall

4.- Estimacin de tiempos y restricciones. Una vez que ha sido definida la secuencia entre las actividades, es necesario realizar una estimacin de los tiempos (entre el comienzo y el final) y los costes de las actividades. Las

Ajuste de los tiempos

estimaciones de tiempo se centran especialmente en el tiempo requerido para finalizar una actividad y suelen estar basadas en la experiencia en proyectos similares. Tambin es habitual que se contemplen los retrasos normales.

a las restricciones

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

5.- Ajuste del programa de tiempos a las restricciones del proyecto. Bsicamente es preciso calcular la duracin total del proyecto partiendo de la duracin correspondiente a cada una de las actividades que lo forman, para ello es imprescindible identificar y analizar las actividades crticas. Normalmente para llevar a cabo este tipo de tareas es necesario utilizar redes de precedencia. 6.- Organizacin del equipo y asignacin de recursos. Los recursos disponibles para un determinado proyecto, son muy limitados, por lo que se hace imprescindible organizar al equipo con una asignacin de recursos ajustada en el tiempo a determinadas actividades. Tambin es necesario que los costes proyectados se ajusten al presupuesto inicial. 7.- Revisin del Calendario. Una vez elaborado el proyecto es preciso hacer una revisin del calendario para determinar si es realista. Se deben comprobar si los criterios adoptados (tanto en la estimacin de tiempos como de costes) son razonables y realistas. Adems debe contemplar la previsin de algunos retrasos e incluso debe tener cierta flexibilidad para adaptarse a imprevistos. AUTOEVALUACIN 4.- Una vez elaborado el calendario del proyecto por el jefe del mismo, es preciso a) b) c) d) Seguirlo de forma estricta sin admitir el ms mnimo cambio, para asegurar los plazos. Es necesario hacer una asignacin de los recursos segn el calendario elaborado. Hay que eliminar del mismo todas las actividades crticas. Que sea dinmico, admitiendo cambios a medida que avanza el proyecto.

5.- Para que un calendario de proyecto sea eficaz, qu podemos afirmar? (Marca todas las correctas) a) b) c) d) Debe sealar claramente las actividades crticas. Debe ser global y no entrar en detalles. Ajustable a los recursos disponibles. Que sea rgido, obligando al equipo de desarrollo a cumplir los plazos establecidos.

PARA SABER MS En este enlace se muestra un estupendo ejemplo de descomposicin WBS con un proyecto de geografa muy sencillo e intuitivo que puede aclarar muchas ideas. WBS http://www.allpm.com/modules.php?op=modload&name=News&file=article&sid=937

10

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2.4.- Gestin de riesgos.


Qu entendemos por riesgo en un proyecto? Podemos controlar los riesgos?Podemos eliminarlos por completo o nos tenemos que contentar con reducirlos a niveles razonables? Son muy variados los riesgos que pueden presentarse en el desarrollo de un proyecto?

El tratamiento de riesgos del software en la realizacin de un proyecto es un factor importante, ya que podemos definir riesgo como cualquier elemento potencial que provoca resultados insatisfactorios en el proyecto. Un Jefe de Proyecto debe conocer y controlar en todo momento el riesgo de aquellas reas del proyecto que puedan provocar esos resultados, as como los riesgos externos que pueden afectar a su proyecto. Tambin interesa establecer las circunstancias en que se producen los riesgos, los factores o causas desencadenantes y los efectos que pueden producir esas situaciones.

El jefe del proyecto debe dominar tcnicas de identificacin de riesgos, valoracin de su impacto, seguimiento y control. El conocimiento de estas tcnicas permitir aumentar las probabilidades de xito del proyecto.

Los tipos de riesgos tpicos que debe tratar un jefe del proyecto son los siguientes:

Riesgos estratgicos. Relacionados con las prdidas o beneficios, las inversiones, la imagen empresarial, etc. Riesgos comerciales. Aquellos relacionados con la venta del proyecto, el precio, las actualizaciones, el seguimiento, etc. Riesgos contractuales y financieros. Reflejados en los trminos del contrato;

penalizaciones, obligaciones, calendario de pagos, etc. Riesgos de gestin. Relacionados con la organizacin del proyecto; gestin de recursos, calendarios, estimaciones, etc. Riesgos de proyecto. Causados por los aspectos tcnicos del desarrollo del software; especificacin, diseo, integracin, validacin, etc. Riesgos de explotacin y mantenimiento. Se producen una vez que el producto es entregado y el cliente comienza a utilizarlo y se refiere a situaciones o acciones que tienen como consecuencia accidentes (ya sean fsicos o de prdida de datos).

Una vez identificados los riesgos, el objetivo es reducirlos hasta niveles aceptables para el jefe del proyecto.

11

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2.5.- Gestin de compromisos.


En todo proyecto, como puedes suponer, intervienen varias personas, que pueden ser incluso muchas. El jefe del proyecto va estableciendo tareas y pautas que deben ir cumpliendo todas las personas implicadas en el proyecto, pero

esas personas no aceptasen como compromiso cada una de las actividades que le corresponde? Ser conveniente para ello imponer los compromisos, o por el contrario se obtendrn mejores resultados

negocindolos? Qu pasa si se fijan compromisos poco realistas?

Es conveniente cambiar los compromisos adquiridos una vez que se ha iniciado el proyecto, o deben mantenerse hasta el final? Este tipo de cuestiones es las que debe abordar la gestin de compromisos.

Es un aspecto crucial dentro de la realizacin de un proyecto software. Su objetivo es negociar, establecer y gestionar los compromisos adquiridos por todas las partes implicadas en el desarrollo del proyecto.

Recordemos que un equipo de desarrollo est jerarquizado y perfectamente organizado, y a cada uno de los responsables de cada fase o seccin se les piden resultados (que exijan un esfuerzo) con un plazo concreto de finalizacin. Es conveniente que la negociacin se haga contando con un compromiso negociado con cada participante o responsable de cada parte del proyecto. De este modo se consigue un ambiente de colaboracin y trabajo en equipo que motiva a los participantes para cumplir y asumir su responsabilidad, y de paso facilitar la gestin de posibles cambios durante el proyecto.

A veces ocurre que los directivos se comprometen a cumplir objetivos poco factibles sin tener en cuenta la opinin de los tcnicos del grupo de desarrollo, que son realmente los encargados de llevar a cabo el proyecto. Por este motivo el jefe del proyecto adems, debe ayudar a quienes adoptan los compromisos, una vez que ha recabado las opiniones de los expertos.

GESTIN DE COMPROMISOS
12

Piensas que se conseguira avanzar en el proyecto si

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2.6.- Tcnicas. Diagramas de Hitos.


Anteriormente hemos hablado de la importancia de elaborar un buen calendario, pero como para casi todas las cosas que son complicadas, disponemos de tcnicas que nos ayudan a conseguirlo. Quieres conocer algunas? Pues vamos a comenzar con los diagramas de hitos. Y qu son los hitos? Son las actividades del proyecto que marcamos, con fecha de comienzo y plazo de finalizacin, a lo largo del largo camino que nos lleva a culminar nuestro proyecto. El diagrama de hitos es el mtodo ms sencillo para determinar el calendario. Consiste en una tabla de dos columnas, en la que se reflejan las diferentes actividades del proyecto y la fecha correspondiente a su finalizacin. La consecucin de cada una de las actividades en el tiempo previsto, se considera la consecucin de un hito marcado.

Actividades del Proyecto Inicio Anlisis Diseo Desarrollo Pruebas de mdulo Instalacin Pruebas de Integracin Documentacin Validacin Las ventajas que presenta esta tcnica son:

Fecha prevista de finalizacin 23/06/06 03/07/06 15/07/06 29/07/06 05/08/06 08/08/06 11/08/06 16/08/06 25/08/06

Es muy intuitiva y fcil de usar. El coste de preparacin es mnimo.

Y las desventajas:

Incertidumbre sobre las fechas de comienzo de las actividades. Imposibilidad de reflejar las interrelaciones entre las actividades.

Este diagrama tambin se suele utilizar a modo de resumen, en calendarios complejos que tienen muchas tareas.

13

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2.7.- Tcnicas. Diagramas de Gantt.


Como habrs imaginado, los diagramas de hitos no son la nica tcnica disponible, as que vamos a continuar presentndote alguna que otra ms. La siguiente son los Diagramas de Gantt.

Se utiliza principalmente en proyectos pequeos (sobre las veinticinco actividades) y supera algunos de los inconvenientes de los diagramas de hitos. Probablemente este diagrama sea el ms utilizado porque a primera vista parece ms comprensible que las redes de precedencia.

14

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Consiste en un diagrama de barras en forma de tabla donde se hace una referencia cruzada entre las tareas (filas) y las unidades de tiempo (columnas) empleadas para medir la duracin de las mismas.

UNIDADES DE TIEMPO TAREAS 1 Tarea 1.1 Tarea 1.2 Tarea 1.3 Tarea 2.1 Tarea 2.2 Tarea 2.3 Tarea 3.1
Dentro de este tipo de diagramas, se pueden incluir fases que engloben diferentes tareas. La duracin de cada fase es la necesaria para concluir esas tareas. Estos diagramas se pueden utilizar para estimar los recursos y el presupuesto en funcin del tiempo, totalizando los costes de las diferentes actividades del proyecto.

10

UNIDADES DE TIEMPO

1 FASE 1 Tarea 1.1 Tarea 1.2 Tarea 1.3 FASE 2 Tarea 2.1 Tarea 2.2 Tarea 2.3 FASE 3 Tarea 3.1

10

15

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

PARA SABER MS Artculo muy interesante para la ampliacin de los diagramas de Gantt, en el que se pueden encontrar tambin algunos ejemplos de redes de precedencia. Diagramas de Gantt. http://www.gestiopolis.com/recursos/documentos/fulldocs/ger/diaggantaleja.htm

2.8.- Tcnicas. Redes de Precedencia, Redes Pert.


2.8.1.- Introduccin a las redes de precedencia. Como seguro que ya has notado, la siguiente tcnica de la que nos vamos a beneficiar en la planificacin de nuestros proyectos son las redes de precedencia, o redes PERT. Crees que es una tcnica nueva aplicable solo a proyectos informticos? Nada de eso. Las redes PERT se idearon y usaron por primera vez para mejorar la planificacin del proyecto Polaris, en Estados Unidos. Su uso permiti reducir el tiempo total del proyecto en un ao.

A finales de los aos cincuenta aparecieron tcnicas basadas en grafos para la

planificacin de proyectos, las redes de precedencia, que tratan la relacin entre el coste y la duracin de las actividades. Es lo que se conoce como planificacin de proyectos con coste mnimo.

Estas tcnicas son adecuadas cuando se cumplen las siguientes afirmaciones en el proyecto:

Tiene todas sus actividades bien definidas. Las actividades se pueden comenzar, interrumpir y realizar de forma separada dentro de una secuencia dada. Pueden existir relaciones entre actividades. Las actividades estn bien ordenadas, de modo que se puede seguir una secuencia. Una vez comenzada una actividad, debe continuar sin interrupcin hasta su conclusin.

Con estas redes se pretende establecer la secuencia de sucesos clave en un proyecto, permitiendo de este modo mostrar el camino crtico, que ser la base de la planificacin y el control del proyecto.

16

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Para disminuir el tiempo total, hay que reducir los tiempos de las actividades incluidas en el camino crtico, y eso habitualmente supone un aumento de costes. Lo normal es que los ajustes de tiempos aparezcan a medida que se avanza y eso puede llevar a retrasos inevitables, lo que significa que el camino crtico previsto inicialmente no determina la duracin real del proyecto y por tanto pueden aparecer nuevos caminos crticos. El jefe del proyecto debe supervisar continuamente aquellas actividades susceptibles de provocar retrasos y valorar el impacto de los posibles cambios, para evitar la aparicin de nuevos caminos crticos y por consiguiente los retrasos en el proyecto.

Tambin se representan con las redes de precedencia, las actividades que no son crticas, lo que permite tener una visin global del control del proyecto y facilitar al jefe del mismo, la reordenacin de tareas o reasignacin de los recursos disponibles.

2.8.2.- Representacin de diagramas PERT La tcnica PERT parte de la descomposicin del proyecto en actividades. Las actividades ocurren entre dos sucesos; inicial y final. La representacin se realiza mediante un grafo en el que las actividades se muestran con flechas y los sucesos con nodos.

Importante: La longitud de la flecha NO tiene nada que ver con la duracin de la actividad.

Para cada actividad es preciso estudiar las relaciones de precedencia, es decir, las actividades que deben estar finalizadas antes del comienzo de la actividad en cuestin.

Nombre de la Actividad
1
SUCESO INICIAL

2
SUCESO FINAL

17

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Hay tres tipos de relaciones de precedencia entre actividades, que se muestran en la siguiente tabla:

TIPOS DE RELACIONES DE PRECEDENCIA. Tipo de relacin Representacin grfica Descripcin. Antes de iniciar la actividad B es preciso haber
3

A
Lineales
1 2

concluido la actividad A. En este caso el nodo 2 es suceso final de la actividad A y es suceso inicial de la actividad B.

A
1

B
Convergentes
2 4

D
5

Para iniciar la actividad D es preciso haber concluido las actividades A, B y C.

C
3

B A
Divergentes
1 2

C
4

Para poder iniciar cualquiera de las actividades B, C o D, es preciso que haya terminado la actividad A.

D
5

2.8.3.- Ejemplo de elaboracin de un diagrama PERT. Vamos a realizar el anlisis de un trabajo que se puede llevar a cabo en un taller de reparacin de ordenadores. Las actividades que deben realizarse para la reparacin del equipo en cuestin son las siguientes: A. Tomar datos del equipo y su propietario para la recepcin. Elaborar nota para reparacin. (tiempo estimado de duracin, 1 hora). B. Diagnosticar los problemas y elaborar presupuesto de reparacin. (3 horas). C. Pasar el presupuesto al cliente. El cliente confirma el presupuesto y damos la orden de reparacin. (2 horas). D. Cambio o reparacin de los componentes defectuosos y prueba exhaustiva del equipo para comprobar su funcionamiento tras la reparacin. (5 horas). E. Confeccin de factura o documento de reparacin y entrega del equipo reparado al cliente. (2 horas) F. Un equipo que est perfectamente identificado y en garanta, presenta problemas. (2 horas). G. El cliente no confirma el presupuesto y se lleva el equipo sin reparar. (1 hora). H. Los problemas diagnosticados no tienen reparacin y el cliente se lo lleva sin coste. (1 hora).

18

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Para facilitar la comprensin de los ejemplos posteriores, evitamos las fracciones de hora en la duracin de las actividades (normalmente se trata de actividades ms complejas, y la duracin de las tareas suele hacerse en nmero de das, aunque evidentemente depende de cada proyecto). Y lo resumimos en el siguiente cuadro:

Actividades Duracin (horas)

A 1

B 3

C 2

D 5

E 2

F 2

G 1

H 1

Las relaciones entre las actividades son las siguientes:

A precede a B y H B precede a C y G D precede a E C y F preceden a D

Hay dos formas (igualmente efectivas) de representar este conjunto de relaciones:

La matriz de encadenamientos. El cuadro de relaciones de precedencia.

Matriz de encadenamientos ACTIVIDADES PRECEDENTES j = A .. H ACTIVIDADES SIGUIENTES A A i = A .. H B C D E F G H x x x x x x x B C D E F G H

Cuadro de relaciones de precedencia Actividades de proyecto A B C D E F G H Actividades precedentes A B CyF D B A

19

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Con

la

ayuda

de

estas

dos

herramientas, estamos en disposicin de construir el grafo representativo de las redes pert, en el que la finalizacin de cada actividad nos lleva a un estado del proyecto.

El diagrama nos indica el orden de precedencia actividades a de las diferentes Cualquier

realizar.

empleado del taller de reparacin slo tiene que seguir el diagrama para atender correctamente a un cliente.

A cada una de las actividades del proyecto debemos asignar un tiempo. Pert considera que la duracin de cada actividad es un valor que sigue una distribucin estadstica. Para la asignacin de tiempo a una determinada actividad, debemos considerar tres variables:

Estimacin del tiempo pesimista (tp). Tiempo mximo en que podra finalizarse la actividad si suceden todas las previsiones ms negativas. Estimacin del tiempo normal (tn). Tiempo ms probable en que es posible finalizar la actividad, teniendo en cuenta que pueden aparecer algunos problemas, pero no todos. Estimacin del tiempo ms optimista (to). Tiempo mnimo en que se puede finalizar la actividad si no aparece ningn problema.

Con estas tres variables, vamos a trabajar con el Tiempo PERT (Tij), que podemos calcular aplicando la frmula siguiente:

Esta frmula viene a considerar que la probabilidad de que se presenten los inconvenientes ms negativos y la probabilidad de que no se presente ningn inconveniente son cuatro veces menores que la probabilidad de que haya algn problema, pero no todos al mismo tiempo.

20

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

El Tiempo PERT se calcula para cada una de las actividades, pero el grafo representa adems diferentes estados, para los que es necesario calcular:

El tiempo Early (TE o ms temprano posible o ausencia de demora). Representa el tiempo mnimo que debe transcurrir desde el comienzo del proyecto para alcanzar un determinado estado o suceso.

El tiempo Last (TL o ms tardo posible o mayor demora posible). Representa el tiempo mximo que podemos tardar en alcanzar un determinado estado o suceso de forma que el proyecto no se retrase.

2.8.4.- Clculo de los Tiempos Early. Esta tcnica no es slo una representacin grfica, sino que tiene tambin toda una teora, con definiciones que hay que asimilar, y mtodos que hay que aprender a realizar para calcular algunos valores. Vamos a empezar viendo cmo se calculan los tiempos Early de cada uno de los sucesos de nuestro proyecto.

El Tiempo Early del suceso j (TEj) se calcula como el valor mximo que se obtiene al sumar el Tiempo Early de los sucesos iniciales de todas las actividades que finalizan en el suceso j y la duracin de cada una de estas actividades.

Hay que tener en cuenta que el primer tiempo (TE1) es cero, porque la primera actividad se puede iniciar nada ms comenzar el proyecto. Veamos cmo se calcula el Tiempo Early de algunos sucesos del ejemplo anterior segn la tabla de duracin de actividades obtenida. En ella las actividades E, G y H no aparecen en negrita para indicar que no tienen actividades que les siguen, y por tanto todas ellas terminan en un nodo final de proyecto.

Actividades Duracin

A 1

B 3

C 2

D 5

E 2

F 2

G 1

H 1

21

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2.8.5.- Clculo de los Tiempos Last. Hay que tener en cuenta que el Tiempo Last del ltimo suceso, coincide con su Tiempo Early.

Se trata de establecer que si lo ms pronto posible que se puede llegar a alcanzar el ltimo suceso es su tiempo Early, tambin debe ser igual su tiempo Last, puesto que no estamos dispuestos a retrasar el proyecto. Es decir, si podemos terminar nuestro proyecto como muy pronto en 100 das, por ejemplo es normal que queramos terminarlo en esos 100 das, ya que es posible. Por tanto, consideraremos que el final del proyecto, como muy tarde, debe alcanzarse a los 100 das.

Con los tiempos Last, lo que pretendemos determinar por tanto, es el tiempo mximo que podemos tardar en alcanzar ese suceso sin que se retrase el resto del proyecto. Teniendo eso en cuenta, para un suceso i el Tiempo Last se calcula, como la menor diferencia entre los Tiempos Last de todos los sucesos en los que terminan las actividades que parten del suceso i, y la duracin de las actividades en cuestin.

22

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

De este modo podemos concretar que la representacin de nuestro ejemplo mediante el grafo de Redes Pert queda como sigue:

2.8.6.- Holguras de sucesos y actividades: camino crtico. Y para qu sirve tanto clculo de tiempos Last y tiempos Early? Bsicamente nos permite calcular la holgura de cada suceso y actividad, que a su vez nos permite detectar actividades que admiten cierto retraso sin poner en peligro los plazos de ejecucin, y aquellas otras actividades crticas que de retrasarse, retrasarn inevitablemente todo el proyecto.

Seguro que ves claramente lo que eso significa: Con esa informacin, podremos distribuir los recursos asignados a cada actividad de la manera ms eficiente, para evitar incumplir los plazos, o incluso para acortarlos. El tiempo es oro!

El concepto de holgura de un suceso, indica el nmero de unidades de tiempo que ste se puede retrasar sin que afecte la duracin total del proyecto. Y se calcula como la diferencia entre el Tiempo Last y el Tiempo Early. De este modo la holgura del suceso i se calcula como:

Hi = TLi TEi Por ejemplo para el suceso 4 del grafo anterior, sera: H4 = TL4 TE4 = 6 6 = 0

23

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

En este grafo ninguno de los sucesos presenta holgura, lo que significa que tenemos que alcanzar todos los sucesos en el tiempo mnimo que es posible hacerlo, si no queremos que se vea retrasado el proyecto. No obstante, en muchos casos s que es posible encontrar holguras distintas de cero para algunos sucesos del grafo, lo que significara que es posible alcanzarlos ms tarde del tiempo mnimo establecido, y que an as no se vea retrasado el resto del proyecto. Asociado a este concepto aparece tambin el de Holgura Total de una Actividad, como el nmero de unidades de tiempo que puede retrasarse su realizacin sin que aumente la duracin total del proyecto. Y se calcula como la diferencia entre el Tiempo Last del suceso final de la actividad, menos el Tiempo Early del suceso inicial, menos la duracin de la actividad. As para la actividad que comienza en el suceso i para finalizar en el suceso j: HTij = TLj TEi Tij Por ejemplo para la actividad F del grafo anterior, sera HT14 = TL4 TE1 T14 = 6 0 2 = 4 Y para la actividad G, sera HT37 = TL7 TE3 T37 = 5 4 1 = 0

Las actividades que tienen una holgura total igual a cero se denominan Actividades Crticas. Uniendo todas las actividades crticas desde el suceso inicial hasta el suceso final del proyecto, obtenemos un camino, que recibe el nombre de camino crtico.

Cualquier retraso en alguna actividad del camino crtico conlleva un inevitable retraso similar del proyecto.

24

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Por ltimo podemos definir la Holgura Libre de la actividad ij, que representa la parte de la Holgura Total que puede consumirse sin afectar a las siguientes actividades, como la diferencia entre el tiempo Early del suceso final menos el tiempo Early del suceso inicial menos el tiempo de la actividad:

HLij = TEj TEi Tij Por ejemplo para la actividad F del grafo anterior, sera HL14 = TE4 TE1 T14 = 6 0 2 = 4

Y para la actividad G HL37 = TE7 TE3 T37 = 5 4 1 = 0

Hay que hacer notar que algunos autores cambian estos nombres por Margen de Demora Total (Holgura Total) y Demora Permisible (Holgura Libre) y as podemos encontrarlos en algunas aplicaciones destinadas a la gestin de proyectos.

Y como resumen final, piensa lo que nos permite toda esta teora:

Determinar las actividades crticas, y el camino crtico, y as poder Destinar los recursos suficientes a esas actividades para que no se retrasen, y para ello, Podremos reasignar recursos desde otras actividades cuya holgura libre margen de maniobra. Conseguiremos as hacer nuestro proyecto en un tiempo mnimo, e incluso Podremos identificar las actividades sobre las que habr que incidir si se quiere reducir el tiempo de ejecucin del proyecto. nos de cierto

AUTOEVALUACIN 6.- Las Redes de precedencia son adecuadas cuando en el proyecto se da la situacin de que a) No existen relaciones entre actividades. b) Las actividades estn bien ordenadas, de modo que se puede seguir una secuencia. c) Existen dudas sobre las diferentes actividades que componen el proyecto. d) Cuando no es adecuado el uso de diagramas de Gantt.

25

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

7.- Respecto a las redes de precedencia, cules de las siguientes afirmaciones es correcta? a) El camino crtico no determina la duracin real del proyecto. b) Con estas redes se pretende establecer la secuencia de sucesos clave en un proyecto, permitiendo de este modo mostrar el camino crtico, que ser la base de la planificacin y el control del proyecto. c) Para disminuir el tiempo total del proyecto, es preciso aportar ms recursos. d) Se representan tambin las actividades no crticas.

8.- Entre los tipos de relaciones de precedencia entre actividades de un proyecto, podemos encontrar a) Lineales, convergentes y divergentes. b) Unitarias, binarias y terciarias. c) Lineales y circulares. d) Escalares y digitales.

PARA SABER MS Amplio artculo sobre las redes Pert que puede ser un magnfico complemento a los contenidos de este apartado. Redes Pert http://www.gestiopolis.com/recursos/documentos/fulldocs/ger/pertcpm.htm

3.- Estimacin de recursos y costes.


Las estimaciones suelen ser valoraciones del esfuerzo esperado para el desarrollo del proyecto y de los plazos de tiempo requeridos para completarlo, teniendo en cuenta cierto grado de error. Se asume que los gastos del proyecto estn dominados por los gastos del personal, por lo que la principal unidad de medicin suele ser el nmero de salarios mensuales o anuales del equipo de desarrollo, por lo que la unidad de estimacin suele ser personas-mes o personas-ao.

de tes n i Cos c a y m ti sos s E ur c Re

26

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Para la realizacin de una buena estimacin de los recursos y costes durante el desarrollo de un proyecto software es necesario disponer de: Experiencia mnima en estimaciones. Haber participado en algunas anteriormente. Conocimientos sobre la complejidad y tamao del proyecto. Es imprescindible tener cierto conocimiento de estos aspectos del proyecto, ya que suelen ser determinantes a la hora de hacer estimaciones. Informaciones caractersticas. histricas. Especialmente de proyectos similares o de similares

La estimacin se realiza sobre recursos, costes y plazos de tiempo necesarios al principio del proyecto, y deben ser actualizadas constantemente durante el desarrollo del mismo, indicando el grado de cumplimiento de cada uno de ellos y su repercusin en el resultado final.

3.1.- Estimacin de recursos.


Cuando hablamos de los recursos necesarios para llevar a cabo el proyecto planteado, nos referimos tanto a recursos humanos, materiales e incluso a la informacin que se debe tratar o utilizar, por ello es habitual encontrar una clasificacin de recursos segn el siguiente esquema: Herramientas hardware. Es preciso indicar el nmero de unidades de cada dispositivo, para qu va a ser utilizado y detallar las caractersticas deseables de cada uno. En ocasiones se hace inevitable que varios proyectos compartan determinadas herramientas, por lo que es necesario hacer una distribucin de uso. Herramientas software. Debe ser recogido el modo de uso de todo el software y bajo qu condiciones actuar en el proyecto, por ejemplo si se utilizar de forma individual o como recurso compartido en red, si tendr diferentes niveles de acceso y las posibilidades de cada nivel, etc. Personal. Detalle de los diferentes puestos organizativos dentro del proyecto y las funciones o actividades asignadas a cada uno de ellos, estableciendo claramente los protocolos de actuacin y seguridad durante todo el proyecto. Como resumen de lo anterior, podemos concretar que cada recurso debe quedar especificado mediante cuatro caractersticas:

Descripcin del recurso (hardware o software) o habilidad requerida (del personal). Disponibilidad. Fecha de comienzo. Duracin del uso (hardware o software) o duracin de la tarea (del personal).

27

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

3.2.- Estimacin de costes.


Como ya has visto a lo largo de las unidades anteriores, incluso a lo largo de las unidades del mdulo de PLE, si tambin lo has cursado, el software es el elemento ms caro de los sistemas informticos. Por eso, entenders que pongamos tanto empeo en conseguir reducir sus costes, tanto de desarrollo como de mantenimiento. Por eso tambin ponemos especial empeo en estimar convenientemente esos costes al iniciar el proyecto.

Qu pasara si abordamos un proyecto y el coste resulta inasumible para el cliente?

Seguramente habrs pensado, con razn, que habremos estado perdiendo el tiempo y trabajando intilmente, porque el proyecto no podr terminarse por falta de financiacin. Y no slo eso, tenemos que estimar los beneficios que el proyecto aportar al cliente una vez que est terminado. Si el cliente hace una inversin es normal que quiera rentabilizarla, por lo que el resultado del proyecto debe suponer una mejora para el cliente que debe ser tambin cuantificable.

Un error en la estimacin de coste puede ser la diferencia entre los beneficios y las prdidas. Sobrepasarse en el coste puede ser desastroso para el equipo de desarrollo.

A pesar de que estamos hablando del trmino estimacin de coste para proyectos de software, los valores obtenidos no se miden directamente en unidades monetarias. Las

estimaciones suelen ser valoraciones, con un cierto error (por ejemplo, se suele asumir un 20%) del esfuerzo esperado para el desarrollo del proyecto y de los plazos de tiempo requeridos para completarlo.

Costes: Personas-mes

Ya que el software es un producto sin existencia fsica propia y cuyo coste principal reside en su desarrollo o diseo (no en su fabricacin o replicacin a partir de la primera copia), es lgico que se asuma que el coste de su produccin est dominado por los gastos de personal, como hemos indicado anteriormente. Por eso, la principal unidad de medicin de coste del proyecto (esfuerzo de desarrollo) suele ser el nmero de salarios mensuales o anuales que deben pagarse. El esfuerzo de desarrollo se mide por tanto en personas-mes o personas-ao.

Para conseguir una buena previsin de costes, es necesario invertir en la implantacin de mecanismos para la recogida de datos que sirvan para mejorar las predicciones futuras, as como en el desarrollo de mtodos apropiados de estimacin.

28

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN 9.- Para hacer una estimacin del coste de desarrollo de un proyecto software, es necesario hacer una valoracin del esfuerzo. De las siguientes afirmaciones, marca todas las que son correctas: a) Se asume un error del 20%. b) Est dominado por los gastos de personal. c) La unidad de medida personas-mes, se refiere al nmero de trabajadores que formarn parte del equipo durante un mes. d) El esfuerzo del proyecto se mide en nmero de salarios mensuales que deben pagarse.

3.2.1.- Mtodos de estimacin de costes. Es fcil hacer una buena estimacin de costes? Si a veces nos cuesta trabajo cuadrar las cuentas a final de mes, y eso que suelen ser bastantes parecidas todos los meses, imagina lo complicado que puede ser estimar los costes de los proyectos, donde cada uno es distinto del anterior, y donde la cantidad de variables a tener en cuenta es enorme. Ser el coste igual si intervienen programadores y analistas expertos que si son novatos? Influir el hecho de que el proyecto se haga con un nuevo lenguaje de programacin? Son importantes las herramientas de desarrollo disponibles? El coste de proyectos similares en complejidad y tamao, ser similar? Vale de algo la experiencia a la hora de hacer las estimaciones de costes? Existen frmulas que puedan aplicarse sin ms para obtener el coste de un proyecto dado?

Poco a poco iremos despejando esas incgnitas. Podemos decir que existen cuatro tipos de mtodos para la estimacin de costes de proyectos software: 1. Opinin de expertos. Consiste en un estimacin basada en la experiencia. Se suele emplear la opinin de ms de un experto para obtener una mayor fiabilidad en la estimacin. En algunos casos, simplemente se calcula la media de los valores ofrecidos por las distintas personas. Esto tiene el riesgo de que la estimacin obtenida puede resentirse mucho a causa de uno o dos valores extremos. Tambin se puede efectuar una reunin tan larga como sea necesaria hasta llegar a un consenso, pero se corre el riesgo de que las personas ms influyentes, por su capacidad o por su poder de convencimiento, sean las que determinen el resultado final.

29

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

2. Estimacin por analoga. Se compara el proyecto a estimar con otros. En funcin de las similitudes y diferencias con ellos se deduce el coste del nuevo proyecto. La principal ventaja de esta tcnica es que est basada en la experiencia real (no slo en la subjetiva) de los proyectos. El inconveniente esencial es que es difcil conocer realmente el grado de similitud del proyecto que se estima con el elegido.

3. La descomposicin. Consiste en descomponer el proyecto en sus funciones principales y stas a su vez en las suyas, hasta conseguir un nivel de detalle tal que se pueda estimar directamente cada una de sus unidades elementales. El coste total del proyecto ser la suma de todas las estimaciones individuales. Por ejemplo, existen tcnicas en las que tras la descomposicin, el responsable de cada componente del software que hay que construir, estima el coste de desarrollo de ese componente. La estimacin para el proyecto completo se calcula mediante la suma de las cantidades parciales. Para poder aplicar esta tcnica con una mnima eficacia, es preciso disponer de un diagrama de descomposicin del producto (WBS del producto), que suele crearse en la planificacin del proyecto y que representa la jerarqua del producto. La tcnica suele complementarse con un diagrama de composicin de actividades del proyecto (WBS del trabajo) que indica la jerarqua de tareas del proyecto. De esta manera se asegura que actividades como la integracin de componentes o la gestin de la configuracin queden reflejadas en la estimacin del coste.

4. Ecuaciones o modelos empricos. Son frmulas matemticas que relacionan diversos parmetros del proyecto con el coste o esfuerzo requerido. Como ejemplo de estos mtodos existe el modelo COCOMO que veremos en el siguiente apartado, pero tambin SLIM y la estimacin con puntos de funcin.

Existen herramientas automatizadas de estimacin, tanto para los modelos de descomposicin como para los empricos.

30

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

3.2.2.- Modelo Cocomo. Seguro que te ha sonado bien la idea que plantebamos de conseguir una frmula o ecuacin que pudiramos aplicar sin ms, para calcular el coste de un proyecto. De hecho, suena tan bien, que ha habido investigadores que la han desarrollado. Pero antes de que empieces a lanzar las campanas al vuelo, no olvides que seguimos dentro del campo de la estimacin de costes, y en esa frmula no todas las incgnitas tienen valores claros y conocidos. El modelo COCOMO es de este tipo, pero la primera variable que destaca en la frmula es el tamao en miles de lneas de cdigo de nuestro proyecto. Cmo lo vamos a saber, si precisamente estamos viendo si merece la pena programarlo y todava no hemos escrito una sola lnea de cdigo? Probablemente una vez ms tendremos que recurrir a los expertos en proyectos similares, para que esta primera estimacin sea lo ms precisa posible. El modelo COCOMO (COnstructive COst MOdel) es seguramente el modelo ms conocido de estimacin de esfuerzo. Se apoya en una estimacin previa del tamao del software en LDC o tambin en KLDC. Este dato sirve como parmetro de las ecuaciones de clculo, cuya forma general es la siguiente:

Esfuerzo = a * (KLDC)b
El esfuerzo se mide en personas-mes y en la ecuacin, KLDC es el tamao en miles de lneas de cdigo, mientras que a y b son parmetros de ajuste segn el tipo de desarrollo del proyecto, que puede ser: Orgnico. Desarrollo en un entorno estable, con poca innovacin tcnica, con pocas presiones de tiempo y tamao relativamente pequeo (< 50 KLDC). Empotrado. Desarrollo de software con requisitos muy restrictivos, con requisitos poco claros,
Tipos de desarrollo de proyectos

MODELO COCOMO Esfuerzo = a * (KLDC)b


KLDC: Miles de lneas de cdigo a y b: Parmetros que dependen del tipo de proyecto

Orgnico Empotrado Semilibre

complejo y en un entorno con gran innovacin tcnica. Semi-libre. Situaciones entre el modo orgnico y el empotrado.

Las ecuaciones, tanto para el clculo del esfuerzo como para el de tiempo de desarrollo, para cada uno de los modos se ofrecen en la tabla siguiente:

31

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Modo de desarrollo Orgnico Semi-libre Empotrado

a 3,2 3,0 2,8

b 1,05 1,12 1,20

Personas-mes (nominal) PM = 3.2 x KLDC


1.05

Tiempo de desarrollo (nominal) TD = 2.5 x PM 0.38 TD = 2.5 x PM 0.35 TD = 2.5 x PM 0.32

PM = 3.0 x KLDC 1.12 PM = 2.8 x KLDC 1.20

A partir de estas ecuaciones bsicas, COCOMO distingue tres modelos distintos que se corresponden con las diferentes cantidades de informacin disponible en las distintas etapas del ciclo de vida: COCOMO bsico, para estimaciones iniciales moderadamente precisas al inicio del proyecto, cuando no se dispone de detalles, por ejemplo para empezar a negociar el contrato. Consiste en aplicar la ecuacin bsica antes presentada. COCOMO intermedio, cuando tenemos identificados los principales componentes del sistema, por ejemplo cuando se dispone de una especificacin de requisitos ms o menos terminada. Se emplea para estimar el coste de dichos componentes y consiste, primeramente en aplicar la ecuacin bsica para el esfuerzo o el tiempo de desarrollo denominado nominal, ya que no est adaptado a las caractersticas del entorno de desarrollo. Despus, este esfuerzo nominal se ajusta incorporando la influencia de 15 factores de coste: 1. Fiabilidad requerida. 2. Tamao de la Base de Datos. 3. Complejidad del software. 4. Restricciones de tiempo de ejecucin. 5. Restricciones de memoria. 6. Volatilidad del hardware. 7. Restricciones de tiempo de respuesta. 8. Calidad de los analistas. 9. Experiencia con el tipo de aplicacin. 10. Experiencia con el hardware. 11. Experiencia con el lenguaje de programacin. 12. Calidad de los programadores. 13. Tcnicas modernas de programacin. 14. Empleo de herramientas. 15. Restricciones a la duracin del proyecto. A cada uno de esos factores se le pueden asignar valores, a elegir entre 6 posibles, que son Muy Bajo, Bajo, Medio, Alto, Muy Alto y Extra Alto, segn la tabla elaborada por Boehm en 1981.

32

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

COCOMO detallado, cuando estn identificados los componentes individuales del sistema, por ejemplo cuando se dispone de una especificacin de requisitos totalmente acabada o cuando el diseo general est bien definido. En este caso, el modelo COCOMO proporciona tablas para poder distribuir las cantidades, ajustadas al entorno, del esfuerzo y del tiempo de desarrollo del proyecto a lo largo de las distintas fases del mismo. Incluso se permite refinar el ajuste de los factores, para adaptarlo a las peculiaridades de cada etapa del proyecto. COCOMO permite estimar tambin el coste del mantenimiento del software.

Para la aplicacin del modelo COCOMO se necesita:

Conocer el tamao del software que se va a construir en KLDC. Debemos valorar cada uno de los factores de coste sobre una escala ordinal de seis niveles que va desde muy bajo hasta extra alto (en importancia de valor). Cuando un factor se valora como nominal o medio, su valor asignado es siempre 1, con lo que no influye en el coste.

Boehm elabor una serie de criterios para poder valorar el nivel de cada uno de los factores, por ejemplo hay un factor que se refiere a la experiencia en el lenguaje de programacin, donde los niveles abarcan desde el mes de experiencia en el ms bajo a ms de tres aos en el ms alto. Adems, en el modelo COCOMO se asume que cada uno de los factores es independiente de los dems (no influyen unos en otros), aunque esto puede ser discutible.

PARA SABER MS Monogrfico sobre el modelo COCOMO de estimacin de costes, describe los diferentes modelos y obtiene conclusiones que ayudan a entender el modelo.

http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm

Otra Web del modelo COCOMO en la que podemos apreciar otra visin de este modelo de estimacin.

http://galeon.hispavista.com/analisis_de_sistemas/MCOCOMO.htm

El modelo de estimacin COCOMO presenta muchas variantes segn su mbito de aplicacin, el siguiente enlace puede servir para conocer las caractersticas del COCOMO II.

http://www.ldc.usb.ve/~teruel/ci4713/clases2001/cocomo2.html

33

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

En el siguiente enlace puedes encontrar un PDF que describe el uso de una de las herramientas de trabajo (CocomoTool) para el modelo COCOMO. http://www.pdt.gub.uy/files/6.2.3%20-%20CocomoTool_Basico.pdf

3.2.3.- Crticas a estos modelos de estimacin de costes. Naturalmente ningn modelo de estimacin de costes es perfecto, pero al menos nos proporcionan mtodos para obtener una primera aproximacin, y unos mrgenes de error, que nos den ciertas garantas. Sin embargo, Cules son las principales crticas que podemos hacer de estos modelos? En qu fallan? Los modelos que usan el nmero de LDC tienen el inconveniente de que hay que calcular de alguna manera este parmetro, y esto no es siempre sencillo. Todos los modelos han surgido de datos estadsticos de proyectos. El problema es que la cantidad y la representatividad de los proyectos no es tan amplia como sera deseable. Los modelos pierden precisin si se aplican en entornos distintos a los que se crearon. Hay que adaptarlos constantemente al entorno. Los errores en las estimaciones son de 25%.

4.- Seguimiento y supervisin del proyecto software.


El seguimiento y la supervisin del proyecto software implica seguir, revisar y comparar los logros y los resultados obtenidos frente a las estimaciones, los compromisos y los planes del proyecto, actualizndolos en funcin de estos resultados obtenidos en cada momento.

Adems, el seguimiento y la supervisin del proyecto software puede detectar a veces, que no se sigue el plan. Esto es muy til, ya que el reconocimiento temprano de los problemas es el primer paso para resolverlos con garanta de xito.

Por lo tanto, se puede decir que los objetivos que pretende conseguir el seguimiento y la supervisin del proyecto software, llevados a cabo por el jefe del proyecto, son:

1. Comparar los resultados actuales con los planes previstos (supervisin del progreso del proyecto). 2. Tomar acciones correctivas cuando existan desviaciones significativas de los planes previstos. 3. Acordar compromisos con el personal afectado por las acciones correctivas.

34

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

4.1.- Supervisin de los resultados.


Cules son las actividades que deberemos desarrollar para supervisar los resultados de nuestros proyectos? Qu criterios deberemos adoptar para no separarnos demasiado del plan previsto, y para facilitar la comprobacin de posibles desviaciones respecto a ese plan?. Para llevar a cabo esta supervisin, es preciso desarrollar una serie de actividades: Establecer las condiciones o medidas que deben cumplirse cuando se realicen correctamente las diferentes tareas del proyecto. Esto incluir documentos, terminologa, comportamiento del software y cualquier otra cosa que indique a los miembros del equipo de desarrollo los resultados esperados tras la correcta realizacin de cada tarea, de modo que si los resultados no se ajustan no podemos decir que dicha tarea ha sido realizada correctamente. Establecer sistemas de supervisin y de informes, para lo cual hay que determinar los datos necesarios, quin los recibe y cundo se reciben. Medir los resultados, lo que permite determinar la consecucin o la desviacin de los objetivos y previsiones. Teniendo en cuenta estas actividades, algunos de los criterios necesarios para controlar los proyectos de acuerdo al plan van a ser: Planificacin detallada del proyecto. Desarrollar un plan detallado del proyecto implicando a todo el personal clave, definiendo el trabajo especfico a realizar, el tiempo, los recursos y las responsabilidades. Descomponer el proyecto global en actividades y tareas. Utilizar la WBS como tcnica de descomposicin. Resultados y entregables. Definir los objetivos y los requisitos del proyecto en trminos de especificaciones, planificacin, recursos y productos entregables del proyecto. Fijar hitos. Definir los hitos y los puntos de verificacin del proyecto. Adems, se pueden definir los resultados, los entregables y las medidas tcnicas especficas frente al calendario y al presupuesto. Establecimiento de compromisos. Obtener el compromiso de todo el personal clave (equipo de proyecto y direccin) en cuanto al plan del proyecto, sus medidas y sus resultados. Seguimiento del proyecto. Definir e implementar un sistema de seguimiento del proyecto que capture y procese los datos del proyecto obtenidos en las revisiones y acciones de la direccin. Medicin. Asegurar que se realizan medidas fiables de los datos del proyecto, especialmente del progreso tcnico frente al calendario y al presupuesto. Revisiones peridicas. Revisar los proyectos de forma regular tanto a nivel de subsistemas como a nivel de proyecto global.

35

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

AUTOEVALUACIN 10.- Selecciona la opcin que NO se corresponde con un criterio necesario para controlar los proyectos de acuerdo al plan trazado, al realizar la supervisin. a) Revisin y redefinicin constante de los objetivos del proyecto. b) Fijar hitos y puntos de verificacin. c) Establecer compromisos. d) Realizar revisiones peridicas. e) Medir de forma fiable el progreso tcnico frente al calendario y al presupuesto.

4.2.- Acciones correctivas.


Como bien sabrs por experiencia propia, el refrn que dice El hombre propone y Dios dispone es tan cierto como la vida misma. Seguro que t mismo has trazado planes en ms de una ocasin que has tenidos que modificar por imprevistos o que sencillamente no has podido cumplir por que eran poco realistas o porque las circunstancias que tuviste en cuenta se han modificado de forma inesperada, etc. Pero eso nos plantea una cuestin: Qu acciones correctivas tenemos que tomar cuando detectamos que el plan no se est cumpliendo segn lo previsto?

El progreso se determina, sobre todo, mediante la comparacin de los planes previstos, con el tamao del software, con el esfuerzo, con el coste y con el tiempo empleado en finalizar los diferentes productos.
nar asig e r r o onal adi A pers

Y cuando debemos hacer esas comparaciones? Parece razonable que debern hacerse cada vez que se alcance uno de los hitos marcados en el proyecto.

Aj ust d e ar e ho l n ras m ext ero ra

Cuando no se cumplen los planes, se ejecutan diversas acciones correctivas que pueden incluir desde la revisin del plan de desarrollo del software para reflejar los logros reales hasta la replanificacin de todo el trabajo.

A o la el re rga ca tra r len sa da r rio

Reducir el alcance o el contenido de una entrega

El objetivo para el seguimiento del estado y del progreso es que los problemas puedan ser detectados y resueltos con prontitud, cuando los resultados reales se desvan significativamente de los planes.

36

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

En general, las acciones correctivas pueden ser: Aadir o reasignar personal para mejorar la eficiencia. Ajustar el nmero de horas extra. Reducir el alcance o el contenido de una entrega. Alargar o retrasar el calendario.

En algunos casos el problema es bastante pequeo, la accin correctiva est en manos de la direccin y no se requiere la revisin o la aprobacin del cliente para efectuar cambios. En otros casos, la solucin del problema puede ser bastante complicada y, por ello, hay que buscar la aprobacin del cliente, puesto que puede significar cambios significativos de las condiciones pactadas (coste y plazos de ejecucin). Un aspecto clave del software que resulta muy frustrante para los directores es que es intangible. Su evolucin slo puede verse a travs de mediciones significativas. La necesidad desesperada de algunos directores por ver el progreso del software, que se concreta en una fuerte presin para acabar la planificacin y el diseo del software y para empezar inmediatamente con la codificacin, puede ser perjudicial.

AUTOEVALUACIN 11.- El progreso de un proyecto se determina comparando determinados factores con los valores determinados en los planes previos, y esta comparacin se hace normalmente: a) Cada vez que se hace una reunin del grupo de desarrollo. b) Cada vez que se produce un retraso en la entrega de una tarea. c) Cada vez que lo estima oportuno el jefe del proyecto, que para eso es el jefe. d) Cada vez que se alcanza uno de los hitos establecidos. e) Ninguna de las respuestas anteriores es correcta.

12.- Cuando los resultados reales se desvan significativamente de los planes en la ejecucin de un proyecto, y al comprobar su progreso, se debern tomar medidas correctivas. De la siguiente lista, selecciona todas aquellas opciones que NO son medidas correctivas vlidas. a) Aadir o reasignar personal para mejorar la eficiencia. b) Rehacer los diagramas PERT y redes de precedencia elaboradas para el proyecto. c) Ajustar el nmero de horas extra. d) Revisar los valores asignados a algunos de los parmetros establecidos en el mtodo de estimacin de costes COCOMO. e) Alargar o retrasar el calendario. f) Renegociar las condiciones del proyecto con el cliente, tanto en coste como en plazos de entrega. 37

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

SOLUCIONES AUTOEVALUACIN 1.2.3.4.5.6.7.8.9.10.11.12.c d a, b, d d a, c b b, d a a, b, d a d b, d, f

GLOSARIO
Actividades crticas Aquellas actividades que influyen en la duracin final del proyecto. Si se produce un incremento en la duracin de una actividad crtica (un retraso), inevitablemente el tiempo del proyecto aumenta en la misma proporcin.

Camino crtico Secuencia ms larga de actividades conectadas y que determina la duracin total del proyecto. Tambin podemos decir que es el conjunto de actividades crticas del proyecto una vez que han sido ordenadas para su ejecucin.

Cuadro de relaciones de precedencia Herramienta que muestra la precedencia de las diferentes actividades que constituyen un proyecto. Se representa mediante una tabla de dos columnas, en la primera se muestran todas las actividades en las que se descompone el proyecto y en la segunda las actividades precedentes que deben estar completadas.

38

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Diagrama de Descomposicin del Trabajo

(WBS- Working Breakdown Structure).

Tcnica que permite representar las actividades que hay que realizar a distinto nivel de detalle por medio de un diagrama de estructuras, de modo que al ir descendiendo aumentamos el nivel de detalle de cada actividad.

Grafo Diagrama que representa diferentes estados o fases unidos por lneas que indican el modo de alcanzar cada uno de ellos desde otro o desde el inicio.

Hito Representa un suceso o evento en el tiempo, que depende de un miembro del equipo de trabajo y que se utiliza para medir el progreso del proyecto.

Investigacin operativa Tambin conocida como Investigacin de Operaciones, es una rama de las Matemticas consistente en el uso de modelos matemticos, estadstica y algoritmos con objeto de realizar un proceso de toma de decisiones. Frecuentemente, trata el estudio de complejos sistemas reales con la finalidad de mejorar (u optimizar) el funcionamiento del mismo.

KLDC Abreviatura de Kilo Lneas De Cdigo, o lo que es lo mismo Miles de Lneas De Cdigo. Es un factor muy utilizado a la hora de hacer estimaciones del esfuerzo de realizacin de una aplicacin informtica.

LDC Abreviatura de Lneas De Cdigo. Se refiere al nmero de lneas de cdigo (en un lenguaje de programacin) que constituyen una aplicacin informtica.

Matriz de encadenamientos Herramienta que muestra la precedencia de las diferentes actividades que constituyen un proyecto. Se representa mediante una matriz de dimensin igual al nmero de actividades en que se

descompone el proyecto. Si un elemento de dicha matriz Mij est marcado, entonces para poder iniciar la actividad i es necesario que haya concluido la actividad j.

Objetivo Enunciado que especifica los resultados que se deben conseguir para que el producto final cumpla los requisitos del cliente, en los plazos y presupuesto acordados.

39

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 5: Gestin de proyectos Software M Lourdes Gutirrez Lpez

Paquetes de trabajo Se trata de una especificacin de lo que hay que realizar al finalizar una funcin, actividad o tarea. Define los productos de trabajo, las necesidades de personal, la duracin esperada, los recursos que se utilizarn, los criterios de aceptacin de los productos, los responsables de las actividades y cualquier otra consideracin sobre el trabajo encomendado.

Plan de proyecto Documento que describe los trabajos que se van a realizar y la forma en que va a ser dirigido su desarrollo.

Productos entregables Cada uno de los productos o servicios que se entregan al cliente en el plazo fijado, al finalizar su proyecto. El conjunto de todos los productos entregables, constituyen el proyecto completo final.

Redes de precedencia Representacin grfica del proyecto que relaciona las actividades de tal modo que se pueden visualizar las que son crticas. Es habitual que se muestren en una escala de tiempos para facilitar la distribucin de los recursos y la determinacin del presupuesto.

Relaciones de precedencia de una actividad Todas aquellas actividades y tareas que deben estar finalizadas antes del comienzo de la actividad en cuestin. Son representadas claramente con Redes de Precedencia como por ejemplo Redes Pert.

Suceso Acontecimiento o punto temporal (por ejemplo una fecha) que no consume recursos.

40

C.F.G.S. DESARROLLO DE APLICACIONES INFORMTICAS

MDULO: Anlisis y Diseo de Aplicaciones Informticas de Gestin

Unidad 6
Anlisis de necesidades Y Estudio de viabilidad.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

NDICE DE CONTENIDOS

OBJETIVOS .......................................................................................................................

1.- INTRODUCCIN ..........................................................................................................

2.- DEFINICIN DE ANLISIS DE SISTEMAS (ANLISIS PREVIO) .............................

3.- ANLISIS DE REQUISITOS DE SOFTWARE.............................................................

4.- BSQUEDA Y DESCRIPCIN DE REQUISITOS FUNCIONALES........................... 4.1.- Entrevistas..................................................................................................... 4.2.- Desarrollo conjunto de aplicaciones (JAD) ................................................... 4.3.- El prototipazo.................................................................................................

8 10 14 16

5.- ANLISIS DE VIABILIDAD TCNICA Y ECONMICA.............................................. 5.1.- Anlisis de coste y beneficios .......................................................................

17 20

6.- GUIN PARA UN ANLISIS PREVIO.........................................................................

23

SOLUCIONES AUTOEVALUACIN.................................................................................. GLOSARIO.........................................................................................................................

24 25

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

OBJETIVOS

En esta unidad el alumno comienza a realizar los primeros anlisis y documentos en los que se refleja la primera etapa del anlisis de requerimientos de un proyecto software.

El alumno se va a introducir en el concepto del anlisis de las necesidades de un proyecto software. Este concepto incluye qu es lo que el cliente te pide, y lo que el analista sabr que deber incluir, adems de ensear a realizar un estudio de viabilidad del proyecto software.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

1.- Introduccin.
Seguramente al instalar cualquiera de las aplicaciones que existen actualmente en el mercado, te habrs parado a pensar acerca de la complejidad o dificultad que habr tenido el desarrollo de esa aplicacin, incluso te habrs planteado de qu manera los desarrolladores habrn tenido en cuenta las necesidades reales de los potenciales usuarios de cada una de esas aplicaciones, ya que no es lo mismo realizar un proyecto para una tienda de mascotas, que para una entidad bancaria. Adems tambin tendrs en cuenta que no es lo mismo un solo desarrollador realizando una aplicacin que un grupo de ellos que han de trabajar coordinados.

Pues bien en esta unidad:

Analizaremos las primeras actividades que llevan al desarrollo del software de calidad. Veremos cules son los puntos de partida de un proyecto software, es decir, abordar el estudio de las necesidades del cliente/sistema que queremos construir. Para ello utilizaremos tcnicas de bsqueda de informacin tales como las entrevistas, el desarrollo conjunto de aplicaciones o el prototipado. Evaluaremos la viabilidad del proyecto tras este anlisis, una vez obtenida una idea clara de los objetivos que se desean conseguir desde el punto de vista tcnico, econmico, etc. Obtendremos con ello un primer documento de anlisis del sistema de informacin, que se centra en el estudio de todos los elementos del sistema, pero sin profundizar demasiado como lo har el anlisis de requisitos, con el objetivo de poder decidir si finalmente se construye el sistema o lo abandonamos por no ser viable su construccin.

Una vez decidida la construccin del sistema y de desarrollar el software, es esencial comprender totalmente los requisitos del software. Poca importancia tiene lo bien diseado o codificado que est el programa si no se ha analizado correctamente, por lo tanto definiremos los principios fundamentales del anlisis y qu debe contener el documento de especificacin funcional del software o anlisis de requisitos.

2.- Definicin de anlisis de sistemas (Anlisis previo).


Podemos considerar el anlisis del sistema como el primer paso dentro del anlisis de requisitos del software. Es una primera aproximacin a la Especificacin de Requisitos del Software (ERS) que se concretar y se ampliar una vez decidida la construccin del software. Se trata nicamente de un reconocimiento del problema:

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Estudiaremos la especificacin del sistema, llegando a comprender el software dentro del concepto de sistema. Luego se debe establecer una comunicacin adecuada para el anlisis, para facilitar el reconocimiento del problema. El analista debe establecer contacto con el equipo desarrollador y con el cliente. El objetivo del analista es reconocer los elementos bsicos del problema tal como lo ve el usuario. En definitiva, se intentan conocer los requisitos de funcionamiento del sistema.

Nos vamos a meter en la piel del analista, para ello lo primero que tenemos que hacer es reconocer los objetivos del anlisis del sistema, que sern: Identificar las necesidades del cliente (informe de necesidades). ste es el punto de partida del anlisis previo. El analista se entrevista con el cliente definiendo los objetivos del sistema: 9 9 9 9 La informacin que se va a obtener (salidas). La informacin que se va a suministrar (entradas). Las funciones y el rendimiento requerido, utilizando la tcnica del diagrama de caja negra o modelo sinptico. El analista se asegura en distinguir lo que el cliente necesita (elementos crticos para la realizacin) y lo que el cliente quiere (elementos deseables pero no esenciales). Definir diferentes alternativas de solucin (modelos alternativos). 9 Evaluacin de cada una de las alternativas, indicando la viabilidad econmica, tcnica, legal y operativa (estudio de viabilidad). Se elegir aqulla que sea ms viable (que obtenga el mximo beneficio). 9 9 Especificacin detallada de la alternativa elegida. Definicin de un plan de desarrollo del proyecto.

Evaluar las dificultades de anlisis del sistema. 9 9 9 Transformar un concepto vago en un conjunto concreto de elementos tangibles. Necesidad de alta comunicacin: posibilidad de errores, malos entendimientos, omisiones, etc. El esfuerzo de anlisis del sistema, que puede variar del 10% al 15% del total de desarrollo del software.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Por tanto el anlisis de sistemas concluye con un documento de anlisis previo que contiene la descripcin detallada de la solucin propuesta y su estudio de viabilidad. Un posible esquema para el documento de anlisis previo es el siguiente:

Introduccin. 9 9 9 9 Objetivos del sistema. Entorno de desarrollo. Resumen del estudio de viabilidad. Recursos requeridos. Coste y tiempo.

Descripcin funcional. 9 9 9 Entradas/funciones/salidas.

Solucin propuesta. Descripcin separada del hardware y del software. Asignacin de las funciones a los distintos elementos hardware y software.

Restricciones. 9 De gestin, tcnicas, interfaces, diseo, implementacin, coste y tiempo.

Planificacin temporal.

En la introduccin definimos el objetivo del sistema analizado, la influencia del entorno donde estar implantado el sistema, ver cmo influye sobre los usuarios del mismo, adems se realiza un estudio de viabilidad, estimaremos los recursos necesarios tanto de coste (econmico o de contratacin humana) y el tiempo que tardaremos en desarrollar el proyecto.

En la descripcin funcional haremos un estudio de la caja negra tal y como aprendimos en las primeras unidades del mdulo. Despus mostraremos una serie de alternativas de solucin Por ultimo se presentan los problemas o restricciones que el sistema puede tener, as como la planificacin de desarrollo de la solucin o alternativas de solucin. Al final de la unidad tienes unos ejemplos de estos documentos.

PARA SABER MS. Si quieres profundizar ms sobre el anlisis previo:

IMPROVEM Consultores: Anlisis Previo a la implantacin http://www.improven.com/Servicios/BIAnalisisEIS.aspx?ind=220&sec=28

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

AUTOEVALUACIN 1.- Indica la opcin que NO es un objetivo del anlisis previo. a) Identificar las necesidades del cliente. b) Definir diferentes alternativas de solucin (modelos alternativos). c) Realizar repartos de tareas. d) Definicin de un plan de desarrollo del proyecto.

3.- Anlisis de requisitos de software.


Segn el estndar IEEE, el anlisis de requisitos es:

El proceso del estudio de las necesidades de los usuarios para llegar a una definicin de los requisitos del sistema, de hardware y de software.

El proceso de estudio y refinamiento de dichos requisitos.

Esto se plasma en un documento de Especificacin de Requisitos del Software (ERS) o documento de Anlisis de Requisitos del Software.

La definicin de los requisitos debe ser el fruto del trabajo conjunto de las partes involucradas en un desarrollo:

Los desarrolladores del software (a travs de los analistas), Los clientes y Los usuarios.

El anlisis de requisitos facilita la especificacin de los requisitos esenciales (funciones, rendimiento, diseo, restricciones y atributos) del software y de sus interfaces con otros elementos del sistema. Se indica qu hay que desarrollar, no el cmo, ni el cundo se desarrolla el software. No se indica ningn detalle del diseo del software.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

El anlisis de requisitos consiste en realizar las siguientes actividades:

Definir los requisitos del software. Una tarea iterativa de definicin y especificacin de los requisitos del software a partir de la informacin obtenida durante el anlisis previo. Definir los requisitos de las interfaces con el resto de elementos del sistema (usuarios, hardware y otro software) y con el exterior. Integrar los requisitos en un documento de especificacin de requisitos del software (ERS) o especificacin funcional del software (EFS) o anlisis de requerimientos.

Por lo tanto el anlisis debe:

Representar y comprender el mbito de informacin del sistema. Realizar modelos que representen: 9 9 9 La informacin (anlisis de datos). Funcin (anlisis funcional). El comportamiento del sistema (anlisis de control).

Subdividir el problema. Definir los requisitos del sistema con independencia de los detalles de implementacin. Ayudar al cliente a especificar lo que desea. Ayudar a los desarrolladores a entender qu quiere exactamente el cliente. Se debe especificar lo que el usuario desea sin considerar cmo se va a desarrollar. Debe incluir la definicin correcta de los requisitos, pero no ms: 9 9 9 9 9 9 Funciones. Rendimiento. Prestaciones. Restricciones de diseo. Atributos. Interfaces externos.

No debe incluir detalles de diseo y gestin de proyectos.

El anlisis de requisitos proporciona al analista una representacin de la informacin, y de las funciones que se puede traducir en un diseo de datos, diseo arquitectnico y funcional.

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Por ltimo, la especificacin de requisitos suministra al cliente y al analista un medio para valorar la calidad del software una vez que se haya construido. El anlisis de requerimientos supone el 15-20% del esfuerzo total del desarrollo del software. El anlisis previo supone el 10-15% del esfuerzo total de desarrollo. La fase completa de anlisis conlleva aproximadamente el 30% del esfuerzo. La Estructura de una buena ERS (segn IEEE) podra ser sta:

AUTOEVALUACIN 2.- Una ERS (Especificacin de Requisitos del Software) debe: a) Representar y comprender el mbito de informacin del sistema. b) Definir los requisitos del sistema dependiendo de los detalles de implementacin. c) Especificar lo que el usuario desea considerando cmo se va a desarrollar. d) Incluir detalles de diseo y gestin de proyectos.

PARA SABER MS. Para conocer ms sobre el anlisis de requerimientos: Manual de desarrollo de software de la wikilearning http://www.wikilearning.com/analisis_de_requerimientos-wkccp-3471-3.htm

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

4.- Bsqueda y descripcin de requisitos funcionales.


Cmo comenzamos a identificar y describir los requisitos funcionales de un determinado problema?

El anlisis de requisitos siempre comienza con una comunicacin entre dos o ms partes. Existe un cliente que tiene un problema al que se le puede dar una solucin basada en ordenador. El analista responde a la peticin del cliente y comienza una comunicacin.

Las tcnicas de recogida de informacin surgen como un medio para mejorar la comunicacin entre usuarios/clientes y los desarrolladores de software.

El hecho es que los tcnicos de software normalmente no conocen todos los detalles del trabajo de la empresa para la cual se va a desarrollar la aplicacin y los usuarios no saben qu informacin es necesaria o relevante para el desarrollo de una aplicacin. Para facilitar la colaboracin de ambos mundos (usuarios y desarrolladores) en el proceso de anlisis de los requisitos, se recurre a las tcnicas de comunicacin y recopilacin de informacin.

El proceso de anlisis debera seguir los siguientes pasos:

Identificar las fuentes de informacin relevantes para el proyecto (usuarios). Realizar las preguntas apropiadas para comprender sus necesidades. Analizar la informacin recogida para detectar los aspectos que quedan poco claros. Confirmar con los usuarios lo que parece haberse comprendido de los requisitos. Sintetizar los requisitos en un documento de especificacin apropiado.

El resultado de este proceso es un documento que especifique lo ms claramente posible los requisitos que debe cumplir el software. Para obtener la informacin necesaria, para generar dicha especificacin o bien para realizar un anlisis de viabilidad, usaremos una serie de tcnicas de recogida de informacin siendo las siguientes las ms utilizadas:

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Entrevistas. Es la tcnica ms empleada y la que requiere una mayor preparacin y experiencia por parte del analista. Es similar a una entrevista periodstica en la que el desarrollador entrevista uno a uno a los futuros usuarios del software.

Desarrollo conjunto de aplicaciones (JAD). Se crean equipos de usuarios y analistas que se renen para trabajar conjuntamente en la determinacin de las caractersticas que debe tener el software para satisfacer las necesidades de los usuarios.

Prototipado. Consiste en la construccin de un modelo o maqueta del sistema que permite a los usuarios evaluar mejor sus necesidades.

Observacin. Consiste en analizar in situ cmo funciona la unidad o el departamento que se quiere informatizar. Estudio de documentacin. En casi todas las organizaciones existen documentos que describen el funcionamiento del negocio, desde planes estratgicos hasta manuales de operacin. El analista debe estudiar esta documentacin para hacerse una idea de la normativa que rige la empresa. Tambin es conveniente que recopile muestras de los impresos que se utilizan, ya que nos permiten conocer datos que se manejan.

Cuestionarios. Resultan tiles para recoger informacin de un gran nmero de personas en poco tiempo, especialmente en situaciones en las que se da gran dispersin geogrfica. Tormenta de ideas. Consiste en reuniones de cuatro a diez personas (usuarios) en las cuales, se sugieren toda clase de ideas sin juzgarse su validez, por muy disparatadas que parezcan. En una segunda fase, se realiza un anlisis detallado de cada propuesta.

En la realidad no se usa solamente una de estas tcnicas por separado, sino una combinacin de algunas de ellas.

AUTOEVALUACIN 3.- Los pasos a seguir en el proceso de Anlisis son: a) Identificar las fuentes de informacin relevantes para el proyecto (usuarios). b) Realizar las preguntas apropiadas para comprender sus necesidades. c) Analizar la informacin recogida para detectar los aspectos que quedan poco claros. d) Confirmar con los usuarios lo que parece haberse comprendido de los requisitos. e) Sintetizar los requisitos en un documento de especificacin apropiado. f) Todas las respuestas anteriores son correctas.

g) Ninguna de las respuestas anteriores es correcta. 9

VALLINIELLO
PARA SABER MS.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Para conocer ms sobre tcnicas de recogida de informacin:

Tcnicas de recogida de informacin http://www.marketing-xxi.com/principales-tecnicas-de-recogida-de-informacion-27.htm

4.1.- Entrevistas.
Qu pretendemos conseguir mediante la realizacin de una entrevista?

La entrevista se puede definir como un intento sistemtico de recoger informacin de otra persona a travs de una comunicacin interpersonal que se lleva a cabo por medio de una conversacin estructurada.

El aspecto ms destacable de la entrevista es que se propone un fin ajeno al simple placer de la conversacin, por lo que su preparacin resulta esencial para cumplir sus objetivos.

Debe quedar claro que no basta con hacer preguntas para obtener toda la informacin necesaria. Es muy importante la forma en la que se plantea la conversacin y la relacin que se establece en la entrevista. Por ello, el entrevistador tiene que poseer una serie de cualidades, tales como ser: Imparcial. Ponderado. Buen oyente, capaz de escuchar activamente, adaptndose y manteniendo el ritmo de la conversacin. Y adems debe tener: Cierto grado de habilidad en el trato. Cordialidad y accesibilidad. Paciencia.

En general, es muy importante que muestre inters y entusiasmo por el trabajo que est desarrollando y que sepa transmitirlo a los entrevistados.

Mario Gil Piattini, que es un experto a nivel mundial en Ingeniera del Software, define las diferentes fases que se pueden distinguir en una entrevista, que son las siguientes:

10

VALLINIELLO
a) Preparacin.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Durante esta fase el entrevistador debe documentarse e investigar la situacin de organizacin, analizando los documentos de la empresa disponibles. Tambin se debe recurrir, a informacin de fuentes externas: folletos, informes sobre el sector, publicaciones, etc. Esta preparacin es esencial para una entrevista eficaz.

El entrevistador debe conocer los conceptos bsicos del negocio o actividad. La entrevista ha de centrarse en aquellos aspectos del trabajo no accesibles por otros medios (como la observacin y el anlisis de documentos) que son, en general, aquellos que estn slo en la mente del entrevistado.

Otra actividad importante es la identificacin de las personas a las que se debe entrevistar. La mayora de los analistas adoptan un enfoque top-down, comenzando a entrevistar a directivos (que pueden ofrecer una visin global) y terminando por hablar con los empleados que puedan aportar detalles importantes del funcionamiento de la empresa. El objetivo principal es minimizar el nmero necesario de personas a entrevistar para obtener una visin lo ms completa posible sobre el sistema que se debe desarrollar.

Hay que planificar el lugar y la hora en la que se va a desarrollar la entrevista, tratando de adaptarse a la agenda del entrevistado. Algunas veces se realiza un cuestionario previo que debe rellenar el entrevistado y un pequeo documento de introduccin al proyecto de desarrollo. El cuestionario permite que el entrevistado conozca los temas que se van a tratar y el analista recoja informacin valiosa para preparar la conversacin.

b) Realizacin. Es la parte esencial de la entrevista. Como en la mayora de las interacciones humanas, conviene seguir el protocolo o serie de actos habituales para las conversaciones y reuniones que marcan las costumbres sociales. Se distinguen tres etapas en el acto de la entrevista: apertura, desarrollo y terminacin. Apertura. Se comienza presentndose e informando al entrevistado sobre: 9 9 9 9 9 El motivo de la entrevista. Qu esperamos de l. Cmo utilizaremos la informacin obtenida. La mecnica de las preguntas. Etc.

Esta parte es fundamental para que se cree un ambiente confortable que ayude a que la siguiente fase sea productiva.

11

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Desarrollo. Es la entrevista propiamente dicha. No debera prolongarse durante ms de dos horas. Durante el desarrollo de la entrevista, debe procurarse lo siguiente: 9 9 9 9 Que el entrevistador hable un 20% del tiempo, mientras que el entrevistado sea el que ocupe el 80% restante. Evitar los monlogos y conseguir que constituya un verdadero dilogo. Es muy importante en todo momento cumplir las reglas del protocolo, no interrumpir al entrevistado y hacer ver que nos est ayudando. Es importante mantener en todo momento el control de la entrevista, afrontando los problemas que puedan surgir y que suelen tener principalmente dos causas: Discrepancia de objetivos entre el emisor y el receptor del mensaje Barreras de comunicacin, como problemas en el significado de las palabras, distinta percepcin de la realidad, etc. Es posible que el entrevistado sea una persona difcil, que est a la defensiva, distrado, etc. Habr que determinar entonces la causa de este comportamiento y tratar de corregirla. El formato de respuestas para las preguntas puede ser abierto o cerrado. Las preguntas para respuesta abierta permiten a los entrevistados dar cualquier respuesta que parezca apropiada. Pueden contestar por completo con sus propias palabras. Con las preguntas para respuesta cerrada se proporcionan al usuario un conjunto de respuestas de entre las que se pueda seleccionar la que considere ms adecuada. Todas las personas que responden se basan en un mismo conjunto de posibles respuestas.

Los analistas tambin deben dividir el tiempo entre desarrollar preguntas para entrevistas y analizar respuestas. La entrevista no estructurada requiere menos tiempo de preparacin, porque no necesita tener por anticipado las palabras precisas de las preguntas. Analizar las respuestas despus de la entrevista lleva ms tiempo que con las entrevistas estructuradas. El mayor costo radica en la preparacin, administracin y anlisis de las entrevistas estructuradas para preguntas cerradas. Ejemplo de pregunta con respuesta cerrada en la entrevista estructurada Ejemplo: obtener la informacin sobre las caractersticas diseo, crticas para los empleados.

"...algunos empleados han sugerido que la mejor forma para hacer eficiente el procesamiento de pedidos es instalar un sistema informatizado que maneje todos los clculos..." bajo estas circunstancias apoyara usted el desarrollo de un sistema de este tipo?.

12

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Ejemplo de pregunta con respuesta abierta en la entrevista estructurada Ejemplo: obtener la informacin sobre las caractersticas de diseo, crticas para los empleados.

"La experiencia le ha proporcionado una amplia visin en cuanto a la forma en la que la empresa maneja los pedidos..." Me gustara que usted contestara algunas preguntas especficas en relacin con lo anterior: - Qu etapas trabajas bien? Cules no? - En dnde se presenta la mayor parte del problema? - Cundo ocurre un atraso, cmo se maneja?

Terminacin. Se termina recapitulando la entrevista, agradeciendo su esfuerzo al entrevistado y citndole para una nueva entrevista si fuera necesaria. 9 9 Es importante dejar siempre abierta la posibilidad de volver a contactar para aclarar temas que surjan al estudiar la informacin o al contrastarla con otros entrevistados. Tambin hay que convencer al entrevistado de que se le ha entendido.

c) Anlisis. Es quizs la fase ms descuidada, pero no por ello la menos importante. Se trata de: 9 9 9 9 Leer las notas y pasarlas a limpio, Reorganizar la informacin, Contrastarla con otras entrevistas o fuentes de informacin, etc. Tambin es importante evaluar cmo ha ido la entrevista y qu aspectos se pueden mejorar para las siguientes.

AUTOEVALUACIN: 4.- En el desarrollo de una entrevista, el reparto de intervencin ideal es: a) Analista 80%, entrevistado 20%. b) Analista 70%, entrevistado 30% c) Analista 50%, entrevistado 50% d) Analista 20%, entrevistado 80%.

13

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

PARA SABER MS. Ms sobre tcnicas de recogida de informacin:

Tcnicas de recogida de informacin http://www.oadl.dip-caceres.org/vprofe/virtualprofe/cursos/c103/evaluacion5.htm

4.2.- Desarrollo conjunto de aplicaciones (JAD).


Posiblemente hayas pensado que hacer las entrevistas que se han descrito en el apartado anterior tiene serios inconvenientes. Pues ests en lo cierto, y por eso se intentan evitar mediante el uso de otras tcnicas, como es el caso de JAD (Joint Application Development)

JAD es una tcnica que se utiliza para promover la cooperacin y el trabajo en equipo entre los usuarios y los analistas, consiste en una serie de reuniones, en total entre dos y cuatro das, en las que participan analistas de software junto a varios usuarios cualificados. La idea es aprovechar la dinmica de grupos, toda clase de ayudas visuales de comunicacin y comprensin de soluciones (proyectores, ordenadores, pizarras, etc.), un proceso de trabajo sistemtico y organizado y una filosofa de documentacin.

Las entrevistas que hemos estudiado en el apartado anterior presentan los siguientes inconvenientes, a los que el uso de JAD pretende dar solucin:

Se requiere mucho tiempo para las entrevistas, tanto en prepararlas y hacerlas como tambin en redactar el conjunto de requisitos, a partir de opiniones diferentes de los distintos entrevistados. Las sesiones JAD no requieren tanta preparacin.

Como slo el analista revisa la especificacin de requisitos tras las entrevistas, es ms difcil apreciar posibles errores en l. Por el contrario, en el JAD todo el grupo puede actuar como revisor y detectar defectos.

El JAD propugna una participacin ms profunda de los usuarios en el proyecto, lo que produce una especificacin de requisitos ms adaptada a las necesidades reales.

El proceso de un JAD se basa en lo que se denominan sesiones JAD.

14

VALLINIELLO
Una sesin JAD consiste en:

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Una serie de reuniones estructuradas y organizadas Donde se parte de un documento de trabajo que hay que analizar para completar el conjunto de requisitos del sistema.

Durante

la

propia

sesin

se

crear

la

especificacin de los requisitos, en ocasiones se utilizarn herramientas CASE. Al final de la sesin se tendr concluido un documento de especificacin aprobado por los presentes. El jefe del JAD es el responsable de conseguir que la reunin sea productiva y de mantener el orden.

Las empresas que han implantado este mtodo han informado de importantes ahorros de tiempo en el desarrollo de software, as como de una mayor satisfaccin de los usuarios con los sistemas construidos, aunque en la realidad no son muchos los que lo utilicen por la dificultad de las empresas para contar con el tiempo de dedicacin que requiere por parte de los usuarios.

AUTOEVALUACIN: 5.- Refirindonos a la tcnica JAD, podemos afirmar que a) Todo el grupo puede actuar como revisor pero no detectar defectos. b) No propugna una participacin ms profunda de los usuarios en el proyecto. c) Consiste en una serie de reuniones estructuradas y desorganizadas. d) Promueve la cooperacin y el trabajo en equipo entre los usuarios y los analistas.

PARA SABER MS. Artculo sobre el desarrollo conjunto de aplicaciones:

Desarrollo conjunto de aplicaciones (JAD) http://es.geocities.com/addrianortega/JADN.htm

15

VALLINIELLO 4.3.- El prototipado.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Qu ocurre si a pesar de haber hecho entrevistas o haber usado la tcnica JAD, obtenemos una especificacin de requisitos no demasiado ajustada a la realidad?

Puede suceder que hayamos dedicado un tiempo considerable a construir una aplicacin en base a unos requisitos incompletos o errneos, habiendo desperdiciado posiblemente bastante tiempo y trabajo. Es ms, es posible que el propio usuario no tuviera muy claro lo que quera o lo que necesitaba, y por eso no nos lo supo explicar.

Piensas que sera til presentarle una especie de esqueleto de la aplicacin, en base a los requerimientos que hemos capturado, para que pueda tener una idea ms clara de cual va a ser el resultado? Seguramente de esta forma conseguiremos detectar fallos o carencias antes de embarcarnos en el desarrollo completo de la aplicacin.

El prototipado consiste en la construccin de un modelo del sistema o prototipo que se construye para evaluar mejor los requisitos que se desean cumplir. Se usa especialmente cuando:

El rea de la aplicacin no est bien definida. El coste del rechazo de la aplicacin por los usuarios, por no cumplir sus expectativas, es muy alto.

Estos

modelos

prototipos

son

versiones

reducidas,

demos

simulaciones de pantallas de la aplicacin a desarrollar.

Las dos razones principales para emplear prototipado, ordenadas por frecuencia de uso son:

1. Prototipado de la interfaz de usuario para asegurarse de que est bien diseada, que satisface las necesidades de quienes deben usar la aplicacin. Este tipo de prototipado es bastante frecuente, no es costoso y est formado por simples modelos de pantallas en papel, simuladas con programas de dibujo, o de presentacin de la interfaz.

2. Prototipado funcional. El prototipo supone una primera versin del sistema con funcionalidad limitada. A medida que se comprueba si las funciones implementadas son las apropiadas, se corrigen, refinan o se aaden otras nuevas hasta llegar al sistema final.

16

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

La cualidad esencial de un prototipo debe ser la posibilidad de ser construido ms rpidamente que la aplicacin correspondiente. Por esta razn, se suele hablar de este proceso de desarrollo como prototipado rpido. Las herramientas empleadas en el prototipado pueden ser muy variadas: En el nivel inferior se encuentran herramientas comunes y fcilmente disponibles como programas de dibujo o de presentacin, hojas de clculo o generadores de informes. El usuario puede ver cmo quedar la entrada/salida de la aplicacin cuando est acabada. En un nivel un poco ms evolucionado se situaran algunos gestores de bases de datos y sistemas de cuarta generacin que permiten prototipos ms sofisticados que incluyen no slo interfaces, sino tambin prototipado del manejo de datos. Otra opcin son las posibilidades de prototipado que proporcionan ciertas herramientas CASE o determinados generadores de aplicaciones.

PARA SABER MS. Ejemplo de empresa que realiza prototipado rpido:

Roboticspot http://www.roboticspot.com/robotica/serv.shtml

5.- Anlisis de viabilidad tcnica y econmica.


Todos los proyectos seran realizables si se contara con recursos ilimitados y un tiempo infinito. Pero claro, sabemos que en el mundo real ni los recursos son ilimitados ni el tiempo disponible infinito.

Qu limitaciones tendr todo proyecto que emprendamos? Como imaginas, deber ajustarse a un presupuesto y ejecutarse en unos plazos.

Desafortunadamente, el desarrollo de un sistema basado en soluciones informticas se caracteriza por la escasez de recursos y la dificultad de cumplir los plazos de entrega. Es necesario y prudente evaluar la viabilidad de un proyecto lo antes posible. Se pueden evitar meses o aos de esfuerzo, millones de euros y una inversin profesional incalculable, si un sistema mal concebido es reconocido al principio de la etapa de definicin.

17

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Nuestro objetivo ser comprobar la posibilidad de hallar una solucin informtica a los problemas observados, antes de gastar demasiado dinero. Durante el anlisis del sistema centramos nuestra atencin en cinco reas de inters bsico: Viabilidad econmica. Una evaluacin del coste de desarrollo frente al beneficio final producido por el sistema desarrollado. Viabilidad tcnica. Un estudio de la funcionalidad, el rendimiento y las restricciones que pueden afectar a la posibilidad de realizacin de un sistema aceptable. Viabilidad legal. Una determinacin de cualquier infraccin, violacin o ilegalidad que pudiera resultar del desarrollo del sistema (por ejemplo, debe comprobarse que se cumple la Ley

Orgnica 15/1999 de Proteccin de Datos de Carcter Personal (LOPD) o la Ley 34/2002, de Servicios de la Sociedad de la Informacin y de Comercio Electrnico (LSSI o LSSICE) y otras asociadas, y en definitiva cualquier reglamentacin en vigor) Viabilidad Operativa. Determinar si se puede implantar de manera efectiva en la empresa. Viabilidad Social. Estudio del grado de aceptacin de los usuarios.

No ser necesario llevar a cabo un estudio de viabilidad para sistemas en los que la justificacin econmica es obvia, el riesgo tcnico es bajo, se esperan pocos problemas legales y no existe una alternativa razonable. Sin embargo, cuando no se da alguna de las anteriores condiciones, debe realizarse el estudio.

La justificacin econmica es normalmente la principal consideracin para la mayora de los sistemas (excepciones notables son los sistemas impuestos por la ley o de empresas pblicas). La justificacin econmica comprende un amplio rango de aspectos, entre los que se encuentran:

El anlisis de coste-beneficio (tratado en el punto siguiente). Las estrategias de ingresos a largo plazo. El impacto en otros productos o en centros de explotacin. El coste de los recursos que se necesitan para el desarrollo. El crecimiento potencial del mercado.

18

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

La viabilidad tcnica es frecuentemente el rea ms difcil de evaluar en esta etapa del proceso de desarrollo del sistema. Debido a que los objetivos, las funciones y el rendimiento son de alguna manera confusos, cualquier cosa puede parecer posible si se hacen las consideraciones adecuadas. En sistemas de gestin no existe tal problema, la viabilidad tcnica va a ser siempre positiva.

Las consideraciones que van asociadas normalmente a la viabilidad tcnica son: Riesgo del desarrollo. Puede el elemento del sistema ser diseado de tal forma que las funciones y el rendimiento necesarios se consigan dentro de las restricciones determinadas en el anlisis? Disponibilidad de recursos. Hay personal cualificado para desarrollar el elemento del sistema en cuestin? Estn disponibles para el sistema otros recursos necesarios (de hardware y de software)? Tecnologa. Ha progresado la tecnologa relevante lo suficiente como para poder soportar el sistema? La viabilidad legal comprende un amplio rango de aspectos que incluyen los contratos, la responsabilidad, las infracciones y muchos ms detalles frecuentemente desconocidos para el personal tcnico.

Como producto de los estudios de viabilidad, se define un informe o estudio de viabilidad, con el objetivo de que el cliente pueda decidir seguir/no seguir (se incluye este estudio en el documento de anlisis de sistemas).

Este Informe del Estudio de Viabilidad, podra tener la siguiente estructura:

1. Entorno y restricciones del problema. 2. Alternativas y sus configuraciones. 3. Anlisis econmico (coste/beneficio). 4. Viabilidad tcnica. 5. Viabilidad legal.

19

VALLINIELLO 5.1.- Anlisis de coste y beneficios.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Entre la informacin ms relevante que contiene el estudio de viabilidad se encuentra el anlisis de coste-beneficio, que es una evaluacin de la justificacin econmica para un proyecto de sistema basado en ordenador. El anlisis de coste-beneficio seala los costes del desarrollo del proyecto y los contrasta con los beneficios tangibles (esto es, medibles directamente en euros) e intangibles del sistema. El anlisis de coste-beneficio es complicado porque los criterios varan segn las caractersticas del sistema a desarrollar, el tamao relativo del proyecto y recuperacin esperada de la inversin como parte del plan estratgico de la compaa. Adems, muchos beneficios obtenidos de los sistemas basados en soluciones informticas son intangibles (p. ej.: una mejor calidad del diseo mediante una optimizacin iterativa, una mayor satisfaccin del cliente debida a un control programable y unas mejores decisiones comerciales a partir de datos de ventas con formatos previamente analizados). Puede ser difcil lograr comparaciones directas cuantitativas. El analista debe estimar cada coste y luego utiliza los costes del desarrollo y los que surjan sobre la marcha para determinar la recuperacin de la inversin, el punto de igualdad y el perodo de amortizacin. Contabilizando los beneficios intangibles, el director administrativo decide si los resultados econmicos justifican el sistema. Otro aspecto del anlisis de coste-beneficio es la consideracin de los costes incrementales asociados con los beneficios aadidos (mayor o mejor funcionalidad y rendimiento). Para los sistemas basados en soluciones informticas, la relacin incremental de coste-beneficio se puede representar como en la siguiente grfica: En algunos casos (curva AA') los costes se incrementan proporcionalmente a los beneficios hasta un determinado punto. Despus de ese punto, cada beneficio adicional es demasiado caro. En otros casos (curva ABCC'), los costes aumentan

proporcionalmente hasta A y despus se nivelan a favor de los beneficios aadidos (hasta B), antes de aumentar drsticamente (en C) para los posteriores beneficios.

20

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Slo gastando el tiempo necesario para evaluar la viabilidad, reducimos las oportunidades de situaciones extremadamente embarazosas en etapas posteriores de un proyecto de un sistema. El esfuerzo gastado en el anlisis de viabilidad, aunque termine aconsejando la cancelacin de un proyecto propuesto, no es un esfuerzo desaprovechado.

En general, el anlisis coste-beneficio se suele representar en forma de tabla:

En las columnas aparecen los aos de vida del proyecto, y En las filas los distintos conceptos de gasto y beneficio del proyecto.

Consideraciones sobre los costes:

Hay que evaluar el tiempo de recuperacin de la inversin, el punto de igualdad y el periodo de amortizacin.

Posibles costes de un sistema de informacin:

Costes iniciales. 9 9 9 9 9 9

Costes de compra e instalacin de equipos. Costes de acondicionamiento del lugar (mobiliario, obras,...) Costes del personal informtico. Costes de compra de software general (Sistema Operativo, Sistema Gestor de Bases de Datos, ofimtica,...). Costes de desarrollo del software concreto. Costes de formacin del personal de la organizacin, etc.

21

VALLINIELLO
Costes continuos: 9 9

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Mantenimiento del sistema (hardware y software). Coste de uso de luz, telfono, etc.

Por su parte, los beneficios pueden aparecer de muy diferentes maneras: Reduccin o eliminacin de costes (RC) Reduccin o eliminacin de errores. (RE) Aumento de velocidad en la actividad. (AV) Aumento de fiabilidad (resultado final ms creble). (AF) Mejora en la gestin del control y de la planificacin. (MG)

Estos beneficios se pueden dar en uno o varios apartados en la siguiente clasificacin: Beneficios tangibles: 9 9 Coste de reposicin: coste de mantenimiento y uso del sistema antiguo que ahora se ahorra. Ej. Ms trabajo con mismo personal, igual trabajo con menos personal. Mayor eficacia en el control de la empresa. Ej. Reduccin del nivel de existencias en almacn.

Beneficios intangibles: 9 9 Mejor servicio al cliente. Mayor satisfaccin de los empleados.

Uno de los mayores problemas para que el anlisis econmico sea realista es que la valoracin de los beneficios es, en muchos casos, necesariamente subjetiva. Esto constituye una gran desventaja para convencer a la direccin de las ventajas del proyecto. Uno de los parmetros ms utilizados en la valoracin econmica de los proyectos es el plazo de amortizacin necesario para recuperar el dinero invertido que en trminos de economa se denomina con las siglas ROI (retorno sobre inversin, del ingles Return Over Inversion) Para terminar este punto conviene resaltar ciertos aspectos importantes para un anlisis de costebeneficio eficaz:

22

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

1. La mayora de las estimaciones de costes y de beneficios suelen consistir en rangos de valores probables. La direccin, que decidir la continuidad o no del proyecto, no puede pretender estimaciones precisas en esta etapa. A medida que el proyecto avance, se puede refinar el anlisis econmico. 2. Es recomendable hacer estimaciones ms bien pesimistas o conservadoras, ya que suele cumplirse la ley de Murphy: si algo puede fallar, fallar.

AUTOEVALUACIN 6.- Indica qu opcin de entre las que te proponemos es un coste. a) Mantenimiento del sistema (hardware y software). b) Reduccin o eliminacin de errores. c) Aumento de velocidad en la actividad. d) Aumento de fiabilidad (resultado final ms creble). e) Todos los anteriores.

6.- Guin para un anlisis previo.


ndice de contenidos para un anlisis previo: 1.- Objetivos de sistema. 2.- Entorno de desarrollo. 3.- Resumen del estudio de viabilidad. Econmica. Tcnica. Legal. Operativa. Social.

4.- Recursos requeridos. Coste. Tiempo. 5.- Descripcin Funcional (Caja negra). Entradas. Funciones. Salidas.

23

VALLINIELLO

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

6.- Solucin Propuesta. Hardware. Software. Asignacin de las funciones a los distintos elementos hardware y software.

7.- Restricciones del Proyecto. 8.- Planificacin temporal. Diagrama PERT del proyecto. Diagrama Gantt.

SOLUCIONES AUTOEVALUACIN 1.2.3.4.5.6.C A F D D A

24

VALLINIELLO GLOSARIO
Cualificado.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES Desarrollo de Aplicaciones Informticas Mdulo de Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin Unidad 6: Anlisis de necesidades y Estudio de viabilidad M Lourdes Gutirrez Lpez

Conjunto de conocimientos y capacidades, incluidos los modelos de comportamientos y las habilidades que se adquieren durante los procesos de socializacin y de educacin de los individuos. En concreto en este tema, el termino usuario cualificado, se refiere a la persona que tiene habilidades para manejar algn tipo de programa de ordenador, o que no le presenta ningn tipo de problema su aprendizaje. Estndar IEEE. IEEE corresponde a las siglas del Institute of Electrical and Electronics Engineers, Instituto de Ingenieros Elctricos y Electrnicos, una asociacin estadounidense dedicada a la estandarizacin. Es una asociacin internacional sin fines de lucro formada por profesionales de las nuevas tecnologas, como Ingenieros de telecomunicaciones, Ingenieros electrnicos, Ingenieros en informtica. Herramienta CASE. Las Herramientas CASE (Computer Aided Software Engineering, Ingeniera de Software Asistida por Ordenador) son diversas aplicaciones informticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en trminos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseo del proyecto, clculo de costes, implementacin de parte del cdigo automticamente con el diseo dado, documentacin o deteccin de errores entre otras. Interfaces. En informtica esta palabra tiene multitud de significados, por ejemplo una interfaz de usuario es una pantalla creada para mostrar los datos de una forma amigable a los usuarios. ste es el sentido que se da al trmino en esta unidad. Iterativa. Un proceso iterativo es aquel que se repite una serie de veces, normalmente hasta que se cumpla alguna condicin para su terminacin. Modelo sinptico. Se refiere a un modelo en el cual todos sus componentes se encuentran interconectados siguiendo algn tipo de razn lgica. Viabilidad. Investigacin encaminada a establecer las posibilidades de xito de una determinada actividad dados unos recursos disponibles y unas limitaciones existentes, como por ejemplo, unos plazos de ejecucin.

25