Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Software e Ingeniería de Software

No description
by

Ponle Play

on 6 September 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Software e Ingeniería de Software

Software e Ingeniería de Software
Ley de las consecuencias imprevistas: Se refiere a cuando la invención de una tecnología puede tener efectos profundos e inesperados en otras tecnologías donde aparentemente no tiene ninguna relación.
Un ejemplo de este fenómeno es el software de computadora. Este es producto de los ingenieros e incluye los programas que se ejecutan. La comunidad del software ha intentado desarrollar tecnologías más rápidas y menos caras. Algunas de ellas se limitan al dominio de una aplicación específica, al dominio de una tecnología o a bases generales.
El marco que incluye un proceso, el conjunto de métodos y una serie de herramientas se llama Ingeniería del Software. 1.1 El papel evolutivo del Software
El software es un producto y un vehículo mediante el cual se entrega un producto. Como producto ofrece la potencia del hardware de una computadora. Este es un transformador de información; realiza la producción, el manejo, la adquisición, la modificación y la transmisión de información. Como vehículo, actúa como la base para el control de la computadora, la comunicación de la información y la creación de otros programas. El software entrega el producto más importante de nuestro tiempo: la información. Maneja información de negocios para mejorar competitividad, proporciona vías de redes de información a través del mundo etc.
El software ha experimentado un cambio significativo en un periodo de 50 años. Las mejorías del desempeño del hardware, las arquitecturas de cómputo y la variedad de E/S dieron surgimiento a sistemas más elaborados. En 1979 Osborne describió el software como una nueva revolución industrial. En 1989 Stoll argumentó que la comunidad electrónica creadora de redes y software eran la clave del intercambio de conocimiento en el mundo. Toffler en 1990 dijo que el software conduciría a la democratización del conocimiento. Sin embargo Stephen Talbot en 1995 satanizaba a la computadora ignorando sus grandes beneficios. En la actualidad la industria del software se ha convertido en un factor dominante en la economía mundial. El programador solitario se ha sustituido por equipos especialistas en software que formulan las preguntas que construyen los sistemas de cómputo modernos:
•¿Por qué tarda tanto la obtención del software terminado?
•¿Por qué son tan altos los costos?
•¿Por qué es imposible encontrar todos los errores del software antes de su entrega al cliente?
•¿Por qué se gasta tanto tiempo y esfuerzo en el mantenimiento de programas existentes?
•¿Por qué es difícil medir el progreso al desarrollar y darle mantenimiento al software? 1.2 Software
El software se forma con
1)Las instrucciones que al ejecutar se proporcionan las características, funciones y el grado de desempeño deseado.
2)Las estructuras de datos.
3)Los datos que describen las operación y el uso de los programas.
El software es un elemento lógico. Por lo tanto, tiene características muy diferentes a las el software:

1.El software se desarrolla o construye.
En ambas, la alta calidad se alcanza por medio del buen diseño, pero la fase del hardware puede incluir problemas de calidad en el software. Ambas actividades requieren la construcción de un "producto". los costos del software se concentran en la ingeniería, no se pueden manejar como productos de manufactura. 2.El software no se desgasta
La relación, llamada a menudo "curva de la bañera", indica que el hardware tiene un número alto de fallas al inicio de su vida.
Después, los defectos se corrigen y la tasa de fallas baja por algún periodo. Conforme el hardware sufre los efectos acumulativas del polvo, la vibración, el abuso de temperaturas extremas, comienza a desgastarse.

El software es inmune a los males ambientales que desgastan el hardware. Por lo tanto, la curva de la tasa de fallas para el software debería tener forma de "curca idealizada". Los defectos son descubrir causan tasas de fallas. Sin embargo, los errores se corrigen. El software no se desgasta pero si se deteriora. Esta contradicción se considera la "curva real". Durante su vida, el software experimenta cambios.
Cuando un componente del hardware se desgasta se sustituye con un repuesto. Pero en el software no existen repuestos. Cualquier falla del software implica un error en el diseño o el proceso mediante el cual se paso del diseño al código maquina ejecutable.
En el mundo del hardware, la reutilización de componentes es una parte natural del proceso de ingeniería. En el ámbito del software dicha actividad apenas se ha comenzado a extender. Software Heredado
Los sistemas de software heredado fueron desarrollados hace décadas y han sido modificados en forma continua para cumplir los requerimientos de los cambios en los negocios y en las plataformas de cómputo.

Calidad del Software Heredado
Existe una característica adicional que tal vez esté presente en el software heredado: poca calidad. Los sistemas heredados tienen diseños imposibles de extender, código complicado, poca documentación, etc. No obstante estos son el soporte de “las funciones central de negocios”. Los sistemas heredados cambian o evolucionan conforme al tiempo o por una de las siguientes razones: Los componentes reutilizables modernos encapsulan tanto los datos como el proceso que se aplica a estos, lo que permite al ingeniero de software crear aplicaciones nuevas a partir de partes reutilizables.
La Naturaleza cambiante del Software
En la actualidad existen 7 grandes categorías del software de computadora que presentan retos continuos para los ingenieros del software. Software de sistemas. El software de sistemas es una colección de programas escritos para servir a otros programas. Algunos programas de sistemas procesan estructuras de información compleja pero determinadas. Otras aplicaciones de sistemas procesan datos indeterminados.
Software de aplicación. El software de aplicación consiste en programas independientes que resuelven una necesidad de negocios específica. Software científico y de ingeniería

Las aplicaciones modernas se alejan en la actualidad de los algoritmos numéricos convencionales. El diseño asistido por computadora, la simulación y otras aplicaciones toman características de software en tiempo real

Software importado
Reside dentro de la memoria de solo lectura del sistema y con el se implementan y controlan características y funciones para el usuario final y el sistema mismo.
Software incrustado Puede desempeñar funciones limitadas y proporcionar capacidades de control y funcionamiento significativas. Software de línea de productos
Esta diseñado para proporcionar una capacidad especifica y la utilización de muchos diferentes clientes, se puede enfocar en un nicho de mercado limitado o en mercados masivos.

Aplicaciones basadas en Web
Engloban un espectro amplio de aplicaciones, son un conjunto de archivos de hipertexto ligados que presenta información mediante texto y graficas.
Las WebApps evolucionan hacia ambientes computacionales sofisticados que están integradas con bases de datos y aplicaciones de negocios. Software de inteligencia artificial
Utiliza algoritmos no numéricos en la resolución de problemas complejos que es imposible abordar por medio de un análisis directo.

Computación ubicua
El crecimiento de las redes inalámbricas podría conducir a la verdadera computacion distribuida.
Fuente abierta
La distribución del código fuente para aplicaciones de sistemas de forma que los clientes hagan modificaciones locales.
La “nueva economia”Se afianzo “punto-com” en los mercados financieros a finales de los 90 y evolucionara con lentitud, la caracteriza la comunicación y distribución masiva. -El software debe adaptarse a las necesidades de los nuevos ambientes o nuevas tecnologías.
-El software debe mejorarse para implementado en los negocios.
-El software debe extenderse para ser operable con sistemas y bases de datos.
-El software debe rediseñarse para hacerlo viable. Evolución del Software
El cambio conduce la evolución, y se presenta cuando se corrigen errores, cuando el software se adapta a un nuevo ambiente, cuando el cliente solicita funciones nuevas, y cuando la aplicación experimenta una reingeniería. Existen varias leyes para la evolución del software:
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 auto regulatorio. 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.
Full transcript