Файл: Иванова Г.С. Технология программирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.11.2019

Просмотров: 9474

Скачиваний: 184

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Пример

 7.9. 

Разработать

диаграмму

размещения

для

системы

учета

успеваемости

студентов

Локальная

сеть

деканата

связывает

сервер

деканата

и

компьютеры

декана

его

заместителей

и

сотрудников

деканата

отвечающих

за

занесение

информации

в

базу

данных

Серверную

часть

системы

и

базу

данных

целесообразно

поместить

на

сервер

деканата

На

компьютерах

локальной

сети

в

этом

случае

будут

функционировать

соответствующие

клиентские

части

приложения

 (

рис

7.28). 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 

7.7. 

Особенность

спиральной

модели

разработки

Реорганизация

проекта

Спиральная

модель

жизненного

цикла

разработки

программного

обеспечения

предполагает

что

процесс

разработки

программной

системы

выполняется

итерационно

При

этом

во

время

проектирования

очередной

версии

может

обнаружиться

что

хорошо

продуманная

на

начальных

итерациях

программа

утратила

свою

изначально

четкую

структуру

за

счет

накопившихся

исправлений

 («

заплаток

»). 

Каждая

 «

заплатка

» 

в

свое

время

ставилась

чтобы

ликвидировать

 «

небольшое

» 

несоответствие

уже

реализованной

части

и

той

что

находилась

в

процессе

реализации

Возможно

также

что

часть

кодов

при

этом

становилось

неиспользуемой

а

какие

-

то

коды

 - 

не

эффективными

Все

это

вместе

приводит

к

тому

что

разобраться

в

программе

становится

достаточно

сложно

В

такой

ситуации

необходима

реорганизация

программ

т

е

их

перепроектирование

без

изменения

функциональности

Своевременно

выполненная

реорганизация

позволит

сделать

структуру

программы

опять

четкой

и

понятной

Несмотря

на

то

что

реорганизационные

изменения

как

правило

невелики

программисты

их

обычно

не

любят

так

как

придерживаются

правила

  «

работает

 — 

не

трогай

». 

Кроме

того

сроки

обычно

ограничены

и

тратить

время

на

переделку

того

что

уже

отлажено

кажется

нецелесообразным

Практика

же

показывает

что

отказ

от

реорганизации

при

накоплении

исправ

-

лений

приводит

к

усложнению

программы

и

соответственно

снижению

ее

технологичности

со

всеми

вытекающими

последствиями


background image

Реорганизацию

следует

выполнять

если

при

расширении

функциональности

обнаруживаются

нарушения

основных

концепций

проекта

или

код

стал

трудным

для

понимания

В

этом

случае

проектирование

нужно

приостановить

и

провести

необходимую

реорганизацию

Перепроектирование

программы

не

следует

совмещать

с

увеличением

ее

функциональности

После

реорганизации

программу

необходимо

протестировать

чтобы

убедиться

что

ничего

не

было

нарушено

а

потом

уже

расширять

ее

возможности

 
 

Контрольные

вопросы

и

задания

 
 

1.

Как

описывают

структуру

программного

обеспечения

при

объектном

подходе

Что

такое

«

пакет

»? 

Для

чего

используют

диаграммы

пакетов

2.

Какие

стереотипы

классов

введены

и

почему

3.

Разработайте

диаграмму

пакетов

графического

редактора

описанного

вами

при

выполнении

задания

 9 

к

гл

. 6. 

Какие

пакеты

включены

в

эту

диаграмму

и

почему

Какие

пакеты

будут

связаны

между

собой

4.

Постройте

диаграмму

последовательности

действий

для

объектов

любых

предложенных

вами

пакетов

Какими

сообщениями

обмениваются

объекты

Какую

информацию

программист

получит

анализируя

эту

диаграмму

5.

Какую

диаграмму

используют

при

уточнении

взаимодействия

объектов

Постройте

эту

диаграмму

для

объектов

предыдущего

задания

6.

Перечислите

основные

компоненты

классов

Как

описывают

эти

компоненты

7.

В

каких

случаях

используют

диаграммы

состояний

объекта

Построите

диаграмму

состояний

для

любого

управляющего

объекта

8.

Постройте

уточненную

диаграмму

классов

по

результатам

исследования

взаимодействия

объектов

Какая

еще

информация

необходима

для

реализации

этих

классов

9.

Что

понимают

под

диаграммой

компонентов

Какую

информацию

она

содержит

В

каких

случаях

целесообразно

строить

диаграммы

компонентов

10. 

Какую

