Объектно-ориентированный анализ информационной системы для периодических изданий

Тип работы:
Реферат
Предмет:
ТЕХНИЧЕСКИЕ НАУКИ


Узнать стоимость

Детальная информация о работе

Выдержка из работы

УДК 004. 414. 2:004. 04
ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ ПЕРИОДИЧЕСКИХ ИЗДАНИЙ
И. П. Бесценный, Е.Н. Султанкин
Обосновывается методология объектно-ориентированного анализа (ООА) и ее применение к информационной системе для периодических изданий.
Введение
Объектно-ориентированная технология широко применяется при разработке программного обеспечения больших информационных систем, но она до сих пор находится на стадии становления. Особенно это касается первой стадии процесса разработки — анализа предметной области. Большие, сложные системы в принципе не поддаются формальному описанию. При анализе предметная область разделяется на объекты, обладающие определёнными свойствами и вступающие во взаимодействие между собой. Поиск «правильных» категорий объектов требует больших усилий, при этом само понятие «правильности» не удаётся чётко сформулировать. Очень непросто выработать устойчивую систему абстракций, определяющую соответствующие объекты, описать их взаимодействие. При этом надо предвидеть сложности реализации объектов, обеспечивающей их повторное использование при проектировании других систем. Именно повторное использование и простота модификации гарантирует эффективность объектно-ориентированного программирования.
Многие исследователи разрабатывали каждый свою методику объектно-ориентированного анализа предметной области. Примеры этих методик описаны в [1,2,4,5,9]. Большая часть литературы англоязычна, и лишь немногие книги переведены на русский язык. Возможно, это объясняется малой популярностью в России теоретических изысканий по сравнению с практическими рекомендациями. Как правило, в учебниках по объектно-ориентированному программированию предлагаются законченные проекты и не говорится о том, как они были получены. Кроме того, современные средства автоматизации стадий анализа и проектирования информационных систем очень дорогие для российского пользователя, и возможности познакомиться с принципами их работы весьма ограничены. Всё это приводит к недостаточной образованности
Copyright © 2011 И. П. Бесценный, Е.Н. Султанкин
Омский государственный университет им. Ф. М. Достоевского E-mail: ibests@mail. ru, sultankin_evgeni@mail. ru
российских студентов в области методов объектно-ориентированного анализа и объектно-ориентированного проектирования. Сейчас на факультете компьютерных наук одним из авторов разрабатывается новый спецкурс, посвящённый анализу и проектированию информационных систем, и решается проблема приобретения программного обеспечения для САБЕ-технологий.
В настоящей статье дан обзор и показано применение принципов ООА как первого этапа проектирования автоматизированной информационной системы, предназначенной для координации издательской деятельности, на примере вымышленной редакции газеты.
1. Современные методики ООА
Различные методики ООА имеют общие черты, но отличаются акцентами на определённые аспекты процесса моделирования предметной области. Общая терминология обуславливает взаимопроникновение идей и понятий всех методов. В результате объединения этих методик были созданы стандарт описания моделей ШЕР [3] и язык моделирования иМЬ [5,6].
Основная процедура ООА — построение информационной модели, в которой фундаментальная структура предметной области абстрагируется от реального мира и чётко формализуется и документируется. Большинство исследователей выделяют три разновидности фундаментальной структуры предметной области. Функциональная структура — упорядоченная совокупность действий, процессов и операций, производимых анализируемой системой. Компонентная структура состоит из элементов (объектов) и их взаимосвязей. Динамическая (поведенческая) структура описывает возможные состояния системы и события, вызывающие переход из одного состояния в другое. Они могут анализироваться все вместе и должны быть согласованы друг с другом.
Для отдельных областей применения ООА приобретают значение распределение объектов и процессов во времени и пространстве (например, при разработке систем реального времени) или структура ограничений и правил поведения и использования (например, для бизнес-процессов). Конечная цель ООА -представить предметную область в терминах классов и объектов для дальнейшего проектирования логической структуры разрабатываемого программного обеспечения. Поэтому при анализе планируется наряду с вышеперечисленными концептуальная структура, объединяющая функции, компоненты, события, сценарии поведения с абстрактными понятиями, характерными для понимания сущности предметной области в иерархию классов.
Средствами описания функциональной структуры являются контекстные диаграммы, диаграммы процессов и потоков (ОЕО), снабжённые спецификацией используемых имён. Основная методика анализа функциональной структуры приведена в [7,8]. Отметим необходимость иерархической организации диаграмм по вложению для удобства представления большого количества объектов и связанную с этим проверку логической непротиворечивости составных частей. Эти трудоёмкие процедуры лучше производить с использованием специальных компьютерных программ моделирования. Работа с такими программами
описана в [10]. Мы использовали демонстрационную версию CASE Studio.
Параллельно с функциональной структурой разрабатывается структура используемых данных. Известные диаграммы «сущностей-связей» (ERD) помогают отразить связи, невидимые на DFD, и дополняют их. В дальнейшем они используются для реализации в СУБД. Для отображения динамического поведения системы используются диаграммы переходов состояний (STD), диаграммы деятельности языка UML, которые позволяют выделить основные механизмы реагирования на события. Дальнейшее структурирование множества операций снова приводит к DFD, но уже более детализированным. Таким образом процесс анализа становится итеративным. После проверки полноты и непротиворечивости модели создаются предварительные диаграммы классов и объектов, служащие отправной точкой для следующего этапа разработки -объектно- ориентированного проектирования.
2. Описание моделируемого издательства
Вымышленная редакция газеты нуждается в оперативном реагировании на происходящие события, чтобы вовремя создавать репортажи с места событий и составлять на основе этих репортажей выпуски газеты. Для этого она контактирует с различными агентами: информаторами и корреспондентами, а также поддерживает обратную связь с читателями посредством традиционной почты и различных сервисов сети Internet.
Газета выходит в различных вариантах:
• «Утренний Отчёт» — утренняя газета, доставляемая распространителями и содержащая краткие обзоры дневных выпусков и анонсы событий-
• «Рабочий Полдень» — ежедневная газета небольшого формата, которую можно купить в киосках или получить по подписке-
• «Вестник Интернационала» — еженедельный выпуск расширенного формата, заменяющий собой пятничный номер-
• «Интернационал советует…» — отдельные приложения, выпускающиеся раз в месяц на актуальную тему-
• Интернет-версия — здесь публикуется архив новостей за всё время существования газеты (полная версия номера появляется через неделю после выхода в печать).
Источниками информации для этих выпусков являются сообщения о событиях разной степени достоверности: от непроверенных слухов до официальных бюллетеней. Редакция должна определить приоритеты по тематике и актуальности, раздать задания корреспондентам на подробные репортажи и фотоматериалы. Регулярно проводится анализ мнения читателей и выбор тем для более сложных материалов: обзор за неделю, журналистское расследование, специальные интервью, сборник советов.
Все многообразие публикуемых в периодических печатных изданиях материалов можно классифицировать как по темам (политика, экономика, региональные новости, общественные проблемы, наука и техника, культура, криминал, светская хроника, спорт), так и по информационной насыщенности (анонс (краткое сообщение в несколько строк), заметка (2−5 абзацев), подробный репортаж и еженедельный обзор). Большое значение для успеха газеты имеет актуальность издаваемого материала по размаху описываемых событий (федеральная, региональная, местная), по времени (в том числе сезонные материалы) и по популярности (рейтинг, анкеты, отзывы читателей). Подробная классификация газетных материалов играет большую роль при проектировании автоматизированной информационной системы.
В описанной далее модели акцент делается на процессы сбора информации, сортировки по приоритетам, группировки в различные выпуски и распространения газеты. Типографские, экономические и правовые аспекты издательской деятельности остаются пока за рамками рассмотрения. В будущем они будут включены в более сложную и более адекватную модель издательства.
3. Модель газеты
Основная модель (essential model) согласно методике Йордона [8] состоит из краткого описания выполняемых системой функций и контекстной диаграммы, на которой отображается обмен информацией между системой и объектами окружающего мира. Конечная цель — определить границы моделирования. Например, корреспонденты могут быть штатными сотрудниками газеты, но процесс написания репортажей является творческим и не входит в автоматизированную систему обработки информации.
Рассматриваемая газета получает информацию о предстоящих событиях, проводит её сортировку и группировку, распределяет задания своим корреспондентам, обрабатывает получаемые репортажи, формирует выпуски и учитывает мнения и интересы читателей при отборе материала. Эти действия составляют главное назначение моделируемой системы.
Так как объекты окружающего мира чётко делятся на поставщиков и потребителей новостной информации, то удобно разделить контекстную диаграмму на две части. На первой диаграмме (рис. 1) показаны агенты — источники материалов для формирования выпусков газеты.
Когда ожидается любое локальное событие, описание которого может поднять рейтинг издания, вся надежда издательства на информаторов, будь то информационные агентства калибра Reuters или InterFax, или же одиночки, которые за небольшую плату готовы выложить все секреты мира. Назовём условно слухом сообщение о предстоящем реальном событии, содержащее его место и время (в общем это некий интервал), степень достоверности (вероятность того, что оно произойдёт) и одну или несколько рубрик для классификации, а возможно и предполагаемый заголовок для новостной ленты. Тематические рубрики целесообразно выбирать из заранее созданного иерархического словаря. Хотя очевидно, что задача создания удобной классификации всех событий
невероятно сложна. Например, и биологическая классификация видов и научный классификатор УДК далеки от совершенства.
Рис. 1. Основная модель: Информационные потоки между агентами и газетой
Помимо информаторов для планирования репортажей используются данные официальных структур всех уровней, от которых газета получает расписание публичных мероприятий — данные о планируемых событиях в политической и экономической сферах, а также готовые пресс-релизы о состоявшихся встречах и совещаниях. Сюда же можно отнести и другие источники публичной информации, такие как оргкомитеты научно-практических конференций, сайты спортивных организаций, календари культурных учреждений. С точки зрения нашей модели эти данные приходят регулярно, и к репортажам можно подготовиться заранее. Значит, можно составить календарь, на основе которого планируются репортажи.
Отдел планирования реагирует на поступление слухов и расписаний публичных мероприятий, проверяет их достоверность и отбирает события, имеющие интерес для читателей газеты. Учитывая имеющиеся в распоряжении людские ресурсы, раздаются задания на написание репортажей и получение фотографий с места событий. Корреспонденты и фотокорреспонденты присылают в газету два вида сообщений: заметка (1 фотография) и подробный репортаж с несколькими фотографиями.
Кроме этого, на особо интересные для читателей темы выдаются особые задания для обозревателей и специальных корреспондентов. Их работа включается в расширенный выпуск или отдельное приложение. Это, например, обзор за неделю, журналистское расследование, специальные интервью, сборник советов. Вовремя отпечатанная глава из ещё не опубликованного романа талантливого писателя способна поднять рейтинг газеты. Поэтому в нашей модели отражены и фрагменты художественных произведений. Однако такие вещи на заказ не пишутся, и спланировать их заранее не представляется возможным. Так как экономические аспекты не рассматриваются, то рекламных материалов в нашей модели нет.
Рис. 2. Основная модель: Информационные потоки между читателями и газетой
На второй контекстной диаграмме (рис. 2) отображены информационные потоки, связывающие газету с читателями. Читатели подразделяются на несколько категорий в зависимости от версии газеты и их активности в обратной связи с редакцией. Распространение утренней газеты среди потенциальных читателей может подтолкнуть некоторых людей к приобретению ежедневного выпуска. В нем для некоторых материалов публикуется адрес (электронный или обычный), по которому читатели ежедневника могут прислать отзыв со своим мнением на затронутую тему. Однако такие случаи редки.
Более активны в обратной связи постоянные читатели, которые получают не только ежедневные, но и еженедельные выпуски, в которых регулярно печатаются подробные анкеты о понравившихся темах и предполагаемой популярности будущих публикаций. ПосетителиеЬ-сайта могут оставлять коммен-
тарии на форуме и заполнять электронные анкеты. По информационной сути электронные и печатные отзывы и анкеты неразличимы. Предполагается учитывать активность читателей в конфиденциальной базе данных для возможных привилегий.
Информационные потоки, связывающие внешних агентов с газетой на контекстной диаграмме, состоят из данных с ясной структурой, которая приведена в таблице 1.
Таблица 1. Предварительная структура потоков данных
Поток данных Структура
Слухи Источник, достоверность, тема, время, место, заголовок
Расписание мероприятий Тема, источник, список (время, место, заголовок)
Пресс-релиз Источник, тема, время, место, заголовок, текст
Задание на фотографии Исполнитель, приоритет, тема, время, место, заголовок, срок, объем
Задание на репортаж Исполнитель, приоритет, тема, время, место, заголовок, срок, объем
Задание на обзор Исполнитель, приоритет, тема, срок
Особое задание Исполнитель, приоритет, тема, жанр, срок
Фотографии Список (изображение, подпись)
Заметка Тема, заголовок, краткий текст, подпись
Подробный репортаж Тема, заголовок, подробный текст, подпись
Обзор Тема, заголовок, текст обзора, подпись
Особые материалы Тема, заголовок, текст, жанр, подпись
Фрагменты произведений Автор, название, текст, размер текста
Отзывы Заголовок, номер выпуска, текст отзыва, дата
Анкета читателя Номер выпуска, имя, список ответов, дата
Заметив повторения, вводим новый объект — событие, имеющий атрибуты: тема, место, время, заголовок. Методы этого объекта устанавливают его ассоциации с последующими на него репортажами, фотографиями, обзорами, отзывами и т. п.
4. Механизмы реагирования на события
После определения границ моделирования следующий этап — идентификация событий, на которые система должна реагировать, и определение механизмов реагирования на эти события. Список основных событий приведен в таблице 2.
Для облегчения сортировки материалов по темам и приоритетам вводится подсистема «Колонки». В данной подсистеме собранные материалы группируются в макеты новостей. После утверждения из этих макетов верстается го-
товый номер газеты, который отправляется в печать. Обмен информацией с агентами возлагается на подсистему «Канцелярия». В ней происходит сбор и обработка информации от агентов и выдача им заданий. Обмен информацией с читателями и техническая сторона вопроса возлагаются на подсистему «Отдел технической поддержки, распространения и обратной связи».
Таблица 2. Реагирование на внешние события
Событие Реакция
Получение слуха 1. Проверить достоверность 2. Определить популярность темы 3. Назначить приоритет 4. Определить исполнителя 5. Выдать задание
Получение репортажа 1. Проверить соответствие заданию 2. Определить связанные фотоматериалы 3. Отправить заметку в утренний выпуск и интернет-версию 4. Передать текст в колонки
Получение отзыва 1. Регистрация в рейтинге читателей 2. Изменение популярности тем 3. Передача текста отзыва в колонки
Подробные механизмы реагирования на события лучше представить в форме диаграмм деятельности (Activity diagram) на языке UML. Это было сделано с использованием продукта Rational Software Architect, полученного по программе Academic Initiative от фирмы IBM. Однако диаграммы деятельности являются лишь вспомогательным средством уточнения модели, а не средством разработки алгоритмических блок-схем.
Подробная спецификация процессов обработки событий является результатом следующего этапа — объектно-ориентированного проектирования, который будет освещён в следующей статье.
Заключение
Рассмотренная выше модель информационной системы обработки новостной информации можно использовать при объектно-ориентированном проектировании автоматизированных систем сортировки и группировки сообщений. Область применения не ограничивается газетами (или журналами), но может
включать как продолжающиеся издания, так и чисто электронные интернет-
ресурсы, имеющие задачу реагирования на предстоящие события.
Литература
1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. 2-е изд. М.: Издательство Бином — СПб.: Невский диалект, 1999.
2. Coad P., Yourdon Е. Object-oriented analysis. Prentice Hall, 1990.
3. IDEF1 Information Modeling: Technical Report. AFWAL-TR-81−4023.
4. Jacobson I., Christeron М., Jonsson P., Overgaard G. Object-oriented software engineering. Addison-Wesley, 1992.
5. Рамбо Дж., Блаха M. UML 2.0 Объектно-ориентированное моделирование и разработка. СПб.: Изд-во «Питер», 2007.
6. O’Docherty М. Object-Oriented Analysis and Design. Understanding System Development with UML 2.0. John Wiley & amp- Sons Ltd, 2005.
7. Йордон Э., Аргила К. Объектно-ориентированный анализ и проектирование систем. М.: Изд-во «Лори», 2007.
8. Yourdon Е. Just Enough Structured Analysis. Yourdon Press, 2006.
9. Элиенс А. Принципы объектно-ориентированной разработки программ. М.: Изд-во «Вильямс», 2002.
10. Анализ, моделирование и проектирование информационных систем. URL: http: //alice. stup. ас. ru/case/caseinfо (дата обращения 03. 03. 2006).

ПоказатьСвернуть
Заполнить форму текущей работой