Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Применение объектно-ориентированного подхода при проектировании информационной системы

Содержание:

ВВЕДЕНИЕ

Научно-техническая революция, широко развернувшаяся во второй половине XX века, породила надежды на то, что с помощью новых научных дисциплин и новой техники будут разрешены трудные проблемы и противоречия человеческой жизни. Автоматизация и создание информационных систем являются на данный момент одной из самых ресурсоемких областей деятельности техногенного общества. Одной из причин активного развития данной области является то, что автоматизация служит основой коренного изменения процессов, играющих важную роль в деятельности человека и общества. Существует много видов информационных систем: системы обработки данных, информационные системы управления, маркетинговые системы, системы бухгалтерского учета и другие, используемые в различных организациях.

Современные рыночные условия задают всё более высокий темп и диктуют всё более жёсткие условия для функционирования предприятий. В связи с этим, все больше и больше руководителей торговых предприятий задумывается над организацией бизнес-процессов, которые происходят внутри их фирм (организация закупок, продажи и хранения товаров и т.д.).

Эти и многие другие задачи позволяют реализовать информационные системы. В настоящее время использование информационных систем является неотъемлемой частью любой организации. Информационные системы позволяют избавить человека от необходимости выполнения огромного количества простых и сложных расчетов, а также многих рутинных задач, что позволяет повысить точность и продуктивность труда

Данная курсовая работа является актуальной, т.к. в настоящее время мы наблюдаем стремительное развитие информационных систем, технологий и программных средств. Современные информационные системы позволяют эффективно организовать работу многих предприятий, сделав её гораздо проще, быстрее и удобнее. Одним из важнейших условий обеспечения эффективного функционирования любой организации является наличие развитой автоматизированной информационной системы.

Существует два наиболее популярных подхода к анализу и проектированию информационных систем: структурный и объектно-ориентированный. Объектно-ориентированный подход является более современным и имеет множество преимуществ перед структурным подходом.

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

1.Понятие информационной системы

Человечество веками накапливало знания, навыки работы, сведения об окружающем мире, другими словами - собирало информацию. Вначале информация передавалась из поколения в поколение в виде преданий и устных рассказов. Возникновение и развитие книжного дела позволило передавать и хранить информацию в более надежном письменном виде. Открытия в области электричества привели к появлению телеграфа, телефона, радио, телевидения - средств, позволяющих оперативно передавать и накапливать информацию. Развитие прогресса обусловило резкий рост информации, в связи, с чем вопрос о ее сохранении и переработке становился год от года острее. С появлением вычислительной техники значительно упростились способы хранения, а главное, обработки информации. Развитие вычислительной техники на базе микропроцессоров приводит к совершенствованию компьютеров и программного обеспечения. Появляются программы, способные обработать большие потоки информации. С помощью таких программ создаются информационные системы. Целью любой информационной системы является обработка данных об объектах и явлениях реального мира и предоставление человеку нужной информации о них. Если мы рассмотрим совокупность некоторых объектов, то сможем выделить объекты, обладающие одинаковыми свойствами. Такие объекты выделяют в отдельные классы. Внутри выделенного класса объекты можно упорядочивать как по общим правилам классифицирования, например, по алфавиту, так и по некоторым конкретным общим признакам, например, по цвету или материалу. Группировка объектов по определенным признакам значительно облегчает поиск и отбор информации.

Программное обеспечение за полвека своего существования претерпело огромные изменения, пройдя путь от программ, способных выполнять только простейшие логические и арифметические операции, до сложных систем управления предприятиями. Хотя первоначально компьютеры предназначались главным образом для выполнения сложных математических расчётов, в настоящее время доминирующим является накопление и обработка информации. Сегодня управление предприятием без компьютера просто немыслимо. Компьютеры давно и прочно вошли в такие области, как бухгалтерский учёт, управление ассортиментом и закупками.

Однако современный бизнес требует более широкого применения информационных технологий в управлении. Жизнеспособность и развитие информационных технологий объясняется тем, что современный бизнес крайне чувствителен к ошибкам в управлении. Интуиции, личного опыта руководителя и размеров капитала уже мало для того, чтобы быть первым. Для принятия любого грамотного управленческого решения в условиях неопределённости и риска необходимо постоянно держать под контролем различные аспекты финансово-хозяйственной деятельности, будь то торговля, производство или предоставление услуг. Поэтому современный подход к управлению предполагает вложение средств в информационные технологии. И чем крупнее предприятие, тем серьёзнее должны быть подобные вложения. Они являются жизненной необходимостью в жёсткой конкурентной борьбе. Одержать победу сможет лишь тот, кто лучше оснащен и наиболее эффективно организован.

