Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проектирование и разработка информационных систем. Учебное пособие для СПО

.pdf
Скачиваний:
4
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
121
Основное достоинство фразовой формы состоит в относи­тельно свободном общении с системой.
Директивная форма. Предполагает использование ко­манд (директив) специально разработанного формального языка. Командой в этом случае называют предложение этого языка, описывающее комбинированные данные, которые включают идентификатор инициируемого процесса и при необходимости данные для него.
Команду можно вводить:
1) в виде строки текста, специально разработанного фор-
мата, например, команды MS DOS, которые вводятся в команд­ной строке;
2) нажатием некоторой комбинации клавиш клавиатуры;
3) посредством манипулирования мышью, например, «пе-
ретаскиванием» пиктограмм;
4) комбинацией второго и третьего способов.
Основные достоинства директивной формы:
– сравнительно небольшой объем вводимой информации;
– гибкость возможное выбора операции в данном случае ограничены только набором допустимых команд;
– ориентация на диалог, управляемый пользователем;
– использование минимальной области экрана или неис­пользование ее вообще;
– возможность совмещения с другими формами.
Недостатки директивной формы:
– практическое отсутствие подсказок на экране, что требу­ется запоминания вводимых команд и их синтаксиса;
– полное отсутствие обратной связи о состоянии иниции­рованных процессов;
– необходимость навыков ввода текстовой информации или манипуляции мышью;
– отсутствие возможности настройки пользователем.
Исследования показали, что директивная форма удобна для пользователя-профессионала, который обычно быстро запо­минает синтаксис часто используемых команды или комбинации клавиш. Основные достоинства формы (гибкость и хорошие временные характеристики) проявляются в этом случае особен­но ярко.
122
Табличная форма. Предполагает, что пользователь выби­рает ответ из предложенных программой. Язык диалога для таб­личной формы имеет простейший синтаксис и однозначную се­мантику, что достаточно легко реализовать. Удобна эта форма и для пользователя, так как выбрать всегда проще, чем вспомнить, что особенно существенно для пользователя-непрофессионала или пользователя, редко использующего конкретное программ­ное обеспечение. Однако применение табличной формы воз­можно не всегда: ее можно использовать только, если множе­ство возможных ответов на конкретный вопрос конечно. При­чем, если количество возможных ответов велико (более 20), то применение табличной формы может оказаться нецелесообразным.
Достоинства табличной формы:
– наличие подсказки, что уменьшает нагрузки на память пользователя, так как данная форма ориентирована не на запо­минание, а на узнавание;
– сокращение количества ошибок ввода: пользователь не вводит информацию, а указывает на нее;
– сокращение времени обучения пользователя;
– возможность совмещения с другими формами;
– возможность настройки пользователем.
Недостатки табличной формы:
– необходимость наличия навыков навигации по экрану;
– использование сравнительно большой площади экрана для изображения визуальных компонентов;
– интенсивное использование ресурсов компьютера, что требует постоянного обновления информации на экране.
Следует иметь в виду, что типы и формы диалоги выби­рают независимо друг от друга: любая форма применима для обоих типов диалогов. Однако фразовая форма, которая исполь­зуется в диалоге, управляемом пользователем, как правило, предполагает более сложные синтаксис и семантику языка диа­лога, так как программа должна «понимать» пользователя.
Сложное ПО обычно взаимодействует с пользователем по­средством диалогов различных типов и форм в зависимости от решаемых задач. Причем помимо диалогов, происходящих в процессе нормальной работы ПО и называемых синхронными,
123
предусматривают диалоги по инициативе системы или пользо­вателя при исключительных ситуациях (ошибках). Такие диало­ги называются асинхронными, их используют для выдачи экс­тренных сообщений.
Вопросы и задания для самопроверки
1. Что следует понимать под планированием работ?
2. Почему проводится заведомо неточное начальное пла-
нирование и на каком этапе?
3. Поясните суть и значение ТЭО.
4. Что такое «зависимости» и как они влияют на составле-
ние рабочего графика?
5. Объясните, почему распределенные системы всегда бо-
лее масштабируемы, чем централизованные. Какой вероятный предел масштабируемости программных систем?
6. В чем основное отличие между моделями толстого и
тонкого клиента в разработке систем или «клиент — сервер»? Объясните, почему использование Java как языка реализации сглаживает различия между этими моделями?
7. Рассмотрите возможные проблемы, которые могут воз-
никнуть при преобразовании централизованной системы 1980-х годов, предназначенной для работы в сфере здравоохранения, в систему архитектуры «клиент — сервер».
8. Распределенные системы, базирующиеся на модели
«клиент — сервер», разрабатывались с 1980-х годов, но только недавно такие системы, основанные на распределенных объек­тах, были реализованы. Приведите три причины, почему так по­лучилось.
9. Объясните, почему использование распределенных объ-
ектов совместно с брокером запросов к объектам упрощает реа­лизацию масштабируемых систем «клиент — сервер». Проил­люстрируйте свой ответ примером.
10. Какие архитектуры систем вы знаете?
124
11. Что такое модель управления и какие из них вы знаете?
12. Применима ли модель диспетчера для последователь-
ных систем?
13. Разработайте интерфейс для ИС по теме, заданной
преподавателем.
14. Какие особенности восприятия человеческого мозга
следует учитывать при разработке пользовательского интерфейса?
125
ГЛАВА 4. ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ
4.1. Что такое модель жизненного цикла
Технология проектирования есть понимаемые как единое целое методология, инструментальные средства и управление проектом (рис. 2 раздела «Введение в дисциплину»). Эти поня­тия взаимосвязаны, например, выбор методологии подразумева­ет степень использования инструментальных (CASE) средств, а также режим работы, например, степень участия пользователей в процессе разработки ПО.
Понятие «методология» происходит от слов «метод» и «логия», то есть буквально — «учение о методах».
Технология проектирования определяет структуру, логи­ческую организацию, методы и средства проектирования. Она предполагает организацию проектирования в соответствии с ка­кой-либо моделью жизненного цикла ИС. Каждая модель жиз­ненного цикла базируется на использовании определенных ме­тодов и средств проектирования.
Модель жизненного цикла есть последовательность, взаи­модействие и смысловая наполненность этапов жизненного цик­ла. С выбора (или построения) модели жизненного цикла начи­нается работа над проектом. Она должна определяться в общих чертах еще на этапе предпроектного анализа.
Существует множество различных моделей жизненного цикла разработки ПО. Все они представляют собой логически построенную последовательность действий, начиная с осознания необходимости в новой ИС и заканчивая ее производством. Каждая модель представляет собой процесс, который структур­но состоит из этапов, характеристика этих этапов была дана в гл. 1.
Собственно, разработка ИС включает четыре этапа, а именно:
1. Анализ и планирование. Этап начинается предпро-
ектными исследованиями и исследованиями концепции. Затем формулируются и специфицируются требования. На базе специ­фикации требований формируется техническое задание, в кото-
126
ром кроме требований к ИС заложено начальное планирование процесса разработки.
2. Проектирование. Предполагает разработку структуры
проекта, структуры данных, архитектуры ПО, интерфейса, мо­дели управления и объектной модели.
3. Кодирование — это реализация проекта в виде отдель-
ных подсистем, их отладка и интегрирование.
4. Верификация и аттестация. Верификация предпола-
гает всестороннее тестирование ИС, аттестация — подписание документации о соответствии ИС спецификации и приеме ее заказчиком.
Но это толкование каждого этапа обобщенное. Каждая технология проектирования предполагает конкретное наполне­ние и взаимосвязи этапов и даже само наличие этапа. Наиболее известными моделями жизненного цикла являются:
– каскадная;
– эволюционного прототипирования;
– быстрой разработки приложений (RAD);
– спиральная;
– экстремального программирования (XP).
4.2. Каскадная модель
Каскадная модель — исторически самая первая. Хотя сей­час она вызывает много нареканий, но ее появление в 70-х годах прошлого века было революционным событием в мире создания программного обеспечения. Ранее процесс программирования носил хаотичный характер. Обычно написание программ, как наиболее интересное для программиста занятие, предшествовало даже уяснению функций создаваемой программы. Поэтому су­ществовало только два этапа: собственно кодирование и исправ­ление ошибок. Они чередовались до тех пор, пока не истекали сроки разработки или финансирование.
Каскадная модель (рис. 4.1) явилась альтернативой этого подхода. Она предполагает строгую последовательность и доку­ментирование этапов. Переход к следующему этапу осуществля­ется только после того, как полностью завершаются работы на предыдущем.
127
Рис. 4.1. Каскадная модель
Каждый этап модели завершается созданием неких выход­ных данных, которые по его завершении считаются заморожен­ными. Если же они изменяются (что встречается весьма часто), то это ведет к изменению графика работ, поскольку ни модель, ни план не были рассчитаны на внесение изменения на более поздних этапах жизненного цикла.
Наиболее критично то, что модель не рассчитана на неиз­бежные изменения в требованиях, которые являются выходными данными первого этапа. Эта особенность модели приводит к значительным затратам, если требования изменятся на следую­щих этапах жизненного цикла. Из этого следуют два негативных свойства каскадной модели:
1. Возникает необходимость в жестком управлении и кон-
троле.
2. Особенно критично то, что все требования должны быть
известны в начале жизненного цикла, но заказчики редко могут сформулировать четко все требования в начале разработки.
Модель основана на документации, а значит, количество документов может быть избыточным.
Весь программный продукт разрабатывается за один раз. Нет возможности разбить систему на части. В результате могут возникнуть проблемы с финансированием проекта. Происходит распределение больших денежных средств, а сама модель едва ли позволяет повторно распределить средства, не разрушив при этом проект в процессе его выполнения.
По мере усложнения разрабатываемого ПО каскадная мо­дель стала тормозить процесс проектирования вместо того, что­бы способствовать прогрессу. Она была модифицирована. Были
128
предусмотрены обратные связи между этапами, так называемые итерации. Но общую картину достоинств и недостатков модели это не изменило. Заложенная в ней изначально линейность и формализованность остаются превалирующими. Рассмотрим плюсы и минусы этой модели.
4.2.1. Преимущества каскадной модели
Преимущества каскадной модели при ее правильном при­менении:
– модель хорошо определена, понятна и облегчает как планирование, так и отслеживание хода выполнения проекта, поскольку разработка выполняется поэтапно;
– позволяет участникам проекта, завершившим действия на выполняемом этапе, принимать участие в работе над другими проектами;
– модель упорядочено справляется со сложностями и хо­рошо срабатывает для тех проектов, которые достаточно понят­ны, но все же трудно разрешимы.
4.2.2. Недостатки каскадной модели
К недостаткам каскадной модели следует отнести:
– модель предполагает однократное прохождение каждой фазы, и необходимость корректировки сделанного на предыду­щих этапах рассматривается как нежелательная ситуация. Ре­зультаты каждой фазы документируются и «замораживаются». Они не должны изменяться на следующих фазах, так как это приведет к значительному увеличению затрат и сбою в графике;
– для большинства проектов неизбежна корректировка требований с течением времени в силу объективных причин, и это является не ошибкой разработчиков, но рабочим моментом;
– она не отображает основное свойство разработки ПО, направленное на разрешение возникающих задач, так как слиш­ком формализована, и каждый этап строго связан с определенными действиями, что отличается от реальной работы коллектива;
129
– пользователь принимает участие только в самом начале работы над проектом при сборе требований и в конце — во вре­мя приемочных испытаний и аттестации уже готового ПО, то есть пользователь не может постепенно привыкнуть к системе. Процесс обучения происходит, когда ПО введено в эксплуата­цию;
– тщательное документирование всех этапов удорожает разработку и затягивает сроки.
4.2.3. Область применения каскадной модели
Применение модели надо ограничить ситуациями, в кото­рых требования и их реализация максимально четко определены и понятны.
Каскадная модель хорошо функционирует в циклах разра­ботки, где используется неизменяемое определение продукта и вполне понятные технические методики.
Если компания имеет опыт построения определенного ро­да системы — автоматизированного бухгалтерского учета, начисления зарплаты, ревизии, компиляции, производства, тогда в проекте, ориентированном на построение еще одного продукта такого же типа, возможно, даже основанного на существующих разработках, можно эффективно использовать каскадную мо­дель. Другим примером надлежащего применения модели может служить создание и выпуск новой версии уже существующего продукта, если вносимые изменения вполне определены и управляемы. Также перенос уже существующего продукта на новую платформу идеальный пример использования каскадной модели.
Каскадная модель на протяжении всего времени их суще­ствования используются при выполнении больших проектов, в которых задействованы несколько больших команд разработчи­ков.
130
4.3. Прототипные технологии
В 1975 году Фред Брукс в своей работе под названием «Легендарный человек-месяц» писал: «В большинстве проектов первая построенная система едва ли пригодна к употреблению. Она может быть слишком медленной, слишком объемной, не­удобной в использовании... В случае, если в проекте использует­ся новая системная концепция или новая технология, разработ­чик вынужден построить систему, которой впоследствии не вос­пользуется, поскольку даже при наилучшем планировании не­возможно предвидеть достижение нужного результата».
Эта идея построения экспериментальной, или прототип­ной, системы привела к возникновению многих современных технологий, наиболее известными из которых являются:
– «эволюционная» модель быстрого прототипирования;
– спиральной модели;
– быстрой разработки приложений (RAD).
Самое тяжелое в разработке ПО — принятие однозначного решения о том, что именно необходимо построить, то есть опре­деление детальных технических требований. Следовательно, чрезвычайно важно при разработке клиентских программ — это итеративное извлечение и уточнение требований к продукту. Ведь на самом деле пользователь не имеет представления о том, что именно он хочет получить.
Если есть прототип, работу которого пользователь может увидеть визуально, то он может либо формулировать требования «от противного», либо подтверждать те качества, которыми об­ладает прототип, как требования к системе. Он может, имея в своем распоряжении прототип, ознакомиться заранее с принци­пами работы и даже проводить обучение персонала еще до созда­ния ИС, что сокращает сроки ввода новой ИС в эксплуатацию.
Прототипом может служить первая, упрощенная версия ИС, но можно в качестве прототипа использовать ИС с подоб­ными функциями.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]