Conceptos Clave y Proceso de Desarrollo en Ingeniería de Software
Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería
Escrito el en
español con un tamaño de 5,17 KB
Ingeniería de Software: Definición y Alcance
La Ingeniería de Software (IS) es un conjunto de etapas parcialmente ordenadas con la intención de lograr un objetivo: la obtención de un producto de software de calidad.
Características Fundamentales del Software
El Software no se fabrica en un sentido clásico
A pesar de que existen similitudes entre el desarrollo del software y la manufactura del hardware, las dos actividades son fundamentalmente diferentes. En ambas, la alta calidad se alcanza por medio del buen diseño. Sin embargo, la fase de manufactura del hardware puede incluir problemas de calidad que no existen en el software.
El Software no se estropea
El software es inmune a los males ambientales que desgastan el hardware. Por lo tanto, la curva de tasas de fallas para el software debería tener la forma de la “curva idealizada”. Los defectos sin descubrir causan tasas de fallas altas en las primeras etapas de vida de un programa. No obstante, los errores se corrigen y la curva se aplana: el software no se desgasta, pero sí se deteriora.
La mayoría del Software se construye a medida
Un componente de software se debe diseñar e implementar de forma que pueda utilizarse en muchos programas diferentes.
Los componentes reutilizables modernos encapsulan tanto los datos como el proceso que se aplica a estos, lo que permite al ingeniero de software crear nuevas aplicaciones a partir de partes reutilizables.
Mitos Comunes en la Ingeniería de Software
Un mito es una actitud errónea que causa serios problemas al gestor y al técnico desarrollador del software.
Mitos de Gestión
- Mito: Existe un manual de procedimientos sobre cómo desarrollar software.
(Realidad: No existe un manual único que dicte cómo desarrollar todo el software). - Mito: Los requerimientos del proyecto cambian continuamente, pero los cambios pueden acomodarse fácilmente ya que el software es flexible.
(Realidad: Es verdad que los requerimientos del software cambian, pero el impacto del cambio varía según el momento en que se introduzca).
Mitos del Cliente
Perspectiva errónea sobre el producto real.
Mitos de los Desarrolladores
- Mito: Al terminar el software, el trabajo ha terminado.
(Realidad: No es verdad, ya que se le debe dar mantenimiento).
Capas de la Ingeniería de Software
Las capas suministran un soporte automático para los métodos.
- Calidad: Es la base o cimiento de la Ingeniería de Software.
- Proceso: Es el funcionamiento de la Ingeniería de Software.
- Métodos: Indican cómo construir técnicamente el software, incluyendo el análisis de requerimientos, diseño, construcción de programas, pruebas y mantenimiento.
- Herramientas (CASE): Proporcionan un soporte automático o semiautomático a los procesos y métodos.
El Proceso del Software
Es el conjunto estructurado de actividades requeridas para desarrollar un sistema de software.
Debe estar explícitamente modelado si va a ser bien administrado.
Actividades Fundamentales del Proceso
Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse.
- Especificación.
- Diseño.
- Validación.
- Evolución.
Conceptos Relacionados con el Proceso
- Integridad
- Capacidad de los sistemas de software de proteger sus diversos componentes contra modificaciones y accesos no autorizados.
Características Deseables del Proceso
- Entendible
- El proceso se encuentra bien definido y es entendible.
- Visible
- El proceso es visible al exterior.
- Soportable
- El proceso puede ser soportado por herramientas CASE.
- Aceptable
- El proceso es aceptado por aquellos involucrados en él.
- Confiable
- Los errores del proceso son descubiertos antes de que se conviertan en errores del producto.
- Robustez
- El proceso puede continuar a pesar de problemas inesperados.
- Mantenible
- El proceso puede evolucionar para cumplir con los objetivos organizacionales.
- Rapidez
- Mide qué tan rápido puede producirse el sistema.
Problemas Comunes del Proceso
- No existe una distinción precisa entre la especificación, el diseño y la manufactura.
- Solo hasta que el sistema se ha producido se puede probar.
- El software no se puede reemplazar siempre durante el mantenimiento.
Calidad del Software
La calidad del software se define como el desarrollo de software basado en estándares, con la funcionalidad y el rendimiento total que satisfacen los requerimientos del cliente.