DESARROLLO DE SISTEMAS DE INFORMACION
METODOS Y ALTERNATIVAS
Hablaremos del desarrollo de sistemas en un entorno que demanda una mayor calidad y competividad. Para lograr este objetivo se
analizan las opciones que tienen las organizaciones para desarrollar un sistema de información, ya que nos referiremos al
software de aplicación.
1 INTRODUCCION
Un sistema de información (SI) es un conjunto de elementos orientados al tratamiento y administración de datos einformación, organizados y listos para su uso posterior, generados para cubrir una necesidad u objetivo. Dichos elementos formarán parte de alguna de las siguientes categorías:
PersonasDatosActividades o técnicas de trabajoRecursos materiales en general (generalmente recursos informáticos y de comunicación,
Todos estos elementos interactúan para procesar los datos (incluidos los procesos manuales y automáticos) y dan lugar a información más elaborada, que se distribuye de la manera más adecuada posible en una determinada organización, en función de sus objetivos.
Ciclo de vida de los Sistemas de Información
Conocimiento de la Organización
Identificación de problemas y oportunidades
Determinar las necesidades
Diagnóstico
Propuesta
Diseño del sistema
Codificación
ImplementaciónMantenimiento
Tipos de sistemas de información
Desde un punto de vista empresarial
Sistema de procesamiento de transacciones (TPS).- Gestiona la información referente a las transacciones producidas en una empresa u organización, también se le conoce como Sistema de Información operativa.Sistemas de información gerencial (MIS).- Orientados a solucionar problemas empresariales en general.Sistemas de soporte a decisiones (DSS).- Herramienta para realizar el análisis de las diferentes variables de negocio con la finalidad de apoyar el proceso de toma de decisiones.Sistemas de información ejecutiva (EIS).- Herramienta orientada a usuarios de nivel gerencial, que permite monitorizar el estado de las variables de un área o unidad de la empresa a partir de información interna y externa a la misma. Es en este nivel cuando los sistemas de información manejan información estratégica para las empresas.
VARIABLES DETERMINANTES EN EL PROCESO DE DESARROLLO DE SISTEMAS
Calidad: Indica que tanto el sistema satisface adecuadamente los requerimientos de confiabilidad y eficiencia y en que medida requiere de mantenimiento.Especificaciones del usuario: Son todos los requerimientos que el usuario solicita antes de iniciar el desarrollo del sistema.Recursos: Están conformados por las personas que realizan el proceso de desarrollo, así como el equipo y el dinero necesarios para el desarrollo del sistema.Tiempo: Comprende la duración de todo proceso de desarrollo, desde su inicio hasta que entra en operación
3
1.-AUMENTA 2.- REDUCIR 3 .-INCREMENTAR
ESPECIFICACIONES DEL USUARIO
(+)
TIEMPO
(+)
RECURSOS
CALIDAD
(-)
TIEMPO
(+)
RECURSOS
ESPECIFICACIONES DEL USUARIO
CALIDAD
(-)
(-)
CALIDAD
RECURSOS
TIEMPO
(+)
(+)
3
METODOS ALTERNOS PARA LA ADQUISICION DE SISTEMAS
Metodo tradicio
nalLa compra
de paquetes.En el desarrollo
por parte del usuario final.
3 distintas fuentes.
Consiste en que la empresa desarrolle internamente el sistema o contrate servicios externos para ello.Con este metodo se desarrolla un sistema especifico para las necesidades de una empresa en particular y, en la mayoria de los casos, se usa para desarrollar sistemas estrategicos ya que no existen sistemas similares en el mercado.
Metodo Tradicional.
Se refiere a la adquisicion de paquetes desarrollados y terminados por otras companias que se encuentran en el mercado de desarrollo
de software.
La compra de paquetes.
Desarrolla sus propias aplicaciones y utiliza lasherramientas computacionales disponibles, como los paquetes y lenguajes de cuarta generacion. No se requieren conocimientos profundos de programacion para este tipo de aplicaciones.
En el desarrollo por parte del usuario final.
Aseguramiento de la Calidad
El Aseguramiento de la Calidad Quality Assurance
es el conjunto de actividades planificadas y sistemáticas aplicadas en un Sistema de Calidad para que los requisitos de calidad de un producto o servicio sean satisfechos.
Por tanto, para asegurar la calidad de los productos resultantes el equipo de calidad deberá realizar un conjunto de actividades que servirán para:- Reducir, eliminar y lo más importante, prevenir las deficiencias de calidad de los productos a obtener.- Alcanzar una razonable confianza en que las prestaciones y servicios esperados por el cliente o el usuario queden satisfechas.
En las industrias manufactureras se crearon y refinaron métodos modernos de aseguramiento de la calidad. La introducción y adopción de programas de aseguramiento de la calidad en servicios, ha quedado a la zaga de la manufactura, quizá tanto como una década.Los administradores de organizaciones de servicio por costumbre han supuesto que su servicio es aceptable cuando los clientes no se quejan con frecuencia. Sólo en últimas fechas se han dado cuenta que se puede administrar la calidad del servicio como arma competitiva.Aseguramiento de la calidad en manufactura: Garantizar la calidad de manufactura está en el corazón del proceso de la administración de la calidad. Es en este punto, donde se produce un bien o servicio, donde se "ínter construye" o incorpora la calidad.La administración o Serénela general, en las que están los grupos de finanzas y ventas, tiene la responsabilidad general de planear y ejecutar el programa de aseguramiento de la calidad.
7.-Técnica de Diseño y Documentación
Es preciso contar con técnicas adecuadas para realizar las frases de análisis y diseño, lo que permite documentar adecuadamente todo el proceso. El diseño de un sistema puede ser
ascendente o descendente.Cuando se realiza un diseño ascendente se inicia
por los niveles operativos de la organización y, posteriormente, se definen los requisitos de los niveles mas altos, según las necesidades de los
sistemas que se tengan.
En el caso del diseño descendente, el diseñador parte de la estructura global de la empresa y de sus objetivos para buscar la mejor manera de satisfacerlos al desarrollar el sistema, el diseño mas recomendado es el descendente, puesto que se integra a la organización en el sistema desde su inicio.
Por otro lado, la documentación suele ser un problema porque en ocasiones los estándares para realizarla se implantan después de que se llevo a cabo el proceso de desarrollo.
Generalmente, la documentación se realiza cuando se concluye el desarrollo del sistema y en ocasiones con premura para cumplir con el tiempo estimado, lo que redunda en una documentación de mala calidad, que a su vez afecta la operación y el mantenimiento del sistema.
La documentación de un sistema debe proporcionar un panorama del sistema en si, especificar los procedimientos que se llevan a cabo y la forma de operarlo. Además de esta documentación, que básicamente se dirige al usuario, debe documentarse y detallarse la estructura de archivos y programas con el objetivo de que pueda realizarse un mantenimiento adecuado.
DIAGRAMA DE FLUJO DE DATOS
DFD
Del conjunto de técnicas para el análisis y diseño de sistemas, los diagramas de flujo de datos (DFD) han adquirido gran popularidad por su
gran simplicidad.
El objetivo de conocer y utilizar una técnica es compartir un lenguaje común entre los diferentes participantes en el análisis y
desarrollo de sistemas.
Un DFD describe el flujo y la dirección de los datos de las áreas operativas de un negocio.Esta técnica emplea únicamente cuatro diferentes símbolos:
Rectangulo: señala entidades externas al sistema. (proveedores, clientes)
Circulo o cuadrado: para describir procesos. (lugar donde se realiza una
actividad con los datos.Semirrectangulo: : define el lugar de
almacenamiento de los datos.Flechas: indican la dirección de los datos, los cuales viajan de una entidad externa a un
proceso y viceversa o de un proceso hacia su almacenimiento y viceversa.
Los DFD únicamente representan los procesos de negocio, entidades relacionadas a los
procesos, almacenamiento de datos y dirección de los mismos en una organización.
Los DFD ayudan a identificar debilidades en la forma de operar de los negocias, lo que permite efectuar correcciones para incrementar el nivel
de eficiencia operativa de las empresas.Uno de los lideres en el mercado es la
herramienta Visio de Microsoft.
Las pruebas de sistema son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto a la parte interesada Son una actividad más en el proceso de control de calidad.Las pruebas son básicamente un conjunto de actividades dentro del desarrollo Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas en cualquier momento de dicho proceso de desarrollo.
El objetivo de las pruebas es presentar información sobre la calidad del producto a las personas responsables de este.Teniendo esta afirmación en mente, la información que puede ser requerida es de lo más variada. Esto hace que el proceso detesting sea completamente dependiente del contexto9 en el que se desarrolla.A pesar de lo que muchos promueven, no existen las "mejores prácticas" como tal. Toda práctica puede ser ideal para una situación pero completamente inútil o incluso perjudicial en otra.Por esto, las actividades, técnicas, documentación, enfoques y demás elementos que condicionarán las pruebas a realizar, deben ser seleccionadas y utilizadas de la manera más eficiente según contexto del proyecto.
Objetivos
MANTENIMIENTOEn este proceso se realizan mejoras a un sistema
para que tenga una vida útil más larga También se llama mantenimiento a las
modificaciones hechas cuando el usuario modifica los requerimientos iniciales o se detectan fallas
durante la operación.Muchas organizaciones invierten cuantiosos
recursos económicos a dar un buen mantenimiento a sus sistemas, estos costos
pueden llegar a elevarse a niveles alarmantes, por lo que se sugiere controlar el presupuesto en
informática.
CASE (Por sus siglas en ingles: Computer-Aided Software Engineering) comprende a los paquetes que dan el soporte al proceso de desarrollo de sistemas de informacion, basicamente automatizando las tareas involucradas en dicho proceso.En un principio sus herramientas se enfocaban a la fase de analisis y diseno de sistemas, despues ampliaron su alcance al resto de las tareas, como generacion de codigos y pruebas de los programas.
INGENIERIA DE SOFTWARE ASISTIDA POR COMPUTADORA(CASE).
OBJETIVO:Incrementar la productividad y la calidad de los sistemas realizados por el area de informatica, lo que se logra a traves de algunas ventajas que poseen
INGENIERIA DE SOFTWARE ASISTIDA POR COMPUTADORA(CASE).
VENTAJAS:• Proporcionan una
metodologia estandar.• Automatizan el analisis y
diseno del sistema.• Crean una documentacion
uniforme.• Mejoran la comunicacion
entre el equipo de proyecto.• Mantienen actualizados los
diccionarios de datos.
• La velocidad para gemerar codigo se incrementa y crean pruebas de los programas.
INGENIERIA DE SOFTWARE ASISTIDA POR COMPUTADORA(CASE).
12.- Compra de PaquetesEn ocasiones una empresa necesita un sistema que ya se encuentra
disponible en el mercado, pues le resulta mas costeable comprarlo que desarrollarlo utilizando el método tradicional. La compra de paquetes consiste en adquirir los sistemas que la empresa necesita, y esta elige entre los que están disponibles en el mercado; es decir, observa y analiza los diferentes sistemas que ofrecen las empresas que solo se dedican al desarrollo de paquetes y determina cual o cuales son útiles para esta.
Un error en la compra de paquetes puede afectar profundamente las operaciones diarias de una empresa, provocar incremento de costos y, por consecuencia, disminucion de las utilidades y del nivel de servicio a clientes y usuarios. Debido a ello, el comprador debe asegurarse de la calidad del sistema que esta adquiriendo.
Para ello debe tomar en cuenta lo siguiente:*Que el paquete satisfaga todos los requerimientos
del usuario, es decir, que cumpla con los objetivos.*Que opere con alta confiabilidad, esto es, que no se
detecten errores con frecuencia.*Que sea entregado a tiempo para poder iniciar su
operación.*Que cumpla con los requerimientos de
presupuesto; que no sea muy costoso o que el costo se justifique.
*Haber evaluado la magnitud de las adecuaciones del paquete para la empresa que lo adquiere.
Al implantar un sistema se incurre en costos similares, tanto si se utilizo el método tradicional para desarrollarlo, como si se adquirió en alguna empresa. Esto se debe a que el proceso de implantación debe realizarse independientemente del método utilizado para el desarrollo. A continuación se muestra un resumen de la comparación de las dos opciones.
Concepto Método Tradicional Compra de Paquete
Costo Costo del desarrollo Costo del paquete mas el costo de las modificaciones necesarias.
Tiempo Mayor Se realiza en forma externa a la empresa.
Mantenimiento Se realiza Internamente Aplicación General.
Tipo de Aplicación Ad-Hoc Hecho a la medida No ser “conejillo de indias”.Asumir que las modificaciones son menores.Tener el visto bueno del usuario antes de comprar.
Cuidado con: Fechas optimistasRelaciones durante el proceso
Costos Similares
Implantación Costos Similares
Es la alternativa en la cual el sistema se desarrolla directamente por el usuario final, utilizando herramientas de desarrollo de alto nivel sin la participacion operativa de analistas o programadores del area de informatica.
DESARROLLO POR PARTE DEL USUARIO FINAL.
Caracteristicas del metodo tradicional y del de usuario final.Concepto Metodo tradicional Computo de usuario fnal
Identificacion de necesidades.
100% antes de iniciar el desarrollo.
Se pueden detectar e integrar las necesidades durante toda la vida de aplicacion en forma directa por parte del usuario.
Analista del sistema. Es responsable 100% del analisis y desarrollo. El usuario participa en forma limitada.
El usuario es el responsible.El analista solo aconseja y asesora.
Herramienta de desarrollo.
Lenguajes deIII y IV generacion.
Lenguajes de IV generacion.Paquetes.
Tipo de aplicacion. Nivel transaccional.Recolectores de informacion.
Sistema de soporte a la toma de decision (DSS).Analistas de sensibilidad What If.Explotadores de informacion.
RIESGOS.
Como apoyo a las desventajas existe una tecnica llamada desarrollo de aplicaciones en conjunto (JAD joint aplication development), la cual consiste en reunir a usuarios finales y especialistas para realizar sesiones de trabajo que permitan acelerar significativamente la etapa de diseno del sistema y, ademas, hacer participar a los usuarios en todo el desarrollo.
Relacion de los metodos de adquisicion de software, segun las etapas de Nolan.
Estrategicos
(TRADICIONAL)
Apoyo a decisiones
(USUARIO FINAL)
Transaccionales
(PAQUETE)
Inicio Contagio Control Integracion Administracion de datos Madurez
15.-OutSourcingEl desarrollo de sistemas en una empresa es un
proceso que requiere una gran inversión de recursos, tanto económicos como humanos. Para las empresas que desean concentrarse mas en su actividad principal y tener buenos sistemas, existe una opción apropiada: “Outsourcing” que básicamente consiste en contratar a una empresa o institución especializada en un servicio o producto para que se haga dicha actividad, en lugar de la organización que esta demandando la actividad.
Algunos ejemplos típicos de los servicios se realizan por medio del Outsourcing:
*Desarrollo de aplicaciones y su mantenimiento.*Compra de hardware y mantenimiento del mismo.*Instalaciones de telecomunicaciones y redes.*Servicios de ayuda técnica.*Diseño y mantenimiento de paginas web.*Entrenamiento de personal.En resumen, el outsourcing como alternativa para grandes proyectos de
tecnologías de la información en las empresas puede tener 4 variantes:
a)La compra de un sistema de información.b)Comprar un sistema de información y subcontratar al proveedor para
realizar ajustes y puesta en marcha.c)Compra de un sistema pagando los derechos para realizar
modificaciones por parte del comprador.d)Subcontratar el desarrollo completo de un sistema de información.
Alternativas de Outsourcing en proyectos de tecnologías de la información.
1.-Compra de un sistema de
información.
2.- Comprar y subcontratar al
proveedor para hacer modificaciones.
3.-Compra de un sistema de
información pagando los derechos para
realizar modificaciones de forma interna
4.- Subcontratar el desarrollo completo de un nuevo sistema.
VENTAJAS DEL OUTSOURCINGUtilizar outsourcing tiene numerosas ventajas:• Ahorro en costos mediante economías de escala y
consolidaciones• Mayor liquidez al deshacerse de equipo
computacional que ya no es necesario para el desarrollo de sistemas.
• Decremento de los gastos por depreciación de equipo• Suele propiciar la reducción de personal lo cual
permite a la empresa responder con rapidez a los cambios del entorno
• Aumento en la flexibilidad de la organización.• Disminución de sus costos fijos.
DESVENTAJAS DEL OUTSOURCING
•Perdida de control sobre el proceso desarrollado, ya que el usuario no esta cien porciento involucrado.•Ocasionar costos por cambio o conversión a nuevas tecnologías.•Perdida de empleados experimentados.•Costo de cambio de proveedor del outsourcing.
17
Cuando se contrata un servicio externo de sistemas es importante que se negocien los sig aspectos:
•Características del servicio•Tiempos de entrega y fechas estimadas•Estándares de desempeño•Las condiciones en caso de cancelar el contrato•Los derechos de propiedad sobre el servicio prestado.•La confidencialidad del trabajo realizado•El ajuste de los precios •El apoyo que brinda una vez terminado el servicio.
17
CONCLUSIONES: Para lograr la calidad integral del software de aplicación que
utilice una empresa es necesario lograr la calidad en cualquier método que se elija, ya sea el método tradicional, la compra de paquetes o el computo del usuario final.
El concepto de calidad del software pasara de ser una variable en el mercado a ser una constante en todos los productos; es decir, para que un producto permanezca en el mercado deberá cumplir con ciertos estándares de calidad.
La globalización del software muy pronto será una realidad, debido a razones de índole económica. Los productos por desarrollar en forma conjunta deberán ser seleccionados con mucho cuidado para asegurar su éxito. El reto de las empresas será como disminuir el costo de desarrollo de software, sin sacrificar la calidad del mismo.