МОДЕЛИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММЫ НА ОСНОВЕ ПРИНЦИПОВ ООП (Прикладной программный продукт «Производство мебели. Торговля и склад, управление индивидуальными заказами и оптовыми поставками»)
Заказать уникальную курсовую работу- 52 52 страницы
- 14 + 14 источников
- Добавлена 12.03.2024
- Содержание
- Часть работы
- Список литературы
ВВЕДЕНИЕ 4
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 6
2 ТЕХНИЧЕСКОЕ ЗАДАНИЕ 8
2.1 Назначение разработки 8
2.2 Требования к программе 8
2.3 Стадии и этапы разработки 9
3 МОДЕЛИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММЫ НА ОСНОВЕ ПРИНЦИПОВ ООП 11
4 ОПИСАНИЕ ПРОГРАММЫ 16
4.1 Функциональное назначение 16
4.2 Описание логической структуры 17
4.3 Входные и выходные данные 18
5 ИНСТРУКЦИЯ ПО ЭКСПЛУАТАЦИИ ПРОГРАММЫ 20
5.1 Назначение программы 20
5.2 Выполнение программы 20
5.3 Описание контрольного примера 21
ЗАКЛЮЧЕНИЕ 24
Список использованной литературы 25
ПРИЛОЖЕНИЯ 27
((DataGridView^)sender)->IsCurrentCellInEditMode) return; // Не редактируем String ^serr = "Неверные данные";try {DataGridViewCell^ p = ((DataGridView^)sender)->Rows[e->RowIndex]->Cells[e->ColumnIndex]; if (p->ValueType->ToString() == "System.Int32") { serr = "Значение должно быть целым числом";Int32 x = Convert::ToInt32(e->FormattedValue); } else if (p->ValueType->ToString() == "System.Double") { serr = "Значение должно быть вещественным числом - проверьте разделитель";Double x = Convert::ToDouble(e->FormattedValue); } else if (p->ValueType->ToString() == "System.DateTime") { serr = "Значение должно быть датой";DateTime x = Convert::ToDateTime(e->FormattedValue); } } catch (Exception^ ex) { MessageBox::Show(serr); e->Cancel = true; } } private: System::Void MainForm_FormClosed(System::Object^ sender, System::Windows::Forms::FormClosedEventArgs^ e) {dbMain::db->Save(); } private: System::Void btnAddOrder_Click(System::Object^ sender, System::EventArgs^ e) { if (dbMain::db->getClientSource()->Count < 1 || dbMain::db->getFurnSource()->Count < 1){MessageBox::Show("Заполните список изделий и заказчиков");return; }dbMain::db->addOrder(gcnew Order(0, 0, DateTime::Now, 1, 1000)); gOrder->DataSource = nullptr; // Обновить таблицу gOrder->DataSource = dbMain::db->getOrderSource(); } private: System::Void btnDelOrder_Click(System::Object^ sender, System::EventArgs^ e) {dbMain::db->getOrderSource()->RemoveAt(gOrder->SelectedCells[0]->RowIndex); gOrder->DataSource = nullptr; // Обновить таблицу gOrder->DataSource = dbMain::db->getOrderSource(); } private: System::Void btnAddStore_Click(System::Object^ sender, System::EventArgs^ e) { if (dbMain::db->getFurnSource()->Count < 1){MessageBox::Show("Заполните список изделий");return; }dbMain::db->addStore(gcnew Store(0, 1)); gStorage->DataSource = nullptr; // Обновить таблицу gStorage->DataSource = dbMain::db->getStoreSource(); } private: System::Void btnDelStore_Click(System::Object^ sender, System::EventArgs^ e) {dbMain::db->getStoreSource()->RemoveAt(gStorage->SelectedCells[0]->RowIndex); gStorage->DataSource = nullptr; // Обновить таблицу gStorage->DataSource = dbMain::db->getStoreSource(); } private: System::Void btnAddFurn_Click(System::Object^ sender, System::EventArgs^ e) {dbMain::db->addFurn(gcnew Furn("Изделие", 400, 1000, 2000)); gFurn->DataSource = nullptr; // Обновить таблицу gFurn->DataSource = dbMain::db->getFurnSource(); } private: System::Void btnDelFurn_Click(System::Object^ sender, System::EventArgs^ e) {dbMain::db->getFurnSource()->RemoveAt(gFurn->SelectedCells[0]->RowIndex); gFurn->DataSource = nullptr; // Обновить таблицу gFurn->DataSource = dbMain::db->getFurnSource(); } private: System::Void btnAddClient_Click(System::Object^ sender, System::EventArgs^ e) {dbMain::db->addClient(gcnew Client("Новый", "")); gClient->DataSource = nullptr; // Обновить таблицу gClient->DataSource = dbMain::db->getClientSource(); } private: System::Void btnDelClient_Click(System::Object^ sender, System::EventArgs^ e) {dbMain::db->getClientSource()->RemoveAt(gClient->SelectedCells[0]->RowIndex); gClient->DataSource = nullptr; // Обновить таблицу gClient->DataSource = dbMain::db->getClientSource(); }};}Описание интерфейса модуля данных iStore.h#pragma once#include "Furn.h"#include "Client.h"interface class iStore{public: Client^ getClient(int idx); Furn^ getFurn(int idx); Int32 getClientObj(Client^ obj); Int32 getFurnObj(Furn^ obj);};ЗаголовокмодуляданныхdbMain.h#pragma once#include "Client.h"#include "Furn.h"#include "Store.h"#include "Order.h"#include "iStore.h"using namespace System;using namespace System::IO;using namespace System::Collections::Generic;using namespace System::Diagnostics;ref class dbMain : public iStore{ private: String^ dbName; List
1. Язык программирования C++. [Электронный ресурс] URL: https://metanit.com/cpp/tutorial/1.1.php
2. Возвращение к C++ — современный C++. [Электронный ресурс]. URL: https://learn.microsoft.com/ru-ru/cpp/cpp/welcome-back-to-cpp-modern-cpp?view=msvc-170
3. Национальная рабочая группа по стандартизации С++. [Электронный ресурс]. URL: https://stdcpp.ru/
4. Тема 2. Общая характеристика проектирования ИС. [Электронный ресурс]. URL: https://samara.mgpu.ru/~dzhadzha/dis/15/130.html
5. Особенности работы CLR в .NET Framework [Электронный ресурс]. URL: https://habr.com/ru/post/90426
6. Объектно-ориентированное программирование. [Электронный ресурс] URL: https://prog-cpp.ru/oop/
7. Как ООП помогает разработчикам писать код быстрее и проще. [Электронный ресурс] URL: https://practicum.yandex.ru/blog/obektno-orientirovannoe-programmirovanie/
8. Особенности моделирования предметной области с помощью ООП. [Электронный ресурс] URL: https://habr.com/ru/post/249165/
9. ref class и ref struct (C++/CLI и C++/CX). [Электронный ресурс]. URL: https://learn.microsoft.com/ru-ru/cpp/extensions/classes-and-structs-cpp-component-extensions?view=msvc-170
10. Построение иерархии классов и проектирование приложения. [Электронный ресурс] URL: https://foxford.ru/wiki/informatika/postroenie-ierarhii-klassov-i-proektirovanie-prilozheniya
11. Полиморфизм. [Электронный ресурс] URL: https://learn.microsoft.com/ru-ru/dotnet/csharp/fundamentals/object-oriented/polymorphism
12. interface class (C++/CLI и C++/CX). [Электронный ресурс] URL: https://learn.microsoft.com/ru-ru/cpp/extensions/interface-class-cpp-component-extensions?view=msvc-170
13. Знакомство с Visual Studio. [Электронный ресурс] URL: https://learn.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2022
14. Пошаговое руководство. Компиляция программы C++/CLI, предназначенной для среды CLR в Visual Studio. [Электронный ресурс]. URL: https://learn.microsoft.com/ru-ru/cpp/dotnet/walkthrough-compiling-a-cpp-program-that-targets-the-clr-in-visual-studio?view=msvc-170