Реферат: Система рейтингового контроля знаний
ßçûê ïðîãðàììèðîâàíèÿ Ñè++ ïðåäñòàâëÿåò ñîáîé ðàñøèðåíèå ÿçûêà Ñè äëÿ ïðîãðàììèðîâàíèÿ îáúåêòîâ è èõ êëàññîâ. Ïðè ýòîì èñïîëüçîâàíèå êëàññîâ ýêâèâàëåíòíî âïëîòü äî ñèíòàêñèñà èñïîëüçîâàíèþ áàçîâûõ òèïîâ äàííûõ.
Глава I
Системы поддержки принятия решений
1. Система Paradox
Paradox представляет из себя реляционную базу данных, разработанную формой Borland. Данная база данных предназначена как для непрофессионалов, которым нужно решать задачи типа картотеки и пр., так как обладает достаточно развитой и понятной системой меню и подсказки, так и для профессиональных программистов, разрабатывающих сложные информационные системы, используя при этом язык запросов QBE или язык разработки приложений PAL. Кроме версий под DOS, разработана версия Paradox for Windows. Требования к техническим средствам и сравнительные характеристики по быстродействию см. Глава ??. Поддерживаются следующие типы полей:
- алфавитно-цифровые (строковые);
- числовые;
- денежные;
- дата;
- Memo - поля;
- графические;
- OLE - поля;
- BLOB (Binary Large OBject);
Причем, типы полей от Memo до Blob поддерживаются только в Paradox for Windows.
Строковые поля позволяют содержать любую последовательность символов длиной до 255 байт.
Числовые поля могут содержать как целые, так и действительные числа с числов цифр до 15.
Денежные поля - тоже что и числовые с двумя знаками после запятой, отдельный тип служит только для определения Paradox-ом формата вывода данных полей.
Поля даты - соответственно содержат дату и позволяют проводить над собой соответствующие операции сравнения и вычитания.
Мемо - поля содержат любой текст неограниченной длины (вместе с атрибутами текста - шрифт, начертание, цвет и др.)
В графических полях могут содержаться графика типа bitmat.
В OLE - полях могут содержаться объекты от других приложений Windows.
В BLOB - полях можно хранить любые данные по выбору пользователя (на самом деле с точки зрения Paradox, Memo, Graphic и OLE - поля также являются полями типа BLOB). В настоящий момент возможно хранение объектов MultiMedia, чертежи и другие приложения.
Достаточно удобным является тот факт, что для всех типов полей существует значение "пустое поле".
Также следует отметить тип данных "BLOB", т.к. в полях такого типа можно хранить любые данные произвольного размера, что выгодно отличается от MEMO-полей в dBASE и Clipper, которые позволяют хранить только текст, да и то ограниченного об'ема (4K).
Вся работа по созданию и работе с таблицами, подготовке отчетов и запросов, созданию достаточно сложных приложений, не требующих каких-либо сложных расчетов проводится в единой
интегрированной среде при помощи системы меню. Система обладает достаточно широкими возможностями по манипулированию данными и построению отчетов, некоторыми полезными статистическими и алгебраическими функциями для создания расчетных задач.
Функции манипулирования данными можно разделить на следующие достаточно стандартные группы:
- работа с таблицами;
- работа с отдельными записями;
- подготовки отчетов;
- работа с запросами;
- работа с сетью;
- работа с макросами;
- работы с деловой графикой.
Функии работы с таблицами позволяют создавать таблицы, переименовывать, удалять, копировать и, что достаточно важно, модифицировать структуру таблиц, даже если в них уже находятся данные. Также, что немаловажно, все эти операции производятся не над отдельными файлами (как, скажем, в dBase), а над всем семейством таблиц (включая файлы данных, индексов, запросов и отчетов). Имеются и такие операции реляционной алгебры, как объединение и вычитание ?таблиц?отношений?.
Функции работы с записями - стандартные (добавить, удалить, отредактировать).
Удобными средствами обладает генератор отчетов - форму отчета можно "нарисовать" на экране и получить фактически то, что вы видите. Генератор отчетов позволяет создавать как отчеты в "стандартной" (табличной) форме, так и отчет в свободной форме (в т.ч. наклейки, деловые письма и пр.), производить группировку отчета по значениям полей (причем нескольких уровней вложенности), использовать вычисляемые поля.
Функции запросов реализованы на реляционном языке 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
Модель состояний для объекта «Ввод данных»
Модель взаимодействия объектов
Таблица переходов в состояния
для объекта «Операции над БД»
Состояние |
O1 |
O2 |
O3 |
O4 |
O5 |
O6 |
O7 |
O8 |
O9 |
Инициализация | - | 2 | 3 | - | - | - | - | - | - |
Создание | - | - | - | - | - | 6 | - | - | - |
Открытие | - | - | - | 4 | - | 6 | - | - | - |
Неуспех | - | - | - | - | 5 | - | - | - | - |
Закрытие | 1 | - | - | - | - | - | - | - | - |
Редактирование | - | - | - | - | - | - | 7 | - | - |
Обновление | - | - | - | - | - | 6 | - | 8 | - |
Ввод в базу | - | - | - | - | - | - | - | - | 9 |
Схранение | 1 | - | - | - | - | - | - | - | - |
Таблица переходов в состояния
для объекта «Ввод данных»