Итерация 1 – реализация сценариев элемента Use Case Управление окнами
Для реализации сценария Создание окна программируются следующие операции класса Window:
q framework – создание каркаса окна;
q register – регистрация окна;
q set_call_back – установка функции обратного вызова;
q make_window – задание видимости окна.
Далее реализуются операции общего управления окнами, методы класса Window_Manager:
q add_to_list – добавление нового окна в массив управляемых окон;
q find – поиск окна с заданным переключающим символом.
Программируются операции класса Input-Manager:
q window_prolog – инициализация WUI;
q window_start – запуск цикла обработки событий;
q window_epilog – закрытие WUI.
В ходе реализации перечисленных операций выясняется необходимость и программируется содержание вспомогательных операций.
1. В классе Window_Manager:
q write_to – форматный вывод сообщения в указанное окно;
q hide_win – удаление окна с экрана;
q switchAwayFromTop – подготовка окна к переходу в пассивное состояние;
q switch_to_top – подготовка окна к переходу в активное состояние;
q window_fatal – формирование донесения об ошибке;
q top – переключение окна в активное состояние;
q send_to_top – посылка символа в активное окно.
2. В классе Window:
q put – три реализации для записи в окно символьной, строковой и числовой информации;
q create – создание макета окна (используется операцией framework);
q position – изменение позиции курсора в окне;
q about – возврат информации об окне;
q switch_to – пометка активного окна;
q switch_away – пометка пассивного окна;
q send_to – посылка символа в окно для обработки.
Второй шаг первой итерации ориентирован на реализацию сценария Уничтожение окна. Основная операция – finalize (метод класса Window), она выполняет разрушение окна. Для ее обеспечения создаются вспомогательные операции:
q de_register – удаление окна из массива управляемых окон;
q remove_from_list (метод класса Window_Manager) – вычеркивание окна из регистра.
Для реализации сценария Изменение стиля рамки создаются операции в классе Window:
q mark_border – построение новой рамки окна;
q refresh – перерисовка окна на экране.
В конце итерации создаются операции класса Screen:
q dear_screen – очистка экрана;
q position_cursor – позиционирование курсора;
q put – вывод на экран дисплея строк, символов и чисел.
Результаты оценки качества первой итерации представлены в табл. 15.3.
Таблица 15.3.Оценки качества WUI после первой итерации
Метрика | lnput_ Manager | Window_ Manager | Screen | Root_ Window | Window | Среднее значение |
WMC | 0,12 | 0,42 | 0,11 | 0,83 | 0,3 | |
NOC | – | – | – | 0,2 | ||
СВО | 1,8 | |||||
RFC | ||||||
LCOM | 1,6 | |||||
CS | 3/2 | 10/8 | 5/1 | 0/2 | 18/22 | 7,2/7 |
NOO | – | – | – | |||
NOA | – | – | – | 3,6 | ||
SI | – | – | – | |||
OSAVG | 4,2 | 2,2 | 4,6 | |||
NPAVG | 1,3 | 2,4 | 0,9 | |||
Метрики, вычисляемые для системы | ||||||
DIT | ||||||
NC | ||||||
MOM | ||||||
LOC |
Дата добавления: 2019-02-07; просмотров: 305;