Файл: Курсовая работа по предмету Разработка кода информационных систем Тема работы Разработка информационной системы для организации работы дорожных служб.docx
Добавлен: 28.03.2024
Просмотров: 108
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Вывод из пройденных тестов, что система готова к работе, но имеется не критичные недостатки, которые не влияют на работу системы. Исправления ошибок нужно лишь для более удобного интерфейса программы.
Заключение
В данной работе был пройден полный путь разработки информационной системы начиная с планирования до тестирования.
Разработка каждой системы начиналась с изучением организации, для которой делается система. В нашем случаи эта дорожная служба, сотрудники которой находится на заданиях в разных местах области. Для хорошей работы организации нужно средства связи между сотрудниками и этим средством является информационная система, разработанная в данной работе.
Конкретно были выполнены следующие задачи. Изучение работы организации, для которой строится система с учётом плана работы и особенностях организации. Составление плана разработки системы. Разработка сценария использования системы для оптимизации работы организации и требований к техническому заданию.
Требование следующие - доступ к информации возможен получением из глобальной сети, для разных сотрудников имеется разные права в работе с системой, имеет простой интерфейс.
Следующий шаг — проектирование работы информативной системы. После идет начало формирования базы на основе данных организации. Далее для создания информативной системы был разработан макет системы для работы с данными и последующие написание кода элементов для работы приложения.
Потом объединение компонентов реализуя работоспособною систему. Проведено тестирование системы на корректность работы всех функций, с заключением, что система в целом готова к работе.
Далее подготовка к ведению к исполнение информационной системы. Подготовка мануала и обучение сотрудников работе с системой. Инсталляция программы.
В итоге мы получили систему, через которою руководители смогут назначать сотрудников в состав бригад и отправлять их на задания удалено.
Библиографический список
-
Чистая архитектура. Искусство разработки программного обеспечения | Роберт Мартин — Питер, 2018 г. - 410 с,: ISBN 978-5-4461-0772-8 -
Программирование на C# для начинающих. Основные сведения | Алексей Васильев — Эксмо, 2018 г. 586 с,: ISBN 978-5-04-092519-3 -
Эффективное программирование на C#. 50 способов улучшения кода | Вагнер Билл — Вильямс, 2017 г. 224 с,: ISBN 978-5-9908911-2 -
CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4-е изд.| Вагнер Билл — Вильямс, 2017 г. 224 с,: ISBN 978-5-9908911-2 -
C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. 3-е издание | Прайс Марк— Питер, 2017 г. 640 с,: ISBN 978-5-4461-0516-8 -
Язык программирования C# 7 и платформы .NET и .NET Core | Филипп Джепикс, Эндрю Троелсен— Диалектика-Вильямс, 2017 г. 1330с,: ISBN 978-5-6040723-1-8 -
C# 7.0. Справочник. Полное описание языка | Албахари Бен, Албахари Джозеф — АСТ, 2018 г. 1024 с,: ISBN 978-5-6040043-7-1 -
C# 7.0. Карманный справочник | Албахари Джозеф, Албахари Бен — , 2018 г. 224 с,: ISBN 978-5-9909446-1-9 -
ASP.NET Core MVC 2 с примерами на C# для профессионалов | Адам Фримен. — Вильямс, 2019 г. 1007 с, ISBN: 978-5-6041394-3-1 -
Изучаем C# | Грин Дженнифер, Стиллмен Эндрю — Питер, 2020 г. 816 с,: ISBN 978-5-4461-1563-1 -
Адаптивный код: гибкое кодирование с помощью паттернов проектирования и принципов SOLID | Холл Г.М. — Вильямс, 2019г. 448 с,: ISBN 978-5-9909445-9-6 -
C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов | Прайс Марк — Питер 2018 г. 640 с,: ISBN 978-5-4461-0516-8 -
ASP.NET Core MVC 2 с примерами на C# для профессионалов | Фримен Адам — Диалектика, 2019 г. 1008с,: ISBN 978-5-6041-3943-1 -
ASP.NET Core. Разработка приложений | Чамберс Джеймс, Пэкетт Дэвид — Диалектика, 2018 г. 464 с,: ISBN 978-5-496-03071-7 -
См. дополнительные сведения о средствах пакета SDK для .NET Core и .NET Core (опубликовано: 09.09.2020, автор: Microsoft) URL: https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/ (дата обращения к сайту: 20.09.2020)
Приложение 1. Скрипт базы данных
1 | USE [testWork] | |
2 | GO | |
3 | /****** Object: Table [dbo].[brigade] Script Date: 23.09.2020 20:45:27 ******/ | |
4 | SET ANSI_NULLS ON | |
5 | GO | |
6 | SET QUOTED_IDENTIFIER ON | |
7 | GO | |
8 | CREATE TABLE [dbo].[brigade]( | |
9 | | [id] [int] IDENTITY(1,1) NOT NULL, |
10 | | [vin] [nvarchar](255) NULL, |
11 | | [name] [nvarchar](255) NULL, |
12 | CONSTRAINT [PK_brigade] PRIMARY KEY CLUSTERED | |
13 | ( | |
14 | | [id] ASC |
15 | )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] | |
16 | ) ON [PRIMARY] | |
17 | | |
18 | GO | |
19 | /****** Object: Table [dbo].[employee] Script Date: 23.09.2020 20:45:28 ******/ | |
20 | SET ANSI_NULLS ON | |
21 | GO | |
22 | SET QUOTED_IDENTIFIER ON | |
23 | GO | |
24 | SET ANSI_PADDING ON | |
25 | GO | |
26 | CREATE TABLE [dbo].[employee]( | |
27 | | [id] [int] IDENTITY(1,1) NOT NULL, |
28 | | [surname] [nvarchar](255) NULL, |
29 | | [name] [nvarchar](255) NULL, |
30 | | [patronymic] [nvarchar](255) NULL, |
31 | | [specialty] [nvarchar](255) NULL, |
32 | | [login] [nvarchar](255) NULL, |
33 | | [password] [nvarchar](255) NULL, |
34 | | [dostoop] [float] NULL, |
35 | | [brigade] [int] NULL, |
36 | | [image] [varbinary](max) NULL, |
37 | CONSTRAINT [PK_employee] PRIMARY KEY CLUSTERED | |
38 | ( | |
39 | | [id] ASC |
40 | )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] | |
41 | ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | |
42 | | |
43 | GO | |
44 | SET ANSI_PADDING OFF | |
45 | GO | |
46 | /****** Object: Table [dbo].[Factory] Script Date: 23.09.2020 20:45:28 ******/ | |
47 | SET ANSI_NULLS ON | |
48 | GO | |
49 | SET QUOTED_IDENTIFIER ON | |
50 | GO | |
51 | CREATE TABLE [dbo].[Factory]( | |
52 | | [Kod] [nvarchar](255) NULL, |
53 | | [Factory] [nvarchar](255) NULL |
54 | ) ON [PRIMARY] | |
55 | | |
56 | GO | |
57 | /****** Object: Table [dbo].[tasks] Script Date: 23.09.2020 20:45:28 ******/ | |
58 | SET ANSI_NULLS ON | |
59 | GO | |
60 | SET QUOTED_IDENTIFIER ON | |
61 | GO | |
62 | CREATE TABLE [dbo].[tasks]( | |
63 | | [id] [int] IDENTITY(1,1) NOT NULL, |
64 | | [industry] [nvarchar](255) NULL, |
65 | | [name] [nvarchar](255) NULL, |
66 | | [brigade] [int] NULL, |
67 | CONSTRAINT [PK_tasks$] PRIMARY KEY CLUSTERED | |
68 | ( | |
69 | | [id] ASC |
70 | )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] | |
71 | ) ON [PRIMARY] | |
72 | | |
73 | GO | |
74 | /****** Object: Table [dbo].[Year] Script Date: 23.09.2020 20:45:28 ******/ | |
75 | SET ANSI_NULLS ON | |
76 | GO | |
77 | SET QUOTED_IDENTIFIER ON | |
78 | GO | |
79 | CREATE TABLE [dbo].[Year]( | |
80 | | [Kod] [nvarchar](255) NULL, |
81 | | [Year] [nvarchar](255) NULL |
82 | ) ON [PRIMARY] | |
83 | | |
84 | GO | |
85 | ALTER TABLE [dbo].[employee] WITH CHECK ADD CONSTRAINT [FK_employee_brigade] FOREIGN KEY([brigade]) | |
86 | REFERENCES [dbo].[brigade] ([id]) | |
87 | GO | |
88 | ALTER TABLE [dbo].[employee] CHECK CONSTRAINT [FK_employee_brigade] | |
89 | GO | |
90 | ALTER TABLE [dbo].[tasks] WITH CHECK ADD CONSTRAINT [FK_tasks_brigade] FOREIGN KEY([brigade]) | |
91 | REFERENCES [dbo].[brigade] ([id]) | |
92 | GO | |
93 | ALTER TABLE [dbo].[tasks] CHECK CONSTRAINT [FK_tasks_brigade] | |
94 | GO | |
Приложение 2. Фрагменты кода
Код окна авторизации
1 | using System; |
2 | using System.Collections.Generic; |
3 | using System.ComponentModel; |
4 | using System.Data; |
5 | using System.Data.SqlClient; |
6 | using System.Drawing; |
7 | using System.Linq; |
8 | using System.Text; |
9 | using System.Threading.Tasks; |
10 | using System.Windows.Forms; |
11 | |
12 | namespace testWork |
13 | { |
14 | public partial class Form1 : Form |
15 | { |
16 | SqlConnection sqlConn; |
17 | |
18 | public Form1() |
19 | { |
20 | InitializeComponent(); |
21 | } |
22 | |
23 | public static class Glab |
24 | { |
25 | public static string login;//хранение логина пользователя |
26 | }//метод глобальных переменых |
27 | |
28 | private void vxod_Click(object sender, EventArgs e) |
29 | { |
30 | sql_zapros(); |
31 | } |
32 | |
33 | private async void sql_zapros() |
34 | { |
35 | string ConnStr = @"Data Source=62.63.74.62,1433;Initial Catalog=testWork;User ID=work;Password=0303";//строка подключения |
36 | |
37 | sqlConn = new SqlConnection(ConnStr); //Создание подключения |
38 | |
39 | await sqlConn.OpenAsync();//открытие подключение |
40 | |
41 | SqlDataReader sqlRead = null;//переменая для вывода запроса |
42 | |
43 | int proverka = 0;//счетчек на количество ответов |
44 | bool proverkaMen = false;//переменая для записи статуса |
45 | |
46 | SqlCommand comed = new SqlCommand |
47 | ("SELECT * FROM [employee] " + |
48 | "WHERE [login] = @log AND " + |
49 | "[password] = @pass", sqlConn);//запрос на ноличиее пользователя |
50 | comed.Parameters.AddWithValue("@log", LoginBox.Text);//иннициация переменых |
51 | comed.Parameters.AddWithValue("@pass", PasswordBox.Text); |
52 | |
53 | try { |
54 | sqlRead = await comed.ExecuteReaderAsync();//запрос в базу |
55 | |
56 | int brigade = 0; |
57 | |
58 | while (await sqlRead.ReadAsync())//проверка на ответ |
59 | { |
60 | if (Convert.ToDouble(sqlRead["dostoop"]) == 1.00)//проверка на статус пользователя |
61 | proverkaMen = true; |
62 | proverka++; |
63 | |
64 | brigade = Convert.ToInt32(sqlRead["brigade"]); |
65 | |
66 | Glab.login = LoginBox.Text;//сохраняем логин |
67 | } |
68 | |
69 | if (proverka != 0)//открытие окна менеджера |
70 | { |
71 | Menu_men settingsForm = new Menu_men(proverkaMen, brigade); |
72 | |
73 | settingsForm.Show(); |
74 | |
75 | if (sqlConn != null && sqlConn.State != ConnectionState.Closed) |
76 | sqlConn.Close(); |
77 | |
78 | this.Hide(); |
79 | |
80 | } |
81 | else//вывод собшение об отчуствие пользователя |
82 | { |
83 | MessageBox.Show( |
84 | "Неверное имя пользователя или ты пытаешся его взломать", |
85 | "Упс", |
86 | MessageBoxButtons.OK, |
87 | MessageBoxIcon.Question); |
88 | |
89 | if (sqlConn != null && sqlConn.State != ConnectionState.Closed) |
90 | sqlConn.Close(); |
91 | } |
92 | } |
93 | catch (Exception ex) |
94 | { |
95 | |
96 | MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error); |
97 | |
98 | if (sqlConn != null && sqlConn.State != ConnectionState.Closed) |
99 | sqlConn.Close(); |
100 | } |
101 | finally |
102 | { |
103 | if (sqlRead != null) |
104 | sqlRead.Close(); |
105 | } |
106 | }//запрос на вход |
107 | |
108 | private void Form1_FormClosing(Object sender, FormClosingEventArgs e) |
109 | { |
110 | Clos_Avtoris(); |
111 | } |
112 | |
113 | public void Clos_Avtoris()//закрытие подключение |
114 | { |
115 | if (sqlConn != null && sqlConn.State != ConnectionState.Closed) |
116 | sqlConn.Close(); |
117 | } |
118 | |
119 | } |
120 | } |