Разработка системы управления взаимоотношениями с клиентами




Скачать 388.99 Kb.
НазваниеРазработка системы управления взаимоотношениями с клиентами
страница6/6
Дата публикации14.05.2014
Размер388.99 Kb.
ТипВыпускная работа
literature-edu.ru > Информатика > Выпускная работа
1   2   3   4   5   6

9. Запуск на других компьютерах


Было проведено тестирование программы на различных компьютерах. Для этого была выбрана операционная система Windows 7. Так же к программе добавились файлы dll обеспечивающие запуск приложения на компьютерах, на которых не установлен Qt SDK.

d:\test_work\installpackcrm\цшт7.png

10. Классы


Основным классом программы является класс CDbTable. Он представляет из себя виджет в котором находится специальный класс для отображения виджетов в виде вкладок QTabWidget. В каждой вкладке представлены экземпляры классов, которые отображают ту или иную таблицу.

d:\test_work\installpackcrm\class.png

В приложении представленно описание этих классов, т.е. листинг заголовочных файлов.

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

Вывод


С помощью данной выпускной работы я:

  • Изучил принципы создания информационных систем для сфер малого бизнеса

  • Научился создавать базы данных

  • Изучил язык запросов SQL

  • Научился пользоваться средой Qt Creator

  • Получил опыт разработки программного обеспечения для конкретного заказчика.

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

Планируется в дальнейшем изучать более сложные информационные системы с базами данных. В планах изучение MS SQL Server.

Литература


  1. С.М. Дудаков SQL учебное пособие

  2. Гринберг, Пол CRM со скоростью света = CRM at speed of light. — СПб.: Символ Плюс, 2007

  3.  Agile Project Management with Scrum, Ken Schwaber, Microsoft Press, January 2004

  4. Пол Уилтон, Джон Колби. Язык запросов SQL для начинающих / Пер. с англ. — М.: Диалектика, 2005

  5. http://ru.wikipedia.org/[электронный ресурс]

  6. Жасмин Бланшет, Марк Саммерфилд - Qt 4 Программирование GUI на С++ 2 издание [2008]


Приложение


Листинг файла cdbstudentswidget.h

#ifndef CDBSTUDENTSWIDGET_H

#define CDBSTUDENTSWIDGET_H

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "dbfunc.h"

namespace Ui {

class CDbStudentsWidget;

}

class CDbStudentsWidget : public QWidget

{

Q_OBJECT

public:

explicit CDbStudentsWidget(QWidget *parent = 0);

void insertrow(); // добавить строку в таблицу

void deleterow(); // Удалить строку

void updateActions();// cсохранить изменения в модели в таблицу БД

~CDbStudentsWidget();

public slots:

void currentchangerow(){updateActions();} // слот для измениния значений в таблице

void on_actioninsertRow_triggered(){insertrow();} //действие вставка строки

void on_actiondeleteRow_triggered(){deleterow();} //Действие удаление строки

void on_TabtotxtBTN_clicked(); // кнопка экспорта в текстовый файл

void on_TabtopdfBTN_clicked(); // кнопка экспрта в ПДФ файл

void on_TabtoxlsBTN_clicked(); // кнопка экспорта в файл MS EXCEL

private:

Ui::CDbStudentsWidget *ui;

QSqlTableModel *m_modelstud; // Модель для табличного представления

};

#endif // CDBSTUDENTSWIDGET_H

Листинг файла cdbtariffwidget.h:

#ifndef CDBTARIFFWIDGET_H

#define CDBTARIFFWIDGET_H

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "dbfunc.h"

namespace Ui {

class CDbTariffWidget;

}

class CDbTariffWidget : public QWidget

{

Q_OBJECT

public:

explicit CDbTariffWidget(QWidget *parent = 0);

void insertrow(); // добавить строку в таблицу

void deleterow(); // Удалить строку

void updateActions();// cсохранить изменения в модели в таблицу БД

~CDbTariffWidget();

public slots:

void currentchangerow(){updateActions();} // слот для измениния значений в таблице

void on_actionInsertRow_triggered(){insertrow();} //действие вставка строки

void on_actionDeleteRow_triggered(){deleterow();} //Действие удаление строки

private:

Ui::CDbTariffWidget *ui;

QSqlTableModel *m_modelTariff; // Модель для табличного представления

};

#endif // CDBTARIFFWIDGET_H

Листинг файла cdbpaymentswidget.h:

#ifndef CDBPAYMENTSWIDGET_H

#define CDBPAYMENTSWIDGET_H

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "dbfunc.h"

namespace Ui {

class CDbPaymentsWidget;

}

class CDbPaymentsWidget : public QWidget

{

Q_OBJECT

public:

explicit CDbPaymentsWidget(QWidget *parent = 0);

void insertrow(); // добавить строку в таблицу

void deleterow(); // Удалить строку

void updateActions();// cсохранить изменения в модели в таблицу БД

~CDbPaymentsWidget();

public slots:

void currentchangerow(){updateActions();} // слот для измениния значений в таблице

void on_actionInsertRow_triggered(){insertrow();} //действие вставка строки

void on_actionDeleteRow_triggered(){deleterow();} //Действие удаление строки

private:

Ui::CDbPaymentsWidget *ui;

QSqlTableModel *m_modelPayments; // Модель для табличного представления

};

#endif // CDBPAYMENTSWIDGET_H

Листинг файла studentcard.h:

#ifndef STUDENTCARD_H

#define STUDENTCARD_H

#include

#include

#include "dbfunc.h"

#include "ui_studentcard.h"

namespace Ui {

class StudentCard;

}

class StudentCard : public QWidget

{

Q_OBJECT

public:

explicit StudentCard(QWidget *parent = 0);

~StudentCard();

private slots:

void add_card();//добавление карточки

void delete_card();//удаление карточки

private:

Ui::StudentCard *ui;

int indx1, indx2;

QItemSelectionModel *selectionModel;

QDataWidgetMapper *mapper; // класс обеспечивает отображение модели данных на виджете.

};

#endif // STUDENTCARD_H

Листинг файла dbfunc.cpp:

#include "dbfunc.h"

bool dbconnection() // подключение к базеданных

{

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("../dbstudents.sqlite");

if(!db.open()){

QMessageBox::critical(0, qApp->tr("Cannot open database"),

qApp->tr("Unable to establish a database connection.\n"

"This example needs SQLite support. Please read "

"the Qt SQL driver documentation for information how "

"to build it.\n\n"

"Click Cancel to exit."), QMessageBox::Cancel);

return false;

}

return true;

}

void initModelStud(QSqlTableModel *model) // создаем модель таблицы из БД в Qt

{

model->setTable("students");

model->setEditStrategy(QSqlTableModel::OnRowChange);

model->select();

model->setHeaderData(0, Qt::Horizontal,QObject::tr("id student"));

model->setHeaderData(1, Qt::Horizontal,QObject::tr("first name"));

model->setHeaderData(2, Qt::Horizontal,QObject::tr("middle name"));

model->setHeaderData(3, Qt::Horizontal,QObject::tr("last name"));

model->setHeaderData(4, Qt::Horizontal,QObject::tr("group"));

model->setHeaderData(5, Qt::Horizontal,QObject::tr("study"));

}

void initModelTariff(QSqlTableModel *model)

{

model->setTable("tariff");

model->setEditStrategy(QSqlTableModel::OnRowChange);

model->select();

model->setHeaderData(0,Qt::Horizontal,QObject::tr("group"));

model->setHeaderData(1,Qt::Horizontal,QObject::tr("tariff"));

}

void initModelPay(QSqlTableModel *model)

{

model->setTable("payments");

model->setEditStrategy(QSqlTableModel::OnRowChange);

model->select();

model->setHeaderData(0,Qt::Horizontal,QObject::tr("id student"));

model->setHeaderData(1,Qt::Horizontal,QObject::tr("date"));

model->setHeaderData(2,Qt::Horizontal,QObject::tr("cash"));

}

void setupRelModelStud(QSqlRelationalTableModel *model)

{

model->setTable("students");

model->setEditStrategy(QSqlTableModel::OnRowChange);

model->select();

}

void setUpMapper(QSqlRelationalTableModel *model, QDataWidgetMapper *mapper)

{

mapper->setModel(model);

}

void setUpDebtors(QSqlRelationalTableModel *model)

{

model->setTable("payments");

model->setEditStrategy(QSqlTableModel::OnRowChange);

model->setRelation(0,QSqlRelation("students","id_student","first_name"));

QDate cur_month = QDate::currentDate();

int month = cur_month.month();

int tax = month*10000;

QString la = QString::number(tax);

QString filt ="tariff.cash<";

filt.append(la);

model->setFilter("tariff.cash<10000");

model->select();

}
1   2   3   4   5   6

Похожие:

Разработка системы управления взаимоотношениями с клиентами iconМетодические указания к выполнению курсовой работы по дисциплине...
Целью курсовой работы является разработка системы автоматизации технологического процесса объекта нефтегазовой промышленности

Разработка системы управления взаимоотношениями с клиентами iconЭкономический раздел
Целью дипломного проекта является разработка прототипа системы управления поставками продукции для более эффективного учёта товаров...

Разработка системы управления взаимоотношениями с клиентами iconВведение 2
Целью работы является разработка моделей, методов и практических рекомендацій по совершенствованию системы управления персоналом...

Разработка системы управления взаимоотношениями с клиентами iconКурсовая работа по дисциплине «Динамические интеллектуальные системы»
Разработка прототипа «Оператор Реактора»динамической интеллектуальной системы для диагностики состояния активной зоны реактора по...

Разработка системы управления взаимоотношениями с клиентами icon1 общая часть 1 Анализ процесса сбора информации в системах диспетчеризации...
Системы управления, построенные по такому принципу, называют системой управления зданием или системой диспетчеризации. Общая структурная...

Разработка системы управления взаимоотношениями с клиентами icon«Утверждаю» Начальник Управления образования Администрации Ачитского городского округа
Разработка и издание приказов Управления образования по работе представительства гак

Разработка системы управления взаимоотношениями с клиентами iconЛитература 27
В данной работе рассматривается вариант реализации микропроцессорной системы для управления объектом и разработка программной модели...

Разработка системы управления взаимоотношениями с клиентами iconС. В. Комаров Рефлексия как механизм системы управления развитием организации
«возврата». Указывается, что ситуация рефлексивного самоопределения менеджера выступает как мотивационный механизм саморазвития организации....

Разработка системы управления взаимоотношениями с клиентами iconПояснительная записка к дипломному проекту на тему: «Разработка автоматизированной...
Тема дипломного проекта (работы) Разработка автоматизированной системы печати ценников на витрины автосалона на базе ms access

Разработка системы управления взаимоотношениями с клиентами iconПояснительная записка к дипломному проекту на тему: «Разработка автоматизированной...
Тема дипломного проекта (работы) Разработка автоматизированной системы инвентаризации комплектующих для сборки компьютеров на базе...

Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции