Автоматизация библиотечных процессов
Создание информационной системы обеспечивающей комплексную автоматизацию библиотечных процессов: комплектование литературы, создание и ведение электронного каталога, обработку поступающих изданий, обслуживание читателей, учет библиотечного фонда.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.06.2015 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Техническое задание (ГОСТ 19.201-78. ЕСПД)
2. Алгоритм программы
3. Выбор языка программирования
3.1 Описание языка (ГОСТ 19.506-79. ЕСПД)
3.1.1 Общие сведения
3.1.2 Элементы языка
3.1.3 Способы структурирования программы
3.1.4 Средства обмена данными
3.1.5 Встроенные элементы
3.1.6 Средства отладки программы
3.2 Описание программы (ГОСТ 19.402-78. ЕСПД)
3.2.1 Общие сведения
3.2.2 Функциональное назначение
3.2.3 Описание логической структуры
4. Отладка и тестирование
4.1 Отладка
4.2 Отладка кода программы
4.3 Выбор метода тестирования
4.4 Тестирование программы
5. Расчет и анализ технико-экономических показателей
Заключение
Список используемых источников
Приложение 1. Листинг программы
Приложение 2. Руководство программиста (ГОСТ 19.504-79)
Приложение 3. Руководство оператора (ГОСТ 19.505-79)
Введение
Стремительное развитие новых информационных технологий актуализировало проблему повышения качества библиотечно-информационного обслуживания учащихся и педагогических работников, от уровня которого во многом зависит достижение нового качества образования. Успешное функционирование современной школьной библиотеки обусловлено автоматизацией библиотечных процессов, программного обеспечения, в котором работает библиотека. Внедрение его в школьные библиотеки не может расцениваться как простая апробация новых технологий или дань компьютерной моде. В настоящее время существует несколько программ, адаптированных для школьных библиотек. Возможности одной из них, программы "ИРБИС", обеспечивающие комплексную автоматизацию всех библиотечных процессов, а именно: комплектование литературы, создание и ведение электронного каталога, систематизацию, обработку поступающих изданий, справочно-информационное обслуживание, обслуживание читателей, учет библиотечного фонда, показала директор Центра электронного обучения по программам ДПО, директор Информационно-библиотечного центра Международной академии бизнеса и новых технологий.
Автоматизация деятельности библиотек - одно из актуальных и перспективных направлений развития информационного общества. Построение современной автоматизированной информационно-библиотечной системы (АИБС) способствует эффективному функционированию образовательного учреждения, предоставляя на качественно ином уровне доступ к информационным ресурсам.
В рамках приоритетного национального проекта "Образование" был сформирован и поставлен во все школы РФ стандартный (базовый) пакет программного обеспечения, в состав которого вошел программный комплекс "1С: Управление школой", включивший в себя, помимо прочего, конфигурацию "1С: Школьная Библиотека", предназначенную для автоматизации рабочих мест библиотекаря, преподавателя и читателя в школах.
На основе базовой конфигурации "1С: Школьная Библиотека" разработана программа с расширенным функционалом "1С:Школьная Библиотека ПРОФ", в которую включены новые возможности, в том числе касающиеся обмена данными и использования специального оборудования (сканеры штрих-кодов, радио-метки).
Для автоматизации работы библиотек учреждений начального и среднего профессионального образования с учетом специфики структуры и особенностей организации учебного процесса предназначена конфигурация "1С: Библиотека Колледжа".
Автоматизированная информационно-библиотечная система "1С: Библиотека ВУЗа" предусматривает автоматизацию библиотек учреждений высшего профессионального образования, позволяя на качественно ином уровне оптимизировать бизнес-процессы библиотеки и информационное обслуживание потребителей.
Для освоения специфики, реализованной в программных продуктах, разработан специализированный учебный курс "Основы автоматизации библиотек образовательных учреждений на платформе "1С: Предприятие".
Прохождение обучения в рамках данного курса рекомендовано партнерам, имеющим статус центров компетенции по образованию (ЦКО), и партнерам, планирующим получить статус ЦКО (http://www.1c.ru/rus/partners/cko.jsp).
На сегодняшний день автоматизация образовательных учреждений - одно из приоритетных направлений развития отечественного образования. Система образования существенно совершенствуется благодаря эффективному использованию информационно-коммуникационных технологий в рамках единого образовательного пространства.
Автоматизация образовательных учреждений
Оборудование и программы для автоматизации, предлагаемые компанией Prime ID, позволяют организовать, систематизировать, сделать содержательными и результативными все направления работы учебных заведений. Новые технологии позволяют увеличить эффективность образовательных процессов за счет использования справочно-информационного фонда данных о состоянии учебно-воспитательного процесса, дифференцированного справочно-информационного обслуживания всех категорий преподавателей, использования информационного массива и банка педагогических данных.
Отдельного внимания заслуживает автоматизация библиотек в образовательных учреждениях. Благодаря развитию электронных технологий и средств телекоммуникаций обеспечивается принципиально новая организация в библиотеках процесса каталогизации изданий и создания электронных каталогов. Это позволяет свести к минимуму тысячекратное дублирование трудовых затрат библиотекарей и нерациональное использование материальных средств за счет разумного разделения труда каталогизаторов и совместного использования его результатов.
В компании Prime ID широко представлены оборудование и системы для автоматизации библиотечного и других направлений сферы образования. Наши высококвалифицированные специалисты готовы разработать индивидуальный проект автоматизации учебного заведения и выполнить профессиональную интеграцию современного оборудования и программного обеспечения в существующие системы в рамках бюджета учреждения.
1. Техническое задание (ГОСТ 19.201-78. ЕСПД)
1. Программы "Учет библиотечных книг" предназначена для хранения информации книгах взятых учениками.
2. Требования к программе или программному изделию
- Требования к функциональным характеристикам
Программы "Учет библиотечных книг" предназначена для внесения, изменения, сохранения, удаления и сортировки информации о контактных лицах и учета библиотечных книг:
Направление, курс, группа, номер, ФИО, дата рождения, адрес, телефон, название книги, автора книги, ответственное лицо, код книги, время получения книги студентом, дата возврата книги студентом, дополнительная информация.
- Требования к надежности
Устойчива к работе в режиме реального времени.
- Условия эксплуатации
Особые требования не предъявляются.
- Требования к составу и параметрам технических средств
Однопроцессорный компьютер с ACPI, процессор AMD Sempron(tm) Processor 2500+, клавиатура стандартная (101/102 клавиши), Microsoft PS/2 мышь, модуль подключения монитора, 2.20 ГГц, 0,98 ГБ ОЗУ.
- Требования к информационной и программной совместимости
Программы работает на всех ОС Windows.
3. Требования к программной документации
Программа должна сопровождаться следующей документацией, составленной в соответствии с ГОСТ:
· ГОСТ 19.504-79. ЕСПД - Руководство программиста. Требования к содержанию и оформлению.
· ГОСТ 19.505-79. ЕСПД - Руководство оператора. Требования к содержанию и оформлению.
4 Технико-экономические показатели
FP метрики |
LOG метрики |
||
Производительность |
(FP/чел.мес) |
(тыс.LOG/чел. мес.) |
|
Качество |
(единицы./ FP) |
(единицы/ тыс.LOG) |
|
Документированность |
(стр./ FP) |
(стр./тыс.LOG) |
5. Стадии и этапы разработки
Стадии разработки |
Этапы работ |
Содержание работ |
|
1. Техническое задание |
Обоснование необходимости разработки программы |
Постановка задачи. Сбор исходных материалов. Выбор и обоснование критериев эффективности и качества разрабатываемой программы. Обоснование необходимости проведения научно-исследовательских работ. |
|
Научно-исследовательские работы |
Определение структуры входных и выходных данных. Определение требований к техническим средствам. Обоснование принципиальной возможности решения поставленной задачи. |
||
Разработка технического задания |
Определение требований к программе. Разработка технико-экономического обоснования разработки программы. Определение стадий, этапов разработки программы. Выбор языков программирования. Определение необходимости проведения научно-исследовательских работ на последующих стадиях. |
||
2. Эскизный проект |
Разработка эскизного проекта |
Предварительная разработка структуры входных и выходных данных. Разработка общего описания алгоритма решения задачи. Разработка технико-экономического обоснования. |
|
3. Технический проект |
Разработка технического проекта |
Уточнение структуры входных и выходных данных. Разработка алгоритма решения задачи. Определение формы представления входных и выходных данных. Определение семантики и синтаксиса языка. Разработка структуры программы. Окончательное определение конфигурации технических средств. |
|
4. Рабочий проект |
Разработка программы |
Программирование и отладка программы. |
|
Разработка программной документации |
Разработка программных документов в соответствии с требованиями ГОСТ 19.101-77.: ГОСТ 19.402-78, ГОСТ 19.503-79, ГОСТ 19.504-79, ГОСТ 19.505-79, ГОСТ 19.506-79. |
||
Испытания программы |
Разработка, порядка и методики испытаний. Проведение предварительных испытаний. |
Техническое задание написано в соответствии с ГОСТ 19.201-78. ЕСПД.
2. Алгоритм программы
Программа является базой данных для хранения информации о контактных лицах, поэтому алгоритм программы целесообразно представить в виде датологической структуры.
3. Выбор языка программирования
Язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
В настоящее время существует очень много различных языков программирования, таких как Borland Pascal, Borland Delphi,C,C++, Perl, Java.
Данная программа написана на языке Delphi.
Преимущества Delphi:
- быстрота разработки приложения (В первую очередь это относится к созданию интерфейса)
- удобная IDE
- высокая производительность разработанного приложения;
- низкие требования разработанного приложения к ресурсам компьютера;
- наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi;
- возможность разработки новых компонентов и инструментов собственными средствами Delphi;
- доступно огромное количество визуальных компонентов третьих фирм, часть из которых freeware, часть shareware, часть - коммерческих.
- мощные средства отладки (вплоть до пошагового выполнения команд процессора)
- средства коллективной работы над проектом
- встроенные компоненты доступа к данным: BDE, ODBC или ADO
- поддержка многозвенной технологии (multi-tiered) доступа к данным
- язык поддерживает все требования, предъявляемые к объектно-ориентированному языку программирования.
- язык поддерживает обработки исключительных ситуаций, а также перегрузку методов и подпрограмм (overload) в стиле C++.
- возможность создавать свои собственные компоненты, импортировать ОСХ-компоненты, создавать шаблоны проектов и «мастеров», создающих заготовки проектов.
Среда Borland Delphi 7.0 один из самых популярных и мощных программных продуктов для разработки приложений под операционную систему Windows. Многочисленные возможности и широкий спектр реализации любой идеи делают среду Borland Delphi 7.0 очень полезной и удобной для разработки приложений любой сложности и по любым направлениям.
3.1 Описание языка (ГОСТ 19.506-79. ЕСПД)
3.1.1 Общие сведения
Delphi представляет собой актуальную и легкую в использовании программу, которая необходима для генерации автономных программ графического интерфейса или 32-битовых консольных приложений - программ, которые существуют вне рамок GUI, вместо этого, в соответствии с так называемым «DOS box». Delphi является первым языком программирования, который обеспечивает уничтожение барьера между приложениями комплексного и упрощенного характера в использовании и низкоуровневыми битовыми программными средствами. Создавая GUI-приложения с помощью Delphi, транслируемый язык программирования существует в рамках RAD-среды (язык Паскаль). Delphi включает в себя такие компоненты, как основные элементы графического интерфейса пользователя системы Windows, которые представлены в виде экранного бланка, кнопок и др. Это означает, что пользователю не нужно организовывать написание кодировки в случае присоединения этих элементов к определенному приложению. Пользователь просто разрабатывает их в программе рисования. Возможно также использование управляющих элементов ActiveX с целью создания таких специальных программ, как веб-браузеры. Delphi позволяет пользователю разрабатывать весь интерфейс визуально, а также быстро составлять код события с помощью простой компьютерной мышки.
Delphi существует во множестве конфигураций, которые используются как в ведомственных, так и в производственных учреждениях. С помощью Delphi пользователь может написать программу в рамках Windows на много быстрее и проще, чем это когда-либо было возможно. Delphi имеет возможность использования множества баз данных. Примерами могут быть локальные базы данных - Paradox, Dbase, сетевые серверные базы данных SQL - InterBase, SysBase.
3.1.2 Элементы языка
Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина" true.
If <условие> then begin <оператор 1> end
Else begin <оператор 2> end
Здесь при истинности условия выполняются оператор 1 при ложности - оператор 2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов.
Одной из форм оператора выбора в языке Pascal является оператор сase.
сase <выражение> of…begin … End
Выражение - принимает значение любое математическое логическое выражение или переменная, которая принимает значение true или false.
Циклический оператор For - оператор цикла, позволяющий организовать многократное повторение одной и той же последовательности действий.
Общий вид:
for <счётчик> := <выражение-1> to <выражение-2>do <действие>;
Счётчик - это переменная, которая должна быть объявлена перед логическим блоком, в котором оператор цикла расположен, и её тип должен относиться к одному из перечислимых типов, обычно Integer.
Выражение-1 и выражение-2 могут быть как константой или идентификатором, так и вызовом функции.
Действие - один или несколько операторов Delphi. Если это группа операторов, то они должны быть заключены в логические скобки begin/end.
В начале работы оператора переменная-счётчик получает значение выражения-1. Если при этом значение счётчика окажется меньше или равно значению выражения-2, то выполняются операторы, входящие в действие. Это и есть один цикл. Затем переменная-счётчик принимает значение, следующее за текущим, и начинается новый цикл, то есть сравнение счётчика и выражения-2, выполнение действия, и так далее, до тех пор, пока значение переменной-счётчика не превысит значение выражения-2.
Функция MessageDlg используется для отображения сообщений пользователю. Эти сообщения могут быть информационными, предупреждающими или что бы то ни было. Даётся полный свободный выбор кнопок, которые пользователь может нажать, чтобы подтвердить диалог.
MessageDlg(<текст сообщения>,<вид сообщения>,<кнопки на панели окна>,0)
Оператор with используется для сокращения записи при обращении к полям записи или к свойствам и методам объекта. В этих случаях применение with позволяет избежать повторных ссылок на объект в последующих операторах.
with<идентификатор объекта> do begin
try<операторы, способные создать исключительную ситуацию>; finally<защищенные операторы, выполняемые в любом случае>; end;
3.1.3 Способы структурирования программы
Проект представляет собой совокупность следующих файлов:
· Главный файл проекта - файл с расширением.dpr, представляет собой основной модуль программы.
· Файл главной формы (описания формы) - файл с расширение.dfm, используется для сохранения информации о внешнем виде главной формы.
· Файл ресурсов - файл с расширением.res, содержит иконку для проекта, создается автоматически и имеет то же имя, что и главный файл проекта.
· Файл параметров среды (Delphi options file) - файл с расширением.dof, текстовый файл, в котором хранятся текущие установки параметров проекта, таких как параметры компиляции, рабочие директории, условные директивы, параметры командной строки. Имя файла совпадает с именем главного файла проекта.
· Файл с расширением.ddp - определяет вспомогательные модули.
· Файл с расширением.dcu - представляет откомпилированный модуль проекта.
· Файл с расширением.pas - представляет собой программный модуль содержащий все относящиеся к форме объявления и методы обработки событий.
Структура программы:
Unit - заголовок программы
Interface - ключевое слово, которое используется для определения внешнего интерфейса модуля. Здешние объявления внешне видимы другими модулями. Все эти объявления должны быть осуществлены в разделе Implementation.
Uses - список имен подключаемых стандартных и пользовательских библиотечных модулей.
Type - раздел описания полей и методов класса.
Директива Private начинает раздел данных (полей) и подпрограмм (методы) класса, которые являются частными (внутренними) для этого класса.
Public - директива, которая начинает раздел объявлений определения класса.
Var - раздел описания переменных.
Implementation // Осуществляет Интерфейс этого модуля
{$R *.dfm} // Включить определения формы
Блок активированных процедур
procedure TForm1.N8Click(Sender: TObject);
begin
end;
end.
3.1.4 Средства обмена данными
Ввод данных осуществляется через компонент Edit, данные о контактных лицах сохраняются по выбору пользователя, создается файл с расширением ***. db навигатор
3.1.5 Встроенные элементы
Свойства |
События |
|||
Элемент Form1 имя TForm1 |
||||
Наименование |
Занесение изменений в БД |
|||
Элемент TDBEdit имя DBEdit1, DBEdit2, DBEdit3, DBEdit4, DBEdit5, DBEdit16 |
||||
Наименование |
Действие при вводе |
|||
Элемент TDBGrid: имя DBGrid1, DBGrid2 |
||||
Место расположения на форме |
Действие при нажатии |
|||
Элемент TDBMemo: имя DBMemo1 |
||||
Наименование |
Действие при выводе |
|||
Свойства |
События |
|||
Элемент TDBNavigator имя DBNavigator1 |
||||
Место расположения на форме |
Действие при нажатии |
|||
Элемент TGroupBox: имя GroupBox1 |
||||
объединение элементов формы в группы |
||||
Свойства |
События |
|||
Элемент TLabel: имя Label1, Label2 Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10 |
||||
Наименование |
||||
Элемент TMainMenu: имя MainMenu1 |
||||
главное меню формы |
||||
Свойства |
События |
|||
Элемент TMenuItem имя N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11 |
||||
Место расположения на форме |
Действие при нажатии |
|||
Элемент TOpenPictureDialog имя OpenPictureDialog1 |
||||
Свойства |
События |
|||
Элемент TPageControl имя PageControl1 |
||||
объедение на форме несколько вкладок-страниц |
||||
Элемент TQuery имя Query2 |
||||
Свойства |
События |
|||
Элемент TMainMenu имя MainMenu |
||||
Вызов базы данных |
||||
Элемент TTabSheet имя TabSheet1 |
||||
Местоположение на форме |
||||
Свойства |
События |
|||
Элемент TToolBar имя ToolBar1 |
||||
специальный контейнер для создания инструментальн. панелей |
||||
Элемент TToolButton имя ToolButton1, ToolButton2, ToolButton3, ToolButton4, ToolButton6 |
||||
Место расположения на форме |
Действие при нажатии |
|||
Свойства |
События |
|||
Элемент: TXPManifest |
||||
Положение на форме |
||||
Элемент TForm имя Form2 |
||||
Свойства |
События |
|||
Элемент TBitBtn имя BitBtn2 |
||||
Элемент TRadioButton имя RadioButton1, RadioButton2, RadioButton3, RadioButton4, RadioButton5, RadioButton6, RadioButton7, RadioButton8 |
||||
3.1.6 Средства отладки программы
Средство отладки программы - компилятор.
Синтаксические ошибки обнаруживаются компилятором автоматически и сообщения о найденных ошибках можно посмотреть в нижней части редактора.
Практически в каждой вновь написанной программе после запуска обнаруживаются ошибки. Ошибки первого уровня (ошибки компиляции) связаны с неправильной записью операторов (орфографические, синтаксические). При обнаружении ошибки компилятор DELPHI останавливается напротив первого оператора, в котором обнаружена ошибка. В нижней части экрана появляется текстовое окно, содержащее сведения обо всех ошибках найденных в проекте. Каждая строка этого окна содержит имя файла, в котором найдена ошибка, номер строки с ошибкой и характер ошибки. Для быстрого перехода к интересующей ошибке необходимо дважды щелкнуть на строке с ее описанием. Для получения более полной информации о характере ошибки необходимо обратится к HELP нажатием клавиши F1. Следует обратить внимание на то, что одна ошибка может повлечь за собой другие, которые исчезнут при ее исправлении. Поэтому следует исправлять ошибки последовательно, сверху вниз и, после исправления каждой ошибки компилировать программу снова. Ошибки второго уровня (ошибки выполнения) связаны с ошибками выбранного алгоритма решения или с неправильной программной реализацией алгоритма. Эти ошибки проявляются в том, что результат расчета оказывается неверным либо происходит переполнение, деление на ноль и др. Поэтому перед использованием отлаженной программы ее надо протестировать, т.е. сделать просчеты при таких комбинациях исходных данных, для которых заранее известен результат. Если тестовые расчеты указывают на ошибку, то для ее поиска следует использовать встроенные средства отладки среды DELPHI.
В Delphi 7 имеется еще одно средство отладки - Инспектор Отладки (Debug Inspector). Он позволяет получать исчерпывающую информацию о любой переменной в приложении и дает возможность изменять ее значение.
Вызов этого окна осуществляется командой Run | Inspect, которая доступна только во время выполнения приложения при останове программы средствами отладки или вследствие генерации исключения.
При выполнении этой команды на экране появится окно, показанное на рисунке 1, где можно задать имя контролируемого объекта. Таким контролируемым объектом может быть переменная, массив, класс, функция, указатель.
Рисунок 1. Окно добавления контролируемого объекта.
Среда Delphi включает встроенный отладчик приложений, в значительной степени облегчающий поиск и устранение ошибок в приложениях. Средства отладчика доступны через команды пункта меню Run (Выполнение) и подменю View | Debug Windows (Просмотр окна отладки) и позволяют выполнять такие действия, как:
* выполнение до указанного оператора (строки кода);
* пошаговое выполнение приложения;
* выполнение до точки останова (Breakpoint);
* включение и выключение точек останова;
* просмотр значений объектов, например переменных, в окне просмотра;
* установка значений объектов при выполнении приложения.
Установка параметров отладчика выполняется в диалоговом окне Debugger Options (Параметры отладчика) вызываемом одноименной командой пункта меню Tools (Средства). Включением/выключением отладчика управляет переключатель Integrated debugging (Интегрированная отладка), который по умолчанию включен, и отладчик автоматически подключается к каждому приложению. В ряде случаев, например, при отладке обработчиков исключительных ситуаций и проверке собственных средств обработки ошибок, этот переключатель отключают.
В Delphi имеется возможность просматривать протокол сообщений о событиях, происходящих в процессе выполнения приложения в режиме отладки. Протокол этих сообщений Вы можете просмотреть, выполнив команду Event Log пункта меню View. Щелкнув в появившемся окне правой кнопкой мыши, можно сохранить этот протокол в файле, прокомментировать его, очистить.
Какие именно сообщения отображаются в этом окне, определяется настройкой отладчика. Можно влиять на содержимое этого окна с помощью функции OutputDebugString.
3.2 Описание программы (ГОСТ 19.402-78. ЕСПД)
3.2.1 Общие сведения
Программы "Учет библиотечных книг" предназначена для внесения, изменения, сохранения, удаления и сортировки информации о состоянии книг находищихся у студентов учебных заведений:.
Программа совместима со всеми ОС Windows.
Программа написана в среде программирования Delphi, на языке Object Pascal.
3.2.2 Функциональное назначение
Программы "Учет библиотечных книг" предназначена для внесения, изменения, сохранения, удаления и сортировки информации о наличии книг у студентов учебных заведений и данных о студентах: ФИО, телефон, домашний адрес, рабочий адрес, город, дата рождения, группа, дополнительной информации, название книги, автора книги, ответственного лица выдавшего книгу, о дате возвращения книги время получения книги студентом
3.2.3 Описание логической структуры
4. Отладка и тестирование
4.1 Отладка
Отладка-это процесс локализации и исправления ошибок, обнаруженных при тестировании программного обеспечения. Локализацией называют процесс определения оператора программы, выполнение которого вызвало нарушение нормального вычислительного процесса. До исправления ошибки необходимо определить ее причину, т. е. определить оператор или фрагмент, содержащие ошибку. Причины ошибок могут быть как очевидны, так и очень глубоко скрыты.
Различают две группы методов отладки:
· аналитические;
· экспериментальные.
Аналитические методы базируются на анализе выходных данных для тестовых прогонов. Экспериментальные методы базируются на использовании вспомогательных средств отладки (отладочные печати, трассировки), позволяющих уточнить характер поведения программы при тех или иных исходных данных.
Общая стратегия отладки - обратное прохождение от замеченного симптома ошибки к исходной аномалии (месту в программе, где ошибка совершена).
Цель отладки - найти оператор программы, при исполнении которого правильные аргументы приводят к неправильным результатам. Если место проявления симптома ошибки не является искомой аномалией, то один из аргументов оператора должен быть неверным. Поэтому надо перейти к исследованию предыдущего оператора, выработавшего этот неверный аргумент. В итоге пошаговое обратное прослеживание приводит к искомому ошибочному месту.
Основное преимущество аналитических методов отладки состоит в том, что исходная программа остается без изменений.
Преимущество экспериментальных методов отладки состоит в том, что основная рутинная работа по анализу процесса вычислений перекладывается на компьютер. Многие трансляторы имеют встроенные средства отладки для получения информации о ходе выполнения программы.
Недостаток экспериментальных методов отладки - в программу вносятся изменения, при исключении которых могут появиться ошибки. Впрочем, некоторые системы программирования создают специальный отладочный экземпляр программы, а в основной экземпляр не вмешиваются.
Для исправления ошибок необходимо определить их причину, т.е. определить оператор или фрагмент, содержащий ошибку.
Существует три вида ошибок:
Синтаксические - ошибки, фиксируемые компилятором при выполнении синтаксического и частично семантического анализа программы. Синтаксические ошибки относят к группе самых простых, так как синтаксис языка, как правило, строго формализован, и ошибки сопровождаются развернутым комментарием с указанием ее местоположения.
Ошибки компоновки - ошибки, обнаруженные компоновщиком (редактором связей) при объединении модулей программы. Ошибки компоновки связаны с проблемами, обнаруженными при разрешении внешних ссылок. В большинстве случаев такие ошибки также удается быстро локализовать и устранить;
Ошибки выполнения - ошибки, обнаруженные операционной системой, аппаратными средствами или пользователем при выполнении программы. Выделяют несколько способов проявления таких ошибок: появление сообщений об ошибках, зафиксированных схемами
контроля выполнения машинных команд или операционной системой, "зависание" компьютера, несовпадение полученных результатов с ожидаемыми. Причины ошибок выполнения очень разнообразны, поэтому их локализация может оказаться крайне сложной.
Рисунок 2. Классификация ошибок выполнения.
4.2 Отладка кода программы
В ходе отладки программы обнаружены следующие синтаксические ошибки:
1) 5 ошибок на неправильное окончание оператора - не поставлена ";".
Ошибки исправлены. В конце оператора edName.Text:=… поставлена ";".
2) 1 раз неверно поставлен знак присваивания "=".
Ошибка исправлена, поставлен знак присваивания ":=".
В ходе отладки программы обнаружены следующие ошибки выполнения:
1) Неверно указан тип переменной i:real - i - переменная цикла со счётчиком
Ошибка исправлена на i:integer.
В ходе отладки программы обнаружены следующие ошибки компоновки:
1) 1 раз не объявлена процедура.
Ошибка исправлена, процедура заявлена: procedure TForm1.DBEdit8KeyPress;
2) Не подключен дополнительный модуль About.
Ошибка исправлена: прописан дополнительный модуль About в разделе Uses.
3)Неправильное обращение к типу файловых данных.
Ошибка исправлена: файл должен иметь расширение ***.adr.
4.3 Выбор метода тестирования
автоматизация библиотечный каталог издание
Тестирование - это процесс выполнения программы, целью которого является выявление ошибок.
Тестирование обеспечивает: обнаружение ошибок, демонстрацию соответствия функций программы ее назначению, демонстрацию реализации требований к характеристикам программы, отображение надежности как индикатора качества программы. Существуют два метода тестирования: тестирование белого ящика и тестирование чёрного ящика
Тестирование методом "Чёрного ящика"
Тестирование методом "Чёрный ящик" - это тестирование интерфейса программы, в соответствии с техническим заданием.
Известно: функции программ
Исследуется: работа каждой функции на своей области определения.
Рисунок 3. Тестирование "черного ящика".
При тестировании "Чёрным ящиком" рассматриваются системные характеристики программ, и уделяется внимание внешнему поведению программного продукта, но игнорируется их внутренняя логическая структура и он не позволяет провести 100% тестирование.
При тестировании "Чёрным ящиком" используются следующие виды тестов: анализ граничных условий, проводится случайное тестирование, проводится регрессивное тестирование, тестирование следования данных, резервное копирование и восстановление работы приложения, тестирование конфигураций, тестирование производительности, функциональное тестирование, тестирование готовности к работе, эквивалентное тестирование, приёмственно-сдаточное тестирование, тестирование в контрольных точках, тестирование удобства использования.
В результате использования вышеперечисленных тестов должны обнаружатся или быть предупреждены следующие ошибки: как выполняются функции программы; как принимаются исходные данные; как вырабатываются и выдаются результаты; как сохраняется целостность внешней информации.
Для тестирования программы целесообразно на начальном этапе использовать метод функционального тестирования "Чёрный ящик". К тестированию методом чёрного ящика относятся:
1. Тестирование эквивалентности. Разбиение по эквивалентности - самый популярный способ тестирования "черного ящика". В этом способе входная область данных программы делится на классы эквивалентности. Для каждого класса эквивалентности разрабатывается один тестовый вариант. Класс эквивалентности - набор данных с общими свойствами. Обрабатывая разные элементы класса, программа должна вести себя одинаково.
2. Способ анализа граничных значений. Как правило, большая часть ошибок происходит на границах области ввода, а не в центре. Анализ граничных значений заключается в получении тестовых вариантов, которые анализируют граничные значения. Данный способ тестирования дополняет способ разбиения по эквивалентности.
3. Способ диаграмм причин-следствий. Диаграммы причинно-следственных связей - способ проектирования тестовых вариантов, который обеспечивает формальную запись логических условий и соответствующих действий. Используется автоматный подход к решению задачи.
Тестирование методом "Белого ящика"
Исполнители тестирования методом "Белого ящика": разработчики.
Известно: внутренняя структура программы.
Исследуется: внутренние элементы программы и связи между ними.
Рисунок 4. Тестирование "белого ящика".
При использовании этого теста должны формироваться следующие тесты: тест на проверку всех незавершенных маршрутов программы, тест на проверку всех логических решений, тест на выполнение всех циклов в заданных процессах, не нарушая граничных условий, тест на правильность внутренней структуры данных.
В результате использования вышеперечисленных тестов должны обнаружатся или быть предупреждены следующие ошибки: преждевременно предотвратить некоторые ошибки; правильно определить управляющие потоки; правильно определить потоки данных; правильно определить внутреннее состояние программы. К тестированию методом чёрного ящика относятся:
1. Тестирование базового пути. Это способ, который основан на принципе "белого ящика". Способ тестирования базового пути дает возможность получить оценку комплексной сложности программы и использовать эту оценку для определения необходимого количества тестовых вариантов. Тестовые варианты разрабатываются для проверки базового множества путей (маршрутов) в программе. Они гарантируют однократное выполнение каждого оператора программы при тестировании.
2. Тестирование условий. Цель этого семейства способов тестирования - строить тестовые варианты для проверки логических условий программы. При этом желательно обеспечить охват операторов из всех ветвей программы. Выявляет следующие типы ошибок: ошибка булева оператора, ошибка булевой переменной, ошибка булевой скобки, ошибка оператора отношения, ошибка арифметического выражения. Существует несколько методик тестирования условий. Простейшая методика - тестирование ветвей. Другая методика - тестирование области определения.
Способ тестирования ветвей и операторов отношений обнаруживает ошибки ветвления и операторов отношения в условии, для которого выполняются следующие ограничения: все булевы переменные и операторы отношения входят в условие только по одному разу; в условии нет общих переменных.
3. Тестирование потоков данных. В предыдущих способах тесты строились на основе анализа управляющей структуры программы. В данном способе анализу подвергается информационная структура программы. Область использования тестирования: программы с вложенными условными операторами и операторами цикла.
4. Тестирование циклов. Цикл - наиболее распространенная конструкция алгоритмов, реализуемых в ПО. Тестирование циклов производится по принципу "белого ящика", при проверке циклов основное внимание обращается на правильность конструкций циклов.
Различают 4 типа циклов: простые, вложенные, объединенные, неструктурированные.
Для проверки простых циклов с количеством повторений n может использоваться один из следующих наборов тестов: прогон всего цикла; только один проход цикла; два прохода цикла; m проходов цикла, где m<n; n - 1, n, n + 1 проходов цикла.
Методика тестирования программ.
Вначале осуществляется тестирование элементов (модулей), проверяющее результаты этапа кодирования ПС. На втором шаге выполняется тестирование интеграции, ориентированное на выявление ошибок этапа проектирования ПС. На третьем обороте спирали производится тестирование правильности, проверяющее корректность этапа анализа требований к ПС. На заключительном витке спирали проводится системное тестирование, выявляющее дефекты этапа системного анализа ПС.
Рисунок 5. Спираль процесса тестирования ПС.
Тестирование элементов
Объектом тестирования элементов является наименьшая единица проектирования ПС - модуль. Для обнаружения ошибок в рамках модуля тестируются его важнейшие управляющие пути. Относительная сложность тестов и ошибок определяется как результат ограничений области тестирования элементов. Принцип тестирования - "белый ящик", шаг может выполняться для набора модулей параллельно.
Тестированию подвергаются: интерфейс модуля, внутренние структуры данных, независимые пути, пути обработки ошибок, граничные условия.
Тестирование интеграции
Тестирование интеграции поддерживает сборку цельной программной системы.
Цель сборки и тестирования интеграции: взять модули, протестированные как элементы, и построить программную структуру, требуемую проектом.
Тесты проводятся для обнаружения ошибок интерфейса.
Существует два варианта тестирования, поддерживающих процесс интеграции: нисходящее тестирование и восходящее тестирование.
Тестирование правильности
Цель - подтвердить, что функции, описанные в спецификации требований к ПС, соответствуют ожиданиям заказчика.
Подтверждение правильности ПС выполняется с помощью тестов "черного ящика", демонстрирующих соответствие требованиям. При обнаружении отклонений от спецификации требований создается список недостатков.
Системное тестирование
Системное тестирование предназначено для проверки работы программной системы в целом, ее организации и функционирования на соответствие спецификациям требований заказчика. Его проводит независимый тестировщик после успешного завершения интеграционного тестирования.
4.4 Тестирование программы
№ п/п |
Вид тестирования |
Входные данные |
Ожидаемый результат |
Результат |
|
1 |
Ввод в поле Фамилия. |
Ввод числовых символов (исключение знак "-") |
Открытие диалогового окна сообщения- предупреждения |
+ |
|
Ввод буквенных символов(плюс знак "-") |
Открытие диалогового окна сообщения- предупреждения |
- |
|||
2 |
Ввод в поле Имя |
Ввод числовых символов (исключение знак "-") |
Открытие диалогового окна сообщения- предупреждения |
+ |
|
Ввод буквенных символов(плюс знак "-") |
Открытие диалогового окна сообщения- предупреждения |
- |
|||
3 |
Ввод в поле Отчество |
Ввод числовых символов (исключение знак "-") |
Открытие диалогового окна сообщения- предупреждения |
+ |
|
Ввод буквенных символов(плюс знак "-") |
Открытие диалогового окна сообщения- предупреждения |
- |
|||
4 |
Ввод в поле Автор книги |
Ввод числовых символов (исключение знак "-") |
Открытие диалогового окна сообщения- предупреждения |
+ |
|
Ввод буквенных символов(плюс знак "-") |
Открытие диалогового окна сообщения- предупреждения |
- |
|||
5 |
Ввод в поля телефон. |
Ввод числовых символов (исключение знак "-") |
Открытие диалогового окна сообщения- предупреждения |
- |
|
Ввод буквенных символов(плюс знак "-") |
Открытие диалогового окна сообщения- предупреждения |
+ |
|||
6 |
Поиск записи |
Выбор диапазона поиска, ввод данных |
Поиск и выборка данных |
+ |
|
7 |
При нажатии Добавить: добавление записи в список контактов. |
Нажатие кнопки Добавить на панели. |
Добавление записи в список |
+ |
|
8 |
При нажатии Del |
Нажатие Del |
Удаление записи из списка. |
+ |
|
9 |
При нажатии alt+F4/ файл> закрыть/ кнопки на панели: закрытие программы |
Нажатие alt+F4 / файл>закрыть/ кнопки на панели. |
Закрытие программы без сохранения внесенных изменений. |
+ |
5. Расчет и анализ технико-экономических показателей
Размерно-ориентированные метрики прямо измеряют программный продукт и процесс его разработки. Основываются размерно-ориентированные метрики на LOC-оценках (Lines Of Code). LOC-оценка - это количество строк в программном продукте.
Достоинства размерно-ориентированных метрик:
1) широко распространены;
2) просты и легко вычисляются.
Недостатки размерно-ориентированных метрик:
1) зависимы от языка программирования;
2) требуют исходных данных, которые трудно получить на начальной стадии проекта;
3) не приспособлены к непроцедурным языкам программирования.
Количество операторов в программе 309, следовательно, LOG = 391, тыс. LOG = 0,391.
Поэтому можем подсчитать качество, документированность и производительность используя прямые метрики (LOG метрики).
Количество ошибок при отладке и начальном тестировании составляет 19 ошибок.
Количество страниц выполненной документации в соответствии с ГОСТ (ГОСТ 19.506-79. ЕСПД, ГОСТ 19.402-78. ЕСПД, ГОСТ 19.504-79. ЕСПД, ГОСТ 19.505-79. ЕСПД, ГОСТ 19.201-78. ЕСПД) составляет 18 страниц.
При работе над курсовым проектом с 16 января по 7 апреля количество рабочих дней составило 50, каждый день на разработку курсового проекта было затрачено около 2 часов. Таким образом, количество затраченного времени составило 0,75 чел.мес.
Количество ошибок 19, из них: синтаксических - 12, ошибок компоновки - 5, ошибок выполнения - 1, а так же 1 ошибка выполнения компонента SaveDialog при закрытии окна сохранения после нажатия "Отмена". Качество программы удовлетворительное (48,6 %). Для увеличения качества необходимо, чтобы компонент SaveDialog закрывался корректно.
Для увеличения документированности необходимо дополнить программу следующей сопроводительной документацией: Формуляр (ГОСТ 19.501-78. ЕСПД.), Описание применения (ГОСТ 19.502-78. ЕСПД.), Ведомость эксплуатационных документов (ГОСТ 19.507-78. ЕСПД.), Руководство по техническому обслуживанию (ГОСТ 19.508-78. ЕСПД.).
Заключение
В ходе разработки курсового проекта была произведена следующая работа:
1. Разработано Техническое задание в соответствии с ГОСТ 19.201-78. ЕСПД (см. стр. 4).
2. Составлена структура программы (см. стр. 7).
3. Был выбран язык программирования, разработана программа "Записная книжка" в среде программирования Borland Delphi на языке программирования Object Pascal.
4. Произведена отладка программы и исправлены ошибки.
5. Произведено начальное тестирование программы и выявлены недочеты.
6. Рассчитаны технико-экономические показатели: производительность составила 52% - показатель удовлетворительный, качество составило 48,6 %- показатель удовлетворительный, документированность составила 46 %- показатель удовлетворительный; сделаны выводы по полученным данным (см. стр. 35).
7. Составлена сопроводительная документация в соответствии с ГОСТ: Руководство программиста ГОСТ 19.504-79 (см. стр. 46), Руководство оператора ГОСТ 19.505-79 (см. стр. 48).
Список используемых источников
1. Технологии разработки программного обеспечения: Учебник/ С. Орлов. - СПб.: Питер, 2002. - 464 с.: ил.
2. Иванова Г.С. Технология программирования: Учебник для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. -320 с.: ил. (Сер. Информатика в техническом университете.)
3. Голицина О.Л., Попов И.И. Основы алгоритмизации и программирования: Учеб. Пособие - М.: ФОРУМ: ИНФРА-М. 2004 - 432 с. - (серия "Профессиональное образование").
4. http://www.cyberforum.ru- форум програмистов
5. http://www.delphisources.ru- всё о Delphi
Приложение 1. Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ExtCtrls, DBCtrls, XPMan, Menus, Grids,
DBGrids, DB, StdCtrls, Mask, ToolWin,Unit2, ExtDlgs,Unit3,Jpeg, DBTables;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
XPManifest1: TXPManifest;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
ToolBar1: TToolBar;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ImageList1: TImageList;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit6: TDBEdit;
Label6: TLabel;
Label7: TLabel;
DBEdit8: TDBEdit;
DBEdit13: TDBEdit;
Label13: TLabel;
GroupBox1: TGroupBox;
DBEdit7: TDBEdit;
Label16: TLabel;
DBEdit14: TDBEdit;
TabSheet3: TTabSheet;
Label9: TLabel;
Label10: TLabel;
DBEdit10: TDBEdit;
DBEdit9: TDBEdit;
Label11: TLabel;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
Label14: TLabel;
DBGrid2: TDBGrid;
Label12: TLabel;
Label15: TLabel;
OpenPictureDialog1: TOpenPictureDialog;
DBEdit5: TDBEdit;
DBMemo1: TDBMemo;
N10: TMenuItem;
N11: TMenuItem;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
DBEdit2: TDBEdit;
Label8: TLabel;
Query2: TQuery;
Table2: TTable;
Label19: TLabel;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
procedure N8Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit8KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit10KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
save, fileSave: boolean;
fileName: String;
stDay : array[1..7] of string[11] = ('воскресенье','понедельник','вторник',
'среда','четверг','пятница','суббота');
stMonth : array[1..12] of string[8] = ('января','февраля','марта',
'апреля','мая','июня','июля',
'августа','сентября','октября',
'ноября','декабря');
implementation
{$R *.dfm}
procedure TForm1.N8Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
Form3.ShowModal;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Close();
end;
procedure TForm1.N10Click(Sender: TObject);
begin
Label5.Caption:='Yo`nalish :';
Label7.Caption:='Kurs :';
Label8.Caption:='Nomer :';
Label1.Caption:='Ismi :';
Label2.Caption:='Familya :';
Label3.Caption:='Otchestva :';
Label4.Caption:='Tugilgan yili :' ;
Label13.Caption:='Adres :';
Label16.Caption:='Telefon :';
Label9.Caption:='Kitob nomi :';
Label10.Caption:='Kitob mualifi :';
Label12.Caption:='Kitob kodi :';
Label11.Caption:='Masul xodim :';
Label14.Caption:='Talabaning kitob olgan vaqti :';
Label15.caption:='Talabaning to`pshirgan vaqti :';
TabSheet1.Caption:='Asosiy malumotlar';
TabSheet3.Caption:='Kitoblar';
GroupBox1.Caption:='Qo`shimcha malumot';
N1.Caption:='Fayl';
n6.Caption:='Chiqish';
n8.Caption:='Qidirish';
n10.Caption:='Lotincha tilda';
n11.Caption:='Rus tilda';
Form2.RadioButton6.Caption:='Yo`nalish';
Form2.RadioButton4.Caption:='kurs';
Form2.RadioButton8.Caption:='Guruh';
Form2.RadioButton1.Caption:='Ism';
Form2.RadioButton2.Caption:='Familya';
Form2.RadioButton5.Caption:='Adres';
Form2.RadioButton7.Caption:='Kitob';
n7.Caption:='Tuzatish';
end;
procedure TForm1.N11Click(Sender: TObject);
begin
Label5.Caption:='Направления:';
Label7.Caption:='Курс:';
Label8.Caption:='Номер:';
Label1.Caption:='Имя:';
Label2.Caption:='Фамилия:';
Label3.Caption:='Отчество:';
Label4.Caption:='Дата рождения:' ;
Label13.Caption:='Адрес:';
Label13.Caption:='Телефон:';
Label9.Caption:='Имя книги:';
Label10.Caption:='Автор книги:';
Label12.Caption:='Код книги:';
Label11.Caption:='Ответсини литсо:';
Label14.Caption:='Время получение книги студента:';
Label15.caption:='Дата возврата книга студента:';
GroupBox1.Caption:='Дополнительная информация';
N1.Caption:='Файл';
n6.Caption:='Выход';
n8.Caption:='Поиск';
n10.Caption:='Язык латин';
n11.Caption:='Язык Рус';
TabSheet1.Caption:='Оснавная информация';
TabSheet3.Caption:=' Книги ';
N7.Caption:='Правка';
Form2.RadioButton6.Caption:='Направления ';
Form2.RadioButton4.Caption:='Курс ';
Form2.RadioButton8.Caption:='Группы';
Form2.RadioButton1.Caption:='Имя';
Form2.RadioButton2.Caption:='Фамилия';
Form2.RadioButton5.Caption:='Адрес';
Form2.RadioButton7.Caption:='Книга';
end;
procedure TForm1.FormActivate(Sender: TObject);
var
Present: TDateTime;
Year, Month, Day : Word;
begin
with Session do
begin
ConfigMode := cmSession;
try
AddStandardAlias('kollej',
ExtractFilePath(ParamStr(0))+'DATA\',
'PARADOX');
Table2.Active:=True;
finally
ConfigMode := cmAll;
end;
end;
end;
procedure TForm1.ToolButton8Click(Sender: TObject);
begin
DataSource1.DataSet:=Table2;
end;
procedure TForm1.DBEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['A'..'z','А'..'я','Ё','ё', #8,'-'])
then
begin
key:=#0;
MessageDlg('В данном строке разрешен ввод только букв и разделительного знака "-"',mtWarning,[mbOk],0);
end;
end;
procedure TForm1.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['A'..'z','А'..'я','Ё','ё', #8,'-'])
then
begin
key:=#0;
MessageDlg('В данном строке разрешен ввод только букв и разделительного знака "-"',mtWarning,[mbOk],0);
end;
end;
procedure TForm1.DBEdit8KeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['A'..'z','А'..'я','Ё','ё', #8,'-'])
then
begin
key:=#0;
MessageDlg('В данном строке разрешен ввод только букв и разделительного знака "-"',mtWarning,[mbOk],0);
end;
end;
procedure TForm1.DBEdit7KeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['0'..'9', #8,'-'])
then
begin
key:=#0;
MessageDlg('В данном строке разрешен ввод только цифр и разделительного знака "-"',mtWarning,[mbOk],0);
end;
end;
procedure TForm1.DBEdit10KeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['A'..'z','А'..'я','Ё','ё', #8,'-'])
then
begin
key:=#0;
MessageDlg('В данном строке разрешен ввод только букв и разделительного знака "-"',mtWarning,[mbOk],0);
end;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Buttons, ComCtrls, Mask, ExtCtrls, DB,
DBTables;
type
TForm2 = class(TForm)
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Panel1: TPanel;
RadioButton6: TRadioButton;
RadioButton4: TRadioButton;
RadioButton8: TRadioButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton5: TRadioButton;
RadioButton7: TRadioButton;
Edit1: TEdit;
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
fam:string[30];
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
if RadioButton6.Checked then begin
fam:=Edit1.Text;
if fam <> '' // пользователь ввел фамилию
then
begin
with form1.Query2 do begin
Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Yonalish= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open; // активизируем выполнение запроса
Подобные документы
Проблема сохранности библиотечных фондов в процессе их использования. Основные причины повреждения документов. Основы применения современных технологий в процессе обеспечения сохранности библиотечного фонда. Важность электронного документирования.
курсовая работа [39,5 K], добавлен 15.07.2013Создание программы для автоматизации некоторых основных процессов, происходящих на заводе по производству пластиковых окон. Модель процессов предметной области, концептуальное проектирование базы данных. Описание пользователей, создание приложения.
курсовая работа [35,0 K], добавлен 08.08.2011Задачи школьной библиотеки. Проблемы перехода школ на ОС Linux. Обзор рынка библиотечных информационных систем. Сравнительный анализ Microsoft Office и OpenOffice. Законодательные акты учёта библиотечного фонда. Средства, входящие в OpenOffice Base.
дипломная работа [1,8 M], добавлен 22.06.2013Функциональная схема системы "Учет библиотечного фонда". Описание поставленных задач. Выбор среды программирования и этапы разработки библиотеки автоматизированной системы. Логическая и физическая модель данных. Структура и описание программных модулей.
дипломная работа [1,7 M], добавлен 27.10.2012Создание сложных автоматизированных компьютерных издательских систем и компонентов. Автоматизация проектирования процессов выполнения заказов на примере процесса изготовления каталога. Выбор и использование программных средств для реализации проекта.
курсовая работа [4,5 M], добавлен 27.03.2012Разработка проекта автоматизации документооборота при помощи механизма бизнес-процессов и с использованием современных программных наработок в 1С:Предпирятие. Создание информационной базы "Деканат" для обработки данных процесса обучения студентов.
дипломная работа [954,8 K], добавлен 26.07.2013Создание базы данных для библиотеки, ведение учета сдачи и выдачи, формирование каталога книг. Требования заказчика к системе. План-график обследования деятельности библиотекаря. Структурные единицы входной, выходной информации. Логическая модель данных.
курсовая работа [1,7 M], добавлен 25.04.2012Разработка информационной системы для ведения каталога книг/читателей, поисковой системы, предварительных заказов на приобретение книг. Анализ затрат на разработку системы. Архитектура объектно-ориентированной системы. Диаграмма классов, модули системы.
курсовая работа [906,1 K], добавлен 24.06.2013Создание модели информационной системы с AllFusion Process Modeler 4.0 в стандарте IDEF0. Дополнение созданной модели процессов организационными диаграммами в нотации DFD. Резервирование номеров. Автоматизация рабочего места администратора гостиницы.
курсовая работа [1,8 M], добавлен 17.06.2013Разработка автоматизированного рабочего места служащего библиотечного фонда "Национальная библиотека им. В.И. Вернадского". Программные средства для разработки базы данных библиотечного фонда. Установление связей таблиц базы данных библиотечного фонда.
курсовая работа [5,3 M], добавлен 07.06.2010