Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по технологической практике.doc
Скачиваний:
0
Добавлен:
01.09.2019
Размер:
2.09 Mб
Скачать

\МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

Государственный университет информатики и искусственного интеллекта

Д050103.1.01.08/008.ОП

Кафедра программного обеспечения

интеллектуальных систем

ОТЧЕТ

По технологической практике

Тема: «Разработка модуля для базы данных расписаний экзаменационных сессий ГУИиИИ»

Выполнил:

__________ст.гр.ПО-08а Козаченко А. В.

(дата, подпись)

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

__________ Глебова И. А.

(дата, подпись)

Руководитель от университета

__________ асс. Ковтунов Р. В.

(дата, подпись)

Донецк 2011

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

Государственный университет информатики и искусственного интеллекта

Факультет: Современных компьютерных информационных технологий

Кафедра: Программного обеспечения интеллектуальных систем

Специальность: Программное обеспечение автоматизированных систем

1

ЗАДАНИЕ НА ТЕХНОЛОГИЧЕСКУЮ ПРАКТИКУ

Студенту

Козаченко Александру Викторовичу

группы

ПО-08а

(Фамилия, Имя, Отчество)

Тема практики

Разработка модуля для базы данных расписаний экзаменаци-

онных сессий ГУииИИ.

Исходные данные к работе

Шаблон графиков экзаменационных сессий, пре-

доставленных в файле формата xls.

Перечень искомых результатов

Автоматизация процесса выявления фено-

мена проведения нескольких сессий в одной аудитории, в одно время, проведе-

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

регрузки преподавателя экзаменами, и проведение нескольких сессий одним

преподавателем, в одно время.

Рекомендуемая литература

Уокенбах Д. Профессиональное программирова-

ние на VBA в Excel 2003.: 2005. – 800с.: ил. – Парал. ISBN 5-8459-0771-3(рус);

Вирт Н. Алгоритмы + структуры данных = программы: Пер. с англ. – М.: Мир,

1985 – 406 с., ил.

Дата выдачи задания

08.06.2011

Дата защиты проекта

28.06.2011

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

Ковтунов Р.В.

(подпись)

(должность, Ф. И. О)

Глебова И.А.

(подпись)

(должность, Ф. И. О)

Разработчик

Козаченко А.В.

(подпись)

(Ф. И. О.)

РЕФЕРАТ

Технологическая практика: 33 с., 6 рис., 1 табл., 3 приложения.

Основным объектом данной технологической практики является программные модули для xls-файла.

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

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

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

БАЗА ДАННЫХ, EXCEL, VBA, ПРОГРАММНЫЙ МОДУЛЬ, АВТОМАТИЗАЦИЯ

Д080403.1.01.08/008.ОП

Фамилия

Подпись

Дата

Разработка модуля для базы данных расписаний экзаменационных сессий ГУИиИИ

Литера

Лист

Листов

Разработал

Козаченко А.В.

у

3

33

Рук. проекта

Ковтунов Р.В.

ГУИИИ,

каф. ПОИС,

группа ПО-08а

Глебова И.А.

Зав. каф.

Волченко Е.В.

СОДЕРЖАНИЕ

Введение….………...……………………………………………………………..7

1 Постановка задачи……………………………………………………………...9

1.1 Цель создания……………………………………………...…………………9

1.2 Область применения………………………………………………………..11

1.3 Анализ существующих способов решения поставленной задачи….........11

2 Объектная модель EXCEL…………………………………………………....12

2.1 Иерархия объектов……………………………………………………….....12

2.2 Свойства и методы объектов…………………………………………….....13

2.3 Коллекции……………………………………………………………….......13

2.4 Работа с объектами Range…………………………………………………. 13

2.4.1 Свойство Range……………………………………………………………14

2.4.2 Свойство Cells……………………………………………………………. 14

2.4.3 Свойство Offset……………………………………………………………14

3 Элементы языка VBA…….…………………………………...………………16

3.1 История VBA…….………………………………………………………….16

3.2 Комментарии…….…………………………………..………………………16

3.3 Типы данных…………………………………………………...................... 17

3.4 Переменные……………………………………………………………….... 18

3.4.1 Правила именования переменных…….………………………………... 18

3.4.2 Объявление переменных…………………………………………..……...19

3.4.3 Область действия переменных……………………………………..…… 19

3.5 Константы………………………………………...………………………... 19

3.5.1 Объявление констант…………….…………..………………………….. 20

3.6 Массивы...…..………………………………...…………………………….. 20

3.6.1 Объявление массивов….………………...………………………………. 20

3.6.2 Объявление многомерных массивов….………………………………... 20

3.6.3 Динамический массив…………………………………………………… 21

3.6.4 Переменные объектов…………………………………………………… 21

3.6.6 Управление объектами и коллекциями………………………………… 22

3.6.6.1 Конструкция With-End With…………………………………………... 22

3.6.6.2 Конструкция For Each-Next………………………………………….... 22

3.6.7 Контроль над выполнением кода……………………………………….. 22

3.6.7.1 Операторы GoTo………………………………………………….......... 23

3.6.7.2 Конструкция If-Then…………………………………………...………. 23

Разработал

Фамилия

Подпись

Дата

Д080403.1.01.08/008.ОП

Лист

ст. гр. ПО-08а

Козаченко А.В.

4

СОДЕРЖАНИЕ

3.6.7.3 Конструкция Select Case…………………………………...………….. 23

3.6.8 Циклическая обработка инструкций………………………………...…. 24

3.6.8.1 Циклы for-next………………………………………...……………….. 24

3.6.8.2 Циклы do while и do until…………………………...…………………. 24

3.6.9 Процедуры и функции………………………...………………………… 25

3.6.9.1 Объявление процедуры………………………………...……………… 25

4 Разработка программного модуля..…………………………...……………. 26

4.1 Анализ системы и требований……………………………...…………….. 26

4.2 Проектирование программного продукта……………………………...… 27

4.2.1 Разработка алгоритмов, определение используемых типов данных, переменных и констант, для процедур………………………………………….. 27

4.2.2 Выделение компонентов программного продукта…………………….. 28

4.2.3 Разработка пользовательского интерфейса………………...................... 28

4.3 Кодирование…………………………………………...…………………….31

4.4 Сопровождение………………………………….......................................... 31

4.4.1 Оценка эффективности программного продукта и рассмотрение перспектив модификаций…………………………………………………………. 31

Выводы…………………………………………...……………………………...33

Приложение А. Руководство пользователя……………......…………………. 34

Приложение Б. Листинг модулей……………………………….......................40

Приложение В. Алгоритмы…………………………………………...………. 49

Разработал

Фамилия

Подпись

Дата

Д080403.1.01.08/008.ОП

Лист

ст. гр. ПО-08а

Козаченко А.В.

5

ПЕРЕЧЕНЬ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ

ПО — Программное обеспечение

ПП — Программный продукт

ОС — Операционная система

ЭВМ — Электронная вычислительная машина

БД — База данных

ГУИиИИ — Государственный университет информатики и искусственного интеллекта

BASIC — аббревиатура от Beginner’s All-purpose Symbolic Instruction Code – универсальный символический язык инструкций для начинающих

VB — Visual Basic

VBA — Visual Basic for Application (VB для приложений)

VBE — Visual Basic Editor (Редактор VB)

Разработал

Фамилия

Подпись

Дата

Д080403.1.01.08/008.ОП

Лист

ст. гр. ПО-08а

Козаченко А.В.

6

ВВЕДЕНИЕ

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

На сегодняшний день автоматизация происходит всюду:

- контроль работы предприятия, компании, и даже корпорации, ведение бухгалтерских отчетов;

- мониторинг сложных систем;

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

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

Из вышеприведенного следует два вывода:

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

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

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

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

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

На самом деле, существует множество полезных, настраиваемых, но сложных программных продуктов, от которых можно было бы добиться желаемой функциональности. Такие продукты, как 1C, MS DAX (Axapta) и прочие, являются новой ветвью эволюции программного обеспечения, которая берет свое начало на узкоспециализированных программных модулях. Однако, освоение подобных программных продуктов требует много затрат, зачастую не достойных, для решения одной или двух простых задач.

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

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

    1. Цель создания

Целью создания данного проекта является острая необходимость в автоматизации работы диспетчерского отдела ГУИиИИ, а в именно: необходимо написать программный модуль, который с помощью главной таблицы (рисунок 1.1) будет определять накладки (коллизии, конфликты) в расписании экзаменационных сессий (рисунок 1.2, рисунок 1.3).

Накладкой является следующие явления:

- проведения более одной сессии преподавателем в одно время;

- проведение более одной сессии для одной учебной группы (или потока), в одно время;

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

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

Рисунок 1.1 – Фрагмент таблицы «Всего по кафедрам»

На рисунках 1.2 и 1.3 представлены все существующие, на данный момент, варианты структур таблиц, для которых необходимо выполнять обработку конфликтов.

Рисунок 1.2 – Фрагмент таблицы «Расписание»

Рисунок 1.3 – Фрагмент таблицы «Пересдача»

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

    1. Область применения

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

    1. Анализ существующих способов решения поставленной задачи

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

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

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