Unidad 1: Sistemas de Informacion
Unidad 1: Sistemas de Informacion
Unidad 1: Sistemas de Informacion
1. La tecnología de la Información.
2. Sistemas de Información. Funciones.
3. Elementos de un S.I.
4. Actividades de un SI.
5. Clasificaciones y Tipos de Sistemas de Información.
6. Los Sistemas de Información desde una perspectiva funcional y operacional.
Sistemas Transaccionales, Gerencial, de Apoyo a las Decisiones. Sistemas Estratégicos y Sistemas Expertos.
Sistemas de Automatización de oficinas, para ejecutivos y de planeación de recursos empresariales (ERP).
7. Estrategias para el desarrollo de sistemas: Ciclo de Vida, Prototipos, Técnicas de 4ta generación.
Incremental-Riesgos.
8. Herramientas de Análisis, de Diseño y de Desarrollo de Sistemas.
9. Participantes en el desarrollo de sistemas según el rol en la organización y según la función en el proceso.
Los usuarios: funciones y categorías.
10. Etapas en el ciclo de vida para el desarrollo de sistemas.
11. El Proyecto de Sistemas: Tareas de Planeación y de Control.
12. Herramientas para la Planeación y el Control.
13. Estudio de Factibilidad. Investigación técnica, operativa y económica-financiera.
14. Programación Extrema. Tiempo, Costo, Calidad y Alcance.
1. TECNOLOGÍA DE LA INFORMACION
(TI, o como IT por su significado en inglés: information technology) es la aplicación de equipos de telecomunicación
para almacenar, recuperar, transmitir y manipular datos, con frecuencia utilizado en el contexto de los negocios u
otras empresas. Su definición consistía en tres categorías: técnicas de procesamiento, la aplicación de métodos
estadísticos y matemáticos para la toma de decisión, y la simulación del pensamiento de orden superior a través de
programas computacionales.
SISTEMAS DE INFORMACION
Surge por/para
Resolver un problema
Aprovechar una oportunidad
Dar respuesta a directivos para cumplir un objetivo.
Acelerar un proceso.
Agilizar un proceso mediante la eliminación de pasos innecesarios o duplicados.
Combinar procesos.
Reducir errores de entrada por medio de cambios en las formas de trabajar.
Reducir salidas redundantes.
Mejorar la integración de sistemas y subsistemas.
Mejorar la facilidad de interacción de los clientes, proveedores y vendedores, con el sistema.
1
Según James Wetherbe:
P (perfomance) Necesidad de mejorar el rendimiento.
I (information) Necesidad de mejorar la información y los datos.
E (economics) Necesidad de economía, control de costos y beneficio.
C (control) Necesidad de aumentar el control o la seguridad.
E (efficiency) Necesidad de mejorar la eficiencia de las personas y los procesos.
S (service) Necesidad de mejorar el servicio de los clientes, proveedores, socios, empleados, etc.
En teoría de sistemas, un SI es un sistema, automatizado o manual, que abarca personas, máquinas, y/o métodos
organizados de recolección de datos, procesamiento, transmisión y diseminación de datos que representa
información para el usuario.
Un sistema de información puede ser manual o basado en computadores. Ambos están compuestos por personas,
datos de entradas, procesos y salidas. Los computacionales agregan los equipos o hardware, los programas o
software y las telecomunicaciones.
Todo ese conjunto de elementos interactúan entre sí para procesar los datos y la información (incluyendo procesos
manuales y automáticos) y distribuirla de la manera más adecuada posible en una determinada organización en
función de sus objetivos.
James Senn en su libro define los sistemas de información como un sistema de negocios de una empresa con
propósitos e interacción con otros componentes dentro de la compañía. Agrega que su tarea consiste en procesar la
entrada, mantener los archivos de datos en relación con la empresa y producir información, informes y otras salidas.
Kenneth y Julie Kendall por su parte, no los define, aunque sí indica que los sistemas de información se desarrollan
con diferentes propósitos dependientes de las necesidades de la empresa. Y agrega: “lo conforman los sistemas de
procesamiento de datos (que son sistemas de información computadorizados que se desarrollan para procesar
grandes volúmenes de información generada en las funciones administrativas), los sistemas de información para la
administración, o MIS, Management Information Systems (que toman en cuenta las funciones del procesamiento de
datos y se sustentan en la relación entre las personas y las computadoras), y los sistemas de apoyo para la toma de
decisiones, o DSS, Decision Support Systems (que hacen énfasis en el soporte en cada una de las etapas de la toma
de decisiones)”.
Dentro de todo sistema se pueden separar dos conceptos:
- lo que el sistema es, y lo asociamos con su estructura
- lo que el sistema hace, y lo asociamos con sus procesos funcionales
Características:
• Existen dentro de un entorno
• Se encuentran separados de su entorno por alguna frontera
• Tiene entradas y salidas. Reciben entradas de su entorno y envían salidas a su entorno
• Transforman sus entradas de alguna forma para producir salidas
• Dispone de interfaces que permiten la comunicación entre sistemas
• Puede estar formado por subsistemas
2
operadores, ya que generalmente se encuentra instalado en un Centro de Cómputos, tanto el computador central
como las terminales.
Sistemas en Línea: Los datos de entrada son cargados directamente por los usuarios del área correspondiente en
forma interactiva. Estos usuarios también reciben directamente las salidas o resultados del procesamiento.
Requieren validaciones en el momento de la carga de los datos ya que serán registrados en la base de datos
Sistemas de Tiempo Real: son similares a los sistemas en línea pero el proceso de control devuelve resultados con la
suficiente rapidez como para influir en dicho ambiente y modificar o disparar acciones en ese momento (sistemas de
alarmas)
2. Elementos de un SI
3. Actividades de un SI
Datos e información
• DATOS: secuencia de hechos en bruto que representan eventos que ocurren en las organizaciones o en el entorno
físico antes de ser organizados y ordenados en una forma que las personas puedan entender y utilizar.
• INFORMACIÓN: datos que se han moldeados en una forma significativa y útil para los seres humanos.
3
5. Los sistemas de información desde una perspectiva funcional
• Sistemas de Ventas y marketing
• Sistemas de manufactura y producción
• Sistema de finanzas y contabilidad
• Sistema de gestión de recursos humanos.
Deben tener 3 funciones. La primera hace referencia a la práctica y coordinación de las acciones operativas
habituales a lo largo de la organización. La segunda función es ejercer el control para identificar las acciones que van
en contra de los objetivos de la organización, y a partir de aquí dirigir nuevas acciones rectificadoras de una forma
eficiente. La tercera es proporcionar la información necesaria para ayudar a tomar decisiones a nivel operativo,
directivo y estratégico. Las tres funciones tienen como objetivo final el correcto funcionamiento de la empresa.
Los datos deben almacenarse según las necesidades de los usuarios del sistema, en lugar de imponer una nueva
forma de trabajar en función de una estructura de datos poco natural del nuevo sistema de información.
Sistemas transaccionales
Los sistemas de procesamiento de transacciones (TPS) son SI computarizada creados para procesar grandes
cantidades de datos relacionadas con transacciones rutinarias de negocios, como las nóminas y los inventarios.
Un TPS elimina el fastidio que representa la realización de transacciones operativas necesarias y reduce el tiempo
que una vez fue requerido para llevarlas a cabo de manera manual, aunque los usuarios aún tienen que capturar
datos en los sistemas computarizados.
Los sistemas de procesamiento de transacciones expanden los límites de la organización dado que le permiten
interactuar con entornos externos.
4
Es importante para las operaciones cotidianas de un negocio, que estos sistemas funcionen sin ningún tipo de
interrupción, puesto que los administradores recurren a los datos producidos por los TPS con el propósito de
obtener información actualizada sobre el funcionamiento de sus empresas.
Ejemplos:
Facturación
Liquidación de Sueldos
Inventarios
Cuentas Corrientes
Control automático (ej de ascensores)
Código de barras (control de inventario, siempre q este estandarizado)
Sistema de bandas magnéticas (servicio de login o módulo de login)
Propiedades ACID: conjunto de propiedades que garantizan que las transacciones en una base de datos son fiables.
Atomicidad: cualquier cambio de estado que produce una transacción es atómico. Es decir, ocurren todos o no
ocurre ninguno. En otras palabras, esta propiedad asegura que una operación se realiza o no se realiza, por lo tanto,
no puede quedar el sistema a medias.
Consistencia: propiedad que asegura que una transacción no romperá con la integridad de una base de datos, pues
respeta todas las reglas y directrices de ésta.
Aislamiento: propiedad que asegura que no se afectarán entre sí las transacciones. En otras palabras, dos o más
transacciones sobre los mismos datos no generarán un problema.
Durabilidad: propiedad que asegura la persistencia de una transacción, es decir, una vez que la transacción quedó
aceptada no podrá deshacerse aunque falle el sistema.
5
Sistemas expertos e inteligencia artificial
La inteligencia artificial (AI, Artificial Intelligence] es el campo general para los sistemas expertos. La motivación
principal de la AI ha sido desarrollar máquinas que tengan un comportamiento inteligente. Dos de las líneas de
investigación de la AI son la comprensión del lenguaje natural y el análisis de la capacidad para razonar un problema
hasta su conclusión lógica. Los sistemas expertos utilizan las técnicas de razonamiento de la AI para solucionar los
problemas que les plantean los usuarios de negocios (y de otras áreas).
Los sistemas expertos conforman una clase muy especial de sistema de información que se ha puesto a disposición
de usuarios de negocios gracias a la amplia disponibilidad de hardware y software como computadoras personales
(PCs) y generadores de sistemas expertos.
Un sistema experto [también conocido como sistema basado en el conocimiento) captura y utiliza el conocimiento
de un experto para solucionar un problema específico en una organización. Observe que a diferencia de un DSS, que
cede al responsable la toma de la decisión definitiva, un sistema experto selecciona la mejor solución para un
problema o una clase específica de problemas.
Los componentes básicos de un sistema experto son la base de conocimientos, un motor de inferencia que conecta
al usuario con el sistema mediante el procesamiento de consultas realizadas con lenguajes como SQL [Structured
Query Language, lenguaje de consultas estructurado) y la interfaz de usuario. Profesionales conocidos como
ingenieros de conocimiento capturan la pericia de los expertos, construyen un sistema de cómputo que contiene
este conocimiento experto y lo implementan. Es muy factible que la construcción e implementación de sistemas
expertos se constituya en el trabajo futuro de muchos analistas de sistemas.
• Sistemas basados en el conocimiento
• Pertenecen al campo de la inteligencia artificial
• Permiten el manejo de bases de conocimiento integradas por una serie de reglas
• El conocimiento se obtiene a través de la experiencia de un especialista o un experto
• A diferencia de los sistemas de apoyo, S.E. seleccionan la mejor solución al problema
• Beneficios: reducción del personal, mejora en el entrenamiento personal.
• Inteligencia Artificial: ciencia que estudia el comportamiento inteligente, con el fin de imitar o simular las
habilidades humanas mediante la creación y utilización de máquinas y computadoras
• Habilidades humanas: razonamiento, aprendizaje, capacidad mecánica y capacidad sensorial
• Áreas: Simulación, Robótica, Lenguajes Naturales y los Sistemas Expertos
• Elementos de un Sistema Experto: Bases de conocimientos, máquina de inferencia, lenguaje de inteligencia
artificial y una interfaz
Características:
• Típicamente su forma de desarrollo es a base de incrementos y a través de su evolución permanente dentro
de la organización.
• Se requiere de un experto en la estructuración y captación del conocimiento.
• Apoyan el proceso de innovación dentro de la empresa.
Ejemplos: Sistema de Prospección minera, Sistema de Configuración aplicaciones Distribuidas, Sistemas de
Diagnóstico Médico, Sistema de Detección de Fraude Telefónico, Robots, etc.
Los (MIS, Management Information Systems] no reemplazan a los TPS, más bien, incluyen el procesamiento de
transacciones. Los MIS son sistemas de información computarizados cuyo propósito es contribuir a la correcta
interacción entre los usuarios y las computadoras. Debido a que requieren que los usuarios, el software [los
programas de cómputo] y el hardware (las computadoras, impresoras, etc.), funcionen de manera coordinada, los
sistemas de información gerencial dan apoyo a un espectro de tareas organizacionales mucho más amplio que los
TPS, como el análisis y la toma de decisiones.
Para acceder a la información, los usuarios de un sistema de información gerencial comparten una base de datos
común. Ésta almacena datos y modelos que ayudan al usuario a interpretar y aplicar los datos. Los sistemas de
información gerencial producen información que se emplea en la toma de decisiones. Un sistema de información
gerencial también puede contribuir a unificar algunas de las funciones de información computarizadas de una
empresa, a pesar de que no existe como una estructura individual en ninguna parte de ésta.
6
Ayuda a los administradores a tomar decisiones estructuradas y resolver problemas del nivel medio de la
empresa
Una herramienta para soportar las funciones operativas
Recurren a datos almacenados por los sistemas transaccionales
incluye las siguientes actividades: Organización, selección (filtro), totalización de datos para entregar en
forma periódica
No pueden adaptarse fácilmente a paquetes disponibles en el mercado.
Características de los S.G
Los sistemas de apoyo a la toma de decisiones (DSS, Decisión Support Systems] constituyen una clase de alto nivel de
sistemas de información computarizada. Los DSS coinciden con los sistemas de información gerencial en que ambos
dependen de una base de datos para abastecerse de datos. Los sistemas de apoyo a la toma de decisiones se ajustan
más al gusto de la persona o grupo que los utiliza que a los sistemas de información gerencial tradicionales. En
ocasiones se hace referencia a ellos como sistemas que se enfocan en la inteligencia de negocios.
Como implica el termino estos sistemas no toman decisiones por sí mismos, sino ayudan a los administradores y a
otros profesionales de una organización a la toma de decisiones inteligentes y documentadas acerca de los diversos
aspectos de la operación. Típicamente los sistemas DSS no actúan de manera activa, sino que más bien son de tipo
ad hoc cuando se los necesita.
Por ejemplo, entre estos sistemas podemos encontrar programas de hojas de cálculo, sistemas de análisis
estadístico, programas de pronósticos de mercados. Una de las principales características de estos es que no solo
recolectan y muestran datos, sino que también realizan varios tipos de análisis estadísticos y matemáticos, además
de presentar la información en diversas formas graficas.
Como ejemplo podemos ver graficas de hojas de cálculos financiero. Características que puede usar un gerente para
evaluar ganancias de una división de su empresa.
Ejemplos:
Sistemas de Planificación estratégica, Sistemas Evaluación de mercados, Sistema de Gestión de Clientes.
Recurren a datos almacenados por los sistemas transaccionales
Apoyan a los administradores del nivel medio y estratégico mediante la generación y evaluación sistemática
de diferentes alternativas o escenarios de decisión.
Permite al usuario utilizar modelos clásicos, que se encuentran desarrollados y disponibles, formando la base de
modelos. Pueden incluir: Inventarios, Control de proyectos, Programación lineal, Simulación, Colas, Análisis
estadísticos, Planeación financiera y generación de esencias
Establecimiento de la misión de una empresa y de estrategias que ayudarán a que la misión se cumpla.
7
Evaluación de administradores. Para incrementar el sueldo de un administrador o para verificar que esté
cumpliendo con su deber.
Planeación de sistemas de información. Cuando se requiere introducir nueva tecnología de sistemas de
información es necesario modificar el plan de sistemas
Soporte en negociaciones. Apoyar los trabajos que visuales, como la selección de un empaque para un nuevo
producto.
Apoyar los trabajos que involucran diseño y revisiones de control de calidad.
Apoyar una decisión en particular.
Cuando los ejecutivos recurren a la computadora, por lo general lo hacen en busca de métodos que los auxilien en la
toma de decisiones de nivel estratégico. Los sistemas de apoyo a ejecutivos (ESS, Executive Support Systems) ayudan
a estos últimos a organizar sus actividades relacionadas con el entorno externo mediante herramientas gráficas y de
comunicaciones, que por lo general se encuentran en salas de juntas o en oficinas corporativas personales. A pesar
de que los ESS dependen de la información producida por los TPS y los MIS, ayudan a los usuarios a resolver
problemas de toma de decisiones no estructuradas, que no tienen una aplicación específica, mediante la creación de
un entorno que contribuye a pensar en problemas estratégicos de una manera bien informada. Los ESS amplían y
apoyan las capacidades de los ejecutivos al darles la posibilidad de comprender sus entornos.
Los sistemas de planeación estratégica son usados por gerentes en jefe para evaluar y analizar la misión de la
organización. En lugar de dar consejos acerca de alguna decisión de negocios aislada, estos sistemas ofrecen
consejos más amplios y generales acerca de la naturaleza del mercado, las preferencias de los consumidores, el
comportamiento de la competencia etc. Esto usualmente cae dentro de los dominios del departamento de
planeación estratégica o del departamento de planeación a largo plazo, aunque pudiera tratarse de una actividad
más informal, llevada a cabo por alguno de los gerentes.
La planeación estratégica no son tanto programas de computadoras en sí, son complejas combinaciones de
actividades y procedimientos.
EJEMPLO:
ESS, sistemas de apoyo a ejecutivos.
Un ejemplo es el sistema comprado por Pratt & Whitney, una empresa que se dedica a la producción de motores de
propulsión a chorro. Ellos compraron el sistema denominado Commander EIS que permite representaciones a todo
color y un menú imaginativo que puede aprenderse intuitivamente, con variaciones y excepciones que son
destacadas mediante colores. Los usuarios pueden ingresar datos mediante una pantalla táctil, ratón o teclado y
pueden agrandar las imágenes para mayores niveles de detalle, ya sea navegando por sí mismos o siguiendo
caminos previamente definidos.
El Commnander EIS permite a la organización hacer el seguimiento de los parámetros de la calidad y factibilidad de
las medidas tomadas para cada motor a reacción por tipo de cliente. Los datos aparecen de los sistemas actuales de
producción y proporcionan información sobre la confiabilidad, disponibilidad de motores y partes, y sobre las
entregas.
8
Otro ejemplo es el sistema implantado por la New York State Office of General Services que es responsable de dar
servicio a otras dependencias en Nueva York. El sistema permite que los ejecutivos verifiquen el estado por
programa, comparando el presupuesto con el gasto real y mostrando el gasto estimado hasta el final del año fiscal.
La administración puede bajar para ver los detalles específicos en cada categoría. El sistema sólo contiene datos
crudos, permitiendo a los usuarios una gran flexibilidad para agregarlos y analizarlos para satisfacer sus
necesidades. El sistema es operado por medio de un menú muy fácil de usar. Los nuevos usuarios son capacitados
mediante una demostración que dura media hora, y la experiencia ha demostrado que es todo lo que necesitan. No
se cuenta con un manual del usuario. DURACIÓN:45 minutos
9
SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES (ERP)
Muchas organizaciones consideran los beneficios potenciales que se derivan de la integración de los diversos SI que
existen en los diferentes niveles administrativos, con funciones dispares.
Mediante los sistemas ERP se realiza el seguimiento de las diversas áreas de una compañía, desde la fabricación de
un producto, pasando por la logística, la distribución, el control de stock, la contabilidad de la organización y demás.
Se trata básicamente de un software desarrollado para el manejo eficaz de la información de las empresas, que
permite tomar decisiones acertadas en los momentos oportunos, gracias a la veracidad de los datos que se manejan
mediante el ERP.
Entre el software más conocido de ERP se encuentran SAP, PeopleSoft y paquetes de Oracle y J.D. Edwards. Algunos
de estos paquetes están diseñados para migrar a las empresas a la Web. Por lo general, los analistas y algunos
usuarios requieren capacitación, apoyo técnico y mantenimiento por parte del fabricante para diseñar, instalar, dar
mantenimiento, actualizar y utilizar de manera apropiada un paquete de ERP en particular.
Permite a una compañía automatizar e integrar la mayor parte de sus procesos de su negocio, compartir
datos, producir y acceder a la información en tiempo real.
Soportan las múltiples actividades o procesos de la empresa debido a su diseño modular, incluyendo
planeación de producción, compras, inventarios, proveedores, etc.
Han sido conceptualizados como plataformas que requieren una gran inversión económica y requieren la
mayor parte de las veces, de una reestructuración organizacional o reingeniería de los procesos de la
empresa
La integración de todos estos datos en una base de datos centralizada permite la optimización de los
procesos y la obtención de la información de manera más rápida y precisa y además, todos los usuarios
pueden compartir la información y acceder a ella en forma constante.
Cada una de estas etapas lleva asociada una serie de tareas que deben realizarse, y una serie de documentos
(en sentido amplio: software) que serán la salida de cada una de estas fases y servirán de entrada en la fase
siguiente.
La elección de un paradigma u otro se realizan de acuerdo con la naturaleza del proyecto y de la aplicación, los
métodos a usar y los controles y entregas requeridos.
El ciclo de vida en cascada exige un enfoque sistemático y secuencial del desarrollo de software, que comienza en el
nivel de la ingeniería de sistemas y avanza a través de fases secuenciales sucesivas. Estas fases son las siguientes:
10
3. Diseño.
El diseño se aplica a cuatro características distintas del software:
1. la estructura de los datos,
2. la arquitectura de las aplicaciones,
3. la estructura interna de los programas
4. las interfaces.
El diseño es el proceso que traduce los requisitos en una representación del software de forma que pueda conocerse
la arquitectura, funcionalidad e incluso la calidad del mismo antes de comenzar la codificación.
4. Codificación. La codificación consiste en la traducción del diseño a un formato que sea legible para la
máquina.
Si el diseño es lo suficientemente detallado, la codificación es relativamente sencilla. Se extrae la información del
análisis del sistema y del análisis de requisitos. De los diagramas y por último, en la codificación se traducen estos
diagramas de diseño a un lenguaje fuente, que luego se traduce - se compila -para obtener un programa ejecutable.
5. Prueba. El objetivo es comprobar que no se hayan producido errores en alguna de las fases de traducción
anteriores, especialmente en la codificación. Para ello deben probarse todas las sentencias, no sólo los casos
normales y todos los módulos que forman parte del sistema.
6. Utilización.
Una vez superada la fase de pruebas, el software se entrega al cliente y comienza la vida útil del mismo. La
fase de utilización se solapa con las posteriores - el mantenimiento y la sustitución - ydura hasta que el
software, ya reemplazado por otro, deje de utilizarse.
7. Mantenimiento.
El software sufrirá cambios a lo largo de su vida útil. Estos cambios pueden ser debidos a tres causas:
1. Que, durante la utilización, el cliente detecte errores en el software: los errores latentes.
2. Que se produzcan cambios en alguno de los componentes del sistema informático: por ejemplo cambios en
la máquina, en el sistema operativo o en los periféricos.
3. Que el cliente requiera modificaciones funcionales (normalmente ampliaciones) no contempladas en el
proyecto.
En cualquier caso, el mantenimiento supone volver atrás en el ciclo de vida, a las etapas de codificación, diseño o
análisis dependiendo de la magnitud del cambio.
Estas vueltas atrás no son controladas, ni quedan explícitas en el modelo, y este es uno de los problemas que
presenta este paradigma
8. Sustitución.
Es conveniente realizarla por fases, si esto es posible, además, es conveniente mantener los dos sistemas
funcionando en paralelo durante algún tiempo para comprobar que el sistema nuevo funcione correctamente y
para asegurarnos el funcionamiento normal de la empresa aún en el caso de que el sistema nuevo falle y tenga que
volver a alguna de las fases de desarrollo.
La sustitución implica el desarrollo de programas para la interconexión de ambos sistemas, el viejo y el nuevo, y para
trasvasar la información entre ambos, evitando la duplicación del trabajo de las personas encargadas del proceso de
datos, durante el tiempo en que ambos sistemas funcionen en paralelo.
• En realidad los proyectos no siguen un ciclo de vida estrictamente secuencial como propone el modelo. Siempre
hay iteraciones. El ejemplo más típico es la fase de mantenimiento.
• Es difícil que se puedan establecer inicialmente todos los requisitos del sistema.
• Hasta que se llega a la fase final del desarrollo: la codificación, no se dispone de una versión operativa del
programa. Como la mayor parte de los errores se detectan cuando el cliente puede probar el programa no se
detectan hasta el final del proyecto, cuando son más costosos de corregir y más prisa
Al menos este modelo describe una serie de pasos genéricos que son aplicables a cualquier otro paradigma,
refiriéndose la mayor parte de las críticas que recibe a su carácter secuencial.
11
TÉCNICAS DE CUARTA GENERACIÓN.
Las técnicas de cuarta generación tienen por objeto el facilitar el desarrollo de software:
Facilitan al que desarrolla el software el especificar algunas características del mismo a alto nivel. Luego, la
herramienta genera automáticamente el código fuente a partir de esta especificación.
Los tipos más habituales de generadores de código cubren uno o varios de los siguientes aspectos: Acceso a bases de
datos utilizando lenguajes de consulta de alto nivel (derivados normalmente de SQL). Con ello no es necesario
conocer la estructura de los ficheros o tablas ni de sus índices.
1. Acceso a bases de datos utilizando lenguajes de consulta de alto nivel (derivados normalmente de
SQL). Con ello no es necesario conocer la estructura de los ficheros o tablas ni de sus índices.
2. Generación de código. A partir de una especificación de los requisitos se genera automáticamente
toda la aplicación.
3. Generación de pantallas. Permiten diseñar la pantalla dibujándola directamente incluyendo además
el control del cursor y la gestión de errores de los datos de entrada.
4. Gestión de entornos gráficos.
5. Generación de informes. (de forma similar a las pantallas).
Sin embargo el problema es el mismo que se plantea en el ciclo de vida clásico: es muy difícil que se puedan
establecer todos los requisitos desde el comienzo.
Si la especificación es pequeña, podemos pasar directamente del análisis de requisitos a la generación automática de
código, sin realizar ningún tipo de diseño.
Pero si la aplicación es grande, se producirán los mismos problemas que si no usamos técnicas de cuarta generación:
mala calidad, dificultad de mantenimiento y poca aceptación por parte del cliente).
Es necesario, por tanto, realizar un cierto grado de diseño (al menos lo que hemos llamado una estrategia de diseño,
puesto que el propio generador se encarga de parte de los detalles del diseño tradicional: descomposición modular,
estructura lógica y organización de los ficheros, etc.).
12
Es necesario, por tanto, realizar un cierto grado de diseño (al menos lo que hemos llamado una estrategia de
diseño, puesto que el propio generador se encarga de parte de los detalles del diseño tradicional:
descomposición modular, estructura lógica y organización de los ficheros, Las herramientas de cuarta generación
se encargan también de producir automáticamente la documentación del código generado, pero esta
documentación es mala. Es necesario completarla hasta obtener una documentación con sentido.
Con respecto a las pruebas suponemos que el código generado es correcto y acorde con la especificación, y que
no contiene los típicos errores de la codificación manual.
Pero en cualquier caso es necesaria la fase de pruebas, en primer lugar para comprobar la eficiencia del código
generado (la generación automática de los accesos a bases puede producir código muy eficiente cuando el
volumen de información es grande (p.ej.: las distintas formas de relacionar tablas en SQL), también para detectar
los errores en la especificación a partir de la cual se generó el código, y, por último, para que el cliente
compruebe si el producto final satisface sus necesidades.
El resto de las fases del ciclo de vida usando estas técnicas es igual a las del paradigma del ciclo de vida en
cascada, del que este no es más que una adaptación a las nuevas herramientas de producción de software.
No son más fáciles de utilizar que los lenguajes de tercera generación. En concreto, muchos de los
lenguajes de especificación que utilizan pueden considerarse como lenguajes de programación, de un nivel
algo más alto que los anteriores.
El código fuente que producen es ineficiente.(el ejemplo de antes de SQL). Al estar generado
automáticamente no pueden hacer uso de los trucos habituales para aumentar el rendimiento, que se basan
en el buen conocimiento de cada caso particular.
Sólo son aplicables al software de gestión. Esto es cierto, la mayoría de las herramientas de cuarta
generación están orientadas a la generación de informes a partir de grandes bases de datos
CONSTRUCCIÓN DE PROTOTIPOS.
Dos de las críticas que se hacían al modelo de ciclo de vida en cascada eran:
que es difícil tener claros todos los requisitos del sistema al inicio del proyecto
y que no se dispone de una versión operativa del programa hasta las fases finales del desarrollo
Lo que dificulta la detección de errores y deja también para el final el descubrimiento de los requisitos inadvertidos
en las fases de análisis
En general, cualquier aplicación que presente mucha interacción con el usuario, o que necesite algoritmos que
puedan construirse de manera evolutiva, yendo de lo más general a lo más específico es una buena candidata.
No obstante, hay que tener en cuenta la complejidad: si la aplicación necesita que se desarrolle una gran cantidad
de código para poder tener un prototipo que enseñar al usuario, las ventajas de la construcción de prototipos se
verán superadas por el esfuerzo de desarrollar un prototipo que al final habrá que desechar o modificar mucho.
También hay que tener en cuenta la disposición del cliente para probar un prototipo y sugerir modificaciones de los
requisitos.
Es bastante frecuente que el producto de ingeniería desarrollado presente un buen rendimiento durante la fase de
pruebas realizada por los ingenieros antes de entregarlo al cliente (pruebas que se realizarán normalmente con unos
pocos registros en la base de datos o un único terminal conectado al sistema), pero que sea muy ineficiente, o
incluso inviable, a la hora de almacenar o procesar el volumen real de información que debe manejar el cliente.
En otros casos, el prototipo servirá para modelar y poder mostrar al cliente cómo va a realizarse la E/S de datos en la
aplicación, de forma que éste pueda hacerse una idea de cómo va a ser el sistema final, pudiendo entonces detectar
deficiencias o errores en la especificación aunque el modelo no sea más que una cáscara vacía.
Según esto un prototipo puede tener alguna de las tres formas siguientes:
13
un prototipo, en papel o ejecutable en ordenador, que describa la interacción hombre-máquina y los listados
del sistema.
un prototipo que implemente algún(os) subconjunto(s) de la función requerida, y que sirva para evaluar el
rendimiento de un algoritmo o las necesidades de capacidad de almacenamiento y velocidad de cálculo del
sistema final.
un programa que realice en todo o en parte la función deseada pero que tenga características (rendimiento,
consideración de casos particulares, etc.) que deban ser mejoradas durante el desarrollo del proyecto.
A partir del diseño construiremos el prototipo. Existen herramientas especializadas en generar prototipos
ejecutables a partir del diseño.
En cualquier caso, el objetivo es siempre que la codificación sea rápida, aunque sea en detrimento de la calidad del
software generado.
Una vez listo el prototipo, hay que presentarlo al cliente para que lo pruebe y sugiera modificaciones.
A partir de estos comentarios del cliente y los cambios que se muestren necesarios en los requisitos, se procederá a
construir un nuevo prototipo y así sucesivamente hasta que los requisitos queden totalmente formalizados, y se
pueda entonces empezar con el desarrollo del producto final.
· Parte del trabajo realizado durante la fase de diseño rápido (especialmente la definición de pantallas e informes)
puede ser utilizada durante el diseño del producto final. Además, tras realizar varias vueltas en el ciclo de
construcción de prototipos, el diseño del mismo se parece cada vez más al que tendrá el producto final.
Hay que tener en cuenta que un análisis de requisitos incorrecto o incompleto, cuyos errores y deficiencias se
detecten a la hora de las pruebas o tras entregar el software al cliente, nos obligará a repetir de nuevo las fases de
análisis, diseño y codificación, que habíamos realizado cuidadosamente, pensando que estábamos desarrollando el
producto final. Al tener que repetir estas fases, sí que estaremos desechando una gran cantidad de trabajo
Uno de los problemas que suelen aparecer siguiendo el paradigma de construcción de prototipos, es que con
demasiada frecuencia el prototipo pasa a ser parte del sistema final.
Se olvida aquí que el prototipo ha sido construido de forma acelerada, sin tener en cuenta consideraciones de
eficiencia, calidad del software o facilidad de mantenimiento, o que las elecciones de lenguaje, S.O.
El utilizar el prototipo en el producto final conduce a que éste contenga numerosos errores latentes, sea ineficiente,
poco fiable, incompleto o difícil de mantener. En definitiva a que tenga poca calidad, y eso es precisamente lo que
queremos evitar aplicando la ingeniería del software.
EL MODELO EN ESPIRAL
El modelo en espiral combina las principales ventajas del modelo de ciclo de vida en cascada y del modelo de
construcción de prototipos. Proporciona un modelo evolutivo para el desarrollo de sistemas de software complejos,
mucho más realista que el ciclo de vida clásico, y permite la utilización de prototipos en cualquier etapa de la
evolución del proyecto.
Otra característica de este modelo es que incorpora en el ciclo de vida el análisis de riesgos.
Los prototipos se utilizan como mecanismo de reducción del riesgo, permitiendo finalizar el proyecto antes de
haberse embarcado en el desarrollo del producto final, si el riesgo es demasiado grande.
14
El modelo en espiral define cuatro tipos de actividades, y representa cada uno de ellos en un cuadrante:
Planificación.
Consiste en determinar los objetivos del proyecto, las posibles alternativas y las restricciones.
Esta fase equivale a la de recolección de requisitos del ciclo de vida clásico e incluye además la planificación de
las actividades a realizar en cada iteración.
Análisis de riesgo.
Una de las actividades de la planificación de proyectos (que se verá en IS: Proyectos) es el análisis de riesgos. El
desarrollo de cualquier proyecto complejo lleva implícito una serie de riesgos: unos relativos al propio proyecto
(los riesgos que pueden hacer que el proyecto fracase) y otros relativos a las decisiones que deben tomarse
durante su desarrollo (los riesgos asociados a que una de estas decisiones sea errónea).
La diferencia principal con el modelo de construcción de prototipos, es que en éste los prototipos se usan
para perfilar y definir los requisitos. Al final, el prototipo se desecha y comienza el desarrollo del software
siguiendo el ciclo clásico.
En el modelo en espiral, en cambio, los prototipos son sucesivas versiones del producto, cada vez más
detalladas (el último es el producto en sí) .
15
Visible Analyst (VA) es una herramienta CASE
Da al analista de sistemas la posibilidad de realizar planeación, análisis y diseño por medios gráficos, con el
propósito de construir aplicaciones cliente-servidor y bases de datos complejas.
Esta herramienta permite modelar los datos, procesos y objetos en diferentes formatos.
Permite que sus usuarios dibujen y modifiquen diagramas con facilidad.
De esta manera, el analista es más productivo tan sólo con la reducción del tiempo considerable que se
invierte en dibujar y corregir manualmente diagramas de flujo de datos hasta que tengan una apariencia
aceptable.
Un paquete de herramientas como Visible Analyst también mejora la productividad de grupos al dar a los
analistas la posibilidad de compartir fácilmente el trabajo con otros miembros del equipo, quienes sólo
tienen que abrir el archivo en sus PCs y revisar o modificar lo que se haya hecho.
Las herramientas CASE también facilitan la interacción entre miembros de un equipo al hacer que la
diagramación sea un proceso iterativo y dinámico más que uno en el cual los cambios causen molestia y se
conviertan en un freno para la productividad.
En este caso la herramienta CASE para dibujar y grabar diagramas de flujo de datos ofrece un registro de la
evolución de las ideas del equipo en lo concerniente a los flujos de datos.
16
· Generadores de código: producen el código fuente y las aplicaciones a partir de especificaciones
funcionales bien articuladas.
· Herramientas para pruebas: apoyan la fase de evaluación de un sistema o de partes del mismo contra las
especificaciones. Incluyen facilidades para examinar la correcta operación del sistema así como el grado de
perfección alcanzado en comparación con las expectativas.
Participantes en el desarrollo
La función en el proceso El papel en la organización
• Analista • Consultor
• Diseñador • Especialista de Apoyo
• Programador • Agente de Cambio
El análisis y diseño de sistema da forma al análisis y diseños de sistema de información, un esfuerzo muy
valioso que de otra manera podría haberse realizado fortuita. Se le puede considerar como una serie de
proceso sistemáticamente emprendido con el propósito de mejorar un negocio con ayuda de sistema de
información computarizado. Gran parte del análisis y diseño de sistema implica trabajar con usuarios
actuales y ocasionales de lo sistema de información.
Es impórtate que los usuarios intervengan de alguna manera durante el proyecto para completar con éxito
los sistemas de información computarizados.
Los analistas de sistemas, cuyo roles en la organización se describen a continuación, constituyen el otro
componente esencial en el desarrollo de sistemas de información útiles.
(Yourdon)
USUARIOS: son aquellos que formalmente solicitan un sistema. También pueden presentarse situaciones en las que
no se conoce al usuario puesto que el sistema puede estar enfocado por ejemplo para una empresa de consultoría.
Incluso puede suceder que una organización nombre un representante para tratar el proyecto porque no disponen
de tiempo.
Hay que tener en mente que los usuarios son personas diferentes, con diferentes capacidades y preparación. Por ello
podemos clasificar a los usuarios de dos maneras:
Por categoría de trabajo o nivel de supervisión: Mirando a los grupos de usuarios de los cuales vamos a trabajar en
el relevamiento los podemos agrupar en:
Usuarios operacionales: son oficinistas, administradores, y operadores que son los que tendrán más
contacto con el nuevo sistema. (a menos que sea un sistema DSS)
Hay que tener en cuenta que estos usuarios se preocupan mucho por las funciones del sistema pero
es más probable que se preocupen por la interfaz humana, puesto que tienen mucho contacto con la
misma. Esto es clave para el éxito del sistema
17
Usuarios ejecutivos: Un usuario ejecutivo suele estar dos o tres niveles más arriba de la acción
asociada con el proyecto.
Estos pueden proporcionar la iniciativa para el proyecto pero es más probable que solo sirvan como
autoridad para financiar los proyectos.
Estos usuarios no tienen afinidad con el funcionamiento cotidiano del sistema así que no nos
servirán para determinar requisitos del mismo. Solamente en casos en que el sistema a construir sea
un DSS enfocado a ese grupo de trabajo.
Los usuarios ejecutivos se preocupan por los detalles estratégicos, las ganancias a corto y largo plazo,
por ello pueden no estar interesados en asuntos operacionales tales como ahorro en costos de
transacción o ahorro de personal. Este grupo de usuarios no está interesado en modelos físicos por
ello de vemos hacer hincapié en los modelos conceptuales o abstractos a los cuales ya están
habituados como modelos financieros, modelos de mercado, modelos de ingeniería, etc.
Amateur: Es aquel que jamás ha visto una computadora y que reconoce su ignorancia en ese campo.
Son difíciles de entrenar en el nuevo sistema y requieren de un tratamiento especial en el lenguaje
con el que nos expresaremos.
Novato presuntuoso: Es una persona que ha tenido uno o dos proyectos de desarrollo de sistemas y
suele tener una muy muy vaga experiencia en programación. Esto genera que dicho usuario sea muy
específico a la hora de pedir un cambio, generando problemas con las soluciones más efectivas que
propondremos como analistas y generando también contratiempos al surgir debates.
Expertos:
Administración general: Son los administradores de nivel superior que no están directamente involucrados
en la organización de informática ni son de la organización usuaria.
Pudiera ser el presidente de la organización o el jefe de administración financiera. Generalmente se
interesan más por los sistemas de planeación estratégica y de DSS.
Si bien la administración superior requiere informes, no requieren la cantidad de detalles que los
supervisores. Este grupo suele enfocarse más en la información externa: reglas gubernamentales, informes
de competencia de mercado.
AUDITORES, PERSONAL DE CONTROL: El auditor no se suele involucrar en el sistema hasta que este no está
terminado, lo que complica los cambios y correcciones. Suelen preocuparse más por la forma que por el contenido,
si los documentos que se exige no tienen la presentación correcta corremos el riesgo de que rechacen el sistema.
Nuestra definición de analista de sistema es amplia. El analista debe tener la capacidad de trabajar con todo tipo de
gente y contar con suficiente experiencia en computadora. Desempeña diversos roles, en ocasiones varios de ellos al
mismo tiempo. Los tres roles principales del analista de sistemas son el de consultor, experto en soporte técnico y
agente de cambio.
18
Con frecuencia, el analista de sistemas desempeña el rol de consultor para un negocio y, por tanto, podría ser
contratado de manera específica para enfrentar los problemas de sistemas de información de una empresa.
Esta contratación se puede traducir en una ventaja porque los consultores externos tienen una perspectiva fresca de
la cual carecen los demás miembros de una organización. También se puede traducir en una desventaja porque
alguien externo nunca conocerá la verdadera cultura organizacional.
En su función de consultor externo, usted dependerá en gran medida de los métodos sistemáticos que se explican en
este libro para analizar y diseñar sistemas de información apropiados para una empresa en particular. Además,
tendrá que apoyarse en los usuarios de los sistemas de información para entender la cultura organizacional desde la
perspectiva que tienen ellos.
DISEÑADORES DE SISTEMAS: El diseñador de sistemas es quien recibe los resultados del análisis, la labor de él es
transformar la petición que se desprende del análisis en un diseño de alto nivel que servirá como base para los
programadores. El diseñador puede ser una persona o un grupo de personas.
19
Los analistas no se ponen de acuerdo en la cantidad de fases que incluye el ciclo de vida del desarrollo de sistemas,
pero en general alaban su enfoque organizado.
20
En la fase de diseño del ciclo de vida del desarrollo de sistemas, el analista utiliza la información recopilada en las
primeras fases para realizar el diseño lógico del sistema de información.
El analista diseña procedimientos precisos para la captura de datos que aseguran que los datos que ingresen al
sistema de información sean correctos. Además, el analista facilita la entrada eficiente de datos al sistema de
información mediante técnicas adecuadas de diseño de formularios y pantallas.
La fase de diseño también incluye el diseño de archivos o bases de datos que almacenarán gran parte de los datos
indispensables para los encargados de tomar las decisiones en la organización.
Una base de datos bien organizada es el cimiento de cualquier sistema de información.
En esta fase el analista también interactúa con los usuarios para diseñar la salida
(En pantalla o impresa) que satisfaga las necesidades de información de estos últimos.
El trabajo de sistemas es cíclico. Cuando un analista termina una fase del desarrollo de sistemas y pasa a la siguiente,
el surgimiento de un problema podría obligar al analista a regresar a la fase previa y modificar el trabajo realizado.
10. EL PROYECTO DE SISTEMAS: TAREAS DE PLANEACIÓN Y DE CONTROL.
21
1. Seleccionar los participantes:
Se las conoce como Equipo de Planificación del Proyecto
22
Los recursos más críticos en el desarrollo del calendario del proyecto con las personas y la disponibilidad de las
infraestructuras de la empresa.
Los gráficos de GANTT incluyen la posibilidad de representar las personas involucradas en el desarrollo del proyecto
y el número de días u horas que cada personas debe trabajar en el proyecto
5. Planificar el Calendario
Estimar el tiempo necesario para cada tarea y las dependencias entre tareas
Varios métodos para la estimación de tareas:
1er Técnica: Equiparar el tiempo de una tarea al tiempo más probable que será necesario para finalizar la tarea
(teniendo en cuenta los problemas habituales que puedan surgir durante el tiempo de realización)
2da. Técnica: Calcular la media entre el tiempo óptimo y el tiempo pésimo de una tarea
3er Técnica: Se basa en la experiencia y consiste en calcular la duración esperada a través de la siguiente fórmula:
DE = TO + (4.TMP) + TP
6
Estudio de Factibilidad
Es la posibilidad de éxito que tendría el sistema al momento de ser implantado y operado por
el personal de la empresa
Operativa
Aspectos a investigar: si los usuarios están de acuerdo, trabajarán en el sistema, participan en
la planeación y desarrollo, se incrementará la productividad de los empleados, mejorará la
integración con otras áreas
23
Se utiliza la estructura PIECES como items a estudiar.
Objetivo: estudiar si las previsiones iniciales en relación al calendario de las tareas a realizar
se mantienen o han sufrido retraso o avance.
De fechas
Es preferible entregar un sistema de información tarde pero que funcione y que cumpla con
todos los objetivos planteados al inicio del proyecto
Política Objetivo: evaluar cómo afecta el SI a la organización, desde el punto de vista social y político
Diagrama de Gantt
El diagrama de Gantt fue concebido por el ingeniero norteamericano Henry L. Gantt, quien procuró resolver el problema de la
programación de actividades. Es decir, su distribución conforme a un calendario, de manera tal que se pudiese visualizar el
periodo de duración de cada actividad, sus fechas de iniciación y terminación y el tiempo total requerido finalmente para la
ejecución de un trabajo. El instrumento que desarrolló permite también que se siga el curso de cada actividad, al proporcionar
información del porcentaje ejecutado de cada una de ellas y de esta manera, se podrá conocer cuánto tiempo está adelantado
o atraso con respecto al plazo previsto. El gráfico que se utiliza en este diagrama consta de un sistema de coordenadas, en el
cual se deberá indicar lo siguiente:
En el eje Horizontal: se ubicará la escala de tiempo definido en términos de la unidad más adecuada al trabajo que se
va a ejecutar. Por ejemplo: hora, día, semana, mes, etc.
En el eje Vertical: se colocarán las actividades que constituyen el trabajo a ejecutar. A cada actividad se le hace
corresponder una línea horizontal cuya longitud es proporcional a su duración (teniendo en cuenta la escala definida
en el eje horizontal).
Para ilustrar el diagrama de Gantt, es muy importante identificar primero las distintas actividades del proceso, con las
respectivas secuencias y tiempos de cada actividad. La información se puede reunir por ejemplo, en una tabla del siguiente tipo:
Actividad Después de Duración de la Actividad
A - 4 semanas
B A 6 semanas
C A 2 semanas
D B 2 semanas
Ahora si, se puede ilustrar el diagrama de Gantt, como se muestra a continuación:
24
B
C
D
2 4 6 8 10 12 14 16 18 20 Semana
Diagrama de Pert
Un proyecto es un conjunto de tareas relacionadas entre sí. Cada tarea tiene algún tipo de prioridad respecto de otra, o bien, es
necesario realizar determinada tarea si o si, para poder comenzar con otra. De esta manera, comenzaremos a tratar con dos
conceptos: antecedencia y consecuencia entre las tareas.
Pert, es utilizado como una herramienta cuantitativa de planificación y control, lo que permite a los administradores contar con
un modelo de optimización que entregue la solución óptima de una secuencia de actividades en el tiempo, que deben realizarse
para finalizar el plan de acción. Permite programar un proyecto por adelantado y a la vez calcular el tiempo necesario para
completarlo. Además, el diagrama de Pert, facilita las actividades de control, permitiendo la comparación del tiempo real con el
planificado.
Fecha temprana: la fecha temprana se refiere al día en que comienza determinada tarea, por ejemplo a los 2 días de
comenzado el proyecto.
Nota: la flecha punteada indica que se trata de una tarea ficticia, es decir, es una tarea que se necesita para mostrar la lógica del
proyecto y hay que tener en cuenta que no tiene duración, es decir que su duración es igual a cero.
25
Fecha tardía: es la última fecha que tenemos para finalizar cada tarea ( y el proyecto ).
En el caso la fecha para finalizar la tarea DF es el día 15. Veamos el siguiente gráfico:
De esta manera, la fecha tardía para comenzar con la tarea DF es el día 11 ( 15 - 4 = 11).
Nota: Supongamos que la comienzo es el día 12. Entonces : 12 (suceso D) más 4 (duración DF) hace que el proyecto termine el
día 16, es decir un día más tarde
De esta misma forma se continua con las demás tareas, hasta llegar a la tarea AB.
Aplique el mismo criterio para comenzar con la tarea ED: entonces, 11 (Suceso D) – 5 (duración de la tarea ED) = 6.
Para determinar la fecha tardía para el suceso C, por un lado deberemos elegir entre ( 11 - 2 = 9) y por el otro ( 6 - 0 = 6). Hay
que tener en cuenta que la duración de una tarea ficticia es 0 (no existe como tarea real). De los dos tiempos, se deberá elegir el
menor.
26
A continuación, se deberán determinar cuáles son los sucesos críticos y por consiguiente el camino crítico.
Un suceso crítico es aquel cuyas fechas tempranas (ft) y fechas tardías (Ft) son iguales. Se indican en el gráfico engrosando las
líneas de los sucesos correspondientes.
Las tareas críticas son aquellas cuya duración es igual a la diferencia entre los sucesos críticos que la determinan. Además, son
las tareas que hacen que el proyecto dure 15 días (en nuestro ejemplo). Se indican en el gráfico engrosando la línea.
Poder determinar estas tareas es importante debido a que si se incrementa la duración de alguna de ellas, se incrementará la
duración del proyecto, por lo tanto se dice que estas tareas son críticas para el proyecto.
Consideraciones generales:
Al realizar un diagrama de Pert, hay que tener en cuenta las siguientes consideraciones:
Antes de comenzar una actividad, todas las actividades precedentes deben haber terminado. Las flechas indican su
procedencia lógica. Su longitud no tiene significado alguno.
Todas las flechas deben estar dirigidas de izquierda a derecha.
Se tiene que tomar en cuenta aquellas actividades ficticias, que son actividades que no consumen recursos y tiempo.
Una vez asignados los tiempos de cada actividad, es importante calcular los tiempos totales de cada una de las
ramas de la red, para así determinar cuál es la que emplea el mayor tiempo, lo que indicaría las actividades que no
se pueden retrasar.
En ocasiones el analista tendrá que reconocer que la organización se podría beneficiar de una metodología alterna.
Quizá un proyecto de sistemas con un enfoque estructurado haya fallado, o quizá las subculturas que existen en la
organización, compuestas por diferentes grupos de usuarios, parezcan más proclives a utilizar un método alterno.
La programación extrema (XP, Extreme Programming) es un enfoque para el desarrollo de software que utiliza
buenas prácticas de desarrollo y las lleva a los extremos. Se basa en valores, principios y prácticas esenciales.
Los cuatros valores son la comunicación, la simplicidad, la retroalimentación y la valentía. Cuando estas cuatro
variables de control se incluyen adecuadamente en la planeación, se propicia un equilibrio entre los recursos y las
actividades requeridas para completar el proyecto.
El llevar las prácticas de desarrollo al extremo es más recomendable cuando se siguen prácticas propias de XP. En el
capítulo 6 describimos cuatro prácticas esenciales de XP: la liberación limitada, la semana de trabajo de 40 horas,
alojar a un cliente en el sitio y el uso de la programación en parejas. A primera vista estas prácticas parecen
extremas, pero como observará, podemos aprender algunas lecciones valiosas al incorporar muchos de estos valores
y prácticas de XP en los proyectos de análisis y diseño de sistemas.
La creación de prototipos (que es diferente a la creación de prototipos que veremos en el capítulo 6) es uno de los
métodos alternos más populares, junto con ETHICS, el enfoque de usar un campeón del proyecto, la Metodología
Soft Systems y Multiview. La creación de prototipos, concebida originalmente en otras disciplinas y aplicada a los
27
sistemas de información, surgió como respuesta a los extensos periodos de desarrollo asociados con el enfoque del
ciclo de vida del desarrollo de sistemas y a la incertidumbre que existe con frecuencia en relación con los
requerimientos de los usuarios. ETHICS, por su parte, se presentó como una metodología socio-técnica que combina
soluciones sociales y técnicas. El enfoque de usar un campeón del proyecto, un concepto tomado de la
mercadotecnia, adopta la estrategia de involucrar a una persona clave de cada área donde tiene influencia el sistema
para garantizar el éxito del mismo. La Metodología Soft Systems fue concebida como una manera de modelar un
mundo muchas veces caótico mediante el uso de "imágenes
ricas", ideogramas que captan los relatos característicos de una organización. Multiview se propuso como una forma
de organizar y utilizar elementos de diversas metodologías en competencia.
28