Вопрос такой, есть ли какой-то инструмент для описания функцонала будущего приложения? В данный момент мы все делаем просто в текстовом документе, но у меня возникла мысль, что, возможно, есть какой-то специализированный инструмент для этого. Хочется иметь возможность описывать каждую функцию будущего приложения и иметь возможность как-то все это структурировать, например, прописывать теги для каждой функции, такие как "доступно только для pro аккаунтов", проставлять какие-то свойства, например, такие, как пункт меню, под которым должна быть эта функция.
У нас целый семестр под предмет "Объектно-ориентированный анализ и проектирование" был отведен. Строили различные диаграммы на UML в Modelio. Софт частенько лагал.. В общем, курс сдал и забыл.
1. Насколько большое ПО по функционалу сейчас и предполагается?
2. Какой тип информации вы хотите размещать там? Высокоуровневые требования, технические требования, архитектуру, пользовательскую документацию или все вместе?
1. Пока ПО по функционалу небольшое. 15-20 базовых функций
2. Я хочу размещать описание функционала приложения, никакой технической информации, что-то сродни ТЗ. То есть пункты типа:
"Позволять загружать картинки в форматах jpg и png"
"Позволять эти картинки кадрировать и поворачивать"
Странно, но под ваш функционал подходит простейший single sourcing (я говорю про DocBook, т.к. на нем специализируюсь).
Т.е. как мне это видится:
1. Один article c требованиями ("простыня").
2. Под каждый section c требованиями поставлены атрибуты (pro, nonpro, common).
3. Пункты меня оформлены отдельным справочником и с требований идет вставка (xinclude) конкретного пункта меню.
Можно будет:
1. Автоматически (через xslt) собирать матрицу функционал - пункты меню.
2. Хранить версионность.
3. Если в какой-нибудь ветке исчезнет пункт меню - это сразу же будет видно в функционале (т.к. linked, а не embedded|copy paste).
4. На выходе вы сможете получить документ, который соответствует конкретной роли (один исходник - несколько выходных документов из него по одной команде).
А странно, т.к. редко когда сложные решения подходят для простых задач. У вас, судя по всему, именно этот случай.