Разработка программного обеспечения для функционирования кадрового отдела на языке программирования С++

Назначение и функции информационной системы как программно-аппаратного комплекса, предназначенного для хранения и обработки данных какой-либо предметной области. Каскадная схема создания ИС с обратной связью. Основные элементы языка программирования С++.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 14.05.2012
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Факультет управления

Кафедра "Менеджмент и маркетинг"

Специальность "Прикладная информатика в экономике"

контрольная РАБОТА

по дисциплине Проектирование информационных систем

Тема: Разработка программного обеспечения для функционирования кадрового отдела на языке программирования С++

Москва 2010 г

Содержание

информационный программирование данные каскадный

Введение

1. Назначение, функции информационной системы и СУБД

2. Постановка задачи

2.1 Технико-математическое описание задачи

2.2 Требования к составу и параметрам технических средств

3. Описание языка программирования

3.1 Выбор языка программирования

3.2 Элементы языка программирования

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

5. Инструкция на выполнение программы

5.1 Общие сведения

5.2 Инструкция пользователя

5.3 Вызов и загрузка

5.4 Входные данные

5.5 Выходные данные

5.6 Сообщения программы

5.7 Техника безопасности при работе на компьютере

6. Описание процесса отладки программы

6.1 Методы отладки

6.2 Тестирование

7. Контрольный пример

Заключение

Введение

Актуальность данной курсовой работы состоит в том, что данный программный продукт облегчит работу кадрового отдела ВУЗа.

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

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

Данный продукт имеет положительные характеристики:

· хранение информации;

· быстрый поиск;

· автоматизирование работы;

· повышении эффективности организации работ и др.

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

Задачи:

1. Раскрыть выбор языка программирования С++;

2. Разработать продукт для быстрого поиска и хранения информации;

3. Определить проблемы и причины неполадок программы;

4. Рассмотреть порядок работы с разработанной информационной системой.

Структура работы состоит из семи пунктов, введения и заключения.

1. Назначение, функции информационной системы и СУБД

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

Современные системы управления базами данных (СУБД) позволяют:

· Создавать базу данных;

· Изменять ее структуру;

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

Набор инструментов для создания таблиц и отношений между связанными таблицами;

Средства администрирования базы данных;

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

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

С помощью средств СУБД можно:

· Выбрать информацию представляющую интерес;

· Вывести на печать всю таблицу или только выбранные записи и поля в различных форматах;

· Отображать информацию базы данных в графическом виде;

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

Схема формирования информационной модели представлена на Рис. 1

Рис.1 Формирование информационной модели

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

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

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

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

На рис.2 показана каскадная схема с обратной связью.

Рис. 2. Каскадная схема создания ИС с обратной связью.

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

2. Постановка задачи

2.1 Технико-математическое описание задачи

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

2.2 Требования к составу и параметрам технических средств

Программный комплекс реализован в среде Borland C++ Builder. Минимальные системные требования к ЭВМ, необходимые для функционирования программы:

· (стандартная) Минимальная конфигурация: компьютер на базе процессора Pentium 66 МГц, ОП 32 Мб, наличие клавиатуры, монитора.

· рекомендуемая конфигурация: компьютер на базе процессора Pentium II 300 МГц, ОП 64 Мб, наличие клавиатуры, монитора, мыши.

· минимальные программные требования: ОС Windows 2000, наличие установленной СУБД MS Access 2000.

· рекомендуемые программные требования: ОС Windows XP, наличие установленной MS Access 2003; Borland C++ Builder

3. Описание языка программирования.

3.1 Выбор языка программирования

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

В языке C++, созданном компанией Microsoft для поддержки среды NET Framework, проверенные временем средства усовершенствованны с помощью самых современных технологий. C++ представляет очень удобный и эффективный способ написания программ для современной среды вычислительной обработки данных, которая включает операционную систему Windows, Internet, компоненты и пр. В процессе становления язык C++ переопределил весь "ландшафт" программирования.

Языку C++ "досталось" богатое наследство. Он - прямой потомок двух самых успешных языков программирования (C и C++) и тесно связан с не менее успешным языком JAVA.

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

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

Связь среды Net Framework с C++ обусловлена наличием двух очень важных средств. Одно из них, Common Language Runtime (CLR), представляет собой систему, которая управляет выполнением пользовательских программ. CLR - это составная часть Net Framework, которая делает программы переносимыми, поддерживает многоязыковое программирование и обеспечивает безопасность.

Второе средство, библиотека классов Net-оболочки, представляет программам доступ к среде выполнения. Например, если нужно выполнить операцию ввода-вывода, отобразить что-либо на экране, то для этого необходимо использовать .Net-библиотеку классов. Класс - это объектно-ориентированная конструкция, с помощью которой организуются программы. Если программа ограничивается использованием средств, определенных Net-библиотекой классов, она может выполняться везде, где поддерживается Net система. Поскольку C++ автоматически использует Net-библиотеку классов, C++ программы автоматически переносимы во все Net-среды.

Система CLR управляет выполнением Net-кода. В результате компиляции C++ программы получается не исполняемый код, а файл, который содержит специальный псевдокод, именуемый промежуточным языком MSIL. MSIL определяет набор переносимых инструкций, которые не зависят от типа процессора. По сути, MSIL определяет переносимость ассемблера. И хотя концептуально MSIL подобен байт-коду JAVA, это не одно и тоже.

Цель CLR-системы - при выполнении программы перевести ее промежуточный код в исполняемый. Таким образом, программа, подвергнутая MSIL-компиляции может быть выполнена в любой среде, для которой реализована CLR-система. В этом частично и состоит способность среды Net Framework добиваться переносимости программ.

Код, написанный на промежуточном языке Microsoft, переводится в исполняемый с помощью JIT-компилятора. При выполнении Net-программы CLR-система активизирует JIT-компилятор, который преобразует MSIL-код в ее "родной" код на требуемой основе, поскольку необходимо сохранить каждую часть программы. Таким образом, С++ программа в действительности выполняется в виде "родного" кода, несмотря на то, что первоначально она была скомпилирована в MSIL код. Это значит, что программа будет выполнена практически так же быстро, как если бы она с самого начала была скомпилирована с получением "родного" кода, но с добавлением преимуществ переносимости от преобразования в MSIL - код.

В результате компиляции C++ программы помимо MSIL-кода образуются и метаданные. Они описывают данные, используемые программой, и позволяют коду взаимодействовать с другим кодом. Метаданные содержаться в том же файле, где храниться MSIL-код.

В общем случае при написании C++ программы создается код, называемый управляемым. Управляемый код выполняется под управлением CLR-системы. У такого выполнения в результате есть как определенные ограничения, так и не малые достоинства. К числу ограничений относится необходимость иметь, во первых, специальный компилятор, который должен создавать MSIL-файл, предназначенный для работы под управлением CLR-системы, и, во-вторых, этот компилятор должен использовать библиотеки среды Net Framework. Достоинства же управляемого кода - современные методы управления памятью, возможность использовать различные языки, улучшенная безопасность, поддержка управления версиями и четкая организация взаимодействия программных компонентов.

Все Windows программы до создания среды Net Framework использовали неуправляемый код, который не выполнялся CLR-системой.

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

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

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

- объектно-ориентированная модель компонент;

- визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;

- масштабируемые средства для построения баз данных.

3.2 Элементы языка программирования

Главное в языке C++ - реализация принципов объектно-ориентированного программирования. Объектно-ориентированная методика неотделима от C++, и все C++ программы в какой-то степени имеют объектную ориентацию.

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

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

Для поддержки принципов объектно-ориентированного программирования ООП-языки, включая C++, имеют три характерные черты: инкапсуляцию, полиморфизм и наследование.

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

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

Основной единицей инкапсуляции в C++ является класс. Класс определяет форму объекта. Он задает как данные, так и код, который будет оперировать этими данными. В C++ класс используется для создания объектов. Объекты - это экземпляры класса. Таким образом, класс - это набор шаблонных элементов, которые показывают, как построить объект.

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

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

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

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

Инструкции внутри метода выполняются последовательно, можно сказать, сверху вниз. Но такой ход выполнения можно изменить с помощью различных инструкций управления, поддерживаемых в C++.

Инструкция if

