Создание приложений
Приложением называют объединение некоторого множества задач предметной области.
Этапы разработки приложения рассмотрим на примере создания приложения «Учет командировочных расходов». (Пример позаимствован из пособия «Информатика». Методические указания. Ч.2, см. литературу [3]).
Первый этап – Постановка задачи.
Предметной областью задачи является деятельность бухгалтерии по учету поездок сотрудников предприятия в командировки в разные города, а также расходов, связанных с этими командировками. Необходимо создать базу данных сотрудников, выезжающих в командировки; базу данных организаций, в которые командируются сотрудники и базу данных поездок и командировочных расходов.
Входная информация: сведения о сотрудниках, сведения об организации, данные о дате выезда, количестве дней командировки, цене билета, размере суточных (в учебных целях немного упростим задачу, предположив, что стоимость проживания включена в суточные).
Выходная информация: база данных, хранящая сведения о сотрудниках; база данных, содержащая сведения об организациях; величина общих расходов на каждую командировку и база данных, в которой хранятся и накапливаются данные о командировках. Необходимо иметь возможность составлять по созданной базе данных различные сводки и отчеты о командировочных расходах по отдельным сотрудникам и организациям, в которые командируются сотрудники.
Приложение «Учет командировочных расходов» должно иметь удобный и понятный интерфейс, позволять легко вводить информацию о новых сотрудниках, новых организациях и новых командировках.
В нашем случае приложение «Учет командировочных расходов» можно представить как объединение 4-х задач:
ввод и накопление данных о сотрудниках предприятия, назовем ее «Сотрудники»;
ввод и накопление данных об организациях, в которые командируются сотрудники, назовем «Организации»;
ввод и накопление информации о конкретных командировках, назовем ее «Командировки»;
создание интерфейса, позволяющего объединить вышеперечисленные задачи, назовем «Меню».
Второй этап – экономико-математическое описание задачи и выбор метода ее решения.
Для первой задачи «Сотрудники» не требуется математического описания. Она предполагает создание списка или базы данных. Каждая запись будет хранить информацию об одном сотруднике. Поля записи – Ф.И.О., отдел, должность, телефон.
Задача «Организации» также предполагает создание списка или базы данных. Записи этой базы данных будут хранить сведения об организациях. Поля записей – наименование организации, адрес, телефон.
Для задачи «Командировки» выполним математическое описание. В этой задаче нужно рассчитать общую сумму расходов на командировку. Обозначим исходные данные:
Дни – количество дней командировки;
Суточные – размер суточных;
Билеты – стоимость билетов до города, в который командируется сотрудник и обратно.
Сумма – общая величина расходов на командировку.
Формула для расчета суммы расходов будет выглядеть так:
Сумма = Дни*Суточные + Билеты.
Для хранения данных о командировках необходимо создать базу данных. Поля записей – дата выезда; фамилия сотрудника; наименование организации, в которую командируется сотрудник; количество дней командировки; размер суточных; цена билета; общая сумма расходов.
Четвертая задача – «Меню» предполагает создание меню для удобного взаимодействия пользователя с тремя базами данных.
Задачи «Сотрудники» и «Командировки» связаны между собой по фамилии сотрудника. Задачи «Организации» и «Командировки» связаны между собой по наименованию организации.
На рис. 14 представлены задачи приложения «Учет командировочных расходов», а также связи между этими задачами.
Рис. 14.Задачи, составляющие приложение
«Учет командировочных расходов»
Третий этап – Алгоритмизация.
Для каждой из поставленных задач разработаем алгоритмы их решения.
Задача 1 – Сотрудники
Разработаем алгоритм для решения задачи Сотрудники. Словесное описание алгоритма:
· Подготовка листа Excel для накопления данных о сотрудниках. Эта подготовка включает переименование листа, например, Листа1 в лист Сотрудники, и ввод заголовков столбцов. В нашем случае заголовки столбцов соответствуют полям записей о сотрудниках. Результат выполнения этого пункта см. на рис.15.
Рис.15. Лист Сотрудники
· Подготовка формы для ввода информации на лист Сотрудники. Для этого надо ввести во вторую строку таблицы запись об одном сотруднике, например, Иванов А.М., Менеджер, Маркетинговый отдел, 123-45-67 и выполнить команду Данные –Форма. На экране появится встроенная форма с полями для ввода данных и несколькими кнопками для работы с базой данных.
После того, как в поля для ввода будут введены данные и нажата кнопка Ок информация об очередном сотруднике будет записана на лист «Сотрудники».
Таким образом, задача Сотрудники уже практически подготовлена для работы с ней. Этап Программирование для этой задачи пропускается.
Задача 2 – Организации
Алгоритм для решения задачи Организации аналогичен предыдущему. Описание алгоритма:
o Подготовка листа Excel для накопления данных об организациях, в которые командируются сотрудники:
переименование листа Лист2 в Организации;
ввод заголовков столбцов (Наименование организации, Адрес, Телефон);
o Подготовка формы для ввода информации на лист Организации:
ввод информации об одной организации;
выполнение команды Данные – Форма,заполнение полей автоформы, Ok.
Задача Организации, как и предыдущая практически решена. Этап Программирование для нее пропускается.
Задача 3 – Командировки
Разработку алгоритма для решения задачи «Командировки», как и первых двух задач, целесообразно начать с подготовки листа Excel для накопления данных о командировках:
i. Переименуем Лист3 в Командировки»и введем заголовки толбцов (Дата выезда, Ф.И.О. сотрудника, Наименование организации, Количество дней, Суточные, Стоимость билетов, Общая сумма).
Заметим, что в графу Ф.И.О. должна вводиться информация с листа Сотрудники, а в графу Наименование организации – информация с листа Организации, т.к. эти сведения уже хранятся в соответствующих базах данных и было бы нецелесообразно набирать их еще раз. Использование уже однажды введенных данных позволяет избежать ошибок ввода, ускоряет ввод информации и, наконец, просто удобно. Однако в этом случае встроенная форма нас уже не устроит, т.к. во встроенной форме нельзя взять информацию с других листов. Таким образом, у нас возникает подзадача Создание пользовательской формы для ввода сведений о командировках.
Создание пользовательской формы начинается с проектирования. Предположим, что пользовательская форма будет выглядеть так, как показано на рис.16.
Рис.16. Пользовательская форма для ввода
сведений о командировке
Спроектированная пользовательская форма (ПФ) содержит четыре поля для ввода и два поля со списками. Поля для ввода (у нас это – TextBox1, TextBox2, TextBox3 и TextBox4) предназначены для того, чтобы пользователь вводил в них информацию. После того, как данные в поля Количество дней (TextBox2), Суточные (TextBox3) и Стоимость билетов(TextBox4) введены и если эти данные – числа, напротив надписи Общая сумма должна появиться сумма, рассчитанная по формуле:
Сумма=Дни*Суточные+Билеты.
Пересчет этой суммы должен производиться при каждом изменении содержимого полей Количество дней, Суточные и Стоимость билетов,т.е. в рамках задачи «Командировки»выделяется подзадача«Расчет суммы в ПФ».
Для того, чтобы можно было поместить результат расчета справа от надписи Общая сумма, необходимо сделать еще одну надпись в этом месте формы (Label8), появившееся слово Label8 удалить, но номер этой надписи (8) запомнить.
В спроектированной ПФ имеются две кнопки – Ок и Отмена. По нажатию на кнопку Ок информация из полей ввода должна быть записана на лист «Командировки». Это тоже отдельная подзадача. Назовем ее«Работа кнопки Ок в ПФ.
После нажатия на кнопку Отмена форму необходимо убрать с экрана. Назовем эту подзадачу «Работа кнопки Отмена в ПФ».
Таким образом, задача «Командировки» разбивается на пять подзадач см. рис.17.
|
Рис. 17. Декомпозиция задачи Командировки
Алгоритм решения подзадачи 3.1 – Подготовка листа Excel приведен в начале параграфа на стр. 59, это пункт, помеченный цифрой 1.
Алгоритм решения подзадачи 3.2 – Создание ПФ описан в параграфе Создание пользовательской формы, см. стр. 12.
Первые две подзадачи практически подготовлены для решения.
Для решения остальных подзадач разработаем детальные алгоритмы.
Подзадача 3.3 – Расчет суммы в ПФ
Словесное описание алгоритма:
Если содержимое поля Дни(у нас это – TextBox2.Text) – число и содержимое поля Суточные (TextBox3.Text) – число и содержимое поля Цена Билета (TextBox4.Text) – число, то выполняется пункт 2, в противном случае ничего не происходит.
В переменную Дни записывается содержимое поля Дни.
В переменную Суточные записывается содержимое поля Суточные (TextBox3.Text).
В переменную Билеты записывается содержимое поля Стоимость билетов (TextBox4.Text).
Содержимым надписи label8 становится результат расчета Дни*Суточные+Билеты.
Инструментальные средства Excel не позволяют исполнить этот алгоритм без программирования. Решение подзадачи будет продолжено на этапе Программирование.
Подзадача 3.4 – Работа кнопки Ок в ПФ
Словесное описание алгоритма:
Поиск на листе Командировки первой пустой строки, присваивание переменной Строка ее номера.
Запись на лист «Командировки» в строку с номером Строка:
в столбец А – содержимого поля TextBox1;
в столбец В – содержимого поля ComboBox1;
в столбец С – содержимого поля со списком ComboBox2;
в столбец D – содержимого поля TextBox2 ;
в столбец E – содержимого поля TextBox3 ;
в столбец F – содержимого поля TextBox4 ;
в столбец G – содержимого надписи Label8.
Удаление ПФ с экрана.
Для решения подзадачи необходим этап Программирование.
Подзадача 3.5 – Работа кнопки Отмена в ПФ
По нажатию на кнопку Отмена в ПФ эту форму необходимо убрать с экрана. Для этого необходимо создать программу.
Итак, для решения подзадач 3.3, 3.4 и 3.5 необходимо записать разработанные алгоритмы на языке программирования. Эта работа будет выполняться на этапе Программирование.
Задача 4 – Меню
Разработку алгоритм для решения задачи Меню следует начать с проектирования меню, которое должно стать основой пользовательского интерфейса. Предположим, после запуска приложения на экране появится окно, показанное на рис. 18.
Рис. 18. Окно Меню
Вид этого окна зависит от требований заказчика.
Спроектированное нами окно содержит надпись, сделанную с помощью объекта WordArt, и четыре кнопки.
Работа каждой кнопки – это отдельная подзадача.
Таким образом, в рамках задачи Меню решается пять подзадач см. рис.19.
Рис.
|
|
| ||||||
| ||||||||
Рис. 19. Декомпозиция задачи Меню
Для решения каждой из подзадач разработаем детальные алгоритмы.
Подзадача 4.1 – Создание окна Меню
Словесное описание алгоритма:
Добавление листа Excel (команда Вставка-Лист) и переименование его в лист «Меню».
Выполнение надписи «Учет командировочных расходов».с помощью объекта WordArt.
Создание кнопок с помощью панели инструментов Рисование.
Подзадача 4.2 – Работа кнопки «Новый сотрудник»
После нажатия на кнопку Новый сотрудник на экране должна появиться встроенная форма для ввода информации о новом сотруднике.
Инструментальные средства Excel не позволяют решить подзадачу без программирования. Работа с этой подзадачей будет продолжена на этапе Программирование.
Подзадача 4.3 – Работа кнопки «Новая организация»
После нажатия на кнопку Новая организация на экране должна появиться встроенная форма для ввода данных на лист «Организации».
Для решения подзадачи необходим этап Программирование.
Подзадача 4.4 – Работа кнопки «Новая командировка»
После нажатия на кнопку Новая командировка на экране должна появиться созданная нами пользовательская форма Новая командировка –UserForm1.Однако пользовательская форма не подготовлена для работы, т.к. в ней не были заполнены поля со списками.
В пользовательской форме UserForm1 присутствуют два поля со списками – Список сотрудников ( у нас – ComboBox1) и Список организаций (у нас – ComboBox2). Алгоритмы для заполнения полей со списками могут быть разные. Приведем один из вариантов.
Объявление переменных. Обозначим NS – номер последней заполненной строки на листе Сотрудники, NORG – номер последней заполненной строки на листе Организации. Объявим переменные NS и NORG как целые. Объявим также две строковых переменных DS и DORG для запоминания диапазонов, содержащих фамилии сотрудников и наименования организаций.
Определение последней заполненной строки в столбце А на листе Сотрудники – NS.
Определение последней заполненной строки на листе Организации – NORG.
Определение диапазона фамилий сотрудников (фамилии записаны в столбце А, начиная со второй строки и заканчиваясь строкой номер NS).
Определение диапазона наименований организаций (со второй по NORG-ю строку столбца А).
Присваивание имени «Сотр» диапазону, содержащему фамилии сотрудников.
Присваивание имени «Орг» диапазону, содержащему наименования организаций.
В ПФ Новая командировка (UserForm1) очистка всех полей для ввода: Дата выезда (TextBox1), Количество дней (TextBox2), Суточные (TextBox3), Цена билета (TextBox4), Фамилия И.О. (ComboBox1), Организация (ComboBox2).
Указание источника строк для поля со списком Фамилия И.О (ComboBox1) – «Сотр».
Указание источника строк для поля со списком Организация (ComboBox2) – «Орг».
Вывод ПФ на экран.
Работа с подзадачей будет продолжена на этапе «Программи-рование».
Подзадача 4.5 – Работа кнопки «Выход»
После нажатия на кнопку Выход приложение должно закрыться.
Для этого необходимо создать программу.
Итак, для подзадач 4.2, 4.3, 4.4, 4.5 необходимо записать разработанные алгоритмы на языке программирования. Эта работа выполняется на этапе «Программирование».
Четвертый этап – Программирование.
Как было показано выше, при подготовке к решению первой и второй задач этап «Программирование» пропускается.
При подготовке третьей задачи необходимо составить программы для трех подзадач:
Дата добавления: 2014-12-02; просмотров: 1395;