Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7__Rukovodstvo_Programmista.doc
Скачиваний:
124
Добавлен:
18.03.2015
Размер:
335.36 Кб
Скачать
    1. Входные и выходные данные

В качестве входной информации при обращении абонента к технической поддержки должны использоваться:

  • Номер договора;

  • Номер телефона;

  • Обращение абонента.

  • рентгеновский снимок пациента;

  • персональные данные о пациенте (Ф.И.О., дата рождения, пол, адрес проживания, контактный телефон, номер страхового полиса);

  • жалобы пациента, информация о наличии зубочелюстных аномалий;

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

В качестве выходной информации должны выступать:

  • решение поступившей заявки с последующей ее закрытием;

    1. Структура системы

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

  • “Site.master” – главная страница

  • “About.aspx” – о программе

  • “Archive.aspx” – архив обработанных заявок технической поддержки

  • “Web.config” – дополнительные сведения по настройки веб-приложения

  • “TP.aspx” – галерея заявок для технической поддержки

    • “AddZ” – форма заполнения заявки для тех.поддержки

  • “Physics.aspx” – форма договоров физических лиц

    • “Zayavki.aspx” – форма для добавления новой заявки на подключение, галерея договоров с физическими лицами.

    • “Dogovora.aspx” – галерея договоров с юридическими лицами.

  • “Kontragents.aspx” –данные о контрагентах

  • “Login.aspx” – форма - обработчик авторизации

    • “Manage.aspx” – форма управления учетной записью–

    • “OpenAuthProvides.ascx” – обработчик авторизации

    • “Register.aspx” – обработчик регистрации

  • “TelSprav” – страница телефонного каталога компании NetTrans

  • “Statistics” – страница со статистикой пользователей

Информационная модель предметной области

Информационная модель данных представлена на Рис.2.21 , 2.22:

Рис. 2.21. Информационная модель базы данных

Рис. 2.22 Информационная модель таблиц

  1. Описание основных функций

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

  1. Сохранение необходимой информации о клиенте в БД при оформлении заявки на подключение услуг компании NetTrans и его последующей технической поддержки .

  2. Получение из БД информации о абоненте, фирме, их адресов, телефонных номеров, контрагентах, и др. для вывода на экран.

  3. Расчет статистики обработанных операторами заявок;

  1. Функция сохранения данных в БД

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

Используемая технология в качестве сервера баз данных Microsoft SQL Server позволяет вносить изменения в базу, используя различные запросы.

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

  • соединение с БД;

  • формирование запроса на вставку/обновление;

  • сохранение в БД;

Функция соединение с БД работает следующим образом:

SqlCommand cmd = sqlconnect.CreateCommand();

SqlConnection sqlconnect = new SqlConnection(@"Data Source=(GAZEBO-ПК);Integrated Security=True;" + "Initial Catalog=123");

, где происходит соединение с сервером и авторизация клиента (браузера) на нем, а так же соединение с нужной базой.

Для формирования запроса на вставку/обновление в БД составляется запрос:

На вставку:

cmd.CommandText = "insert into Add_ticket_TP (Договор, [Входящий номер], Комментарии) values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";

Параметры запроса:

  • имя таблицы, к которой обращаемся;

  • набор полей в таблице, в которые будем производить запись;

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

На обновление:

cmd.CommandText = "update Add_ticket_TP (Контакты='Контактный телефон',Комментарии='Комментарии' where №=’#’)";

Параметры запроса:

  • имя таблицы, к которой обращаемся;

  • набор полей в таблице = переменные, в которые будем производить запись;

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

  • условие выбора строки;

Функция обновления таблиц в форме выполняется командой:

GridView1.DataBind();

  1. Функция получения из БД информации

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

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

Таким образом, задачу получение информации из БД можно разбить на следующие этапы:

  • соединение с БД;

  • формирование запроса на получение;

  • вывод результата выполненного запроса.

Функция соединение с БД работает следующим образом:

SqlConnection sqlconnect = new SqlConnection(@"Data Source=(GAZEBO-ПК);Integrated Security=True;" + "Initial Catalog=123");

, где происходит соединение с сервером и авторизация клиента (браузера) на нем, а так же соединение с нужной базой.

Для формирования запроса на получение из БД составляется запрос:

cmd.CommandText=”select*from users where (id=’id’)”;

GridView1.DataBind();

Параметры запроса:

  • набор полей в таблице, которые будем получать. * - все поля;

  • имя таблицы, к которой обращаемся;

  • условие выбора строки;

  • обновление таблицы.

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

<table>

<tr>

<td class="auto-style1">Физ./Юр. лицо</td>

<td>

<asp:RadioButton ID="RadioButton2" runat="server" Text="Юр.лицо" TextAlign="Left" OnCheckedChanged="RadioButton2_CheckedChanged" Width="100" /></td>

</tr>

<tr>

<td class="auto-style1">Договор<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Укажите номер договора" Display="Dynamic">*</asp:RequiredFieldValidator>

</td>

<td>

<asp:TextBox ID="TextBox1" runat="server" Width="794px"></asp:TextBox>

</td>

</tr>

<tr>

<td class="auto-style1">Контактные данные<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2" ErrorMessage="Укажите номер телефона" Display="Dynamic">*</asp:RequiredFieldValidator>

</td>

<td>

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

</td>

</tr>

<tr>

<td class="auto-style1">Обращение пользователя<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TextBox3" ErrorMessage="Следует заполнить это поле" Display="Dynamic">*</asp:RequiredFieldValidator>

</td>

<td>

<asp:TextBox ID="TextBox3" runat="server" Height="228px" Width="796px"></asp:TextBox>

</td>

</tr>

<tr>

<td class="auto-style1">Вызов специалиста</td>

<td>

<asp:RadioButton ID="RadioButton3" runat="server" Text="Нет" Checked="True" TextAlign="Left" Width="100" OnCheckedChanged="RadioButton3_CheckedChanged"/>

<asp:RadioButton ID="RadioButton4" runat="server" Text="Специалист" TextAlign="Left" Width="150"/>

<asp:RadioButton ID="RadioButton5" runat="server" Text="Инженеры" TextAlign="Left" Width="150"/>

<asp:RadioButton ID="RadioButton6" runat="server" Text="Можнтажники" TextAlign="Left" Width="150"/>

<asp:RadioButton ID="RadioButton7" runat="server" Text="Абонентский отдел" TextAlign="Left" Width="150"/>

</td>

</tr>

<tr>

<td class="auto-style1" colspan="2" >

<asp:Button ID="Button1" runat="server" Text="Сохранить" OnClick="Button1_Click" />

</td>

</tr>

<tr>

<td class="auto-style1">

 </td>

</tr> </table>

<mailSettings>

<smtp from="fromuser@list.ru">

<network host="smtp.mail.ru" userName="azafil@list.ru" password=""/>

</smtp>

</mailSettings>

System.Threading.Tasks.Task.Run(new Action(() =>

{

System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage();

foreach (Worker worker in Workers)

{

if (worker == null) continue;

if (string.IsNullOrEmpty(worker.email)) continue;

mm.To.Add(worker.email);

}

if (mm.To.Count == 0) return;

//тексты почтовых уведомлений следует вынести в настраиваемые шаблоны.

mm.Subject = "новая заявка на сайте NetTrans";

mm.Body = string.Format("поступила заявка за номером: {0}", InnerNumber);

new System.Net.Mail.SmtpClient().Send(mm);

}));

new EventLogCollection().Create(0, HttpContext.Current.Request.UserHostAddress);