Сделай Сам Свою Работу на 5

ПОСТРОЕНИЯ СИСТЕМ С ИСПОЛЬЗОВАНИЕМ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

 

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

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

Объектно-ориентированная технология проектирования ИС [3, 9, 24, 26] предоставляет мощную, гибкую, универсальную концеп­туальную основу для конструирования информационно-управляю­щих систем в различных областях хозяйственной деятельности и управления, сочетающую использование моделей современной ло­гистики, объектного подхода к компонентам предметной области, современных инструментальных средств визуального программиро­вания и СУБД с SQL-интерфейсом.

Объектно-ориентированная технология проектирования ИС включает в себя следующие компоненты:

• технологию конструирования концептуальной объектно-ори­ентированной модели предметной области;



• инструментальные средства спецификации проектных реше­ний;

• библиотеки типовых компонентов модели предметной облас­ти;

• типовые проектные решения для ряда функциональных об­ластей.

В основу объектно-ориентированной технологии проектирова­ния ИС положены разработка, анализ и спецификация концепту­альной объектно-ориентированной модели предметной области.

Концептуальная объектно-ориентированная модель предметной области является основой проекта и реализации системы и обеспе­чивает:

• необходимый уровень формализации описания проектных решений;

• высокий уровень абстрагирования, типизации и параметриза­ции проектных решений;

• компактность описания;

• удобство сопровождения готовой системы. Отличительными чертами предлагаемой методологии являются

следующие:

• наличие единого методологически обоснованного ядра, обес­печивающего открытость технологии для модификации, расшире­ния и создания новых моделей представления проектных решений;

• наличие единого формального аппарата анализа проектных решений для используемых моделей представления;

Отличительными чертами предлагаемой технологии являются:

• совместное рассмотрение информационных, материальных и финансовых потоков;

• первичная и вторичная классификация объектов предметной области с обязательным указанием оснований классификации;

• наличие конструктивных методик декомпозиции и агрегиро­вания компонентов проекта, использующих результаты классифи­кации;

• наличие формальных методов оценки связности и сцепления компонентов проекта;

• использование функциональной модели данных с атрибута­ми — функциями доступа и атрибутами — категориями в качестве основы концептуальной модели данных.

При всем разнообразии моделей предметных областей концеп­туального уровня (Power Designer «Моделирование бизнеса» (Sybase), Oracle Method, Rational Rose — Гради Буч, Object — Oriented Design LanguagE (OODLE) — Салли Шлеер и Стефан Меллор) отсутству­ют такие модели, которые бы позволяли в полной мере использо­вать знания по классификации элементов предметной области для описания свойств ее элементов, и в то же время, сохраняли пре­имущества традиционных функционального и информационного подходов, основанных на модели данных. «Чистый" объектный подход (Гради Буч) уже на ранних стадиях требует представлять данные о классификации в виде диаграмм классов. Это слишком жесткое требование. Выделение иерархии классов требует проведе­ния объемного и тонкого анализа различных аспектов взаимосвя­зей объектов предметной области. В рамках самого объектного подхода подобных методик нет. С другой стороны, попытки со­вместить чистый объектный подход с традиционными подходами (Салли Шлеер) оказываются неудачными, так как последние рас­сматриваются не как обоснование решений объектного подхода, а как средство моделирования последнего.

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

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

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

Выделим следующие этапы проектирования ИС:

I. Исследование предметной области;

II. Разработка архитектуры системы;

III. Реализация проекта; ГУ. Внедрение системы;

V. Сопровождение системы; .

I. Исследование предметной области предусматривает следую­щие шаги:

1. Спецификацию деятельности в предметной области;

2. Анализ деятельности в предметной области;

2.1. Структурно-логический анализ деятельности:

2.1.1. Анализ путей;

2.1.2. Анализ связности (прочности и сцепления) компонентов предметной области;

2.2. Анализ производительности;

2.3. Экономический анализ.

II. Разработка архитектуры системы включает в себя разработку следующих компонентов:

1. Спецификации требований к проектируемой системе;

2. Конструирование концептуальной модели предметной облас­ти;

3. Спецификации обработки данных в проектируемой системе;

4. Спецификации пользовательского интерфейса системы;

5. Спецификации деятельности в предметной области с учетом внедрения системы.

