Файл: Отчет по лабораторной работе 5 дисциплина Проектирование архитектуры и программного обеспечения автоматизированных систем.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 14

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования Российской Федерации
Федеральное государственное образовательное учреждение высшего
образования «Алтайский государственный технический университет им. И. И. Ползунова»

Заочный институт

Отчет защищен с оценкой________

Преподаватель_________(подпись)

«____» ______________ 2023 г.

Отчет

по лабораторной работе №5

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

Студент группы 9ИВТ-01 Савичев С.М.
Старший преподаватель Третьяков А.А.

Барнаул 2023

Вариант 13

Цели и задачи работы:

Разработка диаграммы классов и модели базы данных.

Задание к работе:

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

2. Разработать модель базы данных;

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

«Информационная система городской телефонной сети»


Задание 1.


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



Рисунок 1 – Сокращенная диаграмма классов программной системы




Рисунок 2 – Расширенная диаграмма классов программной системы

Задание 2.

Модель базы данных Microsof SQL Server «SubscribersTelephoneNetwork»



Рисунок 3 – Модель базы данных «SubscribersTelephoneNetwork»

В построенной модели базы данных имеются таблицы, а именно:

Таблица "Subscriber" (Абонент): Отвечает за хранение информации об абонентах. Включает атрибуты, такие как идентификатор абонента, ФИО, адрес, контактные данные и другую персональную информацию.


Таблица "Gender" (Пол): Содержит список доступных полов для абонентов. Включает значения, такие как мужской, женский.

Таблица "Number" (Номер): Хранит информацию о номерах телефонов. Может содержать атрибуты, такие как идентификатор номера, сам номер и статус (активен, неактивен), тарифный план, дата регистрации и баланс.

Таблица "Status" (Статус): Содержит список возможных статусов для абонентов или номеров. Включает значения, такие как активный, либо заблокированный.

Таблица "Calls" (Звонки): Отвечает за хранение информации о звонках, сделанных абонентами. Включает атрибуты, такие как идентификатор звонка, дата и время звонка, длительность, идентификатор исходящего и входящего номеров.

Таблица "Benefit" (Льгота): Содержит информацию о льготных условиях или скидках, предоставляемых абонентам. Включает атрибуты, а именно положена льгота или нет.

Таблица "Employee" (Сотрудник): Отвечает за хранение информации о сотрудниках, работающих в системе. Включает атрибуты, такие как идентификатор сотрудника, логин и пароль для доступа, ФИО, email (почту), должность и другую персональную информацию.

Таблица "TariffPlan" (Тарифный план): Хранит информацию о различных тарифных планах, доступных для абонентов. Включает атрибуты, такие как идентификатор тарифного плана, название, описание, стоимость.

  • Таблица "Position" (Должность): Содержит список доступных должностей для сотрудников. Включает значения, такие как менеджер, оператор.

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

Задание 3.

Скрипт базы данных для информационной системы система городской телефонной сети «SubscribersTelephoneNetwork».

Листинг:
go

create database SubscribersTelephoneNetwork collate Cyrillic_General_CI_AS;

USE [SubscribersTelephoneNetwork]

GO

/****** Object: Table [dbo].[Benefit] Script Date: 07.06.2023 21:15:03 ******/

SET ANSI_NULLS ON



GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Benefit](

[BenefitCode] [nchar](1) NOT NULL,

[BenefitName] [nvarchar](60) NOT NULL,

[Description] [nvarchar](150) NULL,

CONSTRAINT [PK_Benefit] PRIMARY KEY CLUSTERED

(

[BenefitCode] 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].[Calls] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Calls](

[IdCalls] [int] IDENTITY(1,1) NOT NULL,

[IdInNumber] [int] NOT NULL,

[IdOutNumber] [int] NOT NULL,

[CallsDate] [date] NOT NULL,

[DurationInMinute] [int] NOT NULL,

CONSTRAINT [PK_Calls_1] PRIMARY KEY CLUSTERED

(

[IdCalls] 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].[Employee] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Employee](

[IdEmployee] [int] IDENTITY(1,1) NOT NULL,

[IdPosition] [int] NOT NULL,

[LastName] [nvarchar](50) NOT NULL,

[FirstName] [nvarchar](50) NOT NULL,

[Patronymic] [nvarchar](50) NULL,

[GenderCode] [nchar](1) NOT NULL,

[BirthDate] [date] NOT NULL,

[NumberPhone] [nvarchar](11) NOT NULL,

[Email] [nvarchar](100) NULL,

[Login] [nvarchar](15) NOT NULL,

[Password] [nvarchar](15) NOT NULL,

CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED

(

[IdEmployee] 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].[Gender] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Gender](

[GenderCode] [nchar](1) NOT NULL,

[GenderName] [nvarchar](7) NOT NULL,

CONSTRAINT [PK_Gender] PRIMARY KEY CLUSTERED

(

[GenderCode] 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].[Number] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Number](

[IdNumber] [int] IDENTITY(1,1) NOT NULL,

[IdSubscriber] [int] NOT NULL,

[NumberName] [nvarchar](11) NOT NULL,

[RegDate] [datetime] NOT NULL,

[IdTariffPlan] [int] NULL,

[Balance] [decimal](10, 2) NOT NULL,

[StatusCode] [nchar](1) NOT NULL,

CONSTRAINT [PK_Number] PRIMARY KEY CLUSTERED

(

[IdNumber] 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].[Position] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Position](

[IdPosition] [int] NOT NULL,

[PositionName] [nvarchar](30) NOT NULL,

[Description] [nvarchar](150) NULL,

CONSTRAINT [PK_Position] PRIMARY KEY CLUSTERED

(

[IdPosition] 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].[Status] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Status](

[StatusCode] [nchar](1) NOT NULL,

[StatusName] [nvarchar](9) NOT NULL,

CONSTRAINT [PK_Status] PRIMARY KEY CLUSTERED

(

[StatusCode] 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].[Subscriber] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Subscriber](

[IdSubscriber] [int] IDENTITY(1,1) NOT NULL,

[LastName] [nvarchar](50) NOT NULL,

[FirstName] [nvarchar](50) NOT NULL,

[Patronymic] [nvarchar](50) NULL,

[GenderCode] [nchar](1) NOT NULL,

[BirthDate] [date] NULL,

[Email] [nvarchar](100) NULL,

[PassportSeries] [nchar](4) NOT NULL,

[PassportNumber] [nchar](6) NOT NULL,

[Address] [nvarchar](150) NULL,

[RegDate] [datetime] NOT NULL,

[BenefitCode] [nchar](1) NOT NULL,

[BenefitCertififcate] [nchar](10) NULL,

[IsDeleted] [bit] NOT NULL,

CONSTRAINT [PK_Subscriber] PRIMARY KEY CLUSTERED

(

[IdSubscriber] 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].[TariffPlan] Script Date: 01.06.2023 21:15:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[TariffPlan](

[IdTariffPlan] [int] IDENTITY(1,1) NOT NULL,

[TariffName] [nvarchar](60) NOT NULL,

[Description] [nvarchar](150) NULL,

[Cost] [decimal](10, 2) NOT NULL,

[IsDeleted] [bit] NOT NULL,

CONSTRAINT [PK_TariffPlan] PRIMARY KEY CLUSTERED

(

[IdTariffPlan] 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

ALTER TABLE [dbo].[Number] ADD CONSTRAINT [DF_Number_IdTariffPlan] DEFAULT (NULL) FOR [IdTariffPlan]

GO

ALTER TABLE [dbo].[Number] ADD CONSTRAINT [DF_Number_StatusCode] DEFAULT (N'а') FOR [StatusCode]

GO

ALTER TABLE [dbo].[Subscriber] ADD CONSTRAINT [DF_Subscriber_IsDeleted] DEFAULT ((0)) FOR [IsDeleted]

GO

ALTER TABLE [dbo].[TariffPlan] ADD CONSTRAINT [DF_TariffPlan_IsDeleted] DEFAULT ((0)) FOR [IsDeleted]

GO

ALTER TABLE [dbo].[Calls] WITH CHECK ADD CONSTRAINT [FK_Calls_NumberIn] FOREIGN KEY([IdInNumber])

REFERENCES [dbo].[Number] ([IdNumber])

GO

ALTER TABLE [dbo].[Calls] CHECK CONSTRAINT [FK_Calls_NumberIn]

GO

ALTER TABLE [dbo].[Calls] WITH CHECK ADD CONSTRAINT [FK_Calls_NumberOut] FOREIGN KEY([IdOutNumber])

REFERENCES [dbo].[Number] ([IdNumber])

GO

ALTER TABLE [dbo].[Calls] CHECK CONSTRAINT [FK_Calls_NumberOut]

GO

ALTER TABLE [dbo].[Employee] WITH CHECK ADD CONSTRAINT [FK_Employee_Gender] FOREIGN KEY([GenderCode])

REFERENCES [dbo].[Gender] ([GenderCode])

GO

ALTER TABLE [dbo].[Employee] CHECK CONSTRAINT [FK_Employee_Gender]

GO

ALTER TABLE [dbo].[Employee] WITH CHECK ADD CONSTRAINT [FK_Employee_Position] FOREIGN KEY([IdPosition])

REFERENCES [dbo].[Position] ([IdPosition])

GO

ALTER TABLE [dbo].[Employee] CHECK CONSTRAINT [FK_Employee_Position]

GO

ALTER TABLE [dbo].[Number] WITH CHECK ADD CONSTRAINT [FK_Number_Status] FOREIGN KEY([StatusCode])

REFERENCES [dbo].[Status] ([StatusCode])

GO

ALTER TABLE [dbo].[Number] CHECK CONSTRAINT [FK_Number_Status]

GO

ALTER TABLE [dbo].[Number] WITH CHECK ADD CONSTRAINT [FK_Number_Subscriber] FOREIGN KEY([IdSubscriber])

REFERENCES [dbo].[Subscriber] ([IdSubscriber])

GO

ALTER TABLE [dbo].[Number] CHECK CONSTRAINT [FK_Number_Subscriber]

GO

ALTER TABLE [dbo].[Number] WITH CHECK ADD CONSTRAINT [FK_Number_TariffPlan] FOREIGN KEY([IdTariffPlan])

REFERENCES [dbo].[TariffPlan] ([IdTariffPlan])

GO

ALTER TABLE [dbo].[Number] CHECK CONSTRAINT [FK_Number_TariffPlan]

GO

ALTER TABLE [dbo].[Subscriber] WITH CHECK ADD CONSTRAINT [FK_Subscriber_Benefit] FOREIGN KEY([BenefitCode])

REFERENCES [dbo].[Benefit] ([BenefitCode])

GO

ALTER TABLE [dbo].[Subscriber] CHECK CONSTRAINT [FK_Subscriber_Benefit]

GO

ALTER TABLE [dbo].[Subscriber] WITH CHECK ADD CONSTRAINT [FK_Subscriber_Gender] FOREIGN KEY([GenderCode])

REFERENCES [dbo].[Gender] ([GenderCode])

GO

ALTER TABLE [dbo].[Subscriber] CHECK CONSTRAINT [FK_Subscriber_Gender]


GO