Documente Academic
Documente Profesional
Documente Cultură
de proyectos de software
Organizacin de Computadoras
Universidad Nacional del Sur
2017
Estructura y contenido
Los requerimientos/requisitos de un sistema describen los servicios que ha de ofrecer el sistema y las
restricciones asociadas a su funcionamiento, es decir, las propiedades o restricciones que deben
satisfacerse, determinadas de forma precisa.
En la definicin del proyecto se deber brindar detalle sobre los puntos que se definen a continuacin:
Dentro de la especificacin de requerimientos se dar informacin del proyecto de software sobre los
siguientes puntos:
Procedimientos de desarrollo:
Herramientas utilizadas: entornos de desarrollo integrados, plataformas y herramientas
empleadas en la implementacin del sistema.
Planificacin: una descripcin global de la metodologa utilizada para encarar y resolver el
problema; por ejemplo: los pasos ejecutados a lo largo de la resolucin del proyecto, a grandes
rasgos.
Diagrama de mdulos: Consiste en un diagrama donde se representan todas las partes que
componen el sistema y las relaciones que existen entre estas. El objetivo de este diagrama
consiste en presentar una perspectiva global de la arquitectura y los componentes del sistema,
no debera contener detalles tcnicos sobre los mdulos o las conexiones entre estos.
Descripcin individual de los mdulos: Para cada mdulo o parte del sistema, se debera
realizar una breve descripcin del mismo, la cual debera incluir mnimamente:
Dependencias externas: Si el software utiliza libreras o servicios externos estos deben listarse
junto con una breve descripcin de las mismas.
Adicionalmente en esta seccin se deben listar los aspectos tcnicos o tecnologas empleadas en el
proyecto, tales como el lenguaje de programacin, frameworks, libreras, etc.
Puede resultar de utilidad incluir junto a estos una breve descripcin de las decisiones de diseo
asociadas que llevaron a elegir la o las tecnologas en particular, es decir responder a por qu se utiliz
esta tecnologa y no otra?
Distinguir cules son las entidades involucradas en el sistema y mencionarlas en un formato language-
agnostic.
Puede ser un diseo orientado a objetos, relacional, etc., lo importante es tener una idea general del
modelo de datos: entidades, atributos y las relaciones entre ellas. Para ello es imprescindible incluir
diagramas o grficos que ayuden a visualizar el modelo de datos.
Un programa, aplicacin o librera puede a su vez trabajar con varios tipos de datos:
- Datos de entrada.
- Datos internos.
- Datos de salida.
Mencionar cules son los servicios o tareas que el sistema ofrece/implementa, y describir los procesos
que realizan, para entender cmo funcionan, y cmo se pueden invocar/utilizar.
Tener presente que la descripcin del proceso no significa mostrar el cdigo, ni consiste tampoco
brindar detalles especficos de cmo lo hace (funciones utilizadas para hacer cierta tarea) sino de
explicar brevemente qu hace o cul es su propsito. Se espera tambin una descripcin de los datos
de entrada y salida (Cantidad de argumentos, tipo y significado de cada uno).
En este punto es imprescindible que el cdigo fuente de la aplicacin est enriquecido con comentarios.
Estos deben conformar la documentacin bsica de todo proyecto, y a partir de los mismos debera
poder construirse la descripcin de alto nivel del funcionamiento de los procesos y servicios del
sistema, as como sus funciones, subrutinas, mdulos, clases, etc.
2. Documentacin tcnica - Especificacin API
Para llevar a cabo esta tarea, es posible utilizar una variedad de herramientas de generacin de
documentacin automtica, a partir del cdigo en el encabezado de cada funcin (por ejemplo
Javadoc, PHPDoc, Doxygen, etc).
La documentacin tcnica debe pensarse como el manual del programador, y debe apuntar a aquellas
personas que estarn a cargo de mantener, ampliar, o crear un proyecto derivado a partir de nuestro
proyecto.
Aspectos relevantes
Indicar claramente cmo invocar el programa (signatura del programa completa, como la que hara
cualquier sinopsis de una pgina de manual), conteniendo qu parmetros son opcionales, cuales son
obligatorios, y documentar bien cul es la utilidad de cada parmetro y cul es el comportamiento por
defecto si se omite algn parmetro opcional. Esto conforma comnmente el manual del usuario final
de la aplicacin.
Incorporar diagramas de flujo y explicaciones a nivel mtodo de la solucin, debe explicarse la
estrategia general de resolucin donde se pueda apreciar cmo interactan los mdulos entre s.
Los tipos de datos abstractos (TDAs) deben estar adecuadamente documentados en el cdigo, por otra
parte, en el manual deben constar las limitaciones posee la representacin, cmo se representa una
determinada estructura y detalle de mtodos que provee el TDA para la manipulacin de los datos.
Incluir una seccin de Conclusiones, donde se deben resumir complicaciones encontradas durante el
desarrollo del proyecto, polticas adoptadas para su resolucin, restricciones al problema original, casos
particulares y finalmente aspectos relacionados a la experiencia obtenida en base a la temtica del
proyecto.
Herramientas
Existen aplicaciones que permiten la generacin automtica de documentacin para cdigo en lenguaje C,
entre las mismas se puede citar el programa Doxygen http://www.doxygen.org.