Процесс проектирования ИС базируется на следующих моделях представления проектных решений:

1. Модели классификации объектов;

2. Модели декомпозиции компонентов предметной области;

3. Моделях потоков;

4. Модели данных предметной области;

5. Модели классов;

6. Модели пользовательского интерфейса;

7. Модели логики.

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

Модель декомпозиции ориентирована на описание систем, спо­собных выполнять действия над данными. Различают виды деком­позиции действий на основе:

• состава выходных данных;

• входных данных;

• представлений о промежуточных результатах;

• представлений о фазах обработки;

• представлений об альтернативных действиях.

Модели потоков отражают движение различных видов носите­лей (материальных, финансовых, информационных и др.).

Модель данных предметной области ориентирована на описа­ние структуры информационных объектов, их функциональных взаимосвязей, необходимых для поддержания заданных действий.

Модель классов определяет систему классификации информа­ции о предметной области, основанную на семантическом анализе. Среди важных характеристик модели классов можно выделить от­ношения наследования, включения или использования. В основе лежит объектно-ориентированный подход, в основе которого нахо­дится представление о предметной области, как совокупности взаимодействующих друг с другом объектов, рассматриваемых как экземпляр определенного класса. Классы образуют иерархию на основе наследования. Объектно-ориентированный подход содер­жится в современных языках высокого уровня Smalltalk, Object Pascal, C++, Java.

Модель пользовательского интерфейса ориентирована на опи­сание взаимодействий пользователей с проектируемой системой, состава форм представления и команд управления заданиями.

Модели логики ориентированы на описание потока управления (последовательности выполнения) операторов программной систе­мы и действий пользователей.

Для отображения результатов проектирования на различных этапах используются следующие виды схем представления проект­ных решений:

1. Схемы первичной классификации;

2. Схемы вторичной классификации;

3. Схемы детализации;

4. Схемы спецификации функциональных возможностей;

5. Схемы локальных моделей данных;

6. Схемы потоков;

7. Диаграммы переходов;

8. Схемы спецификации пользовательского интерфейса;

9. Схемы распределенной обработки данных;

10. Структурированные карты объектов.

Схема классификации описывает многомерную одноуровневую классификацию одного элемента. Каждый признак (основание) классификации имеет глобальный идентификатор и имя:

cat.<ид. признака классификации>—<имя признака классификации>.

Дуги на схеме классификации помечаются соответствующими элементами типа cat.

По способу формирования будем различать первичные и вто­ричные варианты оснований классификации.

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

Вторичные основания классификации элемента формируются в соответствии с основаниями классификации элементов, которые сильно связаны с данным элементом.

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

• материальных потоков;

• финансовых потоков;

• информационных потоков;

• потоков событий;

• отражающие сразу несколько типов потоков.

Правила конструирования схем потоков следующие:

• вся схема строится для одного исходного функционального или организационного элемента;

• каждый функциональный и организационный элементы спе­цификации должны иметь уникальный идентификатор;

• каждый поток должен иметь тип, уникальный идентификатор и, возможно, спецификацию;

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

• накопителями информационных потоков в зависимости от их вида являются базы данных (информационные объекты) или папки документов:

• накопителями финансовых потоков являются счета бухгал­терского учета;

• накопителями материальных потоков являются места посто­янного или временного размещения материальных ценностей;

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

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

Рассмотрим кратко основные аспекты и сложившиеся подходы к реализации ИС.

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

Одиночные ИС реализуются на автономном компьютере (чаще всего ПК), могут содержать несколько простых приложений, рас­считаны на работу одного пользователя или группы пользователей, разделяющих по времени одно рабочее место. Подобные приложения создаются с помощью так называемых «настольных» СУБД или с помощью файловой системы и диалоговой оболочки для вво­да, редактирования и обработки данных.

Групповые ИС ориентированы на коллективное использование информации членами обособленной рабочей группы, обычно, строятся как локальная вычислительная сеть ПК или реже как многотерминальная вычислительная система. Однотипные или специализированные рабочие места обеспечивают вызов одного или нескольких приложений. Общий информационный ресурс представляет собой базу данных или совокупность файловых структур. При разработке таких систем используются «настольные» СУБД, серверы БД для рабочих групп и соответствующие инстру­менты разработки.

