Электронная записная книжка


Введение

Современный мир информационных технологий не может существовать без возможности представления информации в электронном виде. Практически все системы в той или иной степени связаны между собой и предоставляют различные услуги как простому пользователю, так и достаточно большим организациям в хранении и обработке информации. Увеличение информационных потоков привело за собой повышение требований к скорости обработки данных, соответственно эти факторы приводят к увеличению методов размещения и обработки данных, выработки новых подходов к решению проблем автоматизации деятельности различных организаций, служб, предприятий. Поэтому основной задачей XXI века стало совершенствование качества компьютерных приложений, возможности которых целиком определяются программным обеспечением. [13, с. 30-75]

Целью разрабатываемого дипломного проекта является создание программного продукта «Электронная записная книжка». Разработка программного продукта позволит грамотнее управлять личным временем, задачами и проектами. Данный программный продукт представляет собой программу, в которую заносятся персональные записи, адреса, ссылки, номера телефонов. Далее внесенные данные обрабатываются и систематизируются.

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

Новизной данной разработки является объединение основных функций записной книги в одной программе. Современные элементы программирования интерфейса делают его интуитивно понятным для пользователя, а саму программу более удобной в использовании.

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

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

 

1 Анализ технического задания и возможные способы его реализации

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

Так как программа предназначена для ввода информации, то входными данными являются:

  • фамилия, имя, отчество;
  • дата рождения;
  • адрес;
  • номер телефона;
  • e-mail;
  • название;
  • логин;
  • пароль;
  • дата.

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

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

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

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

 

2 Выбор инструментальных программных средств

При выборе программных  средств, для разработки программного продукта необходимо учитывать возможности описания структуры данных, определение модулей программы и связи между ними, оценки развитости аппарата структур и типов данных. Учет этих возможностей позволит сделать программу легкодоступной для использования, позволит предупредить возникновение логических ошибок, обеспечить надежность программного обеспечения и его модифицируемость. В настоящее время встречается несколько современных объектно-ориентированных сред для достижения этой цели такие, как Visual Basic, Visual C++, Delphi 7 Enterprise, и т.д.

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

Основные возможности  языка Visual Basic приведены ниже:

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

Основным недостатком  среды является отсутствие современных компонентов для создания программ с использованием механизмов связи с автономными базами данных, а так же невозможность прогноза корректной работы приложения в различных операционных системах. [9, с. 165-178]

Этот недостаток не позволяет достаточно эффективно использовать Visual Basic для создания программного продукта.

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

Одним из основных достоинств языка C++ считается высокая переносимость написанных на нем программ с одной аппаратной платформы на другую, между различными операционными средами. Этот язык является одним из наиболее полных и совершенных продуктов. Также достоинством этого языка является создание программ с большим набором сложных компонентов.

Недостатками Visual C++ является:

  • отсутствие средств ввода – вывода;
  • невозможность организации связи с базой данных;

Эти недостатки не позволяют эффективно использовать Visual C++ для создания программного продукта. [9, с. 141-149]

Еще одним средством разработки приложений в сфере объектно-ориентированного программирования является Delphi 7 Enterprise. Работа с Delphi проста и рациональна. Многие компоненты системы оптимизированы таким образом, что позволяют разработчику программ значительно экономить время при написании исходных кодов. Это усовершенствование достигается благодаря использованию несложного пользовательского интерфейса. Delphi представляет собой современную систему программирования, предназначенную для разработки программ и имеющую две характерные особенности:

  • создаваемые ею программы могут работать не только под управлением Windows;
  • Delphi относится к классу инструментальных средств ускоренной разработки программ (Rapid Application Development, RAD).

Характерные свойства Delphi 7 Enterprise:

  • визуальное конструирование форм;
  • широкое использование библиотеки визуальных компонентов. [1, с. 56-179], [6, с. 45-142]

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

Так как программный  продукт включает в себя менеджер паролей и телефонную книгу, которым предстоит работать с большими объёмами разного рода данных, необходимо выбрать наиболее подходящую систему управления базами данных. Система управления базами данных представляет собой совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных. На данный момент существует множество СУБД, подходящих для разработки программного продукта. Среди них можно выделить Visual Fox Pro 9.0, DBase IV, Microsoft Access 2007.