С помощью инструкции If можно организовать избирательное выполнение части программы. Действие инструкции if в C++ во многом подобно действию одноименной инструкции в любом другом языке программирования. Вот так выглядит простейшая форма записи этой инструкции: If (условие) инструкция;

Здесь элемент условие представляет собой булево выражение, которое приводится к значению ИСТИНА или ЛОЖЬ. Заданная инструкция будет выполнена, если условие окажется истинным. В противном случае заданная инструкция игнорируется.

Например:

if (10<11) Console.WriteLine("10 меньше 11");

В данном случае число действительно меньше чем 11, т.е условное выражение истинно, поэтому метод WriteLine() будет вызван.

В С++ определен полный комплект операторов отношения, которые можно использовать в условных выражениях.

<

Меньше

<=

Меньше или равно

>

Больше

>=

Больше или равно

==

Равно

!=

Не равно

Цикл for

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

Простейшая форма записи цикла for имеет следующий вид:

for (инициализация; условие; итерация) инструкция;

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

Пример:

using System;

class ForDemo{

public static void Main()

int count;

for(count=0;count<5;Count++)

Console.WriteLine("Это счет:" + count);

}

Результат:

Это счет: 0

Это счет: 1

Это счет: 2

Это счет: 3

Это счет: 4

Инструкция switch

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

Общий формат записи инструкции switch такой:

switch (выражение) {

case константа1:

последовательность инструкций

break;

case константа2:

последовательность инструкций

break;

……………………………………..

default:

последовательность инструкций

break;

Элемент выражение инструкции switch должен иметь целочисленный тип, например char, byte, short, int, string. Очень часто в качестве управляющего switch-выражения используется просто переменная, case - константы должны быть литералами, тип которых совместим с типом заданного выражения. При этом никакие две case-константы в одной switch-инструкции не могут иметь идентичных значений.

Последовательность инструкции default -ветви выполняется в том случае, если ни одна из заданных case-констант не совпадает с результатом вычисления switch-выражения. Ветвь default не обязательна. Если она отсутствует, то при несовпадении результата выражения ни с одной из case-констант никакое действие выполнено не будет. Если такое совпадение все-таки обнаружится, будут выполнены инструкции, соответствующие данной case-ветви, до тех пор, пока не встретится инструкция break.

Цикл while

Общая форма цикла while имеет такой вид:

while (условие) инструкция;

Здесь под элементом инструкция понимается либо одиночная инструкция, либо блок инструкций. Работой цикла управляет условие, который представляет собой любое допустимое выражение типа bool. Элемент инструкция выполняется до тех пор, пока условное выражение возвращает ИСТИНА. Как только это условие становиться ложным, управление передается инструкции, которая следует за этим циклом. Цикл while работает следующим образом. Проверяется значение переменной. Если например это значение принимает значение ИСТИНА, счетчик инкрементируется и продолжает выполняться инструкция. Подобно циклу for, условное выражение проверяется при входе в цикл while, а это значит, что тело цикла может не выполниться ни разу. Это свойство цикла устраняет необходимость отдельного тестирования до начала цикла.

Цикл do-while

Следующим циклом в C++ является цикл do-while. В отличии от циклов for и while, в которых условие проверяется при входе, цикл do-while проверяет условие при выходе из цикла. Это значит, что цикл do-while всегда выполняется хотя бы один раз.

Его общий формат имеет такой вид:

do{

инструкции;

} while (условие);

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

Цикл foreach - предназначен для опроса элементов коллекции. Коллекция - это группа объектов. В C++ определено несколько типов коллекций, среди которых можно выделить массив.

Форма записи цикла foreach имеет такой вид:

foreach (тип имя_переменной in коллекция) инструкция;

Здесь элемент тип и имя_переменной задают тип и имя итерационной переменной, которая при функционировании цикла foreach будет получать значения элементов из коллекции. Элемент коллекция служит для указания опрашиваемой коллекции. Таким образом, элемент тип должен совпадать с базовым типом массива.

Ключевые слова C++

В языке C++ на данный момент определено 77 ключевых слов, которые перечислены в таблице 1. Эти ключевые слова образуют определение языка C++.

Таблица 1. Ключевые слова языка C#

Abstract

Do

In

Protected

True

As

Double

Int

Public

Try

Base

Else

Interface

Readonly

Typeof

Bool

Enum

Internal

Ref

Uint

Break

Event

Is

Return

Ulong

Byte

Explicit

Lock

Sbyte

Unchecked

Case

Extern

Long

Sealed

Unsafe

Catch

False

Namespace

Short

Ushort

Char

Finally

New

Sizeof

Using

Checked

Fixed

Null

Stackalloc

Virtual

Class

Float

Object

Static

Volatile

Const

For

Operator

String

Void

Continue

Foreach

Out

Struct

While

Decimal

Goto

Override

Switch

Default

If

Params

This

delegate

Implicit

Private

Throw

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

Типы значений в C++

C++ содержит две категории встроенных типов данных: типы значений и ссылочные типы. Ссылочные типы определяются в классах. Ядро языка C++ составляют 13 типов, перечисленных в таблице 2 и доступны для использования в любой C++ программе.

В C++ строго определяется диапазон и поведение каждого типа значения.

Таблица 2. Типы значений в C++

Ключевое слово

Тип

bool

Логический ИСТИНА/ЛОЖЬ

byte

8-разрядный целочисленный без знака

char

Символьный

decimal

Числовой для финансовых вычислений

double

С плавающей точкой двойной точности

float

С плавающей точкой

int

Целочисленный

long

Тип для представления длинного целого числа

sbyte

8-разрядный целочисленный со знаком

short

Тип для представления короткого целого числа

uint

Целочисленный без знака

ulong

Тип для представления длинного целого числа без знака

ushort

Тип для представления короткого целого числа без знака

В С++ символы представляются не 8-разрядными величинами, как в других языках программирования, а 16-разрядными. Для представления символов используется Unicode, 16-разрядный стандарт кодирования символов. Хотя во многих языках алфавиты относительно невелики, существуют языки, построенные на очень больших наборах символов, которые нельзя представить восьмью битами. Что бы можно было охватить символьные наборы всех языков, требуются 16-разрядные значения. Таким образом, в C++ char - это 16-разрядный тип без знака, который позволяет представить значения в диапазоне 0-65535.

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

Операторы отношений оценивают по "двубальной системе" отношения между двумя значениями, а логические определяют различные способы сочетания истинных и ложных значений. Поскольку операторы отношений генерируют ИСТИНА/ЛОЖЬ - результаты, то они часто выполняются с логическими операторами.

Таблица 3. Операторы отношений

==

Равно

!=

Не равно

>

Больше

<

Меньше

>=

Больше или равно

<=

Меньше или равно

Таблица 4. Логические операторы

&

И

|

ИЛИ

^

Исключающее ИЛИ

&&

Сокращенное И

||

Сокращенное ИЛИ

!

НЕ

Арифметические операторы

Таблица 5. Арифметические операторы

+

Сложение

-

Вычитание

*

Умножение

/

Деление

%

Деление по модулю

--

Декремент

++

Инкремент

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

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

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form1->ADODataSet1->Active=false;

Form1->ADODataSet1->CommandText="select * from Учителя where Учителя.Фамилия like '";

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+Form1->Edit1->Text;

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+"'";

Form1->ADODataSet1->Active=true;

}

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

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form1->ADODataSet1->Active=false;

Form1->ADODataSet1->CommandText="select * from Учителя where Учителя.Имя like '";

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+Form1->Edit1->Text;

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+"'";

Form1->ADODataSet1->Active=true;

}

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

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Form1->ADODataSet1->Active=false;

Form1->ADODataSet1->CommandText="select * from Учителя where Учителя.Отчество like '";

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+Form1->Edit1->Text;

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+"'";

Form1->ADODataSet1->Active=true;

}

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

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Form1->ADODataSet1->Active=false;

Form1->ADODataSet1->CommandText="select * from Учителя where Учителя.Дата_приёма_на_работу ";

if(Form1->RadioButton1->Checked) Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+" < #";

else Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+" > #";

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+Form1->Edit1->Text;

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+"#";

Form1->ADODataSet1->Active=true;

}

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

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Form1->ADODataSet1->Active=false;