Под системой понимают любой объект, который одновременно рассматривается и как единое целое, и как объединенная в интересах достижения поставленных целей совокупность разнородных, взаимосвязанных и взаимодействующих между собой элементов. Системы значительно отличаются между собой как по составу, так и по главным целям.

  1. Элемент системы - часть системы, имеющая определенное функциональное назначение. Сложные элементы систем, в свою очередь состоящие из более простых взаимосвязанных элементов, часто называют подсистемами.
  2. Организация системы - внутренняя упорядоченность, согласованность взаимодействия элементов системы, проявляющаяся, в частности, в ограничении разнообразия состояний элементов в рамках системы.
  3. Структура системы - состав, порядок и принципы взаимодействия элементов системы, определяющие основные свойства системы. Если отдельные элементы системы разнесены по разным уровням и внутренние связи между элементами организованы только от вышестоящих к нижестоящим уровням и наоборот, то говорят об иерархической структуре системы. Чисто иерархические структуры встречаются практически редко, поэтому, несколько рас ширяя это понятие, под иерархической структурой обычно понимают и такие структуры, где среди прочих связей иерархические связи имеют главенствующее значение.
  4. Архитектура системы - совокупность свойств системы, существенных для пользователя.
  5. Целостность системы - принципиальная несводимость свойств системы к сумме свойств отдельных ее элементов и, в то же время, зависимость свойств каждого элемента от его места и функции внутри системы.

Информационная система – это взаимосвязанная совокупность средств, методов и персонала, используемых для хранения и, обработки и выдачи инф. в интересах достижения поставленной цели.

Информационная система - организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы.

1.1. Классификация информационных систем

1) По масштабу:

  1. одиночные;
  2. групповые;
  3. корпоративные.

2) По сфере применения:

  1. системы обработки транзакций;
  2. системы принятия решений;
  3. информационно-справочные системы;
  4. офисные информационные системы.

3) По способу организации:

  1. системы на основе архитектуры файл-сервер;
  2. системы на основе архитектуры клиент-сервер;
  3. системы на основе многоуровневой архитектуры;
  4. системы на основе Интернет - технологий.

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

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

Автоматизированная система управления (АСУ) - это комплекс технических и программных средств, который совместно с организационными структурами (отдельными людьми или коллективом) обеспечивает управление объектом (комплексом) в производственной, научной или общественной среде.

Выделяют информационные системы управления образования (Например, кадры, абитуриент, студент, библиотечные программы). Автоматизированные системы для научных исследований (АСНИ), представляющие собой программно-аппаратные комплексы, обрабатывающие данные, поступающие от различного рода экспериментальных установок и измерительных приборов, и на основе их анализа облегчающие обнаружение новых эффектов и закономерностей. Системы автоматизированного проектирования и геоинформационные системы.

Систему искусственного интеллекта, построенную на основе высококачественных специальных знании о некоторой предметной области (полученных от экспертов - специалистов этой области), называют экспертной системой. Экспертные системы - один из немногих видов систем искусственного интеллекта - получили широкое распространение, и нашли практическое применение. Существуют экспертные системы по военному делу, геологии, инженерному делу, информатике, космической технике, математике, медицине, метеорологии, промышленности, сельскому хозяйству, управлению, физике, химии, электронике, юриспруденции и т.д. И только то, что экспертные системы остаются весьма сложными, дорогими, а главное, узкоспециализированными программами, сдерживает их еще более широкое распространение.

Экспертные системы (ЭС) - это компьютерные программы, созданные для выполнения тех видов деятельности, которые под силу человеку-эксперту. Они работают таким образом, что имитируют образ действий человека-эксперта, и существенно отличаются от точных, хорошо аргументированных алгоритмов и не похожи на математические процедуры большинства традиционных разработок.

1.2. Области применения и реализации информационных систем

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

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

Именно этим фактом и объясняются жизнеспособность и бурное развитие информационных технологий - современный бизнес крайне чувствителен к ошибкам в управлении, и для принятия грамотного управленческого решения в условиях неопределенности и риска необходимо постоянно держать под контролем различные аспекты финансово-хозяйственной деятельности предприятия (независимо от профиля его деятельности). Поэтому можно вполне обоснованно утверждать, что в жесткой конкурентной борьбе большие шансы на победу имеет предприятие, использующее в управлении современные информационные технологии.

