FUNDAMENTOS DE LA INGENIERÍA DE SOFTWARE
Conceptos relacionados con la ingeniería de software
Metodología
Método
Notaciones
Requerimientos
Objetivo
Recursos
Tareas
Subtopic
Actividades
Productos de trabajo
Modelos
Sistemas
Papeles
Participantes
Fallas de la ingeniería de software
Según un documento escrito por Keith F. Kelly, son:
10) Fracasar al hacer una implementación lo más mantenible y entendiblemente posible.
9) Desconocer cuándo hacer re-ingeniería (también hacerlo inapropiadamente, o evitarla cuando es necesario).
8) Intentar o tratar de adivinar las intenciones del usuario.
7) Esperar que el usuario configurará (o debería) algo antes de usarlo.
6) Esperar que el usuario procesará (o debería) todo el conocimiento (o habla) técnico.
5) Esperar que el usuario leerá (o debería) leer todo.
4) Fallar al proteger la privacía de los usuarios.
3) Neglicencia para tomar en cuenta todas las posibles fallas.
2) Basar el diseño en motivos propios, en vez de las necesidades del usuario.
1) La solución es más problemática que el problema que intenta resolver.
Definiciones: Ingeniería del Software
Pressman, 2005 es una disciplina que integra el proceso, los métodos, y las herramientas para el desarrollo de software de computadora
Sommerville, 2004 Es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema hasta el mantenimiento de este después que se utiliza.
IEEE, 1993 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
Bauer, 1972 La Ingeniería del Software es el establecimiento y uso de principios solidos de la ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente en máquinas reales
Bohem, 1976 Ingeniería del Software es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar y operar (funcionar) y mantenerlos. Así como también desarrollo de software o producción de software
Zelkovitz, 1978 es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software
Definición: Software
El software de computadora es el producto que los ingenieros de software construyen y después mantienen en el largo plazo.
El software se forma con:
(3) los documentos que describen la operación y uso de los programas.
(2) las estructuras de datos que permiten que los programas manipulen información de manera adecuada.
(1) las instrucciones (programas de computadora) que al ejecutar se proporcionan las características, funciones y el grado de desempeño deseados.
Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación.
Definición: Ingeniería
La ingeniería es el estudio y la aplicación de las distintas ramas de la tecnología.
Esto quiere decir que, a través de técnicas, diseños y modelos, y con el conocimiento proveniente de las ciencias, la ingeniería puede resolver problemas y satisfacer necesidades humanas. La ingeniería también supone la aplicación de la inventiva y del ingenio para desarrollar una cierta actividad.
Modelos de procesos y sus ciclos de vida
Proceso
Figura 2: Elementos del proceso del software
Figura 1: Proceso de desarrollo de software
Personal y sus roles
Personal de pruebas
Analistas y programadores
Personal de Mantenimiento
Usuario Líder
Usuario final
Actividades de desarrollo de la ingeniería de software
Implementación
Diseño de objetos
Análisis y diseño del sistema
Obtención de requerimientos
Antecedentes de la ingeniería de software
En combinación con las herramientas, también se han hecho esfuerzos por incorporar los métodos formales al desarrollo de software
argumentando que si se probaba formalmente que los desarrollos hacían lo que se les requería, la industria del software sería tan predecible como lo son otras ramas de la ingeniería.
La crisis del software pasó, no tanto por la mejora en la gestión de los proyectos, sino en parte porque no es razonable estar en crisis más de veinte años, y en parte porque se estaban haciendo progresos en los procesos de diseño y metodologías.
El término ingeniería del software empezó a usarse a finales de la década de los sesenta, para expresar el área de conocimiento que se estaba desarrollando en torno a las problemáticas que ofrecía el software en ese momento.
La Ingeniería del Software, término utilizado por primera vez por Fritz Bauer en la primera conferencia sobre desarrollo de software patrocinada por el Comité de Ciencia de la OTAN celebrada en Garmisch, Alemania.
en octubre de 1968, puede definirse según Alan Davis como “la aplicación inteligente de principios probados, técnicas, lenguajes y herramientas para la creación y mantenimiento, dentro de un coste razonable, de software que satisfaga las necesidades de los usuarios”…
Conceptos
Más que una disciplina o un cuerpo de conocimiento, la ingeniería es un verbo, una palabra de acción, una manera de abordar un problema.