Корпоративные ИС ориентированы на использование в масшта­бе предприятия (организации) для различных рабочих групп, могут поддерживать территориально разнесенные узлы или сети. Отличи­тельная особенность таких систем — обеспечение доступа из под­разделений к центральной или распределенной БД предприятия (организации), а также к информационным ресурсам рабочей груп­пы. Такие системы реализуются на основе архитектуры «кли­ент—сервер» со специализацией серверов. При этом используются корпоративные SQL-серверы и соответствующие инструменталь­ные средства.

Групповые и корпоративные информационные системы могут строиться на основе следующих способов:

• многотерминальные централизованные вычислительные сис­темы;

• системы на основе локальной сети ПК;

• системы с архитектурой «клинет—сервер»:

• системы с распределенными вычислениями;

• офисные системы;

• системы на основе Интернет/Интранет-технологий.

Среди средств разработки информационных систем выделяют следующие основные группы:

• традиционные систем программирования;

• инструменты для создания файл-серверных приложений;

• средства разработки приложений «клиент—сервер»;

• средства автоматизации делопроизводства и документооборота;

• средства разработки Интернет/Интранет-приложений;

• средства автоматизации проектирования (CASE-технологии).

Традиционные систем программирования представлены средст­вами создания приложений на алгоритмических языках програм­мирования (Си, Паскаль, Бейсик и др.). Инструментальные средст­ва программирования могут быть представлены набором утилит (редактор текстов, компилятор, компоновщик и отладчик) или ин­тегрированной программной средой. Развитием традиционных сис­тем программирования является объектно-ориентированное и ви­зуальное программирование.

Основой разработки файл-серверных приложений для локаль­ных сетей ПК являются инструментальные средства «персональ­ных» СУБД, реализованные в виде диалоговой интегрирующей среды, предоставляющей три уровня доступа:

• программирование и создание приложений;

• создание и ведение структуры БД, а также интерактивная ге­нерация макетного приложения и его компонентов (меню, форм или окон, отчетов, запросов и программных модулей);

• использование диалоговой среды и генераторов конечным пользователем для создания, ведения и просмотра БД, а также формирования простых отчетов и запросов.

Среди инструментальных средств реализации приложений с ар­хитектурой «клиент—сервер» выделяют следующие:

• среды разработки приложений для серверов баз данных;

• независимые от СУБД инструменты для создания приложе­ний «клиент—сервер»;

• средства поддержки распределенных информационных при­ложений.

Среди этой группы следует выделить инструментальные средст­ва быстрой разработки приложений RAD (Rapid Application Development), обеспечивающие реализацию удаленного доступа к СУБД по двухзвенной схеме «клиент—сервер»; связь клиентских приложений с серверами БД с помощью непроцедурного языка структурированных запросов SQL; целостность БД, включая цело­стность транзакций; поддержку хранимых процедур на серверах БД; реализацию клиентских и серверных триггеров-процедур; гене­рацию элементов диалогового интерфейса и отчетов.

Средства автоматизации делопроизводства и документооборота подразделяются на следующие подгруппы:

• средства автоматизации учрежденческой деятельности Office Automation;

• системы управления электронным документооборотом EDMS;

• EDI — электронный документооборот и UN/EDIFACT — ев­ропейский стандарт EDI в задачах логистики;

• средства обеспечения коллективной работы Groupware;

• средства автоматизации документооборота Workflow.

Данная группа средств включает в свой состав: текстовые ре­дакторы для подготовки и корректировки документов; процессоры электронных таблиц для расчетов, анализа и графического пред­ставления данных; программы генерации запросов по образцу из различных БД; сетевые планировщики для назначения рабочих встреч и совещаний; средства разработки и демонстрации иллюст­ративных материалов для презентаций; словари и системы по­строчного перевода и др. Эти средства представляют собой отдель­ные пакеты (Win Word, Word Perfect, Excel, Lotus), интегрирован­ный пакет программ (MS Works) или согласованный набор пакетов (Microsoft Office, Corel Perfect Office).

Новый спектр средств Интернет/Интранет-приложений под­робно представлен в подразд. 5.5. Средства программирования Internet/Intranet-приложений представлены различными системами программирования на интерпретируемых языках Java, Java Script, Tel и др. Построенные с использованием этих средств приложения могут загружаться с любого Web-сервера сети и интерпретировать­ся на клиентском узле. Это обеспечивает платформенную незави­симость при расширении функциональных возможностей.

