Análisis y diseño de sistemas
Resumen del contenido
- Fundamentos del analisis de sistemas
- Analisis de los requerimiento de informacion
- El proceso de analisis
- Fundamentos del diseño
- Aseguramiento e implementacion de la calidad
Parte I : Fundamentos del analisis de sistemas
- Sistemas, roles y metodologias de desarrollo
- Tipos de sistemas
- Integracion de las tecnologias en sistemas
- Necesidad del analisis y diseño de sistemas
- Roles del analista de sistemas
- El ciclo de vida del desarrollo de sistemas
- Uso de herramientas Case
- La metodologia agil
- Analisis y diseño de sistemas orientado a objetos
- Como elegier que metodo de desarrollo de sistemas usar
- Resumen
- Palabras clave, frases, preguntas de repaso
- Compresion y modelado de los sistemas organizacionales
- Las organizaciones como sistemas
- Desripcion grafica de los sitemas
- Modelado de casos de uso
- Niveles de administracion
- Cultura organizacional
- Resumen
- Palabras clave, frases, preguntas de repaso
- Administracion de proyectos
- Iniciacion del proyecto
- Determinacion de la viabilidad
- Determinacion de las neceisdades de hardware y software
- Identificacion, pronostico y comparacion de los costos y beneficios
- Planeacion y control de actividades
- Administracion del proyecto
- Administracion de las actividades de analisis y diseño
- La propuesta de sistemas
- Resumen, palabras clave y frases, preguntas de repaso
Sistemas, roles y metodologias de desarrollo
- Tipos de sistemas
- Integracion de las tecnologias en sistemas
- Necesidad del analisis y diseño de sistemas
- Roles del analista de sistemas
- El ciclo de vida del desarrollo de sistemas
- Uso de herramientas Case
- La metodologia agil
- Analisis y diseño de sistemas orientado a objetos
- Como elegier que metodo de desarrollo de sistemas usar
- Resumen
- Palabras clave, frases, preguntas de repaso
La Parte I (capítulos 1 al 3) hace énfasis en los fundamentos que necesitan conocer los estudiantes sobre lo
que hace un analista; además ofrece una introducción a las tres principales metodologías del ciclo de vida del desarrollo
de sistemas (SDLC), las metodologías ágiles y el análisis
orientado a objetos con UML, junto con los motivos y las situaciones
que indican cuándo utilizarlos.
Tipos de sistemas
- Sistemas de procesamiento de transacciones (TPS)
- Sistemas de información computarizados que se desarrollaron
para procesar grandes cantidades de información para las transacciones de negocios rutinarias, como
nóminas e inventario. Un TPS elimina el tedio de las transacciones operacionales necesarias y reduce el tiempo
que se requería para realizarlas en forma manual, aunque la mayoría de las personas aún deben introducir los
datos en forma manual en los sistemas computarizados.
Los sistemas de procesamiento de transacciones son sistemas que atraviesan límites y permiten que la organización
interactúe con los entornos externos.
- Sistemas de automatización de oficinas (OAS) y sistemas de trabajo de conocimiento (KWS)
- Los sistemas de automatización de
oficinas (OAS) brindan apoyo a las personas que trabajan con datos no para crear conocimiento sino para analizar la información y transformar los datos o manipularlos de cierta forma antes de compartirlos o diseminarlos de
manera formal a través de la organización y, algunas veces, más allá. Los aspectos más conocidos de los sistemas
OAS son el procesamiento de palabras, las hojas de cálculo, el diseño gráfico por computadora, la planificación
electrónica y la comunicación a través de correo de voz, correo electrónico (e-mail) y teleconferencias.
Los sistemas de trabajo de conocimiento (KWS) brindan apoyo a profesionales como científicos, ingenieros y
médicos, ayudándoles a crear conocimiento (a menudo en equipos) y a integrarlo a su organización o la sociedad
- Sistemas de información administrativa
- Los sistemas de información administrativa (MIS) no sustituyen a los sistemas de procesamiento de transacciones;
más bien, todos los sistemas MIS incluyen el procesamiento de transacciones. Los MIS son sistemas de
información computarizados que funcionan debido a la decidida interacción entre las personas y las computadoras.
Al requerir que las personas, el software y el hardware funcionen en concierto, los sistemas de información
administrativa brindan soporte a los usuarios para realizar un espectro más amplio de tareas organizacionales que
los sistemas de procesamiento de transacciones, incluyendo los procesos de análisis y toma de decisiones.
Para acceder a la información, los usuarios del sistema de información administrativa comparten una base
de datos común; ésta almacena tanto los datos como los modelos que permiten al usuario interactuar con ellos,
interpretarlos y aplicarlos. Los sistemas de información administrativa producen información que se utiliza en
el proceso de toma de decisiones. También pueden ayudar a integrar algunas de las funciones de información
computarizadas de una empresa.
- Sistemas de soporte de decisiones
- Los sistemas de soporte de decisiones (DSS, o sistemas de apoyo a la toma de decisiones) pertenecen a una clase
superior de sistemas de información computarizados. Los sistemas DSS son similares al sistema de información
administrativa tradicional debido a que ambos dependen de una base de datos como fuente de datos. La diferencia
estriba en que el sistema de soporte de decisiones está más enfocado a brindar respaldo a la toma de decisiones
en todas sus fases, aunque la decisión misma aún corresponde de manera exclusiva al usuario. Los sistemas
de soporte de decisiones se ajustan más a la persona o el grupo usuario que un sistema de información administrativa
tradicional. También se describen a veces como sistemas enfocados en la inteligencia de negocios.
- Inteligencia artificial y sistemas expertos
- Los sistemas expertos son una clase muy especial de sistema de información que ha demostrado su utilidad comercial
gracias a la disponibilidad extendida de hardware y software como las computadoras personales (PC) y las
interfaces de sistemas expertos. Un sistema experto (también conocido como sistema basado en el conocimiento) captura
y utiliza en forma efectiva el conocimiento de uno o varios expertos humanos para resolver un problema especí-
fico al que una organización se enfrenta. Cabe mencionar que a diferencia de los sistemas DSS, que en última instancia
dejan la decisión a la persona encargada de la toma de decisiones, 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 conocimiento, un motor de inferencia que
conecta al usuario con el sistema mediante el proceso de consultas en lenguajes —como el lenguaje de consulta
estructurado (SQL) —, y la interfaz de usuario. Las personas conocidas como ingenieros del conocimiento capturan
la experiencia de los expertos, crean un sistema computacional que incluye este conocimiento y después lo
implementan.
- Sistemas de soporte de decisiones en grupo
y sistemas de trabajo colaborativo asistido por computadora
- Las organizaciones confían cada vez más en los grupos o equipos para tomar decisiones en conjunto. Cuando
los grupos toman decisiones semiestructuradas o no estructuradas, un sistema de soporte de decisiones en grupo
(GDSS, o sistema de apoyo a la toma de decisiones en grupo) puede ofrecer una solución. Estos sistemas, que se
utilizan en cuartos especiales equipados con varias configuraciones, permiten a los miembros de los grupos interactuar
con el soporte electrónico (a menudo en la forma de software especializado) y un facilitador de grupo especial.
El objetivo de los sistemas de soporte de decisiones en grupo es lograr que un grupo resuelva un problema
con la ayuda de varios apoyos como encuestas, cuestionarios, lluvia de ideas y creación de escenarios. Se puede
diseñar software GDSS para minimizar los comportamientos de grupo negativos típicos como la escasez de participación
por temor a las represalias por expresar un punto de vista impopular o polémico, la dominación por parte de los miembros del grupo con facilidad de palabra y la toma de decisiones mediante el “pensamiento grupal”.
Algunas veces los sistemas GDSS se consideran bajo el término más general de sistemas de trabajo colaborativo
asistido por computadora (CSCWS), que podría incluir el soporte de software conocido como groupware para
colaborar en equipo mediante computadoras conectadas en red. Los sistemas de soporte de decisiones en grupo
también se pueden utilizar en un ambiente virtual.
- Sistemas de soporte para ejecutivos
- Los sistemas de soporte para ejecutivos (ESS, sistemas de apoyo para ejecutivos)
ayudan a los ejecutivos a organizar sus interacciones con el entorno externo ofreciendo tecnologías de gráficos
y comunicaciones en sitios accesibles como salas de juntas u oficinas corporativas personales. Aunque los sistemas
ESS se basan en la información que generan los sistemas TPS y MIS, ayudan a sus usuarios a enfrentar
los problemas relacionados con decisiones no estructuradas inespecíficas de una aplicación, para lo cual crean
un entorno que les ayude a pensar sobre los problemas estratégicos de una manera informada. Los sistemas ESS
extienden las capacidades de los ejecutivos y les ofrecen soporte para que puedan entender mejor sus entornos.
Integracion de las tecnologias en sistemas
Algunas de las nuevas tecnologías de información que los analistas de sistemas utilizan
a medida que las personas trabajan para integrar sus aplicaciones de comercio electrónico en sus negocios tradicionales,
o a medida que inician negocios electrónicos completamente nuevos son :
- Aplicaciones de comercio electrónico y los sistemas Web
- Sistemas empresariales
- Algunos autores
describen la integración como arquitectura orientada a servicios (SOA), la cual existe en capas. Los sistemas
empresariales conformarían la capa superior. Estos sistemas, también conocidos como sistemas de planificación
de recursos empresariales (ERP), están diseñados para llevar a cabo esta integración. Para establecer un ERP se
requiere de un enorme compromiso y cambios en la organización. A menudo, los analistas de sistemas actúan
como consultores para los proyectos de ERP que utilizan software propietario
- Sistemas para dispositivos inalámbricos y móviles
- Software de código fuente abierto
- Con el OSS, los usuarios y programadores pueden estudiar, compartir
y modificar el código o las instrucciones de computadora. Las reglas de esta comunidad incluyen la idea
de que cualquier modificación a los programas se debe compartir con todas las personas en el proyecto.
El desarrollo de OSS constituye toda una filosofía y no sólo el proceso de crear software. A menudo, las
personas involucradas en comunidades de OSS lo ven como una forma de ayudar a que las sociedades cambien.
Necesidad del analisis y diseño de sistemas
El análisis y diseño de sistemas que los analistas de sistemas llevan a cabo busca comprender qué necesitan
los humanos para analizar la entrada o el flujo de datos de manera sistemática, procesar o transformar los
datos, almacenarlos y producir información en el contexto de una organización específica. Mediante un
análisis detallado, los analistas buscan identificar y resolver los problemas correctos. Además, el análisis y
diseño de sistemas se utiliza para analizar, diseñar e implementar las mejoras en el apoyo para los usuarios
y las funciones de negocios que se puedan llevar a cabo mediante el uso de sistemas de información computarizados.
Si un sistema se instala sin una planificación apropiada, a menudo los usuarios quedan muy insatisfechos y
dejan de usar el sistema. El análisis y diseño añade estructura a los sistemas, y constituye una actividad costosa
que de otra manera se realizaría al azar. Se puede considerar como una serie de procesos que se llevan a cabo en
forma sistemática para mejorar una empresa mediante el uso de sistemas de información computarizados. El análisis y diseño de sistemas implica trabajar con los usuarios actuales y eventuales de los sistemas de información
para ofrecerles soporte en su empleo de las tecnologías en un entorno organizacional.
La participación del usuario en el proyecto de sistemas es imprescindible para el desarrollo exitoso de los
sistemas de información computarizados. Los analistas de sistemas, cuyos roles en la organización analizaremos
a continuación, son el otro componente esencial para desarrollar sistemas de información útiles.
Los usuarios avanzan al primer plano a medida que los equipos de desarrollo de software se internacionalizan
más en cuanto a su composición. Esto significa que hay más énfasis en trabajar con los usuarios de software;
en realizar un análisis de su empresa, sus problemas y objetivos; y en comunicar el análisis y diseño del sistema
planificado a todos los involucrados.
Roles del analista de sistemas
El analista de sistemas evalúa en forma sistemática cómo interactúan los usuarios con la tecnología y cómo
operan las empresas, para lo cual examina los procesos de entrada/salida de los datos y la producción de
información con la intención de mejorar los procesos organizacionales. Muchas mejoras implican un mejor
soporte de las tareas de trabajo de los usuarios y las funciones empresariales mediante el uso de sistemas de
información computarizados. Esta definición enfatiza el uso de una metodología sistemática para analizar
(y potencialmente mejorar) lo que ocurre en el contexto específico que los usuarios experimentan y las empresas
crean.
Nuestra definición de un analista de sistemas es necesariamente amplia. El analista debe ser capaz de trabajar
con personas de todo tipo y tener experiencia en cuanto al trabajo con computadoras. El analista desempeña
muchos roles y algunas veces tiene que lidiar con varios al mismo tiempo. Los tres principales roles del analista
de sistemas son como consultor, experto de soporte y agente de cambios.
- El analista de sistemas como consultor
Con frecuencia el analista de sistemas actúa como consultor de sistemas para las personas y sus empresas y, por ende, pueden llegar a contratarlo específicamente para lidiar con las cuestiones relacionadas con los sistemas de información dentro de la empresa. Dicha contratación puede ser una ventaja, ya que los consultores externos pueden proveer una perspectiva fresca de la cual carezcan otras personas en la organización. También implica que los analistas externos están en desventaja, ya que alguien de fuera nunca podrá conocer la verdadera cultura
organizacional.
- El analista de sistemas como experto de soporte
Como empleado de una empresa, tal vez le toque desempeñarse como experto en soporte en algún puesto de
sistemas. En este rol, el analista se basa en su experiencia profesional sobre hardware y software y su uso en los negocios. A menudo este trabajo no es un verdadero proyecto de sistemas, sino que supone una pequeña modificación
o decisión que afecta a un solo departamento.
Como experto en soporte usted no administra el proyecto; simplemente actúa como recurso para quienes lo
administran. Si usted es un analista de sistemas empleado por una organización de manufactura o de servicios,
tal vez muchas de sus actividades diarias correspondan a este rol.
- El analista de sistemas como agente de cambio
El rol más extenso y responsable del analista de sistemas es el de agente de cambio, ya sea interno o externo,
para la empresa. Como analista, usted actúa como un agente de cambio cada vez que realiza alguna de las actividades
en el ciclo de vida del desarrollo de sistemas (que veremos en la siguiente sección) y está presente e
interactúa con los usuarios y la empresa durante un periodo extendido (de dos semanas hasta más de un año).
Podemos definir a un agente de cambio como una persona que actúa como catalizador para el cambio, desarrolla
un plan de cambio y trabaja con otros para facilitarlo.
Su presencia en la empresa genera un cambio; como analista de sistemas debe reconocer este hecho y utilizarlo
como punto inicial para su análisis. Debe interactuar con los usuarios y la administración (si no son lo mismo)
desde las primeras etapas del inicio de su proyecto, pues sin su ayuda usted no podrá comprender qué necesitan
para apoyar su trabajo en la organización, y no se podrá llevar a cabo el verdadero cambio.
Cualidades del analista de sistemas
Aunque los perfiles pueden variar de un caso específico a otro, hay ciertas cualidades
que la mayoría de los analistas de sistemas parecen tener.
Por encima de todo, el analista es un solucionador de problemas: una persona que ve el análisis de los
problemas como un reto y se divierte al idear soluciones factibles. Cuando sea necesario, el analista debe tener
la capacidad de lidiar de manera sistemática con la situación existente mediante la aplicación habilidosa de
herramientas, técnicas y experiencia. El analista también debe ser un comunicador capaz de crear relaciones
significativas con otras personas durante periodos extendidos de tiempo. Los analistas de sistemas necesitan
ser capaces de comprender las necesidades de los humanos al interactuar con la tecnología, además de que
necesitan suficiente experiencia con las computadoras como para programar, comprender las capacidades de
las computadoras, deducir los requerimientos de información de los usuarios y comunicar lo que se necesita a
los programadores. También deben poseer una sólida ética personal y profesional para poder dar forma a las
relaciones con sus clientes.
El analista de sistemas debe ser un individuo disciplinado y motivado, y tener capacidad para coordinar
tanto a personas como recursos variados para llevar a cabo los proyectos. El análisis de sistemas es una carrera
exigente, pero como compensación siempre está en continua evolución y ofrece nuevos retos.
El ciclo de vida del desarrollo de sistemas
El ciclo
de vida del desarrollo de sistemas (SDLC) es una metodología en fases para el análisis y diseño, de
acuerdo con la cual los sistemas se desarrollan mejor al utilizar un ciclo específico de actividades del analista y
los usuarios.
Los analistas no se han puesto de acuerdo sobre la cantidad de fases que hay en el SDLC, pero por lo general
alaban su metodología organizada. En este libro vamos a dividir el ciclo en siete fases. Aunque cada fase se presenta de manera discreta, en realidad nunca se puede llevar a cabo
como un paso separado, sino que varias actividades pueden ocurrir al mismo tiempo, e incluso se pueden repetir
- Identificacion de los problemas, oportunidades y objetivos
- Determinacion de los requerimientos humanos de informacion
- Analisis de las necesidades del sistema
- Diseño del sistema recomendado
- Desarrollo y documentacion del software
- Prueba y mantenimiento del sistema
- Implementacion y evaluacion del sistema
Incorporacion de las consideraciones de la interaccion humano-computadora
En años recientes, el estudio de la interacción humano-computadora (HCI) se ha vuelto cada vez más importante
para los analistas de sistemas. Aunque la definición sigue evolucionando, los investigadores caracterizan
a la HCI como el “aspecto de una computadora que permite las comunicaciones e interacciones entre ella y los
humanos. Es el nivel de la computadora que está entre ella y los humanos” (Zhang, Carey, Te’eni & Tremaine,
2005, p. 518). Los analistas que utilizan una metodología HCI se enfocan en las personas en vez del trabajo
a realizar o la TI involucrada. Su metodología para un problema es multifacética, ya que analiza los “factores
humanos ergonómicos, cognitivos, afectivos y de comportamiento involucrados en las tareas de los usuarios,
los procesos de solución de problemas y el contexto de la interacción” (Zhang, Carey, Te’eni & Tremaine,
2005, p. 518). La interacción entre humano y computadora se concentra en las necesidades humanas en vez
de enfocarse primero en las necesidades de la organización y del sistema. Los analistas que adoptan los principios
de la HCI examinan una amplia variedad de necesidades en el contexto de los usuarios humanos que
interactúan con la tecnología de información para completar sus tareas y resolver problemas. Aquí también
se toman en cuenta los factores físicos o ergonómicos, los cognitivos relacionados con la facilidad de uso, los
estéticos, los relacionados con una experiencia de uso agradable, y los aspectos conductuales relacionados con
la utilidad del sistema. La aplicación de los principios de la interacción humano-computadora implica descubrir y resolver las frustraciones
que los usuarios experimentan al usar tecnologías de información, entre las que se cuenta la sospecha
de que el analista malentendió el trabajo que se iba a realizar, las tareas involucradas y cuál era la mejor manera
de apoyarlas; sensación de impotencia o falta de control al trabajar con el sistema; violaciones intencionales
a la privacidad; problemas al navegar por las pantallas y menús del sistema, y una discrepancia general entre el
sistema que se diseñó y la forma en que los mismos usuarios piensan con respecto a sus procesos laborales.
Cuando los analistas de sistemas adoptan una metodología HCI, pueden erradicar o minimizar las malas
apreciaciones y los errores de diseño que provocan el rechazo de los usuarios hacia los nuevos sistemas o su
abandono poco tiempo después de la implementación.
Los investigadores de la HCI observan ventajas al incluir la HCI en cada fase del SDLC. Es una metodología
que vale la pena usar y para reflejar esto trataremos de llevar los intereses humanos en forma explícita a cada
fase del SDLC.
Identificacion de los problemas, oportunidades y objetivos
En esta primera fase del ciclo de vida del desarrollo de sistemas, el analista se encarga de identificar correctamente
los problemas, las oportunidades y los objetivos. Esta etapa es imprescindible para el éxito del resto del proyecto:
ya que a nadie le gusta desperdiciar el tiempo resolviendo un problema mal caracterizado.
En la primera fase el analista debe analizar con honestidad lo que está ocurriendo en la empresa. Después,
junto con otros miembros de la organización, debe comenzar a señalar los problemas. A menudo, otras personas
habrían planteado también estos problemas, razón por la cual se llamó en un principio al analista. Las oportunidades
residen en las situaciones que el analista cree poder mejorar mediante el uso de sistemas de información
computarizados. Al aprovechar estas oportunidades, la empresa puede obtener una ventaja competitiva o establecer
un estándar en la industria.
La identificación de los objetivos también es un componente importante de la primera fase. El analista debe
descubrir primero qué trata de hacer la empresa; después debe ser capaz de determinar si alguno de los aspectos
de las aplicaciones de los sistemas de información puede ayudar a que la empresa logre sus objetivos al enfrentar
problemas u oportunidades específicos.
Las personas involucradas en la primera fase son los usuarios, los analistas y los administradores de sistemas
que coordinan el proyecto. En esta fase las actividades consisten en entrevistar a los encargados de la administración
de los usuarios, sintetizar el conocimiento obtenido, estimar el alcance del proyecto y documentar los resultados. El resultado de esta fase es un informe de viabilidad, el cual contiene la definición de un problema y
sintetiza los objetivos. Después, la administración de la empresa debe tomar una decisión en cuanto a proceder o
no con el proyecto propuesto. Si el grupo de usuarios no tiene suficientes fondos en su presupuesto o desea hacer
frente a problemas que no están relacionados, o si los problemas no requieren un sistema computacional, tal vez
se pueda recomendar una solución distinta y el proyecto de sistemas no continúe.
Determinacion de los requerimientos de informacion del factor humano
PAGINA 37
Analisis de las necesidades del sistema
Diseño del sistema recomendado
Desarrollo y documentacion del software
Prueba y mantenimiento del sistema
Implementacion y evaluacion del sistema
El impacto del mantenimiento
Uso de herramientas CASE
La metodologia AGIL
Proceso de desarrollo para un proyecto agil
- Exploracion
- Planeacion
- Iteraciones para la liberacion de la primera version
- Puesta en produccion
- Mantenimiento
Analisis y diseño de sistemas orientado a objetos
Como elegir que metodo de desarrollo de sistemas usar
Resumen
Palabras clave, frases, preguntas de repaso
Compresion y modelado de los sistemas organizacionales
Las organizaciones como sistemas
Desripcion grafica de los sitemas
Modelado de casos de uso
Niveles de administracion
Cultura organizacional
Resumen
Palabras clave, frases, preguntas de repaso
Administracion de proyectos
Iniciacion del proyecto
Determinacion de la viabilidad
Determinacion de las neceisdades de hardware y software
Identificacion, pronostico y comparacion de los costos y beneficios
Planeacion y control de actividades
Administracion del proyecto
Administracion de las actividades de analisis y diseño
La propuesta de sistemas
Resumen, palabras clave y frases, preguntas de repaso
Kendall y Kendall (2005). Análisis y diseño de sistemas, 6a. ed., México, Pearson Educación. 752 p.