2. 1. Анализ известных подходов к решению проблемы
На сегодняшний день существуют два основных подхода к разработке ПО ИС, один из которых называется функционально-модульный или структурный. В его основу положен принцип функциональной декомпозиции, при которой структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами. Второй, объектно-ориентированный использует объектную декомпозицию. Структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира.
При разработке ПО ИС с использованием структурного подхода система разбивается на функциональные подсистемы, которые в свою очередь, делятся на подфункции, те – на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимосвязаны. При разработке системы "снизу-вверх", от отдельных задач ко всей системе, целостность теряется, возникают проблемы при описании информационного взаимодействия отдельных компонентов.
|
|
Важным качеством объектно-ориентированного подхода является согласованность моделей деятельности организации и моделей проектируемой системы от стадии формирования требований до стадии реализации. Объектно-ориентированный подход обладает рядом преимуществ, таких как:
· объектная декомпозиция дает возможность создавать ПС меньшего размера путем использования общих механизмов. Использование объектно-ориентированного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования программ, а также проектов;
· объектная декомпозиция уменьшает риск создания сложных систем ПО, т.к. она предполагает эволюционный путь развития системы на базе относительно небольших подсистем;
· объектная модель позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования.
Главным же достоинством объектно-ориентированного подхода является то, что объектно-ориентированные системы более открыты и легче поддаются внесению изменений, т.к. их конструкция базируется на устойчивых формах. Переход на новую технологию связан с высокими начальными затратами, а также с преодолением психологических трудностей. Это относится к недостаткам объектно-ориентированного подхода. Но все-таки объектно-ориентированная модель наиболее адекватно отражает реальный мир, представляющий собой совокупность взаимодействующих объектов. Объектно-ориентированный подход не дает немедленной отдачи. Эффект от его применения начинает сказываться после разработки двух-трех проектов [6].
|
|
В настоящее время на практике количество CASE-средств, поддерживающих объектно-ориентированный подход, невелико по сравнению с поддерживающими структурный подход. В том числе, диаграммы, отражающие специфику объектно-ориентированного подхода (диаграммы классов, объектов и т.д.), гораздо менее наглядны и плохо понимаемы непрофессионалами. Примерами объектно-ориентированных CASE-средств являются: Rational Rose фирмы Rational Software и Paradigm Plus фирмы Computer Associates, предназначенные для автоматизации этапов анализа и проектирования ПО.
Современные CASE-средства, поддерживающих структурный подход, охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПО. На сегодняшний день российский рынок программного обеспечения располагает следующими наиболее развитыми CASE-средствами: Vantage Team Builder (Westmount I-CASE); Designer/2000; Silverrun; ERwin+BPwin; S-Designor; CASE.Аналитик.
ERwin — современное средство проектирования баз данных.Отличительной чертой ERwin/ERX является высокая степень обеспечения согласованного взаимодействия между средствами создания баз данных и средствами разработки приложений. ERwin поддерживает все наиболее популярные реляционные СУБД, включая Oracle; Sybase; Informix; Microsoft SQL Server; FoxPro; InterBase; Paradox; Access и др. Одна и та же модель может быть использована для создания нескольких баз данных или для переноса приложения с платформы одной СУБД на другую. ERwin можно использовать совместно со многими популярными средствами разработки приложений: Delphi, PowerBuilder, Visual Basic, Oracle Designer/2000 и др. [6]
Основные характеристики:
· поддержка стандартной нотации IDEF1X для ER диаграмм моделей данных, нотации IE и специальной нотации, предназначенной для проектирования хранилищ данных – DIMENSIONAL;
· возможность импорта/экспорта данных из BРwin, Oracle Designer;
· поддержка триггеров, хранимых процедур и шаблонов;
· развитые средства проверки корректности моделей данных;
· автоматическая генерация SQL DDL для создания баз данных;
· глубокая интеграция с продуктами Oracle, Sybase, Centura, Microsoft на базе единого репозитория и эффективного обмена проектами; импорт/экспорт с Rational Rose;
· автоматическая генерация экранных форм приложений для PowerBuilder, Delphi, Visual Basic, созданных на основе спроектированной модели данных.
2.2. Проектирование базы данных в ERwin
Для создания ER – диаграммы в проекте используется программное средство ERwin.
В базе данных использованы домены. Домен - это потенциальное множество значений простого типа данных, он имеет сходство с подтипом данных в некоторых языках программирования. Домен определяется двумя элементами - типом данных и логическим выражением, которое применяется к данным. Если результат этого выражения равен значению «истина», то экземпляр данных принадлежит домену [6].
Таблица 1- Домены, используемые в диаграмме.
Логическое имя домена | Физическое имя домена | Родительский домен |
examen | t_examen | Number |
itog | t_itog | Number |
kol_vo_kreditov | t_ko_lvo_kreditov | Number |
lc1 | t_lc1 | Number |
lc2 | t_lc2 | Number |
pr1 | t_pr1 | Number |
pr2 | t_pr2 | Number |
srs1 | t_srs1 | Number |
srs2 | t_srs2 | Number |
Disciplina_s | t_Disciplina_s | String |
Disciplina_p | t_Disciplina_p | String |
Specialnost_s | t_Specialnost_s | String |
Specialnost_p | t_Specialnost_p | String |
Doljnost | t_Doljnost | String |
FIO | t_FIO | String |
gruppa | t_gruppa | String |
Semester | T_semestr | number |
В диаграмму входят такие сущности:
Сущность Student включает:
|
|
o FIO;
o Gruppa.
Сущность Gruppa включает:
o Gruppa;
o God postuplenia;
o Edvaizer.
Сущность Specialnost включает:
o Shifr_specialnosti;
o Specialnost_p;
o Specialnost_s;
o God_vvedenia.
Сущность Disciplina включает:
o Kod_disciplina;
o Disciplina_p;
o Disciplina_s.
Сущность Prepodavatel включает:
o Kod_disciplina;
o Shifr_specialnost;
o Semester;
o Kol_vo_kreditov.
СущностьVedomost включает:
o Kod_prepod;
o Kod_disciplina;
o Shifr_specialnost;
o Kod_student;
o Lc1;
o Lc2;
o Pr1;
o Pr2;
o Srs1;
o Srs2;
o Examen;
o Itog.
На физическом уровне модель, напротив, зависит от конкретной базы данных, выбираемой пользователем. Таким образом, одной логической модели может соответствовать несколько физических моделей. Кроме того, так как в физической модели речь идет уже о реально существующих в БД физических объектах, то обязательно должны быть определены типы данных и атрибутов.
На логическом уровне данные представляются так, как они выглядят в реальном мире. Объектами логического уровня являются сущности и атрибуты. Модель логического уровня является универсальной и не связана с конкретнойбазой данных [6.
Затем генерируем SQL код первоначально установив программу выбрав Server/Target Interbase, затем выбрав Server Tasks/Schema Generation, установив необходимые параметры нажимаем кнопку Preview для просмотра сгенерированного SQL кода. Итак, получив SQL код, мы можем перейти к следующему этапу проектирования.
Рисунок 1- Диаграмма на физическом уровне
Рисунок 2 - Диаграмма на логическом уровне.
2.3. Создание базы данных в INTERBASE
2.3.1. INTERBASE и область его применения
InterBase представляет собой полнофункциональный SQL- сервер. Сервер баз данных- это программный процесс, который выполняется на узле сети, где расположен главный компьютер или физически расположена сама база данных. Процесс сервера- единственный процесс на любом узле, который может исполнять прямые операции ввода-вывода для файлов базы данных.
Клиенты посылают запросы серверному процессу, чтобы выполнить различные действия в базе данных, включая:
· Поиск в базе данных по заданным условиям;
· Сравнение, сортировку и представление данных в табличном виде;
· Изменение хранимых данных;
|
|
· Добавление новых данных в базу;
· Удаление данных из базы данных;
· Создание новых базы данных и структур данных;
· Выполнение программного кода на сервере;
· Передачу сообщения другим клиентам, подключенным в данный момент к серверу.
Серверный процесс является полностью сетевым, он поддерживает запросы на подключение от других узлов сети и тот же самый протокол InterBase прикладной программы, что и клиентские процессы.
Несколько клиентов могут быть связаны с многопоточным процессом сервера одновременно.
Сервер регулирует доступ к отдельным записям данных в пределах базы данных и обеспечивают монопольный доступ к записям, когда клиенты выдают запросы на изменение данных в записях.
Отличительными качествами InterBase являются:
· Высокая производительность и надежность сервера при минимальных требованиях к техническим средствам.
· Поддержка стандарта SQL-92, обеспечивающая переносимость приложений.
· Относительно низкая стоимость продукта.
· Простота установки и поддержки сервера. Удобный и не требующий специальной подготовки механизм администрирования базой данных.
Все это делает InterBase прекрасным выбором для реализации корпоративных систем малого и среднего масштаба (с количеством пользователей в несколько десятков). При реализации очень крупных проектов (с сотнями или более пользователей) стоит, наверное, рассмотреть более мощные серверы – типа Oracle или Informix [1].