Etapas de la Ingeniería de Software
Etapas de la
Ingeniería de Software
Desafortunadamente he visto muchos proyectos de software fallar
estrepitosamente por no seguir ninguna metodología. Con muy buenas intenciones
se empieza rápidamente a construir con sólo una idea aproximada de lo que se
quiere desarrollar y con un plan aún más impreciso de cómo hacerlo. Aplicar las
etapas de la ingeniería del software acostumbra ser una buena idea que te
permite estructurar el producto y enfocar su construcción con éxito.
La ingeniería del software es el proceso formal de
desarrollo de software en el que las necesidades del usuario se traducen en
requerimientos, estos se transforman en diseño que se implementa en código que
se prueba, documenta y se certifica para su uso operativo.
El proceso requiere una metodología con 5 etapas:
- Análisis de
requerimientos: Se extraen los requisitos del producto de
software. En esta etapa la habilidad y experiencia en la ingeniería del
software es crítica para reconocer requisitos incompletos, ambiguos o
contradictorios. Usualmente el cliente/usuario tiene una visión
incompleta/inexacta de lo que necesita y es necesario ayudarle para
obtener la visión completa de los requerimientos. El contenido de
comunicación en esta etapa es muy intenso ya que el objetivo es eliminar
la ambigüedad en la medida de lo posible.
- Especificación: Es la tarea de describir
detalladamente el software a ser escrito, de una forma rigurosa. Se
describe el comportamiento esperado del software y su interacción con los
usuarios y/o otros sistemas.
- Diseño y arquitectura: Determinar cómo funcionará
de forma general sin entrar en detalles incorporando consideraciones de la
implementación tecnológica, como el hardware, la red, etc. Consiste
en el diseño de los componentes del sistema que dan respuesta a las
funcionalidades descritas en la segunda etapa también conocidas como
las entidades de negocio. Generalmente se realiza en base a
diagramas que permitan describir las interacciones entre las entidades y
su secuenciado.
- Programación: Se traduce el diseño a
código. Es la parte más obvia del trabajo de ingeniería de software y la
primera en que se obtienen resultados “tangibles”. No necesariamente es la
etapa más larga ni la más compleja aunque una especificación o diseño
incompletos/ambiguos pueden exigir que, tareas propias de las etapas
anteriores se tengan que realizarse en esta.
- Prueba: Consiste en comprobar que
el software responda/realice correctamente las tareas indicadas en la
especificación. Es una buena praxis realizar pruebas a distintos niveles
(por ejemplo primero a nivel unitario y después de forma integrada de cada
componente) y por equipos diferenciados del de desarrollo (pruebas
cruzadas entre los programadores o realizadas por un área de test
independiente).
- Documentación: Realización del manual de
usuario, y posiblemente un manual técnico con el propósito de
mantenimiento futuro y ampliaciones al sistema. Las tareas de esta etapa
se inician ya en la primera fase pero sólo finalizan una vez terminadas
las pruebas.
- Mantenimiento: En esta etapa se realizan
un mantenimiento correctivo (resolver errores) y un mantenimiento
evolutivo (mejorar la funcionalidades y/o dar respuesta a nuevos
requisitos).
Es importante señalar que se habla de cinco (5) etapas, sin embargo
hemos incluido 7. La sexta etapa, documentar, se tiene que llevar a cabo
absolutamente en todas y aunque no es una etapa propiamente dicha pero es tan
importante que debe ser mencionada explícitamente.
Por último la etapa del mantenimiento, sobre todo para ampliar el
sistema con nuevas funciones, debe tener las “sub-etapas” 1 a 5 si se quiere
abordar con garantías.
Muy, interesante. E importante.requisitos q todo software debe tener o cumplir
ResponderBorrarlos procedimiento a seguir señalan cada uno de los pasos que se toman en cuenta para su elaboracion
ResponderBorrar