АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Итерация 3 — разработка диалогового окна

Читайте также:
  1. Авторефераты3.2. Идентификация и разработка стратегических альтернатив
  2. Быстрая разработка приложений
  3. Выбор и разработка экологических критериев продукции
  4. ГЛАВА 2.2. РАЗРАБОТКА СТРАТЕГИИ ИННОВАЦИОННОЙ ОРГАНИЗАЦИИ НА РЫНКАХ ЛИЦЕНЗИЙ
  5. Глава 5. Разработка концепции продукции
  6. Декабристы: причины появления, разработка проектов преобразования России. Восстание 14 декабря и его итоги. Историческое значение.
  7. Жизненный цикл товара. Разработка нового товара
  8. Задание 5. Поиск оригинальных идей и разработка эффективного текста.
  9. Итерация 1 — реализация сценариев элемента Use Case Управление окнами
  10. Итерация 2 — реализация сценариев элемента Use Case Использование окон
  11. Кипение и парообразование. Кавитация. Облитерация. Силы поверхностного натяжения.

 

Шаг 1: Спецификация представления диалогового окна.

На этом шаге фиксируется представление заказчика об обязанностях диалогового окна. Положим, что оно имеет следующий вид:

1. Диалоговое окно накапливает посылаемые в него символы, отображая их по мере получения.

2. При получении символа конца сообщения (ENTER) полная строка текста принимается в функцию обратного вызова, связанную с диалоговым окном.

3. Функция обратного вызова реализует обслуживание, требуемое пользователю.

4. Функция обратного вызова обеспечивается прикладным программистом.

Шаг 2: Модификация диаграммы Use Case для WUI.

Очевидно, что дополнительное требование приводит к появлению дополнительного элемента Use Case, который находится в отношении «расширяет» с базовым г элементом Use Case Использование окон.

Диаграмма Use Case принимает вид, представленный на рис. 15.13.

Рис. 15.13.Модифицированная диаграмма Use Case для WUI

 

Шаг 3: Описание элемента Use Case Использование диалогового окна.

Действия начинаются с ввода пользователем переключающего символа, активизирующего данный тип окна. Символ воспринимается менеджером ввода. Далее пользователь вводит данные, которые по мере поступления отображаются в диалоговом окне. После нажатия пользователем символа окончания ввода (ENTER) данные передаются в функцию обратного вызова как параметр. Выполняется функция обратного вызова, результат выводится в простое окно результата.

Шаг 4: Диаграмма последовательности Использование диалогового окна.

Диаграмма последовательности для сценария Использование диалогового окна показана на рис. 15.14.

Рис. 15.14.Диаграмма последовательности Использование диалогового окна

 

Шаг 5: Создание класса.

Для реализации сценария Использование диалогового окна создается новый класс Dialog, который является наследником класса Window. Объекты класса Dialog образуют диалоговые окна.

Класс Dialog переопределяет следующие операции, унаследованные от класса Window:

q framework — формирование диалогового окна. Параметры операции: имя диалогового окна, координаты, ширина окна, заголовок окна и ссылка на функцию обратного вызова. Операция создает каркас окна, устанавливает для него функцию обратного вызова, делает окно видимым и регистрирует его в массиве управляемых окон;



q send_to — обрабатывает пользовательский ввод, посылаемый в диалоговое окно. Окно запоминает символы, вводимые пользователем, а после нажатия пользователем клавиши ENTER вызывает функцию обратного вызова, обрабатывающую эти данные.

Конечное представление иерархии классов WUI показано на рис. 15.15. Результаты оценки качества проекта (в конце третьей итерации) сведены в табл. 15.5. Динамика изменения значений для метрик класса показана в табл. 15.6.

Таблица 15.5.Оценки качества WUI после третьей итерации

Метрика lnput_ Manager Window Manager Screen Root Window Window Menu Menu-title Dialog Среднее значение
WMC 0,12 0,42 0,11 0,98 0,33 0,27 0,23 0,31
NOC - - - 0,5
СВО
RFC 9,1
LCOM
CS 3/2 10/8 5/1 0/2 22/22 28/24 11/12 24/14 12,2/10,6
NOO - - - 0,9
NOA - - - 3,5
SI - - - 0,23 0,46 0,27 0,14
OSAVG 4,2 2,2 4,45 4,13 11,5 4,9
NPAVG 1,3 2,18 4,63 1,67 1,8
Метрики, вычисляемые для системы
DIT                
NC                
NOM                
LOC                
                                 

Таблица 15.6.Средние значения метрик класса на разных итерациях

‡агрузка...
Метрика Итерация 1 Итерация 2 Итерация 3
WMC 0,3 0,32 0,31
NOC 0,2 0,4 0,5
СВО 1,8
RFC 9,4 9,1
LCOM 1,6 1,1
CS 7,2/7 11,3/10,1 12,2/10,6
NOO 0,7 0,9
NOA 3,6 3,5
SI 0,1 0,14
OSAVG 4,0 4,9
NPAVG 0,9 1,5 1,8
DIT
NC
NOM
LOC

Рис. 15.15.Конечная диаграмма классов WUI

 

Сравним средние значения метрик второй и третьей итераций:

1. Общая сложность WUI возросла (увеличились значения LOC , NOM и NC), однако повысилось качество классов (уменьшились средние значения WMC и RFC).

2. Увеличились возможности многократного использования классов (о чем свидетельствует рост среднего значения NOC и уменьшение среднего значения WMC).

3. Возросла средняя связность класса (уменьшилось среднее значение метрики LCOM).

4. Уменьшилось среднее значение сцепления класса (сохранилось среднее значение СВО и уменьшилось среднее значение RFC).

Вывод:качество проекта стало выше.

На последней итерации рассчитаны значения интегральных метрик Абреу, они представлены в табл. 15.7. Эти данные также характеризуют качество проекта и подтверждают наши выводы.

Таблица 15.7.Значения метрик Абреу для WUI

Метрика Значение
МНF 0,49
AHF 0,49
MIF 0,49
AIF 0,29
POF 0,69
COF 0,25

Метрические данные проекта помещают в метрический базис фирмы-разработчика, тем самым обеспечивается возможность их использования в последующих разработках.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 |


Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)