Académique Documents
Professionnel Documents
Culture Documents
Temario
El software Evolucin del Software Caractersticas del Software Atributos de calidad del software Factores de productividad del software Problemas en el desarrollo de software Mitos del Software
El Software
El Software: Instrucciones que, cuando se ejecutan, proporcionan la funcionalidad deseada. Estructuras de datos que facilitan a las instrucciones manipular adecuadamente la informacin. Documentos que describen el desarrollo, uso, instalacin y mantenimiento de los programas. Software: "programas de computador, procedimientos, y, posiblemente, la documentacin asociada y los datos pertenecientes a las operaciones de un sistema de computacin". Incluye: entrenamiento, soporte al consumidor e instalacin.
Dcada 50-60:
Software como un aadido. Desarrollo artesanal, a medida. Lenguajes de bajo nivel.
Dcada 80-90:
Tecnologa de SGBDs, SOs... Nuevos paradigmas de programacin y de produccin de programas:
OO C/S
Dcada 60-70:
Software como producto. Dcada de lenguajes de programacin y compiladores Crisis del software.
90s - actualidad:
Anlisis/Diseo OO. Tecnologa CASE Componentes y reutilizacin Interoperabilidad (CORBA, .NET...) Internet
ISw. distribuida repositorios de componentes reutilizables e-business; e-commerce ...
Dcada 70-80:
Programacin estructurada. Ingeniera del Software. Primeros mtodos estructurados.
Elemento lgico, no fsico. Desarrollado, no fabricado. No se estropea, se deteriora! (deterioro por cambios) Mayoritariamente cerrado: usar todo o nada (poco ensamblaje de componentes: reutilizacin--)
Estropeado
Obsolescencia
Tiempo
Defectos fabricacin
Indice de fallos
Obsolescencia
Tiempo
Defectos fabricacin
Cambio Indice de fallos Cambio Cambio
Tipos de Software
Software de Sistemas : Conjunto de programas que han sido escritos para servir a otros programas:
Compiladores Editores Utilidades de Gestin de Archivos Algunos Componentes del Sistema Operativo Manejo de Perifricos Procesadores de telecomunicaciones.
del
Elementos que lo conforman Componente de adquisicin de datos que recolecta y da formato a la informacin recibida del entorno externo Componente de anlisis que transforma la informacin segn lo requiera la aplicacin. Componente de monitorizacin que coordina todos los dems Componente de control/salida que responda al entorno externo
Software de Gestin : El proceso de la informacin comercial constituye la mayor de las reas de aplicacin :
Sistemas discretos (nminas, cuentas de haberesdbitos, inventarios, etc.) SIG (sistemas de informacin de gestin), acceden a una o ms bases de datos que contienen informacin comercial Clculo interactivo (procesamiento de transacciones en puntos de venta)
de
Aplicaciones desde la astronoma hasta la vulcanologa De anlisis de presin de motores a la dinmica orbital de las lanzaderas espaciales De la biologa molecular a la fabricacin automtica CAD Simulacin de sistemas
Software Empotrado: Reside en memoria de slo lectura y se utiliza para controlar productos y sistemas de los mercados industriales y de consumo.
Ejecuta funciones muy limitadas y curiosas (control de teclas de un horno de microondas) Funciones significativas y capacidad de control (funciones digitales en un automvil tal como el control de la gasolina, indicadores, frenos, etc.
Software Basado en la Red: Recurso ilimitado que puede ser accedido por cualquiera en un modem.
Las pginas web buscadas por un explorador son software que incorpora instrucciones ejecutables (CGI,HTML, Perl o Java) Datos (Hipertexto y una variedad de formatos de audio y video)
Software de Inteligencia Artificial : Hace uso de algoritmos no numricos para resolver problemas complejos para los que no son adecuados el clculo o el anlisis numrico
Sistemas expertos, tambin llamados sistemas basados en el conocimiento Reconocimiento de patrones (imgenes y voz) Redes neuronales artificiales Prueba de teoremas Juegos.
Correcto
No poseer un comportamiento catastrfico ante situaciones excepcionales (Tolerante a fallos). Se ajusta a las especificaciones dadas por el usuario.
No Errneo
Reutilizable (reusabilidad)
Factores de productividad
Basili y Zelkowitz [BAS78] definen cinco factores importantes que inciden en la productividad del software:
Factores humanos: El tamao y la experiencia de la organizacin de desarrollo. Factores del problema: La complejidad del problema que se debe resolver y el nmero de cambios en las restricciones o los requisitos del diseo. Factores del proceso: Tcnicas del anlisis y diseo qu se utilizan, lenguajes y herramientas CASE y tcnicas de revisin. Factores del producto: Fiabilidad y rendimiento del sistema basado en computadora. Factores del recurso: Disponibilidad de herramientas CASE, y recursos (hardware y software).
Incapacidad para estimar tiempo, coste y esfuerzo para el desarrollo de un producto software. Falta de calidad del producto software. Avance del hardware y necesidad de aplicaciones ms complejas. Cambio en la entre el hardware/software. relacin coste
Algunas causas
Naturaleza no fsica de la programacin. Problemas derivados de la intervencin de grupos. Problemas de comunicacin con los clientes. Poco esfuerzo en el anlisis y el diseo. Herramientas comerciales poco adecuadas. Problemas de gestin
Planificaciones optimistas, plantillas poco cualificadas...
Difusin limitada de las nuevas tcnicas, mtodos y herramientas. ...industria pendiente de su revolucin industrial.
Origen: desconocido
TOTAL
1/4
Desarrollo inicial
Desarrollo inicial
1/3
Anlisis 1/6 y diseo codificacin
3/4
Mantenimiento
1/2
Validacin y puesta a punto (V/PP)
1/8
V/PP
A/D
3/4
Mantenimiento
TOTAL
Mitos de Gestin:
Tenemos ya un libro que est lleno de estndares y procedimientos para construir software. No le proporciona ya a mi gente todo lo que necesita saber? Mi gente dispone de las herramientas de desarrollo de software ms avanzadas; despus de todo, les compramos las computadoras ms modernas Si fallamos en la planificacin, podemos aadir ms programadores y adelantar el tiempo perdido
24
25
Mitos de los Desarrolladores: Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha terminado Hasta que no tengo el programa ejecutndose, realmente no tengo forma de comprobar su calidad Lo nico que se entrega al terminar el proyecto es el programa funcionando
26