Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Понятие объектно-ориентированного подхода ).pdf
Добавлен: 21.05.2023
Просмотров: 204
Скачиваний: 2
СОДЕРЖАНИЕ
2. Понятие объектно-ориентированного подхода
3. Понятие информационной системы
4. Применение объектно-ориентированного подхода при проектировании информационной системы
4.1. Проектирование пользовательского интерфейса
4.2. Проектирование базы данных
4.3. Общее представление проекта информационной системы
5. Примеры программных продуктов для реализации объектно-ориентированного подхода
На Рисунке 4 наглядно показана суть полиморфизма. Разные фигуры по-своему определяют метод рисования самих себя.
Рисунок 4. Полиморфизм
2.6. Достоинства и недостатки
Рассмотри достоинства объектно-ориентированного подхода.
- Данный подход помогает справиться с такими сложными проблемами, как:
- уменьшение сложности программы;
- повышение надежности программы;
- обеспечение возможности модификации отдельных модулей программы без изменения остальных его компонентов;
- обеспечение возможности повторного использования отдельных модулей программы.
- Возможность обработки разнородных структур данных;
- Сокращение времени на разработку;
- Компоненты многоразового использования содержат меньше ошибок, так как не раз подвергались проверке.
Недостатки объектно-ориентированного подхода:
- Очень важно четко знать и понимать основные принципы: абстракция, инкапсуляция, наследование и полиморфизм. А также понимать концепцию объектов и классов;
- Многоразовое использование предполагает знакомство с огромным количеством библиотек классов;
- Проектирование классов – сложная, итеративная разработка.
2.7. Выводы
Есть ли будущее у объектно-ориентированного подхода или это лишь очередной новый подход к программированию, который вскоре сменится другим?
Классы нашли свое место в большинстве современных языков программирования. Одно лишь это говорит о том, что скорее всего этот подход будет использоваться еще очень долгое время. Классы в самом ближайшем будущем войдут в стандартный набор концепций для каждого программиста, точно так же, как многие сегодня применяют динамические структуры данных и рекурсию, которые двадцать лет назад были также новыми инструментами.
В то же время классы — это просто еще одна новая конструкция наряду с остальными. Необходимо знать и понимать, для каких ситуаций они подходят, а для каких нет. Правильно выбрать инструмент для конкретной задачи важная составляющая успеха будущей разработки.
3. Понятие информационной системы
Информационная система – это система, которая предназначена для обработки, хранения и поиска информации. Она способна своевременно обеспечивать надлежащих людей надлежащей информацией, а именно удовлетворять конкретные информационные потребности в рамках определенной предметной области. Об информационных системах основная информация получена из учебников [2] и [3].
Важнейшими принципами построения эффективных информационных систем являются следующие:
- Принцип интеграции, который заключается в том, что обрабатываемые данные, однажды введенные в систему, многократно используются для решения большого числа задач.
- Принцип системности, который заключается в обработке данных в различных аспектах, чтобы получить информацию, необходимую для принятия решений на всех уровнях управления.
- Принцип комплексности, который заключается в механизации и автоматизации процедур преобразования данных на всех этапах функционирования информационной системы.
Информационные системы также классифицируются:
- По функциональному назначению:
- производственные,
- коммерческие,
- финансовые,
- маркетинговые
и др.;
- По характеру использования результатной информации:
- информационно-поисковые, предназначенные для сбора, хранения и выдачи информации по запросу пользователя;
- информационно-советующие, предлагающие пользователю определенные рекомендации для принятия решений (системы поддержки принятия решений);
- информационно-управляющие, результатная информация которых непосредственно участвует в формировании управляющих воздействий.
- По степени распределённости:
- настольные (desktop), или локальные ИС, в которых все компоненты (БД, СУБД, клиентские приложения) находятся на одном компьютере;
- распределённые (distributed) ИС, в которых компоненты распределены по нескольким компьютерам.
- По степени автоматизации:
- автоматизированные: информационные системы, в которых автоматизация может быть неполной (то есть требуется постоянное вмешательство персонала);
- автоматические: информационные системы, в которых автоматизация является полной, то есть вмешательство персонала не требуется или требуется только эпизодически.
Структуру информационных систем составляет совокупность отдельных ее частей, называемых подсистемами.
4. Применение объектно-ориентированного подхода при проектировании информационной системы
4.1. Проектирование пользовательского интерфейса
Проектирование программных продуктов и информационных систем в частности начинается, как правило, сверху вниз. Это означает, что сначала проектируются самые крупные части и модули системы. А затем, постепенно спускаясь вниз по уровням абстракции, проект проектируется более детально.
Проектирование программных продуктов удобно производить при помощи языка моделирования UML (Unified Modeling Language). UML представляет собой систему обозначений, которая применяется для объектно-ориентированного проектирования. С его помощью можно создать наглядные диаграммы и схемы модулей, классов и других частей программы. Самым популярным видом диаграмм является диаграмма классов.
UML-диаграммы можно создавать как в средах разработки программного обеспечения (например, Visual Studio), так и в любом графическом редакторе, как и ER-диаграммы. Главное, придерживаться правил построения схем и диаграмм. О принципах построения и использовании UML-диаграмм можно узнать из источника [4].
Самым верхним уровнем UML-диаграмм является диаграмма прецедентов (Use Case Diagram). Главным действующим лицом в таких диаграммах выступает пользователь (Actor).
Диаграмма прецедентов информационной системы представлена на Рисунке 5.
Рисунок 5. Диаграмма прецедентов
Прецедентами на этой диаграмме являются действия, которые может совершить пользователь над данными любой из сущностей.
Следующий шаг в проектировании информационной системы – создание модулей будущего программного продукта. Очень распространенным паттерном проектирования в программировании является паттерн MVP (Model View Presenter). Данный шаблон проектирования в основном применяется для построения пользовательских интерфейсов. Он выделяет три модуля программного продукта, каждый из которых имеет свой функционал. Схематически паттерн представлен на Рисунке 6.
Рисунок 6. MVP
- Модель (Model) – модуль, который хранит в себе всю бизнес-логику и, если это необходимо, получает данные из базы данных.
- Вид (View) – модуль, который отображает данные из модели и обращается к представителю за обновлениями.
- Представитель (Presenter) – модуль, который реализует взаимодействие между моделью и видом, обновляет данные в модели по мере действия пользователя и визуальное их представление.
Далее необходимо спроектировать каждый модуль пользовательского интерфейса отдельно.
Модели представляют собой классы, написанные на объектно-ориентированном языке программирования. Они описывают созданные ранее при проектировании базы данных сущности, а также могут реализовывать получение и сохранение информации из базы данных. Для проектирования моделей разумнее всего будет использовать диаграммы классов. Это особый вид UML-диаграмм, который описывает классы, их поля и методы.
На Рисунке 7 показан пример диаграммы классов для информационной системы малого бизнеса.
Рисунок 7. Модели
Полями классов являются атрибуты сущностей, а методами получение и сохранений информации из базы данных (getData(), setData()). Все вместе они представляют собой модуль модели пользовательского интерфейса.
Модуль вида представляет собой некий объект для отображения информации пользователю. Именно этот объект пользователь видит на своем экране при работе с информационной системой. Вид может быть реализован в виде:
- Настольного приложения (Например, Windows Forms). Пример настольного приложения для работы с базой данных показан на Рисунке 8.
Рисунок 8. Windows Forms
- Веб-приложения (Например, сайт). Пример сайта для работы с базой данных показан на Рисунке 9.
Рисунок 9. Веб-приложение
- Приложения на мобильном устройстве (Android или IOS). Пример такого приложения показан на Рисунке 10.
Рисунок 10. Android-приложение
В любом случае, вид должен отображать необходимую информацию. А также он должен иметь кнопки или отдельные окна для взаимодействия с ней. Для проектирования вида также удобно использовать диаграмму классов.
Для проектируемого пользовательского интерфейса удобно будет выбрать следующую структуру отображения информации:
- Главное окно с возможностью выбора сущности для работы с данными
- Отдельные окна для каждой из сущностей с возможностью просмотра, добавления, изменения, удаления, поиска и сортировки данных.
Диаграмма классов такого вида представлена на Рисунке 11.
Рисунок 11. Вид
При проектировании внешнего вида пользовательского интерфейса важно учитывать его удобство для конечного пользователя. Он должен быть прост и интуитивно понятен.
В данном случае на главном окне наглядно отображены все данные, к которым можно получить доступ, а каждое конкретное окно работает только с одной таблицей базы данных, что создает модульность системы.
Данный подход не только прост и понятен пользователю, но и удобен для программиста, так как при необходимости можно легко добавить или удалить новые окна. Для этого нужно лишь создать новую форму по уже существующему шаблону и связать ее с новой кнопкой на главном экране.
Модель внешнего вида главного окна представлена на Рисунке 12.
Рисунок 12. Главное окно
Окно отображает данные о сущности базы данных в виде таблицы, а также предоставляет различные возможности для работы с базой данных (добавление, изменение, удаление, сортировка, поиск). Также есть отдельная кнопка для выхода из данного окна и возврата к главному окну пользовательского интерфейса.
Модель внешнего вида для работы с одной из таблиц базы данных можно увидеть на Рисунке 13.
Рисунок 13. Окно "Клиенты"
Модуль Presenter является промежуточным звеном между моделью и видом. Он принимает сигналы пользователя через вид, интерпретирует их и с помощью различных алгоритмов, используя доступные методы модели для работы с базой данных, меняет информацию непосредственно в хранилище. Как только информация изменена, представитель получает соответствующий сигнал от модели и меняет вид. Таким образом, происходит взаимодействие пользователя с базой данных.
Представитель в виде диаграммы классов показан на Рисунке 14.
Рисунок 14. Представитель
Можно заметить, что методы представителя имеют те же самые названия, что и методы вида. На самом деле за одинаковыми названиями скрывается различный функционал.
Методы вида реагируют на нажатие кнопок пользователем и лишь отправляют соответствующие сигналы в представитель. А он, в свою очередь, реализует соответствующие действия в виде программных алгоритмов и шлет сигналы моделям о необходимости соответствующих изменений в базе данных. Некоторые действия не требуют изменений непосредственно в самом хранилище данных. Например, получение данных, их сортировка и поиск.