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

Реферат

Пояснительная записка содержит 33 листа печатного текста, 5 рисунков,5 таблиц, список литературы из10 источников, 2 приложения.

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

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

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

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

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

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

В пятом разделе описано руководство пользователя программного продукта.

В шестом разделе приведены  возможные способы защиты программного продукта и описан способ защиты разработанного программного продукта.

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

 

Содержание

Введение

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

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

3 Обоснование выбора технических средств

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

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

4.2 Организация входных и выходных данных

4.3 Структура базы данных

4.4 Описание структуры запросов базы данных

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

5 Тестирование программного продукта

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

7Руководство пользователя

Заключение

Литература

Приложение А. Блок-схема алгоритма программного продукта

Приложение Б.Диск с программным продуктом

Приложение В. Структура базы данных

 

 

 

Введение

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

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

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

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

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

Новизна данного проекта  обусловлена применением современных  технических и программных средств  для решения задачи автоматизированной постановки на очередь, записи и учета посещения гражданами сотрудников администрации с целью устранения очередей в здании администрации (ГИБДД, больницах, регистрационной палате и другихорганизациях).

 

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

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

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

  • фамилия посетителя и должностного лица;
  • дата и время приема.

Выходными данными являются:

  • база данных (БД) в виде таблицы на отдельной форме (посетитель, должностное лицо, дата и время назначенной встречи).

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

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

Для реализации программного продукта необходимо использовать специализированные средства объектно-ориентированного программирования для разработки интерфейса приложения, а так же локальную систему управления базами данных (СУБД).

Объектно-ориентированное, или объектное, программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.

Производительность объектных  программ.

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

Значительная глубина абстракции ООП-разработки часто приводит к созданию «многослойных» приложений, где выполнение объектом требуемого действия сводится к множеству обращений к объектам более низкого уровня.

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

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

СУБД — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

Основные функции СУБД:

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

Современная СУБД содержит следующие компоненты:

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

Для создания программного продукта используются специализированные средства объектно-ориентированного программирования.

Для создания БД используются специализированные средства создания баз данных.

 

  1. Обоснование выбора инструментальных программных средств

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

Инструментальные средства для создания программных продуктов:

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

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

  • MicrosoftVisualBasic;
  • SybasePowerBuilder;
  • Borland C++Builder;
  • BorlandDelphi 10 Lite v4.1.

Сравнение и выбор наиболее подходящего средивышеупомянутых языков программирования:

VisualBasic (VB) унаследовал положительные качества и отчасти синтаксис своего предка - языка Бэйсик, у которого есть немало диалектов. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.

VB - средство быстрой разработки прототипов программы, для разработки приложений баз данных и вообще для компонентного способа создания программ, работающих под управлением операционных систем семейства MicrosoftWindows.

Достоинства Microsoft Visual Basic:

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

НедостаткиMicrosoftVisualBasic:

  • отсутствие механизма наследования реализации объектов. Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию;
  • низкая скорость работы, обусловленная тем, что практически все встроенные функции языка реализованы через библиотеку времени исполнения (runtimelibrary), которая, в свою очередь, производит много «лишней» работы по проверке и/или преобразованию типов.

Все недостатки языка вытекают из его основного достоинства — простоты разработки графического интерфейса. Поэтому многие программисты используют VisualBasic для разработки интерфейса пользователя, а функциональность программы реализуют в виде динамически подключаемых библиотек (DLL), написанных на другом языке. Чаще всего C++ или же Delphiс 5 по современные версии. Данный показатель означает, что этот язык не подходит по следующим причинам:

  • программу необходимо дописывать на другом объектно-ориентированном языке программирования, как на C++ или Delphi;
  • скорость работы;
  • отсутствует механизм наследования.

PowerBuilder - передовой объектно-ориентированный  инструмент для коллективной  разработки приложений масштаба  предприятия с широким спектром  поддерживаемых стандартов Web-ориентированных  компонент. Интегрированный инструментарий PowerSite позволяет разработчикам использовать PowerBuilder в качестве средства разработки  для Web-приложений. Тесная интеграция  с сервером приложений EAServer обеспечивает  надежность, готовность и масштабируемость  интернет-приложений, разрабатываемых на PowerBuilder и развертываемых на EAServer.

PowerBuilder, - среда декларативной  разработки приложений, позволяющая  создавать, поддерживать и развивать  критические для бизнеса Windows приложения.

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

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

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

С++ компилируемая строго типизированная среда программирования общего назначения. Поддерживает разные парадигмы программирования, но с  его предшественником – средой С (си) наиболее внимание уделено поддержке  объектно-ориентированного и обобщенного  программирования.

Основные преимущества Borland C++BuilderX:

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

C++BuilderX предназначен для упрощения  параллельного управления исходным  кодом за счет тесной интеграции  с BorlandStarTeam - системы автоматического  конфигурирования и управления  изменениями.

Главным и решающим недостатком  С++ являются:

  • ручное подключение библиотек;
  • отсутствие графических компонентов.

Delphi использует структурный  объектно-ориентированный язык (Object Pascal), который сочетает с одной  стороны мощь и простоту программирования. Delphi – это комбинация нескольких  важных технологий:

  • высокопроизводительный компилятор в машинный код;
  • объектно-ориентированная модель компонент;
  • визуальное построение приложений из программных прототипов;
  • масштабируемые средства для построения баз данных.

Delphi – мощная система,  предназначенная для быстрой  разработки приложений самого  различного характера и назначения.

Использование Delphi 10 позволяет  создавать как самые простые  приложения, на разработку которых  требуется 2-3 часа, так и серьезные  корпоративные проекты, предназначенные  для работы десятков и сотен пользователей. Вследствие чего Delphi 10 предназначен не только для профессионалов-программистов, но и для обычного персонала различных  компаний и учебных заведений. Так  же важно отметить небольшой размер установочных файлов, что не затрудняет хранение, переустановку самой программы. Изначально она обладает достаточным  минимумом для создания любого несложного приложения, а дополнительно идут наборы компонентов, которые можно  установить в случае необходимости. Благодаря минимализму Delphi 10 Lite быстрее  загружается и компилирует программный продукт. Поэтому среда программирования Delphi 10 Lite v4.1 является наиболее подходящей для разработки данного программного продукта.

ДляразработкиданногопрограммногопродуктабылавыбранасредаразработкиDelphi10 Lite v4.1. Это модификация Delphi 2006, не требующая наличия .NET. Размер архива - 74.6 MB, что, позволяет создавать полноценные программы.

Среда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным  базам данных.

Особенности:

  • небольшой размер дистрибутива;
  • выключены все установочные опции, кроме «Sourcecode».

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

Для реализации программного продукта используется специализированная среда обработки и создания БД. На современном уровне обработки  данных в виде такого инструментария можно использовать Microsoft Access.

Microsoft Office Access — реляционная СУБД корпорации. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных. К его достоинствам относятся:

  • построитель таблиц;
  • построитель экранных форм;
  • построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
  • построитель отчётов, выводимых на печать.

Таким образом для совмещения с  БД используется среда обработки  и создания Microsoft Access. 

  1. Обоснование выбора технических средств

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

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

  • центральный процессор с тактовой частотой не менее333 МГц – используется для обработки информации  (рекомендуется частота в1 ГГц);
  • видеоадаптер не менее 128 Мб;
  • свободное пространство на жестком диске для полной установки 265 Мб;
  • объем оперативной памяти не менее256 МБ;
  • привод для чтения компакт-дисков;
  • манипулятор типа«мышь»;
  • клавиатура;
  • VGA, DVI или HDMI монитор;

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

Процессор - исполнитель  машинных инструкций, часть аппаратного  обеспечения компьютера; отвечает за выполнение операций, заданных программами. Основной характеристикой быстродействия процессора является его тактовая частота [8]. Для работы программы с незначительными временными задержками или без задержек предъявляются требования к тактовой частоте 166MГц или выше.

Видеоадаптер (графический ускоритель) занимается формированием самого графического образа [8].

Оперативная память предназначена для временного хранения данных и команд, необходимых процессору для выполнения им операций. Оперативная память передаёт процессору данные непосредственно, либо через кэш-память. Для работы программы необходим указанный объём памяти в размере 256 Мб или выше. В случае несоблюдения этого требования программный код не будет загружен в оперативную память, не будет выполнен процессором и, соответственно, программа не будет выполнена [9].

Оптический привод предназначен для считывания информации с оптических носителей информации (компакт-диск).

Накопитель на жёстких  является основным накопителем данных в большинстве компьютеров.

Для установки программного обеспечения требуется свободное  место на жестком диске. Объём 200 Мб обуславливается критически-допустимым размером на жестком диске [10], необходимым для стабильной работы операционной системы. База данных по мере заполнения будет занимать с каждым разом все больше свободного места на жестком диске, но изначально рекомендуется зарезервировать под нее около 50 Мб. 

  1. Описание программного продукта
    1. Описание блок-схема алгоритма работы программы

Описание блок-схемы:

  1. Начало;
  2. Ознакомительный модуль;
  3. Ввод данных;
  4. Проверка наличия данных;
  5. Очистка содержимого элементов формы;
  6. Нахождение решения матрицы критерием Лапласа
  7. Выход из программы.

Таблица 1 – Описание переменных

Переменная

Тип

Значение 

i, n

integer

Переменные, отвечающие за кол-во столбцов и строк матрицы критерия Лапласа

a, b

integer