Visual Fox Pro 9.0 – динамическая среда разработки реляционных баз данных, содержит объектно–ориентированные инструментальные средства, позволяющие быстро и легко создавать полноценные приложения. Visual Fox Pro 9.0 использует язык структурированных запросов SQL, основанный на наборах записей, позволяющих администратору базы данных управлять действиями пользователя и программами. Visual Fox Pro 9.0 позволяет организовать нормализацию данных с целью улучшения надежности и эффективности структуры базы данных, обеспечивает целостность ссылочной системы.

Существенным  недостатком Visual Fox Pro 9.0 является неудобство визуального создания интерфейса разработанного приложения, что накладывает некоторые ограничения в использовании данной системы управления базами данных для разработки данного программного продукта.

Dbase IV представляет собой интегрированную среду для создания и манипулирования табличной базой данных. Система обладает достаточным для работы набором функций по манипулированию данными и для подготовки отчетов.

Функции манипулирования  данными позволяют:

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

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

Microsoft Access 2007 - реляционная система управления базами данных. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Microsoft Access 2007 обладает широким диапазоном средств, значительно упрощающих ввод и обработку данных, поиск данных и представление информации в виде таблиц, графиков, отчетов, а также страниц доступа к данным. Эти средства являются не только простыми и удобными, но и высокопродуктивными, что обеспечивает высокую скорость разработки приложений.

В соответствии с вышеперечисленными достоинствами и недостатками, возможностями и требованиями была выбрана система управления базами данных Microsoft Access 2007.

Таким образом, для реализации программного используется система управления базами данных Microsoft Access 2007 и инструментальная программная среда Delphi 7 Enterprise.

 

3 Выбор аппаратных средств

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

Для корректной работы программного продукта необходимо следующее аппаратное обеспечение:

  • процессор с тактовой частотой 1,2 ГГц;
  • объем оперативной памяти – 256 Мб;
  • свободное дисковое пространство – 3 Мб;
  • стандартный SVGA монитор (дисплей);
  • привод CD-ROM или DVD-ROM;
  • стандартный манипулятор типа «мышь»;
  • стандартная клавиатура.

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

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

Другим важным фактором, влияющим на быстродействие, является ёмкость жесткого диска. В процессе работы пользователя с программой происходит постепенное накапливание информации, что приводит к уменьшению свободного места на жестком диске. Кроме этого, на диске находятся другие программы, которые также требуют определенного места на носителе. С учетом вышеприведенных факторов, требуется выбрать жесткий диск такого объёма, чтобы обеспечить оптимальную работу всей системы в целом.

Клавиатура  и мышь необходимы для ввода данных и навигации по форме программы. [11, с. 156-340]

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

4 Описание  программного продукта

4.1 Описание блок-схемы алгоритма работы программы

Блок-схема алгоритма  работы программы приведена в  графической части дипломного проекта в Приложении А на рисунке А.1.

В начале, после  запуска программы (блок 1), пользователю предоставляется выбор одного из режимов работы (блок 2):

  • режим «Календарь» (блок 3);
  • режим «Дневник» (блок 7);
  • режим «Телефонная книга» (блок 11);
  • режим «Менеджер паролей» (блок 16).

При активации  режима «Календарь» пользователю предоставляется возможность выбрать необходимую дату (блок 4). После выбора даты можно осуществить ввод или редактирование информации ежедневника и календаря, за эту функцию отвечает блок 5. Когда работа с календарем завершена, необходимо сохранить данные - (блок 6).

В режиме «Дневник» (блок 7) можно вводить и сохранять текст на страницах специализированного блокнота. Для этого необходимо выбрать (активизировать) одну их таких страниц (блок 8), а затем вводить или изменять информацию на этой странице (блок 9). После того как вся информация введена содержимое блокнота сохраняется в файлах автоматически (блок 10).

Если выбран режим «Телефонная книга», то пользователь может добавлять или изменять существующие записи телефонной книги (блок 12), а также осуществлять поиск информации по телефонной книге. Для поиска необходимо выбрать критерий поиска и ввести его значение (блок 13). Запуск поиска осуществляется специализированной кнопкой, в результате активизируются внутренние запросы базы данных (блок 14) и на экран выводится результат поиска (блок 15).

Режим «Менеджер паролей» активизируется специальной кнопкой. В этом режиме программа позволяет хранить информацию об идентификации пользователя различных интернет ресурсов и программ. Пользователь может добавлять или редактировать информацию о паролях (блок 17).

Для сохранения введенной информации пользователю необходимо нажать на кнопку «сохранить» (блок 18).

По окончании  работы с программой пользователь может закрыть форму с помощью специализированной кнопки (блок 19).

