Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Documentación de Software
● Requerimientos: son las necesidades que tiene un cliente y que van a ser
solucionados mediante la creación de software.
● Análisis: se estudia el requerimiento para entender qué es lo que se quiere, qué
entradas recibe y cómo debe ser el resultado que se espera.
● Diseño: se elabora un plano base y básico sobre los pasos que debemos realizar
para lograr la solución, por ejemplo, algoritmos en pseudocódigo, diagramas de
flujo, etc.
● Implementación: se toman los planos realizados en la etapa de diseño de la
solución y se programan en un lenguaje de programación formal. Es la etapa
donde se desarrolla el software.
● Pruebas: el software desarrollado se somete a un proceso de pruebas para
determinar su calidad y validez.
● Puesta en Producción: el producto de software se entrega al cliente listo para ser
puesto en uso.
● Mantenimiento: el producto de software deberá ser monitoreado con regularidad
para control y actualizaciones.
Están apegadas a un plan, un acuerdo que debe ser cumplido “a como está”.
Al tener que primero tener que cumplir todas las etapas, el cliente deberá esperar hasta el
final para recibir el producto. Si, por alguna casualidad, algo fue malinterpretado en el
análisis de requerimientos y el producto no cumplió, o si, por ejemplo, el cliente hubiese
querido hacer cambios sobre algunas ideas de su producto, este quedaría insatisfecho y
un arreglo implicaría volver a realizar todo el proceso, o sea, volver a esperar y volver a
pagar y todo el resto.
Enrique Muñoz
Documentación de Software
REQUERIMIENTOS
Cuando una empresa o persona deciden optar por la creación de un software para cierto
propósito, en esa decisión están involucrados varios personajes llamados Stakeholders,
entre los cuales están: la persona que patrocina el proyecto económicamente, la persona
que se encarga de la parte logística, quien se encarga del estudio de mercadeo, de la
proyección y el alcance, de los recursos humanos dedicados al proyecto, de los
administradores y jefes, entre otros; los Stakeholders son de algún modo todos los
involucrados o interesados del proyecto encargados de la gestión del producto.
Los requerimientos funcionales definen las funciones que el sistema será capaz de
realizar. Describen las transformaciones del sistema: recibir ciertas entradas para
producir ciertas salidas.
Los requerimientos no funcionales tienen que ver con características que de una u otra
forma puedan limitar el sistema, como por ejemplo, el rendimiento (en tiempo y espacio),
Enrique Muñoz
Documentación de Software
Para continuar con la explicación, se necesita un sistema el cual modelar. OJO con el
siguiente enunciado de un proyecto que requiere la U:
“La U requiere una app en la que los e ditores de las revistas de la U puedan crear
publicaciones hablando acerca de esas revistas y que el público pueda dejar
comentarios sobre esas publicaciones. Cabe mencionar que las publicaciones solamente
serán editadas por sus propios editores, o por alguna figura en calidad de administrador
con permisos totales. Para usar la app, los u suarios necesitarán un correo y una
contraseña, por lo que deberán registrar una c uenta. Cuando ingresan a la app, los
usuarios visualizarán una l ista de información r esumida de las publicaciones y al dar click
en uno de los elementos de la lista, se le mostrará una pantalla aparte con el detalle de
ese elemento (publicación), incluyendo los comentarios. Habrá una opción en la que los
usuarios deberán indicar la c arrera a la que pertenecen, ya que, solamente los
estudiantes de la U podrán realizar comentarios, el público general e xterno a la U, nada
más podrá leer las publicaciones y los comentarios (y tal vez podrá al menos dejar un
“like” o un “dislike”, pero no vamos a contar eso). Para la administración de los datos del
sistema (las cuentas, las publicaciones y los comentarios), se requiere una b ase de
datos fácil de usar, por ejemplo, MySQL”.
Documentación de Software
que desea (o lo que desean los stakeholders a los cuales está representando) sin estar
obligado a conocer nada sobre informática, aunque eso es una cualidad deseable e ideal.
Las ideas que transmite un Dueño de Producto pueden ser conceptos abstractos sobre
problemas o situaciones que representan ciertos eventos en el accionar del negocio que
necesita sistematizar. Por ejemplo, el enunciado anterior pudo haber sido perfectamente
resumido en lo siguiente:
“Se necesita una app donde se publiquen temas sobre las revistas de la U para que los
estudiantes y las personas puedan ver estos temas y dejar comentarios. Se debe aplicar
algunas restricciones”.
En ese caso, si no podemos impulsar al Dueño del Producto para que suelte más
información, debemos nosotros mismos hacer el esfuerzo por inventar el resto de detalles,
por lo menos para comenzar, y después pulir esos detalles.
ENTIDADES
● Cuentas
● Clientes
● Movimientos
● Usuarios
Sistema de Aeropuerto:
● Aviones
● Horarios
● Destinos
● Tiquetes
● Etc.
Habiendo definido bien cuáles serán las entidades principales del sistema, el modelado
UML por medio de diagramas es más fácil y, por ende, el desarrollo del software se hará
más claro.
Enrique Muñoz
Documentación de Software
Para abarcar todo el tema de UML, utilizaremos el requerimiento de la App de las revistas
de la U mencionado en la sección anterior. Es aconsejable realizar la definición de las
entidades del sistema, aquellos elementos envueltos en el negocio y que están
marcadas en negrita en el párrafo del enunciado del proyecto. Tenemos publicaciones,
editores, comentarios, c
uentas(perfiles) y algunas otras entidades también forman parte
como las carreras. Los editores usan la app para publicar y las cuentas son para que los
visitantes (estudiantes u otras personas) lean y comenten, y a eso sumemosle otra
persona que podrá administrar la app con control total, o sea, podríamos definir una sola
entidad de usuarios o definir cada una por aparte.