Capitulo 2

14
La Ingeniería de Software es la rama de la ingeniería que aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones costo- efectivas (eficaces en costo o económicas) a los problemas de desarrollo de software", es decir, "permite elaborar consistentemente productos correctos, utilizables y costo- efectivos".

description

capitulo dos

Transcript of Capitulo 2

La Ingeniería de Software es la rama de la ingeniería que aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones costo-efectivas (eficaces en costo o económicas) a los problemas de desarrollo de software", es decir, "permite elaborar consistentemente productos correctos, utilizables y costo-efectivos".

Ingeniería del software

Es un enfoque sistemático del desarrollo, operación, mantenimiento y retiro del 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

Definición

• Ingeniería de Software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo operación (funcionamiento) y mantenimiento del software: es decir, la aplicación de ingeniería al software.

Importancia

• Es muy importante ya que con ella se puede analizar, diseñar, programar y aplicar un software de manera correcta y organizada, cumpliendo con todas las especificaciones del cliente y el usuario final. Lo anterior es posible gracias a los objetivos que esta propone

• En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software.

• Mejorar la calidad de los productos de software.

• Aumentar la productividad y el trabajo de los ingenieros de software.

Utilidad

• Facilitar el control en el proceso de desarrollo de software

• Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.

• Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.

• 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.

SOFTWARE

• Es un enfoque sistemático del desarrollo, operación, mantenimiento y retiro del software.

• Instrucciones que, cuando se ejecutan, proporcionan la funcionalidad deseada.

• Estructuras de datos que facilitan a las instrucciones manipular adecuadamente la información.

• Documentos que describen el desarrollo, uso, instalación y mantenimiento de los programas.

• Programas, procedimientos, y, posiblemente, la documentación asociada y los datos pertenecientes a las operaciones de un sistema.

CARACTERÍSTICAS DEL SOFTWARE• Fiable

Capacidad de ofrecer los mismos resultados bajo las mismas condiciones

• EficienteUtilización óptima de los recursos de la máquina

• RobustoNo poseer un comportamiento catastrófico ante situaciones excepcionales (Tolerante a fallos)

• CorrectoSe ajusta a las especificaciones dadas por el usuario

• PortableCapaz de integrarse en entornos distintos con el mismo esfuerzo

• Adaptable (extensibilidadModificar alguna función sin que afecte a sus actividades

• InteligibleDiseño claro, bien estructurado y documentado

• No ErróneoNo exista diferencia entre los valores reales y los calculados

• Reutilizable (reusabilidad)• Mantenibilidad• Confiabilidad

– fiabilidad– seguridad– protección

• Eficiencia• Usabilidad• Elemento lógico, no físico• Desarrollado, no ‘fabricado’• No se ‘estropea’, ¡se deteriora! (Deterioro por

‘cambios’)• Mayoritariamente cerrado• Medido• La mayoría del software se hace a la medida.

• No se ensambla de componentes

• Útil (al cliente)• Integridad• Resultados correctos con alto grado de

exactitud• Consistencia de función• Accesible (al usuario)• Buena ingeniería humana• Fácil de aprender y usar