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

Использование облачных вычислений и технологии терминального доступа в рамках взаимодействия с клиентами предприятия. Разработка автоматизированной системы подготовки и выдачи специализированных документов с помощью Windows Form в среде Visual Studio.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

3. Delphi - это среда разработки программ, ориентированных на работу в операционных системах Windows. Программы в Delphi создаются на основе современной технологии визуального проектирования которая, в свою очередь, базируется на идеях объектно-ориентированного программирования. Программы в Delphi пишутся на языке Object Pascal, который является приемником и развитием языка Turbo Pascal. С помощью Delphi можно создавать различные типы программ - и консольные приложения, и оконные приложения и приложения для работы с базами данных.

4. C++ -- это компилируемый язык со статической типизацией на котором можно создавать программы любого уровня сложности. C++ спроектирован и динамично развивается как язык, поддерживающий различные методы и технологии программирования, но реализующий их на платформе, обеспечивающей высокую техническую эффективность. С++ использовался в следующих проектах: MS Windows, SQL Server, DirectX, Edge и Office, KDE, Qt, MySQL, Opera.

4. C#. На сегодняшний момент язык программирования C# один из самых мощных, быстро развивающихся и востребованных языков в IT-отрасли. На нем пишутся самые различные приложения: от консольных программ до крупных веб-порталов и веб-сервисов, обслуживающих ежедневно миллионы пользователей. C# является с Си-подобным синтаксисом и близок в этом отношении к С++ и Java. C# является объектно-ориентированным языком, который поддерживает полиморфизм, наследование, перегрузку операторов, статическую типизацию.

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

· ваша платформа

· предыдущий опыт в программировании

· база данных, которую вы выбрали для серверной части

Итак, после того как мы перечислили возможные языки программирования и указали критерии их выбора, целесообразно ответить на выше поставленные вопросы:

· платформа -Windows

· предыдущий опыт в программировании - C++

· база данных- Microsoft SQL Server

Судя по ответам, ответ очевиден - это язык C#. Во - первых, C# - объектно-ориентированный язык программирования и разработан в компании Microsoft как язык разработки приложений для платформы Microsoft.NET. Во-вторых, все три элемента (Microsoft SQL Server, Microsoft Windows, Microsoft Office Word), которые в будущем будут входить в состав системы, являются разработками компании Microsoft, а значит, проблем в их взаимодействии быть не должно.

2.4.2 История языка С#

C# берет свое начало в других языках, в основном в С++, Delphi, Java. Хотя язык Java решил многие проблемы переносимости программ с одной платформы на другую, все же для успешной работы в современном Internet - окружении ему недостает некоторых свойств, одним из которых является поддержка возможности взаимодействия нескольких языков( многоязыкового программирования). Под многоязыковым программированием понимается способность кода, написанного на разных языках, работать совместно. Эта возможность очень важна при создании больших программ, а также желательна при программировании отдельных компонентов, которые можно было бы использовать во многих компьютерных языках и в различной операционной среде. Серьезным недостатком Java является отсутствие прямой поддержки платформы Windows, являющейся сегодня наиболее широко используемой операционной системой. Чтобы решить эти проблемы, компания Microsoft в конце 1990-годов разработала язык C#. Альфа-версия языка была выпущена в середине 2000 года.

C#[8] - это новый язык, разработанный Эндерсом Хейлсбергом(Anders Hejlsberg), Скоттом Уилтамутом ( Scott Wiltamuth) и Питером Гоулдом(Peter Golde) в корпорации Microsoft в качестве основной среды разработки для .Net Framework и всех будущих продуктов Microsoft. Язык С# напрямую связан с широко применяемыми и наиболее популярными во всем мире языками программирования С, С++ и Java. Сегодня практически все профессиональные программисты знают эти языки, поэтому переход к базирующему на них С# происходит без особых трудностей. Хейльсберг, так же как и авторы языков С++ Java, не “изобретал колесо”, а пошел по проторенному пути - используя в качестве фундамента ранее созданные языки, сосредоточился на улучшениях и инновациях.

2.4.3 Сравнение языка С# с другими языками

Сравнение С# с Visual C++

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

