sábado, 8 de mayo de 2010

Fases del ciclo de vida de un sistema

¿ Que entendemos por Ciclo de vida de desarrollo de Software ? 


Es el enfoque por partes de un análisis y diseño de un sistema determinado. 

Si se usan las partes o etapas que mencionaré mas adelante el desarrollo será mucho mas efectivo esto enfocado al manejo de errores, se podrán detecta a tiempo y es por eso que será mas "económico" repararlo. (Digo económico por cuestión de tiempo incluyendo desgaste físico y mental). 

Bueno, vamos directamente a lo que son los ciclos, estos son los 7 : 


Identifición de los problemas
Determinación de los requerimientos del sistema
Análisis de las propiedades del sistema
Diseño del sistema recomendado
Desarrollo y documentación del software
Prueba y mantenimiento del sistema
Implementación y evaluación del sistema


 1.- Identifición de los problemas 

Para identificar los problemas se deben observar objetivamente la situación actual del negocio, o sea, ¿que falla?, ¿ que es lo que no satisface las necesidades?, ¿porque?. Se les hace conocer los problemas a los involucrados en la organización. Ademas es importante dar a conocer lo que pensamos nosotros como Analistas o Programadores acerca del sistema actual, me refiero a que podemos recomendar algunas cosas que sabemos que resultaran "agradable" y de utilidad al sistema que crearemos. 
Y también podemos percatarnos si acaso algún aspecto del sistema que ya esta implementado (sistema actual) nos sirve para el sistema nuevo (el que desarrollaremos). Esto es para evitar hacer sistema Ultra-Complejos. (Como dicen por ahí, "Para que reinventar la rueda"). 

Los personajes que participan en esta primera etapa son los Usuarios u operadores del sistema, los Analistas y los que coordinan el proyecto (Administradores del sistema). 

Seguimos en la identificación de problemas, objetivos y oportunidades: 

Para lograr esto es necesario realizar entrevistas a los administradores de los usuarios finales, juntar todas las entrevistas y calcular el tiempo que nos tardaremos en realizar dicho proyecto. 
Y finalmente documentar los resultados obtenidos (estadisticas, comentarios, etc). 


 2.- Determinación de los requerimientos del sistema 

Aqui determinaremos que es lo que requiere el sistema. 

· Investigación de datos de mayor importancia 
· Entrevistas y cuestionarios 
· Creación de prototipos 
· Formularios 

Aquí es donde el analista debe entender que información necesitan los usuarios finales para realizar correctamente sus trabajos. 

Por ejemplo: un sistema de creación de boletas... el analista tendrá que comprender que cada boleta tiene: 

Hora de emisión, fecha de emisión, número de boleta, descripción del negocio, teléfono, etc. 

Finalmente para poder comprender las funciones actuales del sistema debemos realizarnos una serie de preguntas: 

¿ Qué personas están involucradas ? 
¿ Qué actividad desarrolla el negocio ? 
¿ En que ambiente se realiza el trabajo ? 
¿ Cuando, en que momento ? 
¿ De que forma se desarrollan los procedimientos actualmente implementados ? 
¿ Porqué el negocio usa el sistema actual ? 

Ya dando por finalizado esta 2º parte investigativa tendremos que comprender las funciones del negocio, tener información acerca de los operadores y trabajadores, tener claro el objetivo que se quiere lograr y mediante que procedimientos llegaremos a este objetivo tan anelado. 

 3.- Análisis de las propiedades del sistema 

En este 3º paso deben analizar las necesidad o requerimiento del sistema que tenemos planeado desarrollar, estas necesidades se deducen de los datos obtenidos en la etapa anterior. 

Ahora recién es cuando empezamos a "programar" pero no es un lenguaje de programación, si no que en un diagrama de flujos de datos. Este diagrama de flujo de datos sirve para diagramar ciertas entradas, proceso y salidas de las funciones de una forma gráfica y estructurada. 

En esta 3º etapa se deben analizar las decisiones estructuradas, que son condiciones como alternativas de condición, o sea, acciones mediante un patrón que permite tomar desiciones. 


Pués ya que en esta parte deberíamos tener la capacidad de preparar una propuesta de sistema que agregaríamos lo que hemos encontrado últimamente. 
Proporcionar el costo y los beneficios de esta nueva propuesta (en partes) y recomendaremos lo que va a ser hecho (aquí es donde es recomendable proponer inmediatamente nuevos objetivos escalables del sistema que crearemos). 
* Recordemos que estamos solo en las fases de Planificación y diseño. 


 4.- Diseño del sistema recomendado 

Aquí tomamos como entrada la salida del paso anterior y según esto se genera los pasos para la capturación de datos, para que estos datos sean los que realmente se esperaban. 
Se debe diseñar la forma en que el operador/usuario va a ingresar los datos mediante pantallas (ventanas, formularios GUI en general). Y también algún control de respaldo de datos y protección al sistema. 

 5.- Desarrollo y documentación del software 

Te debo informar que aquí, NO ANTES, es cuando recién comienza el desarrollo del software que se necesita. Existen varias técnicas que nos servirán para el Diseño y Documentación del sistema... algunos de estas técnicas son: 


Diagrama estructurado 
Método HIPO 
Diagrama de Flujo 
Diagrama de Nassi-Schneiderman 
Pseudocódigo 
entre otros... 

El Analista debe entregar al programador mediante alguno de estas técnicas lo que quiere que sea programado, obviamente su complejidad será directamente proporcional al tamaño del sistema. Entre otras cosas debe entregar también manuales de usuarios, para que estos tengan a mano la información cuando no sepan como hacer algun procedimiento. 


 6.- Prueba y mantenimiento del sistema 

Como el nombre de la fase lo dice, es cuando se comienza a probar el sistema de información, dandole como entradas datos ficticios en la espera de datos coherentes y esperados. 
Es el mejor momento para encontrar errores porque el sistema a un no a sido entregado. 

En muchos casos el encargado del testo del sistema es solamente el programador, aunque el analista también podría ser participe de esta acción. 
En primer lugar se prueba con datos de ejemplo, luego con datos reales. 


 7.- Implementación y evaluación del sistema 

Ya!. Llegamos al momento en que como Analistas de Sistemas debemos instalar el sistema (implementarlo), realizar la capacitación a los usuarios, entregar manuales de usuarios, guías de instalación (cuando agregen más maquinas). Sin dejar afuera la conversión de archivos antiguos al nuevo sistema, también con la base de datos. 

Y la evaluación se refiere a investigar si acaso ya están usando el sistema o no, si la respuesta es negativa, entonces debes realizar un seguimiento de porque no está siendo usado. 

Esas son las etapas del ciclo de vida de un sistema de información. 

Quiero poner una 8º etapa, que consiste en el mantenimiento. 

La importancia del mantenimiento del sistema de información se inicia una vez que ya esta implementado, ¿porque?, porque si no se detectaron fallas en la 6º fase, se detectarán cuando el usuario lo este usando. 

Ahora... ¿cual es la ventaja entonces de dar mantenimiento? 

Pués es ahí donde nuestro trabajo aumenta, pero de manera remunerada, en caso que quieren nuevas funcionalidades y/o en caso de que quieran mejoras u optimizaciones. 

lunes, 3 de mayo de 2010

GDSS

Además del equipo necesario para operar un GDSS se requiere el software adecuado para realizar el proceso de toma de decisiones en grupo. Los componentes del software de un GDSS son:

* Una base de datos que cuente con información relacionada con la decisión que debe tomarse y permita la consulta y búsqueda de temas específicos. Por ejemplo: Si se requiere tomar una decisión sobre publicidad de un producto, debe contarse con la información sobre ventas anteriores y costos de los diferentes medios publicitarios, entre otras cosas, para tener la capacidad de tomar una decisión correcta.

* Una base de modelos, de cual se puede elegir diferentes alternativas para tomar una decisión. Por ejemplo: un modelo que permita proyectar las ventas del producto si se supone diferentes mezclas de alternativas, promoción, publicidad o precio. Estos modelos pueden incluir, entre otros modelos de programación lineal, modelo de inventarios, modelos de situación y modelos de situación estadísticos.

* Programas de aplicación específicos para que el grupo los use como procesadores de palabras, graficadores, hojas de cálculo o paquetes estadísticos. Estos programas son muy útiles para la toma de decisiones.

* Una interfaz flexible y fácil de usar, que permita al ejecutivo interactuar de la manera adecuada con el sistemas sin requerir de mucha asesoria o capacitación.

Un GDSS común puede obtener base datos, pero lo más perfeccionados incluyen base datos y base de modelos, lenguajes complejos de programación e interfaces con software administrativo como hojas de cálculo, graficadores y paquetes estadísticos.
De apoyo a los GDSS puede, además, tener capacidad de correo electrónico, conferencias por computadora y de audio y videoconferencias.


