3.2 Определение функциональной модели системы
На рисунке 3.1 представлена диаграмма вариантов использования разработанной системы. Модель вариантов использования представляет собой модель того, как разные классы пользователи взаимодействуют с системой для решения своих проблем или задач [11]. Модель вариантов использования описывает цели пользователей, взаимодействие между пользователями и системой и требуемое поведение системы для удовлетворения этих целей.
Рисунок 1.1 – Use Case диаграмма системы
Для каждого класса пользователей разработана Activity диаграмма отображающая логику и последовательность переходов от одной деятельности к другой. Результат деятельности может привести к изменению состояния системы или возвращению некоторого значения. Activity диаграмма показана для каждого класса пользователей и представлена на рисунках 3.2a, 3.2b, 3.2c.
Рисунок 2.2a – Activity диаграмма (Администратор)
На рисунке 2.2a показана активность администратора, в процессе работы с программной системой.
Рисунок 2.2b – Activity диаграмма (Гость)
Рисунок 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;
}
... и частные платежные системы, что позволяет кредитным организациям и их клиентам осуществлять выбор оптимальных вариантов проведение своих платежей. 1.2 Принципы и механизм безналичных расчетов В настоящее время к безналичным расчетам предъявляются довольно жестокие требования. Они должны быть бесперебойны, своевременны, надежны, безопасны, экономичны. Для соблюдения всех этих требований, ...
... для реализации технологии Intranet.РАЗРАБОТКА СЕТЕВЫХ АСПЕКТОВ ПОЛИТИКИ БЕЗОПАСНОСТИ Политика безопасности определяется как совокупность документированных управленческих решений, направленных на защиту информации и ассоциированных с ней ресурсов. При разработке и проведении ее в жизнь целесообразно руководствоваться следующими принципами: • невозможность миновать защитные средства; • ...
... и культурный обмен, в котором немалую роль должна сыграть педагогика высшей и средней школы. Глава 2 Формы использования сетевых технологий в условиях глобализации образования Бурное развитие телекоммуникационных технологий, в частности сети Интернет, и мультимедиа в последние годы не только способствовало появлению повышенного интереса к использованию компьютеров в ...
... аналитический обзор найденных документов; - создание Web- страницы на основе найденных в сети документов.1 ОБЩИЕ ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОИСКА ИНФОРМАЦИИ В СЕТИ ИНТЕРНЕТ 1.1 Поиск информации в Интернет: стратегия и методика Поиск информации является одной из наиболее распространенных и одновременно наиболее сложных задач, с которыми приходится сталкиваться в Сети любому пользователю. ...
0 комментариев