на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Система рейтингового контроля знаний


     Функции запросов  реализованы  на  реляционном  языке  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

Модель состояний для объекта «Ввод данных»


Подпись: Гф2: Устоновить полеМодель взаимодействия объектов


Таблица переходов в состояния

для объекта «Операции над БД»

Состояние

O1

O2

O3

O4

O5

O6

O7

O8

O9

Инициализация - 2 3 - - - - - -
Создание - - - - - 6 - - -
Открытие - - - 4 - 6 - - -
Неуспех - - - - 5 - - - -
Закрытие 1 - - - - - - - -
Редактирование - - - - - - 7 - -
Обновление - - - - - 6 - 8 -
Ввод в базу - - - - - - - - 9
Схранение 1 - - - - - - - -

Таблица переходов в состояния

для объекта «Ввод данных»

Состояние

В1

В2

В3

В4

В5

В6

Инициализация - 2 - - - -
Отключения редактирования - - 3 - - -
Формирование поиска, фильт., сортир., - - - 4 - -
Формирование групп - - - - 5 -

Просмотр

Перед печ.

6
Печать - - - - - -

Список событий

Метка

Значение

Данные события Источник Предназначение
О1 Инициализация ID Основной интерфейс.ID Операции Основной интерфейс

Операции

О2 Создание БД ID Основной интерфейс.ID Операции.Создание

Операция

Создание

О3 Открытие БД ID Основной интерфейс.ID Операции.Открытие

Операция

Открытие
О4 Неуспех ID Основной интерфейс.ID Операции.Открытие.Статус Операция Статус
О5 Закрытие БД ID Основной интерфейс.ID Операции.Закрытие Операция Закрытие
О6 Редактирование БД ID Основной интерфейс.ID Операции.Редактирование Операция Редактирование
О7 Обновление БД ID Основной интерфейс.ID Операции.Обновление Операция Обновление
О8 Ввод в БД ID Основной интерфейс.ID Операции. Операция Редактирование
О9 Сохранение БД ID Основной интерфейс.ID Операции.Сохранение Операция Сохранение
В1 Инициализация ID Основной интерфейс.ID Операции Основной интерфейс База данных
В2 Отключения редактирования ID Основной интерфейс.ID Операции. Операция Переход в основной интерфейс
В3 Формирование поиска, фильтра, сортировки ID Основной интерфейс.ID Операции.ID Основной интерфейс Формирование фильтра
В4 Формирование групп ID Основной интерфейс.ID Операции. Основной интерфейс Формировать
В5 Просмотр перед печатью ID Основной интерфейс.ID Операции.ID Основной интерфейс Просмотр учащихся
В6 Печать ID Основной интерфейс.ID Операции.ID Основной интерфейс Учащихся

ДПДД для состояния Инициализация

объекта «Операции над БД»


ДПДД для состояния Создание базы

объекта «Операции над БД»



ДПДД для состояния Открытие базы

объекта «Операции над БД»


ДПДД для состояния Редактирование базы

объекта «Операции над БД»


ДПДД для состояния Закрытие базы

объекта «Операции над БД»



ДПДД для состояния Сохранение БД

объекта «Операции над БД»


ДПДД для состояния Неуспешное открытие БД

объекта «Операции над БД»


ДПДД для состояния Обновление БД

объекта «Операции над БД»



Текст программы

В листинг программы  был включен весь тот код, который был написан в процессе разработки и  включения тех строк кода, которые были  автоматически сгенерированы С++ 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>

//---------------------------------------------------------------------------

Страницы: 1, 2, 3


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.