![]() |
|
|
Реферат: Система рейтингового контроля знанийФункции запросов реализованы на реляционном языке QBE, причем отчеты можно формировать и по запросным формам. В Paradox for Windows построение запросов еще более упрощено - для связей таблиц друг с другом достаточно просто провести линии между соответствующими полями. Функции работы с сетью позволяют получить доступ к удаленной БД, заблокировать данные для защиты от доступа других пользователей на время модификации, установить защиту по паролю от несанкционированного доступа. Функции работы с макросами позволяют практически создавать сценарий работы с пользователем и делать некоторые простые приложения. Система деловой графики позволяет по таблицам строить до шести функций в виде различного рода диаграмм и графиков. Если всех перечисленных возможностей недостаточно, то можно воспользоваться языком построения приложений PAL. Данный язык позволяет воспользоваться всеми перечисленными выше возможностями, т.к. из него можно иметь доступ к функциям основного меню, а также обладает дополнительными средствами, характерными для языков программирования (управляющие структуры типы if - then - else, циклы, переменные, операторы ввода-вывода, дополнительные математические и статистические функции, возможность создания процедур и библиотек процедур) и средствами доступа к продукту фирмы Borland - SQL-link. Средствами Pal можно создавать пользовательские меню, окна и прочие радости для неискушенного пользователя, для которого картинка важнее, чем содержание. В системе имеется отладчик, с помощью которого можно достаточно удобно отлаживать программы на PAL. К сожалению, для работы программ на PAL необходима либо система Paradox, либо соответствующий модуль исполнения, т.е. проблематичной становится возможность распространения программ (каждый пользователь должен приобрести соответствующий Run-time модуль для исполнения программ. По показателям быстродействия система находится в первых рядах среди подобных. Система поддерживает следующие индексы - первичный (не может быть повторяющихся ключевых полей), вторичный - по одному полю, и составной - по группе полей. К сожалению, если таблица имеет несколько индексов, то при работе с записями производится модификация только одного индекса, а все остальные будут перестраиваться либо по окончании работы с таблицей, либо по запросу пользователя. Можно сделать этот процесс "прозрачным" для пользователя (первая возможность - индексы перестраиваются при закрытии таблицы), на ясно, что это достаточно сильно замедляет работу с подобными таблицами и причиняет пользователю некоторые неудобства (особенно если таблицы больших размеров). Система поддерживает доступ к БД на сервере по сети типа Novell, 3Com, Starlan, Banyan, а также другими, совместимыми с NetBios и обеспечивает необходимую блокировку данных как на уровне таблиц, так и на уровне отдельных записей. Paradox for Windows позволяет работать со всеми типами сетей, поддерживаемых Windows. Система имеет и такую полезную особенность, как возможность определить во время работы , менялись ли данные в таблицах, к которым имеют доступ несколько пользователей одновременно, хотя это и увеличивает нагрузку на сеть и может создать некоторые проблемы при наличии большого числа пользователей . Данные в таблицах хранятся в их естественном виде без преобразования, а не в виде символьных строк, как это принято в формате dBase, что сказывается на ускорении работы и уменьшении размеров самой базы данных. Имеются средства экспорта и импорта данных из/в формат Qattro/Pro, 1-2-3, Symphony, dBase, VisiCalc, а в системе Paradox for Windows возможно работать с файлами dBase без преобразования. Таким образом, система достаточна удобна как для неподготовленного пользователя, который хочет решить свою мелкую задачку типа записной книжки - за счет развитой системы меню и подсказки; и удобна для профессионального программиста, который решает достаточно сложные задачи - за счет богатых возможностей, предоставляемых системой, мощного реляционного языка запросов QBE, развитых средств построения отчетов, наличия языка построения приложений, имеющего выход на SQL-link; развитые средства защиты данных от несанкционированного доступа. Все это позволяет строить сложные приложения, работающие в сети со многими пользователями. Но отсутствие возможности получить исполняемый модуль накладывает ограничения на широкое распространение разработанных программ (хотя Run-Time модуль стоит достаточно дешево, все-таки психологически лучше купить одну или несколько программ у одного изготовителя, чем связываться с несколькими) А работа фактически в режиме интерпретации PAL хоть и практически не сказывается при построении сложных информационныо-поисковых систем, в которых время на поиск данных значительно превышает время выполнения расчетов, но накладывает ограничения на системы, в которых кроме задач поиска стоят достаточно сложные задачи обработки данных. Но Paradox for Windows позволяет преодолеть это ограничение, т.к. в нем возможно иметь доступ к функциям, написанных на обычных языках программирования и собранные в динамические библиотеки (DDL). Так что можно пользоваться этой возможностью, хотя перенос программ в среду Windows (в том числе и СУБД) работу этих программ явно не ускоряет. В пользу выбора данной системы для нашей задачи могут служить следующие факторы (наверное): - программирование на языке программирования PAL позволяет проводить достаточно сложную обработку данных, позволяет использовать развитые средства диалога с пользователем; - данные в БД хранятся в их естественном виде, что позволяет увеличить скорость обработки и уменьшить необходимое для хранения данных пространство; - очень полезные поля типа BLOB - позволяют хранить текст произвольной длины, например, тексты методичек и пр.; - возможность сетевого взаимодействия позволяет проводить дальнейшее расширение системы до уровня института с подключением других подсистем (скажем, УэО, деканат и пр.) и обеспечивать необходимую в рамках подобных систем защиту данных; - богатые возможности по экспорту и импорту данных; - возможность работы под Windows; - относительно простые, но мощные средства для построения запросов к базе данных. Хотя, конечно, вышеуказанные ограничения (невозможность получить .ЕХЕ - файл и интерпретатор) - это для нас явные минусы. Глава IV Особенности объектно-ориентированного анализа При разработке данной курсовой работы был использован объектно-ориентированный подход к написанию данной программы. Проектирование происходило следующим образом: 1. Была сформирована информационная модель, на которой были выделены объекты, оказывающие влияние на ход процесса. В процессе проектирования намеренно в информационную модель были включены некоторые абстрактные типы данных, которые при дальнейшей разработке не образовали объекты. Это было сделано с целью более полно отобразить все отношения и взаимодействия, возникающие при работе программы. 2. Для каждого объекта была сформирована модель состояний, которая отражала события и состояния, в которых мог находиться объект, т.е. его жизненный цикл. Для нескольких объектов не было модели состояний. Это связано с тем, что характер поведения данных объектов является сугубо статическим и не претерпевает значительных изменений. Наоборот, объекты, имеющие динамическое поведение были полно отображены на моделях состояний. Особенность представленных моделей состояний заключается в том, что на них представлены события и действия, которые возникают при возникновении первых. 3. Модель взаимодействия объектов представляет собой графическое представление связей и взаимодействий между всеми объектами, определенными на информационной модели. 4. У объектов, с моделью состояний, была сформирована таблица переходов в состояния, демонстрирующая непротиворечивость модели состояний. 5. Для всех объектов была сформирована таблица всех возможных событий объектов. 6. Для каждого действия у каждого определенного объекта была сформирована ДПДД, отражающая последовательность действий, возникающих при определенном действии. Информационная модель Модель состояний для объекта «Операции над БД» 7 Модель состояний для объекта «Ввод данных»
Таблица переходов в состояниядля объекта «Операции над БД»
Таблица переходов в состояниядля объекта «Ввод данных»
Список событий
ДПДД для состояния Инициализация объекта «Операции над БД»
ДПДД для состояния Создание базы объекта «Операции над БД»
ДПДД для состояния Открытие базы объекта «Операции над БД»
ДПДД для состояния Редактирование базы объекта «Операции над БД»
ДПДД для состояния Закрытие базы объекта «Операции над БД»
ДПДД для состояния Сохранение БД объекта «Операции над БД» ДПДД для состояния Неуспешное открытие БД объекта «Операции над БД» ДПДД для состояния Обновление БД объекта «Операции над БД»
Текст программыВ листинг программы был включен весь тот код, который был написан в процессе разработки и включения тех строк кода, которые были автоматически сгенерированы С++ Builder: 1. Заголовочные файлы: Kur1.h: //--------------------------------------------------------------------------- #ifndef kur1H #define kur1H //--------------------------------------------------------------------------- #include <vcl\Classes.hpp> #include <vcl\Controls.hpp> #include <vcl\StdCtrls.hpp> #include <vcl\Forms.hpp> #include <vcl\Menus.hpp> #include <vcl\Dialogs.hpp> #include <vcl\ExtCtrls.hpp> #include <vcl\ComCtrls.hpp> #include <vcl\DBGrids.hpp> #include "Grids.hpp" #include <vcl\Buttons.hpp> #include <vcl\DBCtrls.hpp> #include <vcl\Mask.hpp> #include <vcl\DB.hpp> #include <vcl\DBTables.hpp> #include <vcl\QuickRep.hpp> #include <vcl\system.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TMainMenu *MainMenu1; TMenuItem *N1; TMenuItem *N3; TMenuItem *N4; TMenuItem *N10; TMenuItem *N14; TMenuItem *N16; TMenuItem *N17; TOpenDialog *OpenDialog1; TSaveDialog *SaveDialog1; TMenuItem *N18; TMenuItem *N20; TPrintDialog *PrintDialog1; TPrinterSetupDialog *PrinterSetupDialog1; TStatusBar *StatusBar1; TPanel *Panel1; TDBGrid *DBGrid1; TDBNavigator *DBNavigator1; TMenuItem *N2; TMenuItem *N5; TMenuItem *N6; TBitBtn *BitBtn1; TBitBtn *BitBtn2; TBitBtn *BitBtn3; TMenuItem *N7; void __fastcall N10Click(TObject *Sender); void __fastcall N17Click(TObject *Sender); void __fastcall N14Click(TObject *Sender); void __fastcall N5Click(TObject *Sender); void __fastcall N2Click(TObject *Sender); void __fastcall N16Click(TObject *Sender); void __fastcall N20Click(TObject *Sender); void __fastcall BitBtn1Click(TObject *Sender); void __fastcall BitBtn2Click(TObject *Sender); void __fastcall BitBtn3Click(TObject *Sender); void __fastcall N7Click(TObject *Sender); void __fastcall N4Click(TObject *Sender); private: // User declarations public: // User declarations // AnsiString file2; __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern TForm1 *Form1; //--------------------------------------------------------------------------- #endif Datam.h: //--------------------------------------------------------------------------- #ifndef DatamH #define DatamH //--------------------------------------------------------------------------- #include <vcl\Classes.hpp> #include <vcl\Controls.hpp> #include <vcl\StdCtrls.hpp> #include <vcl\Forms.hpp> #include <vcl\DB.hpp> #include <vcl\DBTables.hpp> //--------------------------------------------------------------------------- |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |