Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (История развития технологий разработки программ).pdf
Добавлен: 03.04.2023
Просмотров: 333
Скачиваний: 4
Параллелизм – свойство объектов, связанное с нахождением в активном либо пассивном состоянии, связанное с различением активных и пассивных объектов между собой.
Устойчивость – свойство объекта, связанное с существованием во времени (независимо от процесса, который создал данный объект) и/или в пространстве (в случае перемещения объектов из адресного пространства, где он создавался).
1.2.2 Основные понятия объектно-ориентированного подхода - объект и класс
Основой объектно-ориентированного подхода является систематическое использование моделей для проведения языково-независимой разработки программ на основе прагматичного подхода.
Прагматичный подход связан с целями разработки программного обеспечения, соответствующих специфике моделируемой предметной области. В процессе постановки задач разработки ПО задействована терминология реального мира, имеющая отношение к разрабатываемому программному обеспечению (рисунок 1). При использовании принципов объектно-ориентированного подхода проводится замена данных предметов и терминов на их модели, т.е. определенные формальные конструкции, представляющие их в программной системе.
Рисунок 1 – Схема принципов ООП
Семантика – включает описание смысла программы с позиции ее исполнения компьютером.
Прагматика - смысл работы программы с позиции работы пользователей.
В модели включаются не все признаки и свойства представляемых ею предметов (понятий), а только являющиеся существенными для разрабатываемого программного продукта. Таким образом, модель представляет собой упрощенное представление объекта.
При этом модель представляет собой формальную конструкцию, что позволяет установить формальные зависимости между объектами и проводить формальные операции над ними. Это позволяет упростить как процесс разработки и изучения (анализа) моделей, так и их провести их реализацию на языках программирования. В частности, формальность моделей позволяет получать формальные модели разрабатываемых программных продуктов в форме композиции формальных моделей ее составляющих.
Основными задачами использования объектно-ориентированного подхода к разработке программного обеспечения являются [8]:
-
- сокращение уровня сложности кодов при разработке программного обеспечения;
- повышение уровня надежности разработанного программного обеспечения;
- возможность модификации отдельных модулей ПО без внесения изменений в остальные его компоненты;
- обеспечение возможности многократного использования отдельных модулей ПО.
При систематическом использовании объектно-ориентированного подхода возможно проведение разработки достаточно структурированных, надежных в эксплуатации, легко модифицируемых программных систем. Этим объясняется распространенность указанного подхода среди программистов.
Существуют следующие аспекты объектно-ориентированного подхода [12]:
• разработка ПО с использованием ООП;
• реализация ПО с использованием ООП.
В ООП объект рассматривается в качестве осязаемой реальности (tangible entity) – предмета или явления, имеющего четко определяемую модель поведения. Для объекта характерны характеристики состояния, поведения и индивидуальности; в структуре и поведении схожих объектов определяется общий для них класс. Понятия "экземпляр класса" и "объект'' являются эквивалентными. Описание состояния объекта осуществляется через перечень всех возможных (статических) характеристик данного объекта и текущих значений (динамических) по каждому из указанных свойств. Поведение характеризуется спецификой воздействия объекта на другие объекты и, наоборот - при относительном изменении состояния данных объектов и передаче сообщений. Таким образом, особенности поведения объекта полностью охарактеризуются его действиями.
Индивидуальность – это свойства объекта, посредством которых возможно нахождение отличий его от всех иных объектов.
Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией. Как правило, в объектных и объектно-ориентированных языках операции, выполняемые над данным объектом, называются методами и являются составной частью определения класса. Класс – это множество объектов, связанных общностью структуры и поведения. Любой объект является экземпляром класса. Определение классов и объектов – одна из самых сложных задач объектно-ориентированного проектирования.
Следующая группа терминов объектного подхода включает наследование и полиморфизм. Термин полиморфизма может интерпретироваться как способность класса к принадлежности более чем к одному типу. Наследование предполагает возможности построения новых классов на базе существующих с возможностями добавления или изменения свойств данных и методов.
Построение объектно-ориентированных систем изначально проводится с учетом их эволюции. С помощью наследования и полиморфизма обеспечиваются возможности определения новых функций через реализацию производных классов, являющихся потомками базовых. В классах-потомках наследуются параметры родительских классов без модификации их первоначального описания с добавлением в случае необходимости собственных структур данных и методов. При определении производных классов, в которых определяется перечень различий или уточнений, в значительной степени сокращается время при разработке и спецификациях в программном коде.
Важное свойство объектного подхода связано с обеспечением согласованности моделей деятельности компаний и моделей проектируемых систем от этапа формирования требований до этапа реализации. Выполнение требований согласованности моделей обеспечивается благодаря возможностям использования таких методов, как абстрагирование, модульность, полиморфизм на всех этапах работы с программным кодом. Модели ранних этапов могут быть непосредственно подвергаться сравнению с моделями реализации. По объектным моделям может прослеживаться отображение реальных сущностей в модели предметных областей (организации) в объекты и классы информационной системы.
2.Особенности реализации ПО с использованием объектно-ориентированного подхода
2.1. Этапы жизненного цикла проекта автоматизации
Проведем выбор концепции жизненного цикла в рамках проектирование системы автоматизации с использованием ООП.
Жизненным циклом информационной системы является период создания и использования информационной системы, который охватывает различный её состояния, начиная с момента появления необходимости в ее реализации и заканчивая моментом вывода системы из эксплуатации [9, стр.20].
В настоящее время к наиболее распространенным стандартам, регламентирующим вопросы реализации жизненного цикла информационных систем, относятся [14, стр.70]:
- ГОСТ 34 (ГОСТ 34.601-90 «Автоматизированные системы Стадии создания»),
- ISO 12207 «Standard for Infrmmation Technoiogy - Software Life Cycle Processes», ISO 15288 «Standard for Infrmmation Technoiogy - System Life Cycle Processes».
Стандарт ГОСТ 34.601-90 в рамках создания и развития автоматизированных систем является достаточно обобщенным, при этом предъявляет набор жестких требований к структуре жизненного цикла информационной системы, а так же к объемам, свойствам и содержаниюу проектной документации. В настоящее время данный стандарт считается устаревшим. Стандарты ISO 12207 и ISO 15288 являются международными стандартами, регламентирующими структуру жизненного цикла. Данные стандарты являются более современными, по сравнению с ГОСТ 34. Различия данных стандартов состоят в том, что ISO 12207 используется при разработке исключительно программных продуктов, а стандарт ISO 15288 нацелен на полный анализ автоматизированных систем, включая программную и аппаратную платформы. В силу этого, в данном проекте будет применен стандарт жизненного цикла ISO 12207.
Существуют следующие основные стратегии внедрения системы [10]:
1. Параллельная стратегия, при которой одновременно функционируют старая (ручная) и новая система, и производится сравнение их выходных документов. Если они согласуются длительное время, производится переход на новую систему.
2. "Скачок". Данная стратегия привлекательна, но не рекомендуется.
3. "Пилотный проект". Это наиболее часто используемая стратегия. "Пилотный проект" - это тактика "скачка", но применяемая к ограниченному числу процессов. Область применения стратегии - небольшой участок работы. Данный подход снижает риски и является наиболее надежным. Практически все предприятия применяют эту тактику сегодня.
4. "Узкое место"- это малая часть производственного процесса. При использовании похода "узкое место" план внедрения выполняется только для "узкого места" и для людей, работающих в нем. Точность данных повышается только для изделий в данном "узком месте"; переподготовка необходима только для сотрудников, работающих в нем; анализ эффекта затрат делается только для него и т.д.
В качестве стратегии внедрения системы выбрана модель пилотного проекта.
Модель ЖЦ ИС включает в себя [18]:
- Стадии
- Результаты выполнения работ на каждой стадии
- Ключевые события — точки завершения работ и принятия решений.
Стадия — часть процесса создания ИС, ограниченная определенными временными рамками и заканчивающаяся выпуском конкретного продукта (моделей, программных компонентов, документации), определяемого заданными для данной стадии требованиями.
На каждой стадии могут выполняться несколько процессов, определенных в стандарте ГОСТ Р ИСО/МЭК 12207-99, и наоборот, один и тот же процесс может выполняться на различных стадиях. Соотношение между процессами и стадиями также определяется используемой моделью жизненного цикла ИС [21]
Модели жизненного цикла ИС
В рамках каскадной модели предполагается последовательное исполнение всех стадий проекта в строго определенном порядке. Переход к следующему этапу производится только при полном завершении работ на предшествующей стадии. Проводится четкое документирование требований в форме технического задания. Окончание каждого этапа предполагает издание полного комплекта документов, достаточного для того, продолжения разработки другой группой специалистов.
Понятие «жизненный цикл проекта» можно интерпретировать как период времени от зарождения идеи проекта до его завершения, который можно разделить на соответствующие фазы или этапы [8]:
- Стадия замысла
- Стадия разработки
- Стадия производства
- Стадия применения
- Стадия поддержки применения
- Стадия прекращения применения и списания
Не существует единого оптимального метода, позволяющего определить наиболее подходящий жизненный цикл и структуру проекта. У некоторых организаций существуют принятые принципы, согласно которым для каждого проекта подразумевается один и тот же жизненный цикл, в то время как остальные организации позволяют команде управления проектом самим выбирать жизненный цикл, наиболее подходящий для проекта [26].
Модель жизненного цикла программного обеспечения - структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла. Модель жизненного цикла зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует.
Модели жизненного цикла [15]:
- Каскадная модель - подразумевает последовательное выполнение всех этапов проекта в строго определенном порядке. Переход на следующий этап выполняется только после полного завершения работ на предыдущем.
- Итерационная модель - подразумевает разделение жизненного цикла проекта на определенную последовательность итераций, напоминающих «мини-проект», каждый из которых включает все процессы разработки в применении к созданию меньших фрагментов функциональности, по сравнению с проектом в целом. Цель каждой итерации - получение работающей версии программного продукта, включающей функциональность, определённую интегрированным содержанием всех предыдущих, и текущей итерации. Результат финальной итерации содержит всю требуемую функциональность продукта.
- Спиральная модель - складывается из нескольких итераций (витков спирали) путем создания прототипов (черновых версий программы). Каждая итерация соответствует созданию фрагмента или версии программного обеспечения, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.
Структура спиральной модели жизненного цикла программного обеспечения приведена в соответствии со стандартом ГОСТ Р ИСО/МЭК 12207-99 Информационная технология. Процессы жизненного цикла программных средств [14].
Рисунок 2 - Спиральная модель
Концепция спиральной модели, разработанная Барри Боэмом в 1986 году, применяется в рамках разработки большого количества информационных систем [8]. Она выступает в роли технологии разработки программного обеспечения, сочетающей в себе как стадии проектирования, так и постадийного прототипирования с целью сочетания достоинств восходящих и нисходящих алгоритмов, в которой делается упор на работу с начальными этапами жизненного цикла: стадий анализа и проектирования.