Рассмотрим наиболее важные задачи, решаемые с помощью специальных программных средств.

  1. Бухгалтерский учет. Это классическая область применения информационных технологий и наиболее часто реализуемая на сегодняшний день задача. Такое положение вполне объяснимо. Во-первых, ошибка бухгалтера может стоить очень дорого, поэтому очевидна выгода использования возможностей автоматизации бухгалтерии. Во-вторых, задача бухгалтерского учета довольно легко формализуется, так что разработка систем автоматизации бухгалтерского учета не представляет технически сложной проблемы.
  2. Управление финансовыми потоками. Внедрение информационных технологий в управление финансовыми потоками также обусловлено критичностью этой области управления предприятия к ошибкам. Неправильно построив систему расчетов с поставщиками и потребителями, можно спровоцировать кризис наличности даже при налаженной сети закупки, сбыта и хорошем маркетинге. И наоборот, точно просчитанные и жестко контролируемые условия финансовых расчетов могут существенно увеличить оборотные средства фирмы.
  3. Управление складом, ассортиментом, закупками. Далее, можно автоматизировать процесс анализа движения товара, тем самым, отследив и зафиксировав те двадцать процентов ассортимента, которые приносят восемьдесят процентов прибыли. Это же позволит ответить на главный вопрос: как получать максимальную прибыль при постоянной нехватке средств? «Заморозить» оборотные средства в чрезмерном складском запасе - самый простой способ сделать любое предприятие, производственное или торговое, потенциальным инвалидом. Можно просмотреть перспективный товар, вовремя не вложив в него деньги.
  4. Управление производственным процессом. Управление производственным процессом представляет собой очень трудоемкую задачу. Основными механизмами здесь являются планирование и оптимальное управление производственным процессом. Автоматизированное решение подобной задачи дает возможность грамотно планировать, учитывать затраты, проводить техническую подготовку производства, оперативно управлять процессом выпуска продукции в соответствии с производственной программой и технологией. Очевидно, что чем крупнее производство, тем большее число бизнес-процессов участвует в создании прибыли, а значит, использование информационных систем жизненно необходимо.
  5. Управление маркетингом. Управление маркетингом подразумевает сбор и анализ данных о фирмах-конкурентах, их продукции и ценовой политике, а также моделирование параметров внешнего окружения для определения оптимального уровня цен, прогнозирования прибыли и планирования рекламных кампаний. Решение большинства этих задач могут быть формализованы и представлены в виде информационной системы, позволяющей существенно повысить эффективность управления маркетингом.
  6. Документооборот. Документооборот является очень важным процессом деятельности любого предприятия. Хорошо отлаженная система учетного документооборота отражает реально происходящую на предприятии текущую производственную деятельность и дает управленцам возможность воздействовать на нее. Поэтому автоматизация документооборота позволяет повысить эффективность управления.
  7. Оперативное управление предприятием. Информационная система, решающая задачи оперативного управления предприятием, строится на основе базы данных, в которой фиксируется вся возможная информация о предприятии. Такая информационная система является инструментом для управления бизнесом и обычно называется корпоративной информационной системой. Информационная система оперативного управления включает в себя массу программных решений автоматизации бизнес-процессов, имеющих место на конкретном предприятии. Одно из наиболее важных требований, предъявляемых к таким информационным системам, - гибкость, способность к адаптации и дальнейшему развитию.
  8. Предоставление информации о фирме. Активное развитие сети Интернет привело к необходимости создания корпоративных серверов для предоставления различного рода информации о предприятии. Практически каждое уважающее себя предприятие сейчас имеет свой web-сервер. Web-сервер предприятия решает ряд задач, из которых можно выделить две основные: создание имиджа предприятия и максимальная разгрузка справочной службы компании путем предоставления потенциальным и уже существующим абонентам возможности получения необходимой информации о фирме, предлагаемых товарах, услугах и ценах

1.3. Проектирование информационных систем

В процессе создания информационных систем (далее – ИС), разработчиками используются два альтернативных подхода – структурный и объектно-ориентированный.

Структурный подход к разработке является классическим и предполагает последовательную реализацию следующих этапов разработки:

  • анализа предметной области,
  • проектирования,
  • создания программных модулей,
  • объединения модулей в единую систему,
  • тестирования,
  • внедрения.

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

Однако эта технология не лишена некоторых недостатков. В соответствии с классическим подходом основное внимание должно уделяться информации, с которой работает система. Разработчик спрашивает пользователей, какая информация им нужна, проектирует базу данных (далее - БД) для хранения этой информации, создает экранные формы для ее вывода, встраивает возможность распечатывать отчеты. Иначе говоря, разработчик «фокусируется» на самой информации, а тому, что с ней делать, т. е. поведению системы уделяется меньше внимания. Такой подход называется «ориентированным на данные», он применялся при разработке тысяч различных систем много лет. Он неоценим при проектировании БД и систем обработки информации, но при разработке бизнес-приложений возникают проблемы, главная из которых состоит в том, что требования к системе могут меняться со временем. Система, ориентированная на данные легко приспосабливается к изменениям БД, однако изменить деловые правила или поведение такой системы значительно труднее.

