Файл: Проектирование реализации операций бизнес-процесса «Движение библиотечного фонда» (ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТИ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 180

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

На диаграмме приведены основные этапы реализации функциональной задачи индивидуального учета библиотечного фонда путем формирования документа «Инвентарная книга».

Последовательность при выполнении данной задачи:

  • осуществление входа в систему;
  • введение логина и пароля;
  • вход в форму «Инвентарная книга»;
  • введение номера партии;
  • сохранение результатов;
  • печать документа.

Рисунок 2.4 – Диаграмма последовательности для прецедента «Формирование «Инвентарной книги»» задачи «Движение библиотечного фонда»

2.5 ДИАГРАММА КОМПОНЕНТОВ И РАЗВЕРТЫВАНИЯ

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

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

Структурно программа реализована следующим образом:

Данные хранятся в таблицах БД MySQL.

Проект программы представлен 3-мя пакетами:

1) Вспомогательные классы

2) Классы реализации форм (пакет View).

3) библиотеки (jasperreports и др.)

Исполняемый файл Library.jar

Диаграмма компонентов, разработанная для данной задачи, реализована в двух вариантах и представлена на рисунке

- (1-ый вариант)

Логическое упрощенное представление реализации программы. Возможно даже не полное отражение и соответствие со структурой программы (см.выше), а просто возможно ли такое представление программы?

- (2-ой вариант)

Логически совпадает с существующей структурой программы (см.выше).


Данные хранятся в таблицах БД MySQL.(пакет Model)

Вспомогательные классы (пакет Control )

Классы реализации форм (пакет View).

Исполняемый файл Library.jar

Можно ли соединить DB MySQL с соответ-щим пакетом Model?

Разработка диаграммы развертывания осуществляется для моделирования требуемых устройств (сервер, рабочая станция клиента), драйвера (для работы с БД), процессов (реализуемых классами) и связи между ними.

Диаграмма развертывания, разработанная для данной задачи, представлена на рисунке:

(Программа основана на архитектуре клиент-сервер. В локальной сети: ПК сервер, ПК клиент, коммутатор)

Рисунок 2.5 − Диаграмма компонентов для задачи «Движение библиотечного фонда»

Рисунок 2.6− Диаграмма компонентов для задачи «Движение библиотечного фонда»

Рисунок 2.7 − Диаграмма развертывания для задачи «Движение библиотечного фонда»

Рисунок 2.8 − Диаграмма развертывания для задачи «Движение библиотечного фонда»

35

ЗАКЛЮЧЕНИЕ

Движение фонда – процесс поступления, перестановки и выбытия документов, итоги которого отражаются в учетной документации.

Итоги движения фондов подводятся в «Книге суммарного учета библиотечного фонда» (или другом регистре суммарного учета, принятом в библиотеке) на основании данных суммарного учета о поступлении и выбытии документов.

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

Итоговые данные по электронным сетевым документам удаленного доступа представляются следующими показателями учетных единиц: состояло на начало года, оформлено в доступ в течение года, доступ прекращен в течение года, состоит на конец года.

Сведения об итоговых данных фиксируются в форме государственной статистической отчетности №6-НК и представляются для целей государственной статистической отчетности.

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

Итоговые данные электронных сетевых документов удаленного доступа отражаются путем добавления к общим показателям библиотечного фонда через «+» количества пакетов и количества (в скобках) включенных в них документов.


СПИСОК ЛИТЕРАТУРЫ

  1. В.П. Агальцов. Базы данных. - Издательство «Мир», 2002 г. - 376 с.
  2. А. Горев, Р. Ахаян. Эффективная работа с СУБД. - Издательство «СПБ», 1997 г. - 445 с.
  3. Омельченко Л. Самоучитель Visual FoxPro 6.0. Издательство - «Петербург», 2000 г. - 512 с.
  4. ГОСТ Р ИСО/МЭК 12207/99. Государственный стандарт РФ. Информационная технология. Процессы жизненного цикла информационных систем. Издание официальное. - М., 1999
  5. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.
  6. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил
  7. Астелс, Дэвид; Миллер Гранвилл; Новак, Мирослав, Практическое руководство по экстремальному программированию, Пер. с англ. - М.: Издательский дом "Вильямс", 2008. - 320 с.: ил. - Парал. тит. англ

ПРИЛОЖЕНИЕ А - ЛИСТИНГ ПО

demo = uicontrol(fig_1,'String','Demo','callback',@demo_button_press,...

'Position',[20 5 60 20]);

rnd_demo = uicontrol(fig_1,'String','Random Move','callback',@rnd_demo_button_press,...

'Position',[100 5 80 20]);

clr_trail = uicontrol(fig_1,'String','Clr Trail','callback',@clr_trail_button_press,...

'Position',[200 5 60 20]);

%

home = uicontrol(fig_1,'String','Home','callback',@home_button_press,...

'Position',[280 5 70 20]);

%

% Kinematics Panel

%

K_p = uipanel(fig_1,...

'units','pixels',...

'Position',[20 45 265 200],...

'Title','Kinematics','FontSize',11);

%

% Angle Range Default Name

% Theta 1: 320 (-160 to 160) 90 Waist Joint

% Theta 2: 220 (-110 to 110) -90 Shoulder Joint

% Theta 3: 270 (-135 to 135) -90 Elbow Joint

% Theta 4: 532 (-266 to 266) 0 Wrist Roll

% Theta 5: 200 (-100 to 100) 0 Wrist Bend

% Theta 6: 532 (-266 to 266) 0 Wrist Swivel

t1_home = 90; % offset to define the "home" position as UP.

t2_home = -90;

t3_home = -90;

LD = 105; % Left, used to set the GUI.

HT = 18; % Height

BT = 156; % Bottom

%% GUI buttons for Theta 1. pos is: [left bottom width height]

t1_slider = uicontrol(K_p,'style','slider',...

'Max',160,'Min',-160,'Value',0,...

'SliderStep',[0.05 0.2],...

'callback',@t1_slider_button_press,...

'Position',[LD BT 120 HT]);

t1_min = uicontrol(K_p,'style','text',...

'String','-160',...

'Position',[LD-30 BT+1 25 HT-4]); % L, from bottom, W, H

t1_max = uicontrol(K_p,'style','text',...

'String','+160',...

'Position',[LD+125 BT+1 25 HT-4]); % L, B, W, H

t1_text = uibutton(K_p,'style','text',... % Nice program Doug. Need this

'String','\theta_1',... % due to no TeX in uicontrols.

'Position',[LD-100 BT 20 HT]); % L, B, W, H

% t1_text = uicontrol(K_p,'style','text',... % when matlab fixes uicontrol

% 'String','t1',... % for TeX, then I can use this.

% 'Position',[LD-100 BT 20 HT]); % L, B, W, H

t1_edit = uicontrol(K_p,'style','edit',...

'String',0,...

'callback',@t1_edit_button_press,...

'Position',[LD-75 BT 30 HT]); % L, B, W, H

%

%% GUI buttons for Theta 2.

BT = 126; % Bottom

t2_slider = uicontrol(K_p,'style','slider',...

'Max',115,'Min',-115,'Value',0,... % Mech. stop limits !


'SliderStep',[0.05 0.2],...

'callback',@t2_slider_button_press,...

'Position',[LD BT 120 HT]);

t2_min = uicontrol(K_p,'style','text',...

'String','-110',...

'Position',[LD-30 BT+1 25 HT-4]); % L, from bottom, W, H

t2_max = uicontrol(K_p,'style','text',...

'String','+110',...

'Position',[LD+125 BT+1 25 HT-4]); % L, B, W, H

t2_text = uibutton(K_p,'style','text',...

'String','\theta_2',...

'Position',[LD-100 BT 20 HT]); % L, B, W, H

t2_edit = uicontrol(K_p,'style','edit',...

'String',0,...

'callback',@t2_edit_button_press,...

'Position',[LD-75 BT 30 HT]); % L, B, W, H

%

%% GUI buttons for Theta 3.

BT = 96; % Bottom

t3_slider = uicontrol(K_p,'style','slider',...

'Max',135,'Min',-135,'Value',0,...

'SliderStep',[0.05 0.2],...

'callback',@t3_slider_button_press,...

'Position',[LD BT 120 HT]);

t3_min = uicontrol(K_p,'style','text',...

'String','-135',...

'Position',[LD-30 BT+1 25 HT-4]); % L, from bottom, W, H

t3_max = uicontrol(K_p,'style','text',...

'String','+135',...

'Position',[LD+125 BT+1 25 HT-4]); % L, B, W, H

t3_text = uibutton(K_p,'style','text',...

'String','\theta_3',...

'Position',[LD-100 BT 20 HT]); % L, B, W, H

t3_edit = uicontrol(K_p,'style','edit',...

'String',0,...

'callback',@t3_edit_button_press,...

'Position',[LD-75 BT 30 HT]); % L, B, W, H

%

%% GUI buttons for Theta 4.

BT = 66; % Bottom

t4_slider = uicontrol(K_p,'style','slider',...

'Max',266,'Min',-266,'Value',0,...

'SliderStep',[0.05 0.2],...

'callback',@t4_slider_button_press,...

'Position',[LD BT 120 HT]);

t4_min = uicontrol(K_p,'style','text',...

'String','-266',...

'Position',[LD-30 BT+1 25 HT-4]); % L, from bottom, W, H

t4_max = uicontrol(K_p,'style','text',...

'String','+266',...

'Position',[LD+125 BT+1 25 HT-4]); % L, B, W, H

t4_text = uibutton(K_p,'style','text',...

'String','\theta_4',...

'Position',[LD-100 BT 20 HT]); % L, B, W, H

t4_edit = uicontrol(K_p,'style','edit',...

'String',0,...

'callback',@t4_edit_button_press,...

'Position',[LD-75 BT 30 HT]); % L, B, W, H

%

%% GUI buttons for Theta 5.

BT = 36; % Bottom

t5_slider = uicontrol(K_p,'style','slider',...

'Max',100,'Min',-100,'Value',0,...

'SliderStep',[0.05 0.2],...

'callback',@t5_slider_button_press,...

'Position',[LD BT 120 HT]);

t5_min = uicontrol(K_p,'style','text',...

'String','-100',...

'Position',[LD-30 BT+1 25 HT-4]); % L, from bottom, W, H

t5_max = uicontrol(K_p,'style','text',...

'String','+100',...

'Position',[LD+125 BT+1 25 HT-4]); % L, B, W, H

t5_text = uibutton(K_p,'style','text',...

'String','\theta_5',...

'Position',[LD-100 BT 20 HT]); % L, B, W, H

t5_edit = uicontrol(K_p,'style','edit',...

'String',0,...

'callback',@t5_edit_button_press,...

'Position',[LD-75 BT 30 HT]); % L, B, W, H

%

%% GUI buttons for Theta 6.

BT = 6; % Bottom

t6_slider = uicontrol(K_p,'style','slider',...

'Max',266,'Min',-266,'Value',0,...

'SliderStep',[0.05 0.2],...

'callback',@t6_slider_button_press,...

'Position',[LD BT 120 HT]);

t6_min = uicontrol(K_p,'style','text',...

'String','-266',...

'Position',[LD-30 BT+1 25 HT-4]); % L, from bottom, W, H

t6_max = uicontrol(K_p,'style','text',...

'String','+266',...

'Position',[LD+125 BT+1 25 HT-4]); % L, B, W, H

t6_text = uibutton(K_p,'style','text',...

'String','\theta_6',...

'Position',[LD-100 BT 20 HT]); % L, B, W, H

t6_edit = uicontrol(K_p,'style','edit',...

'String',0,...

'callback',@t6_edit_button_press,...

'Position',[LD-75 BT 30 HT]); % L, B, W, H

%

%% Slider for Theta 1 motion.

%

function t1_slider_button_press(h,dummy)

slider_value = round(get(h,'Value'));

set(t1_edit,'string',slider_value);

T_Old = getappdata(0,'ThetaOld');

t2old = T_Old(2); t3old = T_Old(3); t4old = T_Old(4);

t5old = T_Old(5); t6old = T_Old(6);

pumaANI(slider_value+t1_home,t2old,t3old,t4old,t5old,t6old,10,'n')

end


%

%% Slider for Theta 2 motion.

%

function t2_slider_button_press(h,dummy)

slider_value = round(get(h,'Value'));

set(t2_edit,'string',slider_value);

T_Old = getappdata(0,'ThetaOld');

t1old = T_Old(1); t3old = T_Old(3); t4old = T_Old(4);

t5old = T_Old(5); t6old = T_Old(6);

pumaANI(t1old,slider_value+t2_home,t3old,t4old,t5old,t6old,10,'n')

end

%

%% Slider for Theta 3 motion.

function t3_slider_button_press(h,dummy)

slider_value = round(get(h,'Value'));

set(t3_edit,'string',slider_value);

T_Old = getappdata(0,'ThetaOld');

t1old = T_Old(1); t2old = T_Old(2); t4old = T_Old(4);

