Professional Documents
Culture Documents
Captulo 1. Introduccin
Motivacin
(Interfaces + Integracin) UN PROGRAMA (Algoritmos y estructuras de datos) UN SISTEMA SOFTWARE
UN PRODUCTO SOFTWARE
Motivacin (II)
Informacin = Ppal. activo de las empresas
Calidad
Herramientas Gestin de proyectos
Los proyectos ms pequeos (los de uso personal) se parecen a los pequeos programas: puede desarrollarlo el propio interesado, y en un tiempo mnimo. Los proyectos ms grandes se parecen a los grandes proyectos software: gran cantidad de personal y usuarios, son personas distintas los que desarrollan, usan y mantienen, cobran importancia fundamental las tareas relacionadas con aspectos administrativos, de planificacin, estimacin y control.
Origen: desconocido
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.
y, posiblemente, la documentacin asociada y los datos pertenecientes a las operaciones de un sistema de computacin".
instalacin.
Mayoritariamente cerrado:
usar todo o nada (poco ensamblaje de componentes: reutilizacin--)
Portable
Capaz de integrarse en entornos distintos con el mismo esfuerzo.
Eficiente
Utilizacin ptima de los recursos de la mquina.
Adaptable (extensibilidad)
Modificar alguna funcin sin que afecte a sus actividades.
Robusto
No poseer un comportamiento catastrfico ante situaciones excepcionales (Tolerante a fallos).
Inteligible
Diseo claro, bien estructurado y documentado.
Correcto
Se ajusta a las especificaciones dadas por el usuario.
No Errneo
No exista diferencia entre los valores reales y los calculados
Reutilizable (reusabilidad)
Eficiencia Usabilidad
Dcada 80-90:
OO C/S
90s - actualidad:
Dcada 70-80:
Tecnologa CASE (2 generacin) Mtodos giles Componentes y reutilizacin Interoperabilidad (CORBA, .NET...) Internet Comercio electrnico
100 80 60 40 20 0
60 70 80
aos
Hardware Software
programas? Porqu es tan elevado su coste? Porqu no podemos encontrar todos los errores antes de entregar el software a nuestros clientes? Porqu nos resulta difcil constatar el progreso conforme se desarrolla el sw.?
Desarrollo inicial
3/4
1/3
Anlisis y diseo (A/D)
1/6
codificacin
Mantenimiento
1/2
1/8
V/PP
A/D
3/4
Mantenimiento
TOTAL
En Espaa
Se produce poco software de base. No se producen paquetes integrados. S software de aplicacin a medida. Es vigente la situacin general.
Indicador B.1.1.1. Mercado de las TI/PIB Porcentajes
Espaa Alemania 1995 1996 1997 1998 1999 2000 2001 1,5 1,6 1,7 1,8 1,9 2,0 1,9 2,8 3,0 3,3 3,6 4,0 4,3 4,2 Francia 3,7 3,7 4,1 4,1 4,3 4,7 4,8 Irlanda 2,3 2,2 2,0 2,4 2,5 2,4 2,3 Italia 1,9 1,8 1,9 2,0 2,2 2,4 2,5 Portugal 1,5 1,5 1,5 1,7 1,9 2,0 1,9 R. Unido 4,8 4,9 4,9 4,8 5,2 5,6 5,6 UE 3,1 3,2 3,4 3,6 3,9 4,2 4,2 EE.UU. 4,7 4,9 5,0 5,2 5,3 5,5 5,3 Japn 3,2 3,6 3,8 3,9 3,6 3,8 4,0
Definicin: Valor monetario del mercado interior de productos y servicios de TI, como porcentaje del PIB (ambos a precios corrientes).
En Espaa (II)
Principales variables del mercado espaol de Tecnologas de la informacin en 2002 (en millones de euros)
2001 Mdo. Int. Neto Hardware Mdo. Int. Neto Software Mdo. Int. Neto Servicios Inf. Mdo. Int. Neto Servicios de Telecomunicacin Mdo. Int. Neto Consumibles 3.499,22 1.139,84 3.967,39 2002 2.938,99 1.218,94 3.844,25 D% -16,01 6,94 -3,1
2001 Sistemas Operativos Herramientas de Desarrollo SW Bases de Datos SW Comunicaciones Aplicaciones Verticales Aplicaciones Horizontales Aplicaciones Multimedia Total Software Consultora Explotacin Desarrollo e Implantacin Soporte Formacin Otros Total Servicios Informticos 315,01 126,68 156,03 177,55 130,57 217,06 16,94 1.139,84 628,75 709,94 1.523,39 1.029,27 20,16 55,88 3.967,39
2002 330,79 135,17 166,25 205,83 116,65 237,18 27,07 1.218,94 588,07 750,26 1.398,63 1.032,46 17,85 56,98 3.844,25
D% 5,01 6,7 6,55 15,93 -10,66 9,27 59,8 6,94 -6,47 5,68 -8,19 0,31 -11,48 1,97 -3,1
2.836,97 330,03
3.098,46 338,61
9,22 2,6
Fuente: "Las Tecnologas de la Informacin en Espaa 2002" MCyT (Ministerio Espaol de Ciencia y Tecnologa) / SEDISI (Asociacin Espaola de Empresas de Tecnologas de la Informacin). Disponible en www.sedisi.es.
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...
A veces, el sw debe solucionar los problemas del sistema global. Difusin limitada de las nuevas tcnicas, mtodos y herramientas. ...industria pendiente de su revolucin industrial.
ingeniera de requisitos
POO
herramientas 4 gen.
lenguajes no procedimentales para consulta a BDs generadores de pantallas, generadores de cdigo, generadores de informes
Ms definiciones de ISW...
La ISW es el establecimiento y uso de principios slidos de ingeniera, orientados a obtener software econmico que sea fiable y trabaje de manera eficiente en mquinas reales (Fritz Bauer). ISW: (1) La aplicacin de un enfoque sistemtico, disciplinado y cuantificable para el desarrollo, la operacin y el mantenimiento del software; es decir, la aplicacin de la ingeniera al software; (2) El estudio de enfoques como en (1) (Glosario Estndar de Trminos de Ingeniera del Software de IEEE, 1998). Una disciplina que comprende todos los aspectos de la produccin de software desde las etapas iniciales de la especificacin del sistema, hasta el mantenimiento de ste despus de que se utiliza (Sommerville 2002).
Sin embargo, ms all de las tecnologa, si miramos los procesos de ingeniera del software, desgraciadamente muchas cosas permanecen igual.
Hoy da, Existe un consenso en la importancia de la ISW. Se ha avanzado mucho, pero queda mucho por hacer. Muchos autores comienzan a renegar de la vigencia de la crisis del software, aunque la disciplina todava no es madura.
Localizacin
Deben estar agrupados todos aquellos elementos que estn afectados por un mismo hecho.
Uniformidad
Tdos los mdulos deben tener una notacin similar.
Completitud
Deben estar desarrollados todos los aspectos del sistema.
Validacin y Verificacin
El producto final debe ser fcilmente validable y verificable:
Estamos desarrollando el programa correcto? Estamos desarrollando correctamente el programa?
Modularidad
Sirve para parcelar la solucin en mdulos independientes con fuerte cohesin interna.
Fase de definicin
Qu debe hacer el sistema?
informacin que ha de manejar el sistema
necesidades de rendimiento
restricciones de diseo interfaces del sistema con los usuarios y con otros sistemas
criterios de validacin
Se elaboran los documentos de requisitos del sistema (SyRS) y del software (SRS)
Fase de desarrollo
Cmo construir el sistema? Se disean las estructuras de los datos y los programas
cmo se caracterizan las interfaces, cmo realizar el paso del diseo al lenguaje de programacin, cmo ha de realizarse la prueba,
Fase de mantenimiento
Comienza una vez construido el sistema, cuando se empieza a utilizar.
Se centra en el cambio.
El software es sometido a reparaciones y modificaciones cada vez que se detecta un fallo o se necesita cubrir una nueva necesidad de los usuarios. En esta fase recae el mayor porcentaje del coste de un sistema.
Fase de mantenimiento
Un buen sistema no es slo un conjunto de programas que funcionan.
Tipos de mantenimiento
Correctivo: un programa no realiza
correctamente la aplicacin para la que ha sido diseado, y, por tanto, debe ser modificado. para conseguir mayor adecuacin a los requisitos, mayor eficiencia, o simplemente recoger nuevas funcionalidades no expresadas en la fase de definicin del sistema.
DESARROLLO
Fallos de definicin
MANTENIMIENTO
Errores
Modificaciones y adaptaciones
(en la prctica, nunca es totalmente secuencial) Actualmente, se pretende: gil, iterativo e incremental
60-100x
Es preciso aceptar dicho cdigo para poder ser miembro de estas organizaciones.
El Octavo Principio establece como obligacin el aprendizaje continuo a travs de toda la vida profesional.