Это обусловлено тем, что на основе информации о структуре БД генерируется клиентское приложение. Поскольку БД должна быть обязательно нормализована, данные хранятся в таблицах БД не всегда в той же форме, в которой они должны появляться на экранных формах. Другими словами, если код приложения генерируется не на основе описания предметной области, невозможно построить эффективное приложение с сложной бизнес-логикой.

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

Для решения этой проблемы и были созданы объектно-ориентированные методы разработки ИС, при применении которых внимание уделяется как информации, так и поведению, что позволяет создавать гибкие системы, допускающие изменение их поведения и/или содержащейся в них информации. Эти методы основаны на использовании объектно-ориентированного программирования (ООП).

Объектно-ориентированное программирование – это новая методология, созданная во второй половине 1980-х гг. Она позволяет решить проблему появления новых акцентов в программировании, обусловленных распространением персональных компьютеров в мелком и среднем бизнесе, в котором вычислительные и расчетно-алгоритмические задачи уступили первое место задачам обработки и манипулирования данными. ООП предполагает представление программы как набора взаимодействующих объектов, наделенных определенным поведением и реакцией на изменение внешних условий. В то время как классический процедурно-ориентированный стиль программирования направлен на представление программы в виде множества поочередно вызываемых процедур.

Объектно-ориентированные методы разработки основаны на объектно-ориентированной концепции или, как часто говорят, парадигме. Парадигма – теория (или модель, тип постановки проблемы), принятая в качестве образца решения исследовательских задач. Объектно-ориентированная парадигма – способ описания приложений, при котором приложение предварительно делится на множество маленьких кусочков или объектов относительно независимых друг от друга. Готовое приложение можно затем создать, сложив эти объекты вместе. Преимуществом такого решения является возможность разработки компонентов только один раз с последующим многократным их использованием для создания абсолютно различных по назначению систем.

Снижение риска в объектно-ориентированной технологии достигается за счет реализации технологии итерационной разработки, когда используется спиральная модель жизненного цикла разработки. Разработка состоит из ряда этапов (итераций), которые в дальнейшем приводят к созданию информационной системы. Каждая итерация может приводить к созданию фрагмента или новой версии и включает все необходимые этапы: этапы выработки требований, анализа, проектирования, реализации и тестирования. Поскольку тестирование проводится на каждой итерации, риск снижается уже на начальных этапах жизненного цикла.

Указанные преимущества могут быть реализованы только при правильном проектировании систем в соответствии с принципами инкапсуляции, наследования и полиформизма.

Инкапсуляция – это, во-первых, процесс объединения в один объект данных и действий (операций), осуществляемых над ними, или, иначе говоря, поведения системы в процессе обработки этих данных. Во-вторых, инкапсуляция предполагает введение ограничений на последствия изменений, вносимых в систему. Эти ограничения вводятся за счет скрытия внутренней информации, когда доступ к объекту возможен только опосредованно – через его операции (характеризующие взаимодействие объекта с внешней средой) и свойства (атрибуты). Операции и свойства объекта представляют собой интерфейс объекта.

Наследование – это механизм, позволяющий создавать новые объекты, основываясь на уже существующих объектах. Наследование позволяет выделить свойства, операции и события одного объекта и приписать их другому объекту, иногда с модификацией. Порождаемый объект-потомок (child) наследует свойства порождающего, родительского объекта (parent). Например: если «Автомобиль» – некий родительский объект, то «Легковой автомобиль» – объект-потомок, которому присущи все свойства объекта «Автомобиль».

Полиформизм – это возможность порождаемых объектов, создаваемых на основе родительских объектов, изменять свою реакцию на одни и те же воздействия при различных внешних условиях. Иными словами, полиформизм – это способность объектов выбирать операцию на основе данных, принимаемых в сообщении из внешнего мира или от другого объекта.

Полиформизм можно также определить как свойство некоторых объектов принимать различные внешние формы в зависимости от обстоятельств, т. е. действия, выполняемые одноименными методами, могут отличаться в зависимости от того, к какому классу относится тот или иной метод. Например, операция «Выключить» имеет разный смысл и результат, будучи применена к разным классам – «Автомобилю», «Свету в комнате» или «Компьютеру».

Рассмотренные особенности альтернативных подходов к созданию информационных систем представлены в таблице 1.

Фундаментальным понятием ООП является Объект, представляющий собой некую сущность реального мира или концептуальную сущность с четко определенными границами и значением для системы. Объект может быть чем-то конкретным, например студент Иванов или кассовый аппарат № 4, или концептуальным, например банковская операция, торговый заказ, зачетная сессия или ставка прибыли.

Каждый объект имеет три характеристики: состояние, поведение и индивидуальность.

