Файл: Методы и средства проектирования информационных систем и технологий (Основные понятия проектирования).pdf
Добавлен: 24.04.2023
Просмотров: 1739
Скачиваний: 31
СОДЕРЖАНИЕ
Глава 1. Основные понятия проектирования информационных систем
1.1 Понятие информационной системы
1.2 Методологические подходы к проектированию информационных систем
Глава 2. Объектно-ориентированный подход проектированияинформационной системы
2.1 Основные принципы построения объектной модели
2.2 Языки объектно-ориентированного моделирования и программирования
Выделяют шесть основных фаз разработки информационных систем: концептуальная фаза, разработка технического предложения, проектирование, разработка, ввод системы в эксплуатацию, изъятие из эксплуатации или замена.
Наиболее критичным этапом является концептуальная фаза разработки концептуальной модели. Главным содержанием работ на этой фазе является определение проекта и разработка его концепции, определяется какой из методов проектирования информационной системы будет применяться: структурный или объектно-ориентированный. Однако не зависимо от метода информационная система имеет жизненный цикл.
Жизненный цикл информационной системы представляет собой непрерывный процесс, который начинается с момента принятия решения о создании информационной системы и заканчивается в момент полного завершения ее эксплуатации.
Жизненный цикл информационных систем регламентируется международным стандартом ISO/IEC 12207:1995, где ISO (International Organization of Standardization) — это международная организация по стандартизации, a IEC (International Electrotechnical Commission) — международная комиссия по электротехнике. Российским аналогом является ГОСТ Р ИСО/МЭК 12207—99, который введен в действие в июле 2000 года [[7]].
Структура жизненного цикла основывается на трех группах процессов: основные процессы жизненного цикла (приобретение, поставка, разработка, эксплуатация, сопровождение); вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, разрешение проблем); организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого жизненного цикла, обучение).
Наибольшее распространение получили две основные модели жизненного цикла: каскадная и спиральная модели.
Каскадная модель обеспечивает классический подход к разработке различных систем. На данной модели основан структурный подход. Эта модель широко использовалась в 1970-х — 80-х гг.
Главной особенностью каскадной модели (рис. 1.2.1) является разбиение всей разработки информационной системы на этапы. Переход с одного этапа на следующий происходит только после того, как будут полностью завершены все работы на предыдущем этапе. Каждый этап завершается выпуском полного комплекта документации, достаточной, чтобы разработка могла быть продолжена другой командой разработчиков.
Рисунок 1.2.1 Каскадная модель разработки
На этапе анализа проводится исследование решаемой проблемы, четко формулируются все требования заказчика. Результатом данного этапа является техническое задание, согласованное с разработчиком и с заказчиком.
На этапе проектирования разрабатываются проектные решения, удовлетворяющие всем требованиями, сформулированным в техническом задании. Результатом данного этапа является комплект проектной документации, содержащей все необходимые данные для реализации проекта.
Этап разработки — это собственно реализация проекта, при котором осуществляется разработка программного обеспечения в соответствии с проектными решениями, полученными на предыдущем этапе. Результатом выполнения данного этапа является готовый программный продукт.
На этапе тестирования выполняется проверка созданного программного обеспечения на предмет его соответствия требованиям, заявленным в техническом задании. На данном этапе привлекается команда тестировщиков.
Последний этап — сдача готового проекта.
Каскадный подход можно применять при построении таких информационных систем, для которых в самом начале разработки можно достаточно точно сформулировать все требования.
Спиральная модель, в отличие от каскадной, предполагает итерационный процесс разработки информационной системы – процесс последовательной доработки «сырого» варианта системы до варианта, необходимого заказчику. При спиральной модели возрастает значение начальных этапов жизненного цикла, таких как анализ и проектирование, когда проверяется и обосновывается реализуемость технических решений путем создания прототипов. На спиральной модели основан объектно-ориентированный подход [[8]].
Использование спиральной модели позволяет переходить на следующий этап выполнения проекта, не дожидаясь полного завершения работ на текущем этапе (рис. 1.2.2). Окончательно этап может быть выполнен и на следующем шаге. Основная проблема спирального цикла – определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена.
Рисунок 1.2.2 Спиральная модель разработки
Главная задача такого подхода к разработке продукта — как можно скорее создать работоспособный продукт, который можно представить пользователям для последующего внесения изменений, уточнений и дополнений. Эти изменения, как и выявленные пользователями ошибки, устраняются и тем самым пользователи, постоянно отслеживая изменения в проекте, в итоге получают завершенный продукт, максимально удовлетворяющий их потребности на современном этапе. К примеру, известное приложение WhatsApp в первых версиях имело очень много ошибок в работе, зависания, но в дальнейшем разработчики устранили серьезные недочеты.
В спиральной модели уровень рисков максимален в начале разработки проекта, однако по мере продвижения к концу проекта риски уменьшаются. В настоящее время в рамках проектирования сложных высоконагруженных информационных систем используется спиральная модель, поскольку классическая каскадная модель не удовлетворяет современным требованиям. К тому же прототипы могут быть получены на каждой стадии проектирования.
При разработке слишком часто приходиться наблюдать, как неопытные разработчики проскакивают фазу проектирования жизненного цикла и сразу приступают к реализации. По статистике, свыше половины проектов по разработке оканчиваются неудачей и не доводятся до конца. Анализ показывает, что в основном причина неудач кроется в плохом проектировании.
В первой главе были рассмотрены основные понятия, принципы и методологии проектирования информационных систем. Методология создания информационных систем заключается в организации процесса построения информационной системы и в управлении этим процессом для того, чтобы гарантировать выполнение требований, как к самой системе, так и к характеристикам процесса разработки. Применение информационных систем способствует более эффективному решению задач управления на основе оперативного предоставления всей полноты информации, являющейся основой для принятия решений. Проектирование и построение информационной системы должны основываться на комплексном анализе предметной области. Существуют различные методики описания предметной области, среди которых, как описано ранее, основными являются: структурный и объектно-ориентированный подход.
Далее, в рамках курсовой работы речь пойдет об объектно-ориентированном подходе к моделированию, где необходимо прийти к выводу, действительно ли данный подход обеспечивает наилучшую реализацию сложной и высоконагруженной информационной системы.
Глава 2. Объектно-ориентированный подход проектированияинформационной системы
2.1 Основные принципы построения объектной модели
В 1970—1980 годах при разработке информационных систем достаточно широко применялись структурные методы, предоставляющие в распоряжение разработчиков строгие формализованные методы описания проектных решений. В настоящее время такое же распространение получили объектно-ориентированные методы. Эти методы основаны на использовании наглядных графических моделей для описания архитектуры информационных систем с различных точек зрения: статики и динамики поведения системы. Для этого используются схемы и диаграммы. Наглядность и строгость средств объектно-ориентированного анализа позволяет разработчикам и будущим пользователям системы с самого начала неформально участвовать в ее создании, обсуждать и закреплять понимание основных технических решений.
Понятие «объект» впервые было использовано около 30 лет назад в технических средствах при попытках отойти от традиционной архитектуры фон
Неймана и преодолеть барьер между высоким уровнем программных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно-ориентированной архитектурой также тесно связаны объектно-ориентированные операционные системы. Однако наиболее значительный вклад в объектный подход был внесен объектными и объектно-ориентированными языками программирования: Simula (1967), Smalltalk (1970-е гг.), C++ (1980-е гг.), Java (1996), С# (2002) и языком моделирования UML (1990-е гг.).
Объектно-ориентированная технология – это совокупность языков, инструментальных средств и методологий, предназначенных для разработки информационной системы, программного обеспечения, ядром которых являются объекты и связи между ними. Концепция объектно-ориентированного подхода опирается на декомпозицию на основе объекта, декларативное описание объектов классами, а также, пошаговое программирование с использованием механизма наследования [[9]]. Таким образом, традиционные подходы к разработке систем различали данные и процессы. Технологии, опирающиеся на данные, сначала их специфицируют, а затем описывают процессы. Технологии, ориентированные на процессы, вначале выделяют процессы, а затем специфицируют потоки данных между ними. В объектно-ориентированной технологии данные и процессы объединяются в логические сущности – объекты, что позволяет с помощью механизма наследования формировать новое программное обеспечение из существующего с меньшими затратами [[10]].
Составными частями объектно-ориентированного подхода, парадигмы являются:
- объектно-ориентированный анализ;
- объектно-ориентированное проектирование;
- объектно-ориентированное программирование.
Взаимосвязь анализа, проектирования и программирования показана на рисунке 2.1.1.
Рисунок 2.1.1
Объектно-ориентированный анализ направлен на создание моделей, более близких к реальности, с использованием объектно-ориентированного подхода. Это методология, при которой требования формируются на основе понятий классов и объектов, составляющих словарь предметной области. Объектно-ориентированный анализ представляет собой методологию анализа предметной области, основанную на преимущественном выявлении ее объектов и установлении взаимных связей между ними.
На результатах объектно-ориентированного анализа формируются модели, на которых основывается объектно-ориентированное проектирование. Объектно-ориентированное проектирование в свою очередь создает основу для окончательной реализации системы с использованием методологии объектно-ориентированного программирования.
Методы программирования при объектно-ориентированном проектировании, прежде всего, подразумевают правильное и эффективное использование механизмов языков программирования. Методы проектирования напротив, основное внимание направляют на правильное и эффективное структурирование сложных систем. Объектно-ориентированное проектирование — это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления как логической и физической, так статической и динамической моделей проектируемой системы.
Объектно-ориентированное программирование — это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследования [[11]].
В данном определении можно выделить три части:
- объектно-ориентированное программирование использует в качестве элементов конструкции объекты, а не алгоритмы;
- каждый объект является реализацией определенного класса;
- классы организованы иерархически.
Так как объектно-ориентированный подход использует объектную декомпозицию, то структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира.