3.2 Определение функциональной модели системы

На рисунке 3.1 представлена диаграмма вариантов использования разработанной системы. Модель вариантов использования представляет собой модель того, как разные классы пользователи взаимодействуют с системой для решения своих проблем или задач [11]. Модель вариантов использования описывает цели пользователей, взаимодействие между пользователями и системой и требуемое поведение системы для удовлетворения этих целей.


use case.jpg

Рисунок 1.1 – Use Case диаграмма системы

Для каждого класса пользователей разработана Activity диаграмма отображающая логику и последовательность переходов от одной деятельности к другой. Результат деятельности может привести к изменению состояния системы или возвращению некоторого значения. Activity диаграмма показана для каждого класса пользователей и представлена на рисунках 3.2a, 3.2b, 3.2c.

User3.jpg

Рисунок 2.2a – Activity диаграмма (Администратор)


На рисунке 2.2a показана активность администратора, в процессе работы с программной системой.

User.jpg

Рисунок 2.2b – Activity диаграмма (Гость)

User2.jpg

Рисунок 2.2c – Activity диаграмма (Пользователь)

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

Функциональная модель (IDEF) системы показывает, какие этапы жизненного цикла процесса поиска происходят в системе и как они зависят друг от друга [12]. Входными данными в систему являются: информация о лоакии банков, локация отделений банков. Выходные данные: местонахождение зап, обновленнашиваеммых данных относительно местанахождения пользователя.


4 ЗАЩИТА ИНФОРМАЦИИ В СИСТЕМЕ

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

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

Данное web-приложение было разработано и развернуто с помощью средств защиты, предоставляемых ASP.NET 2.0 и IIS 6.0.

IIS и ASP.NET служат основой для построения механизмов управления доступом, а ASP.NET 2.0 расширяет их возможности, предоставляя готовые прикладные блоки, которые можно использовать для быстрого развертывания таких механизмов.

На выходе механизм IIS-аутентификации всегда дает идентификацию для Windows, представляющую пользователя, от которого исходил запрос. В IIS доступны следующие встроенные типы аутентификации: Anonymous (анонимная), Integrated Windows (средствами Windows), Basic (базовая), Digest (по хэшу), Certificate Mapping (с сертификатами) и Microsoft Passport. Аутентификация подразумевает проверку подлинности клиентов по их учетным записям в домене. ASP.NET поддерживает три типа аутентификации: Windows (средствами Windows), Forms (на основе web-форм) и Passport.

В данной системе используется Forms-аутентификация, которая применяет схему аутентификации прикладного уровня, основанную на билетах. Такая схема предназначена для ASP.NET-приложений, которые не связывают со своими пользователями учетные записи Windows. Аутентификацию Forms применяется совместно с анонимной IIS-аутентификацией. Схема аутентификации системы для приложения задается в конфигурационном файле. На рисунке рисунок 4.1 представлена схема аутентификации данного приложения.

Рисунок 3.1 – Схема аутентификации

При аутентификации на основе форм, когда доступ к ресурсу, требующему аутентификации, отклоняется, пользователь переадресовывается на заранее заданный URL, указывающий на страницу входа. Это специальная ASP.NET-страница, в которой пользователь может ввести удостоверения (логин, пароль). Затем страница входа сверяет удостоверения с базой данных и с помощью класса System.Web.FormsAuthentication формирует зашифрованный билет аутентификации для клиента. Этим билетом может быть cookie или специальный большой двоичный объект, добавляемый к URL. При каждом последующем запросе клиент передает билет, и механизм аутентификации на основе форм автоматически обрабатывает его, генерируя идентификацию пользователя для данного запроса.

ASP.NET 2.0 предоставляет два компонента для работы с аутентификацией: сервис Membership и семейство элементов управления Login.

Сервис Membership, доступный через класс System.Web.Security.Membership, позволяет определить различные виды членства на сайте. Информацию о членах можно хранить в различных местах – в базах данных, текстовых файлах или даже в учетных записях Windows. Данная ситема использует в качестве хранилища базу данных. Конфигурировать членство можно индивидуально для каждого пользователя или на основе ролей с помощью сервиса Role Manager. Роли облегчают конфигурирование, так как можно создавать роли и потом добавлять пользователей к готовым ролям. На рисунке 4.2 представлена схема провайдера данной системы.

После определения идентификация пользователя, выдавшего запрос, принимаются решения, связанные с управлением доступом. В ASP.NET два встроенных механизма авторизации, управляющих доступом на уровне URL: File и URL.

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

Рисунок 4.2 – Схема Membership провайдера


Правила управления доступом для авторизации URL задаются на уровне URL в конфигурационном разделе (рисунко 4.3).

Рисунок 4.3 – Схема авторизации

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

Следующая настройка (рисунок 4.4) файла Web.config запрещает загружать в систему клиентам данного приложения файлы с размером больше, чем указано.

Рисунок 4.4 – Элемент файла Web.config


ВЫВОДЫ

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

Основными недостатками существующих систем являются недостаточная их локализация. То есть они являются общими системами и не учитывают потребности конкретных процессов.

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

-  Поиск банкоматов с отображением их на карте с учётом вашего текущего местоположения. Ваше текущее местоположение с помощью HTML5 Geolocation. Если Ваш браузер этого не поддерживает или Ваше местоположение не удалось точно определить, достаточно кликнуть на карте, что бы указать, где Вы находитесь и начать поиск;

-  Поиск магазинов, где Вы можете расплатиться с помощью банковских карт;

-  Поиск кафе, баров, ресторанов, где вы можете провести время, расплатившись без использования наличных средств;

-  Информация и статьи о банковских картах, их особенностях и способах оплаты.

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


ПЕРЕЧЕНЬ ССЫЛОК

1.  Zoho – Online Office, Word Processor, Spreadsheet, Presentation, CRM Электронный ресурс – Режим доступа: http://zoho.com/ – 16.02.2008 г. – Загл. с экрана.

2.  Moodle – A Free, Open Source Course Management System for Online Learning Электронный ресурс – Режим доступа: http://moodle.org/ – 10.03.2008 г. – Загл. с экрана.

3.  WebCT Communities Электронный ресурс – Режим доступа: http://www.webct.com/webct/ – 10.02.2008 г. – Загл. с экрана.

4.  Группы Google Электронный ресурс – Режим доступа: http://groups.google.com.ua/ – 26.04.2008 г. – Загл. с экрана.

5.  IBM Lotus Software Электронный ресурс – Режим доступа: http://www-306.ibm.com/software/lotus/ – 26.02.2008 г. – Загл. с экрана.

6.  Рихтер Дж. Программирование на платформе Microsoft .NET Framework. Мастер–класс Дж. Рихтер: пер. с англ. – СПб.: Питер, 2005. – 512 с.

7.  ASP.NET (.NET Framework) Электронный ресурс – Режим доступа: http://msdn.microsoft.com/en-us/library/bb400852.aspx – 10.05.2008 г. – Загл. с экрана.

8.  Троелсен Э. Язык программирования C# 2005 и платформа .NET 2.0. HTML Э. Троелсен: – М.; ООО «И.Д. Вильямс», 2007. – 1168 с.

9.  Сеппа Д. Программирование на Microsoft ADO.NET 2.0. Мастер класс Д. Сеппа: пер. с англ. – М.: Издательский дом «Русская редакция»; СПб.: Питер, 2007. – 784 с.

10.  Мак-Дональд М. Microsoft ASP.NET с примерами на C# 2005 для профессионалов М. Мак-Дональд: пер. с англ. – М.; ООО «И.Д. Вильямс», 2006. – 1408 с.

11.  Буч Г., Якобсон А. UML Г.Буч. - СПб.:Питер, 2005.-736 с.

12.  Integration Definition Metodology – Режим доступа: http://www.idef.ru/ – 12.12.2007 г. – Загл. с экрана.

13.  Дейт К. Введение в системы базы данных, 8–е издание К. Дейт: пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 1328 с.

14.  Хэндерсон К. Профессиональное руководство по SQL Server: хранимые процедуры, XML, HTML К. Хэндерсон. – СПб.:Питер, 2005. – 620 с.


Приложение А

Программный код приложения

/// <summary>

/// Represent course information.

/// </summary>

public class Course

{

...

}

/// <summary>

/// The class CourseManagement represents methods that makes possible do

/// actions with course information.

/// </summary>

public class CourseManagement

{

/// <summary>

/// Gets all courses that are available for study.

/// </summary>

/// <returns>The collection of courses.</returns>

[DataObjectMethod(DataObjectMethodType.Select)]

public IList<Course> SelectCourses()

{

List<Course> courseList = new List<Course>();

SqlConnection connection = new SqlConnection(_connectionString);

using (SqlCommand command = new SqlCommand(Procedure.SelectAllCourse, connection))

{

command.CommandType = CommandType.StoredProcedure;

connection.Open();

SqlDataReader sqlDataReader = command.ExecuteReader();

while (sqlDataReader.Read())

{

Course course = new Course(sqlDataReader.GetGuid(0), HttpUtility.HtmlDecode(sqlDataReader.GetString(1)), HttpUtility.HtmlDecode(sqlDataReader.GetString(7)), sqlDataReader.GetGuid(8), sqlDataReader.GetDateTime(3), sqlDataReader.GetDateTime(4), sqlDataReader.GetBoolean(5), sqlDataReader.GetInt32(6), sqlDataReader.GetInt32(11), HttpUtility.HtmlDecode(sqlDataReader.GetString(2)), HttpUtility.HtmlDecode(sqlDataReader.GetString(9)), HttpUtility.HtmlDecode(sqlDataReader.GetString(10)));

courseList.Add(course);

}

connection.Close();

}

return courseList;

}

/// <summary>

/// Gets subjects of the specified course.

/// </summary>

/// <param name="courseId">Course identifier</param>

/// <returns>The collection of courses.</returns>

public List<string> GetCourseSubjects(Guid courseId)

{

List<string> subjects = new List<string>();

using (SqlConnection connection = new SqlConnection(_connectionString))

{

using (SqlCommand cmd = new SqlCommand(Procedure.SelectCurriculumCourseContent, connection))

{

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add(new SqlParameter(ParameterName.CourseId, SqlDbType.UniqueIdentifier));

cmd.Parameters[ParameterName.CourseId].Value = courseId;

connection.Open();

SqlDataReader reader = cmd.ExecuteReader();

while (reader.Read())

{

subjects.Add(reader.GetString(2));

}

connection.Close();

}

}

return subjects;

}

/// <summary>

/// Insert course to database.

/// </summary>

/// <param name="course">Course data.</param>

/// <returns>Inserted course identifier.</returns>

[DataObjectMethod(DataObjectMethodType.Insert)]

public Guid InsertCourse(Course course)

{

SqlConnection connection = new SqlConnection(_connectionString);

Guid courseId = new Guid();

using (SqlCommand command = new SqlCommand(Procedure.InsertCourse, connection))

{

command.CommandType = CommandType.StoredProcedure;

command.Parameters.Add(TitleParameter, SqlDbType.NVarChar).Value = course.Title;

command.Parameters.Add(CourseKeyParameter, SqlDbType.NVarChar).Value = course.CourseKey;

command.Parameters.Add(DescriptionParameter, SqlDbType.NVarChar).Value = course.Description;

command.Parameters.Add(StartDateParameter, SqlDbType.DateTime).Value = course.StartDate;

command.Parameters.AddWithValue(EndDateParameter, SqlDbType.DateTime).Value = course.EndDate;

command.Parameters.Add(IsMasterParameter, SqlDbType.Bit).Value = course.IsMaster;

command.Parameters.Add(AmountCreditsParameter, SqlDbType.Float).Value = course.AmountCredits;

command.Parameters.Add(MainTeacherIdParameter, SqlDbType.UniqueIdentifier).Value = course.MainTeacherId;

command.Parameters.Add(ReadingParameter, SqlDbType.NVarChar).Value = course.Reading;

command.Parameters.Add(AssessmentMethodParameter, SqlDbType.NVarChar).Value = course.AssessmentMethod;

command.Parameters.Add(CountStudentInTeamParameter, SqlDbType.Int).Value = course.CountStudentInTeam;

connection.Open();

courseId = new Guid(command.ExecuteScalar().ToString());

connection.Close();

}

return courseId;

}


Информация о работе «WEB сервис поиска терминалов банка»
Раздел: Информатика, программирование
Количество знаков с пробелами: 47955
Количество таблиц: 2
Количество изображений: 7

Похожие работы

Скачать
140896
0
1

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

Скачать
114133
0
15

... для реализации технологии Intranet.РАЗРАБОТКА СЕТЕВЫХ АСПЕКТОВ ПОЛИТИКИ БЕЗОПАСНОСТИ Политика безопасности определяется как совокупность документированных управленческих решений, направленных на защиту информации и ассоциированных с ней ресурсов. При разработке и проведении ее в жизнь целесообразно руководствоваться следующими принципами: • невозможность миновать защитные средства; • ...

Скачать
159343
0
12

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

Скачать
53774
0
0

... аналитический обзор найденных документов; -     создание Web- страницы на основе найденных в сети документов.1 ОБЩИЕ ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОИСКА ИНФОРМАЦИИ В СЕТИ ИНТЕРНЕТ   1.1 Поиск информации в Интернет: стратегия и методика   Поиск информации является одной из наиболее распространенных и одновременно наиболее сложных задач, с которыми приходится сталкиваться в Сети любому пользователю. ...

0 комментариев


Наверх