Добавлен: 28.06.2023
Просмотров: 132
Скачиваний: 2
СОДЕРЖАНИЕ
1. Обзор средств разработки серверных web-приложений
1.2. IIS и Visual Studio фирмы Microsoft
2. Разработка серверного web-приложения
2.1 Выбор и обоснование средств реализации
2.2. Проектирование базы данных
2.2. Разработка алгоритмов реализации системы
Таблица 2.4.
Описание таблицы Releaseform
Имя поля |
Тип данных |
Описание |
id_releaseform |
int(11), primary key |
Первичный ключ |
releaseform |
varchar(50) |
Форма выпуска |
Таблица 2.5.
Описание таблицы Orders
Имя поля |
Тип данных |
Описание |
id_orders |
int(11), primary key |
Первичный ключ |
id_medicament |
int(11) |
Внешний ключ на препараты |
id_user |
int(11) |
Внешний ключ на пользователя |
number |
int(11) |
Количество |
price |
float |
Цена |
Таблица 2.6.
Описание таблицы Users
Имя поля |
Тип данных |
Описание |
id_user |
int(11), primary key |
Первичный ключ |
name_user |
varchar(50) |
Логин пользователя |
password |
varchar(50) |
Пароль пользователя |
|
varchar(250) |
Почта пользователя |
type |
varchar(50) |
Группа пользователя |
Таблица 2.7.
Описание таблицы Designation
Имя поля |
Тип данных |
Описание |
id_designation |
int(11), primary key |
Первичный ключ |
id_desease |
int(11) |
Внешний ключ на заболевания |
designation |
varchar(50) |
Назначение |
dose |
varchar(50) |
Доза |
side_effects |
varchar(250) |
Побочные эффекты |
contraindications |
varchar(250) |
Противопоказания |
interaction |
varchar(250) |
Взаимодействия |
overdose |
varchar(250) |
Передозировка |
Таблица 2.8.
Описание таблицы Desease
Имя поля |
Тип данных |
Описание |
id_desease |
int(11), primary key |
Первичный ключ |
desease |
int(11) |
Внешний ключ на показания |
symptoms |
varchar(250) |
Симптомы |
2.2. Разработка алгоритмов реализации системы
Система предназначена для автоматизации некоторых функций работы аптеки. Программный продукт сформирован с использованием ASP.NET технологии. В качестве СУБД используется Microsoft SQL Server 2012.
Требования к составу и параметрам технических средств:
Реализация данного задания должно осуществляться на персональном компьютере со средними характеристиками:
- Рекомендуемый процессор с тактовой частотой 1.6ГГц;
- Емкость оперативной памяти - 1 ГБ;
- Объем свободного дискового пространства 10ГБ;
- Разрешение экрана не менее 1024x768.
Приведем описание модулей системы и их назначение:
- App_Code – Содержит исходный код для общих классов и бизнес-объектов, которые необходимо скомпилировать как часть приложения. В динамически компилируемом проекте веб-сайта ASP.NET компилирует код в папке App_Code при начальном запросе к приложению. Элементы этой папки повторно компилируются при обнаружении каких-либо изменений.
- Entities – каталог файлов который включает файлы классов;
- Bin – содержит скомпилированные сборки (DLL-файлы) для элементов управления, компонентов или другой код, на который в приложении требуется ссылка. Приложение автоматически ссылается на все классы, представленные кодом в папке Bin;
- Images – директория хранящая картинки товара;
- JavaScript – директория хранящая файл библиотеки JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML.
- Pages – директория хранящая файлы страниц сайта;
- Styles – директория хранения CSS стилей.
Основные файлы:
Директория App_Code
- ConnectionClass.cs
// Подключение к базе данных
public static class ConnectionClass
{
private static SqlConnection conn;
private static SqlCommand command;
static ConnectionClass(){…}
public static ArrayList GetLekarByType(string lekarType){…}
public static Lekar GetLekarById(int id) {…}
public static void AddLekar(Lekar lekar) {…}
public static User LoginUser(string name, string password) {…}
public static string RegisterUser(User user) {…}
public static User GetUserDetails(string userName) {…}
public static void AddOrder(ArrayList orders) {…}
public static void UpdateOrders(string client, DateTime date) {…}
public static ArrayList GetGroupedOrders(DateTime currentDate, DateTime endDate, Boolean shipped) {…}
public static ArrayList GetDetailedOrders(string client, DateTime date) {…}
public static DataTable GetChartData(string query) {…}}
Директория apteka:
- Masterpage.Master.cs
// Действует как класс и контейнер слияния для страниц, которые состоят только из элементов управления Content и их дочерних элементов управления.
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Masterpage.master.cs" Inherits="apteka.Masterpage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Главная страница</title>
<script type="text/javascript" src="../JavaScript/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function mainmenu() {
$(" #nav ul ").css({ display: "none" }); //Opera Fix
$(" #nav li ").hover(function () {
$(this).find('ul:first').css({ visibility: "visible", display: "none" }).show(400);
}
, function () {
$(this).find('ul:first').css({ visibility: "hidden" });
});
}
$(document).ready(function () {
mainmenu();
});
</script>
<link rel="stylesheet" type="text/css" href="~/Styles/StyleSheet.css" />
</head>
<body>
<form id="form1" runat="server">
<div id="wrapper"<>
<div id="banner">...</div>
<div id="navigation">...</div>
<div id="content_area">...</div>
<div id="sidebar">...</div>
<div id="footer">...</div>
</div>
</form>
</body>
</html>
2.3. Разработка интерфейса системы
Логическая схема связи страниц и модулей сайта представлена на рисунке (рис. 2.2.).
Рис. 2.2. Логическая схема связи страниц и модулей сайта
В данном веб-сайте используются следующие роли: «незарегистрированный пользователь», «зарегистрированный пользователь» и «администратор». Доступ к роли администратора ограничен вводом логина и пароля. Все функции для работы с данной ролью размещены в администраторской панели. Роль зарегистрированного пользователя позволяет оформить заказ, и иметь доступ к личному кабинету. Незарегистрированный пользователь может просматривать всю информацию по товарам, новостям и к контактам. Весь необходимый функционал располагается по центру на верхней части панели сайта в виде меню. Все пункты изображены на рисунке (рис. 2.3.).
Рис. 2.3. Основные пункты меню
Перечислим основные возможности панели данного сайта:
- Пункт меню «Главная» позволяет перейти на основную станицу веб-сайта, где возможно просмотреть общую информацию и главные новости;
- Пункт меню «Новости» содержит новости, информация о проводимых мероприятиях в аптеке;
- Пункт меню «Товары» позволяет выбрать со всплывающего окна тип товара, после выбора которого появляется страница с товарами доступные для заказа. Около товаров имеется основная информация по товару, поле для выбора кол-ва заказываемого товара и кнопка «Заказать»;
- Пункт меню «Акции» предоставляет возможность узнать клиенту информацию о скидках и акциях в ресторане;
- Пункт меню «Информация» содержит помощь и информацию как сделать заказ;
- Пункт меню «Личный кабинет», в нем зарегистрированный пользователь может посмотреть на заказанные товары и статистику.
Перечислим по пунктам как происходит примерный заказ товара:
- Выбираем пункт меню «Товары», выбираем из всплывающего окна нужную нам категорию.
- У каждого товара есть фотография и краткая информация о нем. На рисунке (рис. 2.4.) мы можем увидеть, как это выглядит.
Рис. 2.4. Внешний вид товара
- Добавляем в корзину нужные товары указывая их кол-во.
- Нажимаем на кнопку «Оформить заказ», после этого мы видим выбранные нами товары и общую сумму заказа (рис. 2.5.). После этого нажимаем кнопку «Заказать» и этот заказ вступит в обработку.
Рис. 2.5. Обработка заказа
- После подтверждения заказа, пользователю отправят письмо на e-mail.
Администраторская панель сайта
Администраторская панель веб-сайта предназначена для управления, обновления, удаления данных. Ниже рассмотрены основные возможности по управлению администраторской панели:
- Пункт меню «Лекарства» позволяет редактировать (рис. 2.6.), удалять лекарственные препараты, а так же добавлять новые;
Рис. 2.6. Окно редактирования товаров
- При нажатие кнопки «Добавить новый препарат» открывается новое окно (рис. 2.7.), в котором мы можем добавить новый товар в базу данных.
Рис. 2.7. Окно добавления нового препарата
- Выбрав пункт меню «Пользователи» администратор может изменить или удалить пользователя (рис. 2.8.).
Рис. 2.8. Окно изменения данных пользователя
Пункт меню «Заказы» имеет вкладки «Открытые заказы», «Завершенные заказы» и «Графики». Во вкладке «Открытые заказы» мы можем просмотреть невыполненные заказы за указанный период (рис. 2.9.).
Рис. 2.9. Вкладка открытых заказов
Так же можно просмотреть уже завершенные препараты (рис. 2.10.). Так же есть возможность увидеть детали заказа.
Рис. 2.10. Вкладка завершенных заказов
- И последняя вкладка это «Графики» (рис. 2.11.), на них можно увидеть рейтинг самых активных клиентов.