Программная система для ведения персонального календаря событий с настройкой уведомлений и напоминаний
Методы и алгоритмы автоматизации процесса создания календаря событий. Средства разработки программного обеспечения. Инструментальные средства разработки приложений. Описание логической структуры программы. Способ сохранения событий в выходной файл.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Проект EventCalendar представляет собой приложение Windows Forms, обеспечивающее пользовательский интерфейс к разработанным классам. Содержит пять форм (AllEventsForm.cs; EventForm.cs; MainForm.cs; NotificationForm.cs; YearCalendarForm.cs).
Ниже на рис. 2.3, 2.4 приведен основной алгоритм работы с файлом, хранящим данные о событиях.
Рис 2.2 Файловая структура приложения
Рис.2.3 - Блок-схема считывания событий из файла
Рис.2.4 - Продолжение блок-схемы считывания событий из файла
Считывание событий из файла реализовано в данном методе:
public static List<Event> ReadDatabase()
{
List<Event> events = new List<Event>();
if (!File.Exists(DataFile)) //если файла с БД нет, то ничего не делаем и возвращаем пустой список событий
return events;
string[] lines = File.ReadAllLines(DataFile);
if (lines.Count() == 0)
return events;
foreach (var line in lines)
{
string[] parts = line.Split(';');
int id = Int32.Parse(parts[0]);
//преобразуем строковое значение даты в DateTime
DateTime date = DateTime.ParseExact(parts[1], "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture);
int type = Int32.Parse(parts[2]);
string info = parts[3];
Color color = HexToColor(parts[4]);
bool sound = (parts[5] == "1") ? true: false;
//преобразуем строковое значение даты в DateTime
DateTime timeText = DateTime.ParseExact(parts[6], "HH:mm", System.Globalization.CultureInfo.InvariantCulture);
DateTime time = date.Date.AddHours(timeText.Hour).AddMinutes(timeText.Minute);
Event ev = new Event(id, date, type, info, color, sound, time);
if (ev.Time < DateTime.Now) //событие уже прошло - не считываем
continue;
events.Add(ev);
}
return events;
}
2.5 Структура классов
Класс -- это конструктор, который позволяет создавать свои собственные пользовательские типы путем группирования переменных других типов, методов и событий. Класс подобен чертежу. Он определяет данные и поведение типа. Если класс не объявлен статическим, то клиентский код может его использовать, создав объекты или экземпляры, назначенные переменной. Переменная остается в памяти, пока все ссылки на нее не выйдут из области видимости. В это время среда CLR помечает ее пригодной для сборщика мусора. Если класс объявляется статическим, то в памяти остается только одна копия и клиентский код может получить к ней доступ только посредством самого класса, а не переменной экземпляра. На рис. 2.4 - представлена диаграмма пользовательских классов, которая показывает отношение классов между собой. Спецификации классов описаны ниже.
- класс Program - главная точка входа в приложение;
- класс AllEventsForm предназначен для вывода всех событий;
- класс EventForm предназначен для создания события;
- класс MainForm предназначен для обработки главного окна программы;
- класс NotificationForm предназначен для выведения уведомлений;
- класс YearCalendarForm предназначен для вывода всех событий на годовой календарь;
- класс DataBaseManager предназначен для работы с файлом, хранящим все события;
- класс Event хранит свойства класса, содержащие путь к файлу, хранящему события;
- класс EventManager хранит типы событий;
- класс Resources хранит ресурсы проекта.
Рис. 2.4 - Диаграмма классов приложения
2.6 Методы и поля
Метод -- это блок кода, содержащий ряд инструкций. Программа инициирует выполнение инструкций, вызывая метод и указывая все аргументы, необходимые для этого метода. В C# все инструкции выполняются в контексте метода. Метод Main является точкой входа для каждого приложения C#, и он вызывается общеязыковой средой выполнения (CLR) при запуске программы.
Класс DatabaseManager - класс, обрабатывающий файл-базу событий.
- public static void WriteToDatabase(List<Event> events) - метод, записывающий события в файл
- public static string ColorToHex(Color color)-метод, преобразующий объект Color в hek представление
Класс Event -класс, представляющий события.
- public int Id - свойство класса;
- public DateTime Date - свойство класса;
- public int Type - свойство класса;
- public Color Color - свойство класса;
- public bool Sound - свойство класса;
- public string Info - свойство класса;
- public DateTime Time - свойство класса.
Класс EventManager - класс, хранящий типы событий.
- private static Dictionary<int, string> _types = new Dictionary<int, string>()-метод, выбора типа событий;
- public static Dictionary<int, string> Types-метод, выводящий тип события.
Класс AllEventsForm: Form- класс, выводящий все события на форму
- public AllEventsForm(List<Event> events) - метод, сортирующий события по дате;
- private void Initialize() - метод заполнения таблицы.
Класс YearCalendarForm: Form - Класс, показывающий календарь на год.
- public void Initialize()-метод, выделяющий даты в календаре жирным.
Класс NotificationForm: Form - класс, выводящий уведомление на рабочий стол.
- private void Initialize() - метод, определяющий цвет, выводимый текст и звук формы при выведении на рабочий стол.
Класс MainForm: Form - класс, реализующий зависимости форм
- private void RefreshBoldedDates() - выделяем даты событий в календаре жирным;
- private void eventTimer_Tick(object sender, EventArgs e)- обрабатывает таймер для проверки наступления времени события и вызывает событие с наступлением времени;
- private void CreateEventDialogShow() - метод, вызывающий окно создания нового события;
- private void AllEventsDialogShow() - метод, вызывающий окно показа всех событий;
- private void buttonClearCalendar_Click(object sender, EventArgs e) - метод, удаляющий все события;
- private void YearCalendarDialogShow()-метод, показывающий календарь на год.
Класс EventForm: Form - класс, реализации формы создания приложения.
- private void Initialize() - метод, заполнения combobox типов событий;
- private void ChooseColor() - метод выбора цвета события;
- private void CreateEvent() - метод, считывающий информацию с элементов формы.
3. Руководство пользователя
Руководство пользователя -- один из основных программных документов, в составе эксплуатационной документации на автоматизированную систему (ГОСТ 34). Невозможно представить себе хоть сколько-нибудь сложный прикладной программный продукт, который не был бы укомплектован им в той или иной форме.
Цель создания документа заключается в том, чтобы предоставить пользователю возможность самостоятельно решать свои прикладные задачи с помощью системы. Этой цели может служить и введение в предметную область, и ознакомление со всеми возможностями программы, и описание конкретных процедур решения задач, и приведение различных инструкций. Иногда Руководство пользователя больше похоже на справочник, к которому можно обращаться в процессе работы, а иногда - на учебник, который позволяет изучить принципы работы с программой и ее возможности, а затем применять их на практике.
Основная задача документа состоит в том, чтобы обеспечить пользователям возможность самостоятельно решать все основные задачи, на которые нацелена программа.
Руководство пользователя содержит полное описание программы с точки зрения целевого применения последней. В руководстве пользователя обязательно должны быть описаны:
назначение программы;
основные задачи и возможности;
способ отражения предметной области в программе;
пользовательский интерфейс программы;
порядок решения основных пользовательских задач;
все функции программы и порядок их применения;
пользовательская настройка программы;
проблемы при использовании и способы их решения.
При документировании небольших программ в руководство пользователя часто включают инструкции по установке, настройке, администрированию, обновлению и прочему обслуживанию программы.
Наличие Руководства пользователя регламентируется ГОСТ 34.201, а структура и содержание - РД 50-34.698. Однако, в зависимости от сложности, назначения и области применения ПО, различные Руководства пользователя могут отличаться друг от друга по способу, методике и стилю изложения. Грамотно написанное Руководство пользователя может сэкономить значительное количество времени на обучение и адаптацию пользователя к программе, а также снизить количество ошибок в работе что, в свою очередь, повышает экономическую эффективность системы.
3.1 Руководство пользователя Календарем событий
На рис. 3.1 представлена основная форма разработанного нами приложения. Приложение позволяет пользователю создать напоминание. На главной форме расположен весь функционал приложения: календарь на текущий месяц, кнопки:
- создать событие;
- все события;
- календарь на год;
- очистить;
- выход.
При помощи стрелок можно прокручивать календарь на предыдущие и следующие месяцы, за текущим. В календаре голубым шрифтом, в квадрате, выделана дата открытия календаря и внизу подписано «Сегодня: 7 декабря 2016 года». При нажатии на прямоугольник рядом с сегодня, можно вернуться к текущей дате, т.е. если Вам необходимо просмотреть события в другие даты, то потом всегда можно вернуться к текущей дате.
Рис. 3.1 - Основная форма интерфейса приложения
Так же разработано выпадающее меню (рис. 3.2). Оно дублирует иконки свернуть, развернуть и закрыть приложение.
Рис. 3.2 - Выпадающее меню
Для того чтобы создать событие необходимо нажать на кнопку «Создать событие». Откроется форма, которая приведена на рис. 3.3. На этой форме можно выбрать тип напоминания, дату события и тип уведомления о событии:
- цвет;
- звук;
- время.
Можно просмотреть созданное событие и в текст боксе ввести информацию о событии.
Рис. 3.3 - Форма создания события
На форме расположен комбобокс с типом события, которое можно выбрать в выпадающем списке (в виде словаря Dictionary) из напоминания, вечеринки, совещания, курсов, встречи и годовщины (рис. 3.4).
Рис. 3.4 - Комбобокс с типом события
После выбора типа события необходимо выбрать дату события в календаре (рис. 3.5).
Рис. 3.5 - Выбор даты события
После выбора даты события можно выбрать цвет уведомления о событии либо оставить стандартный цвет (рис. 3.6)
Рис. 3.6 - Выбор цвета окна уведомления о событии
Заполняем информацию о событии. Выбираем тип события, дату, время и настраиваем уведомление. Нажимаем «Сохранить» и ждем оповещения о событии. Когда время, выбранное при создании события совпадет с текущим появится окно уведомления «Напоминание», приведенное на рис. 3.7. Переход на главную форму произойдет автоматически после нажатия на кнопку «Спасибо» в форме напоминания о событии.
Рис. 3.7 - Напоминание о событии
Для того чтобы просмотреть все созданные события нажимаем кнопку «Все события»
Откроется список событий, представленный на рис. 3.8
Рис. 3.8 - Список событий
Для того чтобы посмотреть список всех событий на следующий год необходимо на главной форме нажать кнопку «Календарь на год». Календарь загрузится с текущего месяца. Откроется окно, приведенное на рис. 3.9
Рис. 3.9 - Календарь на год
Заключение
Цели, поставленные в рамках данной бакалаврской работы, были выполнены в полном объеме, была проведена автоматизация процесса записи дел и напоминаний в календарь событий.
Для реализации поставленной цели в настоящей работе были решены следующие задачи:
- разработана программа персональный календарь событий. Которая представляет из себя приложение Windows Forms. Приложение содержит подключаемую динамическую библиотеку (.dll), реализующую основной функционал программы;
- разработана возможность создания разных событий в календаре, для этого пользователю предоставили возможность выбора типа события, даты и времени;
- разработана форма, где можно внести развернутую информацию о событии;
- в приложении события сохраняются в выходной файл, реализована возможность просматривать все созданные события и проводить оповещение о событии при его наступлении;
- для просмотра всех созданных событий, разработана форма «календарь событий на весь год», которую можно просматривать с текущей даты;
- в приложении возможно удалять все созданные события.
В дальнейшем планируется осуществить возможность один раз вносить повторяющиеся события, досрочного уведомления о событии, просмотра планов по неделям, напоминания о событиях по смс и по электронной почте. Планируется разработать Web - приложение, приложение под Android и iOS, реализовать синхронизацию календарей на нескольких устройствах через облачный сервис.
Размещено на Allbest.ru
...Подобные документы
Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.
дипломная работа [660,2 K], добавлен 21.05.2012Методы косвенного анализа структуры знаковых последовательностей на основе состава. Анализ строя цепей событий. Выравнивание аминокислотных и нуклеотидных последовательностей. Обоснование выбора средств разработки. Программные средства разработки.
дипломная работа [3,2 M], добавлен 21.06.2013Описание разработки программного продукта с использованием объектно-ориентированного языка программирования Delphi. Принципы рейтинговой оценки знаний Костанайского социально–технического университета. Описание внешнего вида программы, обработка событий.
дипломная работа [2,4 M], добавлен 03.07.2015Разработка технологии и средств реализации Java-приложения, сокращающих трудоемкость создания и гибкость модификации интерфейса пользователя. Использование XML-документов для описания внешнего представления, элементов управления и событий экранных форм.
дипломная работа [2,8 M], добавлен 19.08.2011Стадии разработки программного средства. Средства, методологии и методы его разработки. Оценка надежности и качества проекта. Обоснование необходимости разработки программы. Тестирование как процесс выполнения тестовой программы с намерением найти ошибки.
презентация [57,0 K], добавлен 27.12.2013Приложение для организации и контроля разработки программного обеспечения, сокращающее сроки проектирования программных продуктов и оптимизирующее данный процесс. Технологии создания приложений на платформе .NET. Алгоритм получения и обновления списка.
дипломная работа [861,9 K], добавлен 27.11.2014Анализ и разработка информационной системы, структура сети предприятия. Описание процесса разработки конфигураций и выявление потребностей в автоматизации функций. Средства разработки проектирования и архитектура базы данных. Разработка модели угроз.
дипломная работа [1,4 M], добавлен 13.07.2011Список событий, которые имеют время наступления. Инициализация, визуализация, сохранение, восстановление событий. Функция проверки наличия событий, удовлетворяющих заданным требованиям. Создание пользовательского интерфейса. Форма создания нового события.
курсовая работа [1,9 M], добавлен 20.06.2012Технологии разработки программного обеспечения. Процедура постановки задачи, определения требований. Последовательность действий логической, разветвленной и циклической структуры. Терминология программирования. Этапы создания программного продукта.
презентация [793,8 K], добавлен 15.11.2010Анализ существующих программ организации событий в ОС Android. Разработка мобильной программы организации краткосрочных событий. Определение требований, проектирование архитектуры и разработка алгоритма программы. Создание руководства для оператора.
дипломная работа [752,9 K], добавлен 26.07.2017Понятие и специфика автоматизированных систем. Описание методики разработки программы для автоматизации. Ее тестирование и отладка. Внедрение АС в работу предприятия. Расчет экономического эффекта от разработки и реализации программного продукта.
дипломная работа [1,4 M], добавлен 23.06.2015Обзор процесса проектирования. Характерные черты удачных проектов. Понятие и типы домена. Способ обработки событий. Архитектурные классы Form, Imitator, AE. Статическая модель прикладного домена. Исходные тексты операций обработки событий и их описание.
курсовая работа [375,4 K], добавлен 26.01.2011Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания).
курсовая работа [901,8 K], добавлен 11.02.2014Исследование организационной структуры ООО "Трансэнергосервис". Обзор методологий проектирования интернет-представительства. Инструментальные средства разработки и реализации системы управления сайтом: разработка интерфейса пользователя и web-сайта.
дипломная работа [1,7 M], добавлен 10.08.2014Описание существующих информационных систем в данной сфере. Система управления "Fidelio". Выбор средства для разработки. Тестирование программного средства, оценка его функционального качества. Описание выявленных недостатков разработанной программы.
курсовая работа [856,6 K], добавлен 24.09.2014Основные этапы разработки web-сайта. Классификации современных бирж. Выбор программного средства для разработки сайта. Требования к сайту. Расчет прогнозируемой цены и прибыли на программное средство. Описание языков для разработки web–приложений.
дипломная работа [1,4 M], добавлен 02.09.2016Проект системы автоматизированного аудита программного обеспечения вычислительного центра ЛГТУ; функциональное назначение, методы и средства разработки концептуальных статических и динамических моделей пользовательского интерфейса; технические средства.
курсовая работа [4,2 M], добавлен 04.01.2012Офисные программы, необходимые для автоматизации работы турфирмы. Описание входной и выходной информации, структуры базы данных. Аппаратное и программное средства для функционирования автоматизированной информационной системы, ее работоспособность.
курсовая работа [902,2 K], добавлен 02.05.2017Средства организации блогов, разновидности CMS используемых для разработки и сопровождения блогов, их достоинства и недостатки. Общий алгоритм работы программного средства и алгоритмы работы с данными. Программное конструирование индивидуальных блогов.
дипломная работа [3,6 M], добавлен 10.07.2012