Помощь в написании студенческих работ
Антистрессовый сервис

Обработка результатов экзаменационной сессии

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

Обработка результатов экзаменационной сессии (реферат, курсовая, диплом, контрольная)

Данная курсовая работа ставит перед собой задачу проверки знаний в изучении дисциплины «Программирования» на языке высокого уровня С++ в графическом интерфейсе. Работа представляет индивидуальное задание по разработке программы на изучаемом языке.

Заданием курсовой работы является разработка программы «Обработка результатов экзаменационной сессии». Эта программа считывает данные из исходных файлов и заносит их в таблицу MS Excel, так же создается документ MS Word содержащий сообщения об ошибках и список обработанных файлов. Проект интересен тем, что в нем реализуется работа с файлами и взаимодействие с распространенным пакетом MS Office.

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

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

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

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

В результате выполнения курсовой работы необходимо разработать многооконное приложение в Microsoft Visual C++. Данная программа предназначена для работы с текстовыми файлами и файлами MS Office и вводимыми пользователем данными. Программа должна обеспечивать пользователю простоту и понятность.

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

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

Так же приложение имеет краткие сведения о программе и HTML справку.

Проектирование структуры программы

программа алгоритм файл информация Опишем основные модули программы:

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

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

— модуль интерфейса программы — предоставляет основной пользовательский интерфейс программы;

Ниже разберем стандартные компоненты, используемые в программе.

Приложение создано в Visual C++ при помощи интерфейса программирования приложений (API) Windows Forms, которое отвечает за графический интерфейс пользователя и является частью платформы Microsoft.NET Framework. Данный интерфейс упрощает доступ к элементам интерфейса Microsoft Windows за счет создания обертки для существующего Win32 API в управляемом коде. Причем управляемый код — классы, реализующие API для Windows Forms, не зависят от языка разработки.

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

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

В данном приложении используются следующие формы Windows Forms и их методы и свойства:

1. Button — представляет элемент управления Windows «Кнопка», в программе используется обработчик события нажатия на кнопку «Click».

2. OpenFileDialog и SaveFileDialog представляют окна предлагающие пользователю соответственно открыть или сохранить файл, а так же их метод ShowDialog собственно запускающий диалоговое окно и возвращающий DialogResult: OK если пользователь нажимает кнопку «ОК» в диалоговом окне или DialogResult: Cancel в противном случае. И свойства:

Ш FileName — предоставляющие путь до выбранного файла;

Ш FileNames — предоставляющие массив путей до выбранных файлов;

Ш Multiselect — разрешающие выбирать несколько файлов;

Ш SafeFileNames — предоставляющие массив имен выбранных файлов.

3. ListView предоставляет элемент управления списком Windows, в представлении Details (табличное представление). И его методы Items->Add — добавляющий элемент и Items->RemoveAt — удаляющий элемент с указанным индексом.

4. Индикатор выполнения Windows — ProgressBar со свойством Value отображающие заполнение элемента.

5. Label — стандартная надпись Windows и ее свойство Text — предоставляющие текст надписи.

6. MenuStrip — предоставляющие стандартную систему меню для формы и обработчики события Click по элементам меню.

Так же в приложении используется основная сборка взаимодействия (PIA) MS Office облегчающие взаимодействие между управляемым кодом СОМ — библиотеками Office.

СОМ-сборки взаимодействия позволяют выполнять неуправляемый код (СОМ) из управляемого кода (.NET) при помощи Microsoft.NET Framework и общеязыковой среды выполнения. СОМ-сборки взаимодействия позволяют управляемым приложениям привязываться к неуправляемым типам во время компиляции и затем передавать в общеязыковую среду выполнения информацию о том, как в процессе выполнения должны группироваться неуправляемые типы.

Хотя для каждой конкретной библиотеки может существовать неограниченное число СОМ-сборок взаимодействия, только одна из них может выступать в роли PIA.

PIA содержит официальное описание неуправляемых типов, определяемых их издателем.

Используются следующие компоненты:

v библиотека Microsoft. Office. Interop. Excel. dll:

Ш интерфейс Application — представляет приложение MS Excel:

§ свойство DisplayAlerts — разрешает показ сообщений MS Excel;

§ метод Quit — завершает текущий экземпляр MS Excel;

Ш интерфейс Workbook — представляет книгу Excel:

§ метод SaveAs — сохраняет текущую книгу;

Ш интерфейс Workbooks — представляет коллекцию всех книг открытых в текущем приложении MS Excel:

§ метод Add — создает новую книгу;

§ метод Open — открывает существующую книгу;

Ш интерфейс _Worksheet — представляет лист книги Excel:

§ свойство Name — представляет имя листа;

§ свойство Cells — представляет все ячейки листа:

· свойство Item — представляет определенную ячейку;

Ш интерфейс Worksheets — представляет коллекцию листов книги Excel;

v библиотека Microsoft. Office. Interop. Word:

Ш интерфейс Application — представляет приложение MS Word:

§ метод Quit — завершает текущий экземпляр MS Word;

§ свойство Selection — представляет текущий выбранный документ:

· метод TypeText — вставляет заданный текст;

· метод TypeParagraph — вставляет новый параграф;

§ свойство ActiveDocument — представляет активный документ:

· метод SaveAs — сохраняет активный документ;

Ш Documents — представляет коллекцию документов открытых в MS Word:

§ метод Open — открывает существующий документ;

§ метод Add — создает новый документ;

Ш интерфейс Document — представляет документ:

§ свойство Content — представляет набор объектов характеризующий свойства текущего документа:

· свойство Font — представляет шрифт в текущем документе:

Ё свойство Size — представляет размер шрифта;

Ё свойство Name — представляет шрифт в текущем документе;

Проектирование пользовательского интерфейса

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

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

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

На первом этапе проектирования программы при помощи стандартных средств Visual C++ была создана главная форма, и на нее были добавлены 3 элемента Button, label, progressBar, menuStrip, ListView в режиме Details, а также OpenFileDialog и 2 SaveFileDialog. Далее при помощи редактора свойств были изменены необходимые (Рисунок 1) и добавлены обработчики событий (Рисунок 2).

Рисунок 1

Рисунок 2

Проектирование модулей (функций) приложения

1. Модуль контроля данных Состоит из следующих обработчиков:

Ш but_add_Click — обработчик события Click по кнопке «Добавить исходные файлы». Вызывает OpenFileDialog с фильтром на текстовые файлы (.txt). После чего проверяется корректный выбор файла и проверка на его наличие в массиве входных файлов, в случае его обнаружения пользователь получает сообщение, что файл уже выбран, в противном случае добавляет его в массив входных файлов и в ListBox стандартными методами.

Ш Del_button_Click — обработчик события Click по кнопке «Удалить» удаляющий указанный файл из массива входных файлов и ListBox стандартными методами.

Ш Form1_Load — обработчик загрузки обеспечивает инициализацию компонентов.

Полные блок схемы этих обработчиков изображены в «ПРИЛОЖЕНИИ А».

2. Модуль обработки данных Состоит из:

Ш обработчика button1_Click — обработчика события Click по кнопке «Начать обработку». Вызывает два SaveFileDialog запрашивающих места сохранения выходных файлов, если эти файлы уже существуют удаляет их после чего вызывает основную функцию обработки fprocess. В процессе обработки выводиться сообщение «Идет обработка. Пожалуйста подождите…» и заполняеться progressBar. Полная блок схема изображена в «ПРИЛОЖЕНИИ Б».

Ш функции fprocess — обрабатывающий указанной файл и сохраняющей результат по полученным путям. Функция проверяет корректность номера группы в файле (первая строка), после чего создается экземпляр MS Excel без видимого окна и проверяется существование выходного файла, если он существует то в него добавляется новый лист в против ном случае создается новая книга MS Excel с единственным листом после чего при помощи циклов на лист выводиться содержимое всех строк файла. При возникновении ошибок в структуре данных вызывается функция log которой передаться код ошибки и путь до файла MS Word после чего работа завершается. В случае успешного выполнения результат сохраняется и вызывается функция log которой передается номер обработанной группы код успешного завершения и путь до файла MS Word. Полная блок схема изображена в «ПРИЛОЖЕНИИ В».

Ш функция log — создает экземпляр MS Word без видимого окна, после чего проверяется существование выходного файла, если файл существует то информация записывается в его конец, в противном случае он создается. В зависимости от кода ошибки в файл записываться соответствующая строка и добавляется символ переноса строки после чего файл сохраняется, закрывается MS Word и функция завершает свою работу. Полная блок схема изображена в «ПРИЛОЖЕНИИ Г».

3. Модуль интерфейса программы Состоит из обработчиков:

Ш выходToolStripMenuItem_Click — обработчик события Click по подпункту меню «Файл» «Выход» обеспечивает завершение приложения.

Ш справкаToolStripMenuItem1_Click — обработчик события Click по подпункту меню «Справка» «Справка» обеспечивает вывод справки.