Estas caracteristicas de GDSS en un ejemplo de sistema real puede ser VISUAL-QUEST.

martes, 27 de abril de 2010

Sistemas de Información origenes

Reseña

Un sistema de información es el conjunto de recursos que se utilizan para recoger, gestionar, controlar y divulgar la información dentro de una empresa u organización. Desde los años setenta los sistemas de bases de datos han ido reemplazando a los sistemas de ficheros en los sistemas de información de las empresas, de modo que éstos constan de los siguientes componentes: la base de datos, el SGBD, los programas de aplicación, los equipos informáticos y el personal que utiliza y que desarrolla el sistema.

-----------------------------------

Sistemas de información Origenes

La TGS surgió con los trabajos del alemán Ludwig von Bertalanffy, publicados entre 1950 y 1968. La TGS no busca solucionar problemas o intentar soluciones prácticas, pero sí producir teorías y formulaciones conceptuales que pueden crear condiciones de aplicación en la realidad empírica.

Los supuestos básicos de la TGS son:

1. Existe una nítida tendencia hacia la integración de diversas ciencias naturales y sociales.
2. Esa integración parece orientarse rumbo a un teoría de sistemas.
3. Dicha teoría de sistemas puede ser una manera más amplia de estudiar los campos no-físicos del conocimiento científico, especialmente en ciencias sociales.
4. Con esa teoría de los sistemas, al desarrollar principios unificadores que atraviesan verticalmente los universos particulares de las diversas ciencias involucradas, nos aproximamos al objetivo de la unidad de la ciencia.
5. Esto puede generar una integración muy necesaria en la educación científica.

La TGS afirma que las propiedades de los sistemas, no pueden ser descritos en términos de sus elementos separados; su comprensión se presenta cuando se estudian globalmente.

La TGS se fundamenta en tres premisas básicas:

1. Los sistemas existen dentro de sistemas: cada sistema existe dentro de otro más grande.
2. Los sistemas son abiertos: es consecuencia del anterior. Cada sistema que se examine, excepto el menor o mayor, recibe y descarga algo en los otros sistemas, generalmente en los contiguos. Los sistemas abiertos se caracterizan por un proceso de cambio infinito con su entorno, que son los otros sistemas. Cuando el intercambio cesa, el sistema se desintegra, esto es, pierde sus fuentes de energía.
3. Las funciones de un sistema dependen de su estructura: para los sistemas biológicos y mecánicos esta afirmación es intuitiva. Los tejidos musculares por ejemplo, se contraen porque están constituidos por una estructura celular que permite contracciones.

El interés de la TGS, son las características y parámetros que establece para todos los sistemas. Aplicada a la administración la TS, la empresa se ve como una estructura que se reproduce y se visualiza a través de un sistema de toma de decisiones, tanto individual como colectivamente.

Desde un punto de vista histórico, se verifica que:

* La teoría de la administración científica usó el concepto de sistema hombre-máquina, pero se limitó al nivel de trabajo fabril.
* La teoría de las relaciones humanas amplió el enfoque hombre-máquina a las relaciones entre las personas dentro de la organización. Provocó una profunda revisión de criterios y técnicas gerenciales.
* La teoría estructuralista concibe la empresa como un sistema social, reconociendo que hay tanto un sistema formal como uno informal dentro de un sistema total integrado.
* La teoría del comportamiento trajo la teoría de la decisión, donde la empresa se ve como un sistema de decisiones, ya que todos los participantes de la empresa toman decisiones dentro de una maraña de relaciones de intercambio, que caracterizan al comportamiento organizacional.
* Después de la segunda guerra mundial, a través de la teoría matemática se aplicó la investigación operacional, para la resolución de problemas grandes y complejos con muchas variables.
* La teoría de colas fue profundizada y se formularon modelos para situaciones típicas de prestación de servicios, en los que es necesario programar la cantidad óptima de servidores para una esperada afluencia de clientes.

Las teorías tradicionales han visto la organización humana como un sistema cerrado. Eso a llevado a no tener en cuenta el ambiente, provocando poco desarrollo y comprensión de la retroalimentación (feedback), básica para sobrevivir.

El enfoque antiguo fue débil, ya que 1) trató con pocas de las variables significantes de la situación total y 2) muchas veces se ha sustentado con variables impropias.

