Fecha: 06/09/2011
Extraer los requisitos y requerimientos de un producto de software es la primera etapa para crearlo.
Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de
habilidad y experiencia en la ingeniera de software para reconocer requerimientos incompletos,
ambiguos o contradictorios. El resultado del anlisis de requerimientos con el cliente se plasma en el
documento ERS, Especificacin de Requerimientos del Sistema, cuya estructura puede venir
definida por varios estndares, tales como CMMI. Asimismo, se define un diagrama de
Entidad/Relacin, en el que se plasman las principales entidades que participarn en el desarrollo
del software. La captura, anlisis y especificacin de requerimientos (incluso pruebas de ellos), es
una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales.
2) Especificacin
Casos de Uso,
Historias de usuario,
Diagramas de clases
Siendo los dos primeros los mnimos necesarios para describir la arquitectura de un proyecto que
iniciar a ser codificado. Depende del alcance del proyecto, complejidad y necesidades, el arquitecto
elige qu diagramas elaborar. Entre las herramientas para disear arquitecturas de software se
encuentran:
Enterprise Architect
4) Programacin
Reducir un diseo a cdigo puede ser la parte ms obvia del trabajo de ingeniera de software, pero
no necesariamente es la que demanda mayor trabajo y ni la ms complicada. La complejidad y la
duracin de esta etapa est ntimamente relacionada al o a los lenguajes de programacin
utilizados, as como al diseo previamente realizado.
5) Prueba
Todo lo concerniente a la documentacin del propio desarrollo del software y de la gestin del
proyecto, pasando por modelaciones (UML),diagramas de casos de uso, pruebas, manuales de
usuario, manuales tcnicos, etc; todo con el propsito de eventuales correcciones, usabilidad,
mantenimiento futuro y ampliaciones al sistema.
7) Mantenimiento
Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede
llevar ms tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniera
de software tiene que ver con dar mantenimiento. Una pequea parte de este trabajo consiste en
arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas.
De manera similar, alrededor de 2/3 de toda la ingeniera civil, arquitectura y trabajo de construccin
es dar mantenimiento.