Состояние – одно из условий, в котором объект может находиться, меняется во времени и определяется атрибутами и отношениями между объектами. Например, имеем систему регистрации успеваемости. Объект Студенты группы № 1 в системе регистрации успеваемости может находиться в одном из двух состояний: сдавали экзамен по информатике или не сдавали экзамен по информатике. Если сдавали информатику, могут сдавать другой экзамен или могут быть переведены на следующий семестр, а если не сдавали, необходимо организовать экзамен по информатике.

Таблица 1

Структурный подход

Объектно-ориентированный подход

Особенности

Следствия

Особенности

Следствия

Подход к разработке

Декомпозиция работы системы на автоматизируемые функции (функциональные подсистемы)

Целостное представление, в котором все компоненты взаимоувязаны в пространстве и времени

Описание системы и ее приложений на основе отдельных независимых фрагментов – объектов, наделенных определенным поведением и реакцией на изменение внешних условий

Однократная разработка всех объектов

с последующим многократным использованием для создания различных по назначению систем

ЖЦ

Последовательная реализация этапов ЖЦ

Риск обнаружения ошибок на этапе тестирования, который является предпоследним

Спиральная модель ЖЦ

Снижение риска за счет наличия этапа тестирования на каждой итерации ЖЦ

Ориентация

Ориентация на данные (data centric), на обработку информации. Перенос на приложения отработку реакции системы на запросы (поведение) и решение задач

Удобно разрабатывать БД и системы обработки информации и отслеживать изменение данных. Проблемы при разработке бизнес-приложений, поскольку при изменении требований к системе изменить деловые правила и поведение системы оказывается сложно

Ориентация на объектно-ориентированную парадигму, использующую принципы инкапсуляции, наследования и полиформизма

Объединение данных и поведения, обрабатывающего эти данные, позволяет легко отслеживать как изменения данных, так и изменения в функционировании системы.

Поведение определяет, как объект реагирует на запросы других объектов и что может делать сам объект. Поведение реализуется с помощью наборов операций для объекта. В системе регистрации успеваемости объект Студенты группы № 1 может иметь операции перевести на следующий курс или направить на экзамен.

Индивидуальность означает, что каждый объект уникален, даже если его состояние аналогично состоянию другого объекта. Например, студент Иванов и студент Петров – два объекта в системе регистрации успеваемости. Хотя они оба являются студентами группы № 1, каждый из них уникален.

Класс – фундаментальное понятие ООП, представляющее собой описание группы объектов с общими свойствами (атрибутами), поведением (операциями), определяющим взаимодействие объектов с внешней средой, а также отношениями с другими объектами и семантикой. Т. о. класс – шаблон для создания объекта. Каждый объект является экземпляром конкретного класса и не может быть экземпляром нескольких классов. Например, класс Студенты группы № 1 может определяться следующими характеристиками:

  • атрибуты – время экзамена, место проведения экзамена;
  • операции – получить время экзамена, получить аудиторию для проведения экзамена, сдавать экзамен.

Студент Петров и студент Иванов – это объекты, принадлежащие классу Студенты группы № 1. Каждый из них имеет значения атрибутов и доступ к операциям, определенным классом Студенты группы № 1.

В соответствии с традиционным подходом данные располагаются в базе данных, а поведением занимается собственно приложение. Объектно-ориентированный подход предполагает объединение некоторого количества данных и поведения, обрабатывающего эти данные.

2.Объектно-ориентированный подход к проектированию информационной системы

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

Предварительное моделирование предметной области позволяет сократить время и сроки проведения проектировочных работ и получить более эффективный и качественный проект. Без проведения моделирования предметной области велика вероятность допущения большого количества ошибок в решении стратегических вопросов, приводящих к экономическим потерям и высоким затратам на последующее перепроектирование системы. Вследствие этого все современные технологии проектирования ИС основываются на использовании методологии моделирования предметной области.

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

С точки зрения бизнес-моделирования каждый из представленных подходов обладает своими преимуществами. Объектный подход позволяет построить более устойчивую к изменениям систему, лучше соответствует существующим структурам организации. Функциональное моделирование хорошо показывает себя в тех случаях, когда организационная структура находится в процессе изменения или вообще слабо оформлена. Подход от выполняемых функций интуитивно лучше понимается исполнителями при получении от них информации об их текущей работе.

Функциональные методики рассматривают организацию как набор функций, преобразующий поступающий поток информации в выходной поток. Процесс преобразования информации потребляет определенные ресурсы. Основное отличие от объектной методики заключается в четком отделении функций (методов обработки данных) от самих данных. Объектно-ориентированный подход использует объектную декомпозицию, при этом

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

бизнес-функций.

Концептуальной основой объектно-ориентированного подхода является объектная модель, которая строится с учетом следующих принципов: абстрагирование, инкапсуляция, модульность, иерархия, типизация, параллелизм, устойчивость. Основными понятиями объектно-ориентированного подхода являются объект и класс.

