Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (средства работы с ООП).pdf
Добавлен: 26.06.2023
Просмотров: 245
Скачиваний: 3
СОДЕРЖАНИЕ
2.1 Сравнение существующих методологий, их достоинства и недостатки
3 Суть объектно-ориентированного подхода в проектировании ИС
3.1.1 Унифицированный язык визуального моделирования (UML)
3.1.2 Язык программирования C++
3.1.3 Методология построения объектно-ориентированных систем IDEF4
3.1.4 CASE-системы, поддерживающие объектно-ориентированную методологию
Введение
Информационные технологии вошли во все сферы окружающего нас мира. Они помогают автоматизировать процесс сбора ,обработки, хранения огромных объемов информации. А для того, чтобы упростить этот процесс, разрабатываются разнообразные средства и методы проектирования информационных систем.
В данной работе мы рассмотрим объектно –ориентированный подход к проектированию информационных систем, принцип его работы. Сравним с другими популярными методологиями проектирования ИС, выявим их достоинства и недостатки. А также познакомимся с некоторыми языками и средствами ,поддерживающими эту методологию.
В своей работе я опирался на наиболее известные пособия, на труды работы таких авторов, как : Гради Буч, С.Ю. Золотов, А.М. Вендров, Ю.А. Блинков ..
1 Проектирование ИС
Информационная система (ИС) – это организационно-техническая система, использующая информационные технологии в целях обучения, информационно-аналитического обеспечения человеческой деятельности и процессов управления.
До появления компьютеров ИС представляла собой различные архивы, картотеки и бухгалтерские книги. На карточке информация хранилась в упорядоченном виде, так же строго поддерживалась структурированная система закладок и каталогов для облегчения поиска информации. В больших информационных архивах поиск занимал очень много времени, а для поддержания строгой иерархической системы требовались значительные усилия.
Появление первых компьютеров оказало незначительное влияние на мир ИС, так как первые компьютеры в основном занимались вычислениями и использовались преимущественно в военных целях. Несмотря на это, у людей появилась возможность эффективной автоматизированной обработки информации.
По мере развития вычислительной техники появлялись первые коммерческие ИС. Они принадлежали крупным корпорациям и были довольно малочисленны, что объяснялось внушительной стоимостью как вычислительной техники, так и стоимостью создания самой ИС.
Современные информационные технологии предоставляют широкий выбор способов реализации ИС, выбор которых осуществляется на основе требований со стороны предполагаемых пользователей, которые могут меняться в процессе разработки. Для теории принятия решений процесс проектирования ИС – это процесс принятия проектно-конструкторских решений, направленных на получение проекта системы, удовлетворяющего требования заказчика.
Под проектированием ИС понимается процесс преобразования входной информации об объекте проектирования, о методах проектирования и об опыте проектирования объектов аналогичного назначения в соответствии со стандартами в проект ИС.
Осуществление проектирования ИС предполагает использование проектировщиками определенной технологии проектирования, соответствующей масштабу и особенностям разрабатываемого проекта. Технология проектирования – это совокупность методологии и средств проектирования ИС, а также методов и средств организации проектирования.[1]
2 Методологии создания ИС
Основу технологии проектирования ИС составляет методология, которая определяет сущность, основные отличительные технологические особенности. Методология проектирования предполагает наличие некоторой концепции, принципов проектирования, реализуемых наборов методов проектирования, которые, в свою очередь, должны поддерживаться некоторыми средствами проектирования.[1]
Методология - это материальное воплощение логического жизненного цикла, которая объединяет:
- пошаговую деятельность для каждой фазы,
- персональные и групповые роли, выполняемые в каждой деятельности,
- результаты и стандарты качества для каждого вида деятельности ,
- инструментальные средства и технологии, используемые для каждого вида деятельности.
Применяемая методология должна сопровождать весь жизненный цикл разработки системы от возникновения проблемы до этапа внедрения готового решения. Очевидно, что методологии реализуются посредством применения различных технологий и инструментальных средств.
Следует отметить, что большинство современных методологий объединяет использование нескольких инструментальных средств и технологий разработки, формируя для организации различные реализации методологии. Традиционно различаются следующие виды методологий:
-Разработка, основанная на моделировании,
- Быстрая разработка приложений ,
- Приобретение готового ПО ,
- Комбинация упомянутых методологий.
Моделирование в методологии –это выполнение одной или нескольких диаграмм, представляющих систему. Моделирование – технология взаимодействия, которая основана на известном высказывании «Рисунок заменяет тысячу слов». Разработка, основанная на моделировании – процесс, основанный на разработке графических моделей, помогающих представлять и анализировать проблемы, определять требования бизнеса и проектировать ИС. Моделирование не является целью разработки ПО, а лишь средством построения ИС; и состав моделей, которые используют в каждом конкретном проекте, а также степень их детальности зависят от следующих факторов:
- сложности проектируемой системы;
-необходимой полноты ее описания;
- знаний и навыков участников проекта;
- времени, отведенного на проектирование. [2]
Графическая модель процессов является информативным средством взаимодействия специалистов различных направлений и ее полезность подтверждается высказыванием «Если рисунок заменяет 1,000 слов..., то модель процессов заменяет 1,000 рисунков».
В настоящее время существуют следующие подходы в создании ИС, основанные на моделировании:
- Структурный анализ и проектирование системы (SAD). Данный подход ориентируется и моделирует в первую очередь процессы, выполняющиеся в организации.
- Инфотехника (IE) . Данный подход ориентируется и моделирует в первую очередь данные, циркулирующие в организации. IE модели являются диаграммами, иллюстрирующими и синхронизирующими данные и процессы системы. Специалистами, однако, отмечается, что в этой методологии недостает процесса проектирования.
- Объектно-ориентированный анализ и проектирование (OOAD). Данный подход в качестве компонентов системы рассматривает объекты – объединение данных и процессов.
На рисунке 1 обозначены наиболее популярные подходы к проектированию информационных систем.[2]
Рисунок 1
2.1 Сравнение существующих методологий, их достоинства и недостатки
Структурный анализ ( SA) и структурное проектирование ( SD) – результат структурного программирования ,который появился в 1970-х ,развивался из классического системного анализа. Методологии структурного анализа используют каскадную (водопадную) модель ЖЦ ИС; наиболее известные и используемые методологии структурно анализа – SADDT, SSADM. Методы структурного анализа дорабатывались и используются на протяжении долгого времени.[2]
Основные преимущества структурных методологий:
- основаны на классическом системном анализе и процессно-ориентированы, подходят для описания любых (не только информационных) систем, идеальны для исследования предметной области, реинжиниринга бизнес процессов;
- понятное и относительно простое визуальное представление системы, легко понимаемое как пользователями, так и разработчиками;
-акцент на командной работе;
- четко определенные этапы, что облегчает управление проектом и позволяет разрабатывать системы лучшего качества;
- допускают использование средств проверки требований;
- SSAD и IDEF0 – классические, широко известные методологии в области проектирования ИС, существующие на протяжении длительного времени и достаточно «зрелые»;
Недостатки структурных методологий:
- поскольку процессно-ориентированы, то соответственно, игнорируют нефункциональные требования: не идеальные решения при использовании объектно-ориентированных языков программирования, т.к. изначально создавались для структурных языков;
- поскольку SSAD и SSADM не итеративны, то изменение требований может привести к перезапуску всего процесса разработки;
- возможны трудности при определении глубины декомпозиции – момента, когда нужно остановиться и переходить к реализации модели.[5]
Намного позже появились и невероятно популяризировались объектно-ориентированные языки. По мере того ,как их популярность росла, была разработана методология помощи программисту в разработке приложений с использованием объектно-ориентированных языков. Эта методология стала известна как объектно-ориентированный анализ и проектирование .
Объектно-ориентированный анализ использует методы объектного моделирования для анализа функциональных требований к системе.
Объектно-ориентированное проектирование разрабатывает аналитические модели для создания спецификаций реализации (к примеру , ТЗ). Концептуальной основой этого проектирования является объектная модель, выстраиваемая с учетом принципов абстрагирования, инкапсуляции, модульности, иерархии, типизации, параллелизма, устойчивости .Другую группу важных понятий объектно-ориентированного подхода составляют полиморфизм (способность класса принадлежать более чем одному типу) и наследование (построение новых классов на основе существующих ,с возможностью добавления или переопределения данных и методов). [2]
Объектно-ориентированный подход обладает следующими преимуществами:
- Объектная декомпозиция дает возможность создавать модели меньшего размера путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств;
-Использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования, что ведет к созданию среды разработки и переходу к сборочному созданию моделей;
- Объектная декомпозиция позволяет избежать создания сложных моделей, так как она предполагает эволюционный путь развития модели на базе относительно небольших подсистем;
- Объектная модель естественна, поскольку ориентирована на человеческое восприятие мира;
- упрощение и ускорение программной реализации системы по сравнению со структурными методологиями;
- повторное использование кода в других проектах, благодаря независимости объектов и инкапсуляции, что сокращает стоимость проектирования, программирования и проверки; повторное использование кода может способствовать улучшению качества последующих проектов («Если 90% нового приложения содержит проверенные компоненты, то только 10% кода должна быть проверена с нуля» (Vivek Shah);
- отсутствие разделения между фазами анализа и разработки обеспечивает взаимодействие с пользователями до самого конца проекта;
- аналитики и программисты не связаны ограничениями внедрения системы, поэтому могут формулировать проекты, которые будут соответствовать различным средам исполнения;
- программное обеспечение устойчиво к изменениям, что обеспечивает более высокий уровень уверенности в его корректности, способствуя снижению рисков при разработке сложных систем;
- те преимущества, которые представляет объектно-ориентированное программирование по сравнению со структурным: при разработке объектов со сложным взаимодействием, аналитик думает на ином уровне детализации, чем это возможно в структурном коде, т.е. об атрибутах объекта; стандартизация объектов увеличивает степень понимания проекта.
Недостатки объектно-ориентированных методологий:
- изначальная модель слишком упрощена для того, чтобы быть адекватной;
-чрезмерная фокусировка на коде;
- не так много внимания уделяется командной работе, как в структурных методологиях;
- определение всех необходимых для системы классов и объектов – это не такая, на самом деле, простая задача;
- попытка сочетания объектного программирования с анализом различных функций системы; однако, эти функциональные методы совершенно не соответствуют OOAD;
- преувеличение значимости и универсальности объектной методологии, когда, фактически, другой подход мог бы подойти лучше для анализа и разработки системы в зависимости от конкретных обстоятельств;
- требует новый вид управления проектами, который включает различные типы анализа, отличные от традиционного функционального подхода декомпозиции. Следовательно, для команд разработчиков проекта, которые имеют долгую историю использования методологий SSAD и SSADM, переход к методологии OOAD является чрезвычайно сложным, длительным и трудоемким;