Файл: Пояснительная записка к курсовому проекту по дисциплинам Проектирование и архитектура пс, Конструирование на н листах.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

    1. Решения по программному обеспечению

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

2.6.1. Классы


2.6.1.1. BLL.Interface.IDbCrud

List GetAllAdministrations(); - получить список администраторов

List GetAllAccesouries(); - получить список аксессуаров

List GetAllClients(); - получить список клиентов

List GetAllColours(); - получить список цветов

List GetAllConstructions(); - получить список комплектаций

List GetAllModels(); - получить список моделей

List GetAllModelRanges(); - получить список модельных рядов

List GetAllOrderModels(); - получить список заказов

List
GetAllProducts(); - получить список товаров

List GetAllStatuses(); - получить список статусов

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 Profit(DateTime value); - список отчетов прибыли

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 GetAllAccesouries(); - получить список аксессуаров

List GetAllClients(); - получить список клиентов

List GetAllColours(); - получить список цветов

List GetAllConstructions(); - получить список комплектаций

List GetAllModels(); - получить список моделей

List GetAllModelRanges(); - получить список модельных рядов

List GetAllOrderModels(); - получить список заказов

List
GetAllProducts(); - получить список товаров

List GetAllStatuses(); - получить список статусов

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 Мероприятия по подготовке к вводу системы в действие

Для ввода Системы в действие необходимо:

  1. подготовить у Заказчика всё необходимое техническое обеспечение;

  2. установить на сервер и клиентские ПК системное, базовое и прикладное ПО;

  3. установить на сервер БД;

  4. провести испытания системы.

    1. Мероприятия по приведению информации к виду, пригодному для обработки на ЭВМ

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

  1. ввести в БД сведения о Сотрудниках,

  2. ввести в БД сведения о деловых партнёрах,

  3. Подготовить биллинговую систему.

    1. Мероприятия по обучению и проверке квалификации персонала

Необходимо научить администратор работе с клиентами, заказами и каталогами, как их добавлять, изменять, удалять.

    1. Мероприятия по созданию необходимых подразделений и рабочих мест

Новые подразделения не создаются.

    1. Мероприятия по изменению объекта автоматизации

Никаких изменений не требуется.

  1. Источники разработки

При разработке эскизного проекта использовались следующие источники:

  1. ГОСТ 34.003-90. Информационные технологии. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения.

  2. ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем.

  3. ГОСТ 34.601-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания.

  4. ГОСТ 34.602-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.

  5. РД 50-34.698.90. Методические указания. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Требования к содержанию документов.

  6. РД Гостехкомиссии России. Безопасность информационных технологий. Критерии оценки безопасности информационных технологий.- 2002 г.

  7. Практическая программная инженерия на основе учебного примера / Л.А. Мацяшек, Б.Л. Лионг. – М.: БИНОМ. Лаборатория знаний, 2009. – 956 с.

  8. Documents associated with. Unified Modeling Language (UML), v2.4.1. Release date: August 2011.- http://www.omg.org/spec/UML/2.4.1.