=-=-=-=-=-=-=-= План разработки =-=-=-=-=-=-=-= Содержание: -=-=-=-=-=- 1. Требования к версии 1.0. 2. Список задач для версии 1.0. 3. План текущей итерации. 4. План следующей итерации 0. Приблизительные требования для внедрения в эксплуатацию. - выход. меню, клавиша. - панели со списком файлов. перемещение клавишами. - коммандная строка, синхронизированая с панелями. - поддержка локали (возможность локализации (i18n), перекодировка). - копирование (меню, клавиша) - удаление (меню, клавиша) - поддержка внешнего редактора (брать из переменной EDIT{OR} ??) // - перемещение / переименование. - создание файла, одной клавишей (или двумя). - создание директории. - размеры файлов и директорий. - выделение файлов и каталогов - маски для выделения. - поддержка аналога CTRL+O - полноэкранный шелл - настраиваемый конфиг. (синхронизация с текстовым файлом реестра). - экспорт/импорт в текстовый файл. - возможность настройки временного интервала в реестре для переодического импорта из файла. (желательно real time) 1. Требования к версии 1.0. -=-=-=-=-=-=-=-=-=-=-=-=-=- Требования к первой версии является набор приемочных тестов, или сценариев. Такие сценарии могут быть записаны в виде набора команд - макросов для системы очереди событий. Так же для автоматизации приемочных тестов следует написать систему "фотографирования" содержимого панелей и сравнения с заренее сохраненным образцом. Тест 1. Запуск и выход. - запуск фм. - выход из фм. Тест 2. Запуск внешнего приложения: - запуск фм. - запуск внешней программы. - сравнение идентичности вывода запуска из фм, и вывода программы запущеной обычным способом. - выход из фм. Тест 3. Просмотр директории. - запуск фм. - открытие панели директории с файлами. - проверка результата?? - выход из фм. Тест 4. Смена текущей директории. - запуск фм. - просмотр списка файлов и дерикторий в панели. - смена директории - просмотр списка файлов и дерикторий в панели. - проверка результата?? - выход из фм. Тест 4. Удаление директории. - запуск фм. - открытие панели директории с файлами. - удаление директории. - проверка результата. - выход из фм. Тест 5. Копирование директории. - запуск фм. - открытие в левой панели директории с директорией. - открытие в правой панели директори для копирования. - копирование директории. - проверка результата. - выход из фм. Тест 6. Перенос директории. - запуск фм. - открытие в левой панели директории с директорией. - открытие в правой панели директори для копирования. - перенос директории. - проверка результата. - выход из фм. Тест 7. Просмотр файла. - запуск фм. - открытие в левой панели директории с файлом. - просмотр файла. - проверка результата?? - выход из фм. Тест 8. Редактирование файла. - запуск фм. - открытие в левой панели директории с файлом. - Редактирование файла. - проверка результата. - выход из фм. Тест 9. Создание файла. - запуск фм. - открытие в левой панели директории для создания в ней файла. - Создание и редактирование файла. - проверка результата. - выход из фм. Тест 10. Удаление файла. - запуск фм. - открытие в левой панели директории с файлом. - удаление файла. - проверка результата. - выход из фм. Тест 11. Копирование файла. - запуск фм. - открытие в левой панели директории с файлом. - открытие в правой панели директори для копирования. - копирование файла. - проверка результата. - выход из фм. Тест 12. Перенос файла. - запуск фм. - открытие в левой панели директории с файлом. - открытие в правой панели директори для копирования. - перенос файла. - проверка результата. - выход из фм. 2. Список задач для версии 1.0. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Список задач далек от полноты и в дальнейшем будет доработан, на данный момент более важными являются планы текущей и следующих итераций. Общие: - публикация CVS libregistry: на данный момент готова к выпуску с версией 1.0, хотя возможны риски доработки. libabstractwidget: - написание интерфейсов основных виджетов - интеграция с libregistry - реализация основных виджетов libeventqueue: - написание интерфейса библиотеки - реализация интерфейса - интеграция с onion. onion: - командная строка - меню - файловые панели - диалог копирования - диалог удаления - редактирование файлов (внешний редактор) - просмотр файлов (внешний редактор) 3. План текущей итерации. -=-=-=-=-=-=-=-=-=-=-=-=- (2 units == week): Начало второй итерации: 12 октября 2003 Окончание второй итерации: 1 ноября 2003 В конце второй итерации нужно будет добиться функциональности системы реализующей следующий сценарий: 1) запускаем onion 2) нажимаем клавишу F10 3) NcursesKeyboardGenerator генерирует событие KeyPressed для F10 4) сообщение получает KeyMapTranslator 5) KeyMapHandler генерирует событие OnionFM::Command для exit 6) OnionFMHandler получает событие и выполняет OnionFM->exit() 7) затем OnionFMHandler бросает исключение ExitEventException для обрабоки клиентом класса Onion::EventControl 8) main() перехватывает исключение ExitEventException и выходит из фм. Список необходимых задач для реализации сценария: 1) разработка класса EventController (менеджер очереди событий). расчетное время: 1 unit 2) разработка интерфейсов EventHandler (обработчик события) и EventGenerator (генератор событий) расчетное время: 1 unit 3) разработать код для EventController с помощью которого можно регестрировать и удалять из контроллера обработчики и генераторы. расчетное время: 1 unit 4) разработать KeyMapTranslator, который будет отображать нажатие клавиш на события для OnionFMHandler расчетное время: 1 unit 5) добавить команду OnioFM::exit(), и исключение ExitEventException. расчетное время: 1 unit Итого: общее расчетное время для второй итерации - около 2,5 недель (1 unit == 1/2 недели) 4. План следующей итерации -=-=-=-=--=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Во время следующей итерации нужно будет приблизиться к реализации следующего сценария действий: 1) запуск onion 2) нажимаем F10 3) появляется диалоговое окно с кнопками OK и CANCEL 4) при нажатии OK, onion выходит. 5) при нажатии CANCEL, пишет "я бы не выходил, но не вижу смысла этого не сделать" и выходит