Introduccion a la Ingenieria de software

Preview:

DESCRIPTION

Hoy en dia es importante conocer como evoluciona la ingenieria del software, cuales son sus caracteristicas y cual es su objetivo dentro del desarrollo de proyectos, para lo cual ponemos a disposicion la siguente presentacio. AUTORES: Fabricio Sanchez Patricia Flores

Citation preview

Introducción (Ejemplos de Errores) Evolución del software Definición Ingeniería de Software Tipos de software Software Heredado Mitos del Software Calidad del software Responsabilidad profesional y ética

•Fracaso de Mariner 1 (1962).

•Avión derribado por el USS Vincennes (1988).

•Error en sistema de control de cohete ruso (1998).

Al inicio de los tiempos el software se desarrollaba usando técnicas de gestión orientadas al hardware, porque éste era el centro de la informática y del presupuesto.

Ingeniería de Software

Software: Evolución a la ingeniería

“La Ingeniería del Software es el establecimiento y uso de principios de ingeniería y además es una disciplina que ofrece método y técnicas para desarrollar y mantener software que sea confiable y que funcione eficientemente como un producto de calidad ”

• Software de sistemas._ Está formado por todos aquellos programas cuya finalidad es servir al desarrollo o al funcionamiento de otros programas.

• Software de aplicación._ Son aplicaciones típicas como word, excel, etc.

• Software científico y de Ingeniería._ Se encarga de realizar complejos cálculos sobre datos numéricos de todo tipo.

• Software empotrado._ Software empotrado es aquel que va instalado en otros productos industriales, como por ejemplo la electrónica de consumo, dotando a estos productos de un grado de inteligencia cada vez mayor.

Software de línea de productos._ satisfacer clientes, es decir, cuando el producto ya esta en el mercado.

Aplicaciones basadas en web._ aplicaciones de espectro como correos electrónicos.

Software de inteligencia artificial._ El software basado en lenguajes procedimentales es útil para realizar de forma rápida y fiable operaciones que para el ser humano son tediosas e incluso inabordables.

Calidad del software Heredado

El software debe adaptarse para satisfacer nuevas necesidades.

El software debe mejorarse para implementar nuevos requerimientos

El software debe extenderse para hacer operable con sistemas

El software debe rediseñarse

Ley del cambio continuo(1974)._ el programa debe cambiar o llegará a ser menos útil dentro de ese entorno.

Ley de la complejidad creciente(1974)._un programa evolutivo cambia, su estructura tiende a ser más compleja.

Ley de la autorregulación(1974)._La evolución del programa es un proceso autoregulatorio.

Ley de la conservación de la estabilidad organizacional (1980)._En el tiempo de vida de un programa, su tasa de desarrollo es aproximadamente constante e independiente de los recursos dedicados al desarrollo del sistema

Ley de la conservación de la familiaridad (1980)._el usuario debe conocer cuáles son los cambios que se realizaran en el código del sistema.

Ley del crecimiento continuo (1980)._el sistema desarrolla un promedio característico de crecimiento seguro, que de ser excedido, causa problemas de calidad y utilización con tiempo y coste que excede del previsto.

Ley de la calidad decreciente (1996)._ de acuerdo a los nuevos cambios que se realicen la calidad del software parecerá declinar y su rendimiento será mucho menor.

Ley del sistema de retroalimentación._ nos dice que se puede crear nuevo software basándose en otros que fueron utilizados anteriormente.

Si fallamos en la planificación podemos añadir más programadores y recuperar el tiempo perdido.

Una declaración general de los objetivos es suficiente para comenzar a escribir los programas; podemos dar los detalles más adelante.

Los requisitos del proyecto cambian continuamente pero los cambios pueden acomodarse fácilmente.

Una vez que hicimos el programa y funciona, nuestro trabajo ha terminado.

No hay forma de comprobar la calidad del software hasta que esta corriendo.

Mantenibilidad._ El software debe escribirse de forma que pueda evolucionar para satisfacer las necesidades de cambio de los clientes

Confiabilidad._ El software debe escribirse de forma que pueda evolucionar para satisfacer las necesidades de cambio de los clientes

Eficiencia._ Este atributo está relacionado con el uso adecuado de los recursos del sistema: por ejemplo, no se deben malgastar ciclos de procesamiento o memoria.

Usabilidad._ El software debe ser fácil de usar, sin esfuerzo adicional para el usuario para quien está diseñado. El software debe tener una interfaz y una documentación adecuadas.

Confidencialidad. _ se debe respetar la confidencialidad de los clientes, a pesar de que no se haya firmado algún convenio.

Competencia._ No debe aceptar trabajos que no pueda realizar.

Derechos de propiedad intelectual._ debe mantenerse informado sobre las leyes de propiedad intelectual como patentes o copyright.

Uso inapropiado de las computadoras._ No debe utilizar sus conocimientos para actuar de una manera inapropiada.

Algunas fundaciones se han formado para difundir los códigos de ética:

Publico._ los ingenieros de software deberán de actuar en consonancia con el interés publico.

Cliente y Empleador._ Los ingenieros de software deberán actuar de forma que respondan los intereses de sus clientes y empleadores.

Producto._ Los ingenieros de software deben asegurar que sus productos y las modificaciones asociadas cumplan los mas altos estándares profesionales posibles.

Colegas._ los ingenieros de software deberán ser imparciales y apoyar a sus colegas.

Personal._ aprender lo concerniente a la practica de su profesión y promocionar un enfoque ético en la practica de su profesión.

Juicio._ integridad e independencia.

Gestión._ Los gerentes y lideres ingenieros de software deberán suscribir y promocionar un enfoque ético en la gestión del desarrollo y mantenimiento de software.

Profesión._ mantener la integridad y reputación de la profesión .

Bibliografía

• Ingeniería de software 7a edición, IAN SOMMERVILLE, Pearson Educación, S.A., Madrid , 2005

• Ingeniería de software, Una perspectiva Orientada a Objetos ,Eric J. Braude, Alfaomega Grupo Editor S.A, México D. F 2003

Referencias

• http://www.geocities.com/mustang51r/

• http://software.grilk.com/historia.htm

• http://www.rodolfoquispe.org/blog/que-es-la-ingenieria-de-software.php