domingo, 28 de abril de 2013

Ingenieria de Software


INGENIERIA DE SOFTWARE
DEFINICION:
Hablar de ingeniería de software, con lleva hablar de temas muy importantes, como los procesos, metodologías, procedimientos y otros temas concernientes.
Definiciones:
Aquí algunas definiciones que nos ofrecen algunos autores:
Ingeniería de software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como desarrollo de software o producción de software (Bohem, 1976).
Ingeniería de software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales (Bauer, 1972).
Teniendo en cuenta estos puntos de vista, tendríamos que la ingeniería de software: “Es el estudio, diseño, aplicación de conocimientos científicos al proceso y desarrollo de un software en sí. Haciendo uso de metodologías, procedimientos y principios, los cuales a través del tiempo han ido modificando su contenido, para una mejora en los resultados finales (software).”
METODOLOGIAS DE LA INGENIERIA DE SOFTWARE
Como se menciono anteriormente, para una mejor comprensión y ejecución de lo que es ingeniería de software, se hace necesario el uso de técnicas y metodologías. Aquí algunos pasos que deben considerarse en ellas:
Análisis de requisitos
Es aquí donde  el cliente expresa sus expectativas con respecto al software que requiere, es decir su visión del software en sí y los requisitos que debe cumplir. Encargándose de este primer paso un analista de sistemas.
La IEEE Std. 830-1998 normaliza la creación de las especificaciones de requisitos de software (Software Requirements Specification).
Esta es la fase donde el se ira estructurando, conceptualizando un diseño (arquitectura) de lo que será el software.  
El encargado de este  rubro es el arquitecto de software, la persona que añade valor a los procesos de negocios gracias a su valioso aporte de soluciones tecnológicas.
Implementación
Es aquí donde entran en acción los conocimientos del ingeniero de software , es decir la parte del código fuente que será necesario editar. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado.
Y como en todo proyecto, o ejecución de programas, se tiene un proceso de prueba del producto, la cual debe cumplir con los estándares que requiera, y claro además de satisfacer al cliente o usuario. Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación del problema. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas.
Documentación
Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML),diagramas de casos de uso, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.
Esta fase es la encargada de darle soporte técnico al software y a la mejora de su versión, convirtiéndose en un círculo repetitivo para su continua evolución.

Fuentes:

No hay comentarios.:

Publicar un comentario