Form1->ADODataSet1->CommandText="select * from Учителя where Учителя.Дата_рождения ";

if(Form1->RadioButton1->Checked) Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+" < #";

else Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+" > #";

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+Form1->Edit1->Text;

Form1->ADODataSet1->CommandText=Form1->ADODataSet1->CommandText+"#";

Form1->ADODataSet1->Active=true;

}

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

void __fastcall TForm1::Button6Click(TObject *Sender)

{

Form1->ADODataSet2->Active=false;

Form1->ADODataSet2->CommandText="select * from Студенты where Студенты.Фамилия like '";

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+Form1->Edit2->Text;

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+"'";

Form1->ADODataSet2->Active=true;

}

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

void __fastcall TForm1::Button7Click(TObject *Sender)

{

Form1->ADODataSet2->Active=false;

Form1->ADODataSet2->CommandText="select * from Студенты where Студенты.Имя like '";

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+Form1->Edit2->Text;

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+"'";

Form1->ADODataSet2->Active=true;

}

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

void __fastcall TForm1::Button8Click(TObject *Sender)

{

Form1->ADODataSet2->Active=false;

Form1->ADODataSet2->CommandText="select * from Студенты where Студенты.Отчество like '";

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+Form1->Edit2->Text;

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+"'";

Form1->ADODataSet2->Active=true;

}

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

void __fastcall TForm1::Button9Click(TObject *Sender)

{

Form1->ADODataSet2->Active=false;

Form1->ADODataSet2->CommandText="select * from Студенты where Студенты.Группа like '";

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+Form1->Edit2->Text;

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+"'";

Form1->ADODataSet2->Active=true;

}

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

void __fastcall TForm1::Button10Click(TObject *Sender)

{

Form1->ADODataSet2->Active=false;

Form1->ADODataSet2->CommandText="select * from Студенты where Студенты.Дата_рождения ";

if(Form1->RadioButton3->Checked) Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+" < #";

else Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+" > #";

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+Form1->Edit2->Text;

Form1->ADODataSet2->CommandText=Form1->ADODataSet2->CommandText+"#";

Form1->ADODataSet2->Active=true;

}

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

void __fastcall TForm1::Button15Click(TObject *Sender)

{

Form1->ADODataSet3->Active=false;

Form1->ADODataSet3->CommandText="select * from Группы where Группы.Номер_группы like '";

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+Form1->Edit3->Text;

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+"'";

Form1->ADODataSet3->Active=true;

}

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

void __fastcall TForm1::Button12Click(TObject *Sender)

{

Form1->ADODataSet3->Active=false;

Form1->ADODataSet3->CommandText="select * from Группы where Группы.Специальность like '";

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+Form1->Edit3->Text;

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+"'";

Form1->ADODataSet3->Active=true;

}

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

void __fastcall TForm1::Button14Click(TObject *Sender)

{

Form1->ADODataSet3->Active=false;

Form1->ADODataSet3->CommandText="select * from Группы where Группы.Дата_поступленя ";

if(Form1->RadioButton5->Checked) Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+" < #";

else Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+" > #";

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+Form1->Edit3->Text;

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+"#";

Form1->ADODataSet3->Active=true;

}

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

void __fastcall TForm1::Button11Click(TObject *Sender)

{

Form1->ADODataSet3->Active=false;

Form1->ADODataSet3->CommandText="select * from Группы where Группы.Дата_окончания ";

if(Form1->RadioButton5->Checked) Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+" < #";

else Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+" > #";

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+Form1->Edit3->Text;

Form1->ADODataSet3->CommandText=Form1->ADODataSet3->CommandText+"#";

Form1->ADODataSet3->Active=true;

}

5. Инструкция на выполнение программы

5.1 Общие сведения

Программа "Кадровик" написана в среде разработки Borland C++ Builder на языке программирования C++.

Таблицы для базы данных и сама база данных созданы в Microsoft Office Access 2003.

К программе должны реализовываться следующие требования:

· функционирование на операционных системах семейства Windows (XP/Vista)

· не должна обладать высокими требованиями

· разработка должна производиться в среде Borland C++ Builder

· у программы должен быть интуитивно понятный интерфейс

5.2 Инструкция пользователя

Выполнение программы осуществляется посредством запуска исполняемого файла.

При запуске программы "Кадровик " у вас появляется окно, где ввести User Name/Password Рис 1.1.

Рис.1.1. Окно при входе в программу

Нажимаем кнопочку "Ок" и заходим в программу, и вы попадает в главное окно программы Рис 1.2.

Рис.1.2. Окно главной программы

В левой верхней части программы у нас несколько несколько кнопочек - это таблиц, находящиеся в Microsoft Office Access 2003 :

1)Учителя

Рис.1.3. Таблица-Учителя

2)Студенты

Рис.1.4. Таблица-Студенты

3)Группы

Рис.1.5. Таблица-Группы

Они все (таблицы) хранятся в Microsoft Office Access 2003 и связаны между собой:

Рис.1.6. Схема данных(связи таблиц)

При помощи кнопочки "DBNavigator" с панели "Data Conrol" на нашей форме - вы можете выполнять такие операции как:

Рис.1.7. Кнопка DBNavigator

1)Переход к 1-ой строке таблицы

2)переход к приведущей строке таблицы

3)переход к следующей строке таблицы

4)переход к последней строке таблицы

5)добавление новой строки в таблицы

6)удаление строки из таблицы

7)изменение значений в строке

8)сохранение изменений в таблицы

9)отмена действия

10)сохранение и выход из программы

К каждой таблице сделан специальный поиск по полям таблицы:

1)к таблице - учителя

-поиск по фамилии

-поиск по имени поиск по отчеству

-поиск по дате рождения

-поиск по дате приема

Рис.1.8. Таблица - учителя

Выполним поиск по фамилии - например "Доменов", для этого в окне поиска набираем фамилию "Доменов", далее нажимаем поиск по фамилии, и на экран выводится найденная информация.

2)к таблице - студенты

-поиск по фамилии

-поиск по имени

-поиск по отчеству

-поиск по группе

-поиск по дате рождения

Рис.1.9. Таблица - студенты

Выполним поиск по имени - например "Иван", для этого в окне поиска набираем имя "Иван", далее нажимаем поиск по имени, и на экран выводится найденная информация.

3)к таблице - группы

-поиск по Группе

-поиск по специальности

-поиск по дате поступления

-поиск по дате окончания

Рис.2.0. Таблица - группы

Выполним поиск по специальности - например "Программист", для этого в окне поиска набираем специальность "Программист", далее нажимаем поиск по специальности, и на экран выводится найденная информация.

Все таблицы в программе "Кадровик" соединены. Имена полей, их количество и то что в них будет вводится - значения, мы можем изменить непосредственно в нашей БД. Для этого заходим в Microsoft Office Access 2003 и в любой таблицы - можем изменить имена полей, их количество и значения которые в них будут вводиться.

Для этого заходим в БД, выбираем нужную таблицу - например таблицу "Группы"

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

5.3 Вызов и загрузка

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

Пуск-все программы-Кадровик ;

5.4 Входные данные

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

При добавлении новой строки:

Фамилия, имя, отчество, курс, группа, специальность студента ;

Имя, фамилия, отчество, дата приёма, дата рождения преподавателя.

Номер группы, дата поступления, дата окончания, специальность.

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

5.5 Выходные данные

Выходными данными служит результат поиска:

- информация о студенте

- информация об учителе

- информация о группах

5.6 Сообщения программы

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

Тест 1

В системе не зарегистрирована база данных (ODBC BD99).

Программа должна выдать ошибку:

"При запуске программа должна выдавать ошибку [Microsoft][Диспетчер драйверов ODBC]

Источник данных не найден и не указан драйвер, используемый по умолчанию."

Тест 2

В поле выбора параметров упорядочивания не введено значение.

Программа должна выдать сообщение:

"Не один элемент не выбран."

Тест 3

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

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

5.7 Техника безопасности при работе на компьютере

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

Помещение, в котором находится компьютер, должно быть просторным и хорошо проветриваемым. Минимальная площадь на один компьютер должна составлять 6 м2. Минимальный объем помещения на один компьютер должен быть 20 м3. Компьютер желательно размещать так, чтобы, подняв глаза от экрана монитора, можно было бы увидеть самый удаленный предмет в комнате, так как перевод взгляда на дальнее расстояние - один из самых эффективных способов разгрузки зрительной системы при работе на компьютере.

При работе на компьютере необходимо организовывать 15 - 20 минутные перерывы каждые 30 - 40 минут с обязательным выходом из помещения, где расположен компьютер. Во время перерыва необходимо организовывать сквозные проветривания.

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

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

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

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

При пользовании электроэнергией в сырых помещениях соблюдать особую осторожность. К современному производственному освещению, в том числе освещению рабочих помещений пользователей персональных компьютеров, предъявляются высокие требования как гигиенического, так и технико-экономического характера. Правильно спроектированное и выполненное освещение обеспечивает высокий уровень работоспособности, оказывает положительное психологическое воздействие на работающих, способствует увеличению роизводительности труда. В вычислительных центрах или в комнатах операторов, как правило, применяют одностороннее, боковое, естественное освещение. Причем светопроемы с целью уменьшения солнечной инсоляции устраивают с северной, северо-западной или северо-восточной ориентацией. В машинных залах рабочие места операторов, работающих с дисплеями, располагают подальше от окон и таким образом, чтобы оконные проемы находились сбоку. Если экран дисплея обращен к окну, необходимы специальные экранирующие устройства. Окна рекомендуется снабжать рассеивающими шторами, регулируемыми жалюзи или солнцезащитной пленкой с металлизированным покрытием. В тех случаях, когда одного естественного освещения в помещении недостаточно, устраивают совмещенное освещение. При этом дополнительно искусственное освещение применяют не только в темноте, но и в светлое время суток. Рекомендуемая освещенность для работы с экраном дисплея составляет 200 лк, а при работе с экраном в сочетании с работой над документацией 400 лк. Рекомендуемые яркости в поле зрения операторов должны лежать в пределах 1:5 - 1:10. Для обеспечения оптимальных условий зрительной работы операторов дисплейных устройств необходимо определенная цветовая отделка помещений.

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

6. Описание процесса отладки программы

6.1 Методы отладки

Отладка - процесс локализации и устранения ошибок, когда факт их существования установлен.

Отладка проводится в два этапа:

- определяется природа и местонахождение подозреваемой ошибки в программе;

- фиксируется и исправляется ошибка.

Методы отладки:

Расстановка отладочной печати по всей программе.

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

6.2 Тестирование

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

- спецификации требований на программные модули, группы программ и весь комплекс;

- программные модули, запрограммированные и подготовленные к отладке;

- группы программ, решающие законченные функциональные задачи;

- комплекс программ, для которого завершаются все виды отладки;

- программное средство, подлежащее испытаниям перед передачей на эксплуатацию.

Процесс тестирования включает в себя:

тестирование модулей;

тестирование связей между модулями;

системное тестирование - тестирование системы в целом.

Тестирование модуля должно включать в себя:

тестирование в нормальных условиях;

тестирование в экстремальных условиях;

тестирование в исключительных условиях.

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

Тестирование в экстремальных условиях предполагает проверку граничных ситуаций: для цифровых данных - min и max, для символьных строк - проверка работы с пустой строкой и строкой max длины.

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

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

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

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

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

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

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

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

Тест проверки функционирования программы в критических ситуациях по условиям и логике решения задач.

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

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

7. Контрольный пример

Контрольный пример добавления записи в таблицу.

Для начала необходимо запустить программу

Нажали "ОК"

и в появившемся окне выбрать добавить новую строку "+"

Заполняем поля и на нажимаем "х",а затем последний значок №10 на кнопке "DBNavigator" и выходим из программы.

Заходим в Microsoft Office Access 2003 в БД в таблицу учителя и там появилась наша новая запись.

Заключение

Программа "Кадровик" была разработана на языке программирования высокого уровня Borland C++ Builder, так как это более удобная программа программирования, так же используется СУБД. Программа довольно быстро работает даже на слабых машинах и занимает мало памяти. Также программа обладает простым и интуитивно понятным интерфейсом.

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

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

Данный продукт имеет положительные характеристики:

· хранение информации;

· быстрый поиск;

· автоматизирование работы;

· повышении эффективности организации работ и др.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.