Курсовая работа. 9. Разработка регламента выполнения процесса «Движение библиотеч. Курсовая работа по дисциплине Методы и средства проектирования информационных систем и технологий на тему Разработка регламента выполнения процесса Движение библиотечного фонда
Скачать 337.85 Kb.
|
ЗАКЛЮЧЕНИЕДвижение фонда – процесс поступления, перестановки и выбытия документов, итоги которого отражаются в учетной документации. Итоги движения фондов подводятся в «Книге суммарного учета библиотечного фонда» (или другом регистре суммарного учета, принятом в библиотеке) на основании данных суммарного учета о поступлении и выбытии документов. Итоговые данные имеют четыре обязательных показателя: состояло на начало года, поступило за год, выбыло за год, состоит на конец года. Итоговые данные по электронным сетевым документам удаленного доступа представляются следующими показателями учетных единиц: состояло на начало года, оформлено в доступ в течение года, доступ прекращен в течение года, состоит на конец года. Сведения об итоговых данных фиксируются в форме государственной статистической отчетности №6-НК и представляются для целей государственной статистической отчетности. Итоговые данные об обменном фонде и электронных сетевых локальных документов включаются в общие показатели библиотечного фонда. Итоговые данные электронных сетевых документов удаленного доступа отражаются путем добавления к общим показателям библиотечного фонда через «+» количества пакетов и количества (в скобках) включенных в них документов. СПИСОК ЛИТЕРАТУРЫВ.П. Агальцов. Базы данных. - Издательство «Мир», 2002 г. - 376 с. А. Горев, Р. Ахаян. Эффективная работа с СУБД. - Издательство «СПБ», 1997 г. - 445 с. Омельченко Л. Самоучитель Visual FoxPro 6.0. Издательство - «Петербург», 2000 г. - 512 с. ГОСТ Р ИСО/МЭК 12207/99. Государственный стандарт РФ. Информационная технология. Процессы жизненного цикла информационных систем. Издание официальное. - М., 1999 Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил Астелс, Дэвид; Миллер Гранвилл; Новак, Мирослав, Практическое руководство по экстремальному программированию, Пер. с англ. - М.: Издательский дом "Вильямс", 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) user_entry = check_edit(h,-266,266,0,t6_edit); set(t6_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); t5old = T_Old(5); % pumaANI(t1old,t2old,t3old,t4old,t5old,user_entry,10,'n') end %% function user_entry = check_edit(h,min_v,max_v,default,h_edit) % This function will check the value typed in the text input box % against min and max values, and correct errors. % % h: handle of gui % min_v min value to check % max_v max value to check % default is the default value if user enters non number % h_edit is the edit value to update. % user_entry = str2double(get(h,'string')); if isnan(user_entry) errordlg(['You must enter a numeric value, defaulting to ',num2str(default),'.'],'Bad Input','modal') set(h_edit,'string',default); user_entry = default; end % if user_entry < min_v errordlg(['Minimum limit is ',num2str(min_v),' degrees, using ',num2str(min_v),'.'],'Bad Input','modal') user_entry = min_v; set(h_edit,'string',user_entry); end if user_entry > max_v errordlg(['Maximum limit is ',num2str(max_v),' degrees, using ',num2str(max_v),'.'],'Bad Input','modal') user_entry = max_v; set(h_edit,'string',user_entry); end end % %% Demo button's callback function demo_button_press(h,dummy) % % disp('pushed demo bottom'); % R = 500; % x = 1000; n = 2; % demo ani steps num = 30; % home to start, and end to home ani steps % j = 1; % M = 1000; for t = 0:.1:7*pi Px = 30*t*cos(t); Py = 1200-300*t*(t)/(50*pi); Pz = 30*t*sin(t); [theta1,theta2,theta3,theta4,theta5,theta6] = PumaIK(Px,Py,Pz); if t==0 %move to start of demo pumaANI(theta1,theta2,theta3-180,0,0,0,num,'n') end % Theta 4, 5 & 6 are zero due to plotting at wrist origen. pumaANI(theta1,theta2,theta3-180,0,0,0,n,'y') set(t1_edit,'string',round(theta1)); % Update slider and text. set(t1_slider,'Value',round(theta1)); set(t2_edit,'string',round(theta2)); set(t2_slider,'Value',round(theta2)); set(t3_edit,'string',round(theta3-180)); set(t3_slider,'Value',round(theta3-180)); end gohome % pumaANI(90,-90,-90,0,0,0,num,'n') end % % %% function home_button_press(h,dummy) %disp('pushed home bottom'); gohome end % %% function clr_trail_button_press(h,dummy) %disp('pushed clear trail bottom'); handles = getappdata(0,'patch_h'); % |