Использование баз данных как средство автоматизации работы учителя

СОДЕРЖАНИЕ

Введение………………………………………..томатическоеном помещении. 5

1. Техническое задание 8

1.1 Предметная область 8

1.2 Требования к программе 8

1.3 Содержание и требования, предъявляемые к информации 9

2. Проектная часть 11

2.1 Теория современных систем управления базами данных 11

2.1.1 Архитектура СУБД 12

2.1.2 Типы СУБД 14

2.1.3 Инфологическая модель данных «Сущность-связь» 16

2.2 Реляционная структура данных 18

2.2.1 Объекты Access 19

2.2.2 Режим работы с Access 20

2.3 Проектирование данных 20

2.4 Программное обеспечение для разработки проекта 22

2.4.1 Среда Delphi как средство разработки ПО баз данных 22

2.4.2 Высокопроизводительный компилятор в машинный код 24

2.4.3 Мощный объектно-ориентированный язык 25

2.5Объектно-ориентированная модель программных компонентов 26

2.6 Библиотека визуальных компонентов 27

2.7 Настраиваемая среда разработчика 27

2.8 Структура программного продукта 29

2.9 Описание алгоритмов и процедур 32

3. Работа с программной средой 40

4. Техника безопасности и охрана труда 48

4.1 Экологичность проекта 48

4.2 Эргономичность проекта 55

4.3 Описание зрительной работы оператора 57

Заключение 62

Список использованных источников ………………………………..64

ВВЕДЕНИЕ

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

Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование файл/серверных и клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения. Кроме того ЭВМ позволяет хранить любые форматы данных текст, чертежи, данные в рукописной форме, фотографии, записи голоса и т.д.

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

Базы данных выполняют функцию систематизации знаний. На основе этой систематизации могут создаваться новые знания. Так или иначе, любая база данных служит человеку именно для описания происшедших в прошлом событий и на основе знания этих событий помогает принять то или иное решение на будущее.

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

Базы данных могут применяться как вспомогательное средство, позволяющее реализовать какую-то полезную функцию. Например, хранение настроек программы, Internet-адресов для рассылки рекламы и т.д.

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

Тема дипломного проектирования – «Разработка информационной базы данных для средней школы». Данная программа, предназначена для облегчения нелегкого труда учителя школы.

Исходя из этих требований к дипломной работе было решено создать СУБД на языке объектно-ориентированного программирования Delphi, позволяющего на самом современном уровне создавать как отдельные прикладные программы Windows, так и разветвленные комплексы, предназначенные для работы в корпоративных сетях и в Интернет.

Актуальность. Среди приоритетных направлений деятельности современных педагогических комплексов относительно внедрения новых образовательных технологий есть и информационные технологии как средство управления и автоматизации образовательного процесса.

Основным показателем работы образовательного учреждения является качество подготовки учеников, которое обеспечивается организацией учебного процесса.

Для того, чтобы учебный процесс был управляемым, качество обучения необходимо регулярно контролировать и анализировать.

Частично разрешением проблемы качественной подготовки учащихся может явиться анализ оценки качества обучения, то есть формирования знаний будущего выпускника на определенных этапах.

Цель дипломного проекта на основе анализа успеваемости учащихся разработать методику автоматизированного построения статистических моделей оценки качества обучения и использовать результаты для определения параметров, которые могут улучшить качество подготовки выпускников образовательного учреждения.

Для достижения поставленной цели необходимо решить следующие задачи:

1. Собрать материал относительно организации управления учебным процессом в образовательном учреждении;

2. Проанализировать сущность задач мониторинга успеваемости;

3. Обосновать целесообразность применения информационных ресурсов и методов статистического моделирования для анализа качества обучения учащихся в системе образования школы;

5. Формализовать расчеты;

6. Построить инфологическую модель данных;

8. Разработать компьютерную поддержку сбора информации для построения статистической модели оценки и анализа качества обучения учащихся школы.

Объект исследования. Внедрение современных педагогических комплексов, как средства управления и автоматизации образовательного процесса.

Предметом исследования в работе стало использование баз данных как средство автоматизации работы учителя.

Практическая ценность работы заключается в том, что ее основные положения, выводы и результаты дают возможность:

  • организовать эффективную работу учителя школы в связи с постоянным изменением и уточнением информации вследствие ухода и прихода новых учащихся;
  • автоматизировать процесс ведения отчетности классного руководителя по успеваемости и качеству знаний учеников.

1 Техническое задание

1.1 Предметная область

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

Рисунок 1. Структура исследуемого учебного заведения

1.2 Требования к программе

Разработать программу по учёту посещаемости и успеваемости учащихся, которая должна отвечать следующим критериям:

  • простота освоения программы и простота работы с ней;
  • организация удобного диалога персонального компьютера и пользователя;
  • качество экранного дизайна;
  • открытость для модификаций и дополнений последующими версиями и разработками;
  • возможность изменять добавлять данные об учащихся и преподавателях.

Для успешной работы программы необходимо следующее аппаратное и системное программное обеспечение:

  • компьютер типа IBM с процессором Intel Pentium III или выше и любые другие процессоры с равными техническими характеристиками;
  • поддержка ЭВМ мультимедийных функций;
  • наличие CD–ROM или USB концентраторов для копирования приложения на жесткий диск;
  • наличие 10 Мбайт свободного пространства на жестком диске в случае копирования приложения на жесткий диск.

1.3 Содержание и требования, предъявляемые к информации

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

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

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

Содержание каждой конкретной информации определяется потребностями управленческих звеньев и вырабатываемых управленческих решений.


2. Проектная часть

