Програма "Софтуерни технологии в интернет" на тема уеб система за проверка на кредитоискатели Дипломант: Георги Желев Калчев



страница1/4
Дата27.09.2016
Размер0.62 Mb.
#10989
ТипПрограма
  1   2   3   4




НОВ БЪЛГАРСИ УНИВЕРСИТЕТ

Магистърски факултет

Департамент “Информатика”

Програма “Софтуерни технологии в интернет”


НА ТЕМА
Уеб система за проверка на кредитоискатели


Дипломант: Георги Желев Калчев Дипломен ръководител:

Ф №: 37017 Г. Тупаров


Цел и задачи на дипломната работа 3


Въведение
Информационните системи поддържащи бази от данни с подробна информация за кредитоискателите са основен инструмент в работата на кредитните институции. За разлика от други държави от ЕС и САЩ, подобни системи все още не са или са малко разпространени в България, от една страна поради по слабото кредитиране като финансово поведение на граждани и кредитни институции, а от друга поради липсата на бази от данни с нужната информация за всеки гражданин. Текущата система е разработена за САЩ, където успешно се използва и доразвива от повече от една година.

Най-често срещаните злоупотреби в тази област са:



  • Кредитоискателя се представя с фалшива самоличност

  • Кредитоискателя дава погрешни данни за доходите си

  • Кредитоискателя дава погрешни данни за имуществата си

  • Използване на фалшиви SSN номера

  • Използването на данни на вече починали граждани

От друга страна за съставянето на крайната оценка на заема са нужни много други данни. Голяма част от тези данни могат да бъдат доставени от подходяща информационна система в рамките на няколко секунди, което ускорява и улеснява оценката на кредитния риск.

Цел и задачи на дипломната работа


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

За постигане на тази цел са формулирани следните задачи:

1. Да се анализират и прецизират функционалните и системните изисквания към приложението и да се избере технология за реализация.

2. Да се проектира структурата на базата от данни необходима за съхраняване и управление на данните в информационната система.

3. Да се проектира входно – изходния интерфейс на информационната система.

4. Да се извърши реализация на проектираната информационна система.

Дипломната рабнота е структурирана както следва:

В Глава 1 са анализирани и уточнени функционалните и системните изисквания към информационната система и е избрана технология за реализация. В Глава 2 е извършено подробно проектиране на информационната система. В Глава 3 е предствена реализацията на информационната система. Приложението представлява извадка на една минимална част от кода, тъй като обема на кода е доста голям. Целия код е качен на диска прикачен към магистарската теза. Приложение ”AddressSearch.aspx” е представен HTML кода на страницата за търсене на адреси Приложение „CustomPage.aspx.cs” е представен сорс кода за страницата CustomPage обединяваща голяма част логиката вложена в останалите страници.



Някои елементи на представената в дипломната работа информационна система представляват служебна тайна, тъй като касаят сигурността на информационната система, която е създадена за нуждите на бизнес клиент от САЩ. Затова те няма да бъдат представяни конкретно и в подробности.

