203

Разработка практичного программного обеспечения для хранения данных компании в С#

Реферат

Информатика, кибернетика и программирование

Среда разработки поддерживает различные языки программировании в том числе С# и позволяет легко реализовать дизайн создаваемого приложения. Обзор основных функций программы Enterprise Management. Возможности настраиваемого интерфейса программного обеспечения.

Русский

2012-11-14

522.5 KB

61 чел.

Содержание:

  1.  Введение
  2.  Постановка задачи
  3.  Цель
  4.  Обоснование выбора среды разработки
  5.  Обзор основных функций программы
    1.  Работа с данными
    2.  Меню настроек. Работа с интерфейсом
  6.  Вывод
  7.  Список литературы


Введение:

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

Постановка задачи:

Спроектировать удобное программное обеспечение для учёта и контроля работы  предприятий, ориентированных на поставки.

Цель:

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

Обоснование выбора среды разработки:

Для решения данной задачи лучше всего подходит С# и среда программирования Microsoft Visual Studio 2010.  Язык имеет статическую типизацию, поддерживает 

полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые 

типы и методы, итераторы, анонимные функции с поддержкой замыканий, 

LINQ, исключения, комментарии в формате XML.

Среда разработки поддерживает различные языки программировании в том числе С# и позволяет легко реализовать дизайн создаваемого приложения.

Обзор основных функций программы

«Enterprise Management»: 

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

Работа с данными.

После нажатия кнопки «БД» перед нами отображаются три поля для работы. Левое  поле содержит «дерево» с выбором данных, среднее – предназначено для работы с базой, правое – меню настроек.

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

Первоначально в программе нет данных для отображения, поэтому при нажатии на любой пункт в «дереве» будет отображено модальное окно с сообщением. Это происходит за счёт проверки условия на наличие подключенной БД, благодаря булевой переменной connectDB.

 

 if (connectDB)

           {…}

       else { MessageBox.Show("Нет подключённых БД. Выполните соединение с БД!!!"); }

Программа «Enterprise Management» поддерживает работу с файлами баз данных, созданных в Microsoft Access 2007(*.accdb). Для открытия файлов необходимо в меню «База данных» выбрать «Открыть». После чего открывается окно обзора папок. По умолчанию указана папка «Мои документы». Необходимо указать папку, в которой содержатся файлы данных, программа выберет (если они есть) и соберёт в список, названия тех которые способна открыть. Дальше пользователь может выбрать необходимую БД. Ниже указана функция, осуществляющая эти операции:

private void openBD_Click(object sender, EventArgs e)

       {

           string tempPath;

           DirectoryInfo di; // каталог

           // получить имя каталога "Мои документы"

           di = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));

           tempPath = di.FullName;

           // FolderBrowserDialog - окно Обзор папок

           FolderBrowserDialog fb = new FolderBrowserDialog();

           fb.Description = "Выберите папку,\n" + "в которой находятся база данных Access 2007";

           fb.ShowNewFolderButton = false;

           fb.SelectedPath = tempPath;//Стартовая папка

           // отображаем диалоговое окно

           if (fb.ShowDialog() == DialogResult.OK)

           {

               // пользователь выбрал каталог и

               // щелкнул на кнопке OK

               aPath = fb.SelectedPath;

               if (!isFolderEmptyy(fb.SelectedPath))

               {

                   MessageBox.Show("Доступные Базы Данных не найдены!", "Уведомление об ОШИБКЕ", MessageBoxButtons.OK);

               }

           }

       }

После открытия базы данных пользователь может выбирать в левом меню необходимые данные, которые будут отображаться в среднем поле. Информация  размещается на объекте DataTable, который в свою очередь в DataGridView. Ниже представлен код функции, выполняемой при клике по дереву-меню:

private void treeCompany_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)

       {

           centerPanel.Controls.Clear();                                 // Удаляем с панели все элементы управления

           if (connectDB)

           {

               if (e.Node.Text == "Персонал" || e.Node.Text == "Отделы компании" || e.Node.Text == "Клиенты" || e.Node.Text == "Поставщики" || e.Node.Text == "На складе" || e.Node.Text == "Клиентов" || e.Node.Text == "Предприятия" || e.Node.Text == "Заказанный" || e.Node.Text == "Поставляемый")

               {

                   dataGridView = new DataGridView();           // Добавляем элемент DataGridView на форму

                   this.dataGridView.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;

                   dataGridView.Dock = DockStyle.Fill;

                   dataGridView.BackgroundColor = Color.WhiteSmoke;

                   dataGridView.AutoResizeColumns();

                   centerPanel.Controls.Add(dataGridView);

                   if (e.Node.Text == "Персонал") sql = "SELECT * FROM staff";                                        

//Из таблицы <name> использовать все столбцы (*)

                   else if (e.Node.Text == "Отделы компании") sql = "SELECT * FROM departments_of_the_enterprise";

                   else if (e.Node.Text == "Клиенты") sql = "SELECT * FROM clients";

                   else if (e.Node.Text == "Поставщики") sql = "SELECT * FROM providers";

                   else if (e.Node.Text == "На складе") sql = "SELECT * FROM product";

                   else if (e.Node.Text == "Заказанный") sql = "SELECT * FROM products_ordered";

                   else if (e.Node.Text == "Поставляемый") sql = "SELECT * FROM product_supplied";

                   else if (e.Node.Text == "Клиентов") sql = "SELECT * FROM orders";

                   else if (e.Node.Text == "Предприятия") sql = "SELECT * FROM order_by_company";

                   dataTable = new DataTable();         // DataTable сохраняет данные в памяти как таблицу

                   sqlCommand = new OleDbCommand(sql, connection);                     //Создаем команду

                   dataAdapter = new OleDbDataAdapter(sqlCommand);                     

// DataAdapter – посредник между базой данных и DataSet

                   commandBuilder = new OleDbCommandBuilder(dataAdapter);              

//Создаем построитель команд; Для адаптера становится доступной команда Update

                   dataAdapter.Fill(dataTable);                                       

// Данные из адаптера поступают в DataTable

                   dataGridView.DataSource = dataTable;                               

// Связываем данные с элементом DataGridView

                   connection.Close();                                                 // Очистка 

                   dataGridView.AutoResizeColumns();

                   activateAccessMenuDB();

               }

               else { centerPanel.Controls.Clear(); /*centerPanel.BackColor = Color.Black;*/ }

           }

           else { MessageBox.Show("Нет открытых БД. Откройте БД!!!"); }

       }

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

Вся информация отображается на экране и изменения внесённые пользователем не повлекут изменений в файле. Для того чтобы изменения вступили в силу, необходимо выбрать в меню «База данных» --> «Редактировать», а после окончания работы с данными необходимо выбрать в меню «База данных» --> «Сохранить». Сохранение произойдёт путём переноса данных с DataGridView в файл:

private void saveBD_Click(object sender, EventArgs e)

{

           try

           {

               dataAdapter.Update((DataTable)dataGridView.DataSource);

               MessageBox.Show("Изменения в базе данных выполнены!", "Уведомление о результатах", MessageBoxButtons.OK);

               saveBD.Enabled = false;

               changeBD.Enabled = true;

           }

           catch (Exception)

           {

               MessageBox.Show("Изменения в базе данных выполнить не удалось!", "Уведомление о результатах", MessageBoxButtons.OK);

           }

}

В случае если невозможно сохранить БД, отобразится уведомление о неудаче выполнения операции.

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

Меню настроек. Работа с интерфейсом.

Любое приложение должно предоставлять возможность настраивать интерфейс под нужды пользователя. «Enterprise Management» не исключение. Настройки в приложении подразделяются на два типа: локальные и глобальные.

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

private void changeCOLtext_Click(object sender, EventArgs e)

{

           Color CCC = Color.FromArgb(25, 50, 75);

           System.Windows.Forms.ColorDialog cdg = new System.Windows.Forms.ColorDialog();

           cdg.Color = CCC;

           if (cdg.ShowDialog() == DialogResult.OK)

           {

               CCC = cdg.Color;

               dataGridView.ForeColor = CCC;//цвет текста

           }

}

Аналогично построены и две другие функции.

К глобальным настройкам относится возможность изменения характеристик окна. Данные настройки располагаются в левом верхнем углу приложения, во вкладке «Enterprise Management». В появившемся модальном окне, пользователь имеет возможность изменить тип окна, прозрачность и его приоритет в сравнении с другими приложениями и окнами.  Прозрачность окна изменяется благодаря удобному трек-бару, прокручивая который можно видеть, как изменяется значение рядом.

При открытии окна настроек, значения всех параметров выставляются по умолчанию. Что даёт возможность быстро сбрасывать, ранее установленные  пользователем настройки. А при закрытии модального окна все настройки автоматически вступают в силу.


Вывод:
Приложение «Enterprise Management» имеет удобный и красочный интерфейс и позволяет пользователю работать с данными компании, которые в свою очередь разделены на такие логические типы как контакты, товар и заказы. Каждая из  таблиц данных подключается к древовидному меню и отображается в поле для работы. Таблицы извлекаются из файла БД через определённые через sql-команды. Также в приложении имеется возможность открыть другую подготовленную БД. Пользователь имеет возможность редактировать данные и по желанию сохранять их в исходном файле.

«Enterprise Management» наглядно разделено и очень практично в использовании. А имеющиеся возможности настройки приложения позволяют его адаптировать под различные нужды пользователя.


Список литературы:

1.  Microsoft Visual C# в задачах и примерах: Культин Н.Б. – СПб.: БХВ-Петербург, 2009. – 320с.

2.  SQL: Полное руководство: Дж. Грофф, П. Вайнберг: Пер. с англд. – 2-е изд., перераб. И доп. – К.: Издательская группа BHV, 2001. – 816 с., ил.

3. С#4.0 на примерах: Ватсон Б.  — СПб.: БХВ-Петербург, 2011. — 608 с: ил. 4.


 

А также другие работы, которые могут Вас заинтересовать

22542. Расчет гибких нитей 148.5 KB
  Это так называемые гибкие нити. Обычно провисание нити невелико по сравнению с ее пролетом и длина кривой АОВ мало отличается не более чем на 10 от длины хорды АВ. В этом случае с достаточной степенью точности можно считать что вес нити равно мерно распределен не по ее длине а по длине ее проекции на горизонтальную ось т. Расчетная схема гибкой нити.
22543. Моменты инерции относительно параллельных осей 119.5 KB
  Моменты инерции относительно параллельных осей. Задачу получить наиболее простые формулы для вычисления момента инерции любой фигуры относительно любой оси будем решать в несколько приемов. Если взять серию осей параллельных друг другу то оказывается что можно легко вычислить моменты инерции фигуры относительно любой из этих осей зная ее момент инерции относительно оси проходящей через центр тяжести фигуры параллельно выбранным осям. Расчетная модель определения моментов инерции для параллельных осей.
22544. Главные оси инерции и главные моменты инерции 157 KB
  Главные оси инерции и главные моменты инерции. Как уже известно зная для данной фигуры центральные моменты инерции и можно вычислить момент инерции и относительно любой другой оси. Именно можно найти систему координатных осей для которых центробежный момент инерции равен. В самом деле моменты инерции и всегда положительны как суммы положительных слагаемых центробежный же момент может быть и положительным и отрицательным так как слагаемые zydF могут быть разного знака в зависимости от знаков z и у для той или иной площадки.
22545. Прямой чистый изгиб стержня 99.5 KB
  Прямой чистый изгиб стержня При прямом чистом изгибе в поперечном сечении стержня возникает только один силовой фактор изгибающий момент Мх рис. Так как Qy=dMx dz=0 то Mx=const и чистый прямой изгиб может быть реализован при загружении стержня парами сил приложенными в торцевых сечениях стержня. Сформулируем предпосылки теории чистого прямого изгиба призматического стержня. Для этого проанализируем деформации модели стержня из низкомодульного материала на боковой поверхности которого нанесена сетка продольных и поперечных рисок...
22546. Прямой поперечный изгиб стержня 122 KB
  Прямой поперечный изгиб стержня При прямом поперечном изгибе в сечениях стержня возникает изгибающий момент Мх и поперечная сила Qy рис. 1 которые связаны с нормальными и касательными напряжениями Рис. Связь усилий и напряжений а сосредоточенная сила б распределеннаяРис. Однако для балок с высотой сечения h l 4 рис.
22547. Составные балки и перемещения при изгибе 77.5 KB
  Составные балки и перемещения при изгибе ПОНЯТИЕ О СОСТАВНЫХ БАЛКАХ Работу составных балок проиллюстрируем на простом примере трехслойной балки прямоугольного поперечного сечения. Это означает что моменты инерции и моменты сопротивления трех независимо друг от друга деформирующихся балок должны быть просуммированы Если скрепить балки сваркой болтами или другим способом рис. 1 б то с точностью до пренебрежения податливостью наложенных связей сечение балки будет работать как монолитное с моментом инерции и моментом сопротивления...
22548. Напряжения и деформации при кручении стержней кругового поперечного сечения 130.5 KB
  Напряжения и деформации при кручении стержней кругового поперечного сечения Кручением называется такой вид деформации при котором в поперечном сечении стержня возникает лишь один силовой фактор крутящий момент Мz. Крутящий момент по определению равен сумме моментов внутренних сил относительно продольной оси стержня Oz. С силами лежащими в плоскости поперечного сечения стержня интенсивности этих сил касательные напряжения и Мz связывает вытекающее из его определения уравнение равновесия статики рис. 1 Условимся считать Mz...
22549. Практические примеры расчета на сдвиг. Заклепочные соединения 58.5 KB
  Заклепки во многих случаях уже вытеснены сваркой; однако они имеют еще очень большое применение для соединения частей всякого рода металлических конструкций: стропил ферм мостов кранов для соединения листов в котлах судах резервуарах и т. В них закладывается нагретый до красного каления стержень' заклепки с одной головкой; другой конец заклепки расклепывается ударами специального молотка или давлением гидравлического пресса клепальной машины для образования второй головки. Мелкие заклепки малого диаметра меньше 8 мм ставятся в...
22550. Расчет заклепок на смятие и листов на разрыв 93.5 KB
  1 указана примерная схема передачи давлений на стержень заклепки. Принято считать что неравномерное давление передающееся на поверхность заклепки от листа распределяется равномерно по диаметральной плоскости сечения заклепки. При этом напряжение по этой диаметральной плоскости оказывается примерно равным наибольшему сминающему напряжению в точке А поверхности заклепки. Передача давлений на стержень заклепки.