jueves, 15 de septiembre de 2011

INGENIERÍA DE SOFTWARE

La ingeniería de software no es mas que la construcion y el desarrollo de un proyecto al que le aplicamos unos métodos y técnicas  para la solución de problemas, todo esto atraves de la informática que nos facilita las herramientas y los procedimientos con el cual se apoya dicha ingeniería.
Los objetivos mas importantes de la ingeniería del software son:


  • la mejora de la calidad de los productos de software.
  • El aumento de la productividad y el trabajo de los ingenieros.
  • Suministrar a los desarrolladores las bases para la construcion de un software de alta calidad de una manera muy eficiente.
  • Tener disciplina para garantizar la producción y el mantenimiento del producto.


CALIDAD DEL SOFTWARE


Podríamos definirlo como la evolución del software que esta basado en estándares en el cual tengan un rendimiento y una funcionalidad optima para satisfacer los requerimientos del cliente.
Las principales caracteristicas que hacen un software de alta calidad son:
  • Mantenibilidad: Es donde el software debe ser diseñado de una manera que pueda ser ajustable a cambios en un futuro por los requerimientos que pueda hacer el cliente.
  • Confiabilidad: Es aquella característica en donde hay que estar seguros,confiados de lo que se esta haciendo.
  • Eficiencia: Tiene que ver con el uso eficiente de los recursos que necesita un sistema para su funcionamiento.
  • Usabilidad: El software debe ser utilizado sin ningún problema por los usuarios.
como pudimos darnos cuenta estas caracteristicas varían mucho ya que unas tienen que ver con los diseñadores, otras con el usuario y otras con el líder del proyecto.


CICLO DE VIDA DEL SOFTWARE


El ciclo de vida no es mas que el desarrollo del software desde que se inicia hasta que se termina. El propósito de esto es definir a las distintas fases que se requiere para garantizar que el software cumpla con los requisitos para la aplicación y verificación de los procedimientos de desarrollo. El ciclo de vida permite que se detecten los posibles errores lo antes posibles y por lo tanto permite a los desarrolladores concentrarse mas en la calidad del software.
Las diferentes fases de un ciclo de vida son:


  • Análisis: Construye un modelo de los requisitos.
  • Diseño: A partir de un análisis se deducen las estructuras de datos, la estructura en la que descompone el sistema y la interfaz de usuario.
  • Codificación: Es la implementacion de un lenguaje de programación en donde se crean las funciones dadas durante el diseño. 
  • Pruebas: Se comprueban que se cumplan criterios de correcion y calidad.
  • Mantenimiento: después que se entrega el software este se asegura de que el sistema siga funcionando y adaptándose a nuevos requisitos.
Modelos de ciclo de vida


Se utilizan para facilitar la metodología entre el usuario y los creadores del software, esto hace que se valide cada etapa antes de continuar con la siguiente etapa.


Ciclo de vida en cascada
Este ciclo es donde terminas una etapa y sigues con otra, sin embargo, es poco visto que un proyecto es así de lineal ya que no tendría que haber cambios en los requerimientos.




















Ciclo de vida espiral


En este ciclo de vida nos permite recorrer las fases una y otra vez, haciendo ajustes segun se requiera. una de las ventajas de este ciclo es que se permite crear el proyecto de acuerdo a las especificaciones del cliente, la desventaja es que no hay claridad en el tiempo que  se requiere.

Para obtener un mayo conocimiento acerca de la ingeniería de software aquí les dejo este libro en donde explican todo acerca del producto y su proceso para realizar un software de alta calidad.

   ROGER S. PRESSMAN






No hay comentarios:

Publicar un comentario