Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Capítulo 1 Un dato está constituido por los registros de los hechos, acontecimientos, transacciones, etc.
La información implica que los datos estén procesados de tal manera que resulten útiles o
Los Sistemas de Información significativos para el receptor de los mismos.
En cierto modo, los datos se pueden considerar como la materia prima para obtener
información. Más que la cantidad de información, importa la calidad de la información.
Actualmente las empresas se enfrentan a un entorno comercial que se va haciendo más Podemos considerar las siguientes cualidades para la información:
complejo y difícil. Esto se debe a que el mercado requiere respuestas más rápidas. Nos
encontramos en un ámbito en el que los cambios resultan impredecibles. La eficacia de una - Es relevante para el propósito de la decisión o el problema considerado.
empresa depende de su capacidad para conseguir que sus elementos funcionen de manera - Es lo suficientemente precisa, es decir, exacta con la realidad, para que podamos
coordinada para la consecución de los objetivos fijados. Para esto debemos contar con la confiar en ella.
información más adecuada para poder actuar y tomar las mejores decisiones. - Es lo suficientemente completa para el problema.
- Se comunica a la persona adecuada para la decisión.
- Se comunica a tiempo para que pueda ser útil para la decisión.
2. Concepto de Sistema - Alcanza el nivel de detalle más adecuado.
- Es comprensible para el receptor.
Un sistema es un conjunto de elementos que interaccionan entre si, orientados a la
consecución de un objetivo común.
4. Sistemas de Información
Para nuestros propósitos consideramos que un sistema suele estar situado en un entorno o
ambiente con el cual interactúa, recibe entradas y produce salidas. Un sistema puede formar Toda empresa necesita una infraestructura para desarrollar sus actividades. Esto se deriva en
parte de otro sistema más general, sería un subsistema de ese sistema. una serie de funciones a desarrollar, como:
Elementos principales de un sistema.: 1. Controlar y gestionar el empleo de los recursos financieros mediante la gestión
contable y la gestión económica.
• Componentes del sistema 2. Comercializar de manera óptima los productos o servicios, esta sería la actividad
• Relaciones entre componentes = estructura del sistema. comercial y de ventas.
3. Fabricar productos o crear servicios que vender en el mercado, sería la actividad del
• Objetivo del sistema
departamento de producción.
Otros elementos de un sistema (que nos ayudan a entender como son y funcionan los
Para que estas actividades se puedan realizar eficientemente deben coordinarse entre sí, para
sistemas)
ello las organizaciones poseen una infraestructura. Este sistema es el denominado Sistema de
Información de la empresa.
• El entorno del sistema: que es aquello que lo rodea y dentro del cual está ubicado.
• Los limites del sistema: nos marcan la frontera entre el sistema y el entorno.
Podemos definir un Sistema de Información como:
Usaremos un enfoque sistémico. Se denomina enfoque sistémico a la manera de estudiar o
“Un conjunto formal de procesos que, operando sobre una colección de datos estructurada
analizar sistemas adoptando una visión global de los mismos, la cual se va refinando
según las necesidades de la empresa, recopilan, elaboran y distribuyen la información (o
progresivamente.
parte de ella) necesaria para las operaciones de dicha empresa y para las actividades de
Información:
Fig. 1-2. Estructura piramidal del S.I. de la empresa
Debe adaptarse a las personas que manejan el equipo disponible y a los
procedimientos de trabajo de la empresa.
Operaciones y transacciones:
Personas o usuarios: Procesamiento de actividades diarias (transacciones), acontecimientos rutinarios que
Individuos o unidades de la organización que introducen, manejan o usan la afectan a la organización (facturación, pagos, entrega de productos, ...)
información para realizar sus actividades.
Nivel operativo:
Equipo de soporte: Se realiza un análisis de los resultados, sobre todo de recursos consumidos en
Realiza la comunicación, el procesamiento y almacenamiento de la información. (un transacciones, para poder tomar decisiones a corto plazo y de consecuencias limitadas.
papel, lápiz, archivador, máquina de escribir, ordenador, ...)
Nivel táctico de la dirección:
Se ocupa de la asignación efectiva de recursos a medio plazo, con el fin de mejorar el
rendimiento de la empresa.
Objetivos
Nivel estratégico:
Trabaja a largo plazo y decide las líneas maestras que debe seguir la empresa en el
futuro. La información que se maneja es proporcionada en formatos resumidos y
variados, las decisiones tienen un alto componente subjetivo.
Procedimientos y
prácticas de trabajo En la empresa se dan dos tipos de flujos de información:
Formado por los sistemas de información para la gestión. Ayudan a los usuarios de Subsistema de control de almacén: (Tabla 1-3)
mayor nivel de la empresa a tomar decisiones sobre asuntos de cierta regularidad,
moviéndose en los niveles operativo, táctico y estratégico de dirección. Encargado de la gestión de almacén, compras e inventario de existencias (stock)
Tercer nivel:
Constituido por los sistemas para el soporte de decisiones. Dan soporte y ayuda a
decisiones poco estructuradas en las que no hay métodos claros para tomarlas.
Capítulo 2
La mayor parte de los ciclos de vida se dividen en fases. Básicamente constan de:
planificación de sistemas, análisis de sistemas, diseño de sistemas, implantación de sistemas y
soporte de sistemas. Cada una de estas fases representa una inversión considerable de tiempo
y de trabajo, con lo que se subdividen en distintas tareas que pueden manejarse con mayor
Ingeniería de Sistemas facilidad.
En una organización dedicada al desarrollo de sistemas no sería deseable que cada trabajador
o grupo adoptara su propio ciclo de vida y normas para el desarrollo de un sistema particular,
1. Introducción sino que la organización adoptara unas normas generales y ciclos concretos adaptados a cada
tipo de proyecto, de manera que se asegure una consistencia a la hora del desarrollo de
distintos sistemas.
La estructura básica para el diseño de los sistemas de información viene dada por el
denominado ciclo de vida del desarrollo de sistemas. Un sistema de información debe
Además es necesario extender esta política a las normas de documentación. La
elaborarse cuidadosamente, para implantar un buen sistema de información es necesario
documentación es un tema que siempre se descuida o que se realiza a posteriori, debemos dar
aplicar una serie de principios básicos esenciales que veremos a continuación. Aplicando este
la importancia que merece, como producto que sirve para la comunicación de nuestro trabajo.
método aumentaremos las posibilidades de conseguir el éxito en nuestro cometido.
A continuación definimos el ciclo de vida del desarrollo de sistemas como un proceso por el Principio 5. Justificar los sistemas como inversiones de capital:
que los analistas de sistemas, los ingenieros de software, los programadores y los usuarios
Al considerarlo de esta forma, debemos tener en cuenta dos aspectos. El primero nos indica
finales elaboran sistemas de información y aplicaciones informáticas.
que ante un problema debemos buscar diferentes soluciones alternativas. El segundo que ante
cada solución debemos evaluar la viabilidad de cada una, sobre todo la económica.
Estamos ante una herramienta de gestión de proyectos aplicada a proyectos de desarrollo de
sistemas. Esta herramienta se rige por una serie de principios generales que deberían aplicarse
al desarrollo de sistemas, veámoslos a continuación. Principio 6. Revisión del proyecto:
Suele darse la situación de que se diseñen sistemas que satisfacen las necesidades de los
usuarios “para hoy”. Esta práctica resulta casi siempre un fracaso, pues los sistemas se
deterioran, surgen errores ocultos que llevan al “parcheado” de los programas, nuevos
requisitos o requisitos no contemplados que implican el nuevo diseño del sistema. Esto no
tiene que ser así, pues existen técnicas y herramientas que hacen posible el diseño de sistemas
capaces de crecer y cambiar cuando lo hagan las necesidades que los originaron.
3. El ciclo de Vida
Veamos el ciclo de vida de desarrollo de sistemas moderno, en primer lugar a grandes rasgos,
para a continuación ir profundizando en cada una de sus fases.
2. Análisis de sistemas: El dominio cubierto por el análisis de sistemas es una única Fig. 2-1. Fases del Ciclo de Vida
aplicación de sistemas de información. Su propósito es analizar el problema o la
situación de empresa de que se trate y, entonces, definir las necesidades de la empresa
con respecto a la creación o el perfeccionamiento de un sistema de información. Las 4. Planificación de Sistemas
necesidades de empresa no implican obligatoriamente una solución de tipo
informático. La función planificación de sistemas del ciclo de vida pretende señalar y establecer
prioridades sobre aquellas tecnologías y aplicaciones que producirán un beneficio máximo
3. Diseño de sistemas: El dominio que cubre el diseño de sistemas sigue siendo la para la empresa.
aplicación de sistemas de información única de que hablábamos en el análisis de
sistemas. Su propósito es diseñar una solución técnica, de tipo informático, que La planificación de sistemas es un proceso permanente. Debe repetirse regularmente para
satisfaga las necesidades de empresa según han sido especificadas durante el análisis asegurar:
de sistemas.
1. Que los sistemas de información se desarrollan conforme el plan.
4. Implantación de sistemas: El dominio que cubre la implantación de sistemas está 2. Que las decisiones de los directivos o los factores externos no han cambiado el plan.
definido por los componentes de tipo tecnológico de la aplicación de sistemas de
información que se diseñaron en la fase anterior. Su propósito es construir y/o Esta fase podemos dividirla en tres tareas:
ensamblar los componentes técnicos y poner en funcionamiento el sistema de
información nuevo o mejorado. 1. Estudio del cometido de la empresa
5. Soporte de sistemas: El dominio que cubre el soporte de sistemas es el sistema de Consiste en estudiar la misión de la empresa. Idealmente, el ámbito de la fase de
información puesto en producción mediante la implantación de sistemas. El propósito planificación debería ser toda la empresa, pero este ámbito debe reducirse a un
del soporte de sistemas es sostener y mantener el sistema durante el resto de su vida nivel manejable.
útil.
- clientes
- productos y servicios
- recursos materiales
- recursos humanos
- lugares geográficos de operación
- estructuras y filosofía de gestión
- metas y objetivos corporativos
- restricciones de empresa
- factores críticos de éxito de la empresa
- otros criterios propios de la gestión
El producto obtenido son los planes de empresa. En el mejor de los casos, estos
planes ya existen, y esta fase tan sólo los traduce a términos o formatos útiles para
los propietarios de sistemas y analistas de planificación en posteriores fases de la
planificación.
Las entradas a esta fase sirven para construir la arquitectura de información, 5. Análisis de sistemas
formada por:
El Análisis de Sistemas es el estudio de un sistema actual de empresa y de información, y la
- Una arquitectura de Datos que identifique y establezca prioridades acerca definición de las necesidades y las prioridades manifestadas por los usuarios para la
de las bases de datos que han de desarrollarse. construcción de un nuevo sistema de información.
- Una arquitectura de Redes que identifique y establezca prioridades acerca
de las redes informáticas que han de desarrollarse. Veamos las fases en las que podemos dividir el Análisis de Sistemas:
- Una arquitectura de Actividades o Aplicaciones que identifique y
establezca prioridades acerca de las áreas de empresa para las cuales deben 1. Estudio de viabilidad del proyecto
rediseñarse procesos de empresa y/o sistemas de información.
- Una arquitectura de Personas necesaria para desarrollar y apoyar la Consiste en determinar si “merece la pena el proyecto”. Para poder hacerlo es
gestión de bases de datos, redes y aplicaciones. necesario definir previamente el ámbito o envergadura del proyecto. El ámbito del
proyecto incluye:
Una vez dada esta información, el analista evaluará la viabilidad inicial del ámbito
del proyecto.
- Viabilidad económica.
¿Es rentable la solución en lo que se refiere a costes?
- Viabilidad de fechas.
¿Puede la solución diseñarse e implantarse en un plazo aceptable de
tiempo?
El producto clave obtenido durante esta fase es la propuesta de sistema formal que
se presenta a los propietarios del sistema, quienes normalmente toman la decisión
final.
Investigación de hechos:
Documentación y presentaciones:
Las técnicas de comunicación son esenciales para terminar con éxito un proyecto. Existen dos
formas habituales de comunicación durante los proyectos de desarrollo de sistemas:
documentación y presentaciones:
Estimación y medida:
La gestión de procesos es una actividad continuada que establece normas para las
actividades, los métodos, las herramientas y los resultados del ciclo de vida.
Capítulo 3
- Impacto en el consumo.
1.2. El Software
1. El Producto Definición informal: el software es:
Hoy en día el software tiene un doble papel. Es un producto y, al mismo tiempo, el vehículo 1. Instrucciones (programa) que cuando se ejecutan proporcionan la función y el
para hacer entrega de un producto. rendimiento deseados.
2. Estructuras de datos que permiten a los programas manipular adecuadamente la
- Como producto: es un transformador de información: produce, gestiona, adquiere, modifica, información.
muestra o transmite información. 3. Documentos que describen la operación y el uso de programas.
- Como vehículo: es utilizado para hacer entrega del producto, el software actúa como la base Características del Software:
de control del ordenador (S.O.), la comunicación de información (Redes), y
la creación y control de otros programas (herramientas software y entornos). Cuando se construye hardware (u otro producto), el proceso creativo humano (análisis,
diseño, construcción, prueba) se traduce finalmente en una forma física.
El software hace entrega de un producto muy importante, la información.
El software es un elemento del sistema que es lógico y tiene unas características
1.1. Evolución del software particulares:
Primera era: - El software era un “arte”, para su desarrollo había pocos métodos
sistemáticos.
- No existía una planificación.
- El software como producto (a ser vendido y distribuido) estaba en la infancia.
- El análisis, diseño, codificación, depuración y ejecución estaba centralizado
en una sola persona.
- Software de tiempo real: mide / analiza / controla sucesos del mundo real conforme La I.S. es una disciplina que tiene en cuenta tanto los aspectos técnicos como los
ocurren. administrativos del proceso de desarrollo de software, no es solo programación, esta es una
tarea más dentro del proceso.
- Software de gestión: procesa información comercial; sistemas de nóminas, cuentas de
haberes/débitos, inventarios. Estas aplicaciones reestructuran los datos existentes para Definición de Ingeniería del Software:
facilitar las operaciones comerciales o gestionar la toma de decisiones.
“El establecimiento y uso de principios de ingeniería robustos, orientados a obtener
- Software de ingeniería y científico: utilizan algoritmos complejos de tratamiento económicamente software que sea fiable y que funcione efectivamente sobre máquinas
numérico. reales”.
- Software empotrado: reside en memoria de sólo lectura y se utiliza para controlar La I.S. incluye o está formada por tres elementos que se interrelacionan entre sí:
productos y sistemas de los mercados industriales y de consumo.
- Métodos: Suministran información para conocer como construir el software.
- Software de computadoras personales: procesamiento de texto, hojas de cálculo, Abarcan actividades de planificación, análisis, diseño, etc.
multimedia, juegos, gestión de B.D., aplicaciones de negocios y personales, etc.
- Herramientas: Sirven de soporte al proceso de producción, proporcionando
- Software de Inteligencia Artificial: hace uso de algoritmos no numéricos para resolver elementos para la ejecución de los métodos.
problemas complejos para los que no son adecuados el cálculo o el análisis directo.
El área más activa de la I.A. es la de los sistemas expertos. - Procedimientos: Son el nexo de unión entre los métodos y las herramientas.
Definen la secuencia en la que se deben aplicar los métodos, la
1.4. Problemas relacionados con el Software. información que se requiere, las verificaciones o controles que
ayudan a asegurar la calidad del software y coordinan los
- La construcción de programas no alcanza a la demanda. cambios y modificaciones sobre el mismo y las guías para
- Dependencia de la operación fiable del software. establecer su desarrollo.
- Construcción de software fiable y de alta calidad.
Actividades:
- Fase de definición: se centra en el qué; intenta identificar: - Prueba: La especificación máquina obtenida debe ser probada para intentar
descubrir los defectos tanto de funcionalidad, como en la lógica y
· La información que ha de ser procesada. en la implementación.
· La función y el rendimiento deseado.
· Las interfaces. - Fase de mantenimiento: Se centra en el cambio asociado a la corrección de errores
· Las restricciones de diseño. detectados en las pruebas o mediante el uso de ese software, así como debido a las
· Los criterios de validación para definir un sistema software correcto. adaptaciones requeridas por la evolución del entorno del software o por cambios en
los requisitos.
Se realizan tres actividades genéricas:
Actividades:
- Análisis del Sistema: se define el papel de cada elemento de un sistema
informático, asignando finalmente al software el papel a desempeñar. - Corrección: Se procede a la corrección de los errores detectados en el
software.
- Planificación del proyecto: se realiza:
- Adaptación: Modificación del software para adaptarlo a los nuevos
· Una vez establecido el ámbito del proyecto, un análisis de riesgo. requisitos, o a un nuevo entorno.
· Asignación de recursos.
· Estimación de costes. - Mejora: Se amplía y mejora el software más allá de sus requisitos originales.
· Definición de tareas a desarrollar.
· Planificación del trabajo. Cada una de las fases se complementa con un conjunto de actividades cuyo objetivo es
garantizar la calidad del producto y del propio proceso de desarrollo.
También denominado “modelo en cascada”, considera que las fases llevadas a cabo para la · Se pretende asegurar que cada uno de los componentes software del producto
construcción del software se realizan de forma secuencial. funcionan correctamente, asegurándose que todas las partes del software se han
probado y que cada una de ellas produce la salida esperada en base a una entrada
definida.
- Mantenimiento:
- Los requisitos no se completan hasta fases posteriores. Los cambios en fases finales
Fig. 3-4. Ciclo de vida clásico del desarrollo de sistemas originan graves problemas.
- Ingeniería y análisis del sistema:
- Es posible que no se detecten los errores hasta que tengamos el producto. La
reparación de esos errores nos pueden ocasionar grandes retrasos y aumento de costes
· Se estudia el sistema global en el cual se encuentra y se va a encontrar el software a
debido a cambios en fases anteriores.
desarrollar.
· Se extraen los requisitos globales a nivel de sistema y se estudia el subsistema 2.1.2. Paradigma del prototipo
software a un nivel de abstracción elevado.
El diseño de prototipos es una técnica de ingeniería utilizada para desarrollar modelos a
- Análisis de requisitos software: escala (o simulados) de un producto o de sus componentes. Cuando se aplica al desarrollo de
sistemas de información, el diseño de prototipos implica la creación de un modelo o modelos
· Se procede a la recogida de información sobre el software a construir o problema a iterativos de trabajo de un sistema o un subsistema.
solucionar.
La técnica de prototipos puede utilizarse en varias fases del ciclo de vida. Existen cuatro tipos
· Se trata de comprender el dominio de información que manejará el software, así de prototipos de sistemas de información:
como su procesamiento, rendimiento e interfaces para esos procedimientos.
Prototipos de viabilidad:
· Los requisitos deben ser documentados y luego revisados con el cliente/usuario para
su validación. Se utilizan para probar la viabilidad de una tecnología específica aplicable a un
sistema de información.
- Diseño:
Prototipos de necesidades:
· Se traducen los requisitos recogidos en la fase anterior en una especificación formal
que pueda ser verificada y validada como paso previo a la construcción o codificación. Se utilizan para “descubrir” las necesidades de los usuarios con respecto a la empresa.
Pretenden simular la forma de pensar de los usuarios. Su base es sencilla, los usuarios
reconocerán sus necesidades cuando las vean. Posteriormente veremos en detalle este
- Codificación:
tipo de prototipo.
· Se traduce la especificación formal a una especificación entendible por el ordenador.
Prototipos de diseño:
- Prueba:
Inconvenientes:
- El cliente quiere comenzar a trabajar desde el primer momento con el prototipo para
solucionar el problema de la empresa.
- Los algoritmos pueden no estar optimizados en el prototipo, si este no se destruye y
se utiliza como producto final pueden darse problemas durante su uso y
mantenimiento.
Fig. 3-5. Ciclo de vida del prototipo de necesidades
Es un proceso que facilita la creación de un modelo del producto a construir. 2.2. Técnicas de cuarta generación (T4G)
Este modelo puede ser: Abarca un amplio espectro de herramientas de software que facilitan la especificación de
algunas características del software de alto nivel, la herramienta genera automáticamente el
- Un prototipo en papel que describa la interacción hombre-máquina de forma que código fuente basándose en la especificación.
facilite al usuario la comprensión de cómo se producirá la misma.
- Un prototipo operativo el cual implementa algunos subconjuntos de las funciones El paradigma T4G para la ingeniería del software se orienta hacia la posibilidad de
requeridas. especificar el software usando formas de lenguaje especializado o notaciones gráficas que
- Un programa existente que incorpore parte o toda la función deseada, describan el problema a resolver en términos que los entienda el cliente.
pero que tenga otras características a mejorar en el nuevo trabajo de
desarrollo.
Las actividades son:
Capítulo 4 Este modelo define las siguientes áreas prácticas clave para el personal que desarrolla
software:
Existe un pequeño número de actividades estructurales que se pueden aplicar a todos los La mejor estructura de equipo depende del estilo de gestión de una organización, del número
proyectos de software, sin tener en cuenta su tamaño o su complejidad. de personas que compondrá el equipo, sus niveles de preparación y la dificultad general del
problema.
Diferentes conjuntos de tareas (tareas, hitos, entregas), permiten a las actividades
estructurales adaptarse a las características del proyecto software y al equipo de proyecto. Mantei sugiere tres formas de equipo genéricos:
Finalmente, las actividades protectoras, tales como garantía de calidad del software, 1- Descentralizado democrático (DD):
gestión de la configuración del software y medición, cubren el modelo de proceso. Estas
actividades protectoras son independientes de las estructurales y tienen lugar a lo largo del · No tiene un jefe permanente, se nombran coordinadores de tareas a corto
proceso. plazo que se sustituyen por otros para tareas diferentes.
· Las decisiones sobre problemas y los enfoques se hacen por consenso del
2. Gestión de Personal grupo.
El proceso de software lo componen participantes que pueden clasificarse en una de cinco · La comunicación entre los miembros del equipo es horizontal.
categorías:
2- Descentralizado controlado (DC):
1. Gestores superiores: definen los aspectos de negocios que a menudo tienen una
influencia significativa en el proyecto. · Tiene un jefe definido que coordina tareas específicas y jefes secundarios que
tienen responsabilidades sobre subtareas.
2. Gestores técnicos del proyecto: deben planificar, motivar, organizar y controlar
a los profesionales que realizan el trabajo de software. · La resolución de problemas es una actividad del grupo, pero la
implementación de soluciones se reparte entre los subgrupos por el jefe de
3. Profesionales: proporcionan las capacidades técnicas necesarias para la equipo.
ingeniería de un producto o aplicación.
· La comunicación entre subgrupos e individuos es horizontal.
4. Clientes: especifican los requisitos para la ingeniería del software.
· También hay comunicación vertical a lo largo de la jerarquía de control.
5. Usuarios finales: interaccionan con el software una vez que se ha entregado.
3- Centralizado controlado (CC):
Qué es lo que buscamos cuando seleccionamos a alguien para dirigir un proyecto de software:
· El jefe del equipo se encarga de la resolución de problemas a alto nivel y la
- Resolución del problema: un gestor eficiente de un proyecto de software puede coordinación interna del equipo.
diagnosticar los aspectos técnicos y de organización más relevantes, estructurar una
solución sistemáticamente o motivar apropiadamente a otros profesionales para que · La comunicación entre el jefe y los miembros del equipo es vertical.
desarrollen la solución.
· El trabajo se desarrolla en colaboración, con mucha comunicación y toma de ¿Qué función realiza el software para transformar la información de entrada en
decisiones consensuadas. información de salida? ¿Hay características de rendimiento especiales que
abordar?
· Es adecuado para la resolución de problemas complejos, pero su rendimiento
puede ser menos eficiente. La descomposición del problema, es una actividad basada en el análisis de requisitos del
software. Durante la exposición del ámbito no se descompone el problema totalmente, sino
4. Paradigma sincronizado: que se aplica a dos áreas principales:
· Organiza los miembros del equipo para trabajar en partes del problema con · El proceso que se empleará para entregarlo.
poca comunicación activa entre ellos.
Suele aplicarse la estrategia de “divide y vencerás” que sirve para afrontar problemas
complejos. Para nuestro propósito, esta estrategia consiste en dividir el problema en
problemas más pequeños (que resultan más manejables).
Las funciones del software, descritas en la exposición del ámbito, se evalúan y refinan para
proporcionar más detalle antes del comienzo de la estimación.
El gestor del proyecto debe decidir qué modelo de proceso es el más adecuado para el
proyecto, después debe definir un plan preliminar basado en un conjunto de actividades
estructurales válidas para cualquier proyecto. Una vez establecido el plan preliminar, empieza
la descomposición del proceso. Es decir, se debe crear un plan completo reflejando las tareas
requeridas a las personas para cubrir las actividades estructurales.
El riesgo se mide por el grado de incertidumbre en las estimaciones cuantitativas establecidas Estos recursos son:
por recursos, coste y planificación temporal.
* Recursos humanos:
Si no se entiende bien el ámbito del proyecto o los requisitos del proyecto están sujetos a
cambios, la incertidumbre y el riesgo son peligrosamente altos. El planificador de software Dado el ámbito, y una vez seleccionadas las habilidades técnicas que se
debería solicitar definiciones completas de rendimiento y de interfaz. Cualquier cambio en los requieren para llevar a cabo el desarrollo, se selecciona al personal adecuado
requisitos software significa inestabilidad en el coste y en la planificación temporal. para desarrollar cada una de las tareas.
Cuando se alcanza uno de estos niveles de referencia decimos que se ha alcanzado un punto 7. Gestión de expectativas
de ruptura, en el cual los gestores del proyecto deben tomar la decisión de seguir o parar el
desarrollo del mismo. Los directores de proyectos con experiencia a menudo se quejan de que gestionar las
expectativas de los proyectos es más difícil que gestionar el coste, los plazos, los equipos o la
6.3. Reducción, supervisión y gestión del riesgo calidad. Vamos a utilizar una herramienta sencilla que hará uso de una matriz de gestión de
expectativas para ayudar a los directores de proyectos a resolver este problema.
Todas las actividades de análisis de riesgo presentadas hasta ahora tienen un solo objetivo:
ayudar al equipo del proyecto a desarrollar una estrategia para tratar los riesgos. Una Todos los proyectos tienen metas y limitaciones sobre el coste, los plazos, el ámbito de
estrategia eficaz debe considerar tres aspectos: aplicación y la calidad. En un mundo ideal, podría conseguirse optimizar todos estos
parámetros. La dirección de las empresas tiene a menudo una serie de expectativas. Sin
- Evitar el riesgo embargo, la realidad sugiere que no suele ser posible optimizar todos los parámetros, y que es
- Supervisar el riesgo preciso enfrentarse a lo que es factible y lo que es aceptable dentro de la gestión. Éste es el
- Gestión del riesgo y planes de contingencia propósito de la matriz de gestión de expectativas.
Si un equipo de software adopta un enfoque proactivo frente al riesgo, evitarlo es siempre la Una matriz de gestión de expectativas es una herramienta basada en conjuntos de
mejor estrategia. Esto se consigue desarrollando un plan de reducción del riesgo. reglas cuya misión es ayudar a los directores de proyectos a valorar los posibles
cambios en los parámetros de un proyecto. Entre los parámetros se incluyen el coste,
A medida que progresa el proyecto, comienzan las actividades de supervisión del riesgo. El el calendario, el campo de aplicación y la calidad.
jefe del proyecto supervisa factores que pueden proporcionar una indicación de si el riesgo se
está haciendo más o menos probable. La matriz básica, consta de tres filas y tres columnas (además de los encabezamientos). Las
filas corresponden a las medidas de éxito de un proyecto: coste, plazos y ámbito de aplicación
La gestión del riesgo y los planes de contingencia asumen que los esfuerzos de reducción y/o calidad. Las columnas corresponden a las prioridades: primera, segunda y tercera. Para
han fracasado y que el riesgo se ha convertido en una realidad. establecer claramente las expectativas, asignaremos nombres a las prioridades, del modo
siguiente:
Prioridades
Máx. o mín. Limitación Aceptación
Medidas de éxito
Coste X
Estimado 20.000 millones de dólares
Calendario X
Plazo límite = 31 diciembre de 1969
Ámbito y/o calidad
1. Llevar un hombre a la Luna X
2. Traerlo de nuevo sano y salvo
Tabla 5-2. Matriz de gestión de expectativas. Ejemplo de gestión para el proyecto de alunizaje de EEUU
Estas tres medidas tienden a equilibrarse entre sí de una manera natural. Por ejemplo, si se
amplía el ámbito de un proyecto o los requisitos de calidad, se necesitará más tiempo y/o más
dinero. Por el contrario, si se intenta hacer un trabajo más deprisa, por lo general se reducirán
el ámbito del proyecto o los requisitos de calidad, o bien se invertirá más dinero para
compensarlo. La matriz de gestión de expectativas ayuda a la dirección a conocer estas tres
sencillas reglas:
- En cualquier proyecto, deben ponerse tres signos X repartidos en las nueve celdas
disponibles.
- Ninguna fila debe contener más de una X. En otras palabras, cada medida de éxito
debe tener una y sólo una prioridad.
- Ninguna columna puede contener más de una X. En otras palabras, debe hacer
prioridades de primer, segundo y tercer nivel.
Capítulo 6 Existen técnicas específicas que intentan sistematizar y mejorar la opinión de las distintas
personas involucradas en la estimación. Se suele emplear la opinión de más de un experto
para obtener una mayor fiabilidad en la estimación. En algunos casos, simplemente se calcula
Estimación de Costes y Plazos la media de los valores ofrecidos por las distintas personas. También se puede efectuar una
reunión tan larga como sea necesaria hasta llegar a un consenso.
1. Juicio de expertos: “adivinación basada en la experiencia” Las personas involucradas no sólo trabajan con su experiencia acumulada, sino que disponen
también de datos de proyectos acabados relativamente similares al que hay que estimar. Así,
2. Estimación por analogía: Se compara el proyecto que se va a desarrollar con uno o más por comparación, se pueden evaluar las diferencias entre el nuevo proyecto y los antiguos
proyectos terminados de los que se disponen datos. En función de las similitudes y para extrapolar su coste.
diferencias con dichos proyectos se deduce el coste del nuevo desarrollo.
· Los ajustes de coste, esfuerzo o tamaño del nuevo proyecto pueden realizarse de forma
3. Descomposición: Se descompone el producto en sus componentes (o el proyecto en lineal, es decir, se mantiene aproximadamente la proporcionalidad.
tareas sencillas) hasta conseguir un nivel de detalle tal que se pueda estimar
directamente el coste de cada una de sus unidades elementales. · Los plazos de tiempo no guardan una relación lineal con el esfuerzo o tamaño del proyecto
(un 10% menos de tiempo para acabar el proyecto no implica un 10% más de coste, sino
4. Ecuaciones o modelos de estimación: En general, son fórmulas matemáticas que aproximadamente un 52% de incremento).
relacionan diversos parámetros del proyecto (tamaño del software, condiciones del
entorno del proyecto, etc) con el coste o esfuerzo requerido. Ventaja: Está basada en la experiencia real de los proyectos.
- Suele haber actividades relacionadas con el proyecto que no suelen incluirse en la b) Proyectos semi-separados:
definición del mismo (leer código, revisar, reunirse, ...) (40% del tiempo).
- Este tipo de proyectos representa un estado intermedio entre el tipo orgánico y el
- Suele haber también actividades no relacionadas con el proyecto que consumen tipo empotrado que se describirá posteriormente.
tiempo (formación, asuntos personales, ...) (30% del tiempo).
- El equipo de proyecto puede estar formado por personal con o sin experiencia.
2.4. Modelos de estimación
- Los miembros del equipo tienen una experiencia limitada relacionada con los
Bárbara Kitchenham distingue dos tipos de modelos: sistemas y pueden ser extraños a algunos de los aspectos, no todos, del sistema que se
va a desarrollar.
- Modelos de costes: proporciona estimaciones directas del esfuerzo o de la duración. La
mayoría son modelos de factores empíricos que cuentan con una parte principal c) Proyectos empotrados:
(habitualmente una media del tamaño del producto) y un cierto número de factores de ajuste.
P.e. el modelo COCOMO. - Deben operar con grandes restricciones.
- Modelos de restricciones: muestran las relaciones en el tiempo entre dos o más parámetros - El sistema de software se encontrará fuertemente acoplado con el hardware, reglas y
de coste (p.e. esfuerzo, duración y nivel de plantilla). P.e. el modelo SLIM de Putnam. procedimientos operativos.
- No es usual que los miembros del equipo de proyecto lleguen a alcanzar una gran
3. El modelo COCOMO experiencia en la aplicación particular que se desarrolla.
El modelo Constructivo de Costo (COCOMO) descrito por Boehm en 1981 es uno de los
modelos para la estimación costos del software mejor documentados.
3.1.2. Tamaño del Software
Se basa en el estudio realizado sobre 63 proyectos de software que cubrían varios lenguajes y
El tamaño estimado para el software se mide en miles de instrucciones fuente entregadas.
varias áreas de aplicación, existiendo tres versiones del mismo: una básica, una intermedia y
otra detallada.
Este esfuerzo se mide utilizando el número total de personas-mes necesarias para su 3.2.3. Observaciones
desarrollo, considerando que el modelo COCOMO una persona-mes consiste en 152 horas de
trabajo, realizadas en 19 días, promediando a lo largo de 12 meses. - El modelo supone una estimación implícita de la productividad en el desarrollo del
proyecto, obteniéndose como cociente entre el número de instrucciones fuente entregadas
El modelo supone también que: (IFE) y el esfuerzo estimado (PM). Es decir:
3.2.1. Esfuerzo requerido para el desarrollo - El modelo COCOMO (básico) no aporta gran ayuda en la estimación de tiempo cuando el
personal disponible está limitado y, por el contrario, el tiempo de entrega es flexible.
En el modelo COCOMO básico, las fórmulas para calcular los costos o, más exactamente, el
esfuerzo requerido en el desarrollo de software son las siguientes: 3.2.4. Ejemplo
- Tipo Orgánico: PM = 2.4 * (MIFE ^ 1.05) Suponer un proyecto de software de tipo orgánico cuyo tamaño se estima en 32000
instrucciones fuente entregadas. Para dicho proyecto se obtienen los siguientes valores:
- Tipo Semi-separado: PM = 3.0 * (MIFE ^ 1.12)
PM = 2.4 * (32 ^ 1.05) = 91 personas-mes
- Tipo Empotrado: PM = 3.6 * (MIFE ^ 1.20)
TDES = 2.5 * (91 ^ 0.38) = 14 meses
Observaciones:
Productividad = 32000 / 91 = 352 ife/p-m (alrededor de 18 instrucc. por persona-día)
- PM representa el número de personas-mes requerido para el desarrollo del proyecto.
- MIFE es el número de miles de instrucciones fuente entregadas. N = 91 / 14 = 6.5 personas
- Los coeficientes y exponentes crecen del tipo orgánico al tipo empotrado.
- Tipo empotrado: EN = 2.8 * (MIFE ^ 1.20) A continuación se describen los quince multiplicadores de esfuerzo divididos en cuatro
categorías: atributos del producto, atributos de la computadora, atributos de personal y
La ecuación general de esfuerzo en el modelo COCOMO intermedio se puede establecer del atributos del proyecto.
siguiente modo para los tres tipos de proyectos:
Los atributos del producto
PM = EN * F1 * F2 * F3 * ... * F15
· RELY: Fiabilidad requerida del software:
Observaciones:
Toma valores en una escala que va desde muy bajo cuando un fallo en el software sólo
· EN es el esfuerzo nominal calculado según el tipo de proyecto. causa pequeños inconvenientes, hasta normal cuando un fallo genera unas pérdidas
· F1 hasta F15 representan a cada uno de los quince multiplicadores considerados en moderadas recuperables, o muy alto cuando un fallo conlleva riesgos para la vida
el modelo COCOMO intermedio. humana.
A continuación se expone una tabla en la que aparece cada atributo y sus correspondientes Varía desde bajo cuando el tamaño de la base de datos medido en bytes es menor que
valores en una línea, teniendo en cuenta que MB significa muy bajo, B significa bajo, N es 10 veces el número de IFEs, hasta normal cuando el tamaño de la base de datos está
nominal o normal, A representa un valor alto, MA es muy alto y EA significa entre 10 y 100 veces el tamaño del sistema, o muy alto cuando el tamaño de la base de
extremadamente alto: datos es más de 1000 veces mayor que el programa.
Se mide en una escala desde muy bajo hasta extremadamente alto. Un código de
complejidad baja utiliza operaciones simples de entrada/salida, estructuras de datos
simples y codificación estructurada con predicados sencillos. La complejidad normal
· VIRT: Volatilidad de la máquina virtual: Este atributo puede tener un efecto significativo en el esfuerzo requerido para
desarrollar un sistema de software. Un valor muy bajo asignado a este atributo
Se entiende por máquina virtual el conjunto del hardware y del software en el que se significa que sólo se dispone de herramientas muy básicas tales como un ensamblador.
encuentra incluido el producto software. Un valor bajo para este factor significa que Un valor normal significa tener un conjunto más completo de herramientas para la
sólo ocasionalmente ocurren grandes cambios en la máquina virtual. Un valor normal implementación, pruebas y depuración, y un valor muy alto implica que se dispone de
implica cambios importantes cada seis meses y un valor muy alto sugiere que la herramientas que soportan todas las fases del ciclo de vida del software.
máquina virtual cambia una vez cada dos semanas.
· SCED: Tiempo de desarrollo requerido:
· TURN: Tiempo de respuesta de la computadora:
Este atributo indica en un tipo determinado de proyecto la variación de tiempo de
Representa el tiempo transcurrido para la obtención de resultados. Un valor bajo desarrollo respecto a la estimación nominal, obtenida utilizando la ecuación de
implica un sistema de desarrollo interactivo, mientras que un valor muy alto significa esfuerzo nominal y la ecuación de estimación de tiempo dada en el modelo COCOMO
que pasarán más de 12 horas hasta la obtención de resultados. básico. Un valor muy bajo para este atributo significa la necesidad de acelerar el
tiempo de desarrollo, mientras que un valor alto implica la dilatación de dicho tiempo.
Ambos valores causan un efecto similar aumentando el esfuerzo requerido para el
Los atributos del personal desarrollo del producto.
Reflejan la experiencia y capacidad del equipo de desarrollo del proyecto. Todos ellos van 3.3.3. Ejemplo
desde muy bajo, lo que significa poca o ninguna experiencia, hasta normal, lo que implica al
menos un año de experiencia, o muy alto, en el caso de tener más de tres años de experiencia. La ayuda que presta el modelo a la toma de decisiones se puede apreciar en el ejemplo
Dichos atributos son: seleccionado del libro de Sommerville del año 1985 que se expone a continuación.
C = 76 * 6000 = 456000$
- El atributo TOOL tendría un valor muy bajo en lugar de bajo, no viéndose afectados
los atributos de personal, TIME y STOR podrían reducirse a sus valores normales.
- Los modelos dependen de LDC, pero este parámetro hay que estimarlo.
- Los modelos han surgido del análisis estadístico de datos de proyectos. La cantidad y
representatividad de los proyectos no es tan amplia como sería deseable.
- Hitos definidos: todas las tareas deben asociarse con un hito del proyecto. Se
consigue un hito cuando se ha revisado la calidad de uno o más
Planificación Temporal y productos y se han aceptado.
La planificación temporal del proyecto puede verse desde dos perspectivas diferentes: Hay un mito común: “si se retrasa el proyecto, siempre podemos añadir más gente y recuperar
el ritmo más adelante en el proyecto”. Sin embargo esto provoca más retraso. El personal
- La fecha de lanzamiento del producto está establecida sin posibilidad de cambio. agregado debe aprenderse el sistema, aumentan las vías de comunicación y la complejidad de
- Existe un margen de holgura que es ajustado por el equipo de gestión del software. la comunicación a lo largo del proyecto.
- Proyectos de desarrollo de concepto: que se inician para explorar algún nuevo - Técnicas de evaluación y revisión de programas (PERT)
concepto de negocio o aplicación de alguna nueva tecnología. - Método del camino crítico (CPM)
- Proyectos de desarrollo de una nueva aplicación: que se aceptan como Ambas técnicas son dirigidas por la información ya desarrollada en actividades anteriores de
consecuencia del encargo de un cliente específico. la planificación del proyecto:
- Proyectos de mejora de aplicaciones que corrigen, adaptan o amplían un software - Estimaciones de esfuerzo.
existente de maneras que pueden no ser obvias de forma inmediata para el usuario - Una descomposición de la función del producto.
final. - La selección del modelo de proceso adecuado.
- La selección del tipo de proyecto y del conjunto de tareas.
- Proyectos de reingeniería: que se lleva a cabo con la intención de reconstruir un
sistema existente en su totalidad o en parte. Las interdependencias entre las tareas deben definirse empleando una red de tareas.
4.1. Red de tareas Tanto PERT como CPM proporcionan herramientas cuantitativas que permiten al
planificador de software:
· Existen interdependencias entre tareas, basadas en la secuencia.
· Se pueden llevar a cabo además tareas en paralelo. - Determinar el camino crítico: cadenas de tareas que determina la duración del
· Las tareas concurrentes deben coordinarse, de forma que finalicen cuando tareas proyecto.
posteriores requieran sus resultados. - Establecer las dimensiones de tiempo más probables para las tareas individuales
aplicando modelos estadísticos.
Una red de tareas es una representación gráfica del flujo de tareas de un proyecto. En su - Calcular las limitaciones de tiempo que definen una “ventana” de tiempo de una
forma más sencilla muestra las tareas principales de ingeniería del software. tarea determinada.
- Realizando reuniones periódicas del estado del proyecto en las que todos los
miembros del equipo informan del progreso y de los problemas.
- Evaluando los resultados de todas las revisiones realizadas a lo largo del proceso de
ingeniería del software.
- Comprobando la fecha real de inicio con las previstas para cada tarea del proyecto.
- Reuniéndose informalmente con los profesionales del software para obtener sus
valoraciones subjetivas del progreso hasta la fecha y los problemas que se avecinan.
I. Introducción
A. Ámbito del proyecto y Objetivos.
1. Declaración del Ámbito.
2. Funciones principales.
3. Aspectos de rendimiento.
4. Restricciones técnicas y de gestión.
B. Modelo de ciclo de vida utilizado.
C. Definición de los estándares de documentación.
II. Estimaciones del proyecto
A. Datos históricos usados para las estimaciones.
B. Técnicas de estimación.
C. Estimaciones de esfuerzo, coste y duración.
III. Riesgos del proyecto
A. Análisis del riesgo.
1. Identificación.
2. Estimación del riesgo.
3. Evaluación.
B. Gestión del riesgo.
IV. Planificación Temporal.
A. Estructura de descomposición del trabajo del proyecto.
B. Red de tareas (red Pert).
C. Gráfico de Tiempo (gráfico Gantt)
V. Recursos del Proyecto.
A. Personal.
B. Hardware y Software.
C. Tabla de Recursos (enlazados al gráfico de tiempo)
VI. Organización del Personal.
A. Estructura de equipo (si procede).
VII. Mecanismos de seguimiento y de control.
A. Garantía de calidad y control.
B. Gestión y control de cambios.
VII. Apéndices.
A. Glosario de términos.
B. Bibliografía.
...
Capítulo 8 tareas
fase 1
1.1
1 2 3 4 5 6 7 8 9 10
Técnicas de 1.2
1.3
Planificación Temporal fase 2
2.1
2.2
2.3
Vamos a contemplar varias técnicas que se pueden utilizar en la realización del calendario. Dentro del diagrama se pueden incluir fases que engloben diferentes tareas y se representan
Algunas son muy sencillas y no muestran la interrelación entre las actividades, como son el los tiempos de la fase como los de cada tarea en particular.
diagrama de hitos y los diagramas de Gantt. Para mostrar dicha interrelación, se hace
necesario el análisis de las redes de precedencia por medio de la técnica PERT. Los diagramas de Gantt pueden utilizarse para mostrar el avance de los proyectos, en virtud
de que pueden comparar de forma conveniente la planificación original con el desarrollo real.
1. Diagrama de hitos Para informar del avance del proyecto, hemos de ampliar las convenciones utilizadas. Si una
tarea ha sido completada, su barra correspondiente aparecerá más oscura. Si ha sido
completada sólo parcialmente, la parte proporcional de la barra estará más oscura. El
El diagrama de hitos es el método más simple para determinar el calendario. Es un cuadro o
porcentaje de la barra oscurecida debería corresponder al porcentaje de tarea completa. Las
tabla formado por dos columnas; en la primera se señalan las actividades y en la segunda se
barras más claras simbolizan tareas que no has sido empezadas. A continuación se trazará una
indican sus fechas de finalización.
línea vertical perpendicular la eje horizontal y que cortará a éste en la fecha del día. Así
podemos evaluar el alcance de nuestro proyecto.
Las ventajas de esta técnica son la facilidad de uso y el mínimo coste de preparación. Las
desventajas son la incertidumbre existente sobre las fechas de comienzo de las actividades y
Unidades de tiempo
la imposibilidad de reflejar las interrelaciones entre ellas.
tareas 1 2 3 4 5 6 7 8 9 10
Esta técnica también se utiliza para resumir calendarios complejos que contienen muchas fase 1
tareas. 1.1
1.2
1.3
2. Diagramas de Gantt fase 2
2.1
El diagrama de Gantt se utiliza frecuentemente en proyectos pequeños y supera algunos de
2.2
los inconvenientes de los diagramas de hitos. Este tipo de calendario es seguramente el más
2.3
utilizado, quizás porque muchas personas lo encuentran más comprensible que las redes de
precedencia.
hoy
Aunque con estos diagramas no es posible representar las dependencias entre actividades, es Fig. 8-2. Avance del proyecto con diagramas de Gantt
más fácil representar sus posibles solapamientos que en una red PERT. En muchos casos, las
redes PERT se trasladan a un diagrama de Gantt. El diagrama de Gantt se puede utilizar para
estimar los recursos y el presupuesto en función del tiempo.
Esta técnica también permite visualizar las tareas que no son críticas. Si aparecen retrasos
inevitables durante el proyecto, el director de proyecto puede retrasar estas actividades, si lo
desea, para reducir la demanda de recursos.
4. Técnica PERT
La técnica PERT sirve de ayuda en proyectos complejos y que requieren una cuidadosa
planificación, programación y coordinación de diferentes actividades interrelacionadas.
Según estas relaciones se podría representar el siguiente grafo: Vamos a recoger este conjunto de relaciones mediante la matriz de encaminamientos. La
matriz de encaminamientos es una matriz cuya dimensión coincide con el número de
actividades en las que se descompone el proyecto. Sea Mij un elemento de la matriz, si Mij =
X, entonces, para poder iniciar la actividad i, es necesario que haya finalizado la actividad j.
En nuestro caso, la matriz quedará de la siguiente manera:
A B C D E F G H
A
B X
C X
D X
E X
Fig. 8-5. Grafo de relaciones entre actividades
F X
G X
Observamos que en el grafo se cumple la segunda regla, pero no la primera, ya que es
H X X
necesario que finalice también la actividad C para comenzar la actividad D.
Fig. 8-7. Matriz de encaminamientos
Para resolver el problema se añade una actividad ficticia F, de duración cero. En este punto se construye el grafo:
Una vez vistos los aspectos en los que se basa la representación de actividades, vamos a ver la
realización del grafo PERT mediante un ejemplo.
Fig. 8-8. Grafo que relaciona las actividades del ejemplo
Supongamos que tenemos que realizar un proyecto que tiene las siguientes actividades A, B, A continuación, estudiamos las asignaciones de los tiempos de cada actividad. PERT
C, D, E, F y G. Las relaciones entre actividades son las siguientes:
considera que la duración de las actividades es una variable aleatoria de la que conocemos
su ley de distribución. Para ello consideramos tres tiempos:
· Estimación de tiempo más probable (tn): representa el tiempo normal de duración Volviendo al ejemplo, supongamos que tenemos calculados los tiempos PERT de cada una de
de la actividad considerando que hay problemas durante las actividades, pero no las actividades y que son los siguientes:
aparecen en su totalidad.
Actividad A B C D E F G H
· Estimación de tiempo optimista (to): representa el tiempo mínimo si no aparece Duración 8 5 6 5 6 7 9 3
ningún problema durante la ejecución de la actividad.
Por ejemplo, para calcular el TE6, estudiamos los sucesos iniciales de las actividades E y F:
µ como:
En base a estas estimaciones, se calcula el tiempo PERT Tµ TE6 = máx [14+7, 13+6] = 21, y para TE7 = máx.[13+9, 21+3] = 24. Se procede de la misma
forma para el resto de los sucesos, con los que queda la red como se ve a continuación. El
µ = (tp + 4tn + to) / 6
Tµ suceso inicial siempre tiene un TEi = 0.
y la varianza:
El siguiente paso es el cálculo de los tiempos early (tiempo más temprano posible) y last
(tiempo más tardío posible) de cada suceso descrito en el grafo. Para ello, nos basaremos en
la representación de la figura:
Fig. 8-10. Cálculo de los tiempos más próximos en una red Pert
Fig. 8-9. Representación gráfica de tiempos de una actividad - Se efectúa un paso hacia delante a través de la red.
- Se calcula sucesivamente el tiempo en el que ocurrirá cada suceso si el precedente
inmediato ocurre en su tiempo más próximo y cada actividad que interviene
4.2. Cálculo de los tiempos más próximos (early):
consume exactamente su tiempo estimado.
- La iniciación del proyecto se debe etiquetar como el tiempo 0.
El tiempo más próximo para un suceso es el tiempo estimado en el que ocurrirá el suceso si
las actividades que lo preceden comienzan lo más pronto posible.
4.3. Cálculo de los tiempos más lejanos (late).
El tiempo early del suceso j, que representamos por TEj será igual a:
El tiempo más lejano para un suceso es el último momento estimado en el que puede ocurrir
TEj = máx. [ TEi + Tij], ∀j un suceso sin retrasar la terminación del proyecto más allá de su tiempo más próximo.
- Para un suceso, representa cuánto retraso se puede admitir para llegar a ese suceso
sin retrasar la terminación del proyecto.
Un aspecto que hay que considerar es que si una actividad consume parte de la totalidad de su
holgura total, se puede producir una disminución de la holgura total de la siguiente actividad.
Las actividades que tienen una holgura total igual a cero se denominan actividades críticas.
Fig. 8-11. Cálculo de los tiempos más lejanos en una red Pert
En el ejemplo podemos ver que la actividad H es crítica: HT67 = 24 – 21 – 3 = 0.
El proceso de obtención de los tiempos más lejanos consiste en:
Uniendo todas las actividades críticas se forma un camino desde el suceso inicial al suceso
- Efectuar un paso hacia atrás a través de la red. final del proyecto, que recibe el nombre de camino crítico (que se representa por una línea
- Calcular el tiempo final en el que puede ocurrir un suceso de manera que los que le gruesa). Cualquier retraso que sufra alguna de las actividades del camino crítico implicará un
siguen ocurran en su tiempo más lejano si cada actividad involucrada consume retraso en el proyecto.
exactamente su tiempo estimado.
El director de proyecto no debe sólo prestar atención a las actividades críticas, sino también a
4.4. Holgura total de una actividad y camino crítico las que no lo son, ya que si una actividad no crítica consume el total de su holgura, se
convierte en crítica, y aparecería un nuevo camino crítico.
Antes de definir el concepto de holgura total de una actividad, hay que definir el concepto de
holgura de un suceso. Se define la holgura de un suceso i como la diferencia entre su tiempo 4.5. El proceso de trabajo con PERT
más lejano y su tiempo más próximo:
Podemos resumir el proceso de trabajo visto, para ello podemos ver una serie de etapas:
Hi = TLi – TEi
1. Identificar todas las actividades asociadas con el proyecto.
La holgura de un suceso nos indica el número de unidades de tiempo en las que se puede
retrasar su realización de forma que no se aumente la duración total del proyecto. 2. Identificar las relaciones de precedencia inmediata para todas las actividades.
Se dice que un suceso es crítico si Hi = 0. En el ejemplo vemos que son críticos los sucesos: 3. Dibujar la red básica para el proyecto, mostrando todas las relaciones de
1, 2, 4, 6 y 7. precedencia.
5. Empleando una revisión hacia delante de la red, calcular el tiempo más próximo
para cada suceso.
8. Identificar la ruta crítica para la red. Las actividades críticas son las que tienen un
tiempo de holgura cero.
· Además, se pueden evaluar otros cambios entre recursos y desempeño, y se puede evaluar el
efecto de desviarse de lo programado.
Capítulo 9
será el nivel de calidad de concordancia.
2. Conceptos de calidad La definición anterior sirve para hacer hincapié en tres puntos importantes:
2.1. Calidad 1. Los requisitos del software son las base de las medidas de calidad. La falta de
concordancia con los requisitos es una falta de calidad.
Cuando se examina un artículo según sus características mensurables, se pueden encontrar
dos tipos de calidad: calidad del diseño y calidad de concordancia. 2. Los estándares especificados definen un conjunto de criterios de desarrollo que guían la
forma en que se aplica la ingeniería del software. Si no se siguen esos criterios, casi
La calidad del diseño se refiere a las características que especifican los ingenieros de siempre habrá falta de calidad.
software para un artículo. El grado de materiales, tolerancias, y especificaciones del
rendimiento, todos contribuyen a la calidad del diseño. Cuando se utilizan materiales de alto 3. Existe un conjunto de requisitos implícitos que a menudo no se mencionan (p.e. el deseo
grado y se especifican tolerancias más estrictas y niveles más altos de rendimiento, la calidad de un buen mantenimiento). Si el software se ajusta a sus requisitos explícitos pero falla en
de diseño de un producto aumenta, si el producto se fabrica de acuerdo con las alcanzar los requisitos implícitos, la calidad del software se queda en entredicho.
especificaciones.
Capítulo 10
duplicada en diferentes lugares (archivos). Esta redundancia conduce a un
almacenamiento y coste de acceso más altos. Además, puede conducir a
inconsistencia de datos, es decir, las diversas copias de los mismos datos pueden no
coincidir.
Introducción a los SGBD
· Dificultad en el acceso a los datos. El entorno de procesamiento de archivos
convencional no permite que los datos necesarios sean obtenidos de una forma
práctica y eficiente.
· Aislamiento de datos. Debido a que los datos están dispersos en varios archivos, y
Un sistema de gestión de bases de datos (SGBD) consiste en una colección de datos los archivos pueden estar en diferentes formatos, es difícil escribir nuevos programas
interrelacionados y un conjunto de programas para acceder y manipular dichos datos. de aplicación para recuperar los datos apropiados.
La colección de datos, normalmente denominada base de datos, contiene información acerca · Problemas de integridad. Los valores de los datos almacenados en la base de datos
de una empresa particular. deben satisfacer ciertos tipos de ligaduras de consistencia. Los desarrolladores hacen
cumplir esas ligaduras en el sistema añadiendo el código apropiado en los diversos
El primer objetivo de un SGBD es proporcionar un entorno que sea tanto práctico como programas de aplicación. Sin embargo, cuando se añaden nuevas ligaduras, es difícil
eficiente de usar en la recuperación y el almacenamiento de la información de la base de cambiar los programas para hacer que se cumplan.
datos.
· Problemas de atomicidad. Un sistema de una computadora, como cualquier otro
Los sistemas de bases de datos deben proporcionar la fiabilidad de la información dispositivo mecánico o eléctrico, está sujeto a fallo. En muchas aplicaciones es crucial
almacenada, a pesar de las caídas del sistema o los intentos de acceso sin autorización. Si los asegurar que una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran
datos van a ser compartidos entre diversos usuarios, el sistema debe evitar posibles resultados al estado de consistencia que existía antes del fallo. Las operaciones deben ser
anómalos. atómicas, es decir, cada operación debe ocurrir por completo o no ocurrir en absoluto.
Es difícil asegurar esta propiedad en un sistema de procesamiento de archivos
1. Propósito de los Sistemas de Bases de Datos convencional.
Considérese parte de una empresa de cajas de ahorro que mantiene información acerca de · Anomalías en el acceso concurrente. Muchos sistemas han ido permitiendo a
todos los consumidores y cuentas de ahorro. Una manera de mantener la información en una múltiples usuarios actualizar los datos simultáneamente. En tales sistemas un entorno
computadora es almacenarla en archivos del sistema permanentes. Para permitir a los usuarios de interacción de actualizaciones concurrentes puede dar lugar a datos inconsistentes.
manipular la información, el sistema tiene un número de programas de aplicación que
manipula los archivos, incluyendo: · Problemas de seguridad. No todos los usuarios de un sistema de bases de datos
deberían poder acceder a todos los datos. Como los programas de aplicación se
· Un programa para efectuar cargos o abonos en una cuenta. añaden al sistema de una forma ad hoc, es difícil garantizar tales ligaduras de
· Un programa para añadir una cuenta nueva. seguridad.
· Un programa para calcular el saldo de una cuenta.
· Un programa para generar las operaciones mensuales. Estas dificultades, entre otras, han dado comienzo al desarrollo de SGBD.
Si las necesidades se incrementan, se añaden nuevos programas de aplicación al sistema. 2. Visión de los datos
El sistema de procesamiento de archivos típico que se acaba de describir se mantiene El propósito principal de un sistema de bases de datos es proporcionar a los usuarios una
mediante un sistema operativo convencional. visión abstracta de los datos. El sistema esconde ciertos detalles de cómo se almacenan y
mantienen los datos.
Mantener la información de la organización en un sistema de procesamiento de archivos tiene
una serie de inconvenientes importantes:
· Nivel físico. El nivel más bajo de abstracción describe cómo se almacenan realmente · Independencia física de datos. Es la capacidad para modificar el esquema físico sin
los datos. En el nivel físico se describen en detalle las estructuras de datos complejas provocar que los programas de aplicación tengan que reescribirse.
de bajo nivel.
· Independencia lógica de datos. Es la capacidad para modificar el esquema lógico
· Nivel lógico. El siguiente nivel más alto de abstracción describe qué datos se sin causar que los programas de aplicación tengan que reescribirse.
almacenan en la base de datos y qué relaciones existen entre esos datos. Los
administradores de bases de datos, que deben decidir la información que se mantiene La independencia de datos lógica es más difícil de proporcionar que la independencia de
en la base de datos, usan el nivel lógico de abstracción. datos física, ya que los programas de aplicación son fuertemente dependientes de la estructura
lógica de los datos a los que ellos acceden.
· Nivel de vistas. El nivel más alto de abstracción describe sólo parte de la base de
datos completa. A pesar del uso de estructuras más simples en el nivel lógico, queda
algo de complejidad, debido al gran tamaño de la base de datos. Para que la
3. Modelos de Datos
interacción con el sistema se simplifique, se define la abstracción del nivel de vistas.
El sistema puede proporcionar nuevas vistas para la misma base de datos. La parte esencial de la estructura de base de datos es el modelo de datos: una colección de
herramientas conceptuales para describir los datos, las relaciones de datos, la semántica de
los datos y las ligaduras de consistencia.
· El modelo de entidad-relación.
· El modelo orientado a objetos.
· El modelo de datos semántico.
Fig. 10-1. Niveles de abstracción de datos
· El modelo de datos funcional.
Una relación es una asociación entre varias entidades. Por ejemplo, una relación impositor Los objetos que contienen los mismos tipos de valores y los mismos métodos se agrupan
asocia un cliente con cada cuenta que tiene. juntos en clases.
El conjunto de todas las entidades del mismo tipo y el conjunto de todas las relaciones del La única manera de que un objeto pueda acceder a los datos de otro objeto es mediante la
mismo tipo se denominan conjunto de entidades y conjunto de relaciones, invocación de un método de ese otro objeto. Esta acción se llama paso de mensaje al otro
respectivamente. objeto. Así, la interfaz de llamada de los métodos de un objeto define la parte visible
externamente del objeto. La parte interna del objeto (las variables de instancia y el código de
Además de entidades y relaciones, el modelo E-R representa ciertas ligaduras que los los métodos) no son visibles externamente. El resultado es obtener dos niveles de abstracción
contenidos de la base de datos deben cumplir. Una ligadura importante es la de datos.
correspondencia de cardinalidades, que expresa el número de entidades con las que otra
entidad se puede asociar a través de un conjunto de relaciones.
3.2. Modelos lógicos basados en registros
La totalidad de estructuras lógicas de una base de datos se pueden expresar gráficamente
Los modelos lógicos basados en registros se usan para describir datos en los niveles lógico y
mediante un diagrama E-R, que consta de los siguientes componentes:
de vistas. En contraste con los modelos de datos basados en objetos, se usan tanto para
especificar la estructura lógica completa de la base de datos como para proporcionar una
· Rectángulos, que representan conjuntos de entidades.
descripción de alto nivel de la implementación.
· Elipses, que representan atributos.
· Rombos, que representan relaciones entre conjuntos de entidades.
Los modelos basados en registros se llaman así debido a que la base de datos se estructura
· Líneas, que unen los atributos con los conjuntos de entidades y los conjuntos de
en registros de formato fijo de diferentes tipos. En cada tipo de registro se define un número
entidades con las relaciones.
fijo de campos o atributos, y cada campo tiene normalmente una longitud fija.
Los tres modelos basados en registros más ampliamente aceptados son los que vamos a ver a
continuación.
En el modelo relacional se usa una colección de tablas para representar tanto los datos como
las relaciones entre esos datos. Cada tabla tiene varias columnas, y cada columna tiene un
nombre único. Podemos ver en el ejemplo una base de datos relacional consistente en dos
tablas: una muestra los clientes de un banco y la otra muestra las cuentas que pertenecen a
esos clientes.
El modelo jerárquico es similar al modelo de redes, en el sentido en que los datos y las
relaciones entre los datos se representan mediante registros y enlaces, respectivamente. Éste
se diferencia del modelo de redes en que los registros se organizan como colecciones de
árboles en lugar de grafos dirigidos.
En el nivel físico se deben definir algoritmos que permitan un acceso eficiente a los datos. En Las funciones del ABD incluyen las siguientes:
los niveles más altos de abstracción se enfatiza la facilidad de uso.
· Definición del esquema.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios · Estructura de almacenamiento y definición del método de acceso.
acceder o manipular los datos organizados mediante el modelo de datos apropiado. Hay dos · Esquema y modificación de la organización física.
tipos básicamente: · Concesión de la autorización para el acceso a los datos.
· Especificación de las ligaduras de integridad.
· LMD procedimientales. Requieren que el usuario especifique qué datos se
necesitan y cómo obtener esos datos.
7. Usuarios de la Base de Datos
· LMD no procedimientales. Requieren que el usuario especifique qué datos se
necesitan, sin especificar cómo obtener esos datos. Hay cuatro tipos diferentes de usuarios de un sistema de base de datos, diferenciados por la
forma en que ellos esperan interactuar con el sistema.
Una consulta es una instrucción de solicitud para recuperar información. La parte de un LMD
que implica la recuperación de información se llama lenguaje de consultas. · Programadores de aplicaciones. Son profesionales informáticos que interactúan
con el sistema a través de llamadas al LMD, que están incluidas en un programa
escrito en un lenguaje anfitrión. Estos programas comúnmente se llaman programas
5. Gestión de transacciones de aplicación.
Varias operaciones sobre la base de datos forman a menudo una única unidad lógica de · Los usuarios sofisticados interactúan con el sistema sin programas escritos. En su
trabajo. lugar, ellos forman sus consultas en un lenguaje de consulta de bases de datos.
Una transacción es una colección de operaciones que se lleva a cabo como una función · Usuarios especializados. Son usuarios sofisticados que escriben aplicaciones de
lógica simple en una aplicación de bases de datos. Cada transacción es una unidad de bases de datos especializadas que no son adecuadas en el marco de procesamiento de
atomicidad y consistencia. datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por
computadora, sistemas de bases de conocimientos y expertos.
Así se requiere que las transacciones no violen ninguna ligadura de consistencia de base de
datos. Es decir, si la base de datos era consistente cuando la transacción comenzó, la base de · Usuarios normales. Son usuarios no sofisticados que interactúan con el sistema
datos debe ser consistente cuando la transacción termine con éxito. mediante la invocación de alguno de los programas de aplicación permanentes que se
han escrito previamente.
Asegurar las propiedades de atomicidad y durabilidad es responsabilidad del propio sistema
de bases de datos. Si se asegura la propiedad de atomicidad, una transacción que falle no
Sistema de
Informes de dirección
Dirigente
1. Compartir datos y bases de datos intermedio
información de
gestión
por áreas funcionales
Se consideran tres formas de compartir los datos: Fig. 11-1. Niveles y compartición de datos entre unidades funcionales
- Entre unidades funcionales. Los PED se aplicaron por primera vez a los niveles operacionales más bajos de la
- Entre los niveles de dirección. organización para automatizar el trabajo en papel. Sus características básicas incluyen:
- Entre localidades que están geográficamente dispersas.
· Foco de atención en el nivel operativo del almacenamiento, el procesamiento y el
1.1. Compartir datos entre unidades funcionales flujo de datos.
· Procesamiento eficiente de transacciones.
El término compartir datos sugiere que personas en áreas funcionales diferentes compartan · Informes resúmenes para los dirigentes.
un grupo común de datos, cada cual para sus propias aplicaciones.
El enfoque de los MIS elevan el foco de atención a las actividades de los sistemas de
El efecto de combinar los datos en una base de datos produce sinergia, es decir, los datos información, con un énfasis adicional en la integración y planificación de la función de los
combinados tienen más valor que la suma de los datos en los archivos por separado. sistemas de información. En la práctica, estas características de los MIS incluyen:
A este fenómeno de combinar los datos para un uso común se le llama integración de datos. · Foco en la información orientada a los mandos intermedios.
· Una integración de las tareas de PED por sus funciones en los negocios, tales como
1.2. Compartir datos entre diferentes niveles de usuarios MIS de producción, MIS de marketing, MIS de personal, etc.
· Generación de encuestas e informes, usualmente como una base de datos.
Diferentes niveles de usuarios necesitan compartir datos. Normalmente se distinguen tres
Un STD se centra en un nivel aún más alto dentro de la organización, con énfasis en las
niveles de usuarios:
características siguientes:
- Personal
- Mandos intermedios
- Ejecutivos
2. Planificación estratégica de bases de datos El equipo de proyecto no debe hacer un modelo de información detallado en este plan. Los
modelos detallados se deben desarrollar en los proyectos subsiguientes de diseño de la base
Moverse de una situación en la que los datos son privados y fragmentados a una en la que los de datos. En lugar de esto, el equipo del proyecto debería identificar los elementos estables
datos son compartidos es más fácil decirlo que hacerlo. Para tener éxito, los datos se deben de la estructura de la información de la organización, elementos que no se alteren con
ver como recurso colectivo y por lo tanto otros recursos colectivos se deben destinar a su cambios organizacionales.
desarrollo, su realización y su utilización en una o varias bases de datos.
2.2. El ciclo de vida del desarrollo de la base de datos
Un elemento esencial en este proceso es la planificación de la base de datos. La planificación
de la base de datos es un esfuerzo colectivo estratégico para determinar las necesidades de la El ciclo de vida del desarrollo de la base de datos incluye:
organización para un extenso período de tiempo en el futuro.
· Información recolectada para determinar las necesidades de los usuarios.
· El diseño del esquema de la base de datos (estructura lógica) para satisfacer esas
necesidades.
· Diseño de la base de datos. La integridad de los datos tiene que ver con el problema de mantener la precisión y
· Formación del usuario. consistencia de los valores de los datos. Los mecanismos de seguridad, tales como las
· Seguridad e integridad de la base de datos. contraseñas y las vistas de los datos, protegen la integridad de los datos. Adicionalmente se
· Rendimiento de la base de datos. pueden mantener en el diccionario de datos restricciones sobre los valores.
3.1. Diseño de bases de datos 3.4. Rendimiento del sistema de base de datos
El diseño conceptual de la base de datos consiste primariamente en la definición de los Un sistema de base de datos al que accedan simultáneamente muchos usuarios puede
elementos de datos que se van a incluir en la base de datos, las interrelaciones que existen responder a veces muy lentamente debido a que los problemas físicos asociados a los usuarios
entre ellos y las restricciones que se aplican a los valores de los datos. que están compitiendo por los recursos no son triviales.
El ABD ocupa un lugar estratégico en la definición y establecimiento de los estándares de la El equipo de ABD debe diagnosticar y resolver los problemas de tiempo de respuesta del
compañía. Puesto que el diseño de la base de datos se controla centralmente, el ABD puede sistema. La solución del problema puede implicar la compra de hardware, la construcción de
definir estándares sobre cómo se deben poner los nombres; sobre los formatos de los datos; índices para el acceso rápido a grandes volúmenes de datos, etc.
sobre los formatos de las pantallas, de los informes y de los archivos. Esto simplifica la
documentación y los requisitos de entrenamiento y facilita la integración de los sistemas 4. Riesgos y costos de las bases de datos
dentro de la compañía.
El efecto sinérgico de las bases de datos, la estandarización del diseño de los datos, los
Las decisiones de diseño se documentan en el diccionario de datos. El ABD controla el procedimientos de manipulación, los beneficios de seguridad, el poder de los lenguajes de
contenido de este diccionario de datos y registra en éste como metadatos los nombres de los manipulación de datos y la amplitud de funciones de sistema que brindan los SGBD son
elementos de datos, los archivos, las pantallas, las formas de los informes y otros. todos beneficios positivos.
3.2. Formación del usuario Sin embargo, los sistemas de bases de datos tienen también sus inconvenientes.
Muchas de las ventajas resultantes de compartir los datos sólo pueden manifestarse en la 4.1. Conflictos en las organizaciones
práctica si los usuarios entienden cómo usar las facilidades del SGBD. El ABD es
responsable de educar a los usuarios en la estructura de la base de datos y en su acceso a Poner los datos en una base de datos común puede que no sea políticamente factible en
través del SGBD. algunas organizaciones. Ciertos grupos de usuarios pueden no estar de acuerdo en ceder el
control de los datos, lo cual es necesario para extender la integración de los mismos. Es más,
el riesgo que implica compartir datos (por ejemplo, un grupo puede dañar los datos de otro
Un sistema de base de datos distribuida también reduce el riesgo de averías de hardware en · Viabilidad tecnológica. ¿Hay tecnología adecuada disponible para dar soporte al
un sistema de base de datos centralizado, ya que el sistema distribuido funciona sobre varias desarrollo de la base de datos?
computadoras. Si una computadora del sistema falla, el sistema puede continuar operando en · Viabilidad operacional. ¿Tiene la compañía personal, presupuesto y experiencia
los otros computadores. interna para hacer que un sistema de base de datos tenga éxito?
· Viabilidad económica. ¿Se pueden identificar los beneficios? ¿Los beneficios
costearían el sistema que se desea? ¿Se pueden medir los costos y los beneficios?
4.4. Costes imprevistos
El enfoque de desarrollar y usar una base de datos puede requerir de inversiones tanto en 5.3. Definición de requisitos
hardware como en software. El hardware para correr un gran SGBD debe ser eficiente y
puede requerir generalmente de más memoria principal y almacenamiento en disco que un La definición de los requisitos involucra a la definición del alcance de la base de datos, la
simple sistema basado en archivos. identificación de requisitos de información de las áreas funcionales y administrativas y la
determinación de los requisitos de software y el hardware.
El SGBD usualmente incluye muchas facilidades, algunas de las cuales pueden no
necesitarse en una organización en particular. No obstante, estos recursos pueden costar Los requisitos de información se determinan por las respuestas a cuestionarios, entrevistas
dinero y usar disco y memoria del sistema. con los directivos y usuarios de oficina y los informes y formularios que están en uso
actualmente.
El SGBD puede también aumentar los costos de operación, ya que requiere mayor tiempo de
ejecución. El modelo de información general que se crea durante la planificación de la base de datos se
expande a modelos para cada una de las áreas funcionales. Estas son las bases para el
diseño detallado de la base de datos que se llevará a cabo en la etapa siguiente.
Organización de Sistemas Informáticos 121 122 Organización de Sistemas Informáticos
5.4. Diseño conceptual
La etapa de diseño conceptual crea el esquema conceptual de la base de datos. Se
desarrollan las especificaciones hasta el punto en que puede comenzar la implementación.
Durante esta etapa se crean modelos detallados de las vistas de los usuarios y se integran en
un modelo conceptual de datos que registra todos los elementos colectivos que se deben
mantener en la base de datos.
5.5. Implementación
Durante la implementación de la base de datos se selecciona y adquiere un SGBD. Luego el
modelo conceptual detallado se convierte al modelo de implementación del SGBD, se
construye el diccionario de datos, se puebla la base de datos, se desarrollan los programas de
aplicación y se entrenan los usuarios.
Capítulo 12
Comunicación de datos y
redes de ordenadores
1. Introducción
1.1. Redes y sistemas distribuidos
Usaremos el término red de computadoras para referirnos a una colección interconectada de
computadoras autónomas.
Fig. 12-1. Modelo de comunicaciones
Se dice que dos computadoras están interconectadas si son capaces de intercambiar
información.
El objetivo principal de todo sistema de comunicaciones es intercambiar información entre
dos entidades. En la figura podemos ver un ejemplo particular de comunicación entre una
Al indicar que las computadoras son autónomas, queremos excluir de nuestra definición a los
estación de trabajo y un servidor a través de una red telefónica pública. Otro posible ejemplo
sistemas en los que existe una clara relación amo-esclavo. Si una computadora puede
es el intercambio de señales de voz entre dos teléfonos a través de la misma red anterior. Los
arrancar, parar o controlar otra a voluntad, las computadoras no son autónomas. Un sistema
elementos clave en este modelo son los siguientes:
con una unidad de control y muchos esclavos no es una red; tampoco lo es una computadora
grande con impresoras y terminales remotas.
· La fuente. Este dispositivo genera los datos a transmitir; por ejemplo teléfonos o
computadores personales.
Existe considerable confusión entre la red de computadoras y un sistema distribuido. La
diferencia radica en que en el sistema distribuido la existencia de múltiples computadoras
autónomas es transparente para el usuario. El usuario puede teclear una orden para ejecutar un · El transmisor. Normalmente los datos generados por la fuente no se transmiten
programa y éste se ejecutará. La tarea de seleccionar el mejor procesador, encontrar y directamente como son generados. Al contrario, el transmisor transforma y codifica la
transportar todos los archivos de entrada al procesador y poner los resultados en el lugar información produciendo señales electromagnéticas susceptibles de ser transmitidas a
apropiado, corresponde al sistema operativo. través de algún sistema de transmisión. Por ejemplo, un modem convierte las cadenas
de bits generadas por un computador personal y los transforma en señales analógicas
que pueden ser transmitidas a través de la red telefónica.
En una red, el usuario debe ingresar de forma explícita en una máquina, enviar los trabajos
remotos explícitamente, mover explícitamente los archivos y en general, llevar a cabo de
manera personal el manejo de la red. En un sistema distribuido nada se tiene que hacer de · El sistema de transmisión, que puede ser desde una simple línea de transmisión
forma explícita; el sistema lo hace todo automáticamente sin que el usuario tenga hasta una compleja red que conecte la fuente con el destino.
conocimiento de ello.
· El receptor, que acepta la señal proveniente del sistema de transmisión y la
En efecto, un sistema distribuido es un sistema de software construido encima de una red, a convierte de tal manera que pueda ser manejada por el dispositivo destino. Por
la que el software confiere un alto grado de cohesión y transparencia. Así, la distinción entre ejemplo, un modem aceptará la señal analógica de la red o línea de transmisión y la
una red y un sistema distribuido tiene que ver con el software más que con el hardware convertirá en una cadena de bits.
(especialmente el sistema operativo).
· El destino, que toma los datos del receptor.
Las señales se deben generar no solamente considerando que deben cumplir los requisitos del
sistema de transmisión y del receptor, sino que deben permitir alguna forma de sincronizar el
2. Usos de las redes de computadoras
receptor y el emisor. El receptor debe ser capaz de determinar cuando comienza y cuando
acaba la señal recibida. Igualmente deberá conocer la duración de cada elemento de la señal. 2.1. Redes para compañías
Además de las cuestiones básicas referentes a la naturaleza y temporización de las señales, se Muchas organizaciones tienen una cantidad importante de computadoras en operación, con
necesitará un conjunto de requisitos que se deben verificar y que se pueden englobar bajo el frecuencia alejadas entre sí. Por ejemplo, una compañía con muchas fábricas puede tener una
término gestión de intercambio. Si se necesita intercambiar datos durante un periodo de computadora en cada localidad para llevar el control de los inventarios, vigilar la
tiempo, las dos partes deben cooperar. En los dispositivos para el procesamiento de datos, se productividad y pagar la nómina local. Inicialmente, cada una de estas computadoras puede
necesitarán ciertas convenciones además del simple hecho de establecer la conexión. Por haber trabajado aislada de las otras, pero en algún momento la gerencia decidió conectarlas
ejemplo se deberá establecer si ambos dispositivos pueden transmitir simultáneamente o para poder extraer y correlacionar información acerca de toda la compañía.
deben guardar turnos, se deberá decidir la cantidad y el formato de los datos que se transmiten
cada vez. La cuestión aquí es compartir los recursos y la meta es hacer que todos los programas, el
equipo y especialmente los datos estén disponibles para cualquiera en la red, sin importar la
En los sistemas de comunicaciones es posible que aparezcan errores; es decir, la señal localización física de los recursos y de los usuarios.
transmitida se distorsiona de alguna manera antes de alcanzar su destino. Por tanto, en
circunstancias donde no se puedan tolerar errores, se necesitarán procedimientos para la Una segunda meta es lograr una alta confiabilidad al contar con fuentes alternativas de
detección y corrección de errores. suministro. Por ejemplo, todos los archivos podrían replicarse en dos o tres máquinas; así, si
una de ellas no está disponible, podrán usarse las otras copias.
Para evitar que la fuente no sature al destino transmitiendo datos más rápidamente de lo que
el receptor pueda procesar y absorber, se necesitan una serie de procedimientos denominados Otra meta es ahorrar dinero. Las computadoras pequeñas tienen una relación
control de flujo. precio/rendimiento mucho mejor que las grandes. Las mainframes son aproximadamente 10
veces más rápidas que las computadoras personales, pero cuestan 1000 veces más. Este
Conceptos relacionados pero distintos a los anteriores son el direccionamiento y el desequilibrio ha ocasionado que muchos diseñadores construyan sistemas compuestos por
encaminamiento. Cuando cierto recurso se comparte por más de dos dispositivos, el sistema computadoras personales, una por usuario, con los datos guardados en una o más máquinas
fuente deberá de alguna manera indicar a dicho recurso compartido la identidad del destino. servidoras de archivos compartidas. En este modelo, los usuarios se denominan clientes, y
El sistema de transmisión deberá garantizar que ese y sólo ese destino reciba los datos. Es el conjunto completo se llama modelo cliente-servidor.
más, el sistema de transmisión puede ser una red donde haya la posibilidad de más de un
camino para alcanzar el destino; en este caso se necesitará por tanto la elección de una de Otra meta al establecer redes es la escalabilidad: la capacidad para incrementar el
entre las posibles rutas. rendimiento del sistema gradualmente cuando la carga de trabajo crece, añadiendo solamente
más procesadores.
La recuperación es un concepto distinto a la corrección de errores. En ciertas situaciones en
las que el intercambio de información, por ejemplo una transacción de una base de datos o la Un objetivo más del establecimiento de una red de computadoras tiene poco que ver con la
transferencia de un fichero, se vea interrumpida por algún fallo, se necesitará un mecanismo tecnología. Una red de computadoras puede proporcionar un potente medio de comunicación
de recuperación. El objetivo será pues, o bien ser capaz de continuar transmitiendo desde entre empleados que están muy distantes. Al usar una red, es fácil para dos o más personas
donde se produjo la interrupción, o al menos recuperar el estado donde se encontraban los que viven lejos escribir un informe juntas.
sistemas involucrados antes de comenzar el intercambio.
A largo plazo, el uso de redes para mejorar la comunicación entre las personas probablemente
El formato de mensajes está relacionado con la conformidad que debe existir entre las dos resultará más importante que las metas técnicas tales como la mejora de la confiabilidad.
partes en lo que se refiere al formato de los datos intercambiados. Por ejemplo, ambos lados
deben coincidir en el uso del mismo código binario para representar los caracteres.
Otra aplicación en ésta categoría es el acceso a sistemas de información como la actual red Las LAN de transmisión pueden tener diversas topologías; la figura muestra dos de ellas.
mundial (World Wide Web), la cual contiene información sobre arte, negocios, cocina,
gobierno, salud, historia, aficiones, recreación, ciencia, deportes, viajes y muchos otros temas.
Los grupos de noticias a nivel mundial, con discusiones sobre todos los temas concebibles
son ya comunices entre un grupo de personas.
En muchas redes de área amplia, la subred tiene dos componentes distintos: las líneas de
transmisión y los elementos de conmutación.
Las líneas de transmisión (también llamadas circuitos o canales) mueven bits de una
máquina a otra.
Los elementos de conmutación son computadoras especializadas que conectan dos o más
líneas de transmisión. Cuando los datos llegan por una línea de entrada, el elemento de Fig. 12-5. Topologías de interconexión de enrutadores. a) Estrella. b) Anillo. c) Árbol. d) Totalmente
conmutación debe escoger una línea de salida para reenviarlos. Para las computadoras de conectada. e) Doble anillo. f) Irregular
conmutación usaremos la palabra enrutador.
3.4. Interredes
Existen muchas redes en el mundo, a veces con diferente hardware y software. La gente
conectada a una red a menudo quiere conectarse con gente conectada a una red distinta. Esto
requiere conectar redes diferentes y con frecuencia incompatibles, algunas veces usando
máquinas llamadas pasarelas para hacer la conexión y realizar la traducción necesaria, ambas
en términos de hardware y software. Una colección de redes interconectadas se llama
interred.
Fig. 13-1. Arquitectura de ordenadores distribuida en una corporación · Gestión de bases de datos. Este componente lleva a cabo la manipulación y gestión
de datos requerida por una aplicación. La manipulación y gestión de datos puede ser
Un sistema raíz, que típicamente será una gran computadora, actúa como depósito de los tan sencilla como la transferencia de un registro, o tan compleja como el
datos corporativos. El sistema raíz está conectado con servidores y que poseen un doble procesamiento de sofisticadas transacciones SQL.
papel. Los servidores actúan para actualizar y solicitar datos corporativos mantenidos por el
sistema raíz. Además mantienen sistemas departamentales locales y desempeñan un papel Además de estos componentes, existe otro bloque de construcción del software, que suele
clave al poner en red los PC del nivel de usuario a través de una red de área local (LAN). denominarse software intermedio en todos los sistemas C/S. El software intermedio consta
de elementos de software que existen tanto en el cliente como en el servidor, e incluye
En una estructura C/S la computadora que reside por encima de otra computadora se elementos de sistemas operativos en red así como un software de aplicación especializado
denomina servidor, y las computadoras de nivel inferior se denominan clientes. Los clientes que presta su apoyo a las aplicaciones específicas de bases de datos, a estándares de
solicitan servicios, y el servidor se los proporciona. En el contexto de la arquitectura distribución de solicitudes de objetos, a tecnologías de trabajo en grupo, a gestión de
presentada se pueden llevar a cabo un cierto número de implementaciones distintas: comunicaciones, y a otras características que facilitan la conexión cliente/servidor.
Cuando la mayor parte de la funcionalidad asociada a cada uno de los tres componentes se le
asocia al servidor, se ha creado un diseño de servidor principal. A la inversa, cuando el
cliente implementa la mayor parte de los componentes de interacción/presentación con el
usuario, de aplicación y de bases de datos, se tiene un diseño de cliente principal.
Los servidores principales son los que suelen diseñarse cuando se implementan sistemas de
transacciones y de trabajo en grupo. El servidor proporciona el apoyo de la aplicación
necesario para responder a transacciones y comunicaciones que provengan de los clientes. El
software de cliente se centra en la gestión de IGU y de comunicaciones.
· Los datos estáticos que se utilicen como referencia deberían de asignarse al cliente.
Esto sitúa los datos más próximos al usuario que tiene necesidad de ellos, y minimiza
un tráfico de red innecesario y la carga del servidor.
1. Definición de CASE
El mejor taller de un artesano (sea mecánico, carpintero o ingeniero del software) tiene tres
características fundamentales:
- Un artesano muy capaz que comprenda la forma de utilizar las herramientas de En el extremo inferior del espectro de integración se encuentra la herramienta individual
manera efectiva. (solución puntual).
El taller de la ingeniería del software se denomina entorno de apoyo de proyectos Cuando las herramientas individuales proporcionan capacidades adecuadas para el
integrados, y el conjunto de herramientas que llena ese taller se denomina ingeniería del intercambio de datos (tal como hace la mayoría), el nivel de integración mejora ligeramente.
software asistida por computadora (CASE). Estas herramientas producen su salida en un formato estándar que debería de resultar
compatible con otras herramientas que sean capaces de leer ese formato.
Las herramientas CASE son un complemento de la caja de herramientas del ingeniero del
software. CASE proporciona al ingeniero la posibilidad de automatizar actividades manuales En algunos casos, los constructores de herramientas CASE complementarias trabajan a la vez
y de mejorar su visión general de la ingeniería. Al igual que las herramientas de ingeniería y para formar un puente entre herramientas (p.e. una herramienta de análisis y diseño que se
de diseño asistidos por computadora que utilizan los ingenieros de otras disciplinas, las enlaza con un generador de código). Mediante el uso de este enfoque, la sinergia entre
herramientas CASE ayudan a asegurar que la calidad sea algo diseñado antes de llegar a herramientas puede producir unos resultados finales que sería difícil crear empleando cada
construir el producto. una de las herramientas por separado.
Las herramientas CASE se pueden clasificar por su función, por su papel como instrumentos · Herramientas de administración de proyectos.
para administradores, por su utilización en los distintos pasos del proceso de ingeniería del
software. La taxonomía presentada utiliza como criterio principal la función. La planificación del proyecto y el plan del proyecto deben seguirse y monitorizarse de
forma continua. Además, el gestor deberá utilizar las herramientas que recojan
· Herramientas de ingeniería de la información. métricas que en última instancia proporcionen una indicación de loa calidad del
producto de software. Las herramientas de esta categoría suelen ser extensiones de
Al modelar los requisitos de información estratégica de una organización, las herramientas de planificación de proyectos.
herramientas de la ingeniería de la información proporcionan un metamodelo del cual
se derivan sistemas de información específicos. · Herramientas de seguimiento de requisitos.
El objetivo primordial de las herramientas de esta categoría consiste en representar Cuando se desarrollan grandes sistemas, el sistema proporcionado suele no satisfacer
objetos de datos de negocios, sus relaciones, y la forma en que fluyen estos objetos de los requisitos especificados por el cliente. El objetivo de las herramientas de
datos entre distintas zonas de negocio en el seno de la compañía. seguimiento de requisitos es proporcionar un enfoque sistemático para el aislamiento
de requisitos, comenzando por la solicitud del cliente de una propuesta o
· Modelado de procesos y herramientas de administración. especificación. Las herramientas de trazado de requisitos típicas combinan una
evaluación de textos por interacción humana, con un sistema de gestión de bases de
Si una organización intenta mejorar un proceso de negocios (o de software) lo primero datos que almacena y categoriza todos y cada uno de los requisitos del sistema que se
que debe hacer es entenderlo. Las herramientas de modelado de procesos se utilizan “analizan” a partir de la especificación original.
para representar los elementos clave del proceso de modo que sea posible entenderlo
mejor. · Herramientas de métricas y gestión.
· Herramientas de planificación de proyectos. Las métricas de software mejoran la capacidad del administrador para controlar y
coordinar el proceso del software y la capacidad del ingeniero para mejorar la calidad
Se concentran en dos áreas primordiales: estimación de esfuerzos de proyecto y de del software que produce. Las métricas y herramientas de medida actuales se centran
costes de software, y planificación de proyectos. en procesos, proyectos y características del producto.
Las herramientas de estimación calculan el esfuerzo estimado, la duración del Basándose en características de proyectos y de productos proporcionados por el
proyecto y el número recomendado de personas. usuario, estas herramientas “califican” los valores locales frente a los valores medios
de la industria (y frente al rendimiento local anterior) y sugieren estrategias para llegar
Las herramientas de planificación de proyectos capacitan al administrador para a mejoras.
definir todas las tareas del proyecto (la estructura de desglose de tareas), para crear
una red de tareas (normalmente empleando una entrada gráfica), para representar las · Herramientas de documentación.
interdependencias entre tareas y para modelar la cantidad de paralelismo que sea
posible para ese proyecto. Las herramientas de producción de documentos y de autoedición prestan su apoyo a
casi todos los aspectos de la ingeniería del software, y representan una importante
oportunidad de “aprovechamiento” para todos los desarrolladores de software.
La mayor parte de las herramientas CASE que afirman que tienen como principal Se pueden utilizar toda una gama de herramientas de generación de prototipos. Los
interés el control de calidad son en realidad herramientas métricas que hacen una generadores de pantallas permiten al ingeniero de software definir rápidamente la
auditoría del código fuente para determinar si se ajusta o no a ciertos estándares del disposición de la pantalla para aplicaciones interactivas.
lenguaje.
Otras herramientas de prototipos CASE más sofisticadas permiten la creación de un
· Herramientas de gestión de bases de datos. diseño de datos, acoplado con las disposiciones de la pantalla y de los informes
simultáneamente.
El software de gestión de bases de datos sirve como fundamento para establecer una
base de datos CASE, que también se denominará base de datos del proyecto. · Herramientas de programación.
· Herramientas de gestión de configuración de software. La categoría de herramientas de programación abarca los compiladores, editores y
depuradores que están disponibles para prestar su apoyo en la mayoría de los
La gestión de configuración de software (GCS) se encuentra en el núcleo de todos los lenguajes de programación convencionales.
entornos CASE. Las herramientas pueden ofrecer su asistencia en las cinco tareas
principales de GCS: identificación, control de versiones, control de cambios, Además, los entornos de programación orientados a objetos, los lenguajes de cuarta
auditoría y contabilidad de estados. generación, los entornos de programación gráfica, los generadores de aplicaciones, y
los lenguajes de consulta de bases de datos residen también en esta categoría.
· Herramientas de análisis y diseño.
· Herramientas de análisis estático.
Las herramientas de análisis y diseño capacitan al ingeniero del software para crear
modelos del sistema que haya que construir. Los modelos contienen una Las herramientas de análisis estático prestan su asistencia al ingeniero de software a
representación de los datos, de la función y del comportamiento (en el nivel de efectos de derivar casos de prueba prácticos.
análisis), así como caracterizaciones del diseño de datos, arquitectura, procedimientos
e interfaz. Las herramientas de comprobación basadas en código admiten un código fuente
como entrada, y efectúan un cierto número de análisis que dan lugar a la generación
· Herramientas PRO/SIM. de casos de prueba.
Las herramientas PRO/SIM (de prototipos y simulación) proporcionan al ingeniero Los lenguajes de comprobación especializados capacitan al ingeniero del software
del software la capacidad de predecir el comportamiento de un sistema en tiempo real para escribir detalladas especificaciones de comprobación que describirán todos los
antes de llegar a construirlo. casos de prueba y la logística de su ejecución.
Además, capacitan al ingeniero del software para desarrollar simulaciones del sistema Las herramientas de comprobación basadas en requisitos aíslan requisitos específicos
de tiempo real que permitirán al cliente obtener ideas acerca de su funcionamiento, del usuario y sugieren casos de prueba que ejerciten estos requisitos.
comportamiento, y respuesta antes de la verdadera implementación.
· Herramientas de análisis dinámico.
· Herramientas de desarrollo y diseño de interfaz.
Las herramientas de análisis dinámico interactúan con un programa que se esté
Las herramientas de desarrollo y diseño de interfaz son en realidad un conjunto de ejecutando, comprueban la cobertura de rutas, comprueban las afirmaciones acerca del
primitivas de componente de programas tales como menús, botones, estructuras de valor de variables específicas y en general instrumentan el flujo de ejecución del
ventanas, iconos, mecanismos de desplazamiento, controladores de dispositivo, etc. programa.
El entorno C/S exige unas herramientas de comprobación especializadas que ejerciten - Proporcionar un mecanismo para compartir la información de ingeniería del software
la interfaz gráfica de usuario y los requisitos de comunicaciones en red para el cliente entre todas las herramientas que estén contenidas en el entorno.
y el servidor.
- Hacer posible que un cambio de un elemento de información se siga hasta los demás
· Herramientas de reingeniería. elementos de información relacionados.
Esta categoría puede subdividirse en las funciones siguientes: - Proporcionar un control de versiones y una gestión de configuración general para
toda la información de la ingeniería del software.
· Herramientas de ingeniería inversa para producir especificaciones.
- Permitir un acceso directo y no secuencial a cualquiera de las herramientas
Se toma el código fuente como entrada y se generan modelos gráficos de análisis y contenidas en el entorno.
diseño estructurados, listas de utilización y otras informaciones de diseño.
- Establecer un apoyo automatizado para un contexto de procedimientos para el
· Herramientas de reestructuración y análisis de código. trabajo de la ingeniería del software que integra las herramientas y los datos en una
estructura de desglose de trabajo estandarizada.
Se analiza la sintaxis del programa, se genera una gráfica de control de flujo y se
genera automáticamente un programa estructurado. - Capacitar a los usuarios de cada una de las herramientas para experimentar una
utilización consistente en la interfaz hombre-máquina.
· Herramientas de reingeniería para sistemas en línea.
- Permitir la comunicación entre ingenieros del software.
Se utilizan para modificar sistemas de bases de datos en línea (p.e. para convertir
archivos IDMS o DB2 traduciéndolos a un formato de entidades y relaciones). - Recoger métricas tanto de gestión como técnicas que se puedan utilizar para mejorar
el proceso y el producto.
4. Entornos CASE integrados
5. La arquitectura de integración
Aun cuando se pueden obtener beneficios a partir de herramientas CASE individuales que
abarquen actividades de ingeniería del software por separado, la verdadera potencia de CASE Un equipo de ingeniería del software utiliza herramientas CASE, los métodos
solamente se puede lograr mediante la integración. correspondientes y un marco de referencia de proceso con objeto de crear un conjunto de
informaciones de ingeniería del software.
Los beneficios del CASE integrado (I-CASE) incluyen:
El marco de referencia de integración facilita la transferencia de información desde y hacia
- Una transferencia suave de información (modelos, programas, documentos, datos) ese conjunto de informaciones. Para lograr esto, deben existir los siguientes componentes de
entre una herramienta y otra, y entre un paso de ingeniería y el siguiente. arquitectura:
- Una reducción del esfuerzo necesario para efectuar actividades globales tales como - Una base de datos para almacenar la información.
la administración de configuración de software, el control de calidad y la producción - Un sistema de administración de objetos que gestione los cambios efectuados en
de documentos. la información.
- Un mecanismos de control de herramientas que coordine la utilización de
- Un aumento del control del proyecto que se logra mediante una mejor planificación, herramientas CASE.
monitorización y comunicación. - Una interfaz de usuario que proporcione una ruta consistente entre las acciones
efectuadas por el usuario y las herramientas contenidas en el entorno.
- Una mejor coordinación entre los miembros del personal que estén trabajando en
grandes proyectos de software.
La capa de gestión de objetos (OML) lleva a cabo las funciones de gestión de configuración.
En esencia, el software de esta capa proporciona el mecanismo para la integración de
herramientas. Cada herramienta CASE se “enchufa” en la capa de gestión de objetos.
6. El depósito CASE
Estamos utilizando un determinado número de términos distintos para hacer alusión al lugar
Fig. 14-2. Modelo de arquitectura para el marco de referencia de la integración de almacenamiento de la información de la ingeniería del software: base de datos CASE, base
de datos del proyecto, base de datos de entorno de apoyo de proyecto integrado, diccionario
La capa de interfaz de usuario incorpora un conjunto de herramientas de interfaz de datos y depósito. Aún cuando existen sutiles diferencias entre algunos de estos términos,
estandarizado, con un protocolo de presentación común. todos ellos se refieren al centro de acumulación y almacenamiento.
El kit de herramientas de interfaz contiene software para la gestión de la interacción 6.1. El papel del depósito en I-CASE
hombre-máquina, y una biblioteca de objetos de visualización. Ambos proporcionan
un mecanismo consistente para la comunicación entre la interfaz y las herramientas El depósito de un entorno I-CASE es el conjunto de mecanismos y estructuras de datos que
CASE individuales. consiguen la integración de datos y herramientas y entre datos y datos. Proporciona las
funciones y herramientas de un sistema de gestión de bases de datos, pero además, el depósito
El protocolo de presentación es el conjunto de líneas generales que proporciona a lleva a cabo las funciones siguientes:
todas las herramientas CASE un mismo aspecto. Las convenciones de distribución de
pantalla, los nombres de menú y la organización, los iconos, los nombres de los
· Integridad de datos:
objetos, la utilización del teclado y el ratón, y el mecanismo para acceder a las
herramientas se definen todos ellos como parte del protocolo de presentación.
Incluye funciones para validar las entradas efectuadas en el depósito, para asegurar la
consistencia entre objetos relacionados, y para efectuar automáticamente
· Información compartida:
· Integración datos-herramientas:
Establece un modelo de datos al que pueden acceder todas las herramientas del
entorno I-CASE, controla el acceso a los datos, y lleva a cabo las funciones de gestión
de configuración adecuadas.
· Integración datos-datos:
El sistema de gestión de bases de datos relaciona los objetos de datos de tal modo que
se puedan llevar a cabo las demás funciones.
· Imposición de la metodología:
· Estandarización de documentos:
Capítulo 15 Tradicionalmente, Internet ha tenido cuatro aplicaciones principales, que son las siguientes:
· Noticias. Los grupos de noticias son foros especializados en los que usuarios con un
1. Un poco de Historia de Internet interés común pueden intercambiar mensajes. Existe miles de grupos de noticias, con
temas técnicos y no técnicos.
La colección mundial de redes, ahora llamada “Internet”, comenzó hace más de 20 años
como un proyecto conjunto entre las fuerzas armadas de los Estados Unidos y algunos de los · Sesión remota. Mediante el uso de Telnet, Rlogin u otros programas, los usuarios en
principales centros de investigación. Habiendo recibido el encargo de diseñar un medio cualquier lugar de Internet pueden ingresar en cualquier otra máquina en la que tengan
“capaz de sobrevivir” a las austeras condiciones impuestas por un ataque nuclear, los una cuenta autorizada.
investigadores de la Defense Advanced Research Project Agency (DARPA) y de la
Universidad de California/Berkcley, M.I.T. y otras instituciones desarrollaron un nuevo · Transferencia de archivos. Con el programa FTP, es posible copiar archivos de una
conjunto de estándares de comunicaciones. La característica diferenciadora de estos máquina en Internet a otra. De esta forma está disponible una vasta cantidad de
estándares, conocidos colectivamente como protocolos entrerredes, consistía en permitir a artículos, bases de datos y otra información.
computadores separados por grandes distancias ponerse en comunicación e intercambiar
información, sin necesidad de confiar en un conjunto determinado de cables. Después de Hasta casi finales de la década de los 90, Internet se poblaba en gran medida de
todo, nunca se sabe qué postes telefónicos van a quedar en pie después de una guerra nuclear. investigadores académicos, del gobierno y de la industria. Una aplicación nueva, la WWW
(world wide web, red mundial) cambió esto y atrajo a millones de nuevos usuarios no
Así surgió el protocolo TCP/IP, que es el que usa Internet. Con todo esto, montaron una red académicos a la red. Esta aplicación no cambió ninguno de los recursos subyacentes pero los
denominada ARPANET, que interconectaba centros académicos y de investigación. Pero se hizo más fáciles de usar. Junto con el visor de Mosaic, la WWW hizo posible que una
fueron conectando progresivamente redes de otros ámbitos geográficos, hasta alcanzar un localidad estableciera varias páginas de información conteniendo texto, dibujos, sonido y
ámbito mundial hasta vídeo con enlaces intercalados a otras páginas. Al accionar el ratón en un enlace, el
usuario se ve transportado de inmediato a la página a la que apunta ese enlace.
2. Cómo funciona Internet
4. La World Wide Web
Un ordenador se prepara para enviar un mensaje Internet envolviéndolo en un sobre dirigido
llamado paquete. La localización de todos los computadores en Internet queda expresamente En 1992, Tim Berners-Lee y sus colaboradores estaban buscando una forma de hacer circular
especificada por medio de una dirección IP, un conjunto de cuatro números separados por borradores de artículos de investigación para su revisión entre otros investigadores. Las
puntos (por ejemplo, 159.74.20.254). Ya que los seres humanos tienden a recordar nombres publicaciones científicas se encuentran entre los documentos más complejos, debido a que
mejor que números se puede asignar a las direcciones IP un mnemónico, formalmente un mezclan textos, ecuaciones y figuras detalladas en cada página. El desafío consistía en cómo
Fully Qualified Domain Name (FQDN). Por ejemplo, el nombre mcp.com. mover estos documentos por Internet en un formato que requiriera una mínima amplitud de
banda de red y no necesitara que los destinatarios cargaran software especializado de
Determinados sitios Internet mantienen computadores de referencia pública que listan cada procesamiento de textos en sus ordenadores.
dirección IP registrada y su nombre de dominio correspondiente. Esta información es
suficiente para direccionar los datos de forma fiable desde un computador a otro. Berners-Lee resolvió el problema de intercambio de documentos independiente de
plataformas con tres tecnologías. Definió un lenguaje, HTML, que permite la intercalación
Una máquina está en Internet si opera con los protocolos de TCP/IP, tiene una dirección IP y en texto normal de la estructura de documentos, así como los enlaces a otros recursos
es capaz de enviar paquetes IP a todas las demás máquinas de Internet. Internet. El lenguaje HTML elimina la necesidad de que cada usuario tenga software
Un sistema de correo electrónico permite a las personas en una red enviarse mensajes entre La plataforma tradicional de trabajo en grupo está diseñada para usuarios que estén
sí. Si está conectado a Internet y yo supiera su dirección de red, podría enviarle un mensaje trabajando en un área geográfica delimitada, como pueda ser una oficina. Uno de los primeros
incluso aunque no tuviera idea alguna de su localización geográfica. Otra característica que el usos del trabajo en grupo fue el de usuarios que necesitaban controlar dispositivos, como
correo electrónico aporta a la comunicación es que no es necesario estar conectado a la red impresoras, módems o escáneres compartidos. Hoy en día, los sistemas de trabajo en grupo
para recibir un correo. Este es almacenado y enviado cuando el destinatario se conecte a la heredados son empleados para llevar a cabo una amplia serie de funciones de comunicación e
red. intercambio de datos y están ofreciendo lentamente su utilidad también a usuarios remotos.
Una intranet, por otro lado, sirve para usuarios que se encuentren diseminados en áreas
6. Dónde comienza intranet geográficas muy diversas y desean controlar información dispersa a lo largo de diferentes
oficinas o domicilios, o incluso en pleno viaje de los empleados. Una intranet puede ser
utilizada incluso para dotar a clientes, proveedores u otros usuarios externos de un acceso
Una intranet es una red interna y autosuficiente que enlaza múltiples usuarios usando la
rápido y sencillo a la información apropiada.
tecnología Internet. Las intranets ponen un límite alrededor del ilimitado territorio de
Internet, estableciendo sectores de acceso controlado dentro de los que los usuarios pueden
El objetivo del trabajo en grupo (groupware) es “permitir a las personas trabajar
comunicarse e interactuar libremente.
conjuntamente mediante la comunicación, la colaboración y la coordinación”. Definido de
esta forma, el software de trabajo en grupo tiene mucho en común con la tecnología web.
Los ordenadores en una intranet pueden ser visibles o no fuera de ésta. De serlo, sus
Pero posee una serie de diferencias significativas.
nombres y direcciones quedarán inscritos con una DNS pública, en caso contrario, sólo es
necesario que queden registrados en un sistema interno.
7.1. Diferencias principales
La diferencia entre Internet e intranet no es tecnológica. La verdadera diferencia estriba en:
Un sistema tradicional de trabajo en grupo requiere que todos los ordenadores de la red
• El nivel de acceso. ejecuten, generalmente, el mismo software o una similar. Además, una gran parte de la
• La forma como se utilizan las tecnologías para el establecimiento de aplicación reside en cada PC, para que se puedan intercambiar los datos.
comunicaciones.
• Los objetivos de las partes en comunicación. Groupware pone su énfasis en el trabajo en equipo, mientras que las webs consideran a los
usuarios independientes como su audiencia principal.
Internet tiene un alcance global. Por el contrario el alcance de una intranet está
estrictamente limitado: puede conectar a un grupo de trabajo, un departamento o a toda una Los productos software de trabajo en grupo como, por ejemplo, Lotus Notes o Novell
corporación, pero sirve a una comunidad de usuarios bien definida y limitada. Groupwise, están construidos en base a componentes propios de mensajería y bases de
datos. Las webs están basadas en tecnologías de dominio público como, por ejemplo, SMTP
Internet resuelve un número de espinosos problemas de trabajo en red que son relevantes y HTTP, que son estándares flexibles y abiertos.
para las comunicaciones tanto privadas como públicas. Junto con los estándares desarrollados
Los administradores de la intranet crean páginas WWW en HTML para el manual del 7.6. Gestión de documentos
empleado, las políticas corporativas, o para cualquier otra información estática, y la almacena
en el servidor Web. Ahora la información está disponible en la intranet para todo el mundo y, La gestión de documentos presenta cuatro dimensiones esenciales:
en cualquier momento, sin costes de reproducción o almacenamiento.
• Búsqueda/recuperación. La capacidad de encontrar lo que se está buscando.
7.4. Datos corporativos
• Seguridad. Control del acceso de escritura/lectura a los documentos.
Algunas grandes empresas utilizan bases de datos distribuidas u otras clases de bases de
datos compartidas sobre una red, como puedan ser listas de precios, listas de proveedores y • Control de versión. Mantener un seguimiento de las modificaciones de los
datos financieros. Oracle y Sybase fabrican estas grandes bases de datos para redes. Estas originales.
firmas también construyen aplicaciones software para acceder a la información de sus bases
de datos. Sin embargo, cada ordenador de la red debe ejecutar el software de acceso a la base • Archivo. Conseguir la disponibilidad de datos históricos.
de datos; y cada cliente software debe hablar con la base de datos exactamente de la misma
manera, usando una arquitectura cerrada.
Capítulo 16
gestión de locales, consideraciones logísticas y resultados esperados.
Las intranets ofrecen un amplio rango de beneficios que entran dentro de dos grandes Una firma internacional de abogados, por ejemplo, emplea su intranet para fortalecer su
categorías: eficiencia y efectividad. En este contexto, la eficiencia significa la mejora de los práctica ambiental. La intranet permitió que los especialistas en medio ambiente de la firma
mecanismos de intercambio de información, superando los obstáculos logísticos que existen intercambiaran (en un entorno seguro) información acerca de casos y de las nuevas
para recolectar y diseminar la información necesaria de una manera precisa. La efectividad se regulaciones y tendencias legales que les afectaban y solicitar el consejo de sus colegas,
refiere al impacto organizativo del perfeccionamiento de la colaboración y la toma de rápida y privadamente.
decisiones.
2. Niveles de uso y de impacto
1.1. Aumento de la eficiencia
Al evaluar el uso y beneficio potencial de utilizar una intranet, resulta útil considerar tres
Las mejoras de eficiencia se pueden identificar con facilidad y permitirnos hacer mediciones grandes niveles de funcionalidad:
cuantitativas. Por ejemplo, muchos patrocinadores de intranet informan sobre ahorros
significativos en gastos extra (tales como correo en horario nocturno, gastos postales o de · Nivel uno: visualización de información general.
llamadas telefónicas de larga distancia). Otros ahorros se derivan de la disminución de la
dependencia de los documentos “impresos”, como puedan ser manuales de empresa, · Nivel dos: compartición de datos del negocio.
catálogos de productos o relaciones de materiales de clientes, que se pueden distribuir
electrónicamente en vez de ser impresos y enviados por correo. · Nivel tres: comunicaciones interactivas.
Oculto dentro de la ecuación de eficiencia está el ahorro en horas de trabajo personal. Una La inherente flexibilidad de las intranets permite que las organizaciones empiecen por un
intranet a pleno funcionamiento puede reducir drásticamente la factura telefónica, nivel relativamente simple e incrementen su capacidad según sus necesidades y a su propio
intercambiando múltiples borradores de documentos, y reduciendo el tiempo empleado en ritmo. Muchos patrocinadores de intranet utilizan este medio solamente para diseminar
coordinar la recopilación de información. información a través de toda la organización. Sea por propia elección o debido a obstáculos
organizativos, no progresan más allá del nivel uno. Otros patrocinadores más ambiciosos
La fuerza de ventas de una empresa utiliza su intranet exclusivamente como un medio de apuntan hacia la colaboración (nivel tres) desde el principio. Para estas organizaciones, los
relación con el cliente. Los representantes de ventas pueden acceder a una información on- niveles uno y dos ofrecen más un medio para alcanzar un fin que un fin en sí mismo.
line complementaria sobre los productos desde las oficinas de los clientes en vez de acarrear
con un montón de catálogos o folletos. 2.1. Nivel uno: visualización de información general
Una multinacional comercial utiliza su intranet para, entre otras cosas, organizar una Desde la comunidad de usuarios más pequeña hasta la multinacional comercial de mayor
compleja planificación de citas. En cualquier momento dado, la organización estará tamaño, toda organización genera alguna forma común de información, tanto para sus
preparando simposiums técnicos, encuentros de equipos especiales y conferencias de propios miembros o constituyentes como para el mundo exterior. Sea formal o informal, esta
negocios; además de sus reuniones plenarias semestrales y anuales, que generalmente atraen a información ayuda a mantener la cohesión de la organización, estableciendo una
cientos de participantes de todo el mundo. comprensión general de su misión, metas, recursos, políticas y novedades.
La gran cantidad de información disponible para este público puede adoptar muchas formas, El empleo de intranet de nivel de dos estimula el intercambio selectivo de información y la
pudiéndose adaptar casi todas al entorno intranet. El contenido de una intranet puede ser revisión de trabajos en progreso. Una firma de ingeniería y construcción utiliza un sector de
actualizado instantáneamente y de manera on-line, lo que se traduce en ahorro de dinero y su intranet como enlace de los directores de los principales proyectos de construcción
tiempo. esparcidos por el mundo. Ya que muchos de estos proyectos (plantas hidroeléctricas, por
ejemplo) comparten un diseño común y unos requisitos de recursos similares, la capacidad de
Por ejemplo, los directorios de empleados, manuales y procedimientos operativos estándar intercambiar informes de progreso, especificaciones técnicas, gráficos y cualquier otra
(que en muchas empresas están sufriendo constantemente un proceso de revisión), pueden ser información permite a cada director beneficiarse de la experiencia de otros.
publicados en una intranet y leídos sólo por usuarios autorizados. La intranet también puede
ser utilizada para la diseminación de documentos de lectura obligada, registrando el acceso 2.3. Nivel tres: comunicaciones interactivas
de los usuarios y evitando el mucho más monótono método de “leer y firmar”, obligado
tradicionalmente por cumplimiento legal. En su perfil más dinámico, las intranets ofrecen un medio de colaborar en tiempo real,
creando plataformas seguras para las comunicaciones interactivas intraorganizativas.
Muchas empresas utilizan sus intranets para visualizar el rendimiento histórico de los fondos
de pensiones de los empleados o planes de almacenamiento. Una compañía aeroespacial comprometida en un extenso programa de investigación y
desarrollo utiliza su intranet para estimular la cooperación entre los técnicos de diferentes
Otras organizaciones muestran gráficos de rendimientos de ventas por divisiones o por divisiones. Históricamente, estos especialistas habían trabajado en aislamiento, cada uno
regiones, actualizados y comparados mensualmente. centrándose en un único componente de un prototipo de avión comercial. Con el tiempo, la
alta dirección tuvo que reconocer que este patrón de trabajo creaba barreras a la productividad
La información sobre los productos es una categoría de contenidos muy popular de las y promovía los conflictos entre divisiones y directores de departamentos, en vez de una
intranets, cuyos patrocinadores ven este medio como una manera de mejorar el servicio a los competencia saludable. La dirección necesitaba un modo de derribar estas barreras,
clientes. estableciendo una visión común y restaurando un sentimiento funcional de metas comunes, en
este caso, la construcción de un nuevo avión.
Las intranets ofrecen la oportunidad de avisar a los clientes de la existencia de un nuevo
producto rápidamente, así como proporcionar unas especificaciones del producto e La intranet de esta empresa proporcionaba los medios para alcanzar este fin. Pero, en primer
instrucciones de uso fáciles de entender asegurando la consistencia de la información. lugar, la alta dirección tuvo que aclarar que la empresa hacía negocio cambiando sus
procedimientos, y no sólo daba soporte sino que requería una colaboración tangible entre las
2.2. Nivel dos: compartir los datos del negocio distintas divisiones. Se vio claro que con sólo proporcionar la intranet no era suficiente;
convertirla en vital y dinámica hacía necesario un fuerte trabajo de base por adelantado,
Además de la publicación de información relativamente estática o histórica, como informes recibiendo informes tanto de los jefes de división como de los expertos técnicos.
anuales, cada organización mantiene los datos que están cambiando constantemente. Estos
datos pueden cuantificar la producción semestral, las ventas semanales, o el inventario de La intranet de nivel tres de la empresa está dividida en sectores, cada uno de los cuales
productos; también pueden documentar niveles de pertenencia de miembros o contribuciones; representa un proyecto individual, aunque son fácilmente conectables con el resto. Cada
o pueden reflejar cambios en la contabilidad general. Además, muchas organizaciones proyecto tiene asignado un equipo I+D cuyos miembros están dentro de un grupo de usuarios
generan datos de perspectivas (por ejemplo, en forma de proyecciones de ventas), previsiones de intranet definido con acceso a toda la información del proyecto. La reacción inicial de los
presupuestarias, o informes sobre el progreso de los nuevos proyectos. usuarios fue cauta y escéptica (los viejos hábitos nunca mueren), y los directores de división
recibieron instrucciones para estimular el uso del servidor organizando reuniones on-line y
En el nivel dos, las intranet pueden ayudar a las organizaciones a gestionar los datos que son publicando la información más actual.
frecuentemente modificados (a menudo datos propietarios) haciéndolos residir en potentes
bases de datos tales como Oracle. Estas bases de datos proporcionan una capacidad máxima En este caso triunfó la curiosidad técnica, dirigida por los ingenieros de software de la
empresa. Su interés en la tecnología subyacente bajo intranet y sus aplicaciones potenciales
Hay muchos factores que determinan la utilidad del software. Uno de los más importantes es
1. Una plataforma universal. Las webs proporcionan una plataforma común para
la coherencia en el modo de operar a lo largo de todo el producto o, mejor aún, a lo largo de
encontrar, recuperar, visualizar y actualizar una variedad de activos informativos,
una familia de productos.
incluyendo datos numéricos y bases de datos relacionales y documentos
compuestos de texto estructurado, imágenes e incluso objetos multimedia como,
¿Qué determina la “consistencia en el modo de operar”? Dos cosas: el aspecto de una
por ejemplo, audio e imágenes en movimiento.
aplicación y su comportamiento.
2. Una visión unificada. Las webs ayudan a organizar información presentando
Es más fácil formar a los usuarios en el uso de un nuevo programa de aspecto y
diversos tipos de datos en un estilo estándar. En un navegador web, la gama de
comportamiento parecidos a uno que ya conozcan que en el de un programa con una
comunicaciones e informes empresariales, artículos, memorándums y tablas
presentación totalmente diferente. La colocación coherente de controles y mensajes dentro de
tradicionales adoptan un aspecto y manejo común. Además de soportar una rápida
programas es también importante para ayudar a los usuarios a permanecer orientados cuando
toma de decisiones, los estándares familiares pueden facilitar el aprendizaje de
cambien de tarea.
nuevas aplicaciones.
La tecnología web impone un aspecto y manejo coherente en la información. Hay tan sólo
3. Un lenguaje común. La tecnología web se construye sobre estándares flexibles y
unos cuantos elementos básicos de diseño en HTML. Las cabeceras, listas, tablas y formatos
de aceptación universal. En consecuencia las intranets pueden acceder a
El uso de la información para la toma de decisiones constituye una faceta esencial del • Conversión: Los costes de conversión son aquellos asociados con las
rendimiento de las organizaciones. Pero, una vez se adopta una decisión, el nivel de herramientas, mano de obra y estándares requeridos para convertir los formatos
rendimiento depende de la acción. La tecnología intranet también ofrece ventajas a este ya existentes a HTML.
respecto.
• Coordinación: Otro coste es la necesidad de coordinar proveedores de contenido
El trabajo del día a día de cualquier organización consiste en un conjunto de actividades en departamentos de forma que sus contribuciones “se ajusten” a los estándares
estándares, cuestiones como la planificación, marketing, emisión de informes, facturación, de aspecto y uso de la intranet.
etc. Un proceso empresarial describe las rutinas utilizadas por una organización para
desempeñar dichas actividades. La sustitución de algunos o todos los pasos manuales en un • Indexación: Finalmente, es necesario indexar periódicamente las páginas web a
proceso empresarial con transferencias electrónicas recibe a menudo el nombre de fin de permitir a las personas encontrar agujas de valor en el pajar de la
automatización del flujo de trabajo. información.
Los servidores seguros web como Netscape Commerce Server utilizan tecnología de claves
públicas para prestar servicios de encriptación, autentificación y firma digital. En un
sistema de clave pública cada persona tiene un par exclusivo de claves. Una de ellas se
denomina la clave pública y se distribuye libremente a cualquier persona que desee una copia.
La otra, llamada la clave privada, se mantiene en secreto.
Bajo este sistema, una persona que necesite enviar un mensaje a un destinatario cifra el
mensaje con la clave pública del recipiente. Una vez cifrado, el mensaje sólo podrá ser leído
descifrándolo con la clave privada del destinatario. Es esta forma, cualquiera puede enviar un
mensaje seguro, pero sólo su destinatario podrá leerlo.
Capítulo 17
· Comparten objetivos comerciales comunes.
· Tienen necesidades de información comunes.
· Se benefician de la colaboración.
Intranets en acción Para que una intranet sea verdaderamente útil, debe reflejar un núcleo central, lo más
frecuente es un negocio común u objetivo organizativo, compartido por diversos individuos o
grupos.
Es importante tener en cuenta que no todas las organizaciones necesitan una intranet. Por
ejemplo, una pequeña empresa, que opere desde un único emplazamiento, puede intercambiar
1. El contenido es la clave información de forma más apropiada a través de memorias, reuniones o en la máquina de
café. Una organización de este tipo bien puede usar Internet como recurso para la recolección
de información, pero probablemente no necesite añadir el poder y eficacia de una intranet.
Cualquier intranet de éxito proporciona un contenido (información) al que los usuarios dan
valor. Por supuesto, la naturaleza de este contenido varía considerablemente, dependiendo de
En contraste, una empresa que dispone de múltiples oficinas de venta o divisiones operativas
los grupos individuales de usuarios y sus prioridades. Sin embargo, se aplican unos cuantos
en emplazamientos diferentes, o una asociación comercial o grupo sin afán de lucro que
principios básicos a cualquier consideración sobre contenido, y los patrocinadores y usuarios
tienen numerosos miembros, pueden beneficiarse significativamente implementando su
de intranet deben estar de acuerdo en que la información del servidor incluya características
propia intranet. Las organizaciones de este tipo luchan constantemente para compensar las
como las siguientes:
necesidades de información concisa y oportuna de sus directivos; están sobrecargadas por
desafíos logísticos que surgen de múltiples zonas horarias, sistemas informáticos
• Relevancia: este concepto lo ve el usuario, no el patrocinador.
incompatibles y de un errático servicio telefónico local.
• Oportunidad: los “atascos de tráfico” en las intranet desaniman a los usuarios;
Como resultado de estas y otras barreras, es posible que las decisiones críticas no se
éstos vuelven rápidamente a los medios de comunicación convencionales cuando
beneficien de una colaboración total entre los participantes claves, o de una información
sus tablones de mensajes y su correo electrónico son lentos y poco fiables.
concisa del entorno, disponible de forma equivalente para todos los que participan en la toma
de decisiones. Pueden existir graves inconsistencias entre oficinas en términos de su
• Actualizaciones frecuentes: muchos servidores web, públicos y privados, capacidad para diseminar información entre los miembros del personal.
adolecen de contenidos estáticos, por lo que su interés y su utilización decaen
rápidamente. Las intranets ofrecen capacidad que debería ser explotada A su máximo rendimiento, las intranets ayudan a crear y profundizar una visión común entre
completamente por medio de la automatización y otras funcionalidades. componentes dispares de la organización potenciando lo individual. Para muchas
corporaciones, este concepto es, en si mismo, revolucionario: alcanzar una influencia común
• Accesibilidad: el mejor servidor del mundo es de escaso valor si los usuarios no distribuyendo (no centralizando) el poder.
pueden llegar a él rápida y fácilmente. El cometido de la intranet es hacer
disponible la información y el diseño del servidor debe aprovechar los motores de
búsqueda y otras funcionalidades que mejoren el acceso de los usuarios. 3. Descubrir las necesidades
Al considerar las cuestiones de contenido, es importante tener en mente que las intranets Las intranets están, por definición, dirigidas al usuario, y su diseño debe reflejar las
están dirigidas únicamente al usuario y que las necesidades y preferencias del mismo deben necesidades del usuario. Así mismo, una buena manera de comenzar es identificar esas
ser factorizadas en el diseño e ingeniería iniciales del servidor. necesidades dentro de la organización que espera que intranet le ayude a satisfacer.
La organización patrocinadora debe hacerse a sí misma algunas preguntas muy básicas antes
2. ¿Es intranet la respuesta? de embarcarse en un proyecto de esta clase:
La clave determinante del valor de intranet reside en las necesidades de información de su
organización. Como regla muy general, las intranet son las más útiles para las organizaciones
que:
· ¿Qué es lo que queremos que la intranet satisfaga? 2. ¿Cuál es la forma habitual de entregar la información comercial? (por correo
electrónico, entrega especial, teléfono, reuniones o cualquier otro medio)
· ¿Cómo esperamos cumplir nuestras metas? Esta pregunta ayuda a establecer un
marco de trabajo para la planificación del proyecto, incluyendo la asignación de 3. ¿Cómo se toman generalmente las decisiones?
responsabilidades, especificaciones técnicas, requerimientos de recursos, un
calendario y patrones de personal. 4. ¿Cómo se dirige y comparte la investigación?
· ¿Cuánto costará? Una descripción real de los costes de intranet debería incluir Comunicaciones externas: la comprensión de cómo interactúa la organización con sus
estimaciones del desembolso a corto plazo como del ahorro esperado a largo plazo. componentes primarios ayuda a sugerir oportunidades de uso de la intranet para un mejor
cumplimiento de sus necesidades.
· ¿Cómo monitorizaremos los progresos?
1. ¿Existen grupos de usuarios externos a la organización (como puedan ser clientes,
· ¿Cómo determinaremos el grado de éxito? Como con cualquier otro tipo de accionistas, voluntarios) con los que se interactúa de forma rutinaria?
iniciativa, la eficacia de intranet se determina de forma definitiva por medio del
análisis coste/beneficio. 2. ¿Cómo les mantiene informados la organización?
· ¿Quiénes son a priori los posibles usuarios de la intranet? El universo de 3. ¿Qué información necesitan?
usuarios potenciales puede ser tan amplio o tan restringido como necesite la
organización. 4. ¿Cómo recibe y procesa la organización la información que proviene de estos
grupos?
· ¿Cómo esperamos que use la intranet la audiencia objetivo? Para cada grupo de
usuarios, la organización debe definir utilidades y beneficios específicos para Barreras: una revisión objetiva de las barreras que impiden una comunicación eficaz ayuda a
asegurar que el diseño del servidor satisfaga las necesidades y expectativas de cada identificar las debilidades de la organización y a asignar prioridades para el desarrollo de
grupo. intranet.
· ¿Qué necesita la audiencia para utilizarla? Evaluar qué es lo que ya existe en 1. ¿Cuáles son los obstáculos primarios que se encuentra el intercambio eficaz de
términos de capacidad de computación, conectividad y experiencia. información?
Un proyecto intranet de éxito necesita: Cuando llegue el momento de crecer, amplíe las webs internas alrededor de grupos de
trabajo o centros departamentales de valor.
· El beneplácito de la alta dirección
· Un director de proyecto nombrado con un mandato explícito. Implique en el mayor grado posible a los usuarios desde un principio en la experiencia
· Las herramientas y el dinero necesarios para realizar el trabajo. intranet, a partir de su planificación conceptual.
Además, en cuanto el liderazgo y la contabilidad estén claros, un proyecto de esta clase se Divida los costes en dos categorías: costes iniciales y no repetitivos como, por ejemplo,
beneficia enormemente de una aproximación de equipo multidisciplinar, lo que ayuda a compras de hardware, y costes recurrentes como, por ejemplo, el correspondiente a los
asegurar que la organización como un todo recoja el máximo beneficio de su inversión. contratos de mantenimiento del software.
Construir un equipo de proyecto que comprenda a un amplio rango de usuarios potenciales de Divida los objetivos relativos a beneficios en dos categorías: reducción de los costes de
la organización para que los ingenieros software dispongan de los beneficios de las gestión de la empresa y una mayor capacidad de generación de ingresos.
necesidades de los usuarios mientras desarrollan las especificaciones de la intranet.
1. Para que las personas puedan beneficiarse al máximo de una intranet es necesario que
compartan objetivos empresariales claves. Esto, más la confianza necesaria para
permitir el flujo de información (en lugar de reservársela), es el componente esencial
al tipo de trabajo distribuido que las intranets hacen posible.
6. Planificación de intranet
El coste de la operación y el mantenimiento de una red informática crece exponencialmente
con el número de usuarios conectados, mientras que el valor de la red aumenta con mayor
lentitud. Las intranets no constituyen una excepción.
Apéndice I
Análisis Estructurado de Sistemas
1. Conceptos básicos.
El análisis estructurado de sistemas (Structured System Analysis) es un método clásico de
especificación de los requerimientos del software, propuesto en la segunda mitad de los años
70. Se verá la versión de DeMarco.
Junto al diseño estructurado de sistemas (Structured System Design) constituye toda una Fig. I-1. Ciclo de vida del Software en SSA
metodología de desarrollo de software, que también contempla labores de Ingeniería de
Sistemas.
- Dar cuenta de las características tanto lógicas como físicas de los sistemas,
distinguiéndolas adecuadamente.
Para ello hace uso de una serie de herramientas: Fig. I-2. Estructura de la fase de Análisis
Un Diagrama de Flujo de Datos es una representación en forma de red que refleja el flujo de * Examinando los flujos y su contenido, preguntándonos:
la información y las transformaciones que se aplican sobre ella al moverse desde la entrada - Qué necesito para elaborar este contenido.
hasta la salida del sistema. - De dónde proceden sus componentes.
- ¿Puedo elaborar (con un proceso) la información de algún otro flujo para
Se utiliza para modelar las funciones del sistema y los datos que fluyen entre ellas a obtener la de este?
distintos niveles de abstracción. Por tanto, el sistema se modela mediante un conjunto de * Examinando los procesos (sin nombre aún), preguntándonos:
- Si es necesaria la información de algún otro flujo para obtener las salidas del
DFD nivelados, donde los niveles superiores definen las funciones del sistema de forma
proceso a partir de las entradas.
general, y los niveles inferiores lo hacen de manera más detallada.
- Podremos ir dando nombre, en términos de sus entradas y salidas, a los
procesos.
Los componentes de un DFD son los siguientes:
Estos recorridos nos llevarán a modificar el diagrama convenientemente.
- Procesos: son los componentes funcionales del sistema.
- Almacenes: representan datos almacenados o en reposo.
4. Nombrar con cuidado todos los flujos:
- Entidades externas: representan la fuente y/o el destino de la información que fluye
- Sobre todo los flujos de datos de la interface.
por el sistema.
- Dar a los flujos nombres significativos, que reflejen su contenido en
- Flujos de datos: representan los datos que fluyen entre las funciones.
información, y si es relevante, el estado de la misma. Por ejemplo,
numero_de_cuenta refleja el contenido de información, pero
Y su representación:
numero_de_cuenta_validado no solo refleja el contenido, sino una
información relevante.
Proceso Entidad Externa
Nbre. - El estilo de denominación a base de frases con palabras delimitadas es más
Proceso Nombre entidad conveniente que el uso de abreviaturas.
- A veces, en ficheros simples, sólo existe un flujo de entrada y/u otro de
salida, con el mismo contenido que los items del fichero. En este caso basta
Almacén Flujo de datos
con dar nombre al fichero, sin nombrar los dos flujos, a los que se les supone
Nombre flujo el mismo nombre.
Nombre del
fichero 5. Ignorar la inicialización y la terminación. Basta con que los DFD reflejen el
comportamiento de los sistemas cuando están en un régimen estacionario.
Fig. I-3. Representación de elementos en un DFD
6. Omitir los detalles de los caminos de error triviales (por ahora).
2.1. Pasos para realizar Diagramas de Flujo de Datos. 7. No incluir flujos de control o información de control.
1. Identificar los flujos de entrada y salida. Dibujarlos en la periferia del diagrama. 8. Comenzar de nuevo. Puede ser que:
- Exista algún flujo de entrada desconectado del resto del diagrama (lo
2. Intentar conectar las entradas con las salidas, y las salidas con las entradas, eliminamos sin más).
dejándose guiar por la información procedente del usuario, intentando reflejar el flujo - Exista alguna zona en el centro del diagrama desconectada del resto del
de información tal como es más que preguntarse porqué es así. Iremos: mismo (si no es una zona de interés la eliminaríamos)
- Reflejando los flujos de información que aparezcan en el sistema.
- Situando procesos (sin darles nombre en un principio) donde sea necesario
procesar información para conectar unos flujos con otros.
- Introduciendo los almacenes de información que existan en el sistema.
Este componente representa una función que transforma los flujos de datos de entrada en 3.4. Flujos de datos.
uno o varios flujos de datos de salida. El término proceso a veces puede dar lugar a
confusión, puesto que no hay que considerarlo como un programa en ejecución, sino como Se pueden definir como "un camino a través del cual viajan datos de composición conocida
una función que tiene que realizar el sistema. de una parte del sistema a otra".
El proceso debe ser capaz de generar los flujos de datos de salida a partir de los flujos de Se representan por arcos dirigidos, en donde se indica la dirección del flujo.
datos de entrada más una información (constante o variable) del proceso, lo que se conoce
como "la regla de conservación de los datos". Cuando al proceso no le llegan todos los datos La conexión directa entre dos procesos mediante un flujo de datos es posible siempre y
necesarios para obtener datos de salida diremos que hay un error de conservación de datos. cuando la información sea síncrona, es decir, que el proceso destino comience en el momento
Esto implica que por lo menos se ha olvidado incluir ciertos datos de entrada. También puede en el que el proceso origen finaliza su función. Si no ocurre, es necesario que exista un
ocurrir el caso contrario, que sería aquel en el que el flujo de datos o algún componente suyo almacén temporal que guarde los datos del proceso origen, y el proceso destino capturará
"muere" dentro del proceso, es decir, no se utiliza para generar flujo de salida, lo que se estos datos cuando los necesite.
denomina "pérdida de información".
4. Desarrollo de niveles de abstracción en los DFD.
Los procesos deben ir numerados y nominados, debiendo cumplir las siguientes
características: Para representar un modelo de un sistema grande es conveniente hacerlo por capas,
realizando una aproximación descendente (top-down) en el que cada nivel proporciona una
* Ser lo más representativo posible de la función que especifica. Siendo un nombre aproximación más detallada de una parte definida en el nivel anterior.
que englobe a toda la función y no sólo a parte de ella.
Un conjunto de DFD queda definido por:
* Ser breve, normalmente está formado por un verbo seguido de un sustantivo, como
por ejemplo: Analizar paquete. * Un diagrama de contexto, que es único y está en la parte superior de la jerarquía.
También se le conoce como diagrama de nivel 0. El objetivo de este diagrama es
* El nombre y número del proceso deben ser únicos en el conjunto de los DFD que delimitar la frontera del sistema con el mundo exterior y definir sus interfaces, es
representan el sistema. decir, los flujos de datos de entrada y salida del sistema con el entorno o, lo que es lo
mismo, el contexto.
Cuando se realizan los DFD lógicos, los procesos deben estar desligados de cualquier
connotación física, como por ejemplo: lugar donde se realiza el proceso, personas o * Diagramas de niveles, en los que se representan las funciones principales que debe
dispositivos que realizan el proceso, etc. Cuando se realizan los DFD físicos se pueden realizar el sistema, así como las relaciones entre ellas. Es interesante que las funciones
incluir este tipo de connotaciones. de estos diagramas sean conceptualmente independientes entre sí, lo que facilita la
descomposición de cada una de ellas por analistas diferentes para construir los
3.2. Almacenes de datos. diagramas de niveles medios.
Representan información del sistema almacenada de forma temporal, representando datos * Procesos primitivos, son aquellos procesos de un DFD que ya no se descomponen
que se encuentran "en reposo". Se trata de dispositivos lógicos de almacenamiento y, por en más diagramas de nivel inferior. Es importante recalcar que para cada proceso
tanto, pueden representar a cualquier dato temporalmente almacenado, independientemente primitivo habrá una especificación que la describa.
del dispositivo utilizado. Por ello, pueden representar a un cajón con papeles, un archivador
manual, un fichero o una base de datos.
- Cuando los procesos que contenga un diagrama se puedan describir con facilidad, es el 6. Diccionario de Datos.
momento de dejar de descomponer el diagrama. (Hay quién entiende que esto requiere que
sólo se presente un flujo de entrada y otro de salida). El diccionario de datos se puede definir como: "una lista organizada de los datos utilizados
por el sistema y que gráficamente se encuentran presentes en los flujos de datos, entidades
- No es necesario marcar de ninguna forma especial los diagramas terminales. externas y los almacenes del conjunto de DFD"
- Por último, decir que en la realización de los DFD hay que tratar de evitar una partición El DD se crea a la vez que los DFD durante el análisis del sistema. Las entradas son
desigual, siendo la partición o descomposición ideal aquella que genera partes de igual realizadas cada vez que se identifica un elemento, pudiendo ser de cuatro tipos: flujo de dato,
tamaño. almacén, dato elemental y entidades externas, debiendo ser únicas para cada componente
del DFD. (Muchos autores incluyen en el DD la especificación de Procesos, pero para la
realización de las prácticas no las incluiremos en el mismo.)
- La ausencia total de referencias físicas podría dificultar la comunicación con los 1. Identificar los cambios a introducir.
usuarios, justo en la fase en que más necesitamos obtener información de ellos.
Releer el estudio de viabilidad, donde se indican las mejoras a introducir en el
sistema.
8.2. Modelo lógico actual
2. Identificar el dominio del cambio.
Se trata de eliminar los aspectos físicos del modelo del sistema actual. Para ello:
Recorrer la jerarquía de DFD detectando las partes del sistema que se verán afectadas
1. Reestructurar la jerarquía de DFD: por los cambios. Es interesante sustituir esas zonas por macro-procesos, ya que
conseguiremos delimitar visualmente los dominios del cambio y determinar el
Construir DFD expandidos en los que eliminaremos duplicidades, y volveremos a intercambio de información a través de la interface entre esas zonas y el resto del
agrupar los procesos, en diagramas, con arreglo a criterios lógicos. Cuando un DFD sistema.
contiene referencias físicas es fácil que un mismo procesamiento (desde el punto de
vista lógico) aparezca duplicado en el conjunto de diagramas, porque se realice en 3. Redefinir el dominio del cambio.
varios departamentos, o en varios lugares, por distintas personas. Al unir los
diagramas pueden detectarse estas duplicidades y ser eliminadas. Ahora el analista tiene las manos libres para modificar convenientemente,
drásticamente si es necesario, las zona del cambio. Esto, por supuesto, a nivel lógico,
También puede suceder que el mero hecho de la dispersión geográfica de un introduciendo nuevos flujo y procesos, sin anticipar detalles físicos de la nueva
procesamiento genere necesidades de procesamiento que desaparecen en cuanto se implementación del sistema.
elimina la dispersión.
Esta labor debe hacerse poniendo en práctica todas las indicaciones dadas (buena
2. Obtener un equivalente lógico a la estructura de ficheros: descomposición funcional, completitud y coherencia del DD).
Se trataría de estudiar en conjunto los ficheros del sistema y obtener una estructura 4. Verificación y validación.
equivalente, con la misma información, pero una estructura más adecuada.
Básicamente se trata de descomponer las estructuras complejas en estructuras simples, Los diagramas deben someterse al proceso de verificación y validación expuestos
tipo tuplas relacionales, y normalizar la estructura resultante. Esta normalización es anteriormente.
útil de cara a la obtención del modelo lógico, aún cuando no se piense hacer uso de un
SGBD.
DeMarco propone una técnica que partiendo de los ficheros permite obtener una
estructura de tablas en tercera forma normal.
En todo el proceso la participación de los usuarios debe ser activa, y en la selección decisiva.
Por último habrán de delimitarse las restricciones de costo y tiempo de ejecución de los
distintos subproyectos a emprender, y de los productos y servicios a contratar.
Para ilustrar estos aspectos será necesario elaborar algunos DFD físicos que: no serán tan
detallados como los DFD lógicos; no están llamados a sustituirlos, sino a ilustrar las
decisiones de diseño físico.
No será necesario en cambio modificar el DD, todo lo más habrá que añadir algún término al
glosario del proyecto.
Por lo que respecta a los subsistemas software, lo que más nos atañe ahora, lo que aporta el
modelo físico es:
- La selección de los subsistemas a automatizar.
- Las restricciones de costo-tiempo (elementos de planificación).
- Los requerimientos no funcionales de los subsistemas software.
La especificación de los requerimientos funcionales queda cubierta con los productos del
diseño lógico.
Apéndice II •
•
•
Observación del entorno de trabajo.
Entrevistas
Cuestionarios
Técnicas de Obtención de Información • Diseño conjunto de aplicaciones
Existen muchas ocasiones para obtener información durante el ciclo de vida del desarrollo de Además de los documentos que describen el problema, existen normalmente documentos que
sistemas. Sin embargo, la obtención de información es de vital importancia principalmente describen la función de empresa en fase de estudio o de diseño. Además, no ha de olvidarse
durante las fases de la planificación y análisis de sistemas. Es durante estas fases cuando el de verificar la documentación de los estudios y diseños previos sobre los sistemas llevados a
analista aprende el vocabulario de la empresa y del sistema, así como sus problemas, cabo por consultores y analistas de sistemas.
oportunidades, limitaciones, necesidades y prioridades.
En cuanto a archivos, programas y formularios, como no sería práctico estudiar todas las
La obtención de información es necesaria también durante las fases de diseño y soporte, pero presencias de cada uno de los formularios y archivos existentes, los analistas suelen aplicar
en menor medida. Durante el diseño de sistemas intenta incrementar sus conocimientos sobre técnicas de muestreo para obtener una idea general de lo que está sucediendo en el sistema.
la tecnología elegida para el nuevo sistema. Durante la fase de soporte de sistemas, la
obtención de información adquiere importancia para determinar en qué medida alcanza el
sistema el punto a partir del cual ha de plantearse desarrollarlo de nuevo. 4. Investigación y vistas a instalaciones
Una segunda técnica de obtención de información consiste en llevar a cabo una detenida
2. Clasificación investigación de la aplicación y el problema. Buenas fuentes de información son las
publicaciones informáticas disponibles comercialmente, así como las revistas que leen
Una vez justificada la necesidad de conocer técnicas de obtención de información pasamos a típicamente los usuarios finales. De esta forma, será posible aprender el modo en que
discutir las técnicas más utilizadas para el desarrollo de sistemas. Para obtener el éxito en éste actuaron otros para resolver problemas similares. También puede saberse así si existen o no
cometido es necesario tener un conocimiento de todas estas técnicas. Normalmente, los paquetes de software que puedan resolver nuestro problema.
analistas aplican varias de ellas a lo largo de cada proyecto de sistemas. Para poder elegir la
más adecuada en una situación dada, habrán de conocerse las ventajas y los inconvenientes de Una forma similar de investigación consiste en visitar otras empresas o departamentos que
cada una de estas técnicas: hayan vivido problemas similares. Los miembros de las sociedades profesionales pueden
suministrarnos interesantes contactos.
La observación es una de las técnicas más eficaces para reunión de datos que nos ayuden a Con una planificación adecuada completa, puede iniciarse la observación real. Una
conseguir comprender un sistema. observación eficaz es difícil de llevar a cabo. El mejor profesor es la experiencia; sin
embargo, las directrices que se proponen seguidamente pueden servir de ayuda para
La observación es una técnica de obtención de información durante la cual los analistas o desarrollar buenas técnicas de observación:
bien participan activamente o bien actúan como espectadores de las actividades llevadas a
cabo por una persona para conocer mejor un sistema. 1. Determinar el quién, el qué, el dónde, el cuándo, el porqué y el cómo de la
observación.
Esta técnica se utiliza con frecuencia cuando no se está seguro de la validez de los datos 2. Obtener autorización de los directivos o supervisores adecuados.
recogidos por otros medios o cuando la complejidad de ciertos aspectos del sistema impide 3. Informar a quienes serán observados del propósito de la observación.
que las explicaciones de los usuarios finales estén claras. 4. Tratar de pasar inadvertido.
5. Tomar notas durante la observación o inmediatamente después de la misma.
Incluso aunque disponga de un plan de observación bien concebido, el analista de sistemas no 6. Revisar las notas de la observación con las personas adecuadas.
tendrá la seguridad de lograr sus objetivos. Por ello, deberá tener en cuanta los pros y los 7. No interrumpir a las personas observadas en su trabajo.
contras de la técnica de observación: 8. No centrarse demasiado en actividades triviales.
9. No tener prejuicios.
Ventajas
1. Los datos recogidos por observación pueden ser muy fiables. 6. La Entrevista
2. El analista de sistemas puede ver exactamente lo que se hace. Además puede obtener
los datos que describen el entorno físico de la tarea. Nos interesa definir la entrevista dentro de la ingeniería del software con la finalidad de
3. La observación es relativamente barata en comparación con otras técnicas. demarcarla de otras técnicas de obtención de información.
4. La observación permite al analista de sistemas hacer medidas del trabajo.
Esta definición podría ser:
Inconvenientes
Técnica de obtención de información mediante el diálogo mantenido en un encuentro
1. Como las personas suelen sentirse incómodas cuando son objeto de observación, formal y planeado, entre una o más personas fuente y una o más destino, en el que se
pueden hacer las cosas de forma diferente sin darse cuenta. transforma y sistematiza la información conocida por aquellas, de forma que sea un
2. En el momento de la observación, el trabajo puede no tener el nivel de dificultad o de elemento útil para el desarrollo de un proyecto de software.
carga experimentado normalmente.
3. Algunas actividades de los sistemas pueden tener lugar de cuando en cuando, lo que Aclararemos algunos de los términos que han sido utilizados en la anterior definición:
provocará inconvenientes de planificación al analista de sistemas.
4. Las tareas que se observan están sujetas a diversos tipos de interrupciones. Formal: Lo utilizamos para referirnos a que los encuentros deben ser concertados y
5. Algunas tareas pueden no llevarse a cabo siempre de la misma forma en que son realizados según ciertas reglas del entorno ( considerar las reglas de cada
observadas por el analista de sistemas. entorno). Como ejemplos podríamos citar el cursar una solicitud para que
6. Si las personas han estado llevando a cabo sus tareas en formas que incumplen los pueda establecerse la entrevista o etiquetar cada una de las entrevistas que se
procedimientos operativos estándar, pueden proceder temporalmente de forma lleven a cabo.
correcta mientras están siendo observadas.
Planeado: Tanto las pautas a seguir en las entrevistas como los guiones de éstas deberán
Directrices para la observación ser estudiadas previamente.
La observación debería hacerse primero cuando la carga de trabajo es normal. Más adelante, Fuente: Serán los usuarios para los cuales se intenta desarrollar la aplicación.
pueden llevarse a cabo observaciones durante los periodos de máximo trabajo para reunir
información que mida los efectos causados por un mayor volumen de trabajo. El analista de Destino: En este término englobamos a los ingenieros de sistemas y analistas
encargados de realizar el proyecto.
El criterio que seguiremos para clasificar las entrevistas se basará en el modo de realización Ventajas
de éstas y su contenido (forma de encauzar la entrevista por parte del entrevistador).
1. Las entrevistas dan al analista la oportunidad de animar al entrevistado a responder
Clasificamos las entrevistas en tres tipos: con libertad y espíritu abierto a las preguntas. Al establecerse una compenetración, el
analista de sistemas puede inducir en el entrevistado un sentimiento de contribución
1. Estructuradas: activa al proyecto de sistemas.
2. Las entrevistas permiten al analista de sistemas obtener mayor información del
Consiste en realizar preguntas estudiadas y bien definidas, cuyas respuestas pueden entrevistado.
ser: 3. Permiten además adaptar o replantear las preguntas para cada persona.
4. Dan la oportunidad de observar la comunicación no verbal del entrevistado.
a) Respuestas abiertas: El entrevistado responde libremente a las preguntas realizadas
por el entrevistador. Inconvenientes
b) Respuestas cerradas: El entrevistado elige entre una serie predefinida de respuestas.
1. Hacer entrevistas lleva mucho tiempo y es, por tanto, un método costoso.
2. No estructuradas: 2. El éxito de las entrevistas depende fuertemente de las dotes de comunicación del
analista de sistemas.
Donde tanto las preguntas como las respuestas son libres. 3. Las entrevistas pueden perder utilidad debido a la posición de los entrevistados.
3. Mixta:
6.2. Plan de entrevistas
Agrupamos preguntas tanto del primer tipo como del segundo.
Es conveniente elaborar un plan de entrevistas ya que la finalidad de éstas es recoger la mayor
Las ventajas (V) e inconvenientes (I) que podríamos encontrarnos al utilizar el primero o el información posible sin ambigüedades ni información no relevante para el proyecto. Para ello
segundo tipo de entrevista quedan reflejadas en la siguiente tabla. se pueden seguir los siguientes pasos:
Característica Estructurada No estructurada 1. Realizar una toma de contacto inicial que permita:
Costo de preparación I V
Flexibilidad en preguntas I V
- Conocer los objetivos generales del sistema.
Flexibilidad en áreas de información a explorar. I V
Sesgo personal del entrevistador V Depende del entrevistador
- Conocer la estructura jerárquica de los diferentes usuarios
Preparación del entrevistador V I - Determinar qué informaciones adicionales deben ser recogidas de fuentes externas
Evaluación objetiva de preguntas y respuestas V I al sistema: legales, bibliográficas, etc.
Comodidad de los entrevistados Depende del
Depende del entrevistador
entrevistado Podemos citar los siguientes ejemplos:
Duración V I
Rendimiento de la entrevista (información/tiempo) V Depende del entrevistador
- Sistema experto: teoría del sistema experto, conocimientos del área...
Administración y evaluación V I
Uniformidad entre entrevistados V Depende del entrevistador - Biblioteca: normativas bibliográficas, catálogos ...
Tabla II-1. Ventajas e inconvenientes de utilizar entrevistas estructuradas o no estructuradas 2. Identificar jerarquías de usuarios e identificar usuarios clave (aquellos que pueden
proporcionar mejor información )
Conclusión: El tipo mixto podría resolver los problemas de ambos. En el punto siguiente
veremos lo apropiado de adaptarse en cada caso a las necesidades de recogida 3. Elaborar un plan de entrevistas:
de información.
- En la especificación del sistema y del software es cuando la entrevista tiene mayor
valor como técnica.
6.3. Estrategia de entrevista • Existen diversos motivos para establecer los primeros contactos con el entrevistado:
6.3.1. Preparación - Uno de éstos motivos es que se incluya la entrevista en su debido tiempo, ya que
el realizarla "a salto de mata" puede ser contraproducente si el interlocutor no se
Una entrevista no debe improvisarse, debe prepararse seriamente. Esta preparación implica la centra rápidamente en el tema. Hay usuarios que se prestan bien a esto y otros a
realización de los siguientes puntos: los que no hay otra forma de abordar.
- Otro motivo es que un contacto con antelación da visos de formalidad.
Identificación del (los) interlocutor (es). - El último es que el entrevistado conozca el motivo de la entrevista y pueda
preparárselo.
• Si viene impuesto debemos conocer:
• Se suele recomendar que la entrevista se realice en el lugar de trabajo del entrevistado
- Su posición dentro del sistema aunque esto no es siempre lo mejor, depende del caso particular.
- Su grado de conocimiento del tema o de aspectos particulares de éste.
- Su deseo de cooperación • Si se considera oportuno puede mandarse un orden del día.
Expondremos observaciones prácticas para una entrevista muy formal en la que se supone • Al final de la entrevista hay que preparar las posibles continuaciones de ésta: nueva
que conocemos escasamente al interlocutor: cita, reunión con la participación de otras personas, etc. También habría que
determinar, si es posible, los períodos, o mejor las fechas de estas entrevistas.
- Procurar ser puntual y presentarse bien vestido.
- Al principio de la entrevista tendremos que: Hay que recordar que se va a enviar una memoria o un informe de esta entrevista a su
interlocutor: precisar en qué plazos. Seguidamente habría que fijar el plazo para que el
ƒ Presentarnos. interlocutor nos haga llegar sus observaciones y sus sugerencias sobre dicha memoria.
ƒ Preguntar con cortesía el tiempo que su interlocutor le puede dedicar.
ƒ Precisar que desearía tomar notas durante la entrevista, e indicar que la Por último hay que dar las gracias a su interlocutor por haberle recibido, recordándole
memoria, o el resumen, que se va a redactar le será enviado a su interlocutor discretamente que ha prometido mandarle determinados documentos.
en primer lugar y que no será difundido si éste no da su conformidad.
- Mixtos: una combinación de los anteriores 1. En su mayoría, los cuestionarios pueden ser contestados con rapidez. Los encuestados
pueden completar y remitir los cuestionarios cuando mejor les convenga.
2. Los cuestionarios ofrecen un medio relativamente económico para recoger datos de un
Los buenos cuestionarios no solo se escriben sino que se diseñan. Una buena elaboración amplio número de personas.
acompañada de una prueba previa, tanto del formato como de las preguntas, son la base de 3. Los cuestionarios permiten a las personas mantener el anonimato. Por consiguiente, es
una recopilación de datos significativa a través del cuestionario. Introduciremos una serie de más probable que éstas informen de los hechos reales, en vez de decir lo que piensan
pautas que ayudarán en la formulación de un cuestionario: que su jefe aprobaría que dijera.
4. Las respuestas pueden incluirse en tablas y analizarse rápidamente.
1. Determinar qué datos necesitan recabarse y qué personas son las más calificadas
para proporcionarlos. Si hay otros grupos que pueden proporcionar datos variantes Inconvenientes
y mayor visión también se identificarán.
2. Seleccionar el tipo de cuestionario a utilizar (abierto, cerrado o mixto). 1. El número de encuestados es, a menudo, insuficiente.
3. Desarrollar un grupo de preguntas para incluirlas en el cuestionario. Las preguntas 2. No existe garantía de que los encuestados respondan o expliquen todas las preguntas.
extras que son intencionalmente redundantes, pueden ser útiles al asegurar 3. Los cuestionarios suelen ser poco flexibles. Impiden que el analista de sistemas
respuestas consistentes por parte de quien responda. obtenga información voluntaria de las personas o replantee preguntas que puedan
4. Examinar el cuestionario para encontrarle fallos y defectos, como: haber sido malinterpretadas.
4. El analista de sistemas no tiene la posibilidad de observar y analizar el lenguaje
a. Interrogantes innecesarias. corporal del encuestado.
b. Preguntas que pueden ser mal interpretadas debido a su enfoque o 5. No existe una oportunidad inmediata para aclarar respuestas vagas o incompletas a
forma de escritura. una pregunta.
c. Preguntas que el sujeto posiblemente no pueda responder, dado que 6. Los buenos cuestionarios son difíciles de preparar.
desconoce la respuesta.
d. Preguntas que están escritas de forma que se escogerá la respuesta
preferida.
e. Preguntas que se interpretarán de forma diferente dependiendo del
8. Diseño conjunto de aplicaciones
marco de referencia de cada entrevistado.
La técnica clásica de elaboración de entrevistas puede plantear diversos problemas debido a
f. Preguntas que no proporcionan opciones adecuadas de respuesta.
que las mismas por separado, a menudo dan como conclusiones hechos, opiniones y
g. Un ordenamiento no adecuado de las preguntas o respuestas.
prioridades en conflicto. Como resultado hay que hacer numerosas entrevistas de seguimiento
y reuniones de grupo. Por este motivo, muchos centros de información están haciendo uso de
5. Probar previamente el cuestionario en un grupo pequeño de personas, para detectar
sesiones de trabajo en grupo como sustitutas de las entrevistas.
otros problemas posibles. Así no solamente se describen los problemas en cuanto a
Hacer una planificación correcta es fundamental para el éxito de una sesión DCA. Una vez
completa la planificación, puede darse paso al inicio de la sesión DCA.
8.1. Definición del proyecto
El analista debe entrevistar a los propietarios del sistema para determinar la panorámica
general de requisitos y expectativas. En estas entrevistas, el analista debe desempeñar las 8.4. Dirección de la sesión
siguientes funciones:
La sesión DCA comienza con los comentarios de apertura, la introducción y un breve repaso
1. Pedir a los propietarios del sistema que señalen a los usuarios que participarán en la de la agenda y los objetivos de la sesión DCA. El moderador dirigirá la sesión conforme al
sesión de DCA. guión preparado. Para dirigir con éxito la sesión, el moderador deberá seguir las directrices
2. Proponer o solicitar fechas para las cuales deban llevarse a cabo las sesiones DCA. que se proponen a continuación:
3. Obtener su autorización para permitir a los usuarios del sistema tomar parte durante
toda la sesión. • No desviarse excesivamente de la agenda propuesta.
4. Resumir y revisar la definición del proyecto. • Vigilar la programación.
5. Seleccionar el coordinador (o moderador) y el escribiente de la sesión DCA. • Asegurar que el escribiente puede tomar notas.
6. Seleccionar el lugar para celebrar la o las sesiones DCA. • Evitar el uso de argot técnico.
• Aplicar técnicas de resolución de conflictos.
• Permitir grandes pausas.
8.2. Dirección de una investigación general previa • Estimular el consenso del grupo.
• Estimular la participación de todos los usuarios impidiendo que unos dominen sobre
En el ámbito de definición del proyecto, el analista puede tener una idea muy general sobre otros.
las funciones de dicho proyecto, pero saber muy poco sobre el sistema o sistemas actualmente
en funcionamiento. Por tanto, antes de las sesiones DCA, el analista puede tener que llevar a 8.5. Presentar los resultados
cabo entrevistas con algunos usuarios seleccionados para mejorar su conocimiento del
sistema actual. El producto final de una sesión DCA es típicamente un documento escrito formal. Este
documento es esencial para confirmar que todos los participantes en la o las sesiones están de
Una vez completado este esfuerzo de investigación, el analista revisará el sistema actual y las acuerdo con las especificaciones. El contenido y la organización de las especificaciones
expectativas del DCA con el moderador y el escribiente. Por último, el analista completará dependerá evidentemente de los objetivos de la sesión DCA.
una agenda para la sesión DCA.
Apéndice III
- ¿Existe la tecnología para construir el sistema?
- ¿Qué recursos especiales de desarrollo y fabricación serán necesarios?
- ¿Qué límites se han puesto al presupuesto y planificación temporal?
Tareas a realizar en la fase de definición - Si el nuevo sistema es un producto a vender a muchos clientes, se plantean a su
vez las siguientes cuestiones:
de un proyecto - ¿Cuál es el mercado potencial del producto?
- ¿Cómo es comparativamente este producto con los de la competencia?
- ¿Qué posición ocupa este producto en la línea general de producción de la
compañía?
- Realizar una descripción de las interfaces del Software con otros elementos del
sistema. No basta documentar los requisitos que debe cumplir el software, sino que
también es necesario definir las propiedades que deben satisfacer para obtener una
interacción eficaz con otros elementos u otras aplicaciones software.
Apéndice IV
A. Identificación de la entrevista:
1. Identificativo de la preparación.
2. Lugar.
3. Fecha.
Formatos de Documento 4. Hora.
5. Duración.
B. Incidencias sobre los participantes: Modificaciones sobre las previsiones
realizadas.
C. Cuerpo de la entrevista: Anotaciones para cada punto y/o preguntas del
cuestionario.
1. Entrevistas D. Informe final sobre la entrevista:
1. Información obtenida.
2. Información pendiente:
Introduciremos dos vertientes de esta propuesta de formato de documento, una
a. Documentos que los entrevistados deben entregar.
respecto a los elementos necesarios para un documento de preparación de entrevista y otra
b. Documentos que los entrevistadores deben entregar.
respecto a los elementos necesarios para un documento de resultado de las entrevistas.
c. Información olvidada en la entrevista.
3. Grado de cobertura de los objetivos.
I. Preparación.
4. Grado de participación y colaboración de los entrevistados.
A. Identificación de la entrevista:
5. Notas y recomendaciones especiales.
1. Identificativo único.
2. Preparada por: nombre(s) y cargo(s).
3. Fecha de preparación.
4. Fase en la que se encuadra.
5. Documento(s) al que se hace referencia. (Si se hace referencia a alguno y
modo en que hace referencia).
6. Tiempo necesitado para la preparación.
B. Identificación de los participantes previstos:
1. Entrevistado(s): nombre(s) y cargo(s).
2. Entrevistador(es): nombre(s) y cargo(s).
C. Objetivos : Se identificarán mediante numeración, caracteres alfabéticos, ...
D. Descripción de los puntos a tratar y/o cuestionario: que también serán
identificados.
E. Previsiones respecto a la entrevista:
1. Lugar.
2. Fecha.
3. Hora.
4. Duración prevista.
F. Recomendaciones a los entrevistadores:
1. Información previa a recabar.
2. Documentación a revisar.
3. Informaciones pendientes de entrevistas anteriores.
4. Consideraciones especiales sobre los participantes.
5. Otras cuestiones.
Apéndice V 1. ¿Se define con claridad y sin ambigüedad el objetivo del sistema?
2. ¿Se definen las interfaces con otros elementos hardware/software?
Listas de Inspección 3. ¿Se ha realizado un estudio acerca de la necesidad del sistema a desarrollar?
4. ¿Se ha realizado un estudio acerca de la viabilidad del proyecto?
5. ¿Se han identificado los costes/beneficios del sistema?
6. ¿Se ha establecido el riesgo de desarrollo del producto?
7. ¿Se han determinado los recursos de desarrollo?
1. Revisiones 8. ¿Están disponibles los recursos?
9. ¿Es tecnológicamente posible abordar el proyecto?
Los productos obtenidos durante la especificación de requerimientos del software deben ser
revisados profundamente antes de seguir el proceso de desarrollo. La revisión debe realizarse 10. ¿Se han considerado diferentes alternativas de configuración del sistema?
cuidadosamente por varios motivos: 11. ¿Se han establecido los criterios de rendimiento?
- El software diseñado y producido se atendrá a las especificaciones contenidas en 12. ¿Se han establecido los criterios de fiabilidad?
estos documentos. La especificación se convierte en un contrato para el que desarrolla 13. ¿Se han establecido los criterios de portabilidad?
el software. Los cambios introducidos con posterioridad pueden incrementar el coste
14. ¿Se establecen adecuadamente los límites del proyecto?
y/o retrasar la entrega del producto.
15. ¿Se ha pensado en el impacto humano del sistema?
- La especificación se convierte en el producto de referencia para evaluar las 16. ¿Se ha documentado suficientemente esta fase?
características del producto final. La validación de éste se realizará en base a lo
especificado. 17. ¿Se han utilizado técnicas de obtención de información adecuadas?
18. ¿Se ha realizado una investigación de otros sistemas con las mismas prestaciones?
Durante la revisión se evalúan el Documento de Especificación de Requerimientos y el
Manual Preliminar de Usuario intentado responder a una serie de preguntas. 19. ¿Se ha hecho una estimación del tiempo necesario de desarrollo?
20. ¿Hay una descripción de cada función del sistema?
La revisión de la especificación de requerimientos es una de las más importantes de las
21. ¿Se ha asignado cada función al elemento del sistema apropiado?
revisiones del ciclo de vida, por lo ya comentado. Si los productos obtenidos la pasan con
éxito se iniciará el diseño del software. 22. ¿Ha tenido lugar una comunicación con el cliente adecuada?
23. ¿Se han tenido en cuenta las observaciones del cliente?
En general en cada una de las fase del ciclo de vida clásica, podemos plantear una lista de
inspección o cuestiones a responder para comprobar que estamos realizando el trabajo de 24. ¿Las funciones han sido asignadas con el suficiente detalle?
desarrollo de una manera correcta, sin olvidarnos de ningún aspecto. A continuación se 25. ¿Se considera la facilidad de mantenimiento?
muestra una lista de inspección por fases del ciclo de vida.
26. ¿Se ha elaborado y distribuido el documento de especificación del sistema?
27. ¿Se ha establecido un mecanismo para la verificación y la validación?
Apéndice VI
Elección de hardware, configuración adecuada de software de base y aplicaciones que
permitan cubrir las necesidades de información que marcan la estructura del Sistema de
Información.
Conjunto de elementos que interaccionan entre sí, que busca conseguir los objetivos ¾ Ingeniería de la información
prefijados por la empresa. Un sistema forma parte de un entorno con el cual interactúa.
Es el proceso de ingeniería del software cuando el contexto del trabajo de ingeniería se
¾ Información enfoca a una empresa; esta ingeniería trabaja para asignar un papel al software de
computadora y para establecer los enlaces que unen al software con un servicio
La información está construida a partir de un conjunto de datos que mantienen una determinado.
estructura y que además resulten útiles o significativos. Darse cuenta de que es mejor
calidad de la información que cantidad. ¾ Ingeniería de producto
¾ Calidad de la información Es el proceso de ingeniería del software cuando hay que construir un producto; esta
ingeniería trabaja para asignar un papel al software de computadora y para establecer los
Grado de adecuación de la información a nuestro sistema evitando ambigüedades. enlaces que unen al software con el producto.
Conjunto de cualidades que además de la capacidad de disminuir la incertidumbre,
ayudan al receptor a tomar la decisión más ventajosa. ¾ Sistema basado en computadora
¾ Sistema de información Conjunto de elementos que están organizados para realizar un objetivo predefinido
procesando información, como puede ser:
Conjunto formal de procesos que, operando sobre una colección de datos estructurada
según las necesidades de la empresa, recopilan, elaboran y distribuyen la información • Soportar alguna función de negocio.
necesaria para las operaciones de dicha empresa y para las actividades de dirección y
control correspondientes, es decir, las decisiones, para desempeñar su actividad de • Desarrollar un producto que pueda venderse para generar beneficios.
acuerdo a su estrategia de negocio.
• Un sistema basado en computadora hace uso de: software, hardware, personas, bases
¾ Flujo de información de datos, documentación y procedimientos.
Caudal de información que se transmite de un lugar a otro. Hay dos tipos, vertical y ¾ La jerarquía de la ingeniería de SBC
horizontal.
La jerarquía de sistemas de computadora comprende una colección de métodos para
¾ Dato navegar de arriba abajo y de abajo arriba en la jerarquía. El proceso de la ingeniería de
sistemas de computadora empieza normalmente con una vista global. Es decir, se
Registro de hechos, acontecimientos, transacciones, etc. Materia prima con la que examina el dominio entero de negocio o tecnológico apropiado. La visión global se refina
construimos la información. para enfocarse totalmente en un dominio de interés específico. Dentro de un dominio
• Infraestructura de la tecnología: proporciona el fundamento de las arquitecturas de Plan de selección de la tecnología de información y el desarrollo de los sistemas de
datos y de aplicaciones. La infraestructura comprende el hardware y el software información necesarios para apoyar el cometido de la empresa.
empleados para dar soporte a las aplicaciones y datos. Esto incluye computadoras y
redes de computadoras, enlaces de telecomunicaciones, tecnologías de ¾ Análisis de áreas de empresa
almacenamiento y la arquitectura diseñada para implementar esta tecnología.
Consiste en evaluar las áreas de empresa que han de identificarse y establecer prioridades
¾ Ingeniería de productos sobre proyectos de desarrollo específicos.
Consiste en traducir el deseo de un cliente, de un conjunto de capacidades definidas, en ¾ Análisis del sistema
un producto operativo. Para conseguir esta meta se debe crear una arquitectura y una
infraestructura. La arquitectura comprende cuatro componentes de sistema distintos: Es un procedimiento necesario para el desarrollo del producto en la ingeniería del
software, hardware, personas y datos. La infraestructura de soporte incluye la tecnología producto que proporciona una visión global. Tiene como finalidad establecer los
requerida para unir los componentes y la información (documentos, CD ROM, video) que requisitos generales del producto y una vez que se conocen estos requisitos asignar
se emplea para dar soporte a los componentes. funcionalidad y comportamiento a cada uno de los cuatro componentes software,
hardware, datos y personas. Incluye las siguientes etapas: identificar las necesidades del
¾ Ciclo de vida del desarrollo de sistemas cliente; evaluar el concepto del sistema para establecer la viabilidad; realizar un análisis
técnico y económico; asignar funciones al hardware, software, personal, B.D. y otros
Proceso por el que los analistas de sistemas, los ingenieros de software, los elementos del sistema; establecer las restricciones de presupuesto y planificación
programadores y los usuarios finales elaboran sistemas de información y aplicaciones temporal y crear una definición de sistema que forme el fundamento de todo el trabajo de
informáticas. ingeniería subsiguiente.
El ámbito de la planificación de sistemas puede ser toda la empresa, una división de la En esta etapa el analista se reúne con el cliente y el usuario final (si es otro distinto al
misma o cualquier otro tipo de sus unidades organizativas. Su propósito es identificar y cliente) con la intención de definir los objetivos del producto y definir las metas
establecer las prioridades sobre aquellas aplicaciones de los sistemas de información cuyo necesarias para alcanzar esos objetivos. Una vez identificadas las metas globales, el
analista evalúa la información suplementaria como puede ser la existencia de tecnología
Esta etapa es necesaria ya que el desarrollo de un sistema o producto basado en El dominio que cubre la implantación de sistemas está definido por los componentes de
computadora puede estar plagado de escasez de recursos y de fechas de entrega difíciles. tipo tecnológico de la aplicación de sistemas de información que se diseñaron en la fase
Por tanto es necesario evaluar la necesidad de un proyecto cuanto antes. Desde el punto anterior. Su propósito es construir y/o ensamblar los componentes técnicos y poner en
de vista de la viabilidad hay que tener en cuenta: la viabilidad económica, la viabilidad funcionamiento el sistema de información nuevo o mejorado.
técnica u operativa, la viabilidad de fechas, la viabilidad legal y las alternativas. Este
estudio de viabilidad debe ser revisado por el jefe de proyecto y por la dirección. ¾ Pruebas de unidad
¾ Análisis económico Aseguran que los programas de aplicación funcionen de forma adecuada cuando se
prueban de forma aislada con respecto a otros programas de aplicación.
Determina los costes para el desarrollo del proyecto y los pondera con los beneficios
tangibles e intangibles del sistema. ¾ Pruebas de sistema
¾ Análisis técnico Aseguran que los programas de aplicación escritos de forma aislada funcionen
adecuadamente cuando se integran en el sistema global.
Durante este el analista evalúa los principios técnicos del sistema al mismo tiempo que
recoge información adicional sobre el rendimiento, fiabilidad, características de ¾ Soporte de sistemas
mantenimiento y productividad. Este etapa comienza con una viabilidad técnica del
sistema. El dominio que cubre el soporte de sistemas es el sistema de información puesto en
producción mediante la implantación de sistemas. El propósito del soporte de sistemas es
¾ Modelización sostener y mantener el sistema durante el resto de su vida útil.
Consiste en elaborar una o más representaciones gráficas de un sistema. La imagen ¾ Ingeniería de los componentes
resultante representa las necesidades planteadas por los usuarios en tanto a datos, procesos
y redes, desde el punto de vista de la empresa. Es un conjunto de actividades concurrentes que se dirigen separadamente a cada uno de
los componentes del sistema: la ingeniería del software, ingeniería hardware, ingeniería
¾ Diseño de prototipos. humana e ingeniería de bases de datos. Cada una de estas disciplinas de ingeniería tomo
una vista de dominio específica, pero es importante resaltar que las disciplinas de
Acto de construir un modelo de trabajo representativo a escala reducida de las ingeniería deben establecer y mantener una comunicación activa entre ellas. Parte del
necesidades de los usuarios con el fin de descubrir o comprobar dichas necesidades. papel del análisis de sistemas es establecer los mecanismos de interfaz que permitirán que
esto suceda.
¾ Especificación del sistema
¾ Software
La especificación del sistema es un documento que sirve como fundamento para la
ingeniería hardware, software, de bases de datos y humana. Describe la función y el Programas, estructuras de datos y documentación que hacen efectivo el método lógico,
rendimiento de un sistema basado en computadora y las restricciones que gobernarán su procedimiento o control requerido.
desarrollo.
Actividad continuada que establece normas para las actividades, los métodos, las
herramientas y los resultados del ciclo de vida.
Proporcionan las capacidades técnicas necesarias para la ingeniería de un producto o Paradigma de organización de ingeniería del software que intenta estructurar a un equipo
aplicación. de manera que consiga algunos de los controles asociados con el paradigma cerrado, pero
también mucha de la innovación asociada al paradigma aleatorio. El trabajo se desarrolla
¾ Clientes en colaboración, con mucha comunicación y toma de decisiones consensuadas. Es
adecuado para la resolución de problemas complejos, pero su rendimiento puede ser
Especifican los requisitos para la ingeniería del software. menos eficiente.
Interaccionan con el software una vez que se ha entregado para la producción. Paradigma de organización de ingeniería del software que se basa en la división natural de
un problema. Organiza los miembros del equipo para trabajar en partes del problema con
¾ Equipo Descentralizado democrático (DD) poca comunicación activa entre ellos.
En este tipo de equipos no hay un jefe, sino coordinadores de tareas a corto plazo, las ¾ Ámbito del problema
decisiones se toman por consenso, y la comunicación es horizontal entre los miembros del
equipo. Es la primera actividad de gestión de un proyecto de software, y se define estableciendo el
contexto, los objetivos de información y la función y rendimiento.
¾ Equipo Descentralizado concentrado (DC)
¾ Descomposición del problema
Equipo de ingeniería del software que tiene un jefe definido que coordina tareas
específicas y jefes secundarios que tienen responsabilidades sobre subtareas. La Es una actividad que trata de dividir el problema para solucionarlo mejor (divide y
resolución de problemas sigue siendo una actividad del grupo, pero la implementación de vencerás). Esta descomposición del problema se hace en dos áreas principales:
soluciones se reparte entre subgrupos por el jefe de equipo. La comunicación entre funcionalidad a entregar y proceso para entregar el producto.
subgrupos e individuos es horizontal. También hay comunicación vertical a lo largo de la
jerarquía de control. ¾ Maduración del problema y el proceso
¾ Equipo Centralizado controlado (CC) Se trata de seleccionar el conjunto de actividades estructurales adecuado como por
ejemplo: comunicación con el cliente, planificación, análisis de riesgo, ingeniería,
Hay un jefe del equipo que soluciona los problemas a alto nivel y que se encarga de la construcción y entrega, evaluación del cliente.
coordinación interna del equipo, la comunicación es vertical.
¾ Modelo de madurez de la capacidad de gestión de personal
¾ Paradigma cerrado
Para aumentar la preparación de organizaciones de software para llevar a cabo las cada
Paradigma de organización de ingeniería del software que estructura a un equipo con una vez más complicadas aplicaciones ayudando a atraer, aumentar, motivar, desplegar y
jerarquía tradicional de autoridad (similar a la del equipo CC). Estos equipos trabajan bien retener el talento necesario para mejorar su capacidad de desarrollo de software.
cuando producen software similar a otros anteriores, pero probablemente sean menos
innovadores. ¾ Conjunto de actividades estructurales
¾ Paradigma aleatorio Son aquellas actividades básicas por las que deben pasar todas las funciones que se deben
tratar dentro de un proceso de ingeniería por el equipo de software.
Paradigma de organización de ingeniería del software que estructura al equipo libremente
y depende de la iniciativa individual de los miembros del equipo. Cuando se requiere
innovación o avances tecnológicos, son excelentes. Pueden chocar cuando se requiere un
rendimiento ordenado.
Conjunto de actividades que conjuntamente forman el proceso de gestión del proyecto ¾ Estrategia de riesgo reactiva
software.
El equipo no hace nada respecto a los riesgos hasta que algo va mal. Después el equipo,
¾ Ámbito del software apresuradamente trata de corregir el problema.
Describe la función, rendimiento, las restricciones, las interfaces y la fiabilidad que deben ¾ Estrategia de riesgo proactiva
conseguir el software a desarrollar.
Se identifican los riesgos potenciales, se valora su probabilidad y se establece una
¾ Riesgos del software prioridad según su importancia. Después el equipo de desarrollo establece un plan para
controlar el riesgo.
El riesgo se mide por el grado de incertidumbre en las estimaciones cuantitativas
establecidas por recursos, coste y planificación temporal. ¾ Análisis de riesgo
¾ Riesgos técnicos Es una actividad de garantía de calidad del software que se centra en la identificación y
evolución de los riesgos potenciales que puedan producir un impacto negativo en el
Son aquellos que amenazan la calidad y la planificación temporal del software. Identifican software y hacer que falle el sistema completo. Si se pueden identificar pronto los riesgos
problemas potenciales de: diseño, implementación, interfaz, verificación y en el proceso de ingeniería del software podrán especificarse las características de diseño
mantenimiento. del software que permitan eliminar o controlar los riesgos potenciales.
Amenazan la viabilidad del software a construir. A menudo ponen en peligro el proyecto Son una amenaza potencial para todos los proyectos de software.
o el producto.
¾ Riesgos específicos de producto
¾ Identificación del riesgo
Sólo pueden identificarse una vez que se tiene una visión clara de la tecnología, personal
Es un intento sistemático para especificar las amenazas al plan de proyecto (estimaciones, y entorno específico del proyecto en cuestión.
planificación temporal, carga de recursos, etc.)
¾ Riesgo de mercado
¾ Riesgo estratégico
¾ Riesgo de dirección
¾ Estimación de costes y plazos Cada una de las características que definen el modelo y que estarán ponderadas, esto es,
afectarán a los resultados en más o menos medida, según el modelo.
Consiste en la predicción del coste de un proyecto, así como prever su plazo de
realización. ¾ Proyecto Orgánico
¾ Estimación de expertos Tipo de desarrollo del modelo COCOMO en el que hay pequeños equipos de trabajo que
trabajan en un entorno familiar, desarrollando aplicaciones que ya habían hecho antes. La
Basándose en la experiencia, averiguar cual va a ser el coste del proyecto. Una de las más comunicación es escasa e informal.
utilizadas es la técnica Delphi.
¾ Proyecto Semiseparado
¾ Estimación por analogía
Tipo de desarrollo del modelo COCOMO en el que podemos tener personal con o sin
En función de las similitudes y diferencias con otros proyectos vamos a deducir el coste experiencia, en general los miembros del equipo van a tener una experiencia limitada
de un desarrollo nuevo. relacionada con los sistemas y pueden ser extraños a algunos de los aspectos, no todos,
del sistema que se va a desarrollar.
¾ Estimación por descomposición
¾ Proyecto empotrado
Se descompone el producto en sus componentes o incluso el proyecto en tareas más
sencillas hasta conseguir un nivel de detalle en el que podemos estimar directamente el Tipo de desarrollo del modelo COCOMO en el que se deben operar con grandes
coste de cada una de las subpartes. restricciones. El sistema de software se encontrará fuertemente acoplado con el hardware,
reglas y procedimientos operativos. No es usual que los miembros del equipo de proyecto
¾ Estimación por ecuaciones o modelos de estimación lleguen a alcanzar una gran experiencia en la aplicación particular que se desarrolla.
Fórmulas matemáticas que nos van a relacionar diversos parámetros del proyecto y
algunas condiciones del entorno del proyecto con el coste o el esfuerzo requerido.
¾ Modelos de coste
¾ Modelos de restricciones
Muestran las relaciones en el tiempo entre dos o más parámetros de coste (p.e. esfuerzo,
duración y nivel de plantilla). P.e. el modelo SLIM de Putnam.
¾ Modelo COCOMO
Descrito por Boehm. Es un modelo de restricciones que utiliza para sus estimaciones el
tipo de desarrollo y el tamaño del producto para realizar sus estimaciones. Dando lugar a
tres tipos de submodelos: el básico, el intermedio y el detallado.
Es una actividad que distribuye el esfuerzo estimado de realización de un proyecto a lo Consiste en la asignación, de forma relativa, de los recursos y tiempo a las distintas fases
largo de la duración de éste asignando el esfuerzo a las tareas de ingeniería del software, del proyecto.
esto es, consiste en planear cuando y como acometer las tareas de un proyecto, haciendo a
su vez una asignación de recursos adecuada para cumplir los objetivos ¾ Conjunto de tareas
¾ Partición Colección de actividades, cuya misión es la de satisfacer las necesidades de los distintos
tipos de proyectos. Han de ser lo más acertadas posible (cumplir su papel de la forma más
Es la división del proyecto en un número de actividades y tareas manejables, brillante) y así alcanzar una calidad alta.
descomponiéndose tanto el producta como el proceso.
¾ Hito
¾ Asignación de tiempos
Punto en el tiempo en el que comprobamos si estamos cumpliendo con ciertos objetivos.
Consiste en asignar a cada tarea un cierto número de actividades y tareas manejables,
descomponiéndose tanto el producto como el proceso.
¾ Red de tareas
¾ Camino crítico
Son el flujo o cadena de tareas que deben finalizarse según la planificación temporal si se
quiere que el proyecto en general se termine a tiempo y que por tanto determine la
duración del proyecto.
¾ Gráfico Gantt
¾ Plan de proyecto
¾ PERT
¾ Diagrama de hitos Representa el tiempo máximo en que podría finalizarse la actividad si se dan todas las
circunstancias negativas que podrían darse durante su ejecución.
El diagrama de hitos es el método más simple para determinar el calendario y es un
cuadro o tabla formado por dos columnas: en la primera se muestran las actividades y en ¾ Tiempo más probable
la segunda se determinan las fechas de finalización.
Representa el tiempo normal de la duración de la actividad suponiendo que hay problemas
¾ Diagrama de Gantt en las actividades, pero no aparecen en su totalidad.
El diagrama de Gantt es un diagrama de columnas en forma de barras donde se hace una ¾ Tiempo optimista
referencia cruzada entre las tareas (filas) y los tiempos de duración de cada una de ellas
(columnas). El diagrama de Gantt se puede utilizar para estimar los recursos y el Representa el tiempo mínimo si no aparece ningún problema durante la realización de la
presupuesto en función del tiempo. actividad.
La red es un modelo gráfico que señala las relaciones secuenciales entre los sucesos clave Es el tiempo estimado en que ocurrirá un suceso si las actividades que lo preceden
de un proyecto. comienzan lo más pronto posible.
Consiste en añadir una actividad de duración cero en una red de precedencia en la que no Es el último momento estimado en que puede ocurrir un suceso sin retrasar la finalización
se cumplen las relaciones de precedencia lineales. Es un pequeño truco para poder realizar del proyecto más allá de su tiempo próximo.
correctamente procesos lineales convergentes.
¾ Holgura de un suceso
¾ Holgura de una actividad
Es la diferencia entre su tiempo más lejano y su tiempo más próximo.
Representa el número de unidades de tiempo que puede atrasarse la realización de la
actividad con respecto al tiempo PERT previsto, sin que aumente la duración del
proyecto.
¾ Técnica PERT
¾ Matriz de encaminamientos
configuración Una revisión técnica formal es una actividad de la garantía de calidad de del software que
es llevada a cabo por los ingenieros del software. Pretende descubrir errores, verificar que
¾ Garantía de calidad del software: el software alcanza sus requisitos, que sigue unos estándares, que sea uniforme y controlar
para que los proyectos sean más manejables.
La garantía de calidad del software es una actividad de protección que se aplica a lo largo
de todo el proceso de la Ingeniería del Software. ¾ Sistema de garantía de calidad
Conjunto de inspecciones, revisiones y pruebas utilizados a lo largo del ciclo de Se llama así a todos los elementos que componen toda la información producida como
desarrollo para asegurar que cada producto cumple con los requisitos que le han sido parte del proceso de ingeniería del software.
asignados.
Cuando una misma información está duplicada en diferente lugar. ¾ Esquema de la base de datos
¾ Inconsistencia de datos Diseño completo de la base de datos. Los sistemas de bases de datos tienen varios
esquemas divididos, de acuerdo a los niveles de abstracción que se han visto. En el nivel
Cuando los datos redundantes no coinciden en su valor. más bajo está el esquema físico; en el nivel intermedio está el esquema lógico, y en el
nivel más alto está el subesquema.
¾ Aislamiento de datos
¾ Independencia de datos
Datos dispersos en varios archivos, incluso con distintos formatos.
Es la capacidad para modificar una definición de esquema en un nivel sin que afecte a una
¾ Ligadura de consistencia definición de esquema en el siguiente nivel superior.
¾ Integridad de datos Es la capacidad para modificar el esquema físico sin provocar que los programas de
aplicación tengan que reescribirse.
Cuando los datos no cumplen alguna de las ligaduras de consistencia.
¾ Independencia lógica de datos
¾ Atomicidad
Es la capacidad para modificar el esquema lógico sin causar que los programas de
Propiedad que nos dice que una operación debe realizarse íntegramente o no realizarse. aplicación tengan que reescribirse.
No permite estados intermedios.
¾ Modelo de datos
¾ Acceso concurrente a datos
Colección de herramientas conceptuales para describir los datos, las relaciones de datos,
Cuando varias aplicaciones pueden acceder simultáneamente a los datos. la semántica de los datos y las ligaduras de consistencia.
Es el nivel más bajo de abstracción y describe cómo se almacenan realmente los datos. En Se usan para describir datos en los niveles lógico y de vistas. Se caracterizan por el hecho
el nivel físico se describen en detalle las estructuras de datos complejas de bajo nivel. de que proporcionan capacidades estructurales muy flexibles y permiten que las ligaduras
de datos sean especificadas explícitamente.
¾ Nivel lógico de abstracción de datos
Es el segundo nivel más alto de abstracción y describe qué datos se almacenan en la base
de datos y qué relaciones existen entre esos datos.
Organización de Sistemas Informáticos 257 258 Organización de Sistemas Informáticos
¾ Modelo de datos entidad-relación (E-R) ¾ Modelo jerárquico
Está basado en una percepción del mundo real que consta de una colección de objetos Es similar al modelo de redes, en el sentido en que los datos y las relaciones entre los
básicos, llamados entidades, y de relaciones entre estos objetos. datos se representan mediante registros y enlaces, respectivamente. Éste se diferencia del
modelo de redes en que los registros se organizan como colecciones de árboles en lugar
¾ Entidad de grafos dirigidos.
Objeto del mundo real que es distinguible de otros objetos. Las entidades se describen en ¾ Lenguaje de definición de Datos (LDD)
una base de datos mediante un conjunto de atributos.
Lenguaje utilizado para definir el esquema de una base de datos.
¾ Relación
¾ Diccionario de datos
Asociación entre varias entidades.
Archivo que contiene metadatos, es decir, datos acerca de los datos.
¾ Diagrama entidad-relación
¾ Lenguaje de manipulación de datos (LMD)
Diagrama gráfico que se utiliza para expresar la totalidad de estructuras lógicas de una
base de datos. Lenguaje que permite a los usuarios acceder o manipular los datos organizados mediante
el modelo de datos apropiado
¾ Modelo orientado a objetos
¾ LMD procedimientales
Está basado en una colección de objetos. Un objeto contiene valores almacenados en
variables de instancia dentro de ese objeto. Un objeto también contiene fragmentos de Requieren que el usuario especifique qué datos se necesitan y cómo obtener esos datos.
código que operan en el objeto. Estos fragmentos de código se llaman métodos. Los
objetos que contienen los mismos tipos de valores y los mismos métodos se agrupan ¾ LMD no procedimientales
juntos en clases.
Requieren que el usuario especifique qué datos se necesitan, sin especificar cómo obtener
¾ Modelo basado en registros esos datos.
La base de datos se estructura en registros de formato fijo de diferentes tipos. En cada tipo ¾ Consulta
de registro se define un número fijo de campos o atributos, y cada campo tiene
normalmente una longitud fija. Instrucción de solicitud para recuperar información.
Usa una colección de tablas para representar tanto los datos como las relaciones entre esos Parte de un LMD para la recuperación de información.
datos. Cada tabla tiene varias columnas, y cada columna tiene un nombre único.
¾ Transacción
¾ Modelo de red
Colección de operaciones que se lleva a cabo como una función lógica simple en una
Los datos se representan mediante colecciones de registros y las relaciones entre los datos aplicación de bases de datos. Cada transacción es una unidad de atomicidad y
se representan mediante enlaces, que se pueden ver como punteros. Los registros en la consistencia.
base de datos se organizan como colecciones de grafos dirigidos.
¾ Red de computadoras Capacidad en un sistema de comunicación para detectar y posiblemente corregir los
errores producidos en la transmisión de un mensaje.
Colección interconectada de computadoras autónomas
¾ Control de flujo
¾ Sistema distribuido
Procedimientos que evitan la saturación del destino ante gran cantidad de información
La diferencia con una red de computadoras consiste en que la existencia de múltiples recibida.
computadoras autónomas es transparente al usuario. Es un sistema software construido
sobre una red. ¾ Direccionamiento
¾ Sistema de transmisión Propiedad del sistema que permite volver a un estado anterior estable ante un fallo en la
transmisión de un mensaje.
Medio por el que se transmite la información entre transmisor y receptor.
¾ Formato de mensajes
¾ Receptor
Conformidad entre fuente y destino en cuanto al formato de los datos intercambiados.
Elemento que acepta la señal que proviene del sistema de transmisión y la convierte de
manera que pueda ser entendida y manejada por el dispositivo destino. ¾ Seguridad
¾ Destino El receptor debe asegurarse que sólo el destino reciba los datos. El destino debe
asegurarse a su vez que los datos proceden del receptor.
Dispositivo que recibe los datos del receptor.
¾ Escalabilidad
¾ Sincronización
Capacidad para incrementar el rendimiento del sistema gradualmente cuando la carga de
Se produce entre receptor y emisor. El receptor debe ser capaz de determinar cuando trabajo crece, añadiendo más procesadores.
comienza y cuando acaba la señal recibida, así como la duración de cada elemento de la
señal. ¾ Red de área local (LAN)
¾ Gestión de intercambio Redes de propiedad privada dentro de un solo edificio o campus de hasta unos cuantos
kilómetros de extensión. Se usan ampliamente para conectar computadoras personales y
Cooperación entre dispositivos. Convenciones en la comunicación. estaciones de trabajo en oficinas de compañías y fábricas con objeto de compartir recursos
(por ejemplo impresoras) e intercambiar información. Las LAN se distinguen de otro tipo
de redes por tres características: Su tamaño, su tecnología de transmisión y su topología.
Este componente implementa los requisitos definidos por la aplicación en el contexto del
dominio en el cual funciona la aplicación. El software de aplicación se puede
Distintos fabricantes utilizan una serie de estándares EAPI para construir herramientas
CASE compatibles entre sí.
¾ Sesión remota
¾ Firma digital
[Silbers] Silberschatz, A.
“Fundamentos de Bases de Datos”
Ed. McGrawHill