Программный продукт дипломного проекта не предусматривает специальной установки и запускается с помощью выполняемого файла с диска (Приложение Г)

    1. Описание организации входных и выходных данных

Основными исходными данными для разработки программы является информация, сгруппированная в таблицы базы данных. Все таблицы базы данных включают в себя исходные параметры, представленные на рисунках 4.1 – 4.3.

Рисунок 4.1 – Поля таблицы «book_table»

Таблица «book_table» предназначена для работы программы в режиме «Календарь». В нее заносится информация о событиях, распределенных по часам в сутках. Для этого используются специальные поля h1 – h24 для каждого часа выбранных суток.

Таблица «tel_book» предназначена для работы с данными телефонной книги, поля которой представлены на рисунке 4.2.

Рисунок 4.2 – Поля таблицы «tel_book»

Таблица «pass_table» используется при работе с менеджером паролей, ее поля представлены на рисунке 4.3.

Рисунок 4.3 – Поля таблицы «pass_table»

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

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

Другим видом  исходных данных при разработке программы  является информация внутренних запросов базы данных и переменных.

Выходные данные программы формируются в следующем  виде:

    • экранные формы, где отображается информация таблиц базы данных;
    • экранные формы запросов, где отображается информация результата работы запросов к базе данных.

Состав таблиц базы данных программного продукта представлен на рисунке 4.4

Рисунок 4.4 – Состав таблиц базы данных

Каждая таблица  базы данных имеет специальное поле, которое уникальным образом идентифицируют каждый объект базы данных. Эти поля необходимы для определения выбранной записи таблицы базы данных.

Для связи базы данных Microsoft Access с программой дипломного проекта выполненной на Delphi 7 Enterprise, используется технология ADO (ActiveX Data Objects – объекты данных, построенные как объекты ActiveX). На основе этой технологии в Delphi 7 Enterprise разработаны специальные компоненты доступа к данным. Основным преимуществом использования таких компонентов является, то, что они не требуют развертывания и настройки дополнительного программного обеспечения, а используют встроенные средства операционной системы для доступа к данным.

Для работы программы с базой  данных необходимо настроить связь  программы с провайдером базы данных. Для этих целей можно воспользоваться стандартным мастером Windows, который можно вызвать из свойств компонента Delphi или воспользоваться готовым файлом связи DBDemos.udl, в котором необходимо лишь указать путь, где расположена база данных программы. [1, с. 86]

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

4.3 Описание листинга программы.

Программа дипломного проекта разработана в среде объектно-ориентированного программирования Delphi 7 Enterprise и имеет в своем составе базу данных, созданную в СУБД Microsoft Access 2007. В данном проекте база данных выполняет роль хранилища информации для режимов работы программы.

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

Программный продукт, как стандартный проект Delphi, построен по модульной структуре, состав которой представлен в таблице 4.1.

Таблица 4.1 Состав и назначение программных модулей

Наименование  модуля

Назначение

Phonebook.dpr

Основной модуль проекта. Указывается создание и взаимодействие программных модулей.

Dm.pas

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

Main.pas

Модуль главной  формы программы

Addtel.pas

Модуль для процедуры вставки и редактирования телефонного справочника

Login.pas

Модуль для  процедуры идентификации пользователя в программе


Модуль данных используется для соединения интерфейсных частей, работающих с базой данных, программы. В нем собраны в одном месте все компоненты работы с данными. Используется для наглядности и обеспечения работы бизнес-функций. Применение такого модуля препятствует засоренности компонентами интерфейса других модулей. Исходный код данного модуля не представляет интерес, так как это служебный модуль программы. Форма модуля данных с компонентами представлена на рисунке 4.5. На форме расположены компоненты TQuery, в которых формируются запросы к базе данных.

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

Рисунок 4.5 Модуль данных проекта программы

Процедура поиска данных по телефонной книге следующая:

procedure Tfmain.BitBtn1Click(Sender: TObject);

var

s:array [1..7] of string; // количество критериев поиска

i: integer;

find_str: string;

begin

// Проверка полей ввода критерия;

if trim(cb1.Text) = '' then s[1]:='' else s[1]:=' and gruppa like"'+'%'+ trim(cb1.Text)+'%'+'"'+'';

if trim(edit1.Text) = '' then s[2]:='' else s[2]:=' and name_tel like "'+'%'+ trim(Edit1.Text)+'%'+'"'+'';

if trim(edit2.Text) = '' then s[3]:='' else s[3]:=' and tel_sot like "'+'%'+ trim(Edit2.Text)+'%'+'"'+'';

if trim(edit3.Text) = '' then s[4]:='' else s[4]:=' and tel_rab like "'+'%'+ trim(Edit3.Text)+'%'+'"'+'';

if trim(edit4.Text) = '' then s[5]:='' else s[5]:=' and tel_dom like "'+'%'+ trim(Edit4.Text)+'%'+'"'+'';

if trim(edit5.Text) = '' then s[6]:='' else s[6]:=' and email like "'+'%'+ trim(Edit5.Text)+'%'+'"'+'';

if trim(edit6.Text) = '' then s[7]:='' else s[7]:=' and adress like "'+'%'+ trim(Edit6.Text)+'%'+'"'+'';

//формирование  строки запроса;

find_str:='';

for i:=1 to 7 do  if s[i]<>'' then find_str:=find_str+s[i];

if find_str = '' then  exit;

//удаление первого AND;

delete(find_str,1,5);

find_str:='WHERE '+find_str;

//формирование SQL запроса;

with fdm.q_tel do

begin

close; sql.Clear;

sql.add(sqltel_old);

sql.add(find_str);

open;

end;

end;

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

procedure Tfmain.dataedit1Click(Sender: TObject);

var i:byte;

begin

// преобразование даты  для запроса

DecodeDate(Dataedit1.Date, Year, Month, Day);

// формирование строки запроса выбора

d1:= 'where date_book = ' + '#' + IntToStr(year) + '/' + IntToStr(month) + '/' + IntToStr(day) + '#';

if fdm.q_calendar.Active then fdm.q_calendar.Close;

fdm.q_calendar.SQL.Clear;

fdm.q_calendar.SQL.Add('select * from book_table ');

fdm.q_calendar.SQL.Add(d1);

// memo13.Text:= fdm.q_calendar.SQL.Text;  проверочная строка - контроль работы запросов

fdm.q_calendar.open;

end;

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

procedure Tfmain.FormCreate(Sender: TObject);

var

i, j, Num : Integer;

S : String;

begin

// загрузка в поля редактирования  информации из файлов

Memo1.Lines.LoadFromFile('dat/'+ '1' +'.sav');

Memo4.Lines.LoadFromFile('dat/'+ '4' +'.sav');

Memo5.Lines.LoadFromFile('dat/'+ '5' +'.sav');

Memo2.Lines.LoadFromFile('dat/'+ '2' +'.sav');

Memo3.Lines.LoadFromFile('dat/'+ '3' +'.sav');

Memo6.Lines.LoadFromFile('dat/'+ '6' +'.sav');

Memo7.Lines.LoadFromFile('dat/'+ '7' +'.sav');

Memo8.Lines.LoadFromFile('dat/'+ '8' +'.sav');

Memo9.Lines.LoadFromFile('dat/'+ '9' +'.sav');

Memo10.Lines.LoadFromFile('dat/'+ '10' +'.sav');

AssignFile(F,'text/data.txt');

Reset(F);

Readln(F, Num);

if Num=0 then begin

ShowMessage('Неверный формат файла. Действие отменено.');

CloseFile(F);

Exit;

end;

Readln(F,Num);

if Num=0 then begin

ShowMessage('Неверный формат файла. Действие отменено.');

CloseFile(F);

Exit;

end;

end;

procedure Tfmain.FormClose(Sender: TObject; var Action: TCloseAction);

begin

// запись информации  из полей в файлы

Memo1.Lines.SaveToFile('dat/'+ '1' +'.sav');

Memo4.Lines.SaveToFile('dat/'+ '4' +'.sav');

Memo5.Lines.SaveToFile('dat/'+ '5' +'.sav');

Memo2.Lines.SaveToFile('dat/'+ '2' +'.sav');

Memo3.Lines.SaveToFile('dat/'+ '3' +'.sav');

Memo6.Lines.SaveToFile('dat/'+ '6' +'.sav');

Memo7.Lines.SaveToFile('dat/'+ '7' +'.sav');

Memo8.Lines.SaveToFile('dat/'+ '8' +'.sav');

Memo9.Lines.SaveToFile('dat/'+ '9' +'.sav');

Memo10.Lines.SaveToFile('dat/'+ '10' +'.sav');

end;

 

5 Защита программного продукта

Проблемы защиты информации актуальны по причине:

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