Ш оПрограммеToolStripMenuItem_Click — обработчик события Click по подпункту меню «О программе» «Справка» обеспечивает вывод информации о разработчике.

Ш Form1_KeyDown — обработчик события нажатий на клавиши клавиатуры. Обеспечивает вывод справки при нажатии F1.

Полные блок схемы этих обработчиков изображены в «ПРИЛОЖЕНИИ Д».

Тестирование программы

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

Опишем несколько тестов для нашего приложения.

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

Тест пройден. Результат положительный.

2. Обработаем программой файл с неправильно записанными данными. В результате должен получиться документ MS Word содержащий сообщение об ошибке.

Тест пройден. Результат положительный.

3. Добавим в список обработке два файла с одинаковыми номерами групп. В результате должна получиться книга MS Excel содержаший данные первого файла документ MS Word содержащий сообщение об ошибке.

Тест пройден. Результат положительный.

4. Удалим исходный файл после добавления его в список. В результате должен получиться документ MS Word содержащий сообщение об ошибке.

Тест пройден. Результат положительный.

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

Разработка справочной системы приложения

Для написания HTML справки была использована программа «HTML Help Workshop», при помощи которой был создан и скомпилировал *chm файл справки.

Формат CHM — это скомпилированный файл справки, пришедший на смену более старому формату HLP. Преимущества его в том, что он состоит из html-страниц, а это значит, что доступны все технологии, которыми изобилует html (css-оформление и т. д.). Кроме того, вся эта «сборка» очень хорошо сжимается, что в конечном итоге даёт меньший размер, чем суммарный всех html-файлов.

Сначала были созданы HTM файлы представляющие отдельные страницы справки:

— Страница описывающая входные файлы:

Входные файлы програмы представляют собой текстовые файлы (.txt с кодировкой ANSI) на первой строке которых содержиться номер группы первые шесть символов которого — цифры. Номер группы не может содержать символы: ««, «/»,": «, «[»,"]»," ««, «*».

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

— Страница описывающая ошибки которые могут возникнуть при работе программы и способы их устранения:

Ошибки:

1. Ошибки при запуске

Решение: Установите MS.NET Framework 4.0 и MS office 2007 или старше.

2. «Нет доступа к файлу…»

Решение: Закройте все программы использующие указанный файл или разрешите программе перезапись файла.

3. «Файл… не найден»

Решение: Указано неверное имя исходного файла или файл не существует, укажите правильный путь к файлу.

4. «Невозможно обработать… файл содержить неверные данные»

Решение: Исправте содержимое файла согласну разделу входные файлы.

5. «Невозможно обработать… группа с таким номером уже обработана»

Решение: исключите один из конфликтующих файлов из списка обработки или обработайте его отдельно.

— Страница описывающая использование программы:

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

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

Создание инсталлятора

Для создания инсталлятора была использована программа Smart Install Market.

Сначала укажем имя продукта и его версию (Рисунок 3), после чего добавим в проект все необходимые файлы (Рисунок 4).

Рисунок 3

Рисунок 4

Добавим ярлык на рабочий стол (Рисунок 5) и компилируем проект (Рисунок 6).

Рисунок 5

Рисунок 6

Рекомендации по использованию программного продукта

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

Ш Добавлять в файлы в список обработки нажатием кнопки «Добавить исходные файлы» или выбором пункта меню «Файл» «Добавить исходные файлы» после чего необходимо указать один или несколько добавляемых файлов и нажать кнопку «ОК».

Ш Удалять файлы из списка обработки выбором нужного пункта в списке и нажатием кнопки «Удалить» или выбором пункта меню «Файл» «Удалить».

Ш Запускать обработку выбранных файлов нажатием кнопки «Начать обработку» или выбором пункта меню «Файл» «Начать обработку».

Ш Выходить из программы выбором пункта меню «Файл» «Выход».

Ш Получать справку выбором пункта меню «Справка» «Справка».

Ш Получать информацию о программе выбором пункта меню «Справка» «О программе».

Пример использования программы: создадим текстовый файл dat с номером группы на первой строке и списком с несколькими студентами на других (Рисунок 7), добавим это файл в список обработки (Рисунок 8) и обработаем его (Рисунок 9), после чего убедимся в результате (Рисунок 10).

Рисунок 7

Рисунок 8

Рисунок 9

Рисунок 10

Заключение

В процессе разработки данной программы была интеграция MS Office и платформы.NET Framework.

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

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

Приложение А

Обработчик but_add_Click

Обработчик Del_button_Click

Обработчик Form1_Load

Приложение Б

Показать весь текст
Заполнить форму текущей работой