Объект – предмет или явление, имеющее четко определенное поведение и которые обладают состоянием, поведением и индивидуальностью. Структура и поведение схожих объектов определяют общий для них класс. Класс – это множество объектов, связанных общностью структуры и поведения. Следующую группу важных понятий объектного подхода составляют наследование и полиморфизм. Понятие полиморфизм может быть интерпретировано как способность класса принадлежать более чем одному типу. Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов. Важным качеством объектного подхода является согласованность моделей деятельности организации и моделей проектируемой информационной системы от стадии формирования требований до стадии реализации. По объектным моделям может быть прослежено отображение реальных сущностей моделируемой предметной области (организации) в объекты и классы информационной системы.

Большинство существующих методов объектно-ориентированного подхода включают язык моделирования и описание процесса моделирования. Процесс – это описание шагов, которые необходимо выполнить при разработке проекта. В качестве языка моделирования объектного подхода используется унифицированный язык моделирования UML, который

содержит стандартный набор диаграмм для моделирования.

Диаграмма (Diagram) – это графическое представление множества элементов. Чаще всего она изображается в виде связного графа с вершинами (сущностями) и ребрами (отношениями) и представляет собой некоторую проекцию системы.

Объектно-ориентированный подход обладает следующими преимуществами:

  • дает возможность создавать модели меньшего размера путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств. Использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования, что ведет к созданию средыразработки и переходу к сборочному созданию моделей;
  • позволяет избежать создания сложных моделей, так как она предполагает эволюционный путь развития модели на базе относительно небольших подсистем;
  • естественна, поскольку ориентирована на человеческое восприятие мира.

К недостаткам объектно-ориентированного подхода относятся высокие начальные затраты. Этот подход не дает немедленной отдачи. Эффект от его применения сказывается после разработки двух–трех проектов и накопления повторно используемых компонентов. Диаграммы, отражающие специфику объектного подхода, менее наглядны.

2.1. Унифицированный язык объектно-ориентированного моделирования UML

Унифицированный язык моделирования UML (Unified Modeling Language) представляет собой язык для определения, представления, проектирования и документирования программных систем, организационно-экономических систем, технических систем других систем различной природы.

UML содержит стандартный набор диаграмм для моделирования:

  1. диаграммы вариантов использования (use case diagrams);
  2. диаграммы классов (class diagrams);
  3. диаграммы поведения системы (behavior diagrams):

3.1) диаграммы взаимодействия (interaction diagrams);

3.1.1) диаграммы последовательности (sequence diagrams);

3.1.2) кооперативные диаграммы (collaboration diagrams);

3.2) диаграммы состояний (statechart diagrams);

3.3) диаграммы деятельностей (activity diagrams);

  1. диаграммы реализации (implementation diagrams):

4.1) диаграммы компонентов (component diagrams);

4.2) диаграммы размещения (deployment diagrams).

Визуальное моделирование с использованием нотации UML можно представить как процесс поуровневого спуска от наиболее общей и абстрактной концептуальной модели исходной бизнес-системы к логической, а затем и к физической модели соответствующей программной системы. Для достижения этих целей вначале строится модель в форме так называемой диаграммы вариантов использования (use case diagram), которая описывает функциональное назначение системы или, другими словами, то, что бизнес-система должна делать в процессе своего функционирования.

Диаграмма вариантов использования (use case diagram) – диаграмма, на которой изображаются отношения между актерами и вариантами использования. Диаграмма вариантов использования - это исходное концептуальное представление или концептуальная модель системы в процессе ее проектирования и разработки. Создание диаграммы вариантов использования имеет следующие цели:

  • определить общие границы и контекст моделируемой предметной области на начальных этапах проектирования системы;
  • сформулировать общие требования к функциональному поведению проектируемой системы;
  • разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей;
  • подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.

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

В языке UML имеется несколько стандартных видов отношений между актерами и вариантами использования:

  • ассоциации (association relationship) – Рисунок 1;
  • включения (include relationship) – Рисунок. 2;
  • расширения (extend relationship) – Рисунок. 3
  • обобщения (generalization relationship) – Рисунок. 4.

Рисунок 1 – Пример графического представления отношения ассоциации между актером и вариантом использования

Рисунок 2 – Пример графического изображения отношения включения между вариантами использования

Рисунок 3 – Пример графического изображения отношения расширения между вариантами использования

Рисунок 4 – Пример графического изображения отношения обобщения между вариантами использования

Существуют диаграммы, которые определяют типы классов системы и различного рода статические связи, которые существуют между ними. Такие диаграммы называются диаграммами классов. Диаграмма классов состоит из множества элементов, которые в совокупности отражают декларативные знания о предметной области. На диаграммах классов изображаются также атрибуты классов, операции классов и ограничения, которые накладываются на связи между классами. На данной диаграмме не указывается информация о временных аспектах функционирования системы.

