Міністерство освіти і науки України
Харківський національний університетрадіоелектроніки
Факультет комп’ютерних наук
Кафедра програмного забезпечення ЕОМ
КУРСОВИЙ ПРОЕКТ
ПОЯСНЮВАЛЬНА ЗАПИСКА
WEB сервіс пошуку терміналів банку
(Темакурсового проекту )
Студент гр. ПЗАСс-10-2 Яворський С.В
Керівник проекту асистент Новіков Ю.С
ХАРКІВСЬКИЙНАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
Кафедра:Програмного забезпечення ЕОМ
Дисципліна:Комплексний курсовий проект
Спеціальність:Програмне забезпечення автоматизованих систем
Курс5. Група ПЗАСс-10-2. Семестр ІХ.
ЗАВДАННЯ
на курсовий проект студента
Яворського СергіяВолодимировича
1. Темапроекту: Автоматизована система пошуку терміналів банку
2. Термінздачі студентом закінченого проекту: 15 – січня – 2011 р.
3. Вихіднідані до проекту: Дані банків, координати розташування — терміналів, відділеньбанку
4. Змістрозрахунково-пояснювальної записки: Введення, аналіз предметної області банківськоїсистеми, огляд існуючих систем банківського напрямку, управління системоюпошуку банків та їх терміналів, електронні гроші, постановка задачі,обґрунтування вибору технології розроблення, програмного середовища та мовипрограмування, мова програмування, технологія розроблення ASP.NET, середовищерозроблення Visual Studio 2008, розроблення структури системи менеджментупроцессу знаходження банківських терміналів: модулі моніторингу появи новихтерміналів та відділень банків, проектування програмної системи, визначенняфункціональної моделі системи, визначення структури бази даних, описанняпрограмної реалізації системи, висновок, перелік посилань
5. Перелікграфічного матеріалу (зміст слайдів на презентацію): Актуальність, метарозробки, класи користувачів, декомпозиція функції навчання, схема бази даних,інтерфейс користувачів, висновок
6. КАЛЕНДАРНИЙПЛАН№ Назва етапу Термін виконання 1 Видача теми ККП, узгодження і затвердження теми 20-10-2010 – 22-10-2010 р. 2 Огляд існуючих систем, постановка задачі, вибір середовища проектування. 22-10-2010 – 06-10-2010 р. 3 Формування функціональних вимог щодо системи, яка проектується. 06-11-2010 – 14-11-2010 р. 4 Об'єктна декомпозиція системи, яка проектується, її моделювання. 14-11-2010 – 26-03-2010 р. 5 Розробка бази даних. 26-11-2010 – 06-11-2010 р. 6 Кодування програмної системи, яка проектується. 06-12-2010 – 28-12-2010 р. 7 Тестування і доопрацювання розробленої програмної системи. Розробка програмної документації. 28-12-2010 – 03-01-2011 р. 8 Оформлення пояснювальної записки, додатків, графічного матеріалу. 03-01-2011 – 05-01-2011 р. 10 Перевірка виконаного проекту керівником, допуск до захисту 05-01-2011 – 10-01-2011 р. 11 Захист проекту 10-01-2011 – 15-01-2011 р.
Студент гр. ПЗАСс-10-2 ЯворськийС.В.
Керівник асистентНовіков Ю.С.
(прізвище, ім'я,по-батькові)
«15» січня 2011 р.
РЕФЕРАТ /ABSTRACT
Пояснювальна записка докомплексного курсового проекту: 39 ст., 4 рис., 1 табл., 14 джерел.
Об’єктом дослідження є процесвзаємодії сервісу пошуку з клієнтом.
Методом розробки обранотехнологію систем автоматизованого пошуку терміналів: надання широкого спектруінформації про існуючі банки, надання інформації про місце їх знаходження.Середовище для розробки системи взаємодії обрано Visual Studio 2008, мовапрограмування – C#.
Метою роботи єрозробка системи для моніторингу та пошуку терміналів, відділень банків. Данасистема дозволить створити загальний робочий простір для всіх учасників процесупошуку, яке інформуватиме про стан процесу знаходження. Також система створюєресурс для учбових матеріалів в Інтернеті. Робота ґрунтується на досвідіміжнародної співпраці кафедри ПОЕВМ Харківського національного університетурадіоелектроніки по підготовці фахівців в області розробки програмногозабезпечення. Основною метою даної роботи є спрощення пошуку відделень банківта банкоматів на території нашої країни.
ПОШУК, ВІДДІЛЕННЯ, БАНК, МОНІТОРИНГ,МЕНЕДЖМЕНТ,, ASP.NET, СХЕМА БАЗИ ДАНИХ.
Explanatory note to the complexcourse of the project: 53 sec., 35 fig., 1 tab., 15 sources.
The object of research is a processof interaction with client service search.
The method chosentechnology development of automated search terminals: pektru provide wideinformation about existing banks, provide information on where to find them. Aframework for developing a system of interaction selected Visual Studio 2008programming language — C #.
The aim is todevelop a system for management, monitoring and retrieval terminals and bankbranches. This system will create a common workspace for all participants ofthe search, which inform the process of finding the state. Also, the systemcreates a resource for educational materials on the Internet. The work is basedon the experience of international cooperation department POEVM KharkivNational University of Radio Electronics in training specialists in the fieldof software development. The main purpose of this paper is to simplify thesearch bank branches and atms in the country.
SEARCH, BRANCH, BANK, MONITORING,MANAGEMENT, ASP.NET, DATABASESHEMA, WCF.
ПЕРЕЧЕНЬ УСЛОВНЫХСОКРАЩЕНИЙ
ADO – ActiveXData Objects
ASP – ActiveServer Pages
ECMA –European Carton Makers Association
IDEF –Integrated DEFinition
IIS – InternetInformation Service
ISO –International Organization for Standardization
UI – UserInterface
URL –Universal Resource Locator
ВВЕДЕНИЕ
С развитием научно-технического прогрессаи электронных технологий современный человек оказался буквально окруженэлектронными интерактивными сервисами. Банкоматы, терминалы, автозаправочныеколонки, персональные компьютеры, сотовые телефоны, электронные органайзеры(КПК и смартфоны) – без этого сложно представить жителя ХХІ века. Они облегчаютнашу жизнь, делают ее мобильнее, удобнее, комфортнее. Поэтому очень важно,чтобы нахождение того или иного банкомата или банковского отделения былобыстрым и безболезненным. Именно поэтому данная разработка является актуальной.
На данный момент такова проблема стоиточень остро, так как в нашей стране официально зарегистрировано 170 банков,половина из которых имеет большую сеть терминалов во всех населенных пунктахУкраины. Количество банков так велико, что зачастую предприятия и фирмы накоторых работает население, используют не общий для всех банк, а разные банки.Из-за этого возникает проблема – люди пользуются услугами разных банков.
Зачастую, если человек хочет снятьналичные, он хочет это сделать как можно скорее, то есть речь может идти не опрямом посещении клиентом отделения банка, а о снятии наличных в терминалахбанка. Терминалы банков в основном разбросаны по городу, и найти их не так ужлегко, они установлены в супермаркетах, магазинах, аптеках. То есть, там, гдечеловек бывает как можно чаще и тем самым может всегда воспользоваться услугамибанкоматов.
Зачастую люди получают зарплату “накарточки”, такая же ситуация и со стипендиями и пенсией. Но большинство людейпредпочитают сразу же снимать деньги со счёта, доверяя наличным.
Банковские карты, несомненно, имеют ряддостоинств и недостатков. Среди достоинств стоит отметить такие как маленький размер,нет необходимости носить с собой большую сумму наличных денег, при поездки зарубеж нет проблемы с обменом валюты, а также простота и удобство использования.
К сожалению, наша страна не Канада, вкоторой всего 4 банка на страну, сеть терминалов огромна, и принявшись запоиски банкомата не факт, что за углом стоит именно тот терминал, которыйнеобходим Вам.
Именно с целью поиска терминаланужного банка и разрабатывается наш проект. Система позволит найти необходимыйтерминал банка в считанные секунды, выведет на карту ближайшие банкоматы взависимости от местонахождения пользователя.
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ АВТОМАТИЗИРОВАННОГОПОИСКА
1.1 Обзорсуществующих систем автоматизированного поиска
Автоматизация банковскихтехнологий в нашей стране прошла несколько этапов своего развития. Первоначальноэто были достаточно простые программные продукты, которые автоматизировалиотдельные аспекты банковской деятельности на базе традиционных СУБД.
Процесс автоматизации банковскихтехнологий перешел на новый этап в конце 80-х начале 90-х годов. Это напрямуюсвязано с банковской реформой 1989 года, когда на рынке банковских услугпоявились коммерческие банки (КБ).
С развитием финансового ифондового рынков сфера деятельности КБ расширялась, возрос и объем перерабатываемойинформации.
В новых условиях стал неизбежнымпереход к комплексной автоматизации банковской деятельности. В силу различиябанков по размерам, структуре, используемой методологии, т.е. всех техпараметров, которые, в первую очередь, характеризуют банк как объект приложенияинформационных технологий, расширился круг используемых ими АБС.
На рынке программных средствбанковских технологий появились организации поставщики, такие как, «Программбанк», «Инверсия», «Асофт», «Rstyle», «Diasoft» и другие, которые началиактивно удовлетворять имеющийся спрос.
Выбор банками тех или иных системавтоматизации связан, как правило, с соотношением цена – надежность –производительность. Многим банкам, имеющим разнородный компьютерный парк,широкую сеть филиалов и отделений, приходится решать проблему не толькособственной сетевой интеграции, но переходить на планирование всей системнойинфраструктуры информационной технологии.
В инфраструктуре следует выделитьпять составляющих:
-информационное обеспечение;
-техническое оснащение;
-программные средства;
-системы связи и коммуникации(внутренние и внешние );
-системы безопасности, защиты инадежности.
Состав информационногообеспечения, его организация определяются составом поставленных перед банкомзадач. К традиционным для любого банка задачам относится операционная(расчетно-кассовая) деятельность. Автоматизация этого участка работы можетрешить многие проблемы большинства малых и средних банков на сегодняшний день.При таком подходе банковская технология строится на программном продукте«Операционный день банка» (ОДБ). Он включает в себя такие программы, как «Ведениебанковских договоров», «Платежные поручения», «Касса», «Ведение неторговыхопераций», «Ведение переводных операций» и другие.
Для обеспечения комплексностиавтоматизации банковской деятельности требуется ряд важных программных средств,позволяющих оценить состояние банка на любой момент времени, вести скоростнойобмен информацией со своими филиалами и отделениями, а также с другими банками,осуществлять разноску сумм по корреспондентским счетам, их обработку и другиефункции. Сюда можно отнести так называемую систему «Клиент‑банк», дающуювозможность клиенту банка осуществлять платежи и проводить другие операции,минуя операциониста и не выходя из своего офиса.
Важным традиционным направлениембанковской деятельности является кредитование, приносящее, как правило, до 75%дохода банка. Автоматизация этой сферы деятельности позволяет не только вестиавтоматизированный контроль за прохождением платежей, но и, что наиболее важно,прогнозировать состояние банка как с точки зрения получения денег, так и попредстоящем выплатам по привлеченным средствам.
Кроме традиционных направлений вкомплексную систему организации деятельности органично должно входить решениетаких задач, как автоматизация работы с ценными бумагами, дилинг, биржевыеоперации, организация межбанковского обмена электронными копиями документов,аналитическая оценка деятельности банка и его клиентов и многие другие.
Решение комплексных задач автоматизациивозможно лишь с привлечением современных программно‑аппаратных средств.Поэтому сейчас наметилась тенденция приобретения банками мощных компьютеров иразвитого ПО. Наряду с этим, банки активно разрабатывают собственное ПО.Расширяется использование банками сетевых технологий.
1.2 Мир электронныхденег
Электронные деньги — это денежныеобязательства эмитента в электронном виде, которые находятся на электронномносителе в распоряжении пользователя. Такие денежные обязательствасоответствуют следующим трем критериям:
· Фиксируются ихранятся на электронном носителе.
· Выпускаютсяэмитентом при получении от иных лиц денежных средств в объёме не меньшем, чемэмитированная денежная стоимость.
· Принимаются, каксредство платежа другими (помимо эмитента) организациями.
Термин «электронные деньги» являетсяотносительно новым и часто применяется к широкому спектру платежныхинструментов, которые основаны на инновационных технических решениях.Электронным деньгам свойственно внутреннее противоречие — с одной стороны ониявляются средством платежа, с другой — обязательством эмитента, которое должнобыть выполнено в традиционных неэлектронных деньгах. Такой парадокс можнопояснить с помощью исторической аналогии: в свое время банкноты тожерассматривались, как обязательство, которое подлежит оплате монетами илидрагоценными металлами. Очевидно, что с течением времени, электронные деньгибудут являться одной из разновидностей формы денег (монеты, банкноты,безналичные деньги и электронные деньги). Так же очевидно, что в будущемцентробанки будут производить эмиссию электронных денег, так же как сейчасчеканят монету и печатают банкноты.
Электронные деньги, являясьнеперсонифицированным платежным продуктом, могут иметь отдельное обращение,отличное от банковского обращения денег, однако могут и обращаться в т.ч и вгосударственных или банковских платежных системах.
Как правило, обращение электронныхденег происходит при помощи компьютерных сетей, Интернета, платёжных карт,электронных кошельков и устройств, работающих с платежными картами (банкоматы,POS-терминалы, платежные киоски и т. д.). Также, используются и другиеплатежные инструменты различной формы: браслеты, брелоки, блоки мобильныхтелефонов и т. д., в которых есть специальный платежный чип. Электронные деньгиявляются составной частью электронной экономики.
Электронные деньги обычно разделяютна два типа: на базе смарт-карт (англ. card-based) и на базе сетей (англ.network-based). И первая, и вторая группа подразделяются на анонимные(неперсонифицированные) системы, в которых разрешается проводить операции безидентификации пользователя и не анонимные (персонифицированные) системы,требующие обязательной идентификации пользователя.
Следует также различать электронныефиатные деньги и электронные нефиатные деньги. Электронные фиатные деньги,обязательно выражены в одной из государственных валют и являются разновидностьюденежных единиц платежной системы одного из государств. Государство законамиобязывает всех граждан принимать к оплате фиатные деньги. Соответственно,эмиссия, обращение и погашение электронных фиатных денег происходит по правиламнациональных законодательств, центробанков или других государственныхрегуляторов. Электронные нефиатные деньги — являются электронными единицамистоимости негосударственных платежных систем. Соответственно, эмиссия,обращение и погашение (обмен на фиатные деньги) электронных нефиатных денег,происходят по правилам негосударственных платежных систем. Степень контроля ирегулирования государственными органами таких платежных систем в разных странахсильно отличаются. Часто, негосударственные платежные системы привязывают своиэлектронные нефиатные деньги к курсам мировых валют, однако государства никакне обеспечивают надежность и реальную ценность таких стоимостных единиц.Электронные нефиатные деньги являются разновидностью кредитных денег.
Одной из распространенных ошибок естьотнесение к электронным деньгам современных средств доступа к банковскомусчету, а именно, традиционных банковских платежных карт (как микропроцессорных,так и с магнитной полосой), а также интернет-банкинга. В системах, которыеосуществляют расчеты электронными деньгами, банковские счета используютсятолько при вводе и выводе денег из системы. При этом используетсяконсолидированный банковский счет эмитента электронных денег, а не карточныеили текущие счета пользователей. При эмиссии электронных денег, традиционныеденьги зачисляются на консолидированный банковский счет эмитента. Припредъявлении электронных денег для погашения, традиционные деньги списываются сконсолидированного банковского счета эмитента.
Ещё одной типичной ошибкой являетсяотнесение к электронным деньгам предоплаченных одноцелевых карт, таких как:подарочная карта, топливная карта, телефонная карта и т. д. Использование такогоплатёжного инструмента не означает осуществления нового платежа. Реальныйплатёж осуществляется в момент покупки или пополнения такой карты. Еёиспользование не порождает новых денежных потоков и является простым обменоминформации о потребленных товарах или услугах.
В 1996 году руководители центробанковстран G10, заявили про намерение осуществлять мониторинг электронных денег встранах мира. С этого времени, «Банк международных расчётов» при поддержкемировых центробанков регулярно анализирует развитие электронных денег исоответствующих систем. Сначала данные были конфиденциальными и были доступнымитолько центробанкам, а с мая 2000 года стали общедоступными. В исследовании2004 года приняли участие центробанки 95 стран и выяснилось, что электронныеденьги функционируют в 37 странах мира[3].
Электронные деньги могут бытьанонимными и персонифицированными. По своей природе, электронные деньги ближе канонимным наличным деньгам, чем к персонифицированным безналичным. Наличие илиотсутствие анонимности обеспечивается правилами и механизмами обращенияэлектронных денег в определенной платежной системе.
Большинство государственныхрегуляторов, а также государственные и негосударственные платежные системы,различными способами пытаются стимулировать персонификацию пользователейэлектронных денег и операции с ними (см. знай своего клиента). Например, дляэлектронных денег на базе сетей, платежные системы ограничивают размерэлектронного кошелька для анонимного пользователя, увеличивая лимитыперсонифицированным пользователям системы. Для электронных денег на базе карт,ограничивают максимальную сумму в кошельке и вводят персонализированныемеханизмы пополнения.
В настоящее время электронные деньгирассматриваются, как потенциальный заменитель наличности для микро-платежей.Однако по своим качествам, электронные деньги способны частично заменить илиполностью вытеснить при расчетах наличные деньги. Искусственное ограничениесуммы, которая может сберегаться в электронном кошельке, вызвано неуверенностьюрегуляторов в надежности и безопасности использования такого платежногоинструмента. Очевидно, что при отсутствии негативных примеров, этот лимит будетувеличиваться или совсем отменен.
Преимущества электронных денегзаключаются в том, что они особенно полезны и удобны при осуществлении массовыхплатежей небольших сумм. Например, при платежах в транспорте, кинотеатрах,клубах, оплате коммунальных услуг, оплате различных штрафов, расчетах винтернете и т. д. Процесс платежа электронными деньгами осуществляется быстро,не возникает очередей, не надо выдавать сдачу, деньги переходят от плательщикак получателю быстро.
Электронные деньги корректнее всегосравнивать с наличными деньгами, так как обращение безналичных денег,обязательно персонифицировано и известны реквизиты обеих сторон. В случаерасчётов электронными деньгами, достаточно знать реквизиты получателя денег.
Электронные деньги имеют следующиепреимущества перед наличными деньгами:
· превосходнаяделимость и объединяемость — при проведении платежа не возникает необходимостьв сдаче;
· высокаяпортативность — величина суммы не связана с габаритными или весовыми размерамиденег, как в случае с наличными деньгами;
· очень низкаястоимость эмиссии электронных денег — не надо чеканить монеты и печататьбанкноты, использовать металлы, бумагу, краски и т. д.;
· не нужнофизически пересчитывать деньги, эта функция переносится на инструмент храненияили платежный инструмент;
· проще, чем вслучае с наличными деньгами, организовать физическую охрану электронных денег;
· момент платежафиксируется электронными системами, воздействие человеческого фактораснижается;
· при платеже черезфискализированное эквайринговое устройство торговцу невозможно укрыть средстваот налогообложения;
· электронныеденьги не нужно пересчитывать, упаковывать, перевозить и организовыватьспециальные хранилища;
· идеальнаясохраняемость — электронные деньги не теряют своих качеств с течением времени;
· идеальнаякачественная однородность — отдельные экземпляры электронных денег не обладаютуникальными свойствами (как, например, царапины на монетах);
· безопасность —защищенность от хищения, подделки, изменения номинала и т. п., обеспечиваетсякриптографическими и электронными средствами.
Недостатки электронных денег
· отсутствиеустоявшегося правового регулирования, — многие государства ещё не определилисьв своем однозначном отношении к электронным деньгам;
· несмотря наотличную портативность, электронные деньги нуждаются в специальных инструментаххранения и обращения;
· как и в случаеналичных денег, при физическом уничтожении носителя электронных денег,восстановить денежную стоимость владельцу невозможно;
· отсутствуетузнаваемость — без специальных электронных устройств нельзя легко и быстроопределить, что это за предмет, сумму и т. д.;
· средствакриптографической защиты, которыми защищаются системы электронных денег ещё неимеют длительной истории успешной эксплуатации;
· теоретически,заинтересованные лица могут пытаться отслеживать персональные данныеплательщиков и обращение электронных денег вне банковской системы;
· безопасность(защищенность от хищения, подделки, изменения номинала и т. п.) — неподтверждена широким обращением и беспроблемной историей;
· теоретическивозможны хищения электронных денег, посредством инновационных методов,используя недостаточную зрелость технологий защиты.
Ниже приведена схема платежа спомощью цифровых денег.
Покупатель заранее обмениваетреальные деньги на электронные. Хранение наличности у клиента можетосуществляться двумя способами, что определяется используемой системой:
-на жестком диске компьютера.
-на смарт-картах.
Разные системы предлагают разныесхемы обмена. Некоторые открывают специальные счета, на которые перечисляютсясредства со счета покупателя в обмен на электронные купюры. Некоторые банкимогут сами эмитировать электронную наличность. При этом она эмитируется толькопо запросу клиента с последующим ее перечислением на компьютер или карту этогоклиента и снятием денежного эквивалента с его счета. При реализации же слепойподписи покупатель сам создает электронные купюры, пересылает их в банк, гдепри поступлении реальных денег на счет они заверяются печатью и отправляютсяобратно клиенту.
Наряду с удобствами такого хранения,у него имеются и недостатки. Порча диска или смарт-карты оборачиваетсяневозвратимой потерей электронных денег. Покупатель перечисляет на серверпродавца электронные деньги за покупку. Деньги предъявляются эмитенту, которыйпроверяет их подлинность.
В случае подлинности электронных купюр счет продавцаувеличивается на сумму покупки, а покупателю отгружается товар или оказываетсяуслуга.
/>
Одной из важных отличительных чертэлектронных денег является возможность осуществлять микроплатежи. Это связано стем, что номинал купюр может не соответствовать реальным монетам (например, 37копеек). Эмитировать электронные наличные могут как банки, так и небанковскиеорганизации. Однако до сих пор не выработана единая система конвертированияразных видов электронных денег. Поэтому только сами эмитенты могут гаситьвыпущенную ими электронную наличность. Кроме того, использование подобных денегот нефинансовых структур не обеспечено гарантиями со стороны государства.Однако, малая стоимость транзакции делает электронную наличностьпривлекательным инструментом платежей в Интернет.
1.3 Постановка задачи
Неизбежностьсоответствия украинской банковской системы к европейским стандартам требуетинтеграции текущей системы в общеевропейскую систему. На первом этапе необходимоупорядочить огромное количество отделений, банкоматов различных банков. Чтобыупростить данный процесс, необходимо создать единое «рабочее пространство» для пользователейбанковскими услугами, в котором бы аккумулировалась и обрабатывалась вся необходимаяинформация о банках.
Основываясь на опыте международногосотрудничества кафедры ПОЭВМ Харьковского национального университетарадиоэлектроники по подготовке специалистов в области разработки программногообеспечения, ставится задача создать систему автоматизированного поиска.Основная трудность возникает в управлении процессом поиска из-затерриториальной удаленности банковских отделений и терминалов и отсутствияединого информационного пространства для эффективного обмена информацией впроцессе автоматизированного поиска.
Целью разработки системыявляется автоматизация процесса менеджмента и мониторинга поиска с цельюэффективного взаимодействия между банками и их пользователям.
Задачами системыявляются:
- формализация и накопление информациио банках, их отделениях, терминалах;
- модернизация и ускорение поиска;
- менеджмент процесса автоматизированногопоиска;
- мониторинг процесса поиска терминалови отделений банков.
В данной работе ставится задачареализовать подсистему, которая отвечает за менеджмент и мониторинг банковскихотделений и банкоматов.
2 ОБОСНОВАНИЕ ВЫБОРА ТЕХНОЛОГИИРАЗРАБОТКИ, ПРОГРАММНОЙ СРЕДЫ И ЯЗЫКА ПРОГРАММИРОВАНИЯ
2.1 Язык программированияC#
Этот мощный и одновременно гибкийязык вызывает у программистов чувство гармонии при написании программ. Язык C#заслужил большое уважение и популярность среди разработчиков самых разныхпрограммных продуктов. Последнюю пару лет C# играл важную роль в производствеустойчивых к сбоям продуктов – от настольных приложений до Web-сервисов, отвысокоуровневых решений в автоматизации бизнес-процессов до программ системногоуровня и от однопользовательских продуктов до корпоративных решений в сетевыхраспределенных средах.
Язык C# сертифицирован Международнойорганизацией по стандартизации (ISO). Таким образом, эта разработка Microsoftимеет статус международных стандартов. Также, язык C# признан в качествестандарта Европейской ассоциацией производителей компьютеров (ECMA).
Язык программирования С# имеет ряд преимуществ:
- подлинная объектная ориентированность (всякая языковая сущность претендует на то, чтобы быть объектом);
- компонентно-ориентированное программирование;
- безопасный (по сравнению с языками C и C++) код;
- унифицированная система типизации;
- поддержка событийно-ориентированного программирования;
- «родной» язык для создания приложений в среде .NET;
- объединение лучших идей современных языков программирования: Java, C++, Visual Basic и др.
Исходя с достоинств и с вышеперечисленных преимуществ языка C#, в качестве языка для разработки системы былвыбран именно этот объектно-ориентированный язык.
2.2 Технология разработки ASP NET
Натекущий момент для построения web-приложений используются различные технологиии подходы. Создавая новый сайт, разрабатывая информационную систему, командаразработчиков часто сталкивается с проблемой – какую технологию выбрать длярешения поставленной задачи. Предпочтения обычно отдаются знакомым технологиям,или же диктуются рамками поставленной задачи. Но независимо от выбраннойтехнологии, каждый раз при создании нового web-сайта, зачастую приходитсяпроходить множество одних и тех же этапов разработки.
Подходящейи удобной платформой для создания порталов можно использовать среду разработкиVisual Studio .NET и технологию ASP.NET. Эта технология позволяет использоватьготовые компонентные архитектуры, например, элементы управления ASP.NET, нетеряя при этом гибкость разрабатываемой системы [7].
Преимуществотехнологии ASP.NET перед остальными в высокой степени абстракции, построеннойнад стандартным HTML кодом: использование объектно-ориентированной парадигмы,поддержку нескольких языков программирования, наличие универсального основания,содержащего тысячи уже готовых для использования в проектах решений – Microsoft.NET Framework. По сравнению с другими web-технологиями имеет такиедостоинства: поддержка визуальных компонентов, инкапсулирующих не только выводHTML, но и Javascript и даже AJAX. Кроме встроенных, существуют компонентысторонних производителей; возможность наследовать свой компонент от чужого иулучшать его, адаптируя под свои потребности; встроенные визуальные компонентыдля редактирования и отображения данных, навигации, авторизации и т.д; встроенныесредства кэширования, мониторинга, позволяющие повысить производительность и масштабируемостьприложений; шаблоны дизайна, пользовательские элементы управления, модельcodebehind – позволяют не только отделить программный код от представления, нои использовать многократно один и тот же код; встроенная авторизация иаутентификация; усовершенствованная архитектура доступа к данным ADO.NET и др [8].
ADO.NETотносится к промежуточному программному обеспечению, которое внутри каждогоприложения ответственно за доступ к базе данных и основано на .NET.Следовательно, использование ADO.NET играет решающую роль в созданииэффективных, высокопроизводительных приложений для базы данных. ТехнологияADO.NET – это технология доступа к данным, включающая набор высокоуровневыхинтерфейсов, которые позволяют разработчикам обращаться к данным на любом .NET-совместимомязыке программирования [9].
Длясоздания web-приложения был выбран современный подход – использованиетехнологий ASP.NET 2.0. Для решения поставленной задачи была разработана,описанная далее, гибкая трехуровневая система на основе технологии ASP.NET.
2.3Среда разработки Visual Studio 2008
Приразработке программного обеспечения корпорация Microsoft уделяет большоевнимание тому, чтобы его могли в полной мере использовать разные категориипользователей. Расширение линейки продуктов призвано ответить на уникальныезапросы всех заинтересованных групп – любителей и студентов, профессиональныхразработчиков и IT-профессионалов, архитекторов IT-систем предприятий. ПродуктыVisual Studio 2008 и .NET Framework 2.0 позволяют разработчикам и командамразработчиков создавать высокопроизводительные, защищенные и надежные решения,используя готовую платформу разработки. Возможности Visual Studio 2008 включаютв себя такие наборы инструментов, как Visual Studio Team System – расширяемуюплатформу разработки приложений на протяжении всего жизненного циклаприложения, которая позволяет предоставлять сервисно-ориентированные решениядля обеспечения совместной работы между командами разработчиков [10].
Вкачестве среды разработки был выбран мощнейший инструмент – Visual Studio 2008,оболочка .NetFramework 2.0.
Разработчикичасто сталкиваются с многочисленными проблемами по обработке информации;например, с потребностью в более быстрых и основанных на управлении даннымирешениях, с потребностью увеличить производительность и мобильность штатаразработчиков, а также с настойчивыми требованиями уменьшить общий бюджетотдела информационных технологий, увеличивая инфраструктуру в соответствии сострого возрастающими требованиями. Microsoft SQL Server 2008 призван помочьсправиться с этими проблемами. MS SQL Server 2008 представляет собойинтегрированное решение по управлению и анализу данных, которое помогает:
- строить, развертывать и управлятьпромышленными приложениями, которые являются более безопасными, масштабируемымии надежными.
- увеличивать продуктивностьинформационных технологий, уменьшая сложность построения, развертывания иуправления приложениями.
- разделять данные между платформами,приложениями и устройствами для облегчения соединения внутренних и внешнихсистем.
- контролировать стоимость, не жертвуякачеством выполнения, доступностью, масштабируемостью и безопасностью.
Исходяс выше перечисленных достоинств MS SQL Server 2008, в качестве сервера базыданных был выбран именно этот продукт.
Такимобразом, выдвигаются такие требования к программному обеспечению для сервера:
- Microsoft Windows Server 2003 SP2 илиWindows XP SP2;
- IIS 6.0 или выше;
- SQL Server 2008;
- Microsoft .NET Framework 2.0.
3 РАЗРАБОТКА СТРУКТУРЫ СИСТЕМЫ АВТОМАТИЗИРОВАННОГОПОИСКА ОТДЕЛЕНИЙ И ТЕРМИНАЛОВ БАНКОВ
3.1 Проектирование программнойсистемы
Современныймир, в котором движется все очень быстро, потеря времени может стоить оченьдорого. Люди дорожат своим временем, средствами, учитывают тайм менеджмент и нехотят их тратить на поиски впустую.
Итак,перечислим сервисы которые будет предоставлять система:
- Поиск банкоматов с отображением ихна карте с учётом вашего текущего местоположения. Ваше текущее местоположение спомощью HTML5 Geolocation. Если Ваш браузер этого не поддерживает или Вашеместоположение не удалось точно определить, достаточно кликнуть на карте, чтобы указать, где Вы находитесь и начать поиск;
- Поиск магазинов, где Вы можетерасплатиться с помощью банковских карт;
- Поиск кафе, баров, ресторанов, гдевы можете провести время, расплатившись без использования наличных средств;
- Информация и статьи о банковскихкартах, их особенностях и способах оплаты.
Послеустановления системы в первых пунктах поисковиков и наплыва большого количествапользователей, в систему будет внедрен одни из видов монетизации –мультимидийная (баннеры, контекстная реклама).
Для разграничения прав всистеме было выделено классы пользователей представленные в таблице 1.1.
Таблица 1.1 – КлассыпользователейКласс Описание Администратор
- Бан юзера (забанить, разбанить)
- Удалять пользователей, изменять данные
- Создавать резервные копии БД
- Редактировать информационные блоки
- Восстанавливать БД (при необходимости)
- Создавать опрос, голосование
- Добавлять, удалять баннеры Пользователь
— Регистрироваться
— Просматривать информацию (новости, данные)
— Голосовать, участвовать в опросах
— Авторизоваться
— Воспользоваться системой поиска Гость
— Регистрироваться
- Просматривать информацию (новости, данные)
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 – OnlineOffice, Word Processor, Spreadsheet, Presentation, CRM Электронный ресурс –Режим доступа: zoho.com/ – 16.02.2008 г. – Загл. с экрана.
2. Moodle – A Free,Open Source Course Management System for Online Learning Электронный ресурс –Режим доступа: moodle.org/ – 10.03.2008 г. – Загл. с экрана.
3. WebCT CommunitiesЭлектронный ресурс – Режим доступа: www.webct.com/webct/ – 10.02.2008 г.– Загл. с экрана.
4. Группы Google Электронныйресурс – Режим доступа: groups.google.com.ua/ – 26.04.2008 г. – Загл. сэкрана.
5. IBM LotusSoftware Электронный ресурс – Режим доступа: www-306.ibm.com/software/lotus/
– 26.02.2008 г. – Загл. с экрана.
6. Рихтер Дж.Программирование на платформе Microsoft .NET Framework. Мастер–класс Дж.Рихтер: пер. с англ. – СПб.: Питер, 2005. – 512 с.
7. ASP.NET (.NETFramework) Электронный ресурс – Режим доступа: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. IntegrationDefinition Metodology – Режим доступа: www.idef.ru/ – 12.12.2007 г. –Загл. с экрана.
13. Дейт К. Введениев системы базы данных, 8–е издание К. Дейт: пер. с англ. – М.: Издательский дом«Вильямс», 2005. – 1328 с.
14. Хэндерсон К.Профессиональное руководство по SQL Server: хранимые процедуры, XML, HTML К.Хэндерсон. – СПб.: Питер, 2005. – 620 с.
ПриложениеА
Программныйкод приложения
///
///Represent course information.
///
publicclass Course
{
...
}
///
/// Theclass CourseManagement represents methods that makes possible do
///actions with course information.
///
publicclass CourseManagement
{
///
///Gets all courses that are available for study.
///
///The collection of courses.
[DataObjectMethod(DataObjectMethodType.Select)]
publicIList SelectCourses()
{
ListcourseList = new List();
SqlConnectionconnection = new SqlConnection(_connectionString);
using(SqlCommand command = new SqlCommand(Procedure.SelectAllCourse, connection))
{
command.CommandType= CommandType.StoredProcedure;
connection.Open();
SqlDataReadersqlDataReader = command.ExecuteReader();
while(sqlDataReader.Read())
{
Coursecourse = 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();
}
returncourseList;
}
///
///Gets subjects of the specified course.
///
///Course identifier
///The collection of courses.
publicList GetCourseSubjects(Guid courseId)
{
Listsubjects = new List();
using(SqlConnection connection = new SqlConnection(_connectionString))
{
using(SqlCommand cmd = new SqlCommand(Procedure.SelectCurriculumCourseContent,connection))
{
cmd.CommandType= CommandType.StoredProcedure;
cmd.Parameters.Add(newSqlParameter(ParameterName.CourseId, SqlDbType.UniqueIdentifier));
cmd.Parameters[ParameterName.CourseId].Value= courseId;
connection.Open();
SqlDataReaderreader = cmd.ExecuteReader();
while(reader.Read())
{
subjects.Add(reader.GetString(2));
}
connection.Close();
}
}
returnsubjects;
}
///
///Insert course to database.
///
///Course data.
///Inserted course identifier.
[DataObjectMethod(DataObjectMethodType.Insert)]
publicGuid InsertCourse(Course course)
{
SqlConnectionconnection = new SqlConnection(_connectionString);
GuidcourseId = 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();
}
returncourseId;
}