Управление делами и задачами — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

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

Управление делами и задачами

2019-06-06 65
Управление делами и задачами 0.00 из 5.00 0 оценок
Заказать работу

Разработать систему управления делами и задачами.

Задачи группируются в проекты (тематические группы с определенными названиями). Каждая задача имеет описание, время и дату выполнения, статус (выполнено/в процессе/не выполнено), приоритет (обычный/важный/ отложенный).

Задачи и проекты можно добавлять/редактировать/удалять.

Просмотр списка задач реализовать с помощью DataGridView и возможностью сортировки

· по датам в хронологическом порядке;

· по статусу;

· по приоритету.

Реализовать просмотр списка проектов (с количеством невыполненных задач в каждом) и списков задач «на сегодня»/«на неделю»/«просроченные».

Если пользователь изменил статус/приоритет задачи, то устанавливает в системе соответствующий маркер.

Реализовать возможность сохранения всего списка задач на сервере. Информация хранится на сервере в произвольном формате. Например, вся информация в одном файле или в нескольких файлах по проектам.

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

 

Хранитель паролей

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

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

Алгоритм шифрования пароля реализовать с помощью симметричного алгоритма шифрования RC4 (один ключ используется как для шифрации, так и для дешифрации), путем суммирования исходных данных и ключа по модулю 2 – XOR (“^” в коде С#): <Шифр>=<Исходник> XOR <ключ1>. Для дешифрации используется тот же алгоритм: <Исходник> = <Шифр> XOR <ключ1>. Ключ1 должен совпадать по размеру с исходником, получается циклическим заполнением ключа до нужного размера. Например для ключа «123» ключ1 размером 5 байт будет «12312».

Список записей и групп хранится в файле на сервере, для кодирования всех паролей в списке используется один ключ.

Просмотр списка записей реализовать с помощью DataGridView. В списке вместо пароля выводится «*******», при нажатии на данную ячейку пароль расшифровывается и отображается.

При первом подключении к серверу требуется ввести 2 раза новый пользовательский пароль, который шифруется по алгоритму MD5 (MD5CryptoServiceProvider в пространстве имен System.Security.Cryptography) и сохраняется в отдельном файле на сервере. При последующих подключениях необходимо запросить у пользователя пароль и сравнить его с сохраненным на сервере.

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

По алгоритму шифрования MD5, возвращается значение в виде 32-разрядной шестнадцатеричной строки. Данный метод конвертирует, например, символ «1» в значение «06d49632c9dc9bcb62aeaef99612ba6b».

Обратного алгоритма не существует. Расшифровке зашифрованные по MD5 данные не поддаются, а потому проверять пароль зарегистрированного пользователя при попытке входа следует также шифровать по MD5 (приводить вводимый пароль к хеш-значению) и только после этого сравнивать с находящимся на сервере.

Пример использования функции шифрования

using System.Security.Cryptography; 

 

string GetHashString(string s) 

//переводим строку в байт-массив

byte[] bytes = Encoding.Unicode.GetBytes(s); 

//создаем объект для получения средств шифрования 

MD5CryptoServiceProvider CSP = 

     new MD5CryptoServiceProvider(); 

//вычисляем хеш-представление в байтах 

byte[] byteHash = CSP.ComputeHash(bytes); 

string hash = string.Empty; 

//формируем одну цельную строку из массива 

foreach (byte b in byteHash) 

     hash += string.Format("{0:x2}", b); 

return hash; 

 

Адресная книга

Разработать приложение для хранения набора записей-контактов.

Контакты объединяются в тематические группы по названиям (например: дом, друзья, работа).

Каждый контакт содержит: ФИО, псевдоним, адрес, дом. тел., раб. тел., сот. тел., email, рабочие реквизиты, комментарий. Обязательными полями являются Фамилия и Имя.

Контакты и группы можно добавлять/редактировать/удалять.

Просмотр списка контактов реализовать с помощью DataGridView с возможностью сортировки. Реализовать режимы отображения имени: «ФИО», «Фамилия, Имя», «Имя, Фамилия», «Псевдоним».

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

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

Контроль корректности ввода данных осуществляется на стороне клиента с помощью регулярных выражений.

Отправку почты можно реализовать через специальные функции.NET Framework.

Пример кода:

using System.Web;

using System.Net;

using System.Net.Mail;

using System.Net.Mime;

 

//Авторизация на SMTP сервере

SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 25);

Smtp.Credentials = new NetworkCredential("login", "pass");

//Smtp.EnableSsl = false;

 

//Формирование письма

MailMessage Message = new MailMessage();

Message.From = new MailAddress("[email protected]");

Message.To.Add(new MailAddress("[email protected]"));

Message.Subject = "Заголовок";

Message.Body = "Сообщение";

Smtp.Send(Message);//отправка

 

Учет финансов

Разработать систему учета домашних финансов, основанную на учете статей доходов и расходов.

Статьи делятся на 2 типа доходы и расходы. Каждая статья представляет собой запись, содержащую данные для расходов: дата, сумма в руб., назначение платежа. Для доходов: дата, сумма в руб., источник. Каждой записи можно присвоить свой тег (например, для расходов: платежи, еда, развлечения, спорт). Реализовать список записей с остатками на счетах в виде пары значений: счет (например: наличные, электронные деньги, кредитка), значение в руб.

Записи, остатки и теги можно добавлять/редактировать/удалять. При занесении значения в поле суммы реализовать конвертер валют (из долларов, евро в рубли) по фиксированному курсу. Для доходов и расходов реализовать интерфейс занесения депозитов и кредитов. У пользователя запрашивается дата возврата, объем начальных средств и годовой процент. При этом, в зависимости от даты возврата, в список заносятся k ежемесячных записей с автоматически рассчитываемыми значениями сумм.

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

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

Контроль корректности ввода данных осуществляется на стороне клиента.

Методика выполнения работы

· Ознакомиться с кратким теоретическим материалом;

· определить номер выполняемого варианта;

· для заданного варианта разработать консольное приложение:

· для заданного варианта выполнить программу. Результат выполнения программы необходимо отразить в протоколе выполнения программы

Порядок выполнения работы

· Изучить панели инструментов и принципы размещения и группировки окон среды. Изучить свойства проекта и решения.

· Создать проект и основной программный файл.

· Скомпилировать и запустить проект.

· Составить отчет.

 

Содержание отчета

Отчет должен содержать следующее:

· титульный лист с указанием наименования и цели занятия; фамилии, имени, отчества и номера группы студента; а также номер выполняемого варианта;

· дату выполнения работы;

· цель занятия;

· условие предложенной задачи;

· реализацию соответствующего алгоритма;

· листинг программы;

· выводы о проделанной работе.

 

 

 



Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

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

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.