Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Transp 01IngSw Pressman
Transp 01IngSw Pressman
Juan Pavn Mestras Dep. Sistemas Informticos y Programacin Universidad Complutense Madrid http://www.fdi.ucm.es/profesor/jpavon
Es fcil modificar el software Como es complejo, el software puede fallar Una vez que el programa funciona, hemos terminado Hasta que empiece a funcionar no sabr si est bien Al cliente basta con darle un cdigo que funcione El programa no falla, es el cliente que no sabe utilizarlo Con pruebas y verificacin formal se pueden eliminar todos los errores Cuanto ms voluminosa sea la documentacin de un producto, mejor ser Si una caracterstica de la aplicacin no es necesaria para el 80% de los usuarios, al 20% restante realmente no le har falta Si un error ha sobrevivido a dos revisiones, no es un error, sino comportamiento normal del sistema
Ingeniera del Software
Qu es el software?
n
Pressman:
1. 2. 3.
Instrucciones (programas de computadora) que cuando se ejecutan proporcionan la funcin y el rendimiento deseados Estructuras de datos que permiten a los programas manipular adecuadamente la informacin, y Documentos que describen la construccin y uso de programas
Sommerville:
n n
Motivo: conversin de datos de un nmero demasiado grande Motivo: mezcla de kilos y libras. El satlite acab pegndosela en Marte
Airbus 320 derribado por un misil lanzado desde el glorioso USS Vicennes durante la guerra de Irak, 1988
n
Fallo en el software de reconocimiento de patrones, que confundi a un avin civil con un F-14 iran: 290 pasajeros muertos
Muertes de pacientes de cncer por sobredosis de radiacin del equipo Therac-25, 1986
n
Fallo de control de condiciones de carrera 1 EURO = 1.95583 DM ==> 0.01 DM = 0.01 Euro y 0.01 EURO = 0.02 DM
Virus y gusanos
Ingeniera del Software
Aplicacin de un enfoque sistemtico , disciplinado y cuantificable al desarrollo, operacin (funcionamiento) y mantenimiento del software
Ingeniera del Software
Herramientas CASE
n
Upper-CASE
n
Herramientas que ayudan en las actividades de captura de requisitos, anlisis y diseo Herramientas para la programacin, depuracin y pruebas
Lower-CASE
n
La Ciencia de la Computacin se refiere a las teoras y los fundamentos subyacentes en los sistemas de computacin La Ingeniera del Software trata los problemas prcticos del desarollo de software Con las teoras de la ciencia de la computacin no es suficiente para desarrollar software (al menos cuando el sistema tiene suficiente envergadura)
La Ingeniera de Sistemas se refiere a todos los aspectos del desarrollo de sistemas basados en computadora, tanto del hardware como del software y los procesos de diseo y distribucin de sistemas
n n
La Ingeniera de Software es solo parte de este proceso Los ingenieros de sistemas se encargan de especificar el sistema, definir su arquitectura, integrar sus partes
Estn menos relacionados con la ingeniera de los componentes del sistema (hw y sw)
Al ser el software muchas veces la parte ms importante del sistema, las tcnicas de ingeniera del software se aplican en el proceso de ingeniera de sistemas
10
Relevancia de la IS
n n
Las economas de TODOS los pases desarrollados dependen en gran medida del software Cada vez ms sistemas son controlados por software
n n n n n n n
El gasto en La Ingeniera de Software, representa un alto porcentaje del PIB de los pases desarrollados
11
Cuesta ms el software que hay en un PC que el PC En sistemas con una larga vida, los costes de manutencin llegan a multiplicar varias veces los costes de desarrollo
12
Gastos de desarrollo Gastos de mantenimiento y evolucin Tipo de sistema que se desarrolle y los requisitos de atributos del sistema como eficiencia y fiabilidad Modelo de desarrollo 60% en desarrollo 40% en pruebas
En software hecho a medida los gastos de evolucin suelen ser mayores que los de desarrollo
n
En software genrico muchas veces no se considera la evolucin sino que cada nueva versin se trata como un nuevo producto (razones mercantiles)
Ingeniera del Software
13
Retos de la IS
n
Mantenimiento, actualizacin, integracin Integracin y evolucin Y con menos recursos Proyectos web: 3 meses3 personas3 kilos Mtodos, lenguajes, ...
Modas
n
n n
Existe una gran demanda de que exista formalidad en el proceso de desarrollo de software
14
Confidencialidad
n
De los dems empleados y de los clientes Reconocer los lmites y capacidades para aceptar un trabajo Patentes, copyright Trabajo de otros colegas Juegos, virus, pirateo
Competencia
n
15
Principios que deben guiar el comportamiento y decisiones de ingenieros software profesionales (incluyendo gestores, estudiantes y profesores)
1. Actuar en bien del inters pblico 2. Actuar en el mejor inters del cliente y el empleador, siendo consistente con el inters pblico 3. Asegurar que los productos y modificaciones renen los mejores estndares profesionales posibles 4. Mantener la integridad e independencia en el juicio profesional 5. Suscribir y promocionar un comportamiento tico en la gestin y mantenimiento del desarrollo de software 6. Colaborar en el avance de la integridad y la reputacin de la profesin siendo consistente con el inters pblico 7. Ser justo y ayudar a los colegas 8. A lo largo de la vida, reciclarse en la prctica de la profesin y promocionar un comportamiento tico en la prctica de la profesin
16
Desacuerdo con los principios y poltica de los superiores El empleador acta de manera no tica y libera un sistema crtico de seguridad sin haber acabado las pruebas del sistema Participacin en el desarrollo de sistemas militares
17
Bibliografa
n
Roger Pressman, Ingeniera del Software. Un enfoque prctico. Quinta edicin. McGraw Hill, 2001 Ian Sommerville, Ingeniera del Software, Sexta Edicin, Pearson Educacin, 2002 F. P. Brooks, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition), Addison Wesley, 1995
18