Методика применения методов программной инженерии на этапах разработки информационной системы Авторы статьи: Махмутова М. В., Гоу впо «Магнитогорский государственный университет», к п. н.,доцент

Вид материалаДокументы

Содержание


На стадии формирования требований к ПО
Подобный материал:
Методика применения методов программной инженерии на этапах разработки информационной системы

Авторы статьи: Махмутова М.В., ГОУ ВПО «Магнитогорский государственный университет», к.п.н.,доцент, marmah63@mail.ru; Махмутов Г.Р., ГОУ ВПО «Магнитогорский государственный технический университет им. Г.И. Носова», студент

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

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

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

Нет идеальных методов, все они применимы только для тех или иных случаев. Например, объектно-ориентированные методы хороши для интерактивных систем, но не для систем с жестким реальным временем.

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

Быстрый рост областей применения, сложности функций и масштабов автоматизированных информационных систем привел к принципиальному изменению методов в этой сфере и к переходу от технологии индивидуального программирования отдельных небольших программок к коллективному созданию крупных комплексов программ инженерными методами проектирования и разработки. Накопление в мире знаний, опыта разработки и применения огромного количества различных сложных программ для ЭВМ, способствовал систематизации и обобщению методов и технологий их разработки, сокращению дефектов и неопределенностей в характеристиках и качестве поставляемых и применяемых программных продуктов. В результате сформировалась современная методология и инженерная дисциплина обеспечения процессов жизненного цикла сложных программных продуктов – программная инженерия для различных областей применения.

На сегодняшний день в программной инженерии существует два основных подхода к разработке ПО АИС, принципиальное различие между которыми обусловлено разными способами декомпозиции систем (разбиение сложного процесса на составляющие его функции). Первый подход называют функционально-модульным или структурным. В его основу положен принцип функциональной декомпозиции, при которой структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами. Второй, объектно-ориентированный подход использует объектную декомпозицию. При этом структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. То есть, направления (методологии) в разработке АИС отличаются друг от друга тем, что ставят в основание проектирования различные аспекты информационной системы: процессы или данные; различаются подходами к рассмотрению взаимосвязей между объектами предметной области и т.д. С целью выявления данных отличий рассмотрим определенные ранее методологии создания ИС и соответствующие инструментальные средства.

В структурном подходе используются в основном две группы средств, описывающих функциональную структуру системы и отношения между данными. Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными, среди которых являются: DFD (Data Flow Diagrams) - диаграммы потоков данных. Диаграммы DFD являются основным средством моделирования функциональных требований к проектируемой системе. С их помощью эти требования представляются в виде иерархии функциональных компонентов (процессов), связанных потоками данных. Главная цель такого представления – продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выяснить отношения между этими процессами; SADT( Structured Analysis and Design Technique - метод структурного анализа и проектирования) - модели и соответствующие функциональные диаграммы. Методологию IDEF0 можно считать следующим этапом развития графического языка описания функциональных систем SADT. Кроме усовершенствованного набора функций для описания бизнес-процессов метод обеспечивает групповую работу над созданием модели с непосредственным участием всех аналитиков и специалистов, занятых в рамках проекта; ERD (Entity-Relationship Diagrams) - диаграммы "сущность-связь" предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей); STD (State Transition Diagrams) - диаграммы переходов состояний. С помощью STD можно моделировать последующее функционирование системы на основе ее предыдущего и текущего функционирования. Моделируемая система в любой заданный момент времени находится точно в одном из конечного множества состояний. С течением времени она может изменить свое состояние, при этом переходы между состояниями должны быть точно определены.

Конкретный вид перечисленных диаграмм и их интерпретация зависит от стадии ЖЦ ПО. На стадии формирования требований к ПО SADT-модели, IDEF0 и DFD-модели используются для построения модели “AS-IS” и модели “TO BE”, отражая, таким образом, существующую и предлагаемую структуру бизнес-процессов организации и взаимодействие между ними. С помощью ERD-моделей выполняется описание используемых в организации данных на концептуальном уровне, не зависимом от средств реализации СУБД. В случае наличия реального времени DFD дополняется средствами описания зависящего от времени поведения системы, раскрывающимися с помощью STD. На стадии проектирования DFD используются для описания структуры проектируемой системы ПО, при этом они могут уточняться, расширяться и дополняться новыми конструкциями. Аналогично уточняются и дополняются новыми конструкциями, описывающими представление данных на логическом уровне, пригодном для последующей генерации схемы БД. Данные модели могут дополняться диаграммами, отражающими системную архитектуру ПО, структурные схемы программ и др .

Перечисленные модели в совокупности дают полное описание ПО ИС независимо от того, является ли система существующей или вновь разрабатываемой. Состав диаграмм в каждом конкретном случае зависит от сложности системы и необходимой полноты ее описания.

Одними из современных Case-средств, поддерживающих структурный подход, являются инструментальные средства BPWin и ERWin.

Большинство существующих методов объектно-ориентированного анализа и проектирования (ООП) включают как язык моделирования, так и описание процесса моделирования. В настоящее время на рынке продуктов для ОО анализа, моделирования и проектирования доминирует семейство ОО Case-средств фирмы Rational Software Corporation – Rational Rose.

В основе работы Rational Rose лежит построение различного рода диаграмм и спецификаций UML, определяющих архитектуру системы, ее статические и динамические аспекты. В составе Rational Rose можно выделить шесть основных структурных компонентов: репозиторий, графический интерфейс пользователя, средства просмотра проекта (browser), средства контроля проекта, средства сбора статистики и генератор документов.

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

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

Нами рассмотрены два основных подхода программной инженерии к разработке ПО ИС: структурный и объектно-ориентированный. Главный недостаток структурного подхода заключается в следующем: процессы и данные существуют отдельно друг от друга, причем проектирование ведется от процессов к данным. Таким образом, помимо функциональной декомпозиции, существует также структура данных, находящаяся на втором плане. Но данные по сравнению с процессами являются более стабильной и относительно редко изменяющейся частью системы. Отсюда следует главное достоинство ООП: объектно-ориентированные системы более открыты и легче поддаются внесению изменений, поскольку их конструкция базируется на устойчивых формах. Это дает системе развиваться постепенно и не приводит к полной ее переработке даже в случае существенных изменений исходных требований. К недостаткам ООП относится некоторое снижение производительности ПО и высокие начальные затраты.

Безусловно, объектно-ориентированная модель наиболее адекватно отражает реальный мир, представляющий собой ряд взаимодействующих объектов. Но, на наш взгляд, в настоящий момент количество Case-средств, поддерживающих ООП, невелико по сравнению с поддерживающими структурный подход. Кроме того диаграммы, отражающие специфику ООП, гораздо менее наглядны и понимаемы профессионалами. Поэтому одна из главных целей внедрения Case-технологий, а именно, снабжение всех участников проекта общим языком для понимания, обеспечивается на сегодняшний день в основном структурными методами программной инженерии. Таким образом, структурный подход по-прежнему сохраняет свою значимость и достаточно широко используется на практике.

Литература
  1. ModelMart - cреда для совместной работы проектировщиков на ERwin и/или BPwin. - Режим доступа: face.ru/ca/cah.htm
  2. Rational Rose для разработчиков и ради разработчиков/ Режим доступа: - ссылка скрыта
  3. Хорошилов А.В. Управление информационными ресурсами. Учебник Гриф МО РФ / А.В.Хорошилова, С.Н.Селетков, Н.В.Днепровская. - М.: Финансы и статистика, 2006. – 271 с.