Similar presentations:
Разработка приложений интегрированных систем. Тема 8
1. Разработка приложений интегрированных систем
Проектирование и разработка программного обеспечения интегрированных систем управленияРазработка приложений
интегрированных систем
Шевченко А. В.
Разработка приложений интегрированных систем
1
2.
Проектирование и разработка программного обеспечения интегрированных систем управленияРазработка приложений интегрированных систем
Регистрация
Администратор
База данных
Приложения
Пользователи
Сессии
Привилегии
Блокировки
Журнал
Сообщения
Приложение
Шевченко А. В.
Разработка приложений интегрированных систем
2
3.
Проектирование и разработка программного обеспечения интегрированных систем управленияСистемный каталог, файл конфигурации
Системный
каталог
app
log
icon
documents
Файл
конфигурации
Каталог
приложений
Приложение
"Регистрация"
Шевченко А. В.
Системный
каталог
Имя
базы данных
Разработка приложений интегрированных систем
3
4.
Проектирование и разработка программного обеспечения интегрированных систем управленияПользователь
Пользователи, сессии
Регистрация
Приложения
Станция
База данных
Сессия
Приложение
Приложение
Приложение
Блокировки
Журнал
Сообщения
Шевченко А. В.
Разработка приложений интегрированных систем
4
5.
Проектирование и разработка программного обеспечения интегрированных систем управленияРегистрация пользователей
Редактирование
пользователя
Модуль
«Пользователи»
Шевченко А. В.
Разработка приложений интегрированных систем
5
6.
Проектирование и разработка программного обеспечения интегрированных систем управленияРегистрация рабочих станций
Модуль
«Оборудование»
Шевченко А. В.
Редактирование
оборудования
Разработка приложений интегрированных систем
6
7. Объекты для взаимодействия с системой регистрации
Проектирование и разработка программного обеспечения интегрированных систем управленияОбъекты для взаимодействия с системой регистрации
Главная форма приложения
IOSystem
Connection
LogSystem
io;
DB;
LOG;
__fastcall TMainForm::TMainForm(TComponent* Owner) :
TForm(Owner)
{
UI.Init();
LOG.InitInfo(this, DATE_TIME);
}
Шевченко А. В.
Разработка приложений интегрированных систем
7
8. Вход в систему регистрации
Проектирование и разработка программного обеспечения интегрированных систем управленияВход в систему регистрации
Головной модуль приложения
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR argv, int)
{
try
{
if(LOG.Init(argv))
{
Application->Initialize();
Application->Title = "...";
Application->CreateForm(__classid(...), &...);
}
Application->Run();
}
...
return(0);
}
Шевченко А. В.
Разработка приложений интегрированных систем
8
9. Информация о приложении
Проектирование и разработка программного обеспечения интегрированных систем управленияИнформация о приложении
Главная форма приложения
TBitBtn : login_bt
TBitBtn : info_bt
__fastcall TMainForm::TMainForm(TComponent* Owner) :
TForm(Owner)
{
...
LOG.InitInfo(this, DATE_TIME);
}
Шевченко А. В.
Разработка приложений интегрированных систем
9
10. Регистрация приложения
Проектирование и разработка программного обеспечения интегрированных систем управленияРегистрация приложения
Редактирование
приложения
Загрузка
exe-файла
Модуль
«Приложения»
Редактирование
версии
Шевченко А. В.
Разработка приложений интегрированных систем
10
11. Размещение иконы приложения
Проектирование и разработка программного обеспечения интегрированных систем управленияРазмещение иконы приложения
Имя файла
иконы
Каталог
…/icon/application
Формат .ico, 32 x 32
Шевченко А. В.
Разработка приложений интегрированных систем
11
12. Регистрация прав пользователей
Проектирование и разработка программного обеспечения интегрированных систем управленияРегистрация прав пользователей
Редактирование
пользователя
Модуль
«Пользователи»
Доступные
приложения
Шевченко А. В.
Разработка приложений интегрированных систем
12
13. Регистрация привилегии
Проектирование и разработка программного обеспечения интегрированных систем управленияРегистрация привилегии
Новая
привилегия
Код
привилегии
Описание
привилегии
Модуль
«Привилегии»
Шевченко А. В.
Сохранение
привилегии
Разработка приложений интегрированных систем
13
14. Использование привилегии в приложении
Проектирование и разработка программного обеспечения интегрированных систем управленияИспользование привилегии в приложении
TBitBtn : import_bt
__fastcall TMainForm::TMainForm(TComponent* Owner) :
TForm(Owner)
{
...
UI.Visible(import_bt) = LOG.HasPrivilege("IMPORT_ACCESS");
Шевченко А. В.
Разработка приложений интегрированных систем
14
15. Постановка блокировки при редактировании объекта
Проектирование и разработка программного обеспечения интегрированных систем управленияПостановка блокировки при редактировании объекта
Заголовок формы (h-файл), часть «private»
DTInt2 lock_id;
Файл формы (cpp-файл), обработчик чтения объекта
lock_id = LOG.LockOn("order", number); if(!lock_id) return;
Чтение объекта из БД
Отображение информации
Файл формы (cpp-файл), обработчик сохранения объекта
Запись объекта в БД
LOG.LockOff(lock_id);
Шевченко А. В.
Разработка приложений интегрированных систем
15
16. Постановка "короткой" блокировки
Проектирование и разработка программного обеспечения интегрированных систем управленияПостановка "короткой" блокировки
Файл формы (cpp-файл), функция обновления объекта
{
Lock lock("order", number); if(!lock.granted) return;
...
}
Шевченко А. В.
Класс
объекта
Номер
объекта
Разработка приложений интегрированных систем
16
17. Экран блокировки. Контроль блокировок
Проектирование и разработка программного обеспечения интегрированных систем управленияЭкран блокировки. Контроль блокировок
Блокировки
Экран
блокировки
Мониторинг
Шевченко А. В.
Разработка приложений интегрированных систем
17
18. Запись в журнал. Просмотр журнала
Проектирование и разработка программного обеспечения интегрированных систем управленияЗапись в журнал. Просмотр журнала
Файл формы (cpp-файл), функция обновления объекта
...
LOG.Journal(number^"Изменен заказ %d");
...
Журнал
Шевченко А. В.
Разработка приложений интегрированных систем
18
19. Системные параметры
Проектирование и разработка программного обеспечения интегрированных систем управленияСистемные параметры
Файл формы (cpp-файл)
...
DTInt2 rate = LOG.PAR("RATE");
...
Шевченко А. В.
Разработка приложений интегрированных систем
Редактирование
параметров
19
20. Управление транзакцией
Проектирование и разработка программного обеспечения интегрированных систем управленияУправление транзакцией
Файл формы (cpp-файл)
...
TRANSACTION
{
DB.InpPar(...);
DB.Query("update ...");
DB.InpPar(...);
DB.Query("insert ...");
LOG.Journal("...");
}
...
Шевченко А. В.
Разработка приложений интегрированных систем
20
21. Отправка сообщения
Проектирование и разработка программного обеспечения интегрированных систем управленияОтправка сообщения
Файл формы (cpp-файл)
...
Уровень срочности:
MAIL_NORMAL - зеленый
MAIL_AVERTIS - желтый
MAIL_URGENT - красный
DTInt2 user_id = ...;
DTInt2 sess_id = LOG.GetSesID(user_id);
DTString mes
= "Получен новый заказ";
LogMail::Send(user_id, sess_id, mes, MAIL_NORMAL, NULL,
0, 0, 0, 0, 0, NULL);
...
Шевченко А. В.
Разработка приложений интегрированных систем
21
22. Вызов отчета
Проектирование и разработка программного обеспечения интегрированных систем управленияВызов отчета
Файл формы (cpp-файл)
DTInt2
rep_id = ...;
DTString par1
= "...";
DTString par2
= "...";
TReportView::Open(rep_id, par1, par2);
Шевченко А. В.
Разработка приложений интегрированных систем
22
23. Открытие документа
Проектирование и разработка программного обеспечения интегрированных систем управленияОткрытие документа
Файл формы (cpp-файл)
...
DTInt2 doc_id = ...;
DOC::Open(doc_id);
...
Шевченко А. В.
Разработка приложений интегрированных систем
23