Xreferat.com » Рефераты по информатике и программированию » Система рейтингового контроля знаний

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

Приднестровский Государственный Университет

им. Т. Г. Шевченко


Кафедра АСОИиУ


Курсовая работа

по дисциплине «Технология программирования»


на тему:

Система рейтингого контроля знаний .


Работу выполнили: Работу проверили:

студент ИТФ –96В преподаватели:

Кольцов Е.С. Галюшина О.В.



Тирасполь 1999 г.


Содержание:


Задание на курсовую работу

1.1 Задание 4

1.2 Реализация 4

Введение

Глава I:Системы поддержки принятия решений

1. Система Paradox

Глава II: Особенности объектно-ориентированного анализа 19

Информационная модель 21

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

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

Модель взаимодействия объектов 26

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

Таблица переходов в состояния для объекта «Ввод в бузу» 28

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

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

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

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

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

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

ДПДД для состояния «Ввод данных» объекта «Операции над БД» 42

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

ДПДД для состояния «Неуспешное открытие БД» объекта «Операции над БД» 43

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

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

Список использованной литературы 77


Задание на курсовую работу


по дисциплине «Технология программирования»


тема:

Система рейтингого контроля знаний .


1.1 Задание


В данной курсовой работе было необходимо написать программу, с использованием объектно-ориентированного метода программирования и объектно-ориентированного анализа, которая позволяла бы вести учетную запись студентов по десяти предметам с оценкам. В программу заноситься Ф.И.О. студента, факультет на котором он учится, специальность, которую приобретает и группа соответственно. Программа автоматически считает средней балл и заносит его в базу. Данная программа сортирует, находит и фильтрует данные по студентам, что облегчает поиск или просмотр перед печатью нужных студентов. Результатом программы является вывод перед печатью всех студентов или по каждому студенту соответственно.


1.2 Реализация


Данная программа была реализована на объектно-ориентированном языке С++ и написана в среде разработчика программного обеспечения С++Builder.


Введение

В объектное программирование:

Традиционная технология программирования 70-х годов - структурное программирование:

- модульное программирование;

- нисходящее программирование;

- структурное проектирование процедур и данных (программирование без goto).

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


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


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

отображаемыми программой, и програмнными объектами, являющимися, по существу, структурированными переменными (в дальнейшем под термином "объект" будем понимать программный объект).


Традиционный подход: ---------- переменная тип данных


Объектно-ориентированный подход:

физический программный класс объект объект объектов


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

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

Фактически определение класса объектов как типа данных и известного набора функций для выполнения операций над переменными этого типа эквивалентно понятию базового типа данных (БТД) языка программирования. Единственное отличие класса от БТД заключается в том, что первый определяется программистом, а второй встроен в определение языка программирования.

Язык программирования Си++ представляет собой расширение языка Си для программирования объектов и их классов. При этом использование классов эквивалентно вплоть до синтаксиса использованию базовых типов данных.


Глава 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. Для каждого объекта была сформирована модель состояний, которая отражала события и состояния, в которых мог находиться объект, т.е. его жизненный цикл. Для нескольких объектов не было модели состояний. Это связано с тем, что характер поведения данных объектов является сугубо статическим и не претерпевает значительных изменений. Наоборот, объекты, имеющие динамическое поведение

    Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
    Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

    Поможем написать работу на аналогичную тему

    Получить выполненную работу или консультацию специалиста по вашему учебному проекту
    Нужна помощь в написании работы?
    Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: