View
1.076
Download
3
Embed Size (px)
Citation preview
Universidad de Costa Rica
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 09/12/2010
1
Desarrollo de Sistemas de Información: métodos y alternativas
Capítulo 11
2 Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 09/12/2010
• Introducción
• Ciclo de vida de sistemas de información
• Variables determinantes en el proceso de desarrollo de sistemas
• Métodos alternos para la adquisición de sistemas
• Método tradicional
• Aseguramiento de la calidad total
• Técnica de diseño y documentación
• Diagramas de flujo de datos
• Pruebas de sistema
• Mantenimiento
• Ingeniería de software asistida por computadora (case)
• Compra de paquetes
• Desarrollo por parte del usuario final
• Outsourcing
• Conclusiones
• Caso de estudio
Contenidos
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 3
• Desarrollo de sistemas competitivos y de calidad
• Especialización de software: aplicaciones que resuelven problemas funcionales de los usuarios
• Tendencia en disminución de costos en los recursos de hardware e incremento en el costo del software
– Desarrollo de sistemas origina altos costos a las organizaciones
Introducción
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 4
Tendencia en los costos de hardware y software
Hardware
Software
$
tiempo
$
tiempo
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 5
• Según datos recopilados para diferentes organizaciones los resultados de los proyectos de desarrollo de software arrojaron los siguientes resultados:
– 25% de los proyectos iniciados se cancelaron
– 1% se completaron en el tiempo estimado, con los requerimientos especificados por el usuario y dentro del costo presupuestado
– Los proyectos grandes concluyeron con más de un año de retraso y empleando el doble de los costos estimados
Introducción (cont.)
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 6
• Como consecuencia:
– Es necesario analizar los procesos de desarrollo para determinar si son adecuados
– Se debe mantener un esquema de competitividad en relación con el desarrollo de los sistemas
Introducción (cont.)
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 7
• Consideraciones generales:
– Conceptualización del modelo del negocio ó de la tarea que se desea automatizar mediante un sistema informático
– Identificación de los cambios organizacionales necesarios para implementar la nueva tecnología
– Definición del rol de informáticos y usuarios de los sistemas
– Obtención del máximo beneficio de la incorporación de un sistema informático
Ciclo de vida de sistemas de información
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 8
Desarrollo
Operación Mantenimiento Muerte
Nacimiento
Fases del Ciclo de vida de sistema de información (cont.)
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 9
• Nacimiento: – Identificación de la necesidad o requerimiento por
parte del usuario
– Estudio de factibilidad para determinar que se justifica el desarrollo del sistema
• Desarrollo: – Análisis de los requerimientos
– Elaboración de un diseño para el desarrollo
– Construcción ó adecuación de los programas necesarios para la operación del sistema y la resolución del problema del usuario
Fases del Ciclo de vida de sistema de información (cont.)
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 10
• Operación: – El sistema ya esta terminado
– El usuario trabaja en el sistema introduciendo datos u obteniendo información o reportes que apoyan la operación de la empresa
– Si el sistema no satisface los requerimientos funcionales o si existe algún error se pasa al mantenimiento
• Mantenimiento: – Corregir errores
– Desarrollar nuevos requerimientos
Fases del Ciclo de vida de sistema de información (cont.)
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 11
• Muerte:
– Fase cuando el sistema deja de ser necesario
– Cuando debe reemplazarse por otro mejor
– Si al sistema original se le hacen cambios radicales se inicia nuevamente el proceso
• Existen muchas variables que afectan el desarrollo de un sistema
Fases del Ciclo de vida de sistema de información (cont.)
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 12
Especificaciones de usuario
Tiempo Recursos
(Personal y dinero)
Calidad
Variables determinantes en el proceso de desarrollo de sistemas
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 13
• Calidad:
– Que tanto satisface los requerimientos de confiablidad y eficiencia
– En que medida requiere o no mantenimiento y modificaciones
– Buena calidad implica larga duración en su ciclo de vida del sistema
– Si el ciclo de vida de un sistema es corto implica que la calidad del sistema es pobre
Variables determinantes en el proceso de desarrollo de sistemas
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 14
• Especificaciones del usuario:
– Requerimientos que el usuario solicita antes de iniciar el desarrollo, funciones que necesita que realice el sistema
– El sistema debe cumplir con todas las especificaciones y expectativas del usuario para considerarse exitoso
Variables determinantes en el proceso de desarrollo de sistemas
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 15
• Recursos
– Personas que realizan el proceso de desarrollo
– Equipo y dinero necesario
– Un desarrollo adecuado y competitivo consume los mínimos recursos sin sacrificar los requerimientos y la calidad
• Tiempo: – Duración de todo el proceso de desarrollo, desde su inicio
hasta que entra en operación
– El desarrollo debe cumplir con las expectativas de tiempo definidas por los analistas del sistema y los usuarios
Variables determinantes en el proceso de desarrollo de sistemas
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 16
• Si se incrementan las especificaciones de usuario
– Se incrementa el tiempo de desarrollo
– Se necesitan mas recursos
– Disminuye la calidad final del software
– Es recomendable hacer un contrato en donde se especifiquen las consecuencias de las alteraciones por parte del usuario
Interrelación entre las variables en el proceso de desarrollo
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 17
• Si el tiempo de terminación del software requiere reducirse: – Es crucial incrementar los recursos o recortar las
especificaciones del usuario
• Si se desea incrementar la calidad del sistema: – Incrementar la cantidad de recursos asignados
– Incrementar el tiempo asignado al proyecto
– Para mantener la calidad del proyecto se debe evaluar si los recursos asignados y su tiempo estimado de desarrollo son adecuados para cumplir los requerimientos y su alta calidad
Interrelación entre las variables en el proceso de desarrollo
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 18
• El cambio de cualquiera de las variables afecta la calidad del proyecto
• Es fundamental que en la fase inicial se defina con precisión:
– Los requerimientos de calidad
– Las especificaciones del usuario
– Estimación correcta de tiempo y recursos requeridos
Interrelación entre las variables en el proceso de desarrollo
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 19
• Tres diferentes fuentes de proveerse de sistemas:
– El método tradicional
– La compra de paquetes
– Desarrollo por parte del usuario final
Métodos alternos para la adquisición de sistemas
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 20
• La empresa desarrolla internamente el sistema o contrata servicios externos para ello (outsourcing)
• Sistemas específicos y estratégicos de la empresa
– Por ejemplo un sistema para darle valor agregado a un producto o servicio
El método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 21
• Adquisición de paquetes desarrollados y terminados ó desarrollados de manera parcial por otras compañías que se encuentran en el mercado de desarrollo de software
– Por ejemplo comprar un programa para el manejo de la contabilidad o una solución total CRM como apoyo a los procesos de ventas y servicios
La compra de paquetes
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 22
• El usuario desarrolla sus propias aplicaciones
• Utiliza paquetes y lenguajes de cuarta generación
• No son necesarios conocimientos profundos de programación
– Por ejemplo hojas de cálculo, manejadores de bases de datos
• Excel, AskSam, entre otros
Desarrollo por parte del usuario final
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 23
Métodos alternos para la adquisición de sistemas
Década de los años setenta y ochenta
Década de los años noventa y siglo XXI
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 24
• Consiste en una serie de fases consecutivas conocido como método de cascada
• Las fases de este método son: – Factibilidad, Análisis, Diseño, Programación, Pruebas,
Implantación y Operación
• En este método es posible regresar a las fases anteriores para hacer correcciones
– Investigue métodos de desarrollo alternativos al modelo
de cascada y haga un cuadro comparativo de las ventajas y desventajas de cada uno
Método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 25
Método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 26
Factibilidad
Análisis
Diseño
Programación
Prueba
Implantación
Operación
• Factibilidad: – Analizar si el sistema de información alcanzará los
objetivos propuestos
– Se decide crear el sistema o no
• Análisis: – Determinar las especificaciones del usuario
– Pronosticar los recursos y estimar el tiempo • El usuario final debe autorizar el documento de análisis de
requerimientos – Se definen datos de entrada, como se procesarán y los resultados
que se generaran en pantallas de consulta o reportes
Método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 27
• Diseño:
– Se expresan en forma algorítmica los requerimientos
– Se definen los procedimientos para cumplir con los requerimientos
– Se diseña como se obtendrán los datos de entrada, como se van a producir los resultados y la manera en que se le entregaran al usuario
– Se define como se almacenarán los datos en la computadora
Método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 28
• Programación:
– Elaboración de los programas
– Se inicia la elaboración de la documentación del sistema
• Pruebas:
– Validar y verificar que el sistema cumpla con las especificaciones del usuario y que su funcionamiento sea correcto
• Pruebas unitarias, pruebas de sistema y pruebas de aceptación
Método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 29
• Implantación
– Instalación del sistema en el ambiente de operación
– Capacitación de los usuarios finales
• Operación:
– Utilización que hace el usuario del sistema en el ambiente de operación
Método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 30
Naturaleza del error
Implantación
Pruebas
Programación
Diseño
Análisis
Factibilidad
Factibilidad Análisis
Diseño Programación
Pruebas
Implantación
Etapa en la que se detecta el error
Costo de los errores en el desarrollo con el método tradicional
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 31
N/A
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
• Controlar el sistema durante todo el proceso de desarrollo estableciendo la responsabilidad activa de los usuarios
• Definir revisiones estructuradas y periódicas para: – Monitorear el proceso
– Detectar problemas
– Considerar soluciones
• Es importante evaluar el sistema en todo su desarrollo para asegurar la calidad
Aseguramiento de la calidad total (TQA: Total Quality Assurance)
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 32
• Es necesario documentar las etapas de análisis y diseño
• El diseño puede ser ascendente (bottom-up) o descendente (top-down)
• La documentación del sistema debe describir el sistema, los procedimientos que se llevan a cabo y la forma de operarlo – Además debe detallar la estructura de archivos y
programas que permita realizar un mantenimiento adecuado
Técnica de diseño y documentación
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 33
• Un diagrama de flujo de datos DFD describe el flujo y la dirección de los datos de las áreas operativas de un negocio
• Los DFD representan procesos de negocio, entidades relacionadas a los procesos, almacenamiento de datos y dirección de los mismos en una organización
• Ayudan a identificar debilidades en la forma de operar de los negocios
Diagramas de flujo de datos
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 34
Entidad Externa
• Proveedores, clientes, departamentos de la empresa
Procesos
• Se realiza una actividad con los datos
• Se transforma la información para toma de decisiones
Almacenamiento de datos
• Archivero
• Sistema de almacenamiento digital
Dirección de los datos
• Desde una entidad externa hasta un proceso y viceversa
• Desde un proceso hasta su almacenamiento y viceversa
Diagramas de flujo de datos
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 35
Ejemplo de una transacción bancaria en un DFD
Diagramas de flujo de datos
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 36
Ventanilla bancaria
Tarjetahabiente
Base Datos de tarjetas de crédito
• Validar y verificar que el sistema cumpla con las especificaciones del usuario y que su funcionamiento sea correcto
• Validar que el sistema este libre de errores
• Es importante realizar una evaluación del sistema a lo largo de todo el proceso
• Modelo de Kendall y Kendall propone cuatro tipos de pruebas
Pruebas del sistema
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 37
•Pruebas completas con datos reales
•Pruebas completas con datos prueba
•Pruebas entre programas con datos de prueba
•Pruebas de programas con datos de prueba
Programadores Analistas
Usuarios Operadores
Modelo de Kendall y Kendall
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 38
Pruebas
1 2
3 4
• Mejoras al sistema para que tenga una vida útil mas larga
– Modificaciones a los requerimientos iniciales
– Modificaciones por detección de fallas durante la operación
• Algunas veces los costos de mantenimiento pueden elevarse a niveles alarmantes, por tanto debe controlarse muy bien este reglón del presupuesto de informática
Mantenimiento
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 39
• CASE (computer-aided software engineering)
• Paquetes que dan soporte y automatizan el proceso de desarrollo de sistemas de información
• Se enfocan en todas las áreas de desarrollo
• Incrementan la productividad y la calidad – Proporcionan estándares
– Automatizan el análisis y el diseño
– Crean documentación uniforme
– Mejoran la comunicación entre el equipo de proyecto
– Mantienen actualizados los diccionarios de datos
– Permiten la generación de código
– Crean pruebas para los programas
Ingeniería de software asistida por computadora CASE
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 40
• Existen sistemas disponibles en el mercado
• Es más económico comprar un paquete que desarrollar el sistema
• La adquisición de estos paquetes no debe afectar las operaciones diarias de la empresa
• Al adquirir un paquete se debe tomar en cuenta:
– Debe satisfacer todos los requerimientos del usuario
– Debe operar con alta confiabilidad (no errores)
– Debe ser entregado a tiempo
– Debe cumplir con el presupuesto (no muy costoso o que el costo se justifique)
– Debe haberse evaluado la magnitud de las adecuaciones necesarias al sistema para su operación
• El costo del paquete representa una parte de los costos totales de operación y mantenimiento
Compra de paquetes
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 41
Concepto Método tradicional Compra de paquetes
Costo Costo del desarrollo Costo del paquete mas el costo de las modificaciones necesarias
Tiempo Mayor Menor
Mantenimiento Se realiza internamente Se realiza en forma externa a la empresa
Tipo de aplicación
Ad-hoc hecho a la medida
Aplicación general
Cuidado con: Fechas optimistas Relaciones durante el proceso
No ser “conejillo de indias” Asumir que las modificaciones son menores Tener el visto bueno del usuario antes de comprar El costo del paquete puede ser mínimo con respecto al costo total
Implantación Costos similares Costos similares
Comparación entre método tradicional y
compra de paquetes
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 42
• El usuario final desarrolla el sistema utilizando herramientas de alto nivel y sin la participación de analistas y programadores informáticos
• Generalmente son sistemas para la toma de decisiones que se desarrollan en:
– Excel, Crystal Reports, Access, Project
Desarrollo por parte del usuario final
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 43
Concepto Método tradicional Computo de usuario final
Identificación de necesidades
100% antes de iniciar el proceso
Se pueden detectar e integrar las necesidades durante toda la vida de la aplicación en forma directa por parte del usuario
Analista del Sistema
Es responsable del 100% del análisis y desarrollo. El usuario participa en forma limitada.
El usuario es el responsable El analista solo aconseja y asesora
Herramientas de desarrollo
Lenguajes de III y IV generación
Lenguajes de IV generación Paquetes
Tipo de Aplicación Nivel transaccional Recolectores de información
Sistemas de soporte a la decisión (DSS) Análisis de sensibilidad (What if) Exploradores de información
Comparación entre método tradicional y del desarrollo por parte del usuario final
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 44
• Información incorrecta – Definición de fórmulas o modelos incorrectos
– Utilización de información obsoleta
– Falta de pruebas
• Desaparición de la fase de análisis (base para el desarrollo de las demás fases)
Proliferación de sistemas aislados – Duplicidad de trabajo: cada quien desarrolla lo que necesita
– No cooperación entre aplicaciones
Reducción de la calidad y estabilidad de los sistemas – No estándares definidos en la empresa
Especificaciones incompletas de los requerimientos – Desarrollo en base a un conocimiento experto
Bajo nivel cultural informático de los profesionales – Se debe propiciar el desarrollo de aplicaciones en conjunto (JAD join application
development)
Riesgos a la calidad del producto final en el desarrollo por parte del usuario final
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 45
Estratégicos
(Tradicional)
Apoyo a decisiones
(Usuario final)
Transaccionales
(Paquetes)
Inicio Contagio Control Integración Administración
de Datos Madurez
Relación de los métodos de adquisición de software según las etapas de Nolan
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 46
Desarrollo de Prototipos
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 47
No
Prototipo Funcional
Identificación de los requerimientos básicos
Usuario Satisfecho?
Desarrollo de un prototipo funcional
Uso del prototipo
Revisión y mejora del prototipo
• Ventajas: – Los usuarios participan en la construcción de las soluciones
• Se reducen las diferencias entre los usuarios
• Se diseña muy bien la interfaz del usuario
– Manera efectiva de determinar si el sistema es realizable técnicamente
– Vence el choque tecnológico de la entrada en operación del sistema
• Desventajas: – Creencia de que si el prototipo esta terminado el sistema final estará
en operación en poco tiempo
– El prototipo no permite evaluar el rendimiento del sistema en operación normal
– Se tiende a no realizar la documentación técnica del sistema
Desarrollo de Prototipos
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 48
• Consiste en contratar a una empresa o institución especializada en un servicio o producto para que haga dicha actividad
• Dos aspectos básicos:
– Una empresa se debe concentrar en las actividades que sabe hacer
– Se deben utilizar las ventajas de las economías de escala y de conocimiento que tienen las empresas que se dedican exclusivamente a actividades tecnológicas
Outsourcing
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 49
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
Alternativas para Outsourcing
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 50
• Ventajas: – Ahorro de costos mediante economías de escala y
consolidaciones – Mayor liquidez al deshacerse del equipo
computacional no necesario (solo para operación) – Decremento en gastos por depreciación de equipo – Reducción de personal
• Responder con rapidez a cambios del entorno • Aumento en la flexibilidad de la organización • Disminución de sus costos fijos
– Permite un acceso a los avances tecnológicos sin inversión de capital
Outsourcing
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 51
• Desventajas:
– Perdida de control sobre el proceso desarrollado
– Costos por cambio o conversión a nuevas tecnologías recomendadas
– Perdida de empleados experimentados (los contrata la empresa de outsourcing)
– Costos de cambio de proveedor de outsourcing
Outsourcing
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 52
• Aspectos a negociar en la contratación: – Características del servicio
– Tiempos de entrega y fechas estimadas
– Estándares de desempeño
– Condiciones en caso de cancelar el contrato
– Condiciones sobre personal transferido temporalmente a la empresa de outsourcing
– Derechos de propiedad sobre el servicio prestado
– Confidencialidad del trabajo
– Ajuste de los precios de acuerdo a la inflación
– Apoyo que se brinda una vez terminado el servicio
– Los beneficios por avances tecnológicos
– Flexibilidad del contrato en cuestiones no determinadas al inicio
Outsourcing
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 53
• El concepto de calidad del software pasará de ser una variable en el mercado a ser una contante en todos los productos
• Para que un producto este en el mercado debe cumplir con estándares de calidad
• El reto de las empresas será como disminuir el costo de desarrollo de software sin sacrificar la calidad del mismo
Conclusiones
Capítulo 11 Tecnologías de Información de Negocios Cohen - Asín 30/01/2010 54