Разработка автоматизированной системы оценки кредитоспособности физических лиц (АС 'CreditAnalysis')

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,46 Мб
  • Опубликовано:
    2015-01-29
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка автоматизированной системы оценки кредитоспособности физических лиц (АС 'CreditAnalysis')

Введение

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

Расчетно-пояснительная записка включает техническое задание, конструкторскую, технологическую, экономическую и эргономическую части, а также приложение.

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

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

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

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

В приложении к расчетно-пояснительной записке представлены графические материалы, описание которых приводится на протяжении всей расчетно-пояснительной записки. Также приложение включает исходный текст программного продукта.

Содержание

Техническое задание

Конструкторская часть

. Общетехническое обоснование разработки

.1 Описание предметной области

.2 Функциональные задачи приложения

.3 Анализ аналогов и прототипов

. Разработка структуры программного изделия

.1 Выявление потребителей и источников информации

2.2 Сравнительный анализ средств разработки системы

2.3 Выбор системы разработки

.4 Проектирование базы данных

.5 Описание инфологической модели предметной области

.6 Даталогическая модель

Технологическая часть

. Разработка интерфейсов взаимодействия пользователя с системой

.1 Разработка экранных форм (страниц)

.2 Разработка графа диалога

. Руководство пользователя

.1. Открытие приложения

.2 Постраничная навигация

.3 Отправка письма по E-mail

. Программа и методика испытаний

.1 Объект испытаний

.2 Цель испытания

.3 Состав предъявляемой документации

.4 Технические требования

.5 Порядок проведения испытаний

Экономическая часть

. Смета затрат на создание программного изделия

. Обоснование сметы затрат

.1 Расчет затрат на расходные материалы

.2 Расчет затрат на оборудование

.3 Расчет затрат на услуги сторонних организаций

.4 Расчет затрат на оплату труда

.5 Расчет отчислений на социальные нужды

.6 Расчет затрат на накладные расходы

.7 Расчет себестоимости

.8 Расчет прибыли

.9 Расчет цены

.10 Расчет цены с учетом НДС

Эргономическая часть

. Введение

. Обобщённые эргономические характеристики

.1 Расчёт яркостно - контрастных характеристик

.2 Расчёт пространственных характеристик

.3 Расчёт временных характеристик

.4 Расчет информационных характеристик

. Частные эргономические характеристики

.1 Оценка информационной насыщенн

.2 Оценка цветовой гаммы

Заключение

Список используемой литературы

Приложение

. Листинг основных модулей программы

.1 Разметка веб-страниц

.2 Дизайн веб-страниц

.3 Функциональные модули

Техническое задание

Наименование проекта

Автоматизированная система оценки кредитоспособности физических лиц (АС “CreditAnalysis”).

Основание для разработки

Основанием для разработки является задание на бакалаврскую работу, утвержденное кафедрой «Автоматизированные системы обработки информации и управления» МГТУ им. Н.Э. Баумана.

Исполнитель

Исполнителем является студент МГТУ им. Н.Э.Баумана группы ИУ 5-82 Галкин Михаил Андреевич.

Назначение и цель разработки

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

Содержание работы

Задачи, подлежащие решению

Анализ предметной области и создание ее формального описания

Определение функций, выполняемых системой;

Разработка инфологической и даталогической моделей системы;

Выбор основной технологии и средств разработки и реализации программных модулей;

Создание базы данных;

Составление структурной схемы программы;

Разработка интерфейса взаимодействия программы с пользователем;

Разработка алгоритма работы программы;

Разработка графа диалога и набора страниц;

Оформление документации.

Требования к программному изделию

Требования к функциональным характеристикам:

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

Содержать макет сайта Банка, с которого будет осуществляться отправка заявки на кредит.

Содержать постраничную навигацию по макету сайта.

Реализовывать возможность заполнения клиентом онлайн - заявки на кредит.

Реализовывать считывание, первичный анализ корректности и сохранение в базу данных введённой клиентом информации.

Осуществлять принятие решения о возможности выдачи кредита по введённой заявке

Анализ данных должен происходить на основе весовых данных, заданных в системе.

База данных должна иметь встроенное хранилище информации о текущих клиентах Банка, на основе которых система сможет делать вывод о ценности того или иного параметра.

Вести постоянный пересчёт оценочных параметров, хранящихся в системе, для оперирования самой актуальной информацией при принятии решения.

Осуществлять выбор кредитного продукта, который Банк может предоставить, на основе данных, указанных в онлайн - заявке.

Осуществлять отправку письма по указанному клиентом E-mail адресу с результатами предварительного решения и выбора кредитного продукта.

Основное управление и настройка системы должны осуществляться путём изменения данных в базе.

Требования к интерфейсу пользователя:

Клиент должен иметь возможность:

Зайти на веб-страницу с онлайн - заявкой на кредит.

Чётко понимать, каким образом необходимо вести заполнение заявки, и, в случае пропуска полей, получать сообщение о необходимости их заполнения.

Уведомляться об успешной обработке заполненной заявки.

Получать на E-mail письмо с вынесенным решением и дальнейшими инструкциями для получения кредита.

Требования к составу программных компонентов

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

ОС Microsoft Windows XP или старше;

MS SQL Server 2005 Express Edition или более высокой редакции;

Требования к архитектуре системы

Система должна включать в себя:

веб-страницу, производящую работу с базой данных и реализующую интерфейс с пользователем;

базу данных для хранения информации о клиентах банка, данных для анализа и функций нахождения конечного решения.

приложение, ответственное за последовательное выполнение функций, хранящихся в БД, и рассылку E-mail сообщений с результатами.

Требования к базе данных

Автоматизированная система использует СУБД SQL Server 2005 для хранения следующей информации:

поступившие заявки от клиентов

текущие или бывшие клиенты Банка

чёрный список клиентов

процедуры, осуществляющие пересчёт оценочных параметров

процедуры, осуществляющие вычисления, анализ и принятие решения по заявке.

Требования к входным и выходным данным

Входные данные

Входными данными является информация, поступающая в заявке клиента с веб-страницы Банка.

Выходные данные

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

Требования к составу и характеристикам технических средств

Приложение должно функционировать на IBM-совместимой ЭВМ следующей конфигурации:

процессор семейства Intel Pentium IV и выше;

оперативная память не менее 1 Гбайт;

дисковая подсистема со свободным дисковым пространством

не менее 2 Гбайт;

цветной монитор с поддержкой SVGA-режимов;

стандартная русифицированная клавиатура;

манипулятор мышь.

Требования к лингвистическому обеспечению

Интерфейс пользователя должен быть реализован на русском языке.

автоматизированный информационный кредитоспособность банк

Этапы разработки

Этапы разработки

Срок начала

Срок выполнения

1

Разработка технического задания

07.02.2011

12.02.2011

2

Разработка эскизного проекта

14.02.2011

26.02.2011

3

Разработка технического проекта

28.02.2011

12.03.2011

4

Разработка программы

14.03.2011

02.04.2011

5

Отладка программы

04.04.2011

16.04.2011

6

Разработка программной документации

18.04.2011

07.05.2011

7

Оформление и представление документации

09.05.2011

14.05.2011

8

Защита выпускной работы


До 02.07.2011

Требования к документации

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

Техническое задание;

Расчетно-пояснительная записка;

Руководство пользователя;

Программа и методика испытаний;

Копия листов графической части.

Порядок приема

Прием и контроль программного изделия осуществляется в соответствии с документом «Программа и методика испытаний».

Дополнительные условия

Данное техническое задание может уточняться и изменяться в установленном порядке.

Конструкторская часть

1.      Общетехническое обоснование разработки

1.1    Описание предметной области

Предметной областью данной системы является сфера оценки кредитоспособности клиентов, скоринга и анализа клиентских данных. Система на основе данных, вводимых клиентом на сайте и на основе данных и правил уже заданных в системе (В соответствии с политикой конкретного Банка) делает вывод о кредитоспособности клиента и уведомляет его о принятом решении.

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

Дальнейшая разработка модели предметной области описана в разделе «Проектирование базы данных».

1.2    Функциональные задачи приложения

Доступ к базе данных, содержащей следующую информацию:

·        О созданных заявках;

·        О текущих клиентах банка

·        Процедуры, реализующие алгоритмы принятия решений;

·        Результаты принятия решения

Реализация принятия решения по возможности выдаче клиенту кредита:

·        Принятие решение на основе данных, введённых через форму

·        Анализ при принятии решения на основе текущих данных в системе.

Обработка данных и вывод информации для администратора базы данных.

·        Добавление данных;

·        Просмотр данных, оставленных пользователями сайта;

(Все данные указанные действия администратор обязан совершать через СУБД)

1.3    Анализ аналогов и прототипов

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

<https://www.citibank.ru/russia/loan/rus/form.htm> - онлайн-заявка на получение кредита физическим лицом Банка «CitiBank». Данную страницу можно считать основным аналогом разрабатываемой программы. Страница имеет простой и понятный интерфейс, вопросы сформулированы максимально корректно и доступно. Основным недостатком данной системы является высокая длительность принятие решения, т.к. для его получения системой подразумевается обязательное участие человека.

<https://www.uniastrum.ru/personal/crediting/customer/form/> - страница с онлайн-заявкой на получение потребительского кредита Банка «Юниаструм Банк». Рассматриваемая страница имеет дружественный, понятный и грамотно структурированный интерфейс, но это высокое удобство влечёт за собой его медленную работу и достаточно долгую загрузку данных. Также сама анкета содержит много вопросов, требующих детального и очень подробного ответа, что также может оттолкнуть потенциального клиента Банка.

<#"787582.files/image001.gif">

Рисунок 1. Заголовок и меню родительской страницы

·        Меню - Содержит ссылки на разделы: «Главная страница», «О нас», «Наши партнёры», «Контакты».

·        Меню навигации - Находится внизу страницы и позволяет оперативно перемещаться по сайту. Является удобным инструментом для просмотра длинных страниц.

Рисунок 2. Меню навигации внизу страницы

·        Подменю слева - Кнопка перехода на страницу с онлайн-заявкой.

Рисунок 3. Подменю с кнопкой перехода к онлайн-заявке

Страница с онлайн-заявкой (default.aspx)

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

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

Рисунок 4. Заполняемая анкета-заявка

·        В анкете реализована система подсказок пользователю для корректного заполнения полей.

Рисунок 5. Подсказки по заполнению

·        После корректного заполнения всех полей отправка данных происходит по соответствующей кнопке.

Рисунок 6. Создание заявки.

Получение письма с решением

После обработки заявки система генерирует письмо с результатом решения и отправляет его потенциальному клиенту путём e-mail сообщения. На данном заключительном этапе взаимодействия пользователя с системой происходит через интерфейс почтового клиента или через веб-страницу почтового провайдера.

Рисунок 7. Получение письма через веб-портал почтового провайдера Mail.ru.

1.2     
Разработка графа диалога

Для взаимодействия пользователя с системой разработан граф диалога, представленный на листе 4.

2.     
Руководство пользователя

2.1    Открытие приложения

Открытие приложения осуществляется после ввода в адресную строку имени домена, на котором будет зарегистрировано данное web-приложение.

При открытии в браузере отображается стартовая страница приложение Default.aspx. На макете сайта Банка пользователь может перейти по следующим страницам:

1.      «Главная страница»

2.      «О нас»

.        «Наши партнёры»

.        «Контакты»

.        «Онлайн - заявка на получение кредита»

Основным интерфейсом пользователя в данной системе является Онлайн-заявка на получение кредита, остальные страницы являются демонстрационной версией сайта предполагаемого Банка.

.2 Постраничная навигация

«Главная страница»

На главной странице содержится приветственная информация для пользователей, зашедших на сайт.

«О нас»

На странице «О нас» содержится краткая информация о деятельности Банка.

«Наши партнёры»

На странице «Наши партнёры» содержится краткая информация о государственных банковских организациях, сотрудничающих с данным Банком.

«Контакты»

На странице «Контакты» содержится контактная информация для обратной связи пользователя с сотрудниками Банка.

«Онлайн - заявка на получение кредита»

На странице «Онлайн-заявка на получение кредита» содержится форма с подробными инструкциями для заполнения.

Поля, обязательные для заполнения, отмечены «*». Их нельзя оставлять пустыми, поэтому при попытке отправить заявку с незаполненными обязательными полями, система выдаст соответствующее сообщение.

Справа от полей, с заполнением которых могу возникнуть трудности, приведены примеры заполнения.

В некоторых полях обязательно определённое корректное заполнение (Например, поле “E-mail” должно иметь определённую структуру, в поле «Сумма кредита» необходимо вводить цифры, но не буквы). Поэтому при попытке отправить заявку с некорректно заполненными полями, система выдаст соответствующее сообщение.

В поле «Дата рождения» стоит проверка на совершеннолетие пользователя, заполняющего заявку. Если окажется, что пользователю точно меньше 18-ти лет, то при попытке отправить заявку будет выдано соответствующее сообщение, заявка отправлена не будет, и в получении кредита автоматически будет отказано.

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

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

2.3 Отправка письма по E-mail

·              Как только система произведёт все необходимые операции и будет принято предварительное кредитное решение по заявке, пользователю на указанный в заявке E-mail будет отправлено соответствующее письмо от имени Банка, в котором будет содержаться информация о принятом решении.

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

·              В случае принятия отрицательного решения пользователю придёт письмо с отказом.

3.     
Программа и методика испытаний

3.1    Объект испытаний


Автоматизированная система оценки кредитоспособности физических лиц (АС “CreditAnalysis”).

 

3.2    Цель испытаний


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

3.3    Состав предъявляемой документации


При проведении испытаний предоставляются следующие документы:

1. Техническое задание;

2.      Руководство пользователя;

3. Программа и методика испытаний;

3.4    Технические требования

Задачи, подлежащие решению

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

Требования к программной документации

Должны быть представлены все документы, указанные в пункте «Состав предъявляемой документации» данного документа.

3.5    Порядок проведения испытаний

 

Состав и структура технических и программных средств

Программный продукт разработан для использования под управлением операционной системы Microsoft Windows XP (или более поздних версий). Система разработана в Microsoft Visual Studio на языке C#, следовательно, для просмотра исходных кодов необходимо наличие данной среды разработки. База данных разработана на MS SQL Server 2008. Необходимые технические характеристики ПК объявлены в пункте «Требования к техническому обеспечению» технического задания.

Последовательность испытаний

Испытание системы должно проводиться в следующей последовательности:

Установка и настройка системы на персональном компьютере или сервере

Запуск системы

Проведение испытаний

Завершение работы

Последовательность проведения испытаний:

№ пункта ТЗ

№ п.п.

Выполняемые действия

Ожидаемый результат

5.2.1.1

1

Открытие страницы index.htm

Вход на главную страницу сайта, с которой начинается работы с макетом сайта. (Рисунок 1)

5.2.1.2

2

Нажатие кнопок с именами страниц.

Переход по страницам, содержащим различную краткую справочную информацию о Банке, с помощью гиперссылок. (Рисунок 2,3,4)

5.2.1.2

3

Выбор пунктов меню «Навигация» внизу страницы

Переход по страницам, содержащим различную краткую справочную информацию о Банке, с помощью гиперссылок, указанных в меню «Навигация». (Рисунок 2,3,4)

5.2.1.3

4

Выбор пункта «Онлайн заявка на получение кредита» в левой части страницы.

Открытие веб-страницы, содержащей форму для заполнения заявки на кредит. (Рисунок 5)

5.2.1.4

5

Попытка отправить заявку при последовательном заполнении полей с несоблюдением меток об обязательно заполнении.

Появление сообщения об ошибке в соответствующем поле. Данные не будут сохранены. (Рисунок 6)

5.2.1.4

6

Попытка отправить заявку при последовательном заполнении полей с несоблюдением корректности заполнения (Например, в поле «Сумма кредита» ввести буквы)

Появление сообщения об ошибке в соответствующем поле. Данные не будут сохранены. (Рисунок 7)

5.2.1.4

7

Попытка отправить заявку при вводе в поле «Дата рождения» такой даты, при которой на текущий момент ещё не было достигнуто совершеннолетие.

Появление сообщения о том, что пользователь не подходит по возрасту для получения кредита. Данные не будут сохранены. (Рисунок 8)

5.2.1.4 5.2.1.5 5.2.1.6 5.2.1.7 5.2.1.8 5.2.1.9 5.2.1.10 5.2.1.11

8

При полностью корректном вводе данных нажатие кнопки «Создать заявку».

Появление сообщения об успешной обработке введённой заявки. Занесение введённых пользователем данных в базу. Запуск приложения, осуществляющего следующие действия: последовательных запуск всех процедур пересчёта весовых коэффициентов в базе; На основе полученных после пересчёта параметров произведение анализ введённых пользователем данных, принятие решение по заявке; Подбор кредитного продукта в случае положительного решения; Формирование текста письма; Отправка письма с решением по E-mail, указанному в заявке. (Рисунок 9)

5.2.1.5 5.2.1.9 5.2.1.10

9

Проверка доставки письма с решением

На почту пользователя поступает сообщение с предварительным решением по выдаче кредита, текст которого зависит от результатов анализа введённых пользователем данных. (Рисунок 10,11,12,13)


3.6    Приложение. Изображения результатов испытаний


Рисунок 1. «Главная страница»

Рисунок 2. «О нас»

Рисунок 3. «Наши партнёры»

Рисунок 4. «Контакты»

Рисунок 5. «Онлайн заявка на получение кредита»

Рисунок 6. Сообщение об ошибке при незаполнении обязательных полей

Рисунок 7. Сообщение об ошибке при некорректном заполнении полей

Рисунок 8. Сообщение об ошибке при вводе несовершеннолетнего возраста

Рисунок 9. Успешная обработка заявки

Рисунок 10. Получение письма по E-mail

Рисунок 11. Положительное решение с рекомендацией продукта

Рисунок 12. Положительное решение с предложением индивидуальных условий

Рисунок 13. Отрицательное решение по заявке

Экономическая часть


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

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

1.       расходные материалы;

2.      затраты на оборудование;

.        затраты на оплату труда;

.        обобщенный социальный налог;

.        накладные расходы;

.        услуги сторонних организаций;

.        прочие расходы;

 

Статьи затрат

Статья затрат

Сумма статьи (руб.)

1

Расходные материалы

2 950

2

Затраты на оборудование

7 500

3

Услуги сторонних организаций

730

4

Затраты на оплату труда

40 500

5

Отчисления на социальные нужды

10 530

6

Накладные расходы

6 221


Себестоимость

68 431


Прибыль

16 423,44


Цена

84 854,44


Цена (включая НДС)

100 128,2


Расчет затрат на разработку данной системы проводился для уровня цен и окладов на 01.06.2011г.

2.      Обоснование сметы затрат

.1      Расчет затрат на расходные материалы

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

Материалы

Стоимость (руб.)

Бумага SvetoCopy A4/80 г/м (500 листов)

150

Картридж для принтера HP LaserJet 1018

2 500

Канцтовары (ручки, тетради, карандаши)

100

Самоучитель «Microsoft SQL Server 2005»

200

ИТОГО:

2 950


2.2 Расчет затрат на оборудование

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

,

где

 - покупная цена вычислительной техники:  = 30 000,

 - время использования ЭВМ для разработки данного программного продукта в месяцах: t ЭВМ = 9 мес.

лет - срок амортизации вычислительной техники.

Тогда:

Затраты на ремонт вычислительной техники составляют 10% от стоимости и равны:

Получаем, что затраты на оборудование с учетом его ремонта составляют:

2.3 Расчет затрат на услуги сторонних организаций

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

Работа

Стоимость (руб.)

Вывод графической части на плоттере

480

Переплет расчетно-пояснительной записки

250

ИТОГО:

730


Расчет стоимости печати графических листов формата А1:


где

 цена печати одного листа формата А1;

количество листов.

2.4 Расчет затрат на оплату труда

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


где

n - количество разработчиков программы (1 разработчик),

 - заработная плата программиста на расчётный период 9000 руб/мес. Так как программист работает на 0,5 ставки, то его зарплата составляет 4500 руб/мес.

 время разработки (9 мес).

Таким образом, =45009 = 40 500 руб.

.5 Расчет отчислений на социальные нужды

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

Расчет производится по формуле:


где

 коэффициент отчислений на социальные нужды;

 заработная плата (руб.)

Коэффициент отчислений на социальные нужды складывается из следующих отчислений:

Статья отчислений

Размер (в %)

Отчисления на социальное страхование

2,9

Отчисления в пенсионный фонд

20

Отчисления в фонд обязательного медицинского страхования

3,1

ИТОГО:

26

Тогда,  руб.

.6 Расчет затрат на накладные расходы

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

Накладные расходы составляют 10% от стоимости работ.

Таким образом,


2.7    Расчет себестоимости

Себестоимость рассчитывается как сумма по всем вышеперечисленным статьям затрат и составляет:


.8      Расчет прибыли.

Расчет прибыли производится исходя из нормы прибыли. Норма прибыли задана =20%


Расчет чистой прибыли (Пр) ведется с учетом налога на прибыль. Ставка налога на прибыль НП=20% от прибыли.

Налог на прибыль:

Н=Р·НП=13 686,2· 0,2=2 737,24 руб.

Итого прибыль составит:

Пр = Н+Р = 2 737,24+13 686,2=16 423,44 руб.

.9      Расчет цены.

Цена рассчитывается как сумма себестоимости и прибыли:


.10    Расчет цены с учетом НДС.

НДС составляет 18% от цены, следовательно:


Эргономическая часть

.        Введение

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

.       
Обобщенные эргономические характеристики

Название группы характеристик

Рабочие значения характеристик

1.Яркостно-контрастные характеристики

Слепящая яркость Lсл = 225000 кд/м2 Яркость адаптации Lа = 10¸1000 кд/м2 Яркость восприятия L = 60,5 кд/м2 Яркость фона прямая Lф = 403,3 кд/м2 Яркость фона обратная Lф = 9,07 кд/м2

2.Пространственные характеристики         Расстояние до экрана l = 0.4 ¸ 0.8 м Расстояние до экрана оптимальное lопт = 0.65 м Угол зрения вертикальный  = 17,9

Угол зрения горизонтальный  = 23,9

Поле ясного зрения 30¸35.

 

3. Временные характеристики

Время зрительной фиксации tф = 0,5 с Время информационного поиска tип = 3,5 с Критическое время восприятия экрана tкр = 30 с

4. Информационные характеристики         


2.1    Расчет яркостно-контрастных характеристик

Требуется рассчитать яркость (L, кд/м2), яркость прямого фона (Lпрф, кд/м2), яркость обратного фона (Lобф, кд/м2), контраст (K).

Расчет яркости L.


где

 значение яркости экрана монитора.

где

S - площадь экрана;

 угол между линией, проложенной от глаза к центру экрана, и линией визирования.- сила света, которая генерируется ЭЛТ.

, где

 - световой поток, генерируемый средством отображения,

W - телесный угол обзора экрана,


s - плоский угол, соответствующий телесному углу W.

Таким образом :


Lотр - значение яркости, отраженной поверхностью монитора,

, где

r - коэффициент отражения поверхности экрана,- внешняя освещенность.

При расчете Lотр принимаются следующие допущения:

а) Учитывая, что работа ведется, в основном, в лабораторных классах при искусственном свете, естественное освещение при расчетах не учитывается.

б) Источник света считается точечным.

, где

вн - сила света внешнего источника,

e - угол между линией визирования и лучом, ниспадающим из точечного источника до центра экрана.- расстояние от точечного источника до центра экрана.


Таким образом, яркость экрана вычисляется по формуле:


Расчет значения яркости L при подстановке в формулу следующих значений:

S

r

1,5

24300,056 452м0,1500кд







вн находится из условия, что Iвн = 1кд - соответствует силе света в заданном направлении источника, испускающего монохроматическое излучение частотой 540*1012 Гц, сила излучения которого в этом направлении составляет 1/683 Вт/ср.

Полученное значение L = 60,5 кд/ удовлетворяет требованию: находится в диапазоне (10-1000) кд/.

Расчет яркости фона .

Значения величин яркостей фона (прямой  и обратной ) вычисляются по следующим формулам:


где

Lоб - яркость объекта,

Lпр - яркость предмета (в данном случае Lоб и Lпр принимаются равными L),

Kоб - величина контраста объекта,

Kпр - величина контраста предмета.

Возьмём оптимальный вариант, К = 0,85 .

Исходя из этого, рассчитаем прямую и обратную яркость фона:

 кд/м2 ,

 кд/м2 .

Диапазон значений яркости адаптации: La = 10¸1000 кд/м2.

Абсолютно слепящая яркость: Lсл = 225000 кд/м2.

2.2   
Расчет пространственных характеристик

Требуется рассчитать оптимальное расстояние до экрана (lопт, м), объем зрительного восприятия (aопт), а также поля зрения (вертикальное (gв) и горизонтальное (gг)).

Значения величин l и lопт (расстояние до экрана и оптимальное расстояние до экрана) были установлены в соответствие с ГОСТом, 0.4¸0.8 м и 0.65 м соответственно.

Значения полей зрения по вертикали -  и горизонтали - определяются на основании значений размеров экрана (А = 0.205 м, В = 0.275 м) и расстояния до экрана l = 0.65 м.

 

Получаем:

,

.

Таким образом, экран может находиться в поле ясного зрения, которое составляет 30¸35°.

.3      Расчет временных характеристик

Требуется рассчитать время экспозиции информационной модели (tеxp, с), время информационного поиска (tип, с).

, где

- общий объем элементов информационной модели (число буквенно-цифровых символов), E=300.- объем зрительного восприятия, a=7±2.(a) - число элементов информационной модели с заданным для поиска набором параметров, M(a)=5.

tф - время зрительной фиксации кадра, зависит от сложности воспринимаемой информации. tf=0.5 сек

fсм = 2 Гц.

Тогда, сек.

Время экспозиции tеxp=30 сек

2.4    Расчет информационных характеристик

Необходимо выполнение условия:

jтехн £ jвоспр, где

jтехн - общее количество адресуемых точек - технически разрешимых элементов изображения.

jвоспр - общее число воспринимаемых разрешаемых элементов в кадре.

jтехн = (A*MB)*(B*MГ), где

А, В - габариты экрана,, MГ - разрешающие способности по вертикали и горизонтали соответственно.

= 600 пиксел, MГ = 800 пиксел.

jтехн = (0,205 * 600) * (0,275 * 800) = 123 * 220 = 27060 элем.

, где

= 1¸3’- разрешающая способность глаза.

 < 417312, условие выполняется.

Пороговые значения угловых размеров для простых элементов установлены в интервале 15’¸18’, что соответствует размеру hэ = 2.8 ¸ 3.4 мм.

Пороговые значения угловых размеров для средних по сложности элементов установлены в интервале 21’¸26’, что соответствует размеру hэ = 4 ¸ 5 мм.

Пороговые значения угловых размеров для сложных элементов установлены в интервале 35’¸ 40’, что соответствует размеру hэ =6,6 ¸ 7,6 мм.

3.     
Частные эргономические характеристики

№ кадра

Оценка информационной насыщенности

Оценка цветовой гаммы


Буквенно-цифровая информация

Векторная информация

Цветовой контраст

Пригоден / непригоден

1

300

-

Средний процент ошибки цветоразличения - 0%, hоп = 2 мм.

Пригоден

2                -              720 знаков/мСредний процент ошибки цветоразличения - 4%,

hоп = 2.5 мм.Пригоден



3                35           480 знаков/мСредний процент ошибки цветоразличения - 6%,

hоп = 2.5 мм.Пригоден




3.1 Оценка информационной насыщенности


Информационная пропускная способность глаза человека-оператора =16 бит/с была выбрана из интервала 4¸70 бит/с. Тогда с учетом допущения, что 1 символ = 1 бит, и tкр= 30 с, получаем, что максимально допустимая информационная насыщенность равна 480 символам.

Для графических изображений (сложных знаков) максимально допустимая информационная насыщенность составляет 1000 ¸1200 зн/ м2.

.2 Оценка цветовой гаммы

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

Основным цветом для страниц был выбран синий, а в рабочем поле - белый чтобы сконцентрировать внимание пользователя на основной информации, которую несёт страница.

При уровне внешней засветки Е = 50 ¸ 130 люкс оперативные пороговые размеры элементов информационной модели для надежного восприятия цветовой информации должны составлять для первого кадра 10’¸11’, или, для значений пространственных характеристик п. 1.2. настоящего документа, hоп = 1.9 ¸ 2.1 мм, поскольку при проектировании элементов кадров информационной модели применялся серый цвет. Аналогично, для второго и третьего кадров оперативные пороговые размеры составляют 13’ ¸ 14’, соответственно, hоп = 2.5 ¸ 2.6 мм.

Заключение

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

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

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

·        Простота организации интерфейса

·        Качество анкеты, предлагаемой клиенту для заполнения

·        Оперативность работы системы

·        Прозрачность механизмов принятия решения

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

В организационно экономической части составлена смета затрат на разработку программного продукта «CreditAnalysis» с учетом уровня цен и окладов на 01.06.2011г. и введения «Единого социального налога» в размере 26% согласно закону № 212-ФЗ от 24.07.2009

Цена программного продукта «CreditAnalysis», рассчитанная как сумма значений себестоимости и прибыли составляет Ц = S+P =  (руб.).

Отпускная цена с учетом НДС составляет Цотп = 1,18*Ц =  (руб.).

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

Список используемой литературы

. В.И. Кузовлев, Ю.Н.Филиппович. Методические указания по выполнению выпускной работы бакалавра по специальности "Информатика и вычислительная техника" для студентов кафедры ”Системы обработки информации и управления", М.: МГТУ им Н.Э. Баумана, 2005 г.

.        Григорьев Ю.А., Ревунков Г.И. Банки данных: Учеб. для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002

. О.Н. Евсеева, А. Б. Шамшев. Работа с базами данных на языке C#. Технология ADO.NET: учебное пособие, Ульяновск: УлГТУ, 2009. - 170 с.ISBN 978-5-9795-0475-9

. Г. Бучек, ASP.NET - Учебный курс. - СПб.: Питер, 2002 г. - 512 с. - ил. ISBN 966-552-124-1.

. Грубер М. - «Понимание SQL», Москва, 1993г., 291 стр.

. Интернет источники:

http://msdn.microsoft.com

http://css.manual.ru

Приложение

1.      Листинг основных модулей программы

1.1    Разметка веб-страниц

Для разметки всех страниц макета сайта использовался шаблон родительской ASP страницы Default.aspx.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>UniversityBank</title>

<link href="~/style.css" rel="stylesheet" type="text/css" />

<style type="text/css">

.style1

{: #C0C0C0;

}

.style7

{size: medium;align: left;weight: bold;

}

.style8

{: 280px;: 42px;

}

.style9

{: 42px;

}

.style10

{: 280px;

}

.style11

{: 801px;

}

.style12

{: 280px;: 137px;

}

.style13

{: 137px;

}

</style>

</head>

<body leftMargin="0" topMargin="0" marginwidth="0" marginheight="0">

<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">

<tr>

<td height="1"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td height="5" colspan="2" background="images/bg_1.jpg"><img src="images/spacer.gif" width="1" height="5"></td>

</tr>

<tr>

<td width="248" height="62"><img src="images/men_1.jpg" width="248" height="62"></td>

<td background="images/bg_2.jpg"><table width="100%" border="0" cellpadding="0" cellspacing="0">

<tr>

<td width="12"><img src="images/spacer.gif" width="12" height="1"></td>

<td width="34"><img src="images/logo.jpg" width="34" height="62"></td>

<td width="10"><img src="images/spacer.gif" width="10" height="1"></td>

<td>

</tr>

</table></td>

</tr>

<tr>

<td height="45" rowspan="2"><img src="images/men_2.jpg" width="248" height="45"></td>

<td height="39" background="images/bg_3.jpg"><table border="0" cellspacing="0" cellpadding="0">

<tr>

<td height="1" colspan="16"><img src="images/spacer.gif" width="1" height="1"><div id="pr" style="position:absolute; width:500px; height:300px; z-index:1; left: -10000px; top: -10000px"><a href="http://anvision.com" title="software outsourcing, offshore outsourcing, it outsourcing"><h1>software outsourcing, offshore outsourcing, it outsourcing</h1></a><a href="http://jobsearch4.com" title="job search"><h1>job search</h1></a><a href="http://just-dating.net" title="online dating service"><h1>online dating service</h1></a><a href="http://realestatehawk.net" title="real estate listings"><h1>real estate listings</h1></a><a href="http://anvisionwebdesign.com" title="web design company, web design services"><h1>web design company, web design services</h1></a><a href="http://web-page-design.info" title="web page design"><h1>web page design</h1></a><a href="http://anvisionwebhosting.com/" title="web hosting provider, web hosting company"><h1>web hosting provider, web hosting company</h1></a><a href="http://anvisionwebtemplates.com" title="free web templates"><h1>free web templates</h1></a></div></td>

</tr>

<tr>

<td width="22"><img src="images/spacer.gif" width="22" height="1"></td>

<td><a href="index.htm">

<td width="13"><img src="images/spacer.gif" width="13" height="1"></td>

<td width="9" height="38"><img src="images/e_1.jpg" width="9" height="38"></td>

<td width="13"><img src="images/spacer.gif" width="13" height="1"></td>

<td><a href="about.htm">

<td width="13"><img src="images/spacer.gif" width="13" height="1"></td>

<td width="13"><img src="images/spacer.gif" width="13" height="1"></td>

<td><a href="partners.htm">

<td width="13"><img src="images/spacer.gif" width="13" height="1"></td>

<td width="9" height="38"><img src="images/e_1.jpg" width="9" height="38"></td>

<td width="13"><img src="images/spacer.gif" width="13" height="1"></td>

<td><a href="contact.htm">

<td width="13"><img src="images/spacer.gif" width="13" height="1"></td>

<td width="9" height="38"><img src="images/e_1.jpg" width="9" height="38"></td>

</tr>

</table></td>

</tr>

<tr>

<td height="5"><img src="images/spacer.gif" width="1" height="5"></td>

</tr>

</table></td>

</tr>

<tr>

<td height="100%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="248" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td><img src="images/men_3.jpg" width="248" height="110"></td>

</tr>

<tr>

<td height="2"><img src="images/spacer.gif" width="1" height="2"></td>

</tr>

<tr>

<td background="images/e_3.jpg" width="248" height="89" align="center"><a href="default.aspx">Онлайн заявка на получение кредита</a></td>

</tr>

</table></td>

<td height="100%" valign="top">

<form id="form1" runat="server">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="22" height="40" background="images/bg_4.jpg"><img src="images/spacer.gif" width="22" height="40"></td>

<td background="images/bg_4.jpg"><h1>Онлайн заявка на получение кредита </h1></td>

</tr>

<tr >

<td height="1" colspan="2" background="images/e_2.jpg"><img src="images/spacer.gif" width="4" height="1"></td>

</tr>

<tr>

<td height="22"><img src="images/spacer.gif" width="1" height="22"></td>

<td></td>

</tr>

<tr>

<td></td>

<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="4"><img src="images/spacer.gif" width="4" height="1"></td>

<td valign="top"><p>Заполните, пожалуйста, форму ниже</p>

<p>&nbsp;</p>

</td>

<td width="26"><img src="images/spacer.gif" width="26" height="1"></td>

</tr>

</table></td>

</tr>

<table>

<div>

</div>

<p>

&nbsp;&nbsp;

Основная информация</p>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList5" runat="server"="SqlDataSource1" DataTextField="RegionNM" DataValueField="ID">

</asp:DropDownList>

<asp:Label ID="Label3" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource1" runat="server"="<%$ ConnectionStrings:BANKConnectionString34 %>"="SELECT * FROM [Region]"></asp:SqlDataSource>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList7" runat="server"="SqlDataSource2" DataTextField="WorkformNM" DataValueField="ID">

</asp:DropDownList>

<asp:Label ID="Label4" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource2" runat="server"="<%$ ConnectionStrings:BANKConnectionString35 %>"="SELECT * FROM [Workform]"></asp:SqlDataSource>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox2" runat="server" Width="234px"></asp:TextBox>

<asp:Label ID="Label2" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox3" runat="server"="234px"></asp:TextBox>

<asp:Label ID="Label5" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox4" runat="server"="234px"></asp:TextBox>

<asp:Label ID="Label6" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList1" runat="server"

<asp:ListItem></asp:ListItem>

<asp:ListItem>1</asp:ListItem>

<asp:ListItem>2</asp:ListItem>

<asp:ListItem>3</asp:ListItem>

<asp:ListItem>4</asp:ListItem>

<asp:ListItem>5</asp:ListItem>

<asp:ListItem>6</asp:ListItem>

<asp:ListItem>7</asp:ListItem>

<asp:ListItem>8</asp:ListItem>

<asp:ListItem>9</asp:ListItem>

<asp:ListItem>10</asp:ListItem>

<asp:ListItem>11</asp:ListItem>

<asp:ListItem>12</asp:ListItem>

<asp:ListItem>13</asp:ListItem>

<asp:ListItem>14</asp:ListItem>

<asp:ListItem>15</asp:ListItem>

<asp:ListItem>16</asp:ListItem>

<asp:ListItem>17</asp:ListItem>

<asp:ListItem>18</asp:ListItem>

<asp:ListItem>19</asp:ListItem>

<asp:ListItem>20</asp:ListItem>

<asp:ListItem>21</asp:ListItem>

<asp:ListItem>22</asp:ListItem>

<asp:ListItem>23</asp:ListItem>

<asp:ListItem>24</asp:ListItem>

<asp:ListItem>25</asp:ListItem>

<asp:ListItem>26</asp:ListItem>

<asp:ListItem>27</asp:ListItem>

<asp:ListItem>28</asp:ListItem>

<asp:ListItem>29</asp:ListItem>

<asp:ListItem>30</asp:ListItem>

<asp:ListItem>31</asp:ListItem>

</asp:DropDownList>

<asp:DropDownList ID="DropDownList2" runat="server">

<asp:ListItem></asp:ListItem>

<asp:ListItem Value="1">Январь</asp:ListItem>

<asp:ListItem Value="2">Февраль</asp:ListItem>

<asp:ListItem Value="3">Март</asp:ListItem>

<asp:ListItem Value="4">Апрель</asp:ListItem>

<asp:ListItem Value="5">Май</asp:ListItem>

<asp:ListItem Value="6">Июнь</asp:ListItem>

<asp:ListItem Value="7">Июль</asp:ListItem>

<asp:ListItem Value="8">Август</asp:ListItem>

<asp:ListItem Value="9">Сентябрь</asp:ListItem>

<asp:ListItem Value="10">Октябрь</asp:ListItem>

<asp:ListItem Value="11">Ноябрь</asp:ListItem>

<asp:ListItem Value="12">Декабрь</asp:ListItem>

</asp:DropDownList>

<asp:DropDownList ID="DropDownList3" runat="server"="SqlDataSource6" DataTextField="AyearNM" DataValueField="ID"

</asp:DropDownList>

<asp:Label ID="Label7" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource6" runat="server"="<%$ ConnectionStrings:BANKConnectionString36 %>"="SELECT * FROM [Ayear]"></asp:SqlDataSource>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList6" runat="server"="SqlDataSource3" DataTextField="FvcountryNM" DataValueField="ID">

</asp:DropDownList>

<asp:Label ID="Label8" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource3" runat="server"="<%$ ConnectionStrings:BANKConnectionString37 %>"="SELECT * FROM [Fvcountry]"></asp:SqlDataSource>

</td>

</tr>

<tr>

<td align="right">

<td>

(<asp:TextBox="TextBox5" runat="server" Width="64px"></asp:TextBox>

)

<asp:TextBox ID="TextBox6" runat="server" Width="180px" ></asp:TextBox>

</td>

<td>

<span>

</span>

</td>

</tr>

<tr>

<td align="right">

<td>

(<asp:TextBox="TextBox7" runat="server" Width="64px"></asp:TextBox>

)

<asp:TextBox ID="TextBox8" runat="server"="180px"></asp:TextBox>

</td>

<td>

<span>

<asp:Label ID="Label10" runat="server" style="color: #CC0000"></asp:Label>

</span>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox9" runat="server"="238px"></asp:TextBox>

<asp:Label ID="Label11" runat="server" style="color: #CC0000"></asp:Label>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"="TextBox9" ErrorMessage="Введите корректное значение!"="color: #FF0000"="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>

</td>

<td>

&nbsp;</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox10" runat="server"="238px"></asp:TextBox>&nbsp; руб.<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"="TextBox10" ErrorMessage="Введите корректное значение!"="color: #FF0000"="\d*"></asp:RegularExpressionValidator>

</td>

<td>

<span>

</span>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox11" runat="server" ></asp:TextBox>

&nbsp;месяцев

<asp:Label ID="Label13" runat="server" style="color: #CC0000"></asp:Label>

<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server"="TextBox11" ErrorMessage="Введите корректное значение!"="color: #FF0000"="\d*"></asp:RegularExpressionValidator>

</td>

</tr>

<tr>

<td align="right">

<td> <asp:RadioButtonList ID="RadioButtonList1" runat="server" Width="240px" DataSourceID="SqlDataSource4" DataTextField="GenderNM"="ID" RepeatDirection="Horizontal">

</asp:RadioButtonList>

<asp:SqlDataSource ID="SqlDataSource4" runat="server"="<%$ ConnectionStrings:BANKConnectionString38 %>"="SELECT * FROM [Gender]"></asp:SqlDataSource>

<asp:Label ID="Label41" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>Серия:

<asp:TextBox="TextBox12" runat="server" Width="64px"></asp:TextBox>&nbsp№<asp:TextBox ID="TextBox13" runat="server" ></asp:TextBox>

</td>

<td>

<span>

<asp:Label ID="Label15" runat="server" style="color: #CC0000"></asp:Label>

</span>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList8" runat="server" >

<asp:ListItem></asp:ListItem>

<asp:ListItem>1</asp:ListItem>

<asp:ListItem>2</asp:ListItem>

<asp:ListItem>3</asp:ListItem>

<asp:ListItem>4</asp:ListItem>

<asp:ListItem>5</asp:ListItem>

<asp:ListItem>6</asp:ListItem>

<asp:ListItem>7</asp:ListItem>

<asp:ListItem>8</asp:ListItem>

<asp:ListItem>9</asp:ListItem>

<asp:ListItem>10</asp:ListItem>

<asp:ListItem>11</asp:ListItem>

<asp:ListItem>12</asp:ListItem>

<asp:ListItem>13</asp:ListItem>

<asp:ListItem>14</asp:ListItem>

<asp:ListItem>15</asp:ListItem>

<asp:ListItem>16</asp:ListItem>

<asp:ListItem>17</asp:ListItem>

<asp:ListItem>18</asp:ListItem>

<asp:ListItem>19</asp:ListItem>

<asp:ListItem>20</asp:ListItem>

<asp:ListItem>21</asp:ListItem>

<asp:ListItem>22</asp:ListItem>

<asp:ListItem>23</asp:ListItem>

<asp:ListItem>24</asp:ListItem>

<asp:ListItem>25</asp:ListItem>

<asp:ListItem>26</asp:ListItem>

<asp:ListItem>27</asp:ListItem>

<asp:ListItem>28</asp:ListItem>

<asp:ListItem>29</asp:ListItem>

<asp:ListItem>30</asp:ListItem>

<asp:ListItem>31</asp:ListItem>

</asp:DropDownList>

<asp:DropDownList ID="DropDownList9" runat="server">

<asp:ListItem></asp:ListItem>

<asp:ListItem Value="1">Январь</asp:ListItem>

<asp:ListItem Value="2">Февраль</asp:ListItem>

<asp:ListItem Value="3">Март</asp:ListItem>

<asp:ListItem Value="4">Апрель</asp:ListItem>

<asp:ListItem Value="5">Май</asp:ListItem>

<asp:ListItem Value="6">Июнь</asp:ListItem>

<asp:ListItem Value="7">Июль</asp:ListItem>

<asp:ListItem Value="8">Август</asp:ListItem>

<asp:ListItem Value="9">Сентябрь</asp:ListItem>

<asp:ListItem Value="10">Октябрь</asp:ListItem>

<asp:ListItem Value="11">Ноябрь</asp:ListItem>

<asp:ListItem Value="12">Декабрь</asp:ListItem>

</asp:DropDownList>

<asp:DropDownList ID="DropDownList10" runat="server"="SqlDataSource6" DataTextField="AyearNM" DataValueField="ID" >

</asp:DropDownList>

<asp:Label ID="Label16" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox14" runat="server" Width="292px"></asp:TextBox>

<asp:Label ID="Label17" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

</table>

<p>

&nbsp;&nbsp;

Адрес фактического проживания</p>

<table>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox15" runat="server"></asp:TextBox>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox16" runat="server"></asp:TextBox>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox17" runat="server"="308px"></asp:TextBox>

<asp:Label ID="Label18" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox18" runat="server"="380px"></asp:TextBox>

<asp:Label ID="Label19" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList17" runat="server"="SqlDataSource12" DataTextField="CyearNM" DataValueField="ID"="margin-left: 0px">

</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource12" runat="server"="<%$ ConnectionStrings:BANKConnectionString47 %>"="SELECT * FROM [Cyear]"></asp:SqlDataSource>

&nbsp;лет

<asp:DropDownList ID="DropDownList18" runat="server"="SqlDataSource13" DataTextField="CmonthNM"="ID">

</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource13" runat="server"="<%$ ConnectionStrings:BANKConnectionString48 %>"="SELECT * FROM [Cmonth]"></asp:SqlDataSource>

&nbsp;месяцев

<asp:Label ID="Label20" runat="server" style="color: #CC0000"></asp:Label>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList11" runat="server"="SqlDataSource5" DataTextField="FtypeNM" DataValueField="ID">

</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource5" runat="server"="<%$ ConnectionStrings:BANKConnectionString49 %>"="SELECT * FROM [Ftype]"></asp:SqlDataSource>

<asp:Label ID="Label21" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

</table>

<p>

&nbsp;&nbsp;

Адрес регистрации</p>

<table>

<tr><td align="right">

<td>

<asp:CheckBox ID="CheckBox1" runat="server"="CheckBox1_CheckedChanged" />

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox21" runat="server"></asp:TextBox>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox22" runat="server"></asp:TextBox>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox23" runat="server"="250px"></asp:TextBox>

<asp:Label ID="Label22" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox24" runat="server"="300px"></asp:TextBox>

<asp:Label ID="Label23" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

(<asp:TextBox="TextBox1" runat="server" Width="64px"></asp:TextBox>

)

<asp:TextBox ID="TextBox25" runat="server" Width="180px" ></asp:TextBox>

</td>

<td>

<span>

</span>

</td>

</tr>

</table>

<p>

** Если адреса совпадают, то заполнение соответствующих полей необязательно.</p>

<table>

<tr> <td align="right">

<td>

<asp:DropDownList ID="DropDownList12" runat="server"="SqlDataSource7" DataTextField="FamposNM" DataValueField="ID">

</asp:DropDownList>

<asp:Label ID="Label24" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource7" runat="server"="<%$ ConnectionStrings:BANKConnectionString42 %>"="SELECT * FROM [Fampos]"></asp:SqlDataSource>

</td>

</tr>

<tr><td align="right">

<td>

<asp:DropDownList ID="DropDownList13" runat="server"="SqlDataSource8" DataTextField="EducationNM" DataValueField="ID">

</asp:DropDownList>

<asp:Label ID="Label25" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource8" runat="server"="<%$ ConnectionStrings:BANKConnectionString43 %>"="SELECT * FROM [Education]"></asp:SqlDataSource>

</td>

</tr>

<tr><td align="right">

<td>

<asp:DropDownList ID="DropDownList14" runat="server"="SqlDataSource9" DataTextField="ChildrenNM" DataValueField="ID">

</asp:DropDownList>

<asp:Label ID="Label26" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource9" runat="server"="<%$ ConnectionStrings:BANKConnectionString44 %>"="SELECT * FROM [Children]"></asp:SqlDataSource>

</td>

</tr>

</table>

<p>

&nbsp;&nbsp;

Информация о трудоустройстве</p>

<table>

<tr><td align="right">

<td>

<asp:DropDownList ID="DropDownList15" runat="server"="SqlDataSource10" DataTextField="ComptypeNM"="ID">

</asp:DropDownList>

<asp:Label ID="Label29" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource10" runat="server"="<%$ ConnectionStrings:BANKConnectionString45 %>"="SELECT * FROM [Comptype]"></asp:SqlDataSource>

</td>

</tr>

<tr><td align="right">

<td>

<asp:TextBox ID="TextBox30" runat="server" Width="300px"></asp:TextBox>

<asp:Label ID="Label30" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr><td align="right">

<td>

<asp:TextBox ID="TextBox31" runat="server" Width="160px"></asp:TextBox>

<asp:Label ID="Label31" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr><td align="right">

<td>

<asp:TextBox ID="TextBox32" runat="server" Width="160px"></asp:TextBox>

</td>

</tr>

<tr><td align="right">

<td>

<asp:TextBox ID="TextBox33" runat="server" Width="300px"></asp:TextBox>

<asp:Label ID="Label32" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr><td align="right">

<td>

(<asp:TextBox="TextBox34" runat="server" Width="64px"></asp:TextBox>

)

<asp:TextBox ID="TextBox35" runat="server" Width="180px" ></asp:TextBox>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<span>

<asp:Label ID="Label33" runat="server" style="color: #CC0000"></asp:Label>

</span>

</td>

</tr>

</table>

<p>

&nbsp;&nbsp;

Адрес компании (фактический адрес места Вашей работы)</p>

<table>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox26" runat="server"></asp:TextBox>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox27" runat="server"></asp:TextBox>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox28" runat="server"="250px"></asp:TextBox>

<asp:Label ID="Label27" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox29" runat="server"="300px"></asp:TextBox>

<asp:Label ID="Label28" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList16" runat="server"="SqlDataSource11" DataTextField="CompamountNM"="ID">

</asp:DropDownList>

<asp:Label ID="Label34" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource11" runat="server"="<%$ ConnectionStrings:BANKConnectionString46 %>"="SELECT * FROM [Compamount]"></asp:SqlDataSource>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList19" runat="server"="SqlDataSource14" DataTextField="CyearNM" DataValueField="ID"="margin-left: 0px">

</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource14" runat="server"="<%$ ConnectionStrings:BANKConnectionString50 %>"="SELECT * FROM [Cyear]"></asp:SqlDataSource>

&nbsp;лет

<asp:DropDownList ID="DropDownList20" runat="server"="SqlDataSource15" DataTextField="CmonthNM"="ID">

</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource15" runat="server"="<%$ ConnectionStrings:BANKConnectionString51 %>"="SELECT * FROM [Cmonth]"></asp:SqlDataSource>

&nbsp;месяцев

<asp:Label ID="Label35" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:DropDownList ID="DropDownList21" runat="server"="SqlDataSource16" DataTextField="CyearNM" DataValueField="ID"="margin-left: 0px">

</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource16" runat="server"="<%$ ConnectionStrings:BANKConnectionString52 %>"="SELECT * FROM [Cyear]"></asp:SqlDataSource>

&nbsp;лет

<asp:DropDownList ID="DropDownList22" runat="server"="SqlDataSource17" DataTextField="CmonthNM"="ID" Height="22px">

</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource17" runat="server"="<%$ ConnectionStrings:BANKConnectionString53 %>"="SELECT * FROM [Cmonth]"></asp:SqlDataSource>

&nbsp;месяцев

<asp:Label ID="Label36" runat="server" style="color: #CC0000"></asp:Label>

</td>

</tr>

<tr>

<td align="right">

<td>

<asp:TextBox ID="TextBox36" runat="server" Width="200px"></asp:TextBox>&nbsp руб.

<asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server"="TextBox36" ErrorMessage="Введите корректное значение!"="color: #FF0000"="\d*"></asp:RegularExpressionValidator>

</td>

<td>

<span>

<asp:Label ID="Label9" runat="server" style="color: #CC0000"></asp:Label>

</span>

</td>

</tr>

</table>

<p>

&nbsp;&nbsp;

Автомобиль</p>

<table>

<tr><td align="right">

<td>

<asp:DropDownList ID="DropDownList23" runat="server"="SqlDataSource18" DataTextField="AutomobNM"="ID">

</asp:DropDownList>

<asp:Label ID="Label37" runat="server" style="color: #CC0000"></asp:Label>

<asp:SqlDataSource ID="SqlDataSource18" runat="server"="<%$ ConnectionStrings:BANKConnectionString54 %>"="SELECT * FROM [Automob]"></asp:SqlDataSource>

</td> </tr>

</table>

<p>

&nbsp;&nbsp;

Путешествия</p>

<table>

<tr><td align="right">

<td>

<asp:RadioButtonList ID="RadioButtonList2" runat="server"="240px" DataSourceID="SqlDataSource19" DataTextField="TravelNM"="ID" RepeatDirection="Horizontal">

</asp:RadioButtonList>

<asp:SqlDataSource ID="SqlDataSource19" runat="server"="<%$ ConnectionStrings:BANKConnectionString55 %>"="SELECT * FROM [Travel]"></asp:SqlDataSource>

<asp:Label ID="Label38" runat="server" style="color: #CC0000"></asp:Label>

</td> </tr>

</table>

<p>

&nbsp;&nbsp;

Ваши кредиты</p>

<table>

<tr><td align="right">

<td>

<asp:RadioButtonList ID="RadioButtonList3" runat="server"="240px" DataSourceID="SqlDataSource20" DataTextField="CommitmentNM"="ID" RepeatDirection="Horizontal">

</asp:RadioButtonList>

<asp:SqlDataSource ID="SqlDataSource20" runat="server"="<%$ ConnectionStrings:BANKConnectionString56 %>"="SELECT * FROM [Commitment]"></asp:SqlDataSource>

<asp:Label ID="Label39" runat="server" style="color: #CC0000"></asp:Label>

</td> </tr>

<tr><td align="right">

<td>

<asp:RadioButtonList ID="RadioButtonList4" runat="server"="240px" DataSourceID="SqlDataSource21" DataTextField="DebtloanNM"="ID" RepeatDirection="Horizontal">

</asp:RadioButtonList>

<asp:SqlDataSource ID="SqlDataSource21" runat="server"="<%$ ConnectionStrings:BANKConnectionString57 %>"="SELECT * FROM [Debtloan]"></asp:SqlDataSource>

<asp:Label ID="Label40" runat="server" style="color: #CC0000"></asp:Label>

</td> </tr>

</table>

<p>

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Создать заявку" />

</p>

</form>

<p>

* Поля, обязательные для заполнения.</p>

<p>

</p>

</form>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td height="1"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td height="81" align="center" valign="middle" bgcolor="#386092">

</tr>

</table></td>

</tr>

</table>

</body>

</html>

1.2    Дизайн веб-страниц

Дизайн страницы и стили шрифтов описаны в файле Style.css

body {left: 0px;top: 0px;right: 0px;bottom: 0px;

}{family: Arial;size: 14px;: 0px;: #3D6AA1;

}{decoration: none;: #044797;

}:link {decoration: none;

}:hover {decoration: underline;

}:active {: #000000;decoration: underline;

}

.logo {family: Arial;size: 14px;weight: bold;: #ADCDEB;

}

.menu {family: Arial;size: 10px;decoration: none;: #FFFFFF;

}

.menu2 {family: Arial;size: 10px;: #FFFFFF;decoration: none;

}{family: Arial;size: 10px;

}

1.3    Функциональные модули

Онлайн заявка на получение кредита

Исполняемый код страницы описан в файле Default.aspx.cs

using System;System.Configuration;System.Data;System.Linq;System.Web;System.Web.Security;System.Web.UI;System.Web.UI.HtmlControls;System.Web.UI.WebControls;System.Web.UI.WebControls.WebParts;System.Xml.Linq;System.Data.SqlClient;partial class _Default : System.Web.UI.Page

