090303 ВКР ЗПИС пример. Министерство просвещения российской федерации федеральное государственное бюджетное
Скачать 5.94 Mb.
|
ЗАКЛЮЧЕНИЕ В процессе реализации выпускной квалификационной работы (ВКР) достигнута цель исследования – разработка автоматизированной системы для организации учета деталей инженерного комплекса ПАО «ОДК-УМПО». Во всех предприятиях ведется учет по запуску изготовления и выпуску готовой продукции. Учет деталей определяется системой сбора, регистрации, обобщения и анализа информации о производственном процессе предприятия и их влиянии на выполнение плана. В настоящее время существуют такие производства, которые изготавливают большое количество деталей в партиях, для правильного и удобного функционирования производственного процесса необходимо грамотная система учета деталей. Поэтому разработана система для организации учета деталей на каждом технологическом процессе. Для достижения цели выполнены следующие задачи: исследована предметная область, спроектирована и реализована информационная система. Также реализована работа по тестированию. База данных (далее – БД) разработана посредством СУБД MS SQL Server 2019. Для управления БД выбрана система объектного ориентированного программирования Embarcadero Rad Studio C++ Builder 10.2, в связи с тем, что данное программное обеспечение позволяет быстро и удобно разрабатывать эффективные приложения, включая приложения для работы с базами данных. Выводы по третьей главе В процессе разработки выпускной квалификационной работы закреплены теоретические знания, улучшены навыки разработки БД и программирования в таких программах, как SQL Server 2019 и C++ Builder. Разработанная информационная система обеспечивает просмотр таблиц, представлений и эффективность организации учета деталей на каждом технологическом процессе. Поставленная цель достигнута, задачи выполнены. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ Федеральный государственный образовательный стандарт среднего профессионального образования по специальности 09.02.05 «Прикладная информатика», 78 с. ГОСТ Р ИСО 153534-2005 Национальный стандарт Российской Федерации. Информационная технология. – М.: Стандартинформ, 2007 – 71 с. ГОСТ Р ИСО / МЭК 12207-2010 Национальный стандарт Российской Федерации. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств. – М.: Стандартинформ, г. 2011. – 46 с. Алешин, А.В. Управление проектами: фундаментальный курс [Электронный ресурс]: учебное пособие/ А.В. Алешин, В. М. Аньшин, К. А. Багратиони и др.; – [Электрон дан] – М: Издательство «Дом Высшей школы экономики», г. 2015 – 500 с. – Режим доступа: https://www.twirpx.com/file/1898373, – свободный (11.11.2021). Астахова, И.Ф. SQL в примерах и задачах [Электронный ресурс]: учебное пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников – Мн.: Новое знание, г. 2015 – 176 с. – Режим доступа: http://window.edu.ru/resource/075/24075/files/sql.pdf, – свободный (19.10.2021). Билл, Карвин. Программирование баз данных SQL. [Электронный ресурс] – Изд.: Рид Групп – г. 2016. – 336 с. – Режим доступа: http://www.fb2portal.ru/rid-grupp/programmirovanie-baz-dannykh-sql/, – свободный (05.11.2021). Безруков В.А. Win32 API. Программирование.[Электронный ресурс] / учебное пособие. – СПб: СПбГУ ИТМО, г. 2009. – 90 с. – Режим доступа: – https://codernet.ru/books/c_plus/win32_api_programmirovanie/, – свободный (10.11.2021). Вендров, А.М. Проектирование программного обеспечения информационных систем. [Электронный ресурс] – учебное пособие. – 2-е изд.– М.: Финансы и статистика, г. 2006. – 544 с. Режим доступа: https://www.twirpx.com/file/460487/ , – свободный (11.10.2021). Кирилов, В.В. Введение в реляционные базы данных. [Электронный ресурс] — Электрон. дан. / В. В. Кириллов, Г. Ю. Громов. – СПб.: БХВ – Петербург, г. 2016. – 464 с. – Режим доступа: https://studfiles.net/preview/6070808/, свободный (11.10.2021). Кузнецов, С. Д. Базы данных. Модели и языки. – М.: Бином-Пресс, г. 2013. –720 c. Культин, Н. С ++ Builder в задачах и примерах. [Электронный ресурс] Электрон дан. – СПб.: БХВ-Петербург, г. 2015 – 336 с. – Режим доступа: https://studfiles.net/preview/1496630, – свободный (25.10.2021). Литвиненко, Н. А. - Технология программирования на С++. [Электронный ресурс] — Электрон дан. – СПб.: БХВ-Петербург, г. 2016. – 281 с. – Режим доступа: https://fktpm.ru/file/46-winapi-c.pdf, – свободный (11.11.2021). Маклаков, С.В. BPwin ERwin: CASE – средства для разработки информационных систем. [Электронный ресурс] – М.: Диалог-МИФИ, 2017. – 256 с. – Режим доступа: https://studfiles.net/preview/5828092, – свободный (18.10.2021) Основные понятия технологии проектирования информационных систем (ИС). [Электронный ресурс] – Режим доступа: https://intuit.ru/studies/courses/2195/55/lecture/1618?page=3, свободный – (18.10.2021). ПД-14 (Перспективный Двигатель) [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki – свободный – (16.10.2021). Программа «Склад и торговля». [Электронный ресурс]. Режим доступа: https://www.prostoysoft.ru/Production.htm, – свободный – (18.10.2021). Программа «Склад производства». [Электронный ресурс]. Режим доступа: https://sklad-excel.ru/sklad_izd/, – свободный – (18.10.2021). Производственный учет. [Электронный ресурс] – Режим доступа: https://www.profiz.ru/se/5_2020/preim_proizv_uscheta/, – свободный – (18.10.2021). Система «Мой склад». [Электронный ресурс]. Режим доступа: https://www.moysklad.ru/, – свободный – (18.10.2021). Турбореактивный двигатель [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki, – свободный – (16.10.2021). Уфимское моторостроительное производственное объединение [Электронный ресурс]. – Режим доступа: http://umpo.ru/, – свободный (20.10.2021). Этапы разработки программного обеспечения (ПП). [Электронный ресурс] – Режим доступа: https://infourok.ru/lekciya-etapi-razrabotki-programmnogo-obespecheniya-2066149.html, свободный – (18.10.2021). Embarcadero Rad Studio [Электронный ресурс]. Режим доступа: https://www.embarcadero.com/ru/products/rad-studio, – свободный (10.11.2021). Embarcadero Rad Studio 10.2 [Электронный ресурс]. Режим доступа: http://torrentportal.org/programmi/4140-embarcadero-rad-studio-102-tokyo-architect-25026309314-multi.html , – свободный (10.11.2021). Microsoft_SQL_Server [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Microsoft_SQL_Server, – свободный – (20.10.2021). Mimer SQL Validator. [Электронный ресурс]. Режим доступа: https://developer.mimer.com/sql-2016-validator /, – свободный – (28.11.2021). TechnologiCS v4. Специализированная информационная система для машиностроительного предприятия. [Электронный ресурс] – Режим доступа: https://sapr.ru/article/14853, – свободный – (18.10.2021). ПРИЛОЖЕНИЕ Код главной формы написанный на Embarcadero Rad Studio C++Builder 10.2.2 представлен ниже (Безруков В.А., 2009). //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" #include "Unit2.h" #include "Unit3.h" #include "Unit5.h" #include "Unit7.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {} //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { if (isConnected) { Form3->Show(); } Else { Form1->UserName = ""; Form1->isConnected = false; Form3->Show(); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Form2->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { if (Form1->isConnected == true) { this->Button1->Enabled = true; this->Button2->Enabled = true; this->Button4->Enabled = true; } else { this->Button1->Enabled = false; this->Button2->Enabled = false; this->Button4->Enabled = false; } this->ADOConnection1->Connected = true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Form5->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button4Click(TObject *Sender) { Form7->Show(); } //--------------------------------------------------------------------------- Отрывок код главной формы «Информация» написанный на Embarcadero Rad Studio C++Builder 10.2.2 представлен ниже. //--------------------------------------------------------------------------- #include #include #include #pragma hdrstop #include "Unit1.h" #include "Unit2.h" #include "Unit4.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { if (Form1->UserName == "Coadmin") { Form4->DBGrid1->ReadOnly = true; Form4->DBNavigator1->Visible = false; Form4->DBNavigator2->Visible = false; Form4->DBNavigator3->Visible = true; } if (Form1->UserName == "Admin") { Form4->DBGrid1->ReadOnly = false; Form4->DBNavigator1->Visible = true; Form4->DBNavigator2->Visible = false; Form4->DBNavigator3->Visible = false; } Form4->Show(); Form4->ADOTable1->Active = false; Form4->ADOTable1->Connection = Form1->ADOConnection1; Form4->ADOTable1->TableName = "Данные_о_деталях"; Form4->ADOTable1->Active = true; Form4->DataSource1->DataSet = Form4->ADOTable1; Form4->DBGrid1->DataSource = Form4->DataSource1; Form4->DBNavigator1->DataSource = Form4->DataSource1; Form4->DBNavigator2->DataSource = Form4->DataSource1; Form4->Caption = Form4->ADOTable1->TableName; for (int i = 0; i < Form4->DBGrid1->Columns->Count-1; i++) { Form4->DBGrid1->Columns->Items[i]->Width=80; } } //--------------------------------------------------------------------------- Отрывок код главной формы «Информация» с кнопками экспорта данных в Excel, представлен ниже. //--------------------------------------------------------------------------- void __fastcall TForm2::Button9Click(TObject *Sender) { if (Form1->UserName == "Coadmin") { Form4->DBGrid1->ReadOnly = false; Form4->DBNavigator1->Visible = false; Form4->DBNavigator2->Visible = true; Form4->DBNavigator3->Visible = false; } if (Form1->UserName == "Admin") { Form4->DBGrid1->ReadOnly = false; Form4->DBNavigator1->Visible = true; Form4->DBNavigator2->Visible = false; Form4->DBNavigator3->Visible = false; } Form4->Show(); Form4->ADOTable1->Active = false; Form4->ADOTable1->Connection = Form1->ADOConnection1; Form4->ADOTable1->TableName = "Сотрудники"; Form4->ADOTable1->Active = true; Form4->DataSource1->DataSet = Form4->ADOTable1; Form4->DBGrid1->DataSource = Form4->DataSource1; Form4->DBNavigator1->DataSource = Form4->DataSource1; Form4->DBNavigator2->DataSource = Form4->DataSource1; Form4->Caption = Form4->ADOTable1->TableName; for (int i = 0; i < Form4->DBGrid1->Columns->Count-1; i++) { Form4->DBGrid1->Columns->Items[i]->Width=80; } int k=1,sum=0;; bool fStart; if (!fStart) { try { ShowMessage("Test"); vVarApp=CreateOleObject("Excel.Application"); fStart=true; vVarBooks=vVarApp.OlePropertyGet("Workbooks"); vVarApp.OlePropertySet("SheetsInNewWorkbook",1); vVarBooks.OleProcedure("Add"); vVarBook=vVarBooks.OlePropertyGet("Item",1); vVarSheets=vVarBook.OlePropertyGet("Worksheets"); vVarSheet=vVarSheets.OlePropertyGet("Item",1); vVarSheet.OleProcedure("Activate"); for (int i = 1; i <= Form4->ADOTable1->RecordCount;i++) //ADOQuery1->RecordCount; i++) { for (int j = 1; j <= Form4->ADOTable1->FieldCount; j++) { vVarCell=vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",k+5,j); vVarCell.OlePropertySet("Value",(WideString)Form4->ADOTable1->Fields->Fields[j-1]->AsWideString); ris_excel(); vVarCell.OlePropertyGet("Borders",7).OlePropertySet("LineStyle",1); vVarCell.OlePropertyGet("Borders",8).OlePropertySet("LineStyle",1); vVarCell.OlePropertyGet("Borders",9).OlePropertySet("LineStyle",1); vVarCell.OlePropertyGet("Borders",10).OlePropertySet("LineStyle",1); vVarCell.OlePropertyGet("Borders",7).OlePropertySet("Weight",2); vVarCell.OlePropertyGet("Borders",10).OlePropertySet("Weight",2); vVarCell.OlePropertyGet("Borders",7).OlePropertySet("ColorIndex",1); vVarCell.OlePropertyGet("Borders",10).OlePropertySet("ColorIndex",1); vVarSheet.OlePropertyGet("Columns").OlePropertyGet("Item",j).OleProcedure("AutoFit"); } k++; Form4->ADOTable1->Next(); } vVarApp.OlePropertySet("Visible",true); fStart=false; } catch(...) { ShowMessage("Невозможно создать книгу Excel"); return; } } } //--------------------------------------------------------------------------- Отрывок кода формы «Фоновый режим» представлен ниже. //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" #include "Unit4.h" #include "Unit5.h" #include "Unit6.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm5 *Form5; //--------------------------------------------------------------------------- __fastcall TForm5::TForm5(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm5::Button2Click(TObject *Sender) { Form6->Show(); Form6->ADOTable1->Active = false; Form6->ADOTable1->ConnectionString = Form1->ADOConnection1->ConnectionString; Form6->ADOTable1->TableName = "Учет_деталей_в_работе_Участок_1"; Form6->Caption = Form6->ADOTable1->TableName; Form6->ADOTable1->Active = true; Form6->DataSource1->DataSet = Form6->ADOTable1; Form6->DBGrid1->ReadOnly = true; Form6->DBGrid1->DataSource = Form6->DataSource1; for (int i = 0; i < Form6->DBGrid1->Columns->Count-1; i++) { Form6->DBGrid1->Columns->Items[i]->Width=100; } } //--------------------------------------------------------------------------- Отрывок кода формы «Учет и контроль деталей» представлен ниже. //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" #include "Unit4.h" #include "Unit5.h" #include "Unit6.h" #include "Unit7.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm7 *Form7; //--------------------------------------------------------------------------- __fastcall TForm7::TForm7(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm7::Button1Click(TObject *Sender) { Form6->Show(); Form6->ADOTable1->Active = false; Form6->ADOTable1->ConnectionString = Form1->ADOConnection1->ConnectionString; Form6->ADOTable1->TableName = "Межцеховой_учет_деталей_Участок_1"; Form6->Caption = Form6->ADOTable1->TableName; Form6->ADOTable1->Active = true; Form6->DataSource1->DataSet = Form6->ADOTable1; Form6->DBGrid1->ReadOnly = true; Form6->DBGrid1->DataSource = Form6->DataSource1; for (int i = 0; i < Form6->DBGrid1->Columns->Count-1; i++) { Form6->DBGrid1->Columns->Items[i]->Width=100; } } //---------------------------------------------------------------------------- Код формы авторизации представлен ниже (Культин, Н.,2015). //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit3.h" #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm3 *Form3; //--------------------------------------------------------------------------- __fastcall TForm3::TForm3(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm3::Button1Click(TObject *Sender) { if ((Edit1->Text == "Admin") && (Edit2->Text == "123")) { Form1->UserName = "Admin"; Form1->isConnected = true; Form1->Button3->Caption = "Cмена пользователя (" + Form1->UserName + ")"; this->Close(); } else if ((Edit1->Text == "Coadmin") && (Edit2->Text == "456")) { Form1->UserName = "Coadmin"; Form1->isConnected = true; Form1->Button3->Caption = "Cмена пользователя (" + Form1->UserName + ")"; this->Close(); } else if ((Edit1->Text == "User") && (Edit2->Text == "321")) { Form1->UserName = "User"; Form1->isConnected = true; Form1->Button3->Caption = "Cмена пользователя (" + Form1->UserName + ")"; this->Close(); } else if ((Edit1->Text == "") && (Edit2->Text == "") or (Edit1->Text == "") or (Edit2->Text == "")) { ShowMessage("Не введены логин или пароль"); } Else { ShowMessage("Неверный логин или пароль"); } } //--------------------------------------------------------------------------- void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action) { if (Form1->isConnected == true) { if (Form1->UserName == "Admin") { Form1->Button1->Enabled = true; Form1->Button2->Enabled = true; Form1->Button4->Enabled = true; } else if (Form1->UserName == "Coadmin") { Form1->Button1->Enabled = true; Form1->Button2->Enabled = true; Form1->Button4->Enabled = false; } else if (Form1->UserName == "User") { Form1->Button1->Enabled = false; Form1->Button2->Enabled = true; Form1->Button4->Enabled = false; } } else { Form1->Button1->Enabled = false; Form1->Button2->Enabled = false; Form1->Button3->Caption = "Авторизация"; Form1->Button4->Enabled = false; } } //--------------------------------------------------------------------------- void __fastcall TForm3::Button2Click(TObject *Sender) { Form1->isConnected = false; Form3->Close(); } //--------------------------------------------------------------------------- |