Файл: Пояснительная записка к курсовому проекту по дисциплинам Проектирование и архитектура пс, Конструирование на н листах.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 118
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Таблица 3.10 Структура таблицы «Model»
Название (Name) | Имя поля (Code) | Тип (Data type) | Обязат. (null/ not null) | Только для чтения (Read only) |
Id | Id_model | Int | Not null | FALSE |
Бренд | Id_brand | Int | Null | FALSE |
Название | Name | String | Null | FALSE |
Таблица 3.11 Структура таблицы «Brand»
Название (Name) | Имя поля (Code) | Тип (Data type) | Обязат. (null/ not null) | Только для чтения (Read only) |
Id | Id | Int | Not null | FALSE |
Название | Name | String | Null | FALSE |
Страна- производитель | Country | String | Not null | FALSE |
Таблица 3.12 Структура таблицы «Car»
Название (Name) | Имя поля (Code) | Тип (Data type) | Обязат. (null/ not null) | Только для чтения (Read only) |
Id | Id_car | Int | Not null | FALSE |
Товар | Id_product | String | Null | FALSE |
Комплектация | Id_constr | String | Not null | FALSE |
Количество | Quantity | int | Null | FALSE |
Далее представлен скрипт базы данных:
USE [CarDealership]
GO
/****** Object: Table [dbo].[Accesouries] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Accesouries](
[Id_acc] [int] NOT NULL,
[Name] [varchar](50) NULL,
CONSTRAINT [PK_Accesouries] PRIMARY KEY CLUSTERED
(
[Id_acc] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Administration] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Administration](
[Id_adm] [int] NOT NULL,
[Login] [varchar](50) NULL,
[Password] [varchar](50) NULL,
[Date] [date] NULL,
[Email] [varchar](50) NULL,
[Experience] [int] NULL,
[FullName] [varchar](50) NULL,
CONSTRAINT [PK_Administration] PRIMARY KEY CLUSTERED
(
[Id_adm] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Client] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Client](
[Id_client] [int] NOT NULL,
[FullName] [varchar](50) NULL,
[Pasport] [varchar](50) NULL,
[DriverLicense] [varchar](50) NULL,
[Id_order] [int] NULL,
CONSTRAINT [PK_Client] PRIMARY KEY CLUSTERED
(
[Id_client] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Colour] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Colour](
[Id_colour] [int] NOT NULL,
[Name] [varchar](50) NULL,
CONSTRAINT [PK_Colour] PRIMARY KEY CLUSTERED
(
[Id_colour] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Construction] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Construction](
[Id_constr] [int] NOT NULL,
[Id_model] [int] NULL,
[Id_color] [int] NULL,
[Name] [varchar](50) NULL,
[HorsePower] [int] NULL,
[Transmission] [varchar](50) NULL,
[EngineCapacity] [float] NULL,
[Drive] [varchar](50) NULL,
[EngineType] [varchar](50) NULL,
CONSTRAINT [PK_Construction] PRIMARY KEY CLUSTERED
(
[Id_constr] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Model] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Model](
[Id_model] [int] NOT NULL,
[Name] [varchar](50) NULL,
[Id_modelrange] [int] NULL,
CONSTRAINT [PK_Model] PRIMARY KEY CLUSTERED
(
[Id_model] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[ModelRange] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ModelRange](
[Id_modelrange] [int] NOT NULL,
[Name] [varchar](50) NULL,
CONSTRAINT [PK_ModelRange] PRIMARY KEY CLUSTERED
(
[Id_modelrange] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Order] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Order](
[Id_order] [int] NOT NULL,
[Id_client] [int] NULL,
[OrderDate] [date] NULL,
[Id_adm] [int] NULL,
[Id_status] [int] NULL,
CONSTRAINT [PK_Order] PRIMARY KEY CLUSTERED
(
[Id_order] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[OrderLine] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[OrderLine](
[Id_line] [int] NOT NULL,
[Id_order] [int] NULL,
[Id_product] [int] NULL,
[Quantity] [int] NULL,
[Price] [money] NULL,
CONSTRAINT [PK_OrderLine] PRIMARY KEY CLUSTERED
(
[Id_line] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Product] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Product](
[Id_product] [int] NOT NULL,
[Name] [varchar](50) NULL,
[Price] [money] NULL,
[id_acc] [int] NULL,
[id_constr] [int] NULL,
CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED
(
[Id_product] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Status] Script Date: 19.12.2022 9:12:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Status](
[id_status] [int] NOT NULL,
[Name] [varchar](50) NULL,
CONSTRAINT [PK_Status] PRIMARY KEY CLUSTERED
(
[id_status] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
-
Решения по программному обеспечению
Решения проектирования по программному обеспечению представлены проектом классов (диаграмма классов и описание полей и методов классов), моделью инициализации объектов (диаграмма инициализации) и моделью взаимодействия (диаграммы последовательности).
2.6.1. Классы
2.6.1.1. BLL.Interface.IDbCrud
List
List
List
List
List
List
List
List
List
GetAllProducts(); - получить список товаров
List
OrderModel GetOrder(int id); получение заказа по Id
void CreateOrder(OrderModel o); создать заказ
bool Save(); -сохранить
void UpdateOrder(OrderModel o); - обновить заказ
2.6.1.2. BLL.Interface.IOrderService
bool MakeOrder(BLL.Models.OrderModel orderDto); - создание заказа
2.6.1.3. BLL.Interface.IReportService
List
2.6.1.4.BLL.Models.Accesouries
public int Id { get; set; } – id аксессуара
public string Name { get; set; } – имя аксессуара
public AccesouriesModel(DAL.Accesouries accesouries) – конструктор
2.6.1.5. BLL.Models.Administration
public int Id { get; set; } – id администратора
public string Login { get; set; } - логин
public string Password { get; set; } - пароль
public string Email { get; set; } – электронная почта
public string FullName { get; set; } - ФИО
public int Experience { get; set; } – опыт работы
public DateTime Date { get; set; } – дата рождения
public AdministrationModel(DAL.Administration adm) – конструктор
2.6.1.6. BLL.Models.Client
public int Id { get; set; } – id клиента
public string FullName { get; set; } - ФИО
public string Pasport { get; set; } – Паспортные данные
public string DriverLicense { get; set; } – Данные ВУ
public int Id_order { get; set; } – id заказа клиента
public ClientModel(DAL.Client client) - конструктор
2.6.1.7. BLL.Models.Colour
public int Id { get; set; } – id цвета
public string Name { get; set; } - название
public ColourModel(DAL.Colour Colour) - конструктор
2.6.1.8. BLL.Construction.Model
public int Id { get; set; } – id комплектации
public string Name { get; set; } - Название
public int HorsePower { get; set; } – количество лошадиных сил
public string Transmission { get; set; } – коробка передач
public double EngineCapacity { get; set; } – объем двигателя
public string Drive { get; set; } - Привод
public string EngineType { get; set; } – Вид двигателя
public int InStock { get; set; } – в наличии
public int Id_model { get; set; } – id модели
public int Id_colour { get; set; } – id цвета
public ConstructionModel(DAL.Construction constr) – конструктор
2.6.1.9. BLL.Model.Model
public int Id { get; set; } – id модели
public string Name { get; set; } – название
public ModelModel(DAL.Model model) - конструктор
2.6.1.10. BLL.Order.Model
public int Id { get; set; } – id заказа
public DateTime Date { get; set; } - дата
public int Id_status { get; set; } – id статуса
public int Id_client { get; set; } – id клиента
public int Id_adm { get; set; } – id администратора
public string ClientName { get; set; } – имя клиента
public decimal Price { get; set; } – цена заказа
public string ModelName { get; set; } – Имя модели
public OrderModel(DAL.Order order) - конструктор
2.6.1.11. BLL.Util.ServiceModule
private string conntectionString; - подключение к бд
public ServiceModule(string conntection)
public override void Load()
2.6.1.12. BLL.DBDataOperation
List
List
List
List
List
List
List
List
GetAllProducts(); - получить список товаров
List
OrderModel GetOrder(int id); получение заказа по Id
void CreateOrder(OrderModel o); создать заказ
bool Save(); -сохранить
void UpdateOrder(OrderModel o); - обновить заказ
2.6.1.13. DAL.Entities.Accesouries
public int Id { get; set; } – id аксессуара
public string Name { get; set; } – имя аксессуара
public Accesouries() – конструктор
2.6.1.14. DAL.Entities.Administration
public int Id { get; set; } – id администратора
public string Login { get; set; } - логин
public string Password { get; set; } - пароль
public string Email { get; set; } – электронная почта
public string FullName { get; set; } - ФИО
public int Experience { get; set; } – опыт работы
public DateTime Date { get; set; } – дата рождения
public Administration() – конструктор
2.6.1.15. DAL.Entities.Client
public int Id { get; set; } – id клиента
public string FullName { get; set; } - ФИО
public string Pasport { get; set; } – Паспортные данные
public string DriverLicense { get; set; } – Данные ВУ
public int Id_order { get; set; } – id заказа клиента
public Client() - конструктор
2.6.1.16. DAL.Entities.Color
public int Id { get; set; } – id цвета
public string Name { get; set; } - название
public Colour() - конструктор
2.6.1.17. DAL.Entities.Construction
public int Id { get; set; } – id комплектации
public string Name { get; set; } - Название
public int HorsePower { get; set; } – количество лошадиных сил
public string Transmission { get; set; } – коробка передач
public double EngineCapacity { get; set; } – объем двигателя
public string Drive { get; set; } - Привод
public string EngineType { get; set; } – Вид двигателя
public int InStock { get; set; } – в наличии
public int Id_model { get; set; } – id модели
public int Id_colour { get; set; } – id цвета
public Construction () – конструктор
2.6.1.18. DAL.Entities.Model
public int Id { get; set; } – id модели
public string Name { get; set; } – название
public Model() - конструктор
2.6.1.19. DAL.Entities.Order
public int Id { get; set; } – id заказа
public DateTime Date { get; set; } - дата
public int Id_status { get; set; } – id статуса
public int Id_client { get; set; } – id клиента
public int Id_adm { get; set; } – id администратора
public string ClientName { get; set; } – имя клиента
public decimal Price { get; set; } – цена заказа
public string ModelName { get; set; } – Имя модели
public Order()- конструктор
2.7.1 Диаграмма последовательности для варианта «Добавить заказ»
Рис. 2.7.1 Диаграмма последовательности
Администратор нажимает кнопку «Добавить заказ» и открывается форма для заполнения.
В альтернативных потоках:
1) Проверка заполнены ли все поля. Если нет, выводится ошибка. Если заполнены, заказ сохраняется и форма закрывается.
2.7.2 Диаграмма коммуникации для варианта «Добавить заказ»
Рис. 2.7.2 Диаграмма коммуникации
2.7.3 Диаграмма классов для варианта «Добавить заказ»
Рис. 2.7.3 Диаграмма классов
2.7.4 Диаграмма состояний для метода «Изменение статуса»
Рис. 2.7.4 Диаграмма состояний
У заказа может быть три статуса:
1) Оформлен – когда администратор добавил заказ
2) Выполнен – когда автомобиль поступил в салон
3) Отменен – когда клиент отменил заказ
2.7.5 Диаграмма деятельности для варианта «Добавить заказ»
Рис. 2.7.5 Диаграмма деятельности
3 Мероприятия по подготовке к вводу системы в действие
Для ввода Системы в действие необходимо:
-
подготовить у Заказчика всё необходимое техническое обеспечение; -
установить на сервер и клиентские ПК системное, базовое и прикладное ПО; -
установить на сервер БД; -
провести испытания системы.
-
Мероприятия по приведению информации к виду, пригодному для обработки на ЭВМ
Для ввода системы в эксплуатацию необходимо выполнить первичное наполнение БД:
-
ввести в БД сведения о Сотрудниках, -
ввести в БД сведения о деловых партнёрах, -
Подготовить биллинговую систему.
-
Мероприятия по обучению и проверке квалификации персонала
Необходимо научить администратор работе с клиентами, заказами и каталогами, как их добавлять, изменять, удалять.
-
Мероприятия по созданию необходимых подразделений и рабочих мест
Новые подразделения не создаются.
-
Мероприятия по изменению объекта автоматизации
Никаких изменений не требуется.
-
Источники разработки
При разработке эскизного проекта использовались следующие источники:
-
ГОСТ 34.003-90. Информационные технологии. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения. -
ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем. -
ГОСТ 34.601-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания. -
ГОСТ 34.602-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы. -
РД 50-34.698.90. Методические указания. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Требования к содержанию документов. -
РД Гостехкомиссии России. Безопасность информационных технологий. Критерии оценки безопасности информационных технологий.- 2002 г. -
Практическая программная инженерия на основе учебного примера / Л.А. Мацяшек, Б.Л. Лионг. – М.: БИНОМ. Лаборатория знаний, 2009. – 956 с. -
Documents associated with. Unified Modeling Language (UML), v2.4.1. Release date: August 2011.- http://www.omg.org/spec/UML/2.4.1.