Aspectos de Economia en la
Computacion
Dr. Pedro Mejia Alvarez.
CINVESTAV-IPN, Mexico.
1. Introduccion
• Como se ve afectada la economia por la Industria de la
Computacion ?
• Que tipos de Industrias de Software hay cual es su
influencia en la Economia de algun pais.
• Economia del proceso de Desarrollo de Software.
• Casos Tipicos: Comercio Electronico, Software de
Telecomunicaciones, Software de Entretenimiento.
• Grandes Industrias de Desarrollo de Software: Microsoft,
IBM, Netscape, Sun, Akamai, etc.
1.1. Software: un bien unico
• El software, asi como la informacion no es un bien material. Este
hecho lo hace dificil de cuantificar.
• Requiere de un medio de almacenamiento y acceso.
• Requiere de continuo mantenimiento.
• El software requiere siempre de un medio de ejecucion. Una
computadora o un dispositivo que incluya un microprocesador.
• Requiere de un gran costo de desarrollo y mantenimiento, pero de un
costo pequeño de almacenamiento y reproduccion.
• Se mide y se paga por el, por los servicios que provee y por como se
ve, y no por su peso o tamaño.
• Puede ser utilizado para sustituir algunos servicios que anteriormente
realizaban personas.
• No solo se ejecuta sobre PC’s, estaciones de trabajo o supercomputadoras.
1.2. Ejemplos de Sistemas de Computo
Sistema de oficina y
equipo mobiles
Sistemas en Edificios Fabricacion y control
de procesos
Maquinas contestadoras
Copiadoras
Faxes
Laptops y notebooks
Telefonos moviles
PDAs, Organizadores
personales
Still and video cameras
Sistemas de Telefonia
Grabacion de tiempo
Impresoras
Hornos de Microondas
Aire acondicionado
Respaldo y generadores de
luz
Administracion de edificios
Television por cable
Controladores de Fuego
Calefaccion y Ventilacion
Elevadores, Escaleras
Iluminacion
Seguridad
Camaras de Seguridad
Extintores
Fabricas automatizadas
Plantas embotelladoras
Sist. Control de energia
Plantas de manufactura
Estaciones nucleares
Refinerias y almacenes
relacionados
Sistemas de Energia
Estaciones de Poder
Robots
Sistemas de switching
Sist. Agua y alcantarillado
1.2. Ejemplos de Sistemas de Computo
Transporte
Comunicaciones
Otros equipos
Aereoplanos
Trenes
Autobuses
Barcos
Muelles
Automobiles
Cntr.de Trafico aereo
Sist. de senalizacion
Radares
Luces de Trafico
Maquinas de boletos
Camaras de
velocidad
Detects.de velocidad
Telefonia
Cable
Switches de telefonos
Satelites
Posicionamiento
Global
Maquinas contestadoras
Sist. Tarjetas de credito
Equipos de Imagenes Medicas
Ctrl. De calefaccion domestica
VCRs
1.3. Software: una Industria unica
• Los productos de software nacen de alguna necesidad de la sociedad.
• La Industria del Software es distinta a otras industrias. Su cadena de
produccion es unica. La cadena de produccion de software esta poco
entendida, y carece de estandares.
• El software se compone de diversos modulos desarrollados por
distintas empresas.
• Es facil crear una Industria de Software, pero es dificil mantenerla en
operación.
• Monopolios del Software: Por que fueron creados, y por que siguen
operando ?.
• Startups: Fabricas de Software de Alta Tecnologia.
1.4. Clasificacion de Industrias de
Software
De desarrollo de Productos de Software: Se venden en cualquier parte
– Herramientas: bases de datos, compiladores, web-browsers, hojas de
calculo y procesamiento de texto.
– Software de Entretenimiento.
De desarrollo de aplicaciones a la medida: se realizan bajo contrato.
–
–
–
–
–
Administrativas, bancarias, comerciales y legales.
Telecomunicaciones: telefonia, satelites, aeropuertos.
Medicas.
Criticas: avionica, trenes, industrias nucleares.
Embebidas
De desarrollo de productos de acceso masivo: se accesan en el web.
– Comercio electronico, internet y busqueda de informacion.
– Software de Libre distribucion
2. Tecnologias de la Informacion
• El software consiste de instrucción que ejecutan sobre una
computadora (hardware) para realizar algun servicio a un
usuario.
• La tecnologia de la Informacion se creo con el fin de
adquirir, manipular, y obobtener informacion.
• La informacion puede ser: texto, imágenes, audio, etc).
• IT: procesamiento, almacenamiento, y comunicación.
• El tener acceso a las tecnologias de la informacion permite
mejorar la economia.
2.1. Rol de la Ingenieria de Software en IT
+
Grandes
Componentes de IT
Interfaces de Usuarios
=
Ingenieria de software
Desarrolladores
Sistemas Grandes
Usuarios Operacionales
IHM & Colaboracion
Aplicaciones de suaurio
AI, Agentes
+
Procesos de
Especificacion
Desarrollo,
Evaluacion
y Evolucion
del Sistema
Aplicaciones de usuario
Administracion
Del sistema
OS, DBMS,
Middleware
Conectividad &
Acceso a la informacion
Redes
Modeacion y analisis
Arquitecturas
y metodos
de diseño
Prueba y verificacion
Evaluacion del uso
Tecnologias
de Calidad
de Servicio
3. Aspectos y perspectivas que afectan al
software comercial
Perspectivas:
• Usuarios, desarrolladores, administradores, abogados,
dueños, economistas.
Aspectos:
• Tecnologia: caracteristicas tecnicas del software y su
ambiente de ejecucion.
• Procesos: pasos requeridos para el desarrollo, entrega, y
uso del software.
• Valor: valor agregado del software.
Participantes
3.1. Aspectos y perspectivas que afectan
al software comercial
Necesidades
(usuarios)
Diseño
(Ingenieros de software)
Tecnologia
Processos
Valor
Flexibilidad
Seguridad y
privacidad
Funcionalidad
Impacto
Representacion,
languajes,
execucion,
portabilidad,
modularidad
Arquitectura,
composicion vs.
decomposicion,
estandardizacion
Requerimientos,
funcionalidad,
calidad,
desempeño
3.2. Aspectos y perspectivas que afectan
al software comercial
Facilitadores
Roles
(administradores)
Aspectos legales y de
normas (abogados y
reguladores)
Organizacion Industrial
(propietarios)
Tecnologia
Procesos
Valor
Infraestructura
Desarrollo
Usos
Provisionamiento
Operacion
Propiedad
Intelectual
(papentes,
copyright,
convenios)
Licensiacion,
Patentes de
procesos,
“antitrust”
Propiedad,
Marcas
registradas
(trademark)
Componentes.
Portabilidad
Licenciar vs
susbribir,
Outsourcing
Entrega de
software,
desarrollo tipo
outsourcing,
integracion de
sistema,
provicion de
servicio
Observadores
3.3. Aspectos y perspectivas que afectan
al software comercial
Economia
(economistas)
Tecnologia
Procesos
Valor
Costos
Relaciones de
negocios,
terminos y
condiciones
Oferta,
Demanda,
precios
4. El Software desde la Perspectiva del
Usuario
• A mi como usuario que me podria proporcionar el software ?.
• El proposito principal del software es servir a las necesidades del
usuario final, asi sea un individuo, grupos, organizaciones, al comercio
en general, o a la sociedad en general.
• Para el usuario, el impacto del uso de la tecnologia de software,
consiste en la necesidad de adquirir, operar y utilizar el software para
una aplicacion especifica que satisfaga sus demandas y necesidades.
• Ventajas del uso del software: Ahorra trabajo el software, automatiza
procesos, agiliza el trabajo, distribuye el trabajo,
• Desventajas del uso del software: sustituye personal, requiere altos
conocimientos tecnicos para desarrollarlo y (tal vez para) operarlo,
dificultad en la compra del software (no se sabe si es barato o caro).
4. El Software desde la Perspectiva del
Usuario
•
•
•
•
•
•
Productividad e Impacto.
Efectos de Red.
Usabilidad.
Calidad y Desempeno
Seguridad y Privacia
Composabilidad.
4.1. Productividad e Impacto
• Una forma de evaluar una aplicación de software en una Industria es
mediante el impacto que ha tenido en la organización (o usuarios
individuales), en su desempeño o su valor agregado.
• El software puede mejorar la productividad de la organización.
• El software puede permitir una mayor colaboracion entre los miembros
de la organizacion.
• El software puede lograr llevar una mejor administracion de los
conocimientos de la empresa.
• Software puede lograr cosas dentro de la organización que por ningun
otro medio se podrian lograr.
4.2. Efectos de Red
El contar con una red de computo puede ayudarme a:
• incrementar el numero de usuarios que colaboran entre si.
• acceso de varios usuarios a una sola fuente de informacion
• Acceso de un usuario a varias fuentes de informacion.
Efecto de red directa:
• La aplicación de software soporta la interaccion directa entre distintos
usuarios, y su valor se incrementa cuando mas usuario la utilizan. El
primer usuario no introduce ningun valor:
• Ejemplo: aplicación de video conferencias.
Efectos secundarios de la red:
• Contenido de la informacion en la red, o de los servicios que son
posibles accesar, asistencia tecnica necesaria.
4.3. Uso del Software
El uso del software tiene mas valor entre mas usuarios existan
El uso tiene dos factores:
• Numero de usuarios
• Cantidad de tiempo que cada usuario gasta en dicha
aplicación de software.
• Tiempo que lleva en aprender a utilizar la aplicación de
software.
4.4. Calidad y Desempeño.
La calidad del software podria medirse de acuerdo a:
• La funcionalidad del software.
• La severidad de sus defectos.
• El grado de dificultad para utilizar el software.
El desempeño podria medirse de acuerdo a:
• Volumen de trabajo realizado (p.ej numero de paginas de web servidas
por unidad de tiempo).
• Rapidez de acceso a la informacion yo a los servicios de la aplicación.
• Grado de interactividad.
• Grado de mantenimiento y mejoras.
4.5. Seguridad y Privacia
• La seguridad consiste en evitar ataques externos que revelen secretos
organizacionales o produzcan daños al sistema, al software o a la
informacion.
• La privacia consiste en eliminar la posible injerencia de usuarios
externos en las actividades de la empresa o en las actividades de algun
individuo en particular.
• Existen politicas para crear uan seguridad y privacia en las Industrias.
• Estas politicas definen que acciones son posibles y cuales no en el
acceso a la informacion o el sistema de una Industria.
• La seguridad implica tambien, el acceso ordenado a los datos que
derive en una consistencia de los mismos.
4.6. Flexibilidad y Extensibilidad
• En aplicaciones de software de negocios es importante la
flexibilidad debido a que las aplicaciones cambian
constantemente.
• Existen cambios frecuentes de usuarios del software, reorganizacion del negocio o de la empresa, o cambios a
productos existentes o a nuevos productos o servicios.
• Las organizaciones que son usuarios finales del software,
por lo general hacen grandes inversiones cuando adoptan
nuevas tecnologias de software o de informacion.
Especialmente en la re-organización del negocio o de los
procesos de la empresa.
4.7. Composabilidad.
• Una solucion de software cerrada ofrece mas valor si se
combina con otras soluciones de software que
proporcionen mayor funcionalidad.
• Ejemplo: Aplicaciones de MS-Office, como Word, Excel,
en donde es posible compartir informacion entre estas
aplicaciones.
• Se obtiene un mayor valor si se consigue conjuntar
diversas aplicaciones de negocios para realizar
aplicaciones conjuntas o acceso compartido.
5. Perspectiva del Ingeniero de Software.
La funcion principal de un Ingeniero de Software es el
desarrollo de software de aplicaciones(que incluye diseno,
implementacion, mantenimiento, pruebas, mantenimiento y
mejoras).
•
•
•
•
•
•
Tecnologia avanzada
Ejecucion de programas
Proceso de Desarrollo de Software
Construccion de Software.
Impacto de la red.
Estandarizacion.
5.1. Teconologia Avanzada.
• El procesamiento, almacenamiento y las comunicaciones
se encuentran en una etapa de muy rapido crecimiento en
terminos de costo por unidad y desempeno.
• El desempeño de las computadoras ha crecido al doble
cada 1.5 o 2 años, y mas rapido para los dispositivos de
almacenamiento y comunicaciones.
• Los proveedores de tecnologia hacen inversiones de
nuevas tecnologias de acuerdo a las ganacias que se
preveen con nuevos productos o servicios, nuevos
mercados, tiempos de desarrollo y riesgos esperados.
• Los avances en tecnologia tienen un impacto considerable
en la industria del software.
5.2. Ejecucion de Programas.
• Un programa de software conlleva las acciones requeridas
para procesar,almacenar, y comunicar informacion.
• El software solo no es util, debe ser ejecutado por lo cual
se requiere de un procesador . El procesador contiene un
numero finito de instrucciones, y un programa consiste de
una secuencia ordenada de estas instrucciones.
• Existe distintos procesadores con distintos conjuntos de
instrucciones.
5.2. Ejecucion de Programas.
• En la ejecucion de programas se debe de tener en cuenta:
•
•
•
•
•
Plataforma y ambiente.
Portabilidad.
Compilacion e interpretacion.
Confiabilidad.
Sistema Operativo.
5.3. Proceso de Desarrollo de Software.
• El interes primario de un ingeniero de software es el
desarrollo.
• Los programas han alcanzado actualmente un gran tamaño
y complejidad que requiere de un especial cuidado para su
desarrollo.
• Las limitaciones fisicas (capacidad de procesamiento o de
memoria) no son una limitate en la actualidad.
• La mayor limitante consiste en el manejo de la
complejidad, el proceso de desarrollo y los recursos
financieros disponibles.
5.3. Proceso de Desarrollo de Software.
En el proceso de desarrollo de software es necesario
considerar:
• Modelo de Desarrollo: cascada, incremental, espiral,
prototipos, etc.
• Metodo de Desarrollo: Funcional, OO, Formal, Reuso, etc.
• Herramientas de Desarrollo.
• Arquitectura: descomposicion, funcionalidad, interaccion.
• Interfaces y API's.
• Composabilidad.
• Ambiente de Aplicacion: Uniprocesador, Distribuido, Web
5.4. Construccion de Software.
Por que es tan dificil construir software ?
Por que no existen estandares o normas en el desarrollo de
software ?
• Similaridades entre el software y otros bienes de consumo.
• Factores que distinguen el software y a su proceso de
desarrollo de otros bienes (p.ej. automobiles).
• Existen Fabricas de Software ?
• Fabrica de Software vs Fabrica de Automobiles
5.5. Estandarizacion.
Un estandard industrial abierto es un conjunto de
especificaciones bien documentadas de un proceso, producto
o servicio, sin restricciones de propiedad intelectual
Estandares conocidos:
Productos: Compiladores, SO's (UNIX, DOS, POSIX),
MPEG (video), lenguajes (Ansi C, Cobol, Fortran, Pascal,
JAVA), Internet (FTP, TELNET, HTML, XML, VDRL)
Procesos o Modelos: OO, UML, GUI's, CASE.
Redes: TCP/IP, OSI.
Calidad: ISO, SPICE, CMM,
5.6. Impacto de las Redes.
Impacto de la Internet (o de las redes de computadoras) en el
Software:
•
•
•
•
•
Conectividad,
Interactividad,
Portabilidad (ambientes heterogeneos),
Interoperabilidad (incremento en capacidad y en memoria),
Transportabilidad (codigo mobil),
6. Perspectiva del
Administrador del Sistema.
Administracion del Software
• Son las actividades que permiten asegurar que el software
se lleva a cabo a tiempo y de acuerdo a la planificación así
como de acuerdo a los requerimientos del software.
• Ademas, la administracion se encarga de la planeacion,
organizacion de la empresa de software, de las finanzas, y
de la venta del producto o sistema y del soporte tecnico.
• Actividades: Desarrollo, provisionamiento, operacion y
uso.
• Costos totales del sistema.
6.1. Perspectiva del
Administrador del Sistema.
Administracion del Software
• La Ingeniería de software es una actividad económica
importante, que esta sujeta a restricciones económicas y a
restricciones no técnicas.
• Los proyectos bien administrados a veces fallan. Los
proyectos mal administrados siempre fallan.
• Un buen producto no siempre se vende, pero un mal
producto nunca se vende.
Desarollo
6.2. Fases de la cadena de trabajo del
administrador del software
Planeacion
Construccion
Procuracion
Mantenimiento
Evolucion
Requerimientos
funcionales y de
desempeño
Construccion
del Sistema
Soporte de
Herramientas
de Software
Reparacion de
defectos, mejora
del desempeño
Evaluacion de
requerimientos,
y mejoras
Provisionamiento
6.3. Fases de la cadena de trabajo del
administrador del software
Planeacion
Construccion
Procuracion
Diseño
organizacional,
requerimientos
de desempeño
Instalacion,
integracion,
configuracion
y pruebas
Procuracion
de software y
hardware,
finanzas.
Mantenimiento
Evolucion
Instalacion,
integracion,
configuracion y
pruebas
6.4. Fases de la cadena de trabajo del
administrador del software
Operacion
Planeacion
Construccion
Procuracion
Mantenimiento
Administracion
del sistema
Seguimiento
Evolucion
Uso
6.5. Fases de la cadena de trabajo del
administrador del software
Planeacion
Construccion
Procuracion
Organizacion
Ajustes
organizacionales y
entrenamiento
Soporte
tecnico y
consultoria
Mantenimiento
Evolucion
Organizacion y
entrenamiento
6.6. Retos del Administrador de Software
• Que software diseñar ?, por que ?, con que calidad ?
• - necesidades de usuarios vs necesidades del negocio
• con quien asociarse para diseñar ? en donde ?
- personal, organizacion, outsourcing;
• Como disenar el software ? cuando; en que orden?
-Procesos, metodos, herramientas, componentes, software
y hardware de soporte
• Como adaptarse al cambio ?
-necesidades de los usuarios, tecnologia, necesidades del
mercado, riesgos
• Que tanto es suficiente ?
-Funcionalidad, calidad, especificacion, prototipado,
pruebas, finanzas, soporte tecnico
6.7. Arbol de oportunidades en Aplicaciones de
Desarrollo Rapido
ReIngenieria de Procesos del Negocio
Eliminar Tareas
Reuso de recursos
Generacion de aplicaciones.
Planificacion Optima.
Herramientas y Automatizacion.
Reduccion de tiempo por tareas
Reduccion de riesgos de fallos
Organizacin de la linea del producto y del trabajo.
Incremento del paralelismo.
Reducccion de fallas - RESL
Reducccion de sus efectos -RESL
Eliminacion temprana de errores
Reduccion del Backtracking
Red de Actividades
Incremento en la productividad
Mejor personal e incentivos
Manejode transiciones en el aprendisaje
en la organizacion
Puntos clave de los procesos
Mejora de la madurez del proceso
Tecnologia de Colaboracion
Minimizacion de dependencias entre tareas
Evitar cuellos de botella
Reduccion de la varianza en el desarrollo
Remover tareas de la ruta critica
6.8. Arbol de Oprtunidades
Obten lo mejor de la gente
Mas tareas mas
eficientemente
Elimina Tareas
Seccion de personal
Laboratorios, herramientas
Generacion de aplicaciones
Herramientas y
Automatizacion
Work Streaming
Tecnologia de Colaboracion
Procesos de ReIngenieria
Documentacion Automatizada
Reuso, Generacion de Aplicaciones
Mejora la
Productivudad
Elimina Trabajar Doble
Eliminacion pronta de errores
Puntos de cuellos de botella
Information Hiding
Desarrollo Incremental
Madurez del proceso
Prototipado
Construye productos mas simples
Analisis de Negocios
Cost del Proceso
Reusa Componentes
Ingenieria de Dominios y Arquitectura
Librerias de compoentes y productos COTS
Lenguajes de alto nivel
Generacion de aplicaciones
6.9. Problemas de la
Administracion de Software
En tiempo,
en presupuesto
Descontinuados
16
31
53
En sobre-tiempo,
y fuera del presupuesto
Promedios
• 189% del presupesto original
• 221% del tiempo original
• 61% de la funcionalidad original
7. Perspectiva Economica del Software
• El éxito comercial del software se basa en su alto
valor agregado y la facilidad en que puede
distribuirse.
• Oferta y Demanda.
• Precios (valor y versiones, precios variables,
componentes).
• Tipos de software (producto comercial, producto
complementario, producto de infraestructura,
producto de acceso multiple, producto bajo
contrato especifico)
• Evolucion del Software.
• Riesgos y Fallas en los Proyectos.
7.1 Demanda de Software
• Por que se demanda tanto el software ?.
• Cual es la influencia del software en la mejora de
los procesos Industriales, de negocios y en la
sociedad en general.
• Demanda de mejor acceso a la informacion:
Internet.
• Mejora de procesos (cambio de software en la
industria).
7.2 Oferta del Software
• Como debe de comercializarse (distribuirse) el
software ?.
• Como llegar a mas mercados ?.
• Como proveer productos siempre competitivos ?.
• Como hacer que el producto siempre proporcione
un valor agregado y que proporcione utilizdades ?.
8. Organizacion de la Industria del Software
• La organización de una Industria de Software depende de
la tecnologia, de los procesos y del mercado.
• La Industria del Software es altamente competetiva y su
sobrevivencia dependera de el valor agregado de su
producto.
• Si el producto es “bueno”, lo que falta es tener un buen
proceso.
• Aspectos a considerar:
–
–
–
–
–
Distribucion del software.
Precios del software.
Tipos del clientes.
Adquisicion de aplicaciones e infraestructura.
Soporte.
8.1. Organizacion de la Industria del
Software
O rganización
U suario
F inal
P ro v eed or d e so ftw are
d e ap licacio n
P ro v eed or d e so ftw are
d e ap licacio n
Integrador
D e S istem a
P ro v eed or d e so ftw are
d e in fraestru ctu ra
P ro v eed or d e so ftw are
D e in fraestructura
Descargar

Aspectos de Economia en la Computacion