{for_label;bool check_data(SqlCommand aCommand)

{.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";_label = "Введите корректное значение!";(Convert.ToInt32(DropDownList5.SelectedValue) == 131)

{.Text = for_label;false;

}(Convert.ToInt32(DropDownList7.SelectedValue) == 138)

{.Text = for_label;false;

}(TextBox2.Text == "")

{.Text = for_label;false;

}(TextBox3.Text == "")

{.Text = for_label;false;

}(TextBox4.Text == "")

{.Text = for_label;false;

}((DropDownList1.SelectedValue == "") | (DropDownList2.SelectedValue == "") | (Convert.ToInt32(DropDownList3.SelectedValue) == 321))

{.Text = for_label;false;

}((Convert.ToInt32(DateTime.Today.Year.ToString()) - Convert.ToInt32(Convert.ToString(DropDownList3.SelectedItem))) < 19)

{.Text = "К сожалению, Вы не проходите по возрасту!";false;

}(Convert.ToInt32(DropDownList6.SelectedValue) == 311)

{.Text = for_label;false;

}((TextBox7.Text == "") | (TextBox8.Text == ""))

{.Text = for_label;false;

}(TextBox9.Text == "")

{.Text = for_label;false;

}(TextBox10.Text == "")

{.Text = for_label;false;

}(TextBox11.Text == "")

{.Text = for_label;false;

}(RadioButtonList1.SelectedValue == "")

{.Text = for_label;false;

}((TextBox12.Text == "") | (TextBox13.Text == ""))

{.Text = for_label;false;

}((DropDownList8.SelectedValue == "") | (DropDownList9.SelectedValue == "") | (Convert.ToInt32(DropDownList10.SelectedValue) == 321))

{.Text = for_label;false;

}(TextBox14.Text == "")

{.Text = for_label;false;

}(TextBox17.Text == "")

{.Text = for_label;false;

}(TextBox18.Text == "")

{.Text = for_label;false;

}(((Convert.ToInt32(DropDownList17.SelectedValue) == 486) & (Convert.ToInt32(DropDownList18.SelectedValue) == 538)) | ((Convert.ToInt32(DropDownList17.SelectedValue) == 487) & (Convert.ToInt32(DropDownList18.SelectedValue) == 539)))

{.Text = for_label;false;

}((Convert.ToInt32(DropDownList17.SelectedValue) == 486) | (Convert.ToInt32(DropDownList18.SelectedValue) == 538))

{.Text = for_label;false;

}(Convert.ToInt32(DropDownList11.SelectedValue) == 429)

{.Text = for_label;false;

}((TextBox23.Text == "") & (CheckBox1.Checked == false))

{.Text = for_label;false;

}((TextBox24.Text == "") & (CheckBox1.Checked == false))

{.Text = for_label;false;

}(Convert.ToInt32(DropDownList12.SelectedValue) == 454)

{.Text = for_label;false;

}(Convert.ToInt32(DropDownList13.SelectedValue) == 457)

{.Text = for_label;false;

{.Text = for_label;false;

}(Convert.ToInt32(DropDownList15.SelectedValue) == 551)

{.Text = for_label;false;

}(TextBox30.Text == "")

{.Text = for_label;false;

}(TextBox31.Text == "")

{.Text = for_label;false;

}(TextBox33.Text == "")

{.Text = for_label;false;

}((TextBox34.Text == "") | (TextBox35.Text == ""))

{.Text = for_label;false;

}(TextBox28.Text == "")

{.Text = for_label;false;

}(TextBox29.Text == "")

{.Text = for_label;false;

}(Convert.ToInt32(DropDownList16.SelectedValue) == 576)

{.Text = for_label;false;

}(((Convert.ToInt32(DropDownList19.SelectedValue) == 486) & (Convert.ToInt32(DropDownList20.SelectedValue) == 538)) | ((Convert.ToInt32(DropDownList19.SelectedValue) == 487) & (Convert.ToInt32(DropDownList20.SelectedValue) == 539)))

{.Text = for_label;false;

}((Convert.ToInt32(DropDownList19.SelectedValue) == 486) | (Convert.ToInt32(DropDownList20.SelectedValue) == 538))

{.Text = for_label;false;

}(((Convert.ToInt32(DropDownList21.SelectedValue) == 486) & (Convert.ToInt32(DropDownList22.SelectedValue) == 538)) | (Convert.ToInt32(DropDownList21.SelectedValue) == 486) | (Convert.ToInt32(DropDownList22.SelectedValue) == 538))

{.Text = for_label;false;

}(TextBox36.Text == "")

{.Text = for_label;false;

}(Convert.ToInt32(DropDownList23.SelectedValue) == 584)

{.Text = for_label;false;

}(RadioButtonList2.SelectedValue == "")

{.Text = for_label;false;

}(RadioButtonList3.SelectedValue == "")

{.Text = for_label;false;

}(RadioButtonList4.SelectedValue == "")

{.Text = for_label;false;

}return true;

}void Button1_Click(object sender, EventArgs e)

{source = "Data Source=Mario-PK;Initial Catalog=BANK;Integrated Security=True";conn = new SqlConnection(source);.Open();aCommand = new SqlCommand("sp_RequestInsert", conn);.CommandType = CommandType.StoredProcedure;.Parameters.Add(SqlParameter("@RegionID",.Int,

,

"RegionID")

);.Parameters.Add(SqlParameter("@WorkformID",.Int,

,

"WorkformID")

);.Parameters.Add(SqlParameter("@Secname",.VarChar,

,

"Secname")

);.Parameters.Add(SqlParameter("@Firstname",.VarChar,

,

"Firstname")

);.Parameters.Add(SqlParameter("@Thirdname",.VarChar,

,

"Thirdname")

);.Parameters.Add(SqlParameter("@Bdate",.DateTime,

,

"Bdate")

);.Parameters.Add(SqlParameter("@FvcountryID",.Int,

,

"FvcountryID")

);.Parameters.Add(SqlParameter("@Telnum",.VarChar,

,

"Telnum")

);.Parameters.Add(SqlParameter("@Cellnum",.VarChar,

,

"Cellnum")

);.Parameters.Add(SqlParameter("@Email",.VarChar,

,

"Email")

);.Parameters.Add(SqlParameter("@Crsum",.VarChar,

,

"Crsum")

);.Parameters.Add(SqlParameter("@Wnterm",.Int,

,

"Wnterm")

);.Parameters.Add(SqlParameter("@GenderID",.Int,

,

"GenderID")

);.Parameters.Add(SqlParameter("@Paspnum",.VarChar,

,

"Paspnum")

);.Parameters.Add(SqlParameter("@Dpasp",.DateTime,

,

"Dpasp")

);.Parameters.Add(SqlParameter("@Infpasp",.VarChar,

,

"Infpasp")

);.Parameters.Add(SqlParameter("@Findex",.VarChar,

,

"Findex")

);.Parameters.Add(SqlParameter("@Farea",.VarChar,

,

"Farea")

);.Parameters.Add(SqlParameter("@Fcity",.VarChar,

,

"Fcity")

);.Parameters.Add(SqlParameter("@Faddress",.VarChar,

,

"Faddress")

);.Parameters.Add(SqlParameter("@Ftime",.Int,

,

"Ftime")

);.Parameters.Add(SqlParameter("@FtypeID",.Int,

,

"FtypeID")

);.Parameters.Add(SqlParameter("@Add_ident",.Int,

,

"Add_ident")

);.Parameters.Add(SqlParameter("@Rindex",.VarChar,

,

"Rindex")

);.Parameters.Add(SqlParameter("@Rarea",.VarChar,

,

"Rarea")

);.Parameters.Add(SqlParameter("@Rcity",.VarChar,

,

"Rcity")

);.Parameters.Add(SqlParameter("@Raddress",.VarChar,

,

"Raddress")

);.Parameters.Add(SqlParameter("@Telreg",.VarChar,

,

"Telreg")

);.Parameters.Add(SqlParameter("@FamposID",.Int,

,

"FamposID")

);.Parameters.Add(SqlParameter("@EducationID",.Int,

,

"EducationID")

);.Parameters.Add(SqlParameter("@ChildrenID",.Int,

,

"ChildrenID")

);.Parameters.Add(SqlParameter("@ComptypeID",.Int,

,

"ComptypeID")

);.Parameters.Add(SqlParameter("@Compname",.VarChar,

,

"Compname")

);.Parameters.Add(SqlParameter("@Compinn",.VarChar,

,

"Compinn")

);.Parameters.Add(SqlParameter("@Compogrn",.VarChar,

,

"Compogrn")

);.Parameters.Add(SqlParameter("@Comppos",.VarChar,

,

"Comppos")

);.Parameters.Add(SqlParameter("@Worknum",.VarChar,

,

"Worknum")

);.Parameters.Add(SqlParameter("@Windex",.VarChar,

,

"Windex")

);.Parameters.Add(SqlParameter("@Warea",.VarChar,

,

"Warea")

);.Parameters.Add(SqlParameter("@Wcity",.VarChar,

,

"Wcity")

);.Parameters.Add(SqlParameter("@Waddress",.VarChar,

,

"Waddress")

);.Parameters.Add(SqlParameter("@CompamountID",.Int,

,

"CompamountID")

);.Parameters.Add(SqlParameter("@Wtermpres",.Int,

,

"Wtermpres")

);.Parameters.Add(SqlParameter("@Wtermlast",.Int,

,

"Wtermlast")

);.Parameters.Add(SqlParameter("@Wpaym",.Int,

,

"Wpaym")

);.Parameters.Add(SqlParameter("@AutomobID",.Int,

,

"AutomobID")

);.Parameters.Add(SqlParameter("@TravelID",.Int,

,

"TravelID")

);.Parameters.Add(SqlParameter("@CommitmentID",.Int,

,

"CommitmentID")

);.Parameters.Add(SqlParameter("@DebtloanID",.Int,

,

"DebtloanID")

);(check_data(aCommand) != false)

{_label = "";.UpdatedRowSource = UpdateRowSource.None;.Parameters[0].Value = Convert.ToInt32(DropDownList5.SelectedValue);.Parameters[1].Value = Convert.ToInt32(DropDownList7.SelectedValue);.Parameters[2].Value = TextBox2.Text;.Parameters[3].Value = TextBox3.Text;.Parameters[4].Value = TextBox4.Text;.Parameters[5].Value = Convert.ToDateTime(DropDownList1.Text + "." + DropDownList2.Text + "." + DropDownList3.SelectedItem);.Parameters[6].Value = DropDownList6.SelectedValue;((TextBox5.Text == "") & (TextBox6.Text == ""))

{ aCommand.Parameters[7].Value = TextBox5.Text + TextBox6.Text; }{ aCommand.Parameters[7].Value = "(" + TextBox5.Text + ")" + TextBox6.Text; }.Parameters[8].Value = "(" + TextBox7.Text + ")" + TextBox8.Text;.Parameters[9].Value = TextBox9.Text;.Parameters[10].Value = TextBox10.Text;.Parameters[11].Value = TextBox11.Text;.Parameters[12].Value = RadioButtonList1.SelectedValue;.Parameters[13].Value = TextBox12.Text + "." + TextBox13.Text;.Parameters[14].Value = Convert.ToDateTime(DropDownList8.Text + "." + DropDownList9.Text + "." + DropDownList10.SelectedItem);.Parameters[15].Value = TextBox14.Text;.Parameters[16].Value = TextBox15.Text;.Parameters[17].Value = TextBox16.Text;.Parameters[18].Value = TextBox17.Text;.Parameters[19].Value = TextBox18.Text;.Parameters[20].Value = Convert.ToInt32(Convert.ToString(DropDownList17.SelectedItem)) * 12 + Convert.ToInt32(Convert.ToString(DropDownList18.SelectedItem));.Parameters[21].Value = Convert.ToInt32(DropDownList11.SelectedValue);(CheckBox1.Checked == true)

{ aCommand.Parameters[22].Value = 1; }{ aCommand.Parameters[22].Value = 0; }.Parameters[23].Value = TextBox21.Text;.Parameters[24].Value = TextBox22.Text;.Parameters[25].Value = TextBox23.Text;.Parameters[26].Value = TextBox24.Text;((TextBox1.Text == "") & (TextBox25.Text == ""))

{ aCommand.Parameters[27].Value = TextBox1.Text + TextBox25.Text; }{ aCommand.Parameters[27].Value = "(" + TextBox1.Text + ")" + TextBox25.Text; }.Parameters[28].Value = Convert.ToInt32(DropDownList12.SelectedValue);.Parameters[29].Value = Convert.ToInt32(DropDownList13.SelectedValue);.Parameters[30].Value = Convert.ToInt32(DropDownList14.SelectedValue);.Parameters[31].Value = Convert.ToInt32(DropDownList15.SelectedValue);.Parameters[32].Value = TextBox30.Text;.Parameters[33].Value = TextBox31.Text;.Parameters[34].Value = TextBox32.Text;.Parameters[35].Value = TextBox33.Text;.Parameters[36].Value = "(" + TextBox34.Text + ")" + TextBox35.Text;.Parameters[37].Value = TextBox26.Text;.Parameters[38].Value = TextBox27.Text;.Parameters[39].Value = TextBox28.Text;.Parameters[40].Value = TextBox29.Text;.Parameters[41].Value = Convert.ToInt32(DropDownList16.SelectedValue);.Parameters[42].Value = Convert.ToInt32(Convert.ToString(DropDownList19.SelectedItem)) * 12 + Convert.ToInt32(Convert.ToString(DropDownList20.SelectedItem));.Parameters[43].Value = Convert.ToInt32(Convert.ToString(DropDownList21.SelectedItem)) * 12 + Convert.ToInt32(Convert.ToString(DropDownList22.SelectedItem));.Parameters[44].Value = TextBox36.Text;.Parameters[45].Value = Convert.ToInt32(DropDownList23.SelectedValue);.Parameters[46].Value = RadioButtonList2.SelectedValue;.Parameters[47].Value = RadioButtonList3.SelectedValue;.Parameters[48].Value = RadioButtonList4.SelectedValue;.ExecuteNonQuery();.Diagnostics.Process.Start("C:/ConsoleApplication1/ConsoleApplication1.exe");.Redirect("request.htm");

}.Close();

}void CheckBox1_CheckedChanged(object sender, EventArgs e)

{

}

}

Вызов функций пересчёта параметров, принятия решение, формирования и отправки письма.

Исполняемый код приложения описан в файле ConsoleApplication1.cs

using System;System.Collections.Generic;System.Text;System.Data.SqlClient;System.Web;System.Net;System.Net.Mail;System.Net.Mime;ConsoleApplication1

{Program

{void Main(string[] args)

{Email, MessageText;source = "Data Source=Mario-PK;Initial Catalog=BANK;Integrated Security=True";conn = new SqlConnection(source);.Open();query = @"exec Update_ayear";command = new SqlCommand(query, conn);reader = command.ExecuteReader();.Close();query2 = @"exec Update_fvcountry";command2 = new SqlCommand(query2, conn);reader2 = command2.ExecuteReader();.Close();query3 = @"exec Update_gender";command3 = new SqlCommand(query3, conn);reader3 = command3.ExecuteReader();.Close();query4 = @"exec Update_region";command4 = new SqlCommand(query4, conn);reader4 = command4.ExecuteReader();.Close();query6 = @"exec blacklist";command6 = new SqlCommand(query6, conn);reader6 = command6.ExecuteReader();.Close();query5 = @"exec update_main";command5 = new SqlCommand(query5, conn);reader5 = command5.ExecuteReader();.Close();query7 = @"exec update_text";command7 = new SqlCommand(query7, conn);reader7 = command7.ExecuteReader();.Close();query8 = @"SELECT Email,MessageText from Request1 where Message = 'NO'";command8 = new SqlCommand(query8, conn);reader8 = command8.ExecuteReader();(reader8.Read())

{= (string)reader8["Email"];= (string)reader8["MessageText"];

//Адрес SMTP-сервераsmtpHost = "mx.bmstu.ru";

//Порт SMTP-сервераsmtpPort = 25;

//ЛогинsmtpUserName = "universitybank@mail.ru";

//ПарольsmtpUserPass = "university2011";

//Создание подключенияclient = new SmtpClient(smtpHost, smtpPort);.Credentials = new NetworkCredential(smtpUserName, smtpUserPass);

//Адрес для поля "От"msgFrom = "UniversityBank@mail.ru";

//Адрес для поля "Кому" (адрес получателя)msgTo = Email;.WriteLine(msgTo);

//Тема письмаmsgSubject = "Заявка на кредит в UniversityBank";

//Текст письмаmsgBody = MessageText;message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);

{

//Отсылаем сообщение.Send(message);

}(SmtpException ex)

{

//В случае ошибки при отсылке сообщения можем увидеть, в чем проблема.WriteLine(ex.InnerException.Message.ToString());

}

}.Close();query9 = @"Update Request1 set Message = 'YES' where Message = 'NO'";command9 = new SqlCommand(query9, conn);reader9 = command9.ExecuteReader();.Close();.Close();

}

}

}

Процедуры пересчёта параметров, принятия решение, хранимые в базе данных

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

Исполняемый код процедуры описан в файле dbo.blacklist

CREATE PROCEDURE dbo.blacklist As@cursor CURSORc CURSOR FORID FROM Request1 where Offer = null@ID int@Secname VarChar(20)@Firstname VarChar(20)@Thirdname VarChar(20)@Bdate VarChar(20)@black VarChar(20)@cursor = c@cursornext from @cursor into @ID(@@FETCH_STATUS=0) BEGIN@Secname = Cast((select Secname from Request1 Where ID = @ID) As Char)@Firstname = Cast((select Firstname from Request1 Where ID = @ID) As Char)@Thirdname = Cast((select Thirdname from Request1 Where ID = @ID) As Char)@Bdate = Cast((select Bdate from Request1 Where ID = @ID) As Char)@black = Cast((Select count(*) from His_blacklist where SecondName = @Secname and FirstName = @Firstname and ThirdName = @Thirdname and BirthDate = @Bdate) As Char)@black = 1Request1 Set Offer = 'NO' Where ID = @IDnext from @cursor into @ID@CURSOR@CURSORc

.3.1.1 Процедура пересчёта весовых коэффициентов, связанных с годом рождения

Исполняемый код процедуры описан в файле dbo.update_ayear

CREATE PROCEDURE dbo.update_ayear@cursor CURSORc CURSOR FORID FROM Ayear@ID int@Weight VarChar(20)@OldWeight VarChar(20)@MidWeight VarChar(20)@cursor = c@Weight = null@OldWeight = null@cursornext from @cursor into @ID(@@FETCH_STATUS=0) BEGIN@OldWeight = Cast((select weight from Ayear Where ID = @ID) As Char)@Weight = Cast ( (select sum(Category) from His_customer where Year(BirthDate) = (Select AyearNM FROM Ayear Where ID = @ID)) / (select count(*) from His_customer where Year(BirthDate) = (Select AyearNM FROM Ayear Where ID = @ID)) As Char)((@Weight != null) and (@OldWeight != null))@MidWeight = Cast(ROUND(((ABS(@Weight) + ABS(@OldWeight))/2),0) As Char)@OldWeight = NULLAyear Set Weight = @Weight Where ID = @ID@Weight = NULLAyear Set Weight = @OldWeight Where ID = @IDnext from @cursor into @ID@CURSOR@CURSORc

Процедура пересчёта весовых коэффициентов, связанных с гражданством

Исполняемый код процедуры описан в файле dbo.update_fvcountry

CREATE PROCEDURE dbo.update_fvcountry@cursor CURSORc CURSOR FORID FROM Fvcountry@ID int@Weight VarChar(20)@OldWeight VarChar(20)@MidWeight VarChar(20)@cursor = c@Weight = null@OldWeight = null@cursornext from @cursor into @ID(@@FETCH_STATUS=0) BEGIN@OldWeight = Cast((select weight from Fvcountry Where ID = @ID) As Char)@Weight = Cast ( (select sum(Category) from His_customer where Fvcountry = (Select FvcountryNM FROM Fvcountry Where ID = @ID)) / (select count(*) from His_customer where Fvcountry = (Select FvcountryNM FROM Fvcountry Where ID = @ID)) As Char)((@Weight != null) and (@OldWeight != null))@MidWeight = Cast(ROUND(((ABS(@Weight) + ABS(@OldWeight))/2),0) As Char)@OldWeight = NULLFvcountry Set Weight = @Weight Where ID = @ID@Weight = NULLFvcountry Set Weight = @OldWeight Where ID = @IDnext from @cursor into @ID@CURSOR@CURSORc

Процедура пересчёта весовых коэффициентов, связанных с полом

Исполняемый код процедуры описан в файле dbo.update_gender

CREATE PROCEDURE dbo.update_gender@cursor CURSORc CURSOR FORID FROM Gender@ID int@Weight VarChar(20)@OldWeight VarChar(20)@MidWeight VarChar(20)@cursor = c@Weight = null@OldWeight = null@cursornext from @cursor into @ID(@@FETCH_STATUS=0) BEGIN@OldWeight = Cast((select weight from Gender Where ID = @ID) As Char)@Weight = Cast ( (select sum(Category) from His_customer where Gender = (Select GenderNM FROM Gender Where ID = @ID)) / (select count(*) from His_customer where Gender = (Select GenderNM FROM Gender Where ID = @ID)) As Char)((@Weight != null) and (@OldWeight != null))@MidWeight = Cast(ROUND(((ABS(@Weight) + ABS(@OldWeight))/2),0) As Char)@OldWeight = NULLGender Set Weight = @Weight Where ID = @ID@Weight = NULLGender Set Weight = @OldWeight Where ID = @IDnext from @cursor into @ID@CURSOR@CURSORc

Процедура пересчёта весовых коэффициентов, связанных с регионом

Исполняемый код процедуры описан в файле dbo.update_region

CREATE PROCEDURE dbo.update_region@cursor CURSORc CURSOR FORID FROM Region@ID int@Weight VarChar(20)@OldWeight VarChar(20)@MidWeight VarChar(20)@cursor = c@Weight = null@OldWeight = null@cursornext from @cursor into @ID(@@FETCH_STATUS=0) BEGIN@OldWeight = Cast((select weight from Region Where ID = @ID) As Char)@Weight = Cast ( (select sum(Category) from His_customer where Fregion = (Select RegionNM FROM Region Where ID = @ID)) / (select count(*) from His_customer where Fregion = (Select RegionNM FROM Region Where ID = @ID)) As Char)((@Weight != null) and (@OldWeight != null))@MidWeight = Cast(ROUND(((ABS(@Weight) + ABS(@OldWeight))/2),0) As Char)@OldWeight = NULLRegion Set Weight = @Weight Where ID = @ID@Weight = NULLRegion Set Weight = @OldWeight Where ID = @IDnext from @cursor into @ID@CURSOR@CURSORc

Процедура принятия решения о выдачи кредита

Исполняемый код процедуры описан в файле dbo.update_main

CREATE PROCEDURE dbo.update_main As@cursor CURSORc CURSOR FORID FROM Request1 where Offer = null@ID int@MidWeight VarChar(20)@Ftime VarChar(20)@WeightFtime VarChar(20)@Ident VarChar(20)@WeightIdent VarChar(20)@Wtermpres VarChar(20)@WeightWtermpres VarChar(20)@Wtermlast VarChar(20)@WeightWtermlast VarChar(20)@Wpaym VarChar(20)@WeightWpaym VarChar(20)@Crsum VarChar(20)@WeightCrsum VarChar(20)@Region VarChar(20)@Workform VarChar(20)@Fvcountry VarChar(20)@Ayear VarChar(20)@Gender VarChar(20)@Ftype VarChar(20)@Fampos VarChar(20)@Education VarChar(20)@Children VarChar(20)@Comptype VarChar(20)@Compamount VarChar(20)@Automob VarChar(20)@Travel VarChar(20)@Commitment VarChar(20)@Debtloan VarChar(20)@cursor = c@cursornext from @cursor into @ID(@@FETCH_STATUS=0) BEGIN@Ftime = Cast((select Ftime from Request1 Where ID = @ID) As Char)(@Ftime <= 12)@WeightFtime = 6(@Ftime > 12) AND (@Ftime < 60)@WeightFtime = 7(@Ftime >= 60)@WeightFtime = 9@Ident = Cast((select Add_ident from Request1 Where ID = @ID) As Char)(@Ident = 1)@WeightIdent = 8@WeightIdent = 7@Wtermpres = Cast((select Wtermpres from Request1 Where ID = @ID) As Char)(@Wtermpres <= 12)@WeightWtermpres = 6(@Wtermpres > 12) AND (@Wtermpres < 60)@WeightWtermpres = 8(@Wtermpres >= 60)@WeightWtermpres = 9@Wtermlast = Cast((select Wtermlast from Request1 Where ID = @ID) As Char)(@Wtermlast <= 12)@WeightWtermlast = 7(@Wtermlast > 12) AND (@Wtermlast < 60)@WeightWtermlast = 8(@Wtermlast >= 60)@WeightWtermlast = 9@Wpaym = Cast((select Wpaym from Request1 Where ID = @ID) As Char)(@Wpaym <= 30000)@WeightWpaym = 4(@Wpaym > 30000) AND (@Wpaym < 100000)@WeightWpaym = 7(@Wpaym >= 100000)@WeightWpaym = 9@Crsum = Cast((select Crsum from Request1 Where ID = @ID) As Char)(@Crsum <= 50000)@WeightCrsum = 9(@Crsum > 50000) AND (@Crsum < 500000)@WeightCrsum = 7(@Crsum >= 500000)@WeightCrsum = 5@Region = Cast((select Weight from Region Where ID IN (SELECT RegionID from Request1 Where ID = @ID)) As Char)@Workform = Cast((select Weight from Workform Where ID IN (SELECT WorkformID from Request1 Where ID = @ID)) As Char)@Fvcountry = Cast((select Weight from Fvcountry Where ID IN (SELECT FvcountryID from Request1 Where ID = @ID)) As Char)@Ayear = Cast((select Weight from Ayear Where AyearNM IN (SELECT Year(Bdate) from Request1 Where ID = @ID)) As Char)@Gender = Cast((select Weight from Gender Where ID IN (SELECT GenderID from Request1 Where ID = @ID)) As Char)@Ftype = Cast((select Weight from Ftype Where ID IN (SELECT FtypeID from Request1 Where ID = @ID)) As Char)@Fampos = Cast((select Weight from Fampos Where ID IN (SELECT FamposID from Request1 Where ID = @ID)) As Char)@Education = Cast((select Weight from Education Where ID IN (SELECT EducationID from Request1 Where ID = @ID)) As Char)@Children = Cast((select Weight from Children Where ID IN (SELECT ChildrenID from Request1 Where ID = @ID)) As Char)@Comptype = Cast((select Weight from Comptype Where ID IN (SELECT ComptypeID from Request1 Where ID = @ID)) As Char)@Compamount = Cast((select Weight from Compamount Where ID IN (SELECT CompamountID from Request1 Where ID = @ID)) As Char)@Automob = Cast((select Weight from Automob Where ID IN (SELECT AutomobID from Request1 Where ID = @ID)) As Char)@Travel = Cast((select Weight from Travel Where ID IN (SELECT TravelID from Request1 Where ID = @ID)) As Char)@Commitment = Cast((select Weight from Commitment Where ID IN (SELECT CommitmentID from Request1 Where ID = @ID)) As Char)@Debtloan = Cast((select Weight from Debtloan Where ID IN (SELECT DebtloanID from Request1 Where ID = @ID)) As Char)@MidWeight = Cast(ROUND((((ABS(@WeightFtime) + ABS(@WeightIdent) + ABS(@WeightWtermpres) + ABS(@WeightWtermlast) + ABS(@WeightWpaym) + ABS(@WeightCrsum) + ABS(@Region) + ABS(@Workform) + ABS(@Fvcountry) + ABS(@Ayear) + ABS(@Gender) + ABS(@Ftype) + ABS(@Fampos) + ABS(@Education) + ABS(@Children) + ABS(@Comptype) + ABS(@Compamount) + ABS(@Automob) + ABS(@Travel) + ABS(@Commitment) + ABS(@Debtloan)))/21),0) As Char)(@MidWeight <= 6)Request1 Set Offer = 'NO' Where ID = @ID(@MidWeight > 6)Request1 Set Offer = 'YES' Where ID = @IDnext from @cursor into @ID@CURSOR@CURSORc

Процедура формирования письма с решением

Исполняемый код процедуры описан в файле dbo.update_text

CREATE PROCEDURE dbo.update_text As@cursor CURSORc CURSOR FORID FROM Request1 where MessageText = null@ID int@Crsum money@Term VarChar(20)@ProdName VarChar(20)@MessageText VarChar(5000)@Offer VarChar(10)@Prod VarChar(20)@cursor = c@cursornext from @cursor into @ID(@@FETCH_STATUS=0) BEGIN@Offer = Cast((select Offer from Request1 Where ID = @ID) As Char)@Crsum = Cast((select Crsum from Request1 Where ID = @ID) As money)@Term = Cast((select Wnterm from Request1 Where ID = @ID) As Char)@ProdName = Cast((Select ProdName from His_product where ProdConditID IN (Select ID_prod from His_prod_condit where ID_condit IN (Select ID from His_prodcondit where (@Crsum >= MinSum) and (@Crsum <= MaxSum) and (@Term >= MinTerms) and (@Term <= MaxTerms)))) As Char)@Prod = Cast((Select count(ProdName) from His_product where ProdConditID IN (Select ID_prod from His_prod_condit where ID_condit IN (Select ID from His_prodcondit where (@Crsum >= MinSum) and (@Crsum <= MaxSum) and (@Term >= MinTerms) and (@Term <= MaxTerms)))) As Char)(@Offer = 'YES') and (@Prod = 1)@MessageText = Здравствуйте, Уважаемый(-ая) ' + (select FirstName from Request1 Where ID = @ID) + ' ' + (select ThirdName from Request1 Where ID = @ID) + '! Благодарим Вас за то, что обратили своё внимание на кредиты UniversityBank. Мы рады сообщить Вам, что по Вашей электронной заявке было принято положительное предварительное решение. Исходя из Ваших пожеланий, указанных в заявке, мы можем порекомендовать Вам обратить внимание на линейку наших кредитных продуктов "' + @ProdName + '. В ближайшее время наши сотрудники свяжутся с Вами для дальнейшего обсуждения деталей возможной выдачи кредита.'

Update Request1 Set MessageText = @MessageText Where ID = @ID(@Offer = 'YES') and (@Prod = 0)@MessageText = Здравствуйте, Уважаемый(-ая) ' + (select FirstName from Request1 Where ID = @ID) + ' ' + (select ThirdName from Request1 Where ID = @ID) + '! Благодарим Вас за то, что обратили своё внимание на кредиты UniversityBank. Мы рады сообщить Вам, что по Вашей электронной заявке было принято положительное предварительное решение. Исходя из Ваших пожеланий, указанных в заявке, мы пока не можем порекомендовать Вам один из наших кредитных продуктов, но мы готовы также и обсудить с Вами индивидуальные условия. В ближайшее время наши сотрудники свяжутся с Вами для дальнейшего обсуждения деталей возможной выдачи кредита.'

Update Request1 Set MessageText = @MessageText Where ID = @ID@Offer = 'NO'@MessageText = 'Здравствуйте, Уважаемый(-ая) ' + (select FirstName from Request1 Where ID = @ID) + ' ' + (select ThirdName from Request1 Where ID = @ID) + '! Благодарим Вас за то, что обратили своё внимание на кредиты UniversityBank. Мы с сожалением сообщаем Вам, что по Вашей электронной заявке было принято отрицательное предварительное решение, и в данный момент наш Банк не готов предоставить Вам кредит. В ближайшее время наши сотрудники свяжутся с Вами для оказания консультации по вопросу возможных условий выдачи кредита.'

Update Request1 Set MessageText = @MessageText Where ID = @IDRequest1 Set Message = 'NO' Where ID = @IDnext from @cursor into @ID@CURSOR@CURSORc

Процедура занесения заявки в базу

Исполняемый код процедуры описан в файле dbo.sp_RequestInsert

CREATE PROCEDURE dbo.sp_RequestInsert(@RegionID int, @WorkformID int, @Secname VarChar(100), @Firstname VarChar(100), @Thirdname VarChar(100), @Bdate datetime, @FvcountryID int, @Telnum VarChar (20), @Cellnum VarChar (20), @Email VarChar (50), @Crsum VarChar (50), @Wnterm int, @GenderID int, @Paspnum VarChar (50), @Dpasp datetime, @Infpasp VarChar (300), @Findex VarChar (20), @Farea VarChar (50), @Fcity VarChar (80), @Faddress VarChar (200), @Ftime int, @FtypeID int, @Add_ident binary (1), @Rindex VarChar (20), @Rarea VarChar (50), @Rcity VarChar (80), @Raddress VarChar (200), @Telreg VarChar (20), @FamposID int, @EducationID int, @ChildrenID int, @ComptypeID int, @Compname VarChar(200), @Compinn VarChar(20), @Compogrn VarChar(50), @Comppos VarChar(100), @Worknum VarChar(20), @Windex VarChar(20), @Warea VarChar(50), @Wcity VarChar(80), @Waddress VarChar(200), @CompamountID int, @Wtermpres int, @Wtermlast int, @Wpaym int, @AutomobID int, @TravelID int, @CommitmentID int, @DebtloanID int) AsNoCount Off@ID Intsp_newhyperkey @ID OutPutInto Request1 (ID,RegionID,WorkformID,Secname,Firstname,Thirdname,Bdate,FvcountryID,Telnum,Cellnum,Email,Crsum,Wnterm,GenderID,Paspnum,Dpasp,Infpasp,Findex,Farea,Fcity,Faddress,Ftime,FtypeID,Add_ident,Rindex,Rarea,Rcity,Raddress,Telreg,FamposID,EducationID,ChildrenID,ComptypeID,Compname,Compinn,Compogrn,Comppos,Worknum,Windex,Warea,Wcity,Waddress,CompamountID,Wtermpres,Wtermlast,Wpaym,AutomobID,TravelID,CommitmentID,DebtloanID) Values(@ID, @RegionID, @WorkformID, @Secname, @Firstname, @Thirdname, @Bdate, @FvcountryID, @Telnum, @Cellnum, @Email, @Crsum, @Wnterm, @GenderID, @Paspnum, @Dpasp, @Infpasp, @Findex, @Farea, @Fcity, @Faddress, @Ftime, @FtypeID, @Add_ident, @Rindex, @Rarea, @Rcity, @Raddress, @Telreg, @FamposID, @EducationID, @ChildrenID, @ComptypeID, @Compname, @Compinn, @Compogrn, @Comppos, @Worknum, @Windex, @Warea, @Wcity, @Waddress, @CompamountID, @Wtermpres, @Wtermlast, @Wpaym, @AutomobID, @TravelID, @CommitmentID, @DebtloanID)

Процедура генерации уникальных идентификаторов

Исполняемый код процедуры описан в файле dbo.sp_newhyperkey

CREATE procedure dbo.sp_newhyperkey @ret int out as@lastkey int@empty bit@empty = 1@lastkey = id from main_sequence@@rowcount <> 0@empty = 0into main_sequence (fdummy) values ('Y')@empty = 1@ret = id from main_sequencetop 1 @ret = id from main_sequence where id <> @lastkeyby id descfrom main_sequence where id <> @ret;

Похожие работы на - Разработка автоматизированной системы оценки кредитоспособности физических лиц (АС 'CreditAnalysis')

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!