Анализ на функционалните и системните изисквания към информационната система и избор на технология за реализация
Очаквани проблеми при изграждането на подобна система
Тъй като фирма Incanus има опит в изграждането на подобни системи не се очакват големи и изненадващи проблеми. Въпреки това, всяка система преминава през подробен анализ, като се опитваме да предвидим бъдещи проблеми от използваните технологии, до чисто организационни проблеми След анализа достигнахме до заключението, че очакваните проблеми при подобни системи могат да бъдат:

  • Избор на (не) подходящи технологии за цялостно изграждане на системата – тук трябва да бъде зачетено че системата е широко обхватна и ще се състои от множество компоненти, то платформата на която ще се програмира системата трябва да е широко позната, бързо изпълним код, възможност за изработване както на уеб сървиси, windows сървиси, уеб приложения така и на обикновените десктоп приложения. Избора на подходящите технологии и причините за конкретния избор е засегнат във следващата глава „Проектиране на системата”, подзаглавие „Анализ на платформи”.

  • Възможност от проблеми при базата данни – тъй като базата данни се очаква да бъде огромна по обем и брой записи(основното натоварване пада върху базата данни), възможно е да се претоварва ако не е проектирана правилно или добре оптимизирана за конкретната ситуация. Може също така да се предвиди и възможността базата да е на отделна машина конфигурирана и използвана само за базата данни. При отделната машина минусите са че може да се получи забавяне при прехвърлянето на данните между отделните машини, но това е в допустимите граници.

  • Неразбираем за потребителите и служителите интерфейс – често се получава разминаване между вижданията за удобен за ползване интерфейс на дизайнера и програмисти от една страна, и потребителите и клиентите от друга. Тук се предвижда показването и одобряването на дизайна от клиента предварително.

  • Проблеми при преминаването от старата система към новата

  • Неразбираем наследен код от старата система – клиентите държат повечето компоненти от старата им система да бъдат прехвърлени към новата, като предварително се обсъжда ползването на стария код или цялостното пренаписване на системата.

  • Проблеми при комуникациите(недоразбиране) между клиент и изпълнител – този проблем не е за подценяване тъй като проекта се прави във България и е за САЩ. Възможно е недоразбиране и често пренаписване на цели компоненти.

  • Проблеми при сигурността – сигурността при такива системи е изключително важна ето защо при тази система се изгражда специфичен модел за идентификация.

  • Бавното събиране на данни при ползването на множество уеб сървиси– системата е разделена на компоненти за увеличаването на бързината, като в повечето случаи за събирането на информация за кредитоискателя се използват отделни уеб сървиси в зависимост от търсената информация. Това е възможно да се окаже проблем ако в една страница се използват едновременно няколко сървиса, като при получаването на информацията двата сървиса ще се изчакват. Това може да бъде избегнато с пускането на нишки.


Обхват и задачи в системата
Като цяло дипломната работа ще обхваща основно уеб системата, използвана за връзка с крайния потребител. Тъй като системата използва множество други компоненти, като по-голямата част от тях за уеб сървиси, ще се постарая да вмъкна и кратки примери за някои от тях, като поради причини касаещи сигурността на системата детайлите относно сървисите ще бъдат косвени.
Системата ще обхваща:

  • Изграждане на многопотребителска среда със специфична реализация на сигурността.

  • Секция с пълна информация за акаунта на всеки идентифицирал се потребител

  • Секция за менажиране на потребители към съответно дадена компания, нейните дъщерни компании и служителите към тях.

  • Секции разследване на кредитоискателя

      • SureLoc – секция за добиване на детайлна информация по непълно въведени данни на кредитоискателя

        • Address lookup

        • Phone

        • Cellular/Unleashed

        • Billing Name Address

        • Skip Search

        • SureLoc

        • DataAuthentication

        • WildCard Search

        • Address Correction

      • Sentinel – Задаване на лични въпроси на кредитоискателя за потвърждаване на самоличността.

      • Batch Process – Пускане на файлове с голям брой кредитоискатели.

      • Death Records – проверяване дали подадения SSN не е на вече починал човек

      • SSN Validation- проверяване дали SSN-а на кредитоискателя е валиден

      • IDCHeck – проверка на кредитоискателя за съвпадение на представената идентичност, и извличане на личните данни на кредитоискателя от три различни източника на данни. Системата автоматично сравнява данните и филтрира излишната или не пълна информация.

      • Criminal Records – проверка за криминални прояви на кредитоискателя

      • Bankruptcy - няколко вида проверки на финансовото състояние на кредитоискателя

      • Property Records – детайлна информация за пълно имуществено състояние на кредитоискателя и неговите роднини.

      • Dynamic Inquisition – динамично намиране и сортиране на най-високата по рейтинг на важност информация. Тук се търсят данни за големи корпорации. За по-голяма сигурност се извеждат и въпроси, които доказват че човека е същия за който се представя. При търсене на фирма не се задават въпроси но се извеждат резултати основните хора участващи в управлението на фирмата – това може да стане тъй като в вътрешната(privet) база данни се пази ранга на всеки служител за съответната фирма.


Анализ на платформи – предимства и недостатъци
Вариант 1: Използване ASP[2], MS SQL, GIMP

  • ASP (Active Server Pages) e Майкрософтска технология за създаване на server side приложения. Разширението на file-a e „.asp”. "


Предимства:

  • ASP работи перфектно със всички видове (създадени след 95г.) на най-използваната операционна система – WINDOWS.

  • Изграден е до голяма степен на основата на Visual Basic – един от най-използваните езици в света, което го прави лесен за научаване от програмисти с предишен опит.

  • Като синтаксис е сравнително лесен и е един от предпочитаните езици на начинаещите.

  • От друга страна е съвместим със HTML, XML, XSL, CSS, Java Script, MS SQL, ORACLE, My SQL.

  • ASP e за свободно ползване както и gimp. При локални действия ползва IIS – който е вграден към windows. „MS SQL server” се плаща и ползва единствено при хостването.

  • Хоства се на сървъри ползващи Windows което гарантира високата степен на сигурност

Недостатъци:

  • ASP спира в развитието си до ASP 3 което последно излиза около 2002 година. Следва появата на ASP .NET което включва във себе си „старото” вече ASP

  • Като скорост на писане – по-бавен, като дължина и обем на кода - по-обемен, като скорост на изпълнение- по бавен от версиите на .NET.

  • Няма собствено IDE, което се закупува допълнително или може да се намерят свободни версии. Това го прави до някъде по неприемливо за потребителите.

Вариант 2: Използване ASP.NET 2, MS SQL, GIMP[12]
ASP.NET е следващото поколение на ASP, но не е точно подобрена версия на ASP. ASP. NET се явява като изцяло нов пример за server-side ASP scripting. ASP.NET се явява като част от .Net Framework, като Microsoft са изгубили 3 години за изцяло пренаписване на нов software. “.Net Framework” e инфраструктура за MS .NET платформата. Фреймуърка се явява мястото където можем да създаваме, дебъгваме, и стартираме даден проект.

Предимства:

  • Наследява всичките предимства на ASP

  • .NET Framework поддържа различни езици за програмиране и позволява

тяхната съвместна работа.

  • .NET приложенията се пишат на езици от високо ниво (C#, VB.NET, Managed C++ и други) и се компилират до междинен

език от ниско ниво, наречен IL (Intermediate Language). По време на

изпълнение IL програмите (т. нар. управляван код) се компилират до

инструкции за текущата хардуерна архитектура, съобразени с текущата

операционна система, и след това се изпълняват от микропроцесора.



  • .NET Framework включва в себе си стандартна библиотека, която съдържа базова функционалност за разработка, необходима за повечето приложения, като вход/изход, security model[6], връзка с бази данни, работа с XML, изграждане на уеб приложения, използване на уеб услуги, изграждане на графичен потребителски интерфейс и др.

  • Обема на кода зависи от ползвания език за програмиране като сравнен с JAVA - език от същото ниво и създадени и използван доста преди .Net може да се каже че печели в обем на кода.



Фиг.2.1

  • Като скорост сравним със ASP - .Net е по-добрия вариант



Фиг.2.2

  • Бързо развитие на продукта като за последните 4-5 години се превръща в една от най-използваните платформи за създаване не само на интернет страници, но и за всякакъв друг вид desktop приложения.

  • Добра скорост на изпълнение на кода на сървъра.

  • Възможност за ползване на всякакъв вид бази данни, като в случая се MS SQL е начело сред най-добрите бази заедно с Oracle.

Недостатъци:

  • Сложна за усвояване от начинаещи.

  • Има специализирани функции за управление на база данни насочени специално към MS SQL

  • За .Net 2 трудно да се намери специализирана литература на Български

Вариант 3: Използване Java[3], MySQL, Gimp

Java възниква преди .Net(Първоначалната версия на езика, наричана още Oak, е разработвана в продължение на 18 месеца — от пролетта на 1991 до лятото на 1992 — от Патрик Нотън (Patrick Naughton), Майк Шеридан (Mike Sheridan) и Джеймс Гослинг (James Gosling), както и от още десет разработчика. Поръчката е била на компютърния производител Sun Microsystems. Проектът е носил името „The Green Project“ (Зеленият проект). Един от основните разработчици е Джеймс Гослинг, който се смята и за един от бащите на езика.) Java е един от най-използваните езици за правене както на Web, така и на desktop приложения.



Предимства:

  • Работи под WINDOWS.

  • Като език прилича до голяма степен на другия известен C, следователно е лесно за преминаване на разработчици на C към Java

  • лесната преносимост между различните платформи, като за целта е необходимо само да се напише виртуална машина за съответната платформа;

  • Бързо изпълним код

  • Свободен софтуер

  • Бързо развиваш се език

  • Налични са много примерни и дори готови разработки, материали и книги

  • От друга страна е съвместим със HTML, XML, XSL, CSS, Java Script, ORACLE, My SQL.

  • Хоства се на сървъри със съответната виртуална машина

Недостатъци:

  • Предварително Инсталиране на виртуална машина

  • Липса на определено IDE като най-използваното е “eclips”

  • Фирмата ще трябва в последствие да търси/обучи персонал с тези умения.

Решение

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



Описание на използвани технологии[5][8][9][10][19]
Уеб услуги[19]

Уеб услугите са нова ера в разработката на разпределени приложения. Те предоставят ново ниво на абстракция над вече съществуващите модели,което стои над езиците за програмиране, операционните системи и мрежовите комуникационни протоколи. Възползвайки се от вече изградените технологични модели в Интернет и базирайки се изцяло на отворени стандарти, уеб услугите се превръщат в основната инфраструктура, която свързва всички компютърни устройства.


Какво е уеб услуга? [19]

Уеб услугите не само наподобяват услугите от реалния живот, но и моделират тяхното поведение. Те представляват програмни компоненти (някаква специфична логика, изчислителен ресурс или определена информация), които са достъпни отдалечено през уеб. Уеб услугите са достъпни на практика от всеки клиент, който поддържа връзка с уеб, защото използват отворени Интернет стандарти за комуникация. Те са независими както от операционната система, така и от платформата и езиците за програмиране, на които се разработват. Архитектурно уеб услугите са функционално независими компоненти и са слабо обвързани с клиента, който ги използва (loosely coupled). Клиентът поръчва, услугата изпълнява поръчката и връща резултата обратно при клиента. Клиентът не се интересува как точно работи уеб услугата и за да я използва не трябва да знае нищо повече за нея освен какви входни данни да й подаде.


Принцип на действие на уеб услугите[19]

Уеб услугите представляват XML базиран стандарт за отдалечено извикване на функционалност. Те работят на принципа на обмяна на прости SOAP съобщения между клиента и доставчика на услугата. Всяко съобщение се състои от данни и мета данни, описващи тези данни. Ще се спрем по-подробно на стандарта SOAP и на структурата на SOAP съобщенията малко по-нататък, когато разглеждаме инфраструктурата на уеб услугите.


Уеб услугите използват утвърдения в Интернет и при уеб технологиите модел "заявка/отговор" (request/response), т. е. за всяка една отделна заявка към сървъра, той връща отделен отговор специално за нея. По същия модел работят и уеб приложенията: уеб клиентът подава HTTP заявки, а уеб сървърът ги обработва и връща HTTP отговор.
Пренос на SOAP съобщения по HTTP При уеб услугите протоколът за пренос на заявките и отговорите по подразбиране е HTTP, но като такъв може да се използва и всеки друг протокол, който може да пренася XML данни. Следващата фигура илюстрира използването на HTTP за пренос на SOAP съобщения:


HTTP заявката се състои от две части: хедър, който съдържа различни параметри на заявката (информация за самата заявка и за клиента, който я изпраща) и тяло, което съдържа SOAP съобщението. SOAP съобщението се състои също от две части: данни (SOAP body) и мета данни (SOAP header).
В хедъра на HTTP заявката се посочва нейният вид. В примера е използвана HTTP-POST заявка по версия 1.1 на HTTP протокола. В хедъра се задава още типът на съдържанието (Content-Type), който трябва да е text/xml, тъй като SOAP съобщенията представляват XML. Заявката задължително трябва да съдържа и хедъра SOAPAction, дори и ако той е без съдържание. Неговото предназначение е да укаже същността на SOAP съобщението.
След като получи така формираната заявка, сървърът изпраща отговор, който може да е или със статус 200 OK (успех), или статус 500 Internal Server Error (грешка). Грешка се връща, ако SOAP съобщението, изпратено като отговор, съдържа SOAP Fault, т. е. възникнал е проблем (изключение) при изпълнението на услугата.
ASP.NET[8]

ASP.NET е библиотека за разработка на уеб приложения и уеб услуги, стандартна част от .NET Framework. Тя дава програмен модел и съвкупност от технологии, чрез които можем да изграждаме сложни уеб приложения.


Изпълнение на ASP.NET уеб приложение[19]

Уеб приложенията използват модела заявка-отговор (request-response), както е показано на фигурата:



1. Потребителят въвежда в браузъра адрес на страница (URL). Браузърът изпраща HTTP заявка (request) към уеб сървъра.

2. Сървърът получава заявката и я обработва. В случая с ASP.NET, IIS намира процес, който може да обработи дадената заявка.

3. Резултатът от вече обработената заявка се изпраща обратно към потребителя/клиента под формата на HTTP отговор (response).

4. Браузърът показва получения отговор като уеб страница.
Преглед на технологията ASP.NET[8]

ASP.NET е програмна платформа за разработка на уеб приложения, предоставена от .NET Framework. Тя предлага съвкупност от класове, които работят съвместно, за да обслужват HTTP заявки. Също като класическите ASP (Active Server Pages), ASP.NET се изпълнява на уеб сървър и предоставя възможност за разработка на интерактивни, динамични, персонализирани уеб сайтове, както и на уеб базирани приложения. АSP.NET е също и платформа за разработка и използване на уеб услуги.


Разлики между ASP и ASP.NET[2]

Разликите между ASP и АSP.NET са значителни. АSP.NET предлага ново ниво на абстракция за разработка на уеб приложения. Ключова характеристика на ASP.NET е възможността за разделяне на кода описващ дизайна от кода, реализиращ логиката на приложенията. ASP.NET приложенията могат да бъдат разработвани с помощта на всички езици за програмиране, които се компилират до MSIL код (C#, VB.NET, J#, Managed C++ и много други).


Как работи ASP.NET?

Традиционните уеб страници могат да изпълняват код на клиента, с който извършват сравнително прости операции.


ASP.NET уеб формите могат да изпълняват и код от страна на сървъра (server-side code). С него те генерират HTML код, който да се върне като отговор на заявката. За целта могат да се извършват обработки, изискващи достъп до бази от данни и до ресурсите на самия сървър, генериращи допълнителни уеб форми и други.
Всяка уеб форма в крайна сметка се трансформира в HTML код, пригоден за типа на клиентския браузър. Това позволява улеснена разработка на уеб форми. Те работят практически върху всяко устройство, което разполага с интернет свързаност и уеб браузър.
Разделяне на визуализация от бизнес логика[9][10]

Един от основните проблеми на класическите ASP беше смесването на HTML с бизнес логика. Това правеше страницата трудна за разбиране, поддръжка и дебъгване. Файловете ставаха големи и сложни и се забавяше процеса на разработка на приложението. Една от основните архитектурни цели на АSP.NET e справянето с този проблем. Тъй като реализацията на потребителския интерфейс и на бизнес логика са до голяма степен, две независими задачи, ASP.NET предоставя модел за разработка, при който те са физически разделени в отделни файлове. Програмирането за клиентския интерфейс (UI) се разделя на две части:

- За визуализация се използва HTML-подобен код, записан във файл с разширение .aspx.

- Бизнес логиката се дефинира в отделен файл (с разширение .cs за C# или .vb за Visual Basic .NET), съдържащ конкретната имплементация на определен програмен език.


Файлът, съдържащ бизнес логиката, се нарича "Изпълним код на уеб формата" (Code-behind).
Зад всяка уеб форма стои богатият обектен модел на .NET Framework и тя се компилира до клас в асемблито на проекта ни.

Класът, генериран от .aspx файл, се непряк наследник на Page класа. Съществува междинен клас в йерархията, който е за изпълнимия код (code-behind class). В него можем лесно да добавяме методи, обработка на събития и др.


Чрез "изпълнимия код" представянето е разделено от логиката. Това улеснява значително поддръжката на .aspx страниците.

Сподели с приятели:
  1   2   3   4




©obuch.info 2024
отнасят до администрацията

    Начална страница