Your SlideShare is downloading. ×
Ingeniería de software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ingeniería de software

160
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
160
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ingeniería de Software II Camou Meneses Ingrid Dafne Grupo SI-51
  • 2. INTRODUCCIÓN En el presente trabajo se define el concepto de Ingeniería de software así como sus inicios, la importancia y la utilidad que tiene. También se indican las clasificaciones de los tipos de aplicaciones de cómputo. Se realiza una breve descripción del organismo encargado de evaluación y mejora del software como Software Engineering Institute (SEI) y del consorcio internacional que produce recomendaciones para la World Wide Web (W3C). Se enlistan algunos de los modelos y filosofías de desarrollo de software, también se resume el proceso para el desarrollo de software conocido como el ciclo de vida del software. Por último se define el concepto de arquitectura del software.
  • 3. Definición La ingeniería de software es una disciplina formada por un conjunto de métodos, herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos (software). Esta disciplina trasciende la actividad de programación, que es el pilar fundamental a la hora de crear una aplicación. El ingeniero de software se encarga de toda la gestión del proyecto para que éste se pueda desarrollar en un plazo determinado y con el presupuesto previsto. La ingeniería de software, por lo tanto, incluye el análisis previo de la situación, el diseño del proyecto, el desarrollo del software, las pruebas necesarias para confirmar su correcto funcionamiento y la implementación del sistema.
  • 4. Inicios Desde sus inicios en la década de 1940, escribir software ha evolucionado hasta convertirse en una profesión que se ocupa de cómo crear software y maximizar su calidad. La calidad puede referirse a cuán mantenenible es el software, su estabilidad, velocidad, usabilidad, comprobabilidad, legibilidad, tamaño, costo, seguridad y número de fallas o "bugs", así como, entre muchos otros atributos, a cualidades menos medibles como elegancia, concisión y satisfacción del cliente. La mejor manera de crear software de alta calidad es un problema separado y controvertido cubriendo el diseño de software, principios para escribir código, llamados "mejores prácticas", así como cuestiones más amplias de gestión como tamaño óptimo del equipo de trabajo, el proceso, la mejor manera de entregar el software a tiempo y tan rápidamente como sea posible, la "cultura" del lugar de trabajo, prácticas de contratación y así sucesivamente. Todo esto cae bajo la rúbrica general de ingeniería de software.
  • 5. Inicios El término Ingeniería del software apareció por primera vez en la década de 1950 y principios de los años 1960. Los programadores siempre habían sabido sobre ingenieros civiles, eléctricos y de computadores y debatían qué podría significar la ingeniería para el software. El Comité de ciencia de la OTAN patrocinó dos conferencias sobre ingeniería del software en 1968 (Garmisch, Alemania — ver informe de la Conferencia) y en 1969, que dio al campo su impulso inicial. Muchos creen que estas conferencias marcaron el inicio oficial de la profesión de la Ingeniería de software.
  • 6. Importancia La ingeniería de software se centra en los métodos, herramientas y procedimientos para establecer un control en el desarrollo del software, lo que permite construir software de calidad de forma productiva y evitando posibles errores humanos. De hecho, la predictibilidad de los resultados es uno de los factores que garantizan la calidad de los sistemas. Un mercado emergente en nuestro país, que refleja cómo el personal directivo de las empresas cada vez se preocupa más de la repercusión de los procesos de ingeniería de software en sus objetivos de negocio. Automatizar procesos en el desarrollo del software supone mejorar las aplicaciones, disminuir las posibles incidencias en el mismo, lo que, para las empresas va a suponer, optimizar las funcionalidades y maximizar el rendimiento de sus productos software y de su cartera de servicios. Si bien durante muchos años, el outsourcing de pruebas se percibió como un nicho hiper-especializado ocupado por pocos actores, en la actualidad cada vez más compañías y asociaciones, como la Escuela Técnica Superior de Ingenieros Industriales, Gesein o ATI (Asociación de Técnicos de Informática), están muy involucrados en esta tecnología.
  • 7. Utilidad La Ingeniería de Software es muy útil para detectar problemas en el Desarrollo de Software; sea por Falta de estándares, Por No presentar todas las funcionalidades requeridas por los Usuarios o por Requerir recursos excesivos para su ejecución.
  • 8. Clasificación de los tipos de aplicaciones de cómputo El software para computadoras puede clasificarse en general en dos clases: los programas de sistema, que controlan la operación de la computadora en sí y los programas de aplicación, los cuales resuelven problemas para sus usuarios. El programa fundamental de todos los programas de sistema es el sistema operativo (SO), que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicación. En conclusión, el software se divide en: 1.- SOFTWARE BÁSICO O DE SISTEMA. • Conjunto de programas imprescindibles para el funcionamiento del sistema. 2.- SOFTWARE DE APLICACIÓN. • Conjunto de programas que van a ser utilizados por el usuario para realizar una determinada tarea.
  • 9. Clasificación de los tipos de aplicaciones de cómputo Dentro de los programas de aplicación, puede ser útil una distinción entre aplicaciones verticales, de finalidad específica para un tipo muy delimitado de usuarios (médicos, abogados, arquitectos…), y aplicaciones horizontales, de utilidad para una amplísima gama de usuarios de cualquier tipo. • • • • • • • Procesadores de texto. (Bloc de Notas) Editores. (PhotoShop para el Diseño Gráfico) Hojas de Cálculo. (MS Excel) Sistemas gestores de bases de datos. (MySQL) Programas de comunicaciones. ( Messenger) Paquetes integrados. (Ofimática: Word, Excel, PowerPoint…) Programas de diseño asistido por computador. (AutoCAD)
  • 10. Software Engineering Institute (SEI) Software Engineering Institute (SEI) es un instituto federal estadounidense de investigación y desarrollo, fundado por Congreso de los Estados Unidos en 1984 para desarrollar modelos de evaluación y mejora en el desarrollo de software, que dieran respuesta a los problemas que generaba al ejército estadounidense la programación e integración de los sub-sistemas de software en la construcción de complejos sistemas militares. Financiado por el Departamento de Defensa de los Estados Unidos y administrado por la Universidad Carnegie Mellon.
  • 11. W3C El World Wide Web Consortium, abreviado W3C, es un consorcio internacional que produce recomendaciones para la World Wide Web. Está dirigida por Tim Berners-Lee, el creador original de URL (Uniform Resource Locator, Localizador Uniforme de Recursos), HTTP (HyperText Transfer Protocol, Protocolo de Transferencia de HiperTexto) y HTML (Hyper Text Markup Language,Lenguaje de Marcado de HiperTexto) que son las principales tecnologías sobre las que se basa la Web.
  • 12. Modelos y filosofías de desarrollo de software Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software. Estos son los enfoques más generales, que se desarrollan en varias metodologías específicas. Estos enfoques son los siguientes: • • • • • • • • • Modelo en cascada: Framework lineal. Prototipado: Framework iterativo. Incremental: Combinación de framework lineal e iterativo. Espiral: Combinación de framework lineal e iterativo. RAD: Rapid Application Development, framework iterativo. Desarrollo por etapas Desarrollo concurrente Proceso Unificado RUP(Proceso Unificado Racional)
  • 13. Ciclo de vida del desarrollo de software (proceso para el desarrollo de software) Un proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso. Algunos autores consideran un modelo de ciclo de vida un término más general que un determinado proceso para el desarrollo de software. Por ejemplo, hay varios procesos de desarrollo de software específicos que se ajustan a un modelo de ciclo de vida de espiral.
  • 14. Arquitectura de software La arquitectura de software es un conjunto de patrones que proporcionan un marco de referencia necesario para guiar la construcción de un software, permitiendo a los programadores, analistas y todo el conjunto de desarrolladores del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación. Es considerada el nivel más alto en el diseño de la arquitectura de un sistema puesto que establecen la estructura, funcionamiento e interacción entre las partes del software.
  • 15. CONCLUSIONES Al terminar el presente trabajo acerca de la ingeniería de software puedo concluir la gran importancia que tiene para el desarrollo de software de calidad en la actualidad, ya que el proceso para crear un software debe de seguir ciertas técnicas de acuerdo al modelo de desarrollo que más convenga a determinado proyecto y poder conseguir un resultado funcional y de gran calidad, el cual no será desechado por no cumplir los requerimientos para lo que había sido creada cierta aplicación.
  • 16. BIBLIOGRAFÍA • http://definicion.de/ingenieria-de-software/ • http://es.wikipedia.org/wiki/Historia_de_la_ingenier%C3%ADa_del_software • http://soda.ustadistancia.edu.co/enlinea/gonzalogutierrez_ingenieriadesoftware/qu_util idad_tiene_la_ingeniera_de_software.html • http://es.wikipedia.org/wiki/Software_Engineering_Institute • http://html.rincondelvago.com/clasificacion-del-software.html • http://es.wikipedia.org/wiki/World_Wide_Web_Consortium • http://es.wikipedia.org/wiki/Metodolog%C3%ADa_de_desarrollo_de_software • http://es.wikipedia.org/wiki/Proceso_para_el_desarrollo_de_software • http://www.ecured.cu/index.php/Arquitectura_de_software

×