Средства автоматизации проектирования приложений (CASE-тех-нологии) предназначенные для анализа предметной области, про­ектирования и генерации программных реализаций, подробно опи­саны в подразд. 5.4. Новые тенденции в реализации приложений связаны с промышленным характером разработки программного обеспечения. Среди существующих инструментальных средств та­кого типа целесообразно выделить следующие:

• комплект специальных инструментальных средств быстрой разработки прикладных ИС — RAD (Rapid Application Development);

• технологический комплекс разработки программного обеспе­чения RUP (Rational Unified Process) фирмы Rational Software;

• технология разработки программного обеспечения Extreme Programming (XP).

Средства RAD базируются на объектно-ориентированном подхо­де, когда информационные объекты формируются как действующие модели и их функционирование согласовывается с пользователем. Разработка приложений на основе RAD ведется с использованием множества готовых объектов, хранимых в виде базы данных. Объект­но-ориентированные инструменты RAD в среде GUI позволяют на основе набора стандартных объектов, для которых инкапсулированы атрибуты и внутренние процедуры, формировать простые приложе­ния без написания кода программы. Использование в RAD визуаль­ного программирования позволяет еще более упростить и ускорить процесс создания информационных систем. Логика приложения, реа­лизованного с помощью RAD является событийно-ориентированной, что подразумевает наличие определенного набора событий: открытие и закрытие окон, нажатие клавиши клавиатуры, срабатывание сис­темного таймера, получение и передача управления каждым элемен­том экрана, некоторые элементы управления базой данных.

Наиболее полным описанием процесса разработки программ­ного обеспечения, включающим методики выполнения работ на каждой стадии жизненного цикла системы, является Rational Unified Process (RUP), уникальность которого заключается в том, что это стандартизованный процесс разработки программного обеспечения, используемый многими крупными компаниями по всему миру. RUP обладает следующими преимуществами, по срав­нению с другими процессами:

• обеспечивает четко организованный подход к назначению за­дач и требований в рамках организации разработки;

• основан на объектно-ориентированных технологиях разра­ботки программного обеспечения и может использоваться для ши­рокого круга проектов и организаций;

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

• создает описание программного продукта, позволяющего вос­становить процесс его разработки;

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

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

В качестве графической нотации в RUP используется Unified Modeling Language (UML), являющийся стандартом для представления объектных моделей. В UML артефакты разработки представляются диаграммами, описывающими структуру программы и ее поведение.

Другим подходом к разработке программного обеспечения яв­ляется технология Extreme Programming или ХР. Основными эле­ментами данного подхода являются:

• быстрая разработка программного продукта на основе стан­дартных шаблонов проектирования;

• постоянное взаимодействие разработчиков с заказчиками системы;

• минимизация затрат на документирование проекта;

• максимальное использование программных тестов («unit tests») для проверки функциональности и корректности исходных кодов программ;

• использование рефакторингов для расширения функциональ­ности системы и устранения ее недостатков.

ХР предназначена для использования небольшими группами разработчиков, которым необходимо быстро создать программное обеспечение в условиях постоянно изменяющихся требований.

Разработка программной системы редко начинается «с нуля». Обычно программная система имеет некоторую предысторию в виде совокупности программ, реализующих — частично или пол­ностью — требования к системе. Разработка программ на основе ранее созданных компонент базируется на процессе реинжинирин­га программных кодов, при котором путем анализа текстов про­грамм восстанавливается исходная модель программной системы, которая затем используется в новой программе. Главная цель реин­жиниринга программного обеспечения — облегчить процесс разра­ботки программных систем за счет повторного использования про­веренных решений, а также при переходе на другую аппаратную платформу или на другую среду программирования. Основными задачами реинжиниринга программного обеспечения являются:

• восстановление информации о программной системе, ее до­кументации и спецификаций;

• обнаружение аномалий в архитектуре программной системы, моделях и исходном коде;

• проверка соответствия исходного кода программы решениям, принятым на этапах анализа и проектирования;

• перевод исходных кодов программ с одного языка програм­мирования на другой.

 



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.