Файл: рименение объектно-ориентированного подхода при проектировании информационной системы ( ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД ).pdf

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

Категория: Курсовая работа

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

Добавлен: 01.04.2023

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

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

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

ВВЕДЕНИЕ

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

Проектирование экономических информационных систем - логически сложная, трудоемкая и длительная работа, для выполнения которой требуются специалисты высокой квалификации. Однако на практике разработчики иногда предпочитают пропускать этап проектирования и начинать сразу с программирования. Либо проектирование выполняется на интуитивном уровне с применением неформализованных методов. Зачастую подобные практики ведут к повышенным расходам на реализацию проекта. Согласно исследованиям, программисты и инженеры-тестировщики тратят примерно в два раза больше времени на обнаружение ошибок, допущенных на этапе проектирования. Стоимость ошибок вырастает с каждой итерацией. Так, исправление ошибки на стадии проектирования стоит в 2 раза дороже, на стадии тестирования – в 10 раз, а на стадии эксплуатации системы – в 100 раз дороже, чем на стадии анализа[1]. Недовольство пользователей, получивших некачественное ПО, измеряется не только ценой разработки, но и репутацией компании. Таким образом, цель этапа проектирования информационных сетей – избежание увеличения затрат на разработку.

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

Исследователи называют объектно-ориентированный подход самым актуальным на сегодняшний день[2]. Действительно, данный подход позволяет разработать хорошо структурированные и достаточно просто видоизменяемые программные системы. Благодаря ему и изменениям в организации труда повысилось качество программ, продуктивность программистов и эффективность коллективной работы. Это усиленно развивающееся направление стало стандартом во многих компаниях и программистских сообществах[3].

Все перечисленное выше обусловило актуальность данной работы.


Цель исследования: дать характеристику объектно-ориентированному подходу к проектированию информационных систем.

Исходя из цели работы были сформулированы следующие задачи:

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

Глава 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ

1.1 ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД

Программные продукты требуют постоянного совершенствования. Для минимизации затрат и планирования на помощь приходят системы анализа и проектирования систем.

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

Также мы обозначим основные подходы к проектированию и более подробно остановимся на объектно-ориентированном.

1.1 Проектирование как этап разработки информационной системы

Процесс разработки можно условно разделить на три этапа: проектирование, непосредственное написание кода и тестирование. Качество кода и, соответственно, готового продукта напрямую зависит от хорошо реализованного этапа проектирования. К.К. Иванов называет данный этап «чуть ли не важнейшим процессом»[4].

Согласно ГОСТ 34.601–90 «Автоматизированные системы. Стадии создания», выделяют восемь стадий[5]:

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

Д. Н. Медведев и Е.Е. Медведева описали этапы проектирования и внедрения информационной сетевой системы[6]. Они представили шесть этапов деятельности: исследование предметной области, разработка архитектуры системы, реализация информационных систем, непосредственная физическая реализация системы, внедрение системы в процесс, сопровождение информационной системы.

При создании современных информационных систем разработчики сталкиваются с рядом проблем: выбор программных средств, выделенные ресурсов, соответствие системы бизнес-процессам и структуре организации. Особо отметим последний пункт. В нем заложена проблема функциональности информационной системы. Исследователи такие функции проектируемой программы, как решение проблем организации, оптимизация ее работы, обеспечивание получения компанией прибыли[7].

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

В связи со всем вышеперечисленным в процессе проектирования выделяется два этапа:

1) анализ предприятия и построение существующей его архитектуры (модели);

2) анализ требований предприятия к его информационной системе и построение его будущей архитектуры.

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

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

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

Структурный анализ (Structured Analysis, SA) и структурное проектирование (Structured Design, SD) сформировались в результате структурного программирования, появившегося в 1970-х[9]. Методы структурного анализа дорабатывались и используются уже на протяжении многих лет.


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

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

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

Второй выделяемый вид декомпозиции – объектно-ориентированный. Структура системы определяется множеством объектов и связей между ними путем посылки сообщений, а поведение системы описывается в терминах обмена сообщениями между объектами[10].

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

Еще одно отличие подходов заключается в структурной организации внутри модулей системы[11]. В структурном подходе модуль состоит из функций, иерархически связанных между собой отношением композиции (англ. part-of – часть-целое). В объектно-ориентированном подходе иерархия выстраивается с использованием двух отношений: композиции и наследования (англ. is-a – это есть). При этом в объектно-ориентированном подходе «объект-часть» может включаться сразу в несколько «объектов-целое». Таким образом, модуль в структурном подходе представляется в виде дерева, а в объектно-ориентированном подходе – в виде ориентированного графа, т. е. с помощью более общей структуры.

Рассмотрим более подробно объектно-ориентированный подход. А.В. Попов, А.Л. Григорьева и А.Ю. Лошманов назвали рассмотрение предметной области и логического решения задачи с точки зрения объектов основной идеей объектно-ориентированного анализа и проектирования[12].


Л.Ю. Шевчук выделила основные идеи названного подхода, которые опираются на следующие положения:

  • «Объектная модель описывает структуру объектов, составляющих систему, их атрибуты, операции, взаимосвязи с другими объектами.
  • В объектной модели должны быть отражены те понятия и объекты реального мира, которые важны для разрабатываемой системы.
  • Модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.
  • Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.
  • Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта.
  • Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий, представляют собой класс однотипных объектов»[13].

Основными понятиями для объектно-ориентированного подхода являются такие, как классы объектов, объекты, иерархия классов объектов.

Под классами объектов (object classes) Л.Ю. Шевчук понимает «группы объектов с одинаковыми свойствами, то есть с одинаковыми наборами переменных состояния и методов»[14]. М.Е. Фленов предлагает иметь в виду «совокупность свойств, методов и событий»[15].

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

При разработке программного обеспечения термин «объект» впервые был введен в языке Simula 67 для моделирования сущностей предметной области[16]. Термин или схожие с ним понятия появились практически независимо в различных областях, связанных с компьютерами, в процессе разработки[17].

Под объектом понимается экземпляр класса[18]. Объект функционирует как единое целое, реагируя соответствующими методами на соответствующие события класса. Разница между понятиями объекта и класса заключается в том, что посредством класса осуществляется описание какой-либо сущности, что работает как шаблон, основа.