El concepto de sistemas no es una tecnología en sí, pero es la resultante de ella. El análisis de las organizaciones vivas revela "lo general en lo particular" y muestra, las propiedades generales de las especies que son capaces de adaptarse y sobrevivir en un ambiente típico. Los sistemas vivos sean individuos o organizaciones, son analizados como "sistemas abiertos", que mantienen un continuo intercambio de materia/energía/información con el ambiente. La TS permite reconceptuar los fenómenos dentro de un enfoque global, para integrar asuntos que son, en la mayoría de las veces de naturaleza completamente diferente.

CONCEPTO DE SISTEMAS

* Un conjunto de elementos
* Dinámicamente relacionados
* Formando una actividad
* Para alcanzar un objetivo
* Operando sobre datos/energía/materia
* Para proveer información/energía/materia

Características de los sistemas

Sistema es un todo organizado y complejo; un conjunto o combinación de cosas o partes que forman un todo complejo o unitario. Es un conjunto de objetos unidos por alguna forma de interacción o interdependencia. Los límites o fronteras entre el sistema y su ambiente admiten cierta arbitrariedad.

Según Bertalanffy, sistema es un conjunto de unidades recíprocamente relacionadas. De ahí se deducen dos conceptos: propósito (u objetivo) y globalismo (o totalidad).

* Propósito u objetivo: todo sistema tiene uno o algunos propósitos. Los elementos (u objetos), como también las relaciones, definen una distribución que trata siempre de alcanzar un objetivo.
* Globalismo o totalidad: un cambio en una de las unidades del sistema, con probabilidad producirá cambios en las otras. El efecto total se presenta como un ajuste a todo el sistema. Hay una relación de causa/efecto. De estos cambio y ajustes, se derivan dos fenómenos: entropía y homeostasia.
* Entropía: es la tendencia de los sistemas a desgastarse, a desintegrarse, para el relajamiento de los estándares y un aumento de la aleatoriedad. La entropía aumenta con el correr del tiempo. Si aumenta la información, disminuye la entropía, pues la información es la base de la configuración y del orden. De aquí nace la negentropía, o sea, la información como medio o instrumento de ordenación del sistema.
* Homeostasia: es el equilibrio dinámico entre las partes del sistema. Los sistemas tienen una tendencia a adaptarse con el fin de alcanzar un equilibrio interno frente a los cambios externos del entorno.

Una organización podrá ser entendida como un sistema o subsistema o un supersistema, dependiendo del enfoque. El sistema total es aquel representado por todos los componentes y relaciones necesarios para la realización de un objetivo, dado un cierto número de restricciones. Los sistemas pueden operar, tanto en serio como en paralelo.

Tipos de sistemas

En cuanto a su constitución, pueden ser físicos o abstractos:

* Sistemas físicos o concretos: compuestos por equipos, maquinaria, objetos y cosas reales. El hardware.
* Sistemas abstractos: compuestos por conceptos, planes, hipótesis e ideas. Muchas veces solo existen en el pensamiento de las personas. Es el software.

En cuanto a su naturaleza, pueden cerrados o abiertos:

* Sistemas cerrados: no presentan intercambio con el medio ambiente que los rodea, son herméticos a cualquier influencia ambiental. No reciben ningún recursos externo y nada producen que sea enviado hacia fuera. En rigor, no existen sistemas cerrados. Se da el nombre de sistema cerrado a aquellos sistemas cuyo comportamiento es determinístico y programado y que opera con muy pequeño intercambio de energía y materia con el ambiente. Se aplica el término a los sistemas completamente estructurados, donde los elementos y relaciones se combinan de una manera peculiar y rígida produciendo una salida invariable, como las máquinas.
* Sistemas abiertos: presentan intercambio con el ambiente, a través de entradas y salidas. Intercambian energía y materia con el ambiente. Son adaptativos para sobrevivir. Su estructura es óptima cuando el conjunto de elementos del sistema se organiza, aproximándose a una operación adaptativa. La adaptabilidad es un continuo proceso de aprendizaje y de auto-organización.

Los sistemas abiertos no pueden vivir aislados. Los sistemas cerrados, cumplen con el segundo principio de la termodinámica que dice que "una cierta cantidad llamada entropía, tiende a aumentar al máximo".

Existe una tendencia general de los eventos en la naturaleza física en dirección a un estado de máximo desorden. Los sistemas abiertos evitan el aumento de la entropía y pueden desarrollarse en dirección a un estado de creciente orden y organización (entropía negativa). Los sistemas abiertos restauran sus propia energía y reparan pérdidas en su propia organización. El concepto de sistema abierto se puede aplicar a diversos niveles de enfoque: al nivel del individuo, del grupo, de la organización y de la sociedad.