2.1 Теория современных систем управления базами данных

Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объёма информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых «Системами управления базами данных» (СУБД). Этому предшествовал первый опыт использования файловых систем для организации баз данных. Файловые системы выявили различные проблемы обработки большого количества информации и заложили основные направления развития теории баз данных. Вот список лишь нескольких потребностей, которые не покрывались возможностями систем управления файлами:

  • поддержание логически согласованного набора файлов
  • обеспечение языка манипулирования данными
  • восстановление информации после разного рода сбоев
  • реально параллельная работа нескольких пользователей.

Можно считать, что если прикладная информационная система опирается на некоторую систему управления данными, обладающую этими свойствами, то эта система управления данными является системой управления базами данных (СУБД). Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем «Базы данных» (БД).

Приведем типовую схему организации работы с СУБД (рис. 2)

Рисунок 2. Связь программ и данных при использовании СУБД

2.1.1 Архитектура СУБД

СУБД должна предоставлять доступ к данным любым пользователям, включая и тех, которые практически не имеют или не хотыт иметь представления о:

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

При выполнении основных из этих функций СУБД должна использовать различные описания данных. Отметим, что проектирование этих описаний обычно поручается человеку (группе лиц) – администратору базы данных.

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

Рисунок 3. Уровни моделей данных

Такая человеко-ориентированная модель полностью независима от физических параметров среды хранения данных. В конце концов этой средой может быть память человека, а не ЭВМ. Поэтому инфологическая модель не должна изменяться до тех пор, пока какие-то изменения в реальном мире не потребуют изменения в ней некоторого определения, чтобы эта модель продолжала отражать предметную область.

Остальные модели, показанные на рисунке 2, являются компьютерно-ориентированными. С их помощью СУБД дает возможность программам и пользователям осуществлять доступ к хранимым данным лишь по их именам, не заботясь о физическом расположении этих данных. Нужные данные отыскиваются СУБД на внешних запоминающих устройствах по физической модели данных.

Так как указанный доступ осуществляется с помощью конкретной СУБД, то модели должны быть описаны на языке описания данных этой СУБД. Такое описание, создаваемое администратором БД по инфологической модели данных, называют даталогической моделью данных.

Трехуровневая архитектура (инфологической, даталогической и физический уровни) позволяет обеспечить независимость хранимых данных от использующих их программ. Администратор БД может при необходимости переписать хранимые данные на другие носители информации и (или) реорганизовать их физическую структуру, изменив лишь физическую модель данных. Администратор БД может подключить к системе любое число новых пользователей, дополнив, если надо, даталогическую модель. Указанные изменения физической и даталогической моделей не будут замечены существующими пользователями системы (окажутся «прозрачными» для них), так же как не обеспечивает возможность развития системы баз данных без разрушения существующих приложений.

2.1.2 Типы СУБД

СУБД предназначена ля централизованного управления БД как социальным ресурсом в интересах всей совокупностей ее пользователей. Доступ к базе данных отдельных пользователей при этом возможен только посредством УБД.

По степени их универсальности различаются два вида СУБД – системы общего назначения и специализированные системы. СУБД общего назначения не ориентированны на какую – либо конкретную предметную область или на информационные потребности конкретной группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной обстановки, и поставляется многим пользователям как коммерческое изделие. СУБД общего назначения обладают средствами настройки на работу с конкретной БД в условиях конкретного применения.

Использование СУБД общего назначения в качестве инструментального средства для создания автоматизированных информационных систем, основанных на технологии БД, позволяет существенно сокращать сроки разработки, экономить трудовые ресурсы. Развитые функциональные возможности таких СУБД, присущая им, как правило, функциональная избыточность позволяют иметь значительный «запас мощности», необходимый для безболезненного эволюционного развития построенных на их основе информационных систем в рамках их жизненного цикла. Вместе с тем средства настройки дают возможность достигнуть приемлемого уровня производительности информационной системы в процессе ее эксплуатации.

Однако в некоторых случаях доступные СУБД общего назначения не позволяют добиться требуемых характеристик производительности и/или удовлетворить заданные ограничения по объему памяти, предоставляемой для хранения БД. Тогда приходится разрабатывать специализированную СУБД для данного конкретного применения. Решение указанных проблем при этом может оказаться возможным благодаря знанию специфических особенностей данного применения, к которым оказываются нечувствительными средства настройки доступных СУБД общего назначения, либо за счет ущемления каких либо функций системы, не имеющих жизненно важного значения. Как правило, в этой роли оказываются, прежде всего функции, обеспечивающие комфортную работу пользователя.

Создание специализированной СУБД – весьма трудоемкое дело даже в сравнительно простых случаях, и для того, чтобы избрать этот путь, нужно иметь действительно веские основания и твердую убеждаемость в невозможности или нецелесообразности использования какой – либо СУБД общего назначения.

СУБД общего назначения – это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией БД информационной системы. Они позволяют определить структуру создаваемой БД, инициализировать ее и произвести начальную загрузку данных. Системные механизмы выполняют также функции управления ресурсами среды хранения, обеспечения логической и физической независимости данных, предоставления доступа пользователям к БД, защиты логической целостности БД, обеспечения ее физической целостности – защиты от разрушений. Другая важная группа функций – управления полномочиями пользователей на доступ к БД, настройка на конкретные условия применения, организация параллельного доступа пользователей к базе данных в социальной пользовательской среде, поддержка деятельности системного персонала, ответственного за эксплуатацию БД.

Для создания БД разработчик описывает ее логическую структуру, организацию в среде хранения, а также способы видения базы данных пользователями. При этом используются предоставляемые СУБД языковые средства определения данных, и система настраивается на работу с конкретной БД. Такие описания БД называются соответственно схемой (или логической схемой, или концептуальной схемой) БД, схемой хранения (или внутренней схемой) и внешними схемами.

Обрабатывая схемы БД, СУБД создает пустую БД требуемой структуры – хранилище, которое можно далее наполнить данными о предметной области начать эксплуатировать для удовлетворения информационных потребностей пользователей.

Принципиально важное свойство СУБД заключается в том, что она позволяет различать и поддерживать два независимых взгляда на БД – взгляд пользователя, воплощаемой в «логическом» представлении данных, и «взгляд» системы – «физическое» представление, характеризующее организацию хранимых данных. Пользователя не интересует при его работе с БД байты и биты, представляющие данные в среде хранения, их размещения в памяти, указателя, поддерживающие связи между структурными различными компонентами хранимых данных, выбранные методы доступа. В то же время эти факторы важны для выполнения функций управления данными самой СУБД.

Обеспечение логической независимости данных – одна из важнейших функций СУБД, предоставляющая определенную степень свободы вариации «логического» представления БД без необходимости соответствующей модификации «физического» представления. Благодаря этому достигается возможность адаптации взгляда пользователя на БД к его реальным потребностям, конструирования различных «логических» взглядов на одну и ту же «физическую» БД, что весьма важно в социальной пользовательской среде.

Под «физической» независимостью данных понимается способность СУБД предоставлять некоторую свободу модификации способов организации БД в среде хранения, не вызывая необходимости внесения соответствующих изменений в «логическое» представление. Благодаря этому вносить изменения в организацию хранимых данных, производить настройку системы с целью повышения ее эффективности, не затрагивая созданных прикладных программ, использующих базу данных. «Физическая» независимость данных реализуется в СУБД за счет тех же самых трансформационных механизмов архитектуры системы, которые обеспечивают «логическую» независимость данных.

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

2.1.3 Инфологическая модель данных «Сущность-связь»

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

Сущность – любой различимый объект, информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолёты, рейсы, вкус, цвет, и т.д. Необходимо различать понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть Город, а экземпляром – Костанай.

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

Атрибут является таковым только в связи с типом сущности. В другом контексте атрибут может выступать как самостоятельная сущность. Например, для автомобильного завода цвет – это только атрибут продукта производства, а для лакокрасочной фабрики цвет – тип сущности.

Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся.

Связь – ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, е связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.

В данном дипломном проекте при построении инфологической модели базы данных была хорошо изучена предметная область. Наложены ограничения на предметную область (рис. 4)

Рисунок 4. Инфологическая схема БД

2.2 Реляционная структура данных

В конце 60-х годов появились работы, в которых обсуждались возможности различных табличных даталогических моделей данных, т.е. возможности использования привычных и естественных способов представления данных. Наиболее значительной из них была статья сотрудника фирмы IBM доктора Э.Кодда, где, вероятно, впервые был применен термин «реляционная модель данных».

Будучи математиком по образованию Э.Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известного в математике как отношение – relation.

Наименьшая единица данных реляционной модели – это отдельное атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной области фамилия, имя и отчество могут расмматриваться как единое значение, а в другой – как три различных значения.

Доменом называется множество атомарных значений одного и того же типа. Смысл доменов состоит в следующем. Если значения двух атрибутов берутся из одного и того же домена, то, вероятно, имеют смысл сравнения, использующие эти два атрибута. Если же значения двух атрибутов берутся из различных доменов, то их сравнение, лишено смысла.

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

Вышеупомянутые и некоторые другие математические понятия явились теоретической базой для создания реляционных СУБД, разработки соответствующих языковых средств и программных систем, обеспечивающих их высокую производительность, и создания основ теории проектирования баз данных. Однако для массового пользователя реляционных СУБД можно с успехом использовать неформальные эквиваленты этих понятий: отношение – таблица (иногда файл), кортеж – строка (иногда запись), атрибут столбец, поле. При этом принимается, что «запись» означает «экземпляр записи», а «поле» означает «имя и тип поля».

Реляционная база данных – это совокупность отношений, содержащих всю информацию, которая должна храниться в БД. Однако пользователи могут воспринимать такую базу данных как совокупность таблиц.

Классическим представителем реляционной СУБД является Access. С помощью Access обычные пользователи получили удобное средство для создания и эксплуатации достаточно мощных баз данных без необходимости что-либо программировать. В то же время работа с Access не исключает возможности программирования. При желании систему можно развивать и настраивать собственными силами. Для этого надо владеть основами программирования на языке Visual Basic. Еще одним дополнительным достоинством Access является интегрированность этой программы с Excel, Word и другими программами пакета Office. Данные, созданные в разных приложениях, входящих в этот пакет, легко импортируются и экспортируются из одного приложения в другое.

2.2.1 Объекты Access

Исходное окно Access отличается простотой и лаконичностью. Шесть вкладок этого окна представляют шесть видов объектов, с которыми работает программа.

1) Таблицы. Таблицы - основные объекты базы данных. В них хранятся данные. Реляционная база данных может иметь много взаимосвязанных таблиц.

2) Запросы. Запросы - это специальные структуры, предназначенные для обработки данных базы. С помощью запросов данные упорядочивают, фильтруют, отбирают, изменяют, объединяют, то есть обрабатывают.

3) Формы. Формы - это объекты, с помощью которых в базу вводят новые данные или просматривают имеющиеся.

4) Отчеты. Отчеты - это формы "наоборот". С их помощью данные выводят на печать в удобном и наглядном виде.

5) Макросы. Макросы - это макрокоманды. Если какие-то операции с базой производятся особенно часто, имеет смысл сгруппировать несколько команд в один макрос и назначить его выделенной комбинации клавиш.

6) Модули. Модули - это программные процедуры, написанные на языке Visual Basic. Если стандартных средств Access не хватает для удовлетворения требований заказчика, программист может расширить возможности системы, написав для этого необходимые модули или использовать готовые.

2.2.2 Режим работы с Access

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

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

Режим работы с базой выбираются с помощью командных кнопок:

Открыть, Конструктор, Создать.

- Кнопка «Открыть» открывает избранный объект. Если это таблица, то ее можно просмотреть, внести новые записи или изменить те, что были внесены ранее.

- Кнопка «Конструктор» тоже открывает избранный объект, но по другому. Она открывает его структуру и позволяет править не содержимое, а устройство. Если это таблица, в нее можно вводить новые поля или изменять свойства существующих полей. Если это форма, в ней можно изменять или создавать элементы управления. Очевидно, что этот режим служит не для пользователей базы, а для ее разработчиков.

- Действие командной кнопки «Создать» соответствует ее названию. Она служит для создания новых объектов. Этот элемент управления тоже предназначен для проектировщиков базы. Таблицы, запросы, формы и отчеты можно создавать несколькими разными способами: автоматически, вручную или с помощью Мастера.

2.3 Проектирование данных

В дипломном проекте «Информационная база данных средней школы» при проектировании данных, для их реализации и обработки в программной среде было создано пять основных таблиц (рис.5).

Рисунок 5. Таблица Учителя

В данную таблицу вносится информация по учителям.

Рисунок 6. Таблица Нагрузка преподавателей

В данной таблице содержится информация о нагрузке преподавателей: предмет, класс, ФИО учителя.

Рисунок 7. Таблица Предметы

Таблица «предметы» предназначена для внесения информации по предметам учащихся.

Рисунок 8. Таблица Классы

В таблицу классы заносится информация о номере класса, буквенном обозначений и количестве учащихся в данном классе..

Рисунок 9. Таблица Оценки

В таблицу оценки заносится информация о дате проведения той или иной формы контроля, общие оценки класса, кол-ве учащихся.

Согласно теории реляционных баз данных каждая таблица имеет ключевой атрибут, который является уникальным по отношению к совокупности данных в этих таблицах.

2.4 Программное обеспечение для разработки проекта

2.4.1 Среда Delphi как средство разработки ПО баз данных

Реализация дипломной работы проводится в системе программирования Delphi 7.0, располагающей широкими возможностями по созданию приложений баз данных. Уже с более ранних версий система Delphi снабжена необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации, расположенной как на локальном диске, так и на удалённом сервере. В поставку продукта входит большое количество коллекций визуальных компонентов для построения отображаемых на экране окон, что необходимо для создания удобного интерфейса между пользователем и исполняемым кодом.

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

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

В основе такой общепризнанной популярности лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.

Пакет Delphi - продолжение линии компиляторов языка Pascal корпорации Borland. Pascal как язык очень прост, а строгий контроль типов данных способствует раннему обнаружению ошибок и позволяет быстро создавать надежные и эффективные программы. Корпорация Borland постоянно обогащала язык. Когда-то в версию 4.0 были включены средства раздельной трансляции, позже, начиная с версии 5.5, появились объекты, а в состав шестой версии пакета вошла полноценная библиотека классов Turbo Vision, реализующая оконную систему в текстовом режиме работы видеоадаптера. Это был один из первых продуктов, содержавших интегрированную среду разработки программ.

Среда программирования представляет собой несколько отдельных окон: меню и инструментальные панели, Object Inspector (в котором можно видеть свойства объекта и связанные с ним события), окна визуального построителя интерфейсов (Visual User Interface Builder), Object Browser (позволяющее изучать иерархию классов и просматривать списки их полей, методов и свойств), окна управления проектом (Project Manager) и редактора.

Delphi содержит полноценный текстовый редактор типа Brief, назначения клавиш в котором соответствуют принятым в Windows стандартам, а глубина иерархии операций Undo неограниченна. Как это стало уже обязательным, реализовано цветовое выделение различных лексических элементов программы. Процесс построения приложения достаточно прост. Нужно выбрать форму (в понятие формы входят обычные, диалоговые, родительские и дочерние окна MDI), задать ее свойства и включить в нее необходимые компоненты (видимые и, если понадобится, неотображаемые): меню, инструментальные панели, строку состояния и т. п., задать их свойства и далее написать (с помощью редактора исходного кода) обработчики событий. Object Browser Окна типа Object Browser стали неотъемлемой частью систем программирования на объектно-ориентированных языках. Работа с ними становится возможной сразу после того, как вы скомпилировали приложение.

Project Manager - это отдельное окно, где перечисляются модули и формы, составляющие проект. При каждом модуле указывается маршрут к каталогу, в котором находится исходный текст. Жирным шрифтом выделяются измененные, но еще не сохраненные части проекта. В верхней части окна имеется набор кнопок: добавить, удалить, показать исходный текст, показать форму, задать опции и синхронизировать содержимое окна с текстом файла проекта, т. е. с головной программой на языке Pascal. Опции, включая режимы компиляции, задаются для всего проекта в целом. В этом отношении традиционные make-файлы, используемые в компиляторах языка С, значительно более гибки.

Visual Component Library (VCL) Богатство палитры объектов для построения пользовательского интерфейса - один из ключевых факторов при выборе инструмента визуального программирования. При этом для пользователя имеет значение как число элементов, включенных непосредственно в среду, так и доступность элементов соответствующего формата на рынке.

2.4.2 Высокопроизводительный компилятор в машинный код

Компиляторы языка Pascal компании Borland никогда не заставляли пользователя подолгу ждать результатов компиляции. Производители утверждают, что на сегодня данный компилятор - самый быстрый в мире. Компилятор, встроенный в Delphi позволяет обрабатывать до 390 тыс. строк исходного текста в минуту на машине Pentium-100. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL.

В смысле проектирования Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем тоже самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый р-код, который затем интерпретируется виртуальной р-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.

Следует отметить также, что благодаря опции оптимизации сегментов удается существенно сократить размер выполняемого файла. Можно запустить компилятор в режиме проверки синтаксиса. При этом наиболее длительная операция компоновки и изготовления исполняемого файла выполняться не будет.

Вероятно, то обстоятельство, что Delphi позиционируется как средство создания приложений, взаимодействующих с базами данных, и ориентировано преимущественно на рынок инструментальных средств клиент-сервер, где до настоящего момента доминируют интерпретируемые языки, позволило его авторам не задумываться над созданием оптимизирующего компилятора, способного использовать все достоинства архитектур современных процессоров.

2.4.3 Мощный объектно-ориентированный язык

Совместимость с программами, созданными ранее средствами Borland Pascal, сохраняется, несмотря на то, что в язык внесены существенные изменения. Необходимость в некоторых усовершенствованиях давно ощущалась. Не секрет, что при написании объектно-ориентированных программ, активно работающих с динамической памятью и другими ресурсами, немалую трудность представляет аккуратное освобождение этих ресурсов в случае возникновения нештатных ситуаций. Особенно это актуально для среды Windows, где число видов ресурсов довольно велико, а неправильная работа с ними может быстро привести к зависанию всей системы. Предусмотренный в Delphi аппарат исключений максимально упрощает кодирование обработки нештатных ситуаций и освобождения ресурсов.

Объектно-ориентированный подход в новой версии языка получил значительное развитие. Перечислим основные новшества.

  • введено понятие класса.
  • реализованы методы классов, аналогичные статическим методам C++. Они оперируют не экземпляром класса, а самим классом.
  • механизм инкапсуляции во многом усовершенствован. Введены защищенные поля и методы, которые, подобно приватным, не видны извне, но отличаются от них тем, что доступны из методов класса- наследника.
  • введена обработка исключительных ситуаций. В Delphi это устроено в стиле C++. Исключения представлены в виде объектов, содержащих специфическую информацию о соответствующей ошибке (тип и место нахождение ошибки). Разработчик может оставить обработку ошибки, существовавшую по умолчанию, или написать свой собственный обработчик. Обработка исключений реализована в виде exception-handling blocks (также еще называется protected blocks), которые устанавливаются ключевыми словами try и end. Существуют два типа таких блоков: try...except и try... finally.
  • появилось несколько удобных синтаксических конструкций, в числе которых преобразование типа объекта с контролем корректности (в случае неудачи инициируется исключение) и проверка объекта на принадлежность классу. Ссылки на классы придают дополнительный уровень гибкости, так, когда вы хотите динамически создавать объекты, чьи типы могут быть известны только во время выполнения кода. К примеру, ссылки на классы используются при формировании пользователем документа из разного типа объектов, где пользователь набирает нужные объекты из меню или палитры. Собственно, эта технология использовалась и при построении Delphi.
  • введено средство, известное как механизм делегирования. Под делегированием понимается то, что некий объект может предоставить другому объекту отвечать на некоторые события. Он используется в Delphi для упрощения программирования событийно-ориентированных частей программ, т. е. пользовательского интерфейса и всевозможных процедур, запускаемых в ответ на манипуляции с базой данных.

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

Язык программирования Delphi базируется на Borland Object Pascal.

Кроме того, Delphi поддерживает такие низкоуровневые особенности, как подклассы элементов управления Windows, перекрытие цикла обработки сообщений Windows, использование встроенного ассемблера.

2.5 Объектно-ориентированная модель программных компонентов

Основной упор этой модели в Delphi делается на максимальном повторном использовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые можно создать самостоятельно.

В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. На Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Во многом это объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.

Благодаря такой возможности приложения, изготовленные при помощи Delphi, работают надежно и устойчиво. Из готовых компонент работающие приложения собираются очень быстро. Кроме того, поскольку Delphi имеет полностью объектную ориентацию, разработчики могут создавать свои повторно используемые объекты для того, чтобы уменьшить затраты на разработку.

Delphi предлагает разработчикам - как в составе команды, так и индивидуальным - открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help'ы, доступные через меню Delphi.

2.6 Библиотека визуальных компонентов

Компоненты, используемые при разработке в Delphi, встроены в среду разработки приложений и представляют из себя набор типов объектов, используемых в качестве фундамента при строительстве приложения.

Этот костяк называется Visual Component Library (VCL). В VCL есть такие стандартные элементы управления, как строки редактирования, статистические элементы управления, строки редактирования со списками, списки объектов. Еще имеются такие компоненты, которые ранее были доступны только в библиотеках третьих фирм: табличные элементы управления, закладки, многостраничные записные книжки. Все объекты разбиты на страницы по своей функциональности и представлены в палитре компонент.

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

Ключевой особенностью Delphi является возможность не только использовать визуальные компоненты для строительства приложений, но и создание новых компонент. Такая возможность позволяет разработчикам не переходить в другую среду разработки, а наоборот, встраивать новые инструменты в существующую среду. Кроме того, можно улучшить или полностью заменить существующие по умолчанию в Delphi компоненты.

Здесь следует отметить, что обычных ограничений, присущих средам визуальной разработки, в Delphi нет. Сам Delphi написан при помощи Delphi, что говорит об отсутствии таких ограничений.

2.7 Настраиваемая среда разработчика

После запуска Delphi в верхнем окне горизонтально располагаются иконки палитры компонент. Если курсор задерживается на одной из иконок, под ней в желтом прямоугольнике появляется подсказка

Из этой палитры компонент можно выбирать компоненты, из которых можно строить приложения. Компоненты включают в себя как визуальные, так и логические компоненты. Такие вещи, как кнопки, поля редактирования - это визуальные компоненты; а таблицы, отчеты - это логические.

Поскольку в Delphi программа строится визуальным образом, все эти компоненты имеют свое графическое представление в поле форм для того, чтобы можно было бы ими соответствующим образом оперировать. Но для работающей программы видимыми остаются только визуальные компоненты. Компоненты сгруппированы на страницах палитры по своим функциям. К примеру, компоненты, представляющие Windows "common dialogs" все размещены на странице палитры с названием "Dialogs".

Delphi позволяет разработчикам настроить среду для максимального удобства. Можно легко изменить палитру компонент, инструментальную линейку, а также настраивать выделение синтаксиса цветом. В Delphi можно определить свою группу компонент и разместить ее на странице палитры, а если возникнет необходимость, перегруппировать компоненты или удалить неиспользуемые.

Интеллектуальный редактор. Редактирование программ можно осуществлять, используя запись и исполнение макросов, работу с текстовыми блоками, настраиваемые комбинации клавиш и цветовое выделение строк.

Графический отладчик. Delphi обладает мощнейшим, встроенным в редактор графическим отладчиком, позволяющим находить и устранять ошибки в коде. Можно установить точки останова, проверить и изменить переменные, при помощи пошагового выполнения в точности понять поведение программы. Если же требуются возможности более тонкой отладки, можно использовать отдельно доступный Turbo Debugger, проверив ассемблерные инструкции и регистры процессора.

Инспектор объектов. Этот инструмент представляет из себя отдельное окно, где вы можете в период проектирования программы устанавливать значения свойств и событий объектов (Properties & Events).

Менеджер проектов. Дает возможность разработчику просмотреть все модули в соответствующем проекте и снабжает удобным механизмом для управления проектами. Менеджер проектов показывает имена файлов, время/дату выбранных форм и пр. Можно немедленно попасть в текст или форму, просто щелкнув мышкой на соответствующее имя.

Навигатор объектов. Показывает библиотеку доступных объектов и осуществляет навигацию по приложению. Можно посмотреть иерархию объектов, перекомпилированные модули в библиотеке, список глобальных имен вашего кода.

Дизайнер меню. Можно создавать меню, сохранить созданные в виде шаблонов и затем использовать в их в любом приложении. Эксперты. Это набор инструментальных программ, облегчающих проектирование и настройку Ваших приложений. Есть возможность подключать самостоятельно разработанные эксперты. Потенциально это та возможность, при помощи которой третьи фирмы могут расширять Delphi CASE-инструментами, разработанными специально для Delphi. Включает в себя:

  • Эксперт форм, работающих с базами данных
  • Эксперт стилей и шаблонов приложений
  • Эксперт шаблонов форм

В состав RAD Pack входит эксперт для преобразования ресурсов, изготовленных в Borland Pascal 7.0, в формы Delphi. Уже появились эксперты, облегчающие построение DLL и даже написание собственных экспертов

Интерактивная обучающая система. Позволяет более полно освоить Delphi. Она является не просто системой подсказок, а показывает возможности Delphi на самой среде разработчика.

2.8 Структура программного продукта

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

Главное окно программы состоит из 4 справочников и 6 операций по работе с данными (рис.9).

Справочники:

  • Классы (рис. 10):
  • Корректировка записи;
  • Добавление новой записи;
  • Удаление текущей записи.
  • Предметы (рис.10):
  • Корректировка записи;
  • Добавление новой записи;
  • Удаление текущей записи.
  • Преподаватели (рис.10):
  • Изменение записи
  • Добавление новой записи;
  • Удаление текущей записи.
  • Нагрузка (рис.10):
  • Изменение записи
  • Добавление новой записи;
  • Удаление текущей записи.

Операции:

  • Добавление записи по дате контроля (рис.11):
  • название предмета
  • ФИО преподавателя
  • Название класса
  • Количество учеников
  • Успеваемость.
  • Изменение уже введённых данных (рис.11)
  • название предмета
  • ФИО преподавателя
  • Название класса
  • Количество учеников
  • Успеваемость.

- Удаление введённых данных

  • Печать отчёта по успеваемости учащихся
  • Добавление и извлечение данных из архива (рис.10).

Рисунок 10. Схема структуры главного окна программы

Рисунок 11. Схема структуры пункта главного меню Справочники

Рисунок 12. Схема структуры пункта главного меню Добавить и Изменить

Рисунок 13. Схема структуры пункта главного меню Открыть архив

Данная программа состоит из следующих форм, далее приводится описание этих форм:

Форма ULogo – окно заставки программы по нажатии которой открывается главная форма.

Форма UMain - главное окно программы.

Форма UArchive – архивирует данные, выбирает из архива.

Форма UClass – позволяет посмотреть количество классов, добавлять новые классы, редактировать и добавлять количество учащихся.

Форма UEditRec – позволяет просматривать информацию по учащимся и преподавателям определённого класса, получить процент успеваемости учеников.

Форма UNagruzka - выводит на экран нагрузку преподавателей по читаемым дисциплинам, форма позволяет добавлять и удалять предметы и преподавателей по дисциплинам.

Форма FSubjects – форма для изменения и добавления информации по дисциплинам.

Форма FTeachers - форма для изменения и добавления информации по учителям.

Форма FPrint – позволяет выводить данные по успеваемости учеников на печать.

2.9 Описание алгоритмов и процедур

В результате разработки были реализованы два основных программных модуля.

Модуль для редактирования базы данных. Манипуляции открытия, закрытия, внесения и редактирования данных реализованы объектами баз данных Active Data Objects и визуальными объектами для отображения и редактирования, входящими в стандартную поставку с Delphi.

Процедура вызывает окно заставки

procedure FormClick(Sender: TObject);

procedure Shape1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

private

public

end;

var

FLogo: TFLogo;

implementation

{$R *.dfm}

procedure TFLogo.FormClick(Sender: TObject);

begin

Close;

end;

procedure TFLogo.Shape1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Close;

end; end.

Процедура открытия главной формы:

procedure TFMain.FormCreate(Sender: TObject);

begin

pathApp:=GetCurrentDir;

DecimalSeparator:='.';

DateSeparator:='/';

ADOC.ConnectionString:={'Provider=Microsoft.Jet.OLEDB.4.0;' + 'Mode=ReadWrite;' +}

'Data Source=' + GetCurrentDir + '\MarkQuality.mdb';

ADOC.Open;

ADOQ_Classes.Open;

ADOQ_Subjects.Open;

ADOQ_Teachers.Open;

ADOQ_Nagruzka.Open;

ADOT_Marks.Open;

ADOQ_Marks.Open;

end;

Процедура добавления, изменения и удаления информации об учителях:

procedure TFTeachers.ADOT_TeachersAfterScroll(DataSet: TDataSet);

begin

if f_br

then E_Teacher.Text:=ADOT_TeachersFio_Teacher.AsString;

end;

procedure TFTeachers.FormActivate(Sender: TObject);

begin

f_br:=true;

end;

procedure TFTeachers.B_OKClick(Sender: TObject);

begin

if (Application.MessageBox('Добавить?', 'Подтвердите действие',

MB_YESNOCANCEL+ MB_ICONQUESTION+ MB_APPLMODAL)<>IDYES)

then exit;

f_br:=false;

ADOT_Teachers.Insert;

ADOT_Teachers.Edit;

ADOT_Teachers.FieldbyName('Fio_Teacher').AsString:=E_Teacher.Text;

ADOT_Teachers.Post;

f_br:=true;

FMain.ADOQ_Teachers.Close;

FMain.ADOQ_Teachers.Open;

end;

procedure TFTeachers.Button1Click(Sender: TObject);

begin

if (Application.MessageBox('Изменить?', 'Подтвердите действие',

MB_YESNOCANCEL+ MB_ICONQUESTION+ MB_APPLMODAL)<>IDYES)

then exit;

f_br:=false;

ADOT_Teachers.Edit;

ADOT_Teachers.FieldbyName('Fio_Teacher').AsString:=E_Teacher.Text;

ADOT_Teachers.Post;

f_br:=true;

FMain.ADOQ_Teachers.Close;

FMain.ADOQ_Teachers.Open;

end;

end.

Ниже представлена процедура описывающая добавление, удаление и изменение данных по предметам.

procedure TFSubjects.B_OKClick(Sender: TObject);

begin

if (Application.MessageBox('Добавить?', 'Подтвердите действие',

MB_YESNOCANCEL+ MB_ICONQUESTION+ MB_APPLMODAL)<>IDYES)

then exit;

f_br:=false;

ADOT_Subjects.Insert;

ADOT_Subjects.Edit;

ADOT_Subjects.FieldbyName('Subject').AsString:=E_Subject.Text;

ADOT_Subjects.Post;

f_br:=true;

FMain.ADOQ_Subjects.Close;

FMain.ADOQ_Subjects.Open;

end;

procedure TFSubjects.Button1Click(Sender: TObject);

begin

if (Application.MessageBox('Изменить?', 'Подтвердите действие',

MB_YESNOCANCEL+ MB_ICONQUESTION+ MB_APPLMODAL)<>IDYES)

then exit;

f_br:=false;

ADOT_Subjects.Edit;

ADOT_Subjects.FieldbyName('Subject').AsString:=E_Subject.Text;

ADOT_Subjects.Post;

f_br:=true;

FMain.ADOQ_Subjects.Close;

FMain.ADOQ_Subjects.Open;

end;

procedure TFSubjects.Button2Click(Sender: TObject);

begin

if (Application.MessageBox('Удалить?', 'Подтвердите действие',

MB_YESNOCANCEL+ MB_ICONQUESTION+ MB_APPLMODAL)=IDYES)

then ADOT_Subjects.Delete;

end;

Процедура добавления данных в архив:

procedure ADOQ_ArchiveCalcFields(DataSet: TDataSet);

procedure TFArchive.Recalc;

var id,

k5, k4, k3, k2,

s_k, s_k5, s_k4, s_k3, s_k2, s_kNA,

s_P, s_Q, s_A : integer;

begin

id:=ADOQ_ArchiveID.AsInteger;

s_k5:=0; s_k4:=0; s_k3:=0; s_k2:=0; s_kNA:=0;

s_P:=0; s_Q:=0; s_A:=0;

ADOQ_Archive.DisableControls;

ADOQ_Archive.First;

While not ADOQ_Archive.Eof do

begin

k5:=ADOQ_Archivefive.AsInteger;

k4:=ADOQ_Archivefour.AsInteger;

k3:=ADOQ_Archivethree.AsInteger;

k2:=ADOQ_Archivetwo.AsInteger;

s_k5:=s_k5 + k5;

s_k4:=s_k4 + k4;

s_k3:=s_k3 + k3;

s_k2:=s_k2 + k2;

s_kNA:=s_kNA + ADOQ_Archivenocheck.AsInteger;

s_k:=s_k + ADOQ_ArchiveCount_Pupils.AsInteger;

s_P:=s_P + k5 + k4 + k3;

s_Q:=s_Q + k5 + k4;

s_A:=s_A + 5*k5 + 4*k4 + 3*k3 + 2*k2;

ADOQ_Archive.Next;

end;

ADOQ_Archive.Locate('ID', id, []);

ADOQ_Archive.EnableControls;

M_All.Clear; M_All2.Clear;

M_All.Lines.Add(format('Среди %s учеников: ',[IntToStr(s_k)]));

M_All.Lines.Add('==================');

M_All.Lines.Add(format(' "5" - %d ',[s_k5]));

M_All.Lines.Add(format(' "4" - %d ',[s_k4]));

M_All.Lines.Add(format(' "3" - %d ',[s_k3]));

M_All.Lines.Add(format(' "2" - %d ',[s_k2]));

M_All.Lines.Add(format(' "н/а" - %d ',[s_kNA]));

// M_All.Lines.Move(6,7); M_All.Lines.Move(7,6);

// .Delete(7);

M_All2.Lines.Add(''); M_All2.Lines.Add('');

M_All2.Lines.Add(format('успеваемость: %.1f%%',[100*s_P/s_k]));

M_All2.Lines.Add(format('качество: %.1f%%',[100*s_Q/s_k]));

M_All2.Lines.Add(format('средний балл: %.2f',[s_A/(s_k-s_kNA)]));

end;

Процедура открытия раннее созданного архива:

procedure TFArchive.B_OKClick(Sender: TObject);

begin

// ADOQ_Archive.Open;

FileListBox1.SetFocus;

try

if FileListBox1.FileName<>''

then ADOQ_Archive.LoadFromFile(FileListBox1.FileName);

except

showmessage('Ошибка загрузки архива');

end;

Recalc;

end;

procedure TFArchive.ADOQ_ArchiveCalcFields(DataSet: TDataSet);

begin

ADOQ_ArchivePositiv.AsFloat:= 100*(ADOQ_Archivefive.AsInteger + ADOQ_Archivefour.AsInteger + ADOQ_Archivethree.AsInteger)/ ADOQ_ArchiveCount_Pupils.AsInteger;

ADOQ_ArchiveQuality.AsFloat:= 100*(ADOQ_Archivefive.AsInteger + ADOQ_Archivefour.AsInteger)/ ADOQ_ArchiveCount_Pupils.AsInteger;

ADOQ_ArchiveAverage.AsFloat:= (5*ADOQ_Archivefive.AsInteger + 4*ADOQ_Archivefour.AsInteger + 3*ADOQ_Archivethree.AsInteger + 2*ADOQ_Archivetwo.AsInteger)

/ (ADOQ_ArchiveCount_Pupils.AsInteger-ADOQ_Archivenocheck.AsInteger);

end;

procedure TFArchive.FormCreate(Sender: TObject);

begin

FArchive.FileListBox1.Directory:=pathApp + '\Archive';

end;

end.

Процедура добавления № класса:

procedure TFClass.B_AddClassClick(Sender: TObject);

begin

if (E_ClassDigit.Text='') or (CBE_ClassChar.Text='') or (E_Count.Text='')

then begin

Showmessage('Неполный ввод');

exit;

end;

if (Application.MessageBox('Добавить?', 'Подтвердите действие',

MB_YESNOCANCEL+ MB_ICONQUESTION+ MB_APPLMODAL)<>IDYES)

then exit;

Для проектирования и управления отчетами используется объектно-ориентированный поход: в распоряжении пользователя имеются специальный объект QReport. Прежде чем приступить к созданию отчета, следует проверить его подключение к проекту приложения. Для этого выберем команду Install Packages в меню Component, в открывшемся диалоговом окне Components перейдем на вкладку Design Packages и проверим, установлены ли флажки QuickReport Components. C помощью файла базы данных можно легко управлять всей программой. Итак, когда страница QReport появилась в палитре компонентов, можно приступать непосредственно к её освоению. Создаём новый проект в Delphi. Для отчета нам понадобится отдельная форма в нашем проекте. На новую форму бросаем компонент QuickRep. Этот компонент является основным контейнером для страницы отчёта и может в свою очередь содержать другие компоненты. QuickRep имеет следующие важные свойства (таблица 1):

Таблица 1.Основные свойства компонента QuickRep

PrinterSetting

Задает число копий отчета и диапазон печатаемых страниц.

Page

Задает размер страницы PaperSize (можно установить заказной размер — Custom и определить длину и ширину страницы свойствами Length и Width ), ее ориентацию и поля.

Options

Определяет, надо ли печатать верхний колонтитул первой страницы (FirstPageHeader) и нижний колонтитул последней ( LastPageFooter ).

Units

Задает единицу измерения размеров страницы, полей и т.п.: миллиметры, дюймы, пиксели и т.д.

Zoom

Масштаб печати в процентах.

ReportTitle

Заголовок окна предварительного просмотра

Для настройки содержимого отчёта нужно использовать свойство Bands. Оно имеет ряд подсвойств :
HasTitle — имеется полоса заголовка отчета,
HasDetail — имеется полоса детализации,
HasPageHeader — имеется верхний колонтитул (заголовок) на каждой странице отчета,
HasPageFooter — имеется нижний колонтитул на каждой странице отчета.
Для того, чтобы в отчёте отображались какие-либо данные, нужно установить в True свойство HasDetail.

Следующим важным шагом является установка на компонент QuickRep компонента QRBand, на котором уже непосредственно размещаются компоненты отчёта, отображающие графическую или текстовую информацию: QRLabel, QRExp, QRSysData, QRMemo, QRRichText, QRShape, QRImage. Компоненты QRLabel, QRMemo, QRRichText, QRShape, QRImage, размещаемые на полосах отчета, являются аналогами обычных компонентов — Label, Memo, RichEdit, Shape, Image.

Составление отчёта заключается в заполнении текстовых свойств компонентов QRLabel, QRMemo, QRRichText, загрузки изображений в QRImage. Отправка отчёта на печать осуществляется вызовом метода Print компонента QuickRep. К примеру, если в форме отчёта есть компонент QRLabel1, то следующий код отправит на печать текст "156":
QRLabel1.Сaption:='156';
QuickRep.Print; кроме метода Print компонент QuickRep имеет метод Preview предварительный просмотр.

Предварительный просмотр как и печать отчета можно осуществлять и в процессе проектирования. Для этого надо щелкнуть правой кнопкой мыши на компоненте QuickRep и из всплывшего меню выбрать команду Preview. Перед вами откроется окно предварительного просмотра, в котором, в частности, имеется кнопка печати.