информацию

содержит

диаграмма

размещения

В

каких

случаях

целесообразно

использовать

эти

диаграммы


background image

8. 

РАЗРАБОТКА

ПОЛЬЗОВАТЕЛЬСКИХ

ИНТЕРФЕЙСОВ

На

ранних

этапах

развития

вычислительной

техники

пользовательский

интерфейс

рассматривался

как

средство

общения

человека

с

операционной

системой

и

был

достаточно

примитивным

В

основном

он

позволял

запустить

задание

на

выполнение

связать

с

ним

конкретные

данные

и

выполнить

некоторые

процедуры

обслуживания

вычисли

» 

тельной

установки

Со

временем

по

мере

совершенствования

аппаратных

средств

появилась

возможность

создания

интерактивного

программного

обеспечения

использующего

специальные

пользовательские

интерфейсы

В

настоящее

время

основной

проблемой

является

разработка

интерактивных

интерфейсов

к

сложным

программным

продуктам

рассчитанным

на

использование

непрофессиональными

пользователями

В

последние

годы

были

сформулированы

основные

концепции

построения

таких

пользовательских

интерфейсов

и

предложено

несколько

методик

их

создания

 
 

8.1. 

Типы

пользовательских

интерфейсов

и

этапы

их

разработки

Пользовательский

интерфейс

представляет

собой

совокупность

программных

и

аппаратных

средств

обеспечивающих

взаимодействие

пользователя

с

компьютером

Основу

такого

взаимодействия

составляют

диалоги

Под

диалогом

в

данном

случае

понимают

регламентированный

обмен

информацией

между

человеком

и

компьютером

осуществляемый

в

реальном

масштабе

времени

и

направленный

на

совместное

решение

конкретной

задачи

обмен

информацией

и

координация

действий

 [35]. 

Каждый

диалог

состоит

из

отдельных

процессов

ввода

-

вывода

которые

физически

обеспечивают

связь

пользователя

и

компьютера

Обмен

информацией

осуществляется

передачей

сообщений

и

управляющих

сигналов

Сообщение

 - 

порция

информации

участвующая

в

диалоговом

обмене

Различают

• 

входные

сообщения

которые

генерируются

человеком

с

помощью

средств

ввода

клавиатуры

манипуляторов

например

мыши

и

т

п

.; 

• 

выходные

сообщения

которые

генерируются

компьютером

в

виде

текстов

звуковых

сигналов

и

/

или

изображений

и

выводятся

пользователю

на

экран

монитора

или

другие

устройства

вывода

информации

 (

рис

. 8.1). 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

В

основном

пользователь

генерирует

сообщения

следующих

типов

запрос

информации

запрос

помощи

запрос

операции

или

функции

ввод

или

изменение

информации

выбор

поля


background image

кадра

и

т

д

В

ответ

он

получает

подсказки

или

справки

информационные

сообщения

не

требующие

ответа

приказы

требующие

действий

сообщения

об

ошибках

нуждающиеся

в

от

-

ветных

действиях

изменение

формата

кадра

и

т

д

Ниже

перечислены

основные

устройства

обеспечивающие

выполнение

операций

ввода

-

вывода

Для

вывода

сообщений

монохромные

и

цветные

мониторы

 - 

вывод

оперативной

текстовой

и

графической

информации

принтеры

 - 

получение

 «

твердой

копии

» 

текстовой

и

графической

информации

графопостроители

 - 

получение

твердой

копии

графической

информации

синтезаторы

речи

 - 

речевой

вывод

звукогенераторы

 - 

вывод

музыки

и

т

п

Для

ввода

сообщений

клавиатура

 - 

текстовый

ввод

планшеты

 - 

графический

ввод

сканеры

 - 

графический

ввод

• 

манипуляторы

световое

перо

сенсорный

экран

 - 

позиционирование

и

выбор

информации

на

экране

и

т

п

Типы

интерфейсов

.

По

аналогии

с

процедурным

и

объектным

подходом

к

программированию

различают

процедурно

-

ориентированный

и

объектно

-

ориентированный

подходы

к

разработке

интерфейсов

 (

рис

. 8.2).  

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Процедурно

-

ориентированные

интерфейсы

используют

традиционную

модель

взаимодействия

с

пользователем

основанную

на

понятиях

  «

процедура

» 

и

  «

операция

». 

В

рамках

этой

модели

программное

обеспечение

предоставляет

пользователю

возможность

выполнения

некоторых

действий

для

которых

пользователь

определяет

соответствующие

данные

и

следствием

выполне

-

ния

которых

является

получение

желаемых

результатов

Объектно

-

ориентированные

интерфейсы

используют

несколько

иную

модель

взаимодействия

с

пользователем

ориентированную

на

манипулирование

объектами

предметной

области

В

рамках

згой

модели

пользователю

предоставляется

возможность

напрямую

взаимодействовать

с

каждым

объектом

и

инициировать

выполнение

операций

в

процессе

которых

взаимодействуют

несколько

объектов

Задача

пользователя

формулируется

как

целенаправленное

изменение

некоторого

объекта

имеющего

внутреннюю

структуру

определенное

содержание

и

внешнее

символьное

или

графическое

представление

Объект

при

этом

понимается

в

широком

смысле

слова

например

модель

реальной

системы

или

процесса

база

данных

текст

и

т

п

Пользователю

предоставляется

возможность

создавать

объекты

изменять

их

параметры

и

связи

с

другими

объектами

а

также

инициировать

взаимодействие

этих

объектов

Элементы

интерфейсов

данного


background image

типа

включены

в

пользовательский

интерфейс

 Windows, 

например

пользователь

может

  «

взять

» 

файл

и

 «

переместить

» 

его

в

другую

папку

Таким

образом

он

инициирует

выполнение

операции

перемещения

файла

Применение

процедурно

-

ориентированных

интерфейсов

в

данном

случае

не

означает

использования

структурного

подхода

к

разработке

соответствующего

программного

обеспечения

Более

того

реализация

современного

процедурно

-

ориентированного

пользовательского

интерфейса

на

базе

структурного

подхода

является

очень

сложной

и

трудоемкой

задачей

Таблица

 8.1 

Процедурно

-

ориентированные

пользовательские

интерфейсы

Объектно

-

ориентированные

пользовательские

интерфейсы

Обеспечивают

пользователей

функциями

необходимыми

для

выполнения

задач

Акцент

делается

на

задачи

 
 

Пиктограммы

представляют

приложения

окна

или

операции

Содержание

папок

и

справочников

отображается

с

помощью

таблиц

и

списков

Обеспечивают

пользователям

возможность

взаимодействия

с

объектами

Акцент

делается

на

входные

данные

и

результаты

Пиктограммы

представляют

объекты

 
 

Папки

и

справочники

являются

визуальными

контейнерами

объектов

В

табл

. 8.1 

перечислены

основные

отличия

пользовательских

моделей

интерфейсов

процедурного

и

объектно

-

ориентированного

типов

Различают

   

п

р

о

ц

е

д

у

р

н

о

 – 

о

р

и

е

н

т

и

р

о

в

а

н

н

ы

е

   

интерфейсы

трех

типов

«

примитивные

», 

меню

и

со

свободной

навигацией

Примитивным

называют

интерфейс

который

организует

взаимодействие

с

пользователем

в

консольном

режиме

Обычно

такой

интерфейс

реализует

конкретный

сценарий

работы

программного

обеспечения

например

ввод

данных

 - 

решение

задачи

 - 

вывод

результата

 (

рис

. 8.3, 

а

). 

Единственное

отклонение

от

последовательного

процесса

которое

обеспечивается

данным

интерфейсом

заключается

в

организации

цикла

для

обработки

нескольких

наборов

данных

 (

рис

8.3, 

б

). 

Подобные

интерфейсы

в

настоящее

время

используют

только

в

процессе

обучения

программированию

или

в

тех

случаях

когда

вся

программа

реализует

одну

функцию

например

в

некоторых

системных

утилитах

Интерфейс

-

меню

в

отличие

от

примитивного

интерфейса

позволяет

пользователю

выбирать

необходимые

операции

из

специального

списка

выводимого

ему

программой

Эти

интерфейсы

предполагают

реализацию

множества

сценариев

работы

последовательность

действий

в

которых

определяется

пользователем

Различают

одноуровневые

и

иерархические

меню

Первые

используют

для

сравнительно

простого

управления

вычислительным

процессом

когда

вариантов

немного

 (

не

более

 5-7), 

и

они

включают

операции

одного

типа

например

Создать

Открыть

Закрыть

и

т

п

Вторые

 - 

при

большом

количестве

вариантов

или

их

очевидных

различиях

например

операции

с

файлами

и

операции

с

данными

хранящимися

в

этих

файлах

Интерфейсы

данного

типа

несложно

реализовать

в

рамках

структурного

подхода

к

программированию

На

рис

. 8.4 

показана

типичная

структура

алгоритма

программы

организующей

одноуровневое

меню

.