Рисунок 5 – Варианты графического изображения класса на диаграмме классов

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

Состояние может быть задано в виде набора конкретных значений атрибутов объекта некоторого класса, при этом изменение отдельных значений этих атрибутов будет отражать изменение состояния моделируемого объекта или системы в целом. Однако не каждый атрибут класса может характеризовать состояние его объектов. Как правило, имеют значение только те свойства элементов системы, которые отражают динамический или функциональный аспект ее поведения. В этом случае состояние будет характеризоваться некоторым инвариантным условием, включающим в себя только принципиальные для поведения объекта или системы атрибуты классов и их значения.

Такое условие может соответствовать ситуации, когда моделируемый объект находится в состоянии ожидания возникновения внешнего события. В то же время нахождение объекта в некотором состоянии может быть связано с выполнением определенных действий. В последнем случае соответствующая деятельность начинается в момент перехода моделируемого элемента в рассматриваемое состояние, а после и элемент может покинуть данное состояние в момент завершения этой деятельности.

При моделировании поведения проектируемой или анализируемой программной системы возникает необходимость не только представить процесс изменения ее состояний, но и детализировать особенности алгоритмической и процедурной реализации выполняемых системой операций. Для этой цели, как правило, используются блок-схемы или структурные схемы алгоритмов. Каждая такая схема акцентирует внимание на последовательности выполнения определенных процедур или элементарных операций, которые в совокупности приводят к получению желаемого результата.

Рисунок 6 – Различные варианты ветвлений на диаграмме деятельности

Диаграммы взаимодействия описывают поведение взаимодействующих групп объектов. Как правило, диаграмма взаимодействия охватывает поведение объектов в рамках только одного варианта использования. На такой диаграмме отображаются ряд объектов и те сообщения, которыми они обмениваются между собой.

Для моделирования взаимодействия объектов в языке UML используются соответствующие диаграммы взаимодействия. Говоря об этих диаграммах, имеют в виду два аспекта взаимодействия. Во-первых, взаимодействия объектов можно рассматривать во времени, и тогда для представления временных особенностей передачи и приема сообщений между объектами используется диаграмма последовательности.

Во-вторых, можно рассматривать структурные особенности взаимодействия объектов.

Для представления структурных особенностей передачи и приема сообщений между объектами используется диаграмма кооперации.

Диаграмма последовательности (sequence diagram) - диаграмма, на которой показаны взаимодействия объектов, упорядоченные по времени их проявления.

На диаграмме последовательности неявно присутствует ось времени, что позволяет визуализировать временные отношения между передаваемыми сообщениями. С помощью диаграммы последовательности можно представить взаимодействие элементов модели как своеобразный временной график "жизни" всей совокупности объектов, связанных между собой для реализации варианта использования программной системы, достижения бизнес-цели или выполнения какой-либо задачи.

Рисунок 7 – Графические элементы диаграмм последовательности

Диаграмма кооперации предназначена для описания поведения системы на уровне отдельных объектов, которые обмениваются между собой сообщениями, чтобы достичь нужной цели или реализовать некоторый вариант использования. С точки зрения аналитика или архитектора системы в проекте важно представить структурные связи отдельных объектов между собой. Такое представление структуры модели как совокупности взаимодействующих объектов и обеспечивает диаграмма кооперации.

Кооперация (collaboration) – спецификация множества объектов отдельных классов, совместно взаимодействующих с целью реализации отдельных вариантов использования в общем контексте моделируемой системы.

Понятие кооперации – одно из фундаментальных в языке UML. Цель самой кооперации состоит в том, чтобы специфицировать особенности реализации отдельных вариантов использования или наиболее значимых операций в системе. Кооперация определяет структуру поведения системы в терминах взаимодействия участников этой кооперации.

На диаграмме кооперации размещаются объекты, представляющие собой экземпляры классов, связи между ними, которые в свою очередь являются экземплярами ассоциаций и сообщения. Связи дополняются стрелками сообщений, при этом показываются только те объекты, которые участвуют в реализации моделируемой кооперации. Далее, как и на диаграмме классов, показываются структурные отношения между объектами в виде различных соединительных линий. Связи могут дополняться именами ролей, которые играют объекты в данной взаимосвязи. И, наконец, изображаются динамические взаимосвязи — потоки сообщений в форме стрелок с указанием направления рядом с соединительными линиями между объектами, при этом задаются имена сообщений и их порядковые номера в общей последовательности сообщений.

Одна и та же совокупность объектов может участвовать в реализации различных коопераций. В зависимости от рассматриваемой кооперации, могут изменяться как связи между отдельными объектами, так и поток сообщений между ними. Именно это отличает диаграмму кооперации от диаграммы классов, на которой должны быть указаны все без исключения классы, их атрибуты и операции, а также все ассоциации и другие структурные отношения между элементами модели.

