Aspectos de Economia en la Computacion

1 Aspectos de Economia en la ComputacionDr. Pedro Mejia A...
Author: Bernardo Maldonado Iglesias
0 downloads 0 Views

1 Aspectos de Economia en la ComputacionDr. Pedro Mejia Alvarez. CINVESTAV-IPN, Mexico.

2 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.

3 1.1. Software: un bien unicoEl 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 super-computadoras.

4 1.2. Ejemplos de Sistemas de ComputoSistema 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

5 1.2. Ejemplos de Sistemas de ComputoTransporte 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

6 1.3. Software: una Industria unicaLos 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.

7 1.4. Clasificacion de Industrias de SoftwareDe 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

8 2. Tecnologias de la InformacionEl 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.

9 2.1. Rol de la Ingenieria de Software en IT+ + Arquitecturas y metodos de diseño Grandes Componentes de IT Ingenieria de software Sistemas Grandes = Redes OS, DBMS, Middleware AI, Agentes Aplicaciones de suaurio Interfaces de Usuarios Desarrolladores Usuarios Operacionales Procesos de Especificacion Desarrollo, Evaluacion y Evolucion del Sistema Modeacion y analisis IHM & Colaboracion Aplicaciones de usuario Administracion Del sistema Conectividad & Acceso a la informacion Tecnologias de Calidad de Servicio Prueba y verificacion Evaluacion del uso

10 3. Aspectos y perspectivas que afectan al software comercialUsuarios, 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.

11 3.1. Aspectos y perspectivas que afectan al software comercialTecnologia Processos Valor Necesidades (usuarios) Diseño (Ingenieros de software) Flexibilidad Representacion, languajes, execucion, portabilidad, modularidad Seguridad y privacidad Arquitectura, composicion vs. decomposicion, estandardizacion Funcionalidad Impacto Requerimientos, funcionalidad, calidad, desempeño Participantes

12 3.2. Aspectos y perspectivas que afectan al software comercialTecnologia Procesos Valor Roles (administradores) Aspectos legales y de normas (abogados y reguladores) Organizacion Industrial (propietarios) Infraestructura Propiedad Intelectual (papentes, copyright, convenios) Componentes. Portabilidad Desarrollo Provisionamiento Operacion Licensiacion, Patentes de procesos, “antitrust” Licenciar vs susbribir, Outsourcing Usos Propiedad, Marcas registradas (trademark) Entrega de software, desarrollo tipo outsourcing, integracion de sistema, provicion de servicio Facilitadores

13 3.3. Aspectos y perspectivas que afectan al software comercialTecnologia Procesos Valor Economia (economistas) Costos Relaciones de negocios, terminos y condiciones Oferta, Demanda, precios Observadores

14 4. El Software desde la Perspectiva del UsuarioA 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).

15 4. El Software desde la Perspectiva del UsuarioProductividad e Impacto. Efectos de Red. Usabilidad. Calidad y Desempeno Seguridad y Privacia Composabilidad.

16 4.1. Productividad e ImpactoUna 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.

17 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.

18 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.

19 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.

20 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.

21 4.6. Flexibilidad y ExtensibilidadEn aplicaciones de software de negocios es importante la flexibilidad debido a que las aplicaciones cambian constantemente. Existen cambios frecuentes de usuarios del software, re-organizacion 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.

22 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.

23 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.

24 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.

25 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.

26 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.

27 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.

28 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

29 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

30 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,

31 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),

32 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.

33 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.

34 6.2. Fases de la cadena de trabajo del administrador del softwarePlaneacion 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 Desarollo

35 6.3. Fases de la cadena de trabajo del administrador del softwarePlaneacion Construccion Procuracion Mantenimiento Evolucion Diseño organizacional, requerimientos de desempeño Instalacion, integracion, configuracion y pruebas Procuracion de software y hardware, finanzas. Provisionamiento

36 6.4. Fases de la cadena de trabajo del administrador del softwarePlaneacion Construccion Procuracion Mantenimiento Evolucion Administracion del sistema Seguimiento Operacion

37 6.5. Fases de la cadena de trabajo del administrador del softwarePlaneacion Construccion Procuracion Mantenimiento Evolucion Organizacion Ajustes organizacionales y entrenamiento Soporte tecnico y consultoria Organizacion y entrenamiento Uso

38 6.6. Retos del Administrador de SoftwareQue 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

39 6.7. Arbol de oportunidades en Aplicaciones de Desarrollo RapidoReIngenieria de Procesos del Negocio Reuso de recursos Eliminar Tareas Generacion de aplicaciones. Planificacion Optima. Herramientas y Automatizacion. Reduccion de tiempo por tareas Organizacin de la linea del producto y del trabajo. Incremento del paralelismo. Reduccion de riesgos de fallos Reducccion de fallas - RESL Reducccion de sus efectos -RESL Eliminacion temprana de errores Reduccion del Backtracking Puntos clave de los procesos Mejora de la madurez del proceso Tecnologia de Colaboracion Minimizacion de dependencias entre tareas Red de Actividades Evitar cuellos de botella Reduccion de la varianza en el desarrollo Remover tareas de la ruta critica Incremento en la productividad Mejor personal e incentivos Manejode transiciones en el aprendisaje en la organizacion

40 6.8. Arbol de Oprtunidades Obten lo mejor de la genteSeccion de personal Obten lo mejor de la gente Laboratorios, herramientas Generacion de aplicaciones Herramientas y Automatizacion Mas tareas mas eficientemente Work Streaming Tecnologia de Colaboracion Procesos de ReIngenieria Elimina Tareas Documentacion Automatizada Reuso, Generacion de Aplicaciones Mejora la Productivudad Eliminacion pronta de errores Elimina Trabajar Doble 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

41 6.9. Problemas de la Administracion de SoftwareEn tiempo, en presupuesto Descontinuados 16 31 53 Promedios 189% del presupesto original 221% del tiempo original 61% de la funcionalidad original En sobre-tiempo, y fuera del presupuesto

42 7. Perspectiva Economica del SoftwareEl é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.

43 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).

44 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 ?.

45 8. Organizacion de la Industria del SoftwareLa 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.

46 8.1. Organizacion de la Industria del Software