Так как предполагается, что С# более продуктивный, чем С++,С# запрещает некоторые идиомы С++, часто приводящие к ошибкам:

· С# запрещает указатели и арифметику указателей(за исключением их применения в блоках небезопасного кода).

· С# исключает макросы препроцессора (но сохраняет условную компиляцию и константы #define). Сложные могут вызывать ошибки, когда они непредсказуемым образом применяются к составным аргументам.

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

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

С# считается более легчим, чем С++, также потому, что:

§ Когда компилируются библиотеки классов С#, компилятор автоматически создает компоненты, которые могут использоваться и другими приложениями. Не требуется разбираться с макросами ATL и GUID.

§ С# поддерживает использование Windows Forms для быстрой разработки графических интерфейсов пользователя. Не требуется писать код для обработки событий OpenPaint и т.д.

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

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

Другим преимуществом C# является набор полезных типов данных, который он предоставляет в пространстве имен System.В целях предотвращения ошибок типы С# являются строго типизованными. Это означает, что преобразование между определенными типами данных должны осуществляться явно.

Сравнение С# с Delphi

Delphi, другой инструмент быстрой разработки от компании Borland, который сочетает формы с использованием собственного языка, основанного на языка Pascal. Delphi достиг наивысшей популярности перед появлением VB6( Visual Basic 6), будучи единственным простым языком для создания компонентов COM и элементов управления Active X, который могли бы использовать программисты, не знающие С++.

Основанный на использовании пар BEGIN…END для разделения блоков кода, синтаксис Delphi является более громоздким и прямолинейным, чем синтаксис С#. Проект Delphi нельзя отлаживать по шагам в отладчике VS.NET, как это делается для проектов VB.NET.

Сравнение С# с Java

Java представляет собой язык программирования и платформу вычислений, которая была впервые выпущена Sun Microsystems в 1995 г. Существует множество приложений и веб-сайтов, которые не работают при отсутствии установленной Java, и с каждым днем число таких веб-сайтов и приложений увеличивается. Java отличается быстротой, высоким уровнем защиты и надежностью.

Программы в Java и С# состоят из классов - основной структурной единицы приложения. И в Java, и в C# разрешается наследование только от одного класса; вместе с тем, можно подключить к классу более одного интерфейса. C# позволяет программисту не заботиться об удалении объектов - это делается, как и в Java, автоматически. Аналогичным образом в Java и С# реализован механизм области видимости имен. В C# этот механизм назван пространством имен, в Java - использованием пакетов(packages). И в Java, и в С# не используются указатели, а рабочим языком в обоих случаях является С, так что некоторые фрагменты когда на Java и С# могут быть неотличимы. В С# имеется оператор goto(переход на метку), в языке Java - нет. В С# можно определять структуры и перечисления; в Java эта возможность исключена. Имеются различия в реализации оператора switch. Оба языка поддерживают многопоточность. Сочетание знаний по Java и С# может дать программисту следующие преимущества:

· Java и С# ориентированы на общий стремительно растущий сегмент рынка. Они призваны решать одни и те же задачи, используя, в принципе, одни и те же концептуальные установки.

· Изучение одного языка при знании другого, как пишет Гиббонз,- дело нескольких часов. Эта подтверждается тем, что:

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

§ коды приложений базируются на синтаксисе языка С и имеют много общего;

§ современное программирование требует скорее понимания, чем запоминания;

2.5 Разработка приложения с помощью Windows Form в среде Visual Studio

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

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

Форма это объект, который задается свойствами, определяющими их внешний вид, методами, определяющими их поведение, и событиями, определяющими их взаимодействие с пользователем.

Компания Майкрософт предоставила в составе библиотеки классов .NETFramework огромное количество "элементов управления", которые можно помещать на формы. Освоив этот инструмент, вы сможете быстро создавать эффектные приложения.

Вот некоторые элементы управления, которые можно размещать на формах[15]:

· Label (Надпись).

· Button (Кнопка).

· ListBox (Список).

· CheckBox (Флажок).

· RadioButton (Переключатель).

· MessageBox (Окно сообщений).

· Menu (Меню).

· TabControl (Управление вкладками).

· Toolbar (Панель инструментов).

· TreeView(Дерево).

· DataGrid(Сетка данных).

· PictureBox (Изображение).

2.5.1 Процесс создания проекта Windows Form

При создании нового проекта, на экране появится пустая форма Form1. Это стандартный шаблон новой программы Windows Form (Рис. 2.2).

Рис. 2.2 - Вид нового проекта Windows Form

Формы Windows содержат множество свойств, позволяющих настраивать их поведение и внешний вид. Просматривать и изменять эти свойства можно в окне “Свойства” конструктора при разработке, а также программно во время выполнения приложения. Приведем примеры некоторых из свойств:

· Name - задает имя классу Form, показанному в конструкторе. Данное свойство задается исключительно во время разработки

· BackColor - указывает цвет фона формы

· Size - принимает и устанавливает исходный размер формы

· Text - указывает заголовок формы

· Visible - указывает, видима ли форма во время работы

Большую часть пространства Visual Studio занимает графический дизайнер, который содержит форму будущего приложения. Пока она пуста и имеет только заголовок Form1. Справа находится окно файлов решения/проекта - Solution Explorer (Обозреватель решений). Там и находятся все связанные с приложением файлы, в том числе файлы формы Form1.cs.

Для того чтобы добавить элементы на форму необходимо найти в левой части Visual Studio вкладку ToolBox (Панель элементов) (Рис. 2.3). Нажать на эту вкладку, и откроется панель с элементами, откуда мы можем с помощью мыши перенести на форму любой элемент:

Рис. 2.3- Панель элементов

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

Если все необходимые элементы добавлены на форму и их поведение прописано в файле кода, то можно перейти к завершающему этапу разработки - запуск/ отладка приложения. Чтобы запустить приложение в режиме отладки, нужно нажать на клавишу F5 или на зеленую стрелочку на панели Visual Studio. После запуска приложения студия компилирует его в файл с расширением exe. Найти данный файл можно, зайдя в папку проекта и далее в каталог bin/Debug.

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

документ облачный автоматизированный терминальный

3. Разработка модели

3.1 Общая характеристика и цель разработки модели

Основной целью разработки модели является практическое обоснование использования облачных вычислений и технологии терминального доступа, как одного из способа повышения эффективности работы организации. Организацией, на основе которой была спроектирована модель, является Многофункциональный центр (МФЦ). Главное направление работы МФЦ является оформление документов. Функционал модели нацелен на автоматизацию процесса работы с документами (например, заполнение данных о клиенте, получение данных о клиенте из других инстанций и т.д.). Основные процессы и структуру предприятия можно представить в виде диаграммы разработанной в среде BPwin.

Диаграмма верхнего уровня (А-0) (Рис. 3.1)

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

Рис. 3.1 - Контекстная диаграмма А-0

Диаграмма декомпозиции А-0 (Рис. 3.2)

Эта диаграмма декомпозирует работу «Деятельность МФЦ»

Рис. 3.2 - Диаграмма декомпозиции А-0

Диаграмма композиции А-1 (Рис. 3.3)

Эта диаграмма декомпозирует работу «Оформление документа»

Рис. 3.3 - Диаграмма декомпозиции процесса “Оформление документа”

Разработка модели будет реализована в среде Microsoft Visual Studio. Данная среда обладает большим разнообразием функций для разработки приложения.

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

Учитывая то, что операционной системой терминала является Windows, следовательно, приложение будет Windows Form. Для реализации проекта по автоматизированной системе подготовки документов и решения, поставленных в дипломной работе задач необходимо было выделить два этапа:

· подготовительный этап;

· разработка прототипа модели.

3.2 Подготовительный этап

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

· база данных;

· локальные хранилища/источники;

· документы-шаблоны.

3.2.1 Создание и заполнение базы данных

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

· SQL

· Oracle

· Access

При сравнении функциональных возможностей этих программных продуктов и анализе задач ставящихся перед разрабатываемой системой, было принято решение создать базу данных SQL. Основным преимуществом использования базы такого типа является то, что сервер SQL (со всеми необходимыми таблицами) можно создавать непосредственно внутри Visual Studio. Также SQL является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

· создание в базе данных новой таблицы;

· добавление в таблицу новых записей;

· изменение записей;

· удаление записей;

· выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

· изменение структур таблиц.

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

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

Каждое предложение SQL-- это либозапросданных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:

· запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта);

· запросы на получение данных;

· запросы на добавление новых данных (записей);

· запросы на удаление данных;

· обращения к СУБД.

Итак, подключим сервер “Test” и создадим внутри него необходимые для работы таблицы. Эти таблицы соответственно называются “Login”,“Clients”,”Data”. Структура каждой приведена ниже:

Структура таблицы “Login”

CREATE TABLE [dbo].[Login] (

[Phone] NVARCHAR (50) NOT NULL,

[Password] NVARCHAR (50) NULL,

PRIMARY KEY CLUSTERED ([Phone] ASC)

);

Структура таблицы “Clients”

CREATE TABLE [dbo].[Clients] (

[Phone] NVARCHAR (50) NOT NULL,

[FirstName] NVARCHAR (50) NULL,

[SecondName] NVARCHAR (50) NULL,

[LastName] NVARCHAR (50) NULL,

[Phone] NVARCHAR (50) NULL,

[Address] NVARCHAR (MAX) NULL,

[Passport] NVARCHAR (MAX) NULL,

[Birthplace] NVARCHAR (MAX) NULL,

PRIMARY KEY CLUSTERED ([Phone] ASC)

);

Структура таблицы “Data”

CREATE TABLE [dbo].[Data] (

[Phone] NVARCHAR (50) NOT NULL,

[Number] NVARCHAR (MAX) NULL,

[BeforeNumber] NVARCHAR (50) NULL,

[Data] NVARCHAR (50) NULL,

[Address] NVARCHAR (MAX) NULL,

[Area] NVARCHAR (50) NULL,

[Cost] NVARCHAR (50) NULL,

PRIMARY KEY CLUSTERED ([Phone] ASC)

);

В данных таблицах используется тип данных NVARCHAR [(n|max)] - символьный тип данных, переменной длины (в зависимости от желания разработчика). Переменная n может принимать значение от 1 до 4000, когда указывается max, это значит, что n=4000.

INT - это целочисленный тип данных, используемый для числовых расчетов и имеющий диапазон от -2147483648 до 2147483647.

На следующем этапе созданные таблицы заполнялись данными.

Содержимое таблицы “Login” (Рис. 3.4):

Рис. 3.4 - Данные таблицы “Login”

Содержимое таблицы “Clients” (Рис. 3.5):

Рис. 3.5 - Данные таблицы “Clients”

Содержимое таблицы “Data” (Рис. 3.6):

Рис. 3.6 - Данные таблицы “Data”

3.2.2 Создание локальных хранилищ/источников

Результатом работы приложения будет документ, который необходимо сохранять в системе, поэтому необходимо было создать папку “Заявления” (Рис. 3.7).

Рис. 3.7 - Папка “Заявления”

Во время работы приложения необходимо было реализовать возможность получения документов - шаблонов. Для этого создавалась папка на локальном диске с именем “шаблоны” (Рис. 3.8).

Рис. 3.8 - Папка “Шаблоны”

Здесь хранятся документы - шаблоны для нашего приложения. При необходимости приложение будет обращаться по определенному адресу хранилища, и получать необходимые ему образцы документов. Содержание данной папки приведено на Рис. 3.9:

Рис. 3.9 - Содержимое папки “Шаблоны”

3.2.3 Создание документов - шаблонов

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

· Создать новый документ или использовать уже существующий;

· Строки, которые подлежат заполнению, представить в виде экспресс полей;

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

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

· Открыть документ в MS Word и установить курсор в место, куда нужно добавить экспресс поле;

· С помощью последовательности действий: Вставка -> Экспресс-блоки ->Поле ->Выбрать поле “MergeField” и в соответствующей строке указать имя;

· Поле добавлено в формате «Имя поля»

Следуя данному алгоритму, был отредактирован документ и получено следующее (Рис. 3.10):

Рис. 3.10 - Внешний вид шаблона

На этом подготовительный этап был завершен и необходимо было перейти к разработке модели.

3.3 Разработка модели

3.3.1 Начальная форма - вход в систему

Работа приложения начинается со стартовой формы. Это форма, которую видит пользователь, при запуске приложения. (Рис. 3.11):

Рис. 3.11 - Внешний вид стартовой формы

Данная форма состоит из нескольких элементов:

· Фон.

· Textbox.

· Кнопка(button).

Фон формы был разработан специально для этого приложения. Изначально, была выбрана абстрактная картинка и отредактирована в соответствии с требованиями.

Элементы управления (Рис. 3.12) были добавлены из панели элементов среды Visual Studio.

Элемент управления TextBox(текстовое окно) (Рис. 3.13) предназначен для хранения текста, который в последующем может быть использован по необходимости. В конкретной форме присутствую два элемента Textbox, которые служат соответственно для ввода пользователем номера телефона и пароля. Данные в текстовое окно вводятся при помощи клавиатуры.

Рис. 3.12 - Панель элементов

Рис. 3.13 - Внешний вид элемента TextBox

Элемент управления TextBox(текстовое окно) (Рис. 3.13) предназначен для хранения текста, который в последующем может быть использован по необходимости. В конкретной форме присутствую два элемента Textbox, которые служат соответственно для ввода пользователем номера телефона и пароля. Данные в текстовое окно вводятся при помощи клавиатуры.

Кнопка (button) (Рис. 3.14) - это самый простой из всех элементов управления и при этом наиболее часто используемый. Можно сказать, что кнопка - это возможность принять ввод (щелчок кнопкой мыши или набор на клавиатуре) наиболее простым способом.

Рис.3.14 - Внешний вид элемента Button

После того как пользователь ввел свой номер телефона и пароль, он нажимает на кнопку “Войти”. Дальше происходит процесс сравнения данных, которые были введены и данных, которые находятся в таблице Login. Реализовано это следующим образом[4]:

SqlConnection con = new SqlConnection(@"Строка подключения к базе данных");

SqlDataAdapter sda = new SqlDataAdapter("Select Count(*) FROM Login where Phone='" + textBox1.Text + "' and Password= '" + textBox2.Text + "'", con);

DataTable dc = new DataTable();

sda.Fill(dc);

if (dc.Rows[0][0].ToString() == "1")

{

SqlCommand com = new SqlCommand("Select * From Clients where Phone=@Phone", con); com.Parameters.AddWithValue("@Phone",textBox1.Text.ToString());

SqlDataAdapter fil = new SqlDataAdapter(com);

System.Data.DataTable af = new System.Data.DataTable();

fil.Fill(af);

PA cd = new PA();

cd.Show();

cd.label1.Text = af.Rows[0][3].ToString();

cd.label2.Text = af.Rows[0][1].ToString();

cd.label3.Text= af.Rows[0][2].ToString();

cd.label4.Text = textBox1.Text;

PA cd = new PA();

cd.Show();

}

else

{

MessageBox.Show("Неверный номер телефона или пароль","Неверно");

}

Учитывая использование SQL таблиц, процесс сравнения данных можно реализовать с помощью взаимодействия с ней. Сначала необходимо было подключить базу данных к проекту. Это реализовано с помощью класса SqlConnection. Он представляет открытое подключение к базе данных SQL Server. Далее используя класс SqlDataAdapter, можно подключиться к базе данных и выполнить команду SELECT. SELECT - оператор языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию. Условиями, в данном случае, являются номер телефона и пароль, которые вводил пользователь. После выполнения запроса, происходит создание таблицы, в ячейку которой будет записано значение. Если это значение равно 1,то выполняется блок команд, если равно 0, то такого пользователя нет в базе данных или данные введены неверно.

В случае верно введенных данных происходит запрос к таблице “Clients” базы данных “Test” и получение данных, которые соответствуют критерию (критерием является номер телефона). Полученные данные записываются в таблицу, после чего значения определенных ячеек передаются во вторую форму элементам label. Если данные введенные клиентом неверны, то на экран выводится сообщение о неверно введенном номере или пароле. Оповещение о неверно введенных данных представлено ниже (Рис. 3.15).

Рис. 3.15 - Оповещение о неверно введенных данных

3.3.2 Вторая форма - личный кабинет

Пользователь, который успешно прошел авторизацию, получает доступ к следующей форме. Эта форма называется “личный кабинет”, внешний вид которой представлен на Рис. 3.16.

Рис. 3.16 - Внешний вид формы “Личный кабинет”

Основными составляющими данной формы являются:

· Фон;

· Кнопка(button);

· Label;

Фон формы был разработан специально для этого приложения. Изначально, была выбрана абстрактная картинка и после чего она была отредактирована в соответствии с требованиями.

Кнопка(button) - это самый используемый элемент управления, характеристика которому была дана в разделе “3.3.1 Начальная форма - вход в систему”. В состав формы входят три кнопки, которые выполняют разные функции при помощи события button_click. Это событие происходит только в тот момент, когда пользователь нажал на кнопку. Рассмотрим событие каждой кнопки в отдельности.

Событие кнопки “Заполнить документ” (Заявление):

{

SqlConnection connect = new SqlConnection(@"Строка подключения к базе данных");

SqlCommand com = new SqlCommand("Select * From Clients where Phone=@Phone", connect);

com.Parameters.AddWithValue("@Phone", label4.Text.ToString());

SqlDataAdapter fil = new SqlDataAdapter(com);

System.Data.DataTable sf = new System.Data.DataTable();

fil.Fill(sf);

var application = new Microsoft.Office.Interop.Word.Application();

var document = new Microsoft.Office.Interop.Word.Document();

document = application.Documents.Add(Template: @"Адрес документа-шаблона");

application.Visible = true;

foreach (Microsoft.Office.Interop.Word.Field field in document.Fields)

{

if (field.Code.Text.Contains("FirstName"))

{

field.Select();

application.Selection.TypeText(sf.Rows[0][1].ToString());

}

else if (field.Code.Text.Contains("SecondName"))

{

field.Select();

application.Selection.TypeText(sf.Rows[0][2].ToString());

}

else if (field.Code.Text.Contains("LastName"))

{

field.Select();

application.Selection.TypeText(sf.Rows[0][3].ToString());

}

else if (field.Code.Text.Contains("Address"))

{

field.Select();

application.Selection.TypeText(sf.Rows[0][5].ToString());

}

else if (field.Code.Text.Contains("Passport"))

{

field.Select();

application.Selection.TypeText(sf.Rows[0][6].ToString());

}

else if (field.Code.Text.Contains("Birthplace"))

{

field.Select();

application.Selection.TypeText(sf.Rows[0][7].ToString());

}

else if (field.Code.Text.Contains("Data"))

{

field.Select();

application.Selection.TypeText(DateTime.Now.ToShortDateString());

}

}

document.SaveAs(FileName:@"C:\Users\dns\Desktop\Заявления\zayavlenie1.docx");

document.Close();

application.Quit();

Preview ew = new Preview();

ew.Show();

this.Close();

}

При нажатии на кнопку происходит подключение к базе данных SQL (с помощью рассмотренного ранее класса SqlConnect). В базе данных происходит обращение к необходимой таблице (таблица “Clients”) и извлечение всех столбцов, которые отвечают критерию. Критерием выступает столбец “Phone”, по которому происходит сортировка. Результатом выполнения запроса является строка и несколько столбцов (таких как Фамилия, Имя, Отчество и т.д.). После этого извлеченные данные помещаются во вновь созданную таблицу “sf”.

Следующим шагом для подачи заявления в электронном виде является создание документа с личными данными клиента. Так как изначально был подготовлен документ - шаблон формата Word, в программе необходимо задействовать инструмент для работы с таким форматом. Этим инструментом является класс Microsoft.Office.Interop.Word. Этот класс обладает большим количеством функций для работы с документами Word. Сначала мы создаем новый документ на основе нашего документа - шаблона.

C помощью цикла foreach происходит последовательный перебор всех значений параметра Microsoft.Office.Interop.Word.Field field в коллекции document.Fields.

Ниже приведена общая форма оператора цикла foreach:

foreach(тип имя_переменной_цикла in коллекция){

оператор;}

Здесь тип имя_переменной_цикла обозначает тип и имя переменной управления циклом, которая получает значение следующего элемента коллекции на каждом шаге выполнения цикла foreach. А коллекция обозначает циклически опрашиваемую коллекцию, которая является массивом. Оператор цикла foreach действует следующим образом. Когда цикл начинается, первый элемент массива выбирается и присваивается переменной цикла. На каждом следующем шаге итерации выбирается следующий элемент массива, который сохраняется в переменной цикла. Цикл завершается, когда все элементы массива окажутся выбранными. Конкретно в нашем примере в качестве имени переменной цикла выступает переменная field, которая обозначает экспресс-поле. Коллекцией, в свою очередь, является document.fields, т.е. экспресс-поля документа.

Фрагмент цикла:

if (field.Code.Text.Contains("FirstName"))

{

field.Select();

application.Selection.TypeText(sf.Rows[0][1].ToString());

}

Здесь условие: если в документе содержится поле с именем “FirstName”, то заменить его на значение, соответствующее значению ячейке[0][1]. Подобным способом происходит заполнение данными всего документа. Завершающим действием этого события является сохранение только что созданного документа, и переход на форму “Preview”.

Событие кнопки “Заполнить документ” (Выписка):

{

SqlConnection con = new SqlConnection(@"Строка подключения к базе данных");

SqlCommand com = new SqlCommand("Select * From Data where Phone=@Phone", con); com.Parameters.AddWithValue("@Phone",label4.Text.ToString());

SqlDataAdapter fil = new SqlDataAdapter(com);

System.Data.DataTable lf = new System.Data.DataTable();

fil.Fill(lf);

var application = new Microsoft.Office.Interop.Word.Application();

var document = new Microsoft.Office.Interop.Word.Document();

document = application.Documents.Add(Template: @"Адрес документа-шаблона");

application.Visible = true;

foreach (Microsoft.Office.Interop.Word.Field field in document.Fields)

{

if (field.Code.Text.Contains("Number"))

{

field.Select();

application.Selection.TypeText(lf.Rows[0][1].ToString());

}

else if (field.Code.Text.Contains("BeforeNumber"))

{

field.Select();

application.Selection.TypeText(lf.Rows[0][2].ToString());

}

else if (field.Code.Text.Contains("Data"))

{

field.Select();

application.Selection.TypeText(lf.Rows[0][3].ToString());

}

else if (field.Code.Text.Contains("Address"))

{

field.Select();

application.Selection.TypeText(lf.Rows[0][4].ToString());

}

else if (field.Code.Text.Contains("Area"))

{

field.Select();

application.Selection.TypeText(lf.Rows[0][5].ToString());

}

else if (field.Code.Text.Contains("Cost"))

{

field.Select();

application.Selection.TypeText(lf.Rows[0][6].ToString());

}

}

document.SaveAs(FileName:@"C:\Users\dns\Desktop\Заявления\kadastr.docx");

document.Close();

application.Quit();

Kadastr ew = new Kadastr();

ew.Show();

this.Close();

}

Последовательность и содержание используемых команд события “Заполнить документ” идентичны командам, которые были рассмотрены в событии кнопки “Заполнить документ”, но со своим параметрами:

· Подключение происходит к таблице “Data”;

· За основу создание документа используется другой документ - шаблон, следовательно, другие экспресс-Поля;

Событие кнопки “Выйти из личного кабинет” соответственно закрывает форму “Личный кабинет” и открывает форму “Войти”. Фрагмент кода представлен ниже.

Login ew = new Login();

ew.Show();

this.Close();

Последний элемент, используемый в разработке системы, но не описанный - label. Label применяется для отображения простого текста на форме, доступного только для чтения. Чтобы задать отображаемый текст метки, надо установить свойство Text элемента (label.Text). В рамках разработки данной модели на форме присутствуют четыре элемента label, которым присваиваются значения ячеек таблицы, соответственно Фамилия, Имя, Отчество и номер телефона. Фрагмент кода присвоения значений приведен в разделе “3.3.1 Начальная форма - вход в систему”.

3.3.3 Третья и четвертая форма - формы “Preview” и “Kadastr”.

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

Форма “Preview” открывается автоматически после успешного выполнения события кнопки “Заполнить документ” и выглядит следующим образом (Рис. 3.17):

Рис. 3.17 - Внешний вид формы “Preview”.

Основными используемыми элементами формы являются:

· Фон

· Кнопка(button)

· Adobe Acrobat

Фон формы был разработан специально для этого приложения. Изначально, была выбрана абстрактная картинка и отредактирована в соответствии с требованиями.

Кнопки на форме выполняют одну функцию - переход на другую форму. Код реализации приведен ниже:

Событие кнопки “Вернуться в личный кабинет”:

PA cd = new PA();

cd.Show();

this.Close();

Событие кнопки “Выйти из личного кабинета”:

Login ew = new Login();

ew.Show();

this.Close();

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

{

string file = @"C:\Users\dns\Desktop\Заявления\zayavlenie1.docx";

string outfile = @"C:\Users\dns\Desktop\1.pdf";

string ex = System.IO.Path.GetExtension(file);

if (ex == ".doc" || ex == ".docx")

{

Microsoft.Office.Interop.Word.Application app = new Microsoft.Office. Interop. Word.Application();

Document doc = null;

doc = app.Documents.Open(file, Type.Missing, false);

doc.ExportAsFixedFormat(outfile, WdExportFormat.wdExportFormatPDF);

doc.Close(false, Type.Missing, Type.Missing);

app.Quit(false, false, false);

System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

}

axAcroPDF1.src = outfile;

}

Работу фрагмента кода можно описать с помощью алгоритма:

1. Создание строковых переменных и присваивание им в качестве значения пути, созданного на предыдущей форме документа и документа типа pdf.

2. Проверка условия на принадлежность документа типам doc и docx. Если условие, верно, то осуществляется переход к пункту 3.

3. С помощью сборки Microsoft.Office.Interop.Word происходит открытие документа типа Word и преобразование его в формат pdf.

4. Завершающим этапом является открытие преобразованного документа в Adobe Acrobat.

Adobe Acrobat Reader-- бесплатная программа, предназначенная для чтения, печати и рецензирования файлов PDF. Результатом работы с данном программой может быть печать и/или сохранение документа.

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

· Навести курсор мыши на документ. В появившемся снизу меню нажать на иконку “Сохранить копию” (Рис. 3.17)

Рис. 3.18 - Первый этап алгоритма сохранения документа

· В появившемся окне ввести свою фамилию и инициалы (Рис. 3.19)

· Документ успешно сохранен и его внешний вид представлен на рисунке 3.20

Форма “Kadastr” имеет идентичную структуру и функционал, как и форма “Preview” (Рис. 3.21).

Рис. 3.19 - Второй этап алгоритма сохранения документа

Рис. 3.20 - Внешний вид формы “Kadastr”.

Фрагмент кода, который выполняется при открытии данной формы, приведен ниже:

Рис. 3.21 - Внешний вид сохраненного документа

{

string file = @"C:\Users\dns\Desktop\Заявления\kadastr.docx";

string outfile = @"C:\Users\dns\Desktop\1.pdf";

string ex = System.IO.Path.GetExtension(file);

if (ex == ".doc" || ex == ".docx")

{

Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

Document doc = null;

doc = app.Documents.Open(file, Type.Missing, false);

doc.ExportAsFixedFormat(outfile, WdExportFormat.wdExportFormatPDF);

doc.Close(false, Type.Missing, Type.Missing);

app.Quit(false, false, false); System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

}

axAcroPDF1.src = outfile;

}

Внешний вид полученного документа представлен на Рис. 3.22.

Рис. 3.22 - Внешний вид документа

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

Заключение

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

1) Рассмотрена деятельность предприятия.

2) Проанализированы имеющиеся автоматизированные системы подготовки документов.

3) Проведен анализ инструментальных средств разработки модели.

4) Разработана модель автоматизированной системы подготовки документов

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

Основное направление работы прототипа - оперативное формирование и вывод на печать специализированных бланков заявлений и прочих документов, заполняемых в автоматизированном режиме персональными данными пользователя в режиме терминального доступа на территории МФЦ.

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

Проект реализован с помощью языка программирования C# и среды разработки Visual Studio. Каждый из элементов данного проекта имеет возможность к последующей модернизации и детализации в зависимости от поставленных задач и аппаратных средств.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.