Диаграммы компонентов показывают, как выглядит модель на физическом уровне. На них изображены компоненты программного обеспечения и связи между ними.

Физическая система (physical system) – реально существующий прототип модели системы. Для представления физических сущностей в языке UML применяется специальный термин – компонент.

Компонент (component) – физически существующая часть системы, которая обеспечивает реализацию классов и отношений, а также функционального поведения моделируемой программной системы. Компонент предназначен для представления физической организации ассоциированных с ним элементов модели. Дополнительно компонент может иметь текстовый стереотип и помеченные значения, а некоторые компоненты – собственное графическое представление. Компонентом может быть исполняемый код отдельного модуля, командные файлы или файлы, содержащие интерпретируемые скрипты.

Диаграмма размещения (deployment diagram) - диаграмма, на которой представлены узлы выполнения программных компонентов реального времени, а также процессов и объектов.

Диаграмма развертывания применяется для представления общей конфигурации и топологии распределенной программной системы и содержит изображение размещения компонентов по отдельным узлам системы. Кроме того, диаграмма развертывания показывает

наличие физических соединений - маршрутов передачи информации между аппаратными устройствами, задействованными в реализации системы.

Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих только на этапе ее исполнения (run-time). При этом представляются только те компоненты программы, которые являются исполнимыми файлами или динамическими библиотеками. Компоненты, не используемые на этапе исполнения, на диаграмме развертывания не показываются. Так, компоненты с исходными текстами программ могут присутствовать только на диаграмме компонентов. На диаграмме развертывания они не указываются.

Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними. В отличие от диаграмм логического представления, диаграмма развертывания является единственной для системы в целом, поскольку должна отражать все особенности ее реализации. Эта диаграмма, по сути, завершает процесс ООАП для конкретной программной системы и ее разработка, как правило, последний этап спецификации модели.

ЗАКЛЮЧЕНИЕ

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

В ходе выполнения курсовой работы была изучена и проанализирована предметная область, изучен и описан объектно-ориентированный подход к разработке информационных систем. Поставленные цели выполнены в полном объёме.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Вендров А.М. Практикум по проектирование программного обеспечения экономических информационных систем: Учеб. пособие для вузов. - М.: Финансы и статистика, 2002. - 192 с.
  2. Колмыкова Е.А., Кумскова И.А. Информатика: учебной пособие для студ. сред. проф. образования. – 2-е изд., стер. – М.: Издательский центр «Академия», 2016. – 416 с.
  3. Михеева Е.В., Практикум по информатике. – М.: Издательский центр «Академия», 2018. – 388 с.
  4. Михеева Е.В., Информационные технологии в профессиональной деятельности. – М.: Издательский центр «Академия», 2018. – 412 с.
  5. Шауцукова Л.З. Учебное пособие для 10-11 кл. общеобразоват. учреждений. – 4-е изд. – М.: Просвещение, 2008. – 416 с.
  6. Симонович С.В., Евсеев Г.А.Алексеев А. Н. Общая информатика. Учебное пособие для средней школы. – М.: АСТ–Пресс: Инфорком–Пресс, 2017. -260 с.
  7. Алгазинов, Э. К. Анализ и компьютерное моделирование информационных процессов и систем / Э.К. Алгазинов, А.А. Сирота. - М.: Диалог-Мифи, 2009. - 416 c.
  8. Шрайберг Я.Л., Гончаров М.В. Справочное руководство по основам информатики и вычислительной техники. - М.: Финансы и статистика, 2000. – 370 с.
  9. Каймин В.А. Информатика: Учебник. - М.: ИНФРА-М, 2000. - 232 с.
  10. Крылов, С. С. Готовимся к ЕГЭ. Информатика. Информация и информационные процессы / С.С. Крылов. - М.: Интеллект-Центр, 2010. - 207 c.
  11. Мелик-Гайказян, И.В. Информационные процессы и реальность: моногр. / И.В. Мелик-Гайказян. - М.: ФИЗМАТЛИТ, 2001. - 192 c.
  12. Леонтьев В. Новейшая энциклопедия персонального компьютера. – М.: ОЛМА-ПРЕСС, 2005. – 640с.
  13. Гончаров М.В. Справочное руководство по основам информатики и вычислительной техники. - М.: Финансы и статистика, 2000. – 48 с.
  14. Кушниренко А.Г., Лебедев Г.В., Сворень Р.А. Основы информатики и вычислительной техники. - М.: Просвещение, 1993. - 224 с.
  15. Мельников, Д.А. Информационные процессы в компьютерных. - М.: КУДИЦ-Образ, 2004. - 256 c.