Счетчик строк и столбцов таблиц StringGrid1 и StringGrid2

s

real

Объявление переменной типа с плавающей  точкой для суммирования построчно


 

Таблица 2 – Описание процедур

Название

Значение

procedure TForm3.BitBtn1Click

(Sender: TObject);

Переход на сл. форму

(стартовая форма невидима, а следующая показывается)

procedure TForm3.BitBtn2Click

(Sender: TObject);

Закрытие этой и главной формы

procedure TForm1.BitBtn2Click

(Sender: TObject);

Переход на пр. форму

(данная форма невидима, а предыдущая показывается)

procedure TForm1.BitBtn3Click

(Sender: TObject);

Закрытие главной, а следовательно  и этой формы

procedure TForm1.BitBtn1Click

(Sender: TObject);

Применение параметров и подгонка интерфейса по красоте

procedure TForm1.BitBtn4Click

(Sender: TObject);

Переход на сл. форму

(данная форма невидима, а следующая показывается)

procedure TForm1.FormCreate

(Sender: TObject);

Применение начальных значений полям ввода

Procedure

TForm1.LabeledEdit1KeyPress (Sender: TObject; var Key: Char);

Ограничение 1 поля ввода на доступность  вводимых символов

procedure TForm1.LabeledEdit2KeyPress

(Sender: TObject; var Key: Char);

Ограничение 2 поля ввода на доступность  вводимых символов

procedure TForm2.BitBtn1Click

(Sender: TObject);

Закрытие главной, а следовательно  и этой формы

procedure TForm2.BitBtn2Click

(Sender: TObject);

Переход на пр. форму

(данная форма невидима, а предыдущая показывается)

procedure TForm2.BitBtn3Click

(Sender: TObject);

Вывод результата

procedure TForm2.BitBtn4Click

(Sender: TObject);

Очистка матрицы критерия Лапласа, «проверочной» матрицы и поля вывода решения

procedure TForm2.StringGrid1KeyPress

(Sender: TObject; var Key: Char);

Ограничение матрицы критерия Лапласа  на ввод допустимых символов


 

 

    1. Организация входных и выходных данных

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls;

type

TForm1 = class(TForm)

StatusBar1: TStatusBar;

UpDown1: TUpDown;

UpDown2: TUpDown;

LabeledEdit2: TLabeledEdit;

BitBtn1: TBitBtn;

Label1: TLabel;

Label2: TLabel;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

LabeledEdit1: TLabeledEdit;

procedure LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedureFormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

i,n:integer;

implementation

uses Unit2, Unit3;

{$R *.dfm}

{переход на пр. форму

(делаем данную форму  невидимой, а пр. показываем)}

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Form1.Visible:=False;

Form3.Visible:=True;

end;

{закрытие главной, а  следовательно и этой формы}

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

Form1.Close;

end;

{применение параметров  и подгонка интерфейса по красоте}

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

{проверка наличия чисел  в полях ввода}

If ((LabeledEdit1.Text<>'') and (StrToInt(LabeledEdit1.Text)<8))

and ((LabeledEdit2.Text<>'') and (StrToInt(LabeledEdit2.Text)<8)) then

begin

{присвоение переменных, отвечающих за кол-во столбцов  и строк в

матрицекритерияЛапласа}

i:=StrToInt(LabeledEdit1.Text); StatusBar1.Panels[0].Text:=('I=')+(IntToStr(i));

n:=StrToInt(LabeledEdit2.Text); StatusBar1.Panels[1].Text:=('J=')+(IntToStr(n));

StatusBar1.Panels[2].Text:=('Нажмите "Далее"');

{обозначение кол-ва ячеек  1 и 2 таблиц}

Form2.StringGrid1.ColCount:=i;

Form2.StringGrid1.RowCount:=n;

Form2.StringGrid2.ColCount:=0;

Form2.StringGrid2.RowCount:=n;

{подгонка размера таблицы  1 и 2 по красоте}

Form2.StringGrid1.Width:=i*26+1;

Form2.StringGrid1.Height:=n*26+1;

Form2.StringGrid2.Left:=Form2.Width-80;

Form2.StringGrid2.Height:=n*26+1;

{подгонка формы и кнопок  по красоте}

Form2.Height:=Form2.StringGrid1.Height+155;

Form2.BitBtn1.Top:=Form2.Height-85;

Form2.BitBtn2.Top:=Form2.Height-85;

Form2.BitBtn3.Top:=Form2.Height-85;

Form2.BitBtn4.Top:=Form2.Height-115;

{подгонка вывода резельтата  по красоте}

Form2.Label5.Left:=Form2.Width-220;

Form2.Label4.Top:=Form2.Height-80;

Form2.Label3.Top:=Form2.Height-100;

end

{вывод сообщения при  некорректно введенных параметрах}

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