Учет общественной активности студентов академической группы

САРАНСКИЙ КООПЕРАТИВНЫЙ ИНСТИТУТ (ФИЛИАЛ)

АВТОНОМАЯ НЕКОМЕРЧЕСКАЯ ОРГАНИЗАЦИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ЦЕНТРОСОЮЗА РОССИЙСКОЙ ФЕДЕРАЦИИ

“РОССИЙСКИЙ УНИВЕРСИТЕТ КООПЕРАЦИИ’’ 
 
 
 
 
 

Кафедра информационно-вычислительных систем 
 
 
 
 

КУРСОВОЙ  ПРОЕКТ 

По  дисциплине: 

Высокоуровневые методы информатики  и 

программирования 

Учет  общественной активности студентов академической  группы 
 
 
 
 
 
 
 
 

                                                                                               Выполнил:

                                                                                               студент группы ПИ-21

                                                                                               специальности : «Прикладная 

                                                                                               информатика в экономике»

                                                                                               Кленин Александр Александрович 

                                                                                               Руководитель :

                                                                                               к.ф.м.н. доцент

                                                                                               Смолкин Георгий Александрович 
 
 
 

Саранск 2011

Содержание 

Введение......................................................................................................3

1. Среда программирования  Delphi...........................................................6

    1.1. Структура баз данных……………………………………………..6

    1.2. Компоненты Delphi для работы с базами данных.........................8

2.     Постановка    задачи    и    основные    функции    приложения   

«Учет общественной активности студентов академической группы»..11

3. Описание технологии  решения задачи и её реализация.....................14

    3.1. Организация доступа к данным.....................................................14

    3.2. Организация работы с данными.....................................................17

    3.3. Создание запроса «Ведомость»......................................................21

Заключение..,..............................................................................................23

Список используемых источников...........................................................24

Приложение................................................................................................25 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     Введение 
 

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

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

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

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

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

     - структурное проектирование программных  продуктов;

     - информационное моделирование предметной  области и связанных с ней  приложений;

     - объектно-ориентированное проектирование программных продуктов.

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

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

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

     - структурное проектирование (программирование) и др. Объектно-ориентированный   подход   к   проектированию   программных

     продуктов основан на:

     - выделении классов объектов;

     - установлении характерных свойств объектов и методов их обработки;

     -  создании иерархии классов, наследовании  свойств объектов и методов  их обработки

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

     Объектный подход при разработке алгоритмов и  программ предполагает:

     - объектно-ориентированный анализ  предметной области;

     - объектно-ориентированное проектирование.

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

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

     Задание курсового проекта создать приложение «Учет общественной активности студентов академической группы» в среде программирования Delphi, который содержит специальные объекты для работы с базами данных.

     Это небольшая и несложная в обращении  программа может существенно облегчить работу деканата.

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

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

     В Delphi можно создавать простые приложения даже со сложными базами без единой строчки кода.

     В курсовом проекте использованы базы Access и современный формат xml. Лучше использовать эти базы в качестве локальных, потому что они поддерживаются большинством систем и отличаются высокой надёжностью. 
 
 
 
 
 
 
 
 

     1. Среда программирования  Delphi 

     1.1.    Структура баз  данных 

     Цель  любой информационной системы - обработка данных об объектах реального мира, База данных - это совокупность сведений о конкретных объектах реального мира в какой либо предметной области.

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

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

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

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

     Локальные базы данных

     Из  локальных баз данных мы будем  рассматривать реляционные, как  самые распространённые. Что такое  реляционная база данных? Это таблица, в которой в качестве столбцов выступают имена хранимых в ней  данных, а каждая строка хранит сами данные. Таблица базы данных похожа на электронную таблицу Excel. Локальные таблицы баз данных могут храниться на локальном жёстком диске или централизовано сохраняться на сетевой диск файлового сервера. Эти файлы можно копировать с помощью стандартных средств как любой другой файл, потому что сами таблицы базы данных не привязаны к определённому месту расположения. Главное, чтобы программа могла найти твою таблицу.

     В каждой таблице должно быть одно уникальное поле, которое однозначно будет идентифицировать строку. Это поле называется ключевым. Эти поля очень часто используются для связывания нескольких таблиц между собой. Но даже если связывания таблиц нет, ключевое поле всё равно обязательно. В качестве ключа желательно использовать численный тип и если позволяет база данных, то будет лучше, если он будет типа "autoincrement" (автоматически увеличивающееся/уменьшающееся число или счётчик).

     Имена столбцов в таблице базе данных, также должны быть уникальными, но в  этом случае не обязательно числовыми.

     Каждый столбец (поле базы данных) обязательно должен иметь определённый тип. Количество типов и их разновидности зависит от типа базы данных, например формат dBASE (файлы с расширением DBF) поддерживает только 6 типов, a Paradox уже до 15. База данных может храниться в одном файле (Access) или в нескольких (Paradox, dBase). Точнее сказать, данные таблицы всегда хранятся в одном файле, а вот дополнительная информация может располагаться в отдельных файлах. В качестве дополнительной информации могут быть индексы, ограничения или список значений по умолчанию для конкретных полей. Если хотя бы один из файлов запортиться или будет удалён, то данные могут стать недоступными для редактирования.

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

     Если  тебе надо, чтобы какая-то таблица  была упорядочена по полю «Фамилия», то это поле надо сначала проиндексировать. Затем нужно только указать, что таблица должна работать сейчас с таким-то индексом, и она сортируется автоматически. 

    1. Компоненты  Delphi для работы с базами данных
 

     Для работы с базами в Delphi есть несколько наборов компонент. Каждый набор очень хорошо подходит для решения определённого круга задач. Почему такое разнообразие компонентов? Все они используют разные технологии доступа к данным и отличаются по возможностям. В отличие от Microsoft, которая встроила в свои продукты разработки только технологию доступа к данным ADO собственной разработки, фирма Borland дала разнообразие средств работающих через разные технологии и не ограничивает только своими разработками. Такое положение вещей даёт громадные преимущества перед другими программистами. Помимо этого есть группы, которые могут использоваться в любом случае, вот краткий обзор доступных нам средств. На закладке Data Access расположены основные компоненты доступа к данным. Эти компоненты общие для всех и могут использоваться совместно с другими группами компонентов.

     На  закладке Data Controls расположены компоненты для отображения и редактирования данных в таблицах. Эти компоненты так же используются в не зависимости от используемой технологии доступа к данным.

     Закладка  BDE содержит компоненты, позволяющие получить доступ к базам данных по технологии, разработанной фирмой Borland под названием Borland Database Engine. Эта технология сильно устарела и поставляется только для совместимости со старыми версиями. Не смотря на это, она хорошо работает со старыми типами баз данных, такими как Paradox и dBase 
 
 

     DBExpress - это новая технология доступа к данным фирмы Borland. Она отличается большей гибкостью и хорошо подходит для программирования клиент серверных приложений, использующих базы данных. Компоненты с одноимённой закладки я советую использовать с базами данных построенных по серверной технологии, например, Oracle, DB2 или MySQL.

     ADO {Active Data Objects) - технология доступа к данным, разработанная корпорацией Microsoft. Очень хорошая библиотека, но я рекомендую её использовать только с базами данных Microsoft, а именно MS Access или MS SQL Server. Её так же можно использовать, если у тебя специфичный сервер баз данных, который может работать только через ODBC  
 
 

Работа  с базами данных Access идёт через специальную надстройку DAO, которая может устанавливаться на компьютер вместе с программой Office или идти как отдельная установка. Так что если программа не будет работать на компьютере клиента, то надо позаботиться об установке DAO на этот компьютер. В данном курсовом проекте мы рассмотрим технологию доступа к данным ADO (Active Data Objects). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     2. Постановка задачи  и основные функции  приложения «Учет  общественной активности  студентов академической  группы» 

     Описание  поставленной задачи

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

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

     •   код студента;

     •   фамилия;

     •   имя;

     •   год рождения;

     •   место жительства;

     •   группа;

     •   спорт

     •   КВН;

     •   староста.

     Последние три поля определяют активность студентов  в этих сферах деятельности. В зависимости  от того, в каком виде деятельности участвует студент, ему начисляется  надбавка к стипендии. Если студент  участвует в одном виде деятельности, то начислить ему 100 руб. если в двух, но не староста, то 150 руб. если в двух, причем староста - 200 руб. в трех - 300 руб. Иначе начисления нет.

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

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

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

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

     Информация  для формирования БД первоначально вносится в экранные формы. Простота их структуры предполагает удобство работы с ними.

     Структура таблицы «Студенты»:

     Есть  определенные правила построения таблиц баз данных:

     1. Каждое поле любой таблицы  должно быть уникальным.

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

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

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

     В своей базе данных создана одна таблица  под названием «Студенты», со следующими полями: КодСтудента (тип поля: счетчик, оно является ключевым полем), Фамилия (тип поля: текстовый), Фамилия(тип поля: текстовый), Имя (тип поля: текстовый), ГодРождения (тип поля: дата/время), Местожительства (тип поля: текстовый), Группа (тип поля: текстовый), Спорт(тип поля: текстовый), КВН (тип поля: текстовый), Староста (тип поля: текстовый).

     Перечень функций, реализованных в приложении «Учет общественной активности студентов академической группы»

     Приложение  «Учет общественной активности студентов  академической группы» реализует  следующие функции:

     1    Просмотр всех студентов;

     2    Редактирование данных студента;

     3    Добавление нового и удаление  старого студента;

     4    Поиск данных по фамилии и  по группе студента;

     5    Сортировка    по    фамилии    студента    и    по    группе    (по возрастанию);

     6    Получение списка студентов, занимающихся  определенным видом деятельности (спорт, КВН или староста);

     7    Получение списка активных студентов;

     8    Получение списка неактивных  студентов;

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

     3. Описание технологии  решения задачи  и её реализация 

     3.1. Организация доступа  к данным 

     Компоненты  работы с данными являются не визуальными  и поэтому их удобно размещать в специальном модуле типа Data Module. Для этого после создания (открытия) нового проекта данный модуль создается командой File/New/Data Module, при этом Delphi откроет специальное окно (DataModule2), в которое и помещаются компоненты доступа к данным. При работе с данными MS Access необходимо использовать компоненты вкладки ADO.

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

     Здесь  нужно  остановиться  на варианте,  предлагаемом  по умолчанию (использовать строку подключения - Use Connection String). Щелчком по кнопке Build открывается окно Свойства связи с данными (Рис. 3.1.2.).

     В нем на вкладке Поставщик данных (Provider) перечислены все доступные ADO драйверы доступа к данным. В данном случае нужно использовать драйвер Microsoft Jet 4.0 OLE DB Provider (устанавливается с Windows по умолчанию). После этого нажать кнопку Далее (Next), или перейти на вкладку Подключение (Connection). 
 

     В строке Выберете или введите имя  базы данных (Select or enter a database name), вводится имя базы данных и путь. Так как существующая база данных Студенты.mdb располагается в той же директории, что и исполняемый файл приложения путь указывать не нужно. Значения других полей можно оставить по умолчанию.

     Далее нажатием кнопки Проверить подключение (Test Connection), тестируется соединение. Если все указано правильно, то должно появиться сообщение Тестирование соединения прошло удачно (Test connection succeeded). Все окна настроек закрываются нажатием кнопок ОК. Далее в свойствах компонента ADOConnection нужно отключить свойство LoginPrompt, выставив его в false. Это нужно для того, чтобы при каждом обращении к базе не происходил вызов окна ввода пароля. Далее выставим свойство Connected в true, чтобы произошло соединение с базой. На этом соединение можно считать оконченным.

     Теперь  надо получить доступ к таблице «Студенты». Для этого нужно поместить  на форму компонент ADOTable (вкладка ADO). У компонента ADOTable в свойстве Name нужно задать имя LichDan, в свойстве connection указать созданный ранее компонент соединения с базой данных путем выбора из выпадающего списка единственного пункта ADOConnection1. В свойстве TableName выбрать имя таблицы (Студенты). Далее можно активизировать данные (подключаться) путем выставления свойства Active в true.

     Для отображения данных из таблицы устанавливается  компонент DataSource (в данном случае DataSourseLD) вкладки Data Access. Этому компоненту указывается, какую именно таблицу он должен отображать, путем выбора из выпадающего списка свойства DataSet компонента LichDan, который связан с таблицей Студенты. Приготовления в окне DataModule2 модуля данных Unit2 на этом завершаются и можно приступать реальному отображению данных.

     На  первом этапе необходимо определить связь компонентов главной формы (модуль Unitl) с модулем данных Unit2. Это можно сделать вручную или командой File/Use Unit (в этот момент должно быть выделено окно кода главной формы, так как модуль подключается именно к ней). В разделе implementation модуля Unitl появится запись uses Unit2;. Затем устанавливается на форме компонент-сетка - DBGrid с вкладки Data Controls. Он может отображать данные в виде таблицы, добавлять, удалять и редактировать строки таблицы. Компонент сетка DBGrid1 путем указания в свойстве DataSource созданного ранее компонента DataSourseLD связывается с компонентом отображения таблицы.

     Далее можно запускать данное приложение и затем создать несколько  строк, отредактировать уже существующие или удалить что-нибудь. Для вставки  строки используется клавиша <Ins>, а для удаления — сочетание клавиш <Ctrl>+<Del>.