t5old = T_Old(5); t6old = T_Old(6);

pumaANI(t1old,t2old,slider_value+t3_home,t4old,t5old,t6old,10,'n')

end

%

%% Slider for Theta 4 motion.

function t4_slider_button_press(h,dummy)

slider_value = round(get(h,'Value'));

set(t4_edit,'string',slider_value);

T_Old = getappdata(0,'ThetaOld');

t1old = T_Old(1); t2old = T_Old(2); t3old = T_Old(3);

t5old = T_Old(5); t6old = T_Old(6);

pumaANI(t1old,t2old,t3old,slider_value,t5old,t6old,10,'n')

end

%

%% Slider for Theta 5 motion.

function t5_slider_button_press(h,dummy)

slider_value = round(get(h,'Value'));

set(t5_edit,'string',slider_value);

T_Old = getappdata(0,'ThetaOld');

t1old = T_Old(1); t2old = T_Old(2); t3old = T_Old(3);

t4old = T_Old(4); t6old = T_Old(6);

pumaANI(t1old,t2old,t3old,t4old,slider_value,t6old,10,'n')

end

%

%% Slider for Theta 6 motion.

function t6_slider_button_press(h,dummy)

slider_value = round(get(h,'Value'));

set(t6_edit,'string',slider_value);

T_Old = getappdata(0,'ThetaOld');

t1old = T_Old(1); t2old = T_Old(2); t3old = T_Old(3);

t4old = T_Old(4); t5old = T_Old(5);

pumaANI(t1old,t2old,t3old,t4old,t5old,slider_value,10,'n')

end

%

%% Edit box for Theta 1 motion.

%

function t1_edit_button_press(h,dummy)

user_entry = check_edit(h,-160,160,0,t1_edit);

set(t1_slider,'Value',user_entry); % slider = text box.

T_Old = getappdata(0,'ThetaOld'); % Current pose

%

t2old = T_Old(2); t3old = T_Old(3); t4old = T_Old(4);

t5old = T_Old(5); t6old = T_Old(6);

%

pumaANI(user_entry+t1_home,t2old,t3old,t4old,t5old,t6old,10,'n')

end

%

%% Edit box for Theta 2 motion.

%

function t2_edit_button_press(h,dummy)

user_entry = check_edit(h,-110,110,0,t2_edit);

set(t2_slider,'Value',user_entry); % slider = text box.

T_Old = getappdata(0,'ThetaOld'); % Current pose

%

t1old = T_Old(1); t3old = T_Old(3); t4old = T_Old(4);

t5old = T_Old(5); t6old = T_Old(6);

%

pumaANI(t1old,user_entry+t2_home,t3old,t4old,t5old,t6old,10,'n')

end

%% Edit box for Theta 3 motion.

%

function t3_edit_button_press(h,dummy)

user_entry = check_edit(h,-135,135,0,t3_edit);

set(t3_slider,'Value',user_entry); % slider = text box.

T_Old = getappdata(0,'ThetaOld'); % Current pose

%

t1old = T_Old(1); t2old = T_Old(2); t4old = T_Old(4);

t5old = T_Old(5); t6old = T_Old(6);

%

pumaANI(t1old,t2old,user_entry+t3_home,t4old,t5old,t6old,10,'n')

end

%%

%% Edit box for Theta 4 motion.

%

function t4_edit_button_press(h,dummy)

user_entry = check_edit(h,-266,266,0,t4_edit);

set(t4_slider,'Value',user_entry); % slider = text box.

T_Old = getappdata(0,'ThetaOld'); % Current pose

%

t1old = T_Old(1); t2old = T_Old(2); t3old = T_Old(3);

t5old = T_Old(5); t6old = T_Old(6);

%

pumaANI(t1old,t2old,t3old,user_entry,t5old,t6old,10,'n')

end

%% Edit box for Theta 5 motion.

%

function t5_edit_button_press(h,dummy)

user_entry = check_edit(h,-100,100,0,t5_edit);

set(t5_slider,'Value',user_entry); % slider = text box.

T_Old = getappdata(0,'ThetaOld'); % Current pose

%

t1old = T_Old(1); t2old = T_Old(2); t3old = T_Old(3);

t4old = T_Old(4); t6old = T_Old(6);

%

pumaANI(t1old,t2old,t3old,t4old,user_entry,t6old,10,'n')

end

%%

%% Edit box for Theta 6 motion.

%

function t6_edit_button_press(h,dummy)