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

Автор: Пользователь скрыл имя, 02 Мая 2012 в 20:43, дипломная работа

Описание работы

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

Содержание

Введение ………………………………………………………………………….3
1 Становление программно дистанционного комплекса обучения ……...........7
1.1 Развитие ПКДО в мире…………………………………………….....7
1.2 Потребители ПКДО………………………………………………....10
1.3 Особенности дистанционного обучения ………………………......14
2 Построение программно дистанционного комплекса обучения ………......19
2.1 Этап первый. Техническое задание ……………………………..…19
2.2 Этап второй. Методы тестирования и отладки ……………..…….32
2.3 Этап третий. Выбор операционной системы …………………..….34
3 Разработка программного комплекса дистанционного обучения …….……Х
3.1 Представление, описание и области применения Тест – программы ……………………………………………………………………….37
3.2 Алгоритм решения поставленной задачи…………….……………38
3.3 Описание интерфейса программного продукта…………………...39
4 Организационно - экономическая часть…..…………………………………45
4.1 Предварительная оценка научно-технической результативности разработки ПП …………………………………………………………………..45
4.2 Краткая характеристика разрабатываемого программного продукта и этапов разработки …...……………………………………………..46
4.3 Определение трудоемкости разработки ПП ………………………47
4.4 Распределение трудоемкости по этапам разработки и определение состава исполнителей ……………………………………………………………48
4.5 Расчет сметной стоимости и договорной цены разработки программного продукта……………………………………………………...…..50
4.6 Анализ конкурентоспособности разрабатываемого программного продукта……………………………………………………………….…………57
4.6.1 Анализ технической прогрессивности разрабатываемого программного продукта………………………………………………………....58
4.6.2 Анализ изменения функциональных возможностей разрабатываемого ПП……………………………………………………………59
4.6.3 Анализ соответствия разрабатываемого ПП нормативам………60
4.6.4 Оценка годовых эксплутационных издержек пользователя программного продукта………………………………………………………....61
4.6.5 Анализ экономических параметров………………………………63
4.6.6 Срок окупаемости программного продукта……………………..64
5 Безопасность и экологичность………………………………………………..66
5.1 Анализ опасных и вредных факторов, воздействующих на абитуриента при работе с тестирующей программой………………………...66
5.2 Опасность повышенного уровня напряженности электромагнитного поля…………………………………………………...........67
5.3 Воздействие шума на абитуриента. Защита от шума……………..69
5.4 Выбор цветовой гаммы в аудиториях……………………………...70
5.5 Освещение рабочего места………………………………………....71
5.6 Микроклимат рабочей зоны абитуриента…………………………73
5.7 Электробезопасность. Статическое электричество……………….73
5.7.1Обеспечение электробезопасности техническими способами и средствами……………………………………………………………………….75
5.7.2 Организационные и технические мероприятия по обеспечению электробезопасности...............................................……………………………..76
5.8 Оценка условий труда……………………………………………….76
5.9 Пожаробезопасность………………………………………………...79
5.9.1 Причины возникновения пожара…………………………………80

5.9.2 Профилактика пожара……………………………………………..81
Заключение………………………………………………………………84
Список использованной литературы……………………

Работа содержит 1 файл

Диплом005.doc

— 1.83 Мб (Скачать)

    procedure FormShow(Sender: TObject);

   

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  frmNewUser: TfrmNewUser;

 

implementation

 

uses UnitDataModule, TSUnitmain;

 

{$R *.dfm}

 

procedure TfrmNewUser.ButtonOkClick(Sender: TObject);

var mySQL_script1,mySQL_script2,mySQL_script3,UserTolerance: string;

    mySQL_script_ts1,mySQL_script_ts2: string;

    mySQL_script_mysql1,mySQL_script_mysql2: string;

 

begin

    //получаем значенте UserTolerance

    UserTolerance:= 'допущен';

 

    mySQL_script1:= 'insert into Users ('+

    'UserOrganization,UserAtribute,UserCourse,UserGroup,UserSubgroup,'+

   'UserName,UserTolerance,UserUpDate,UserMaster ) values '+

   ' ('''+ComboBoxUserOrganization.Text+''','''+ComboBoxUserAtribute.Text+

   ''','''+ComboBoxUserCourse.Text+''','''+ComboBoxUserGroup.Text+''','''+ComboBoxUserSubgroup.Text+

   ''','''+EditUserName.Text+''','''+UserTolerance+''','''+

   DateToMySQL(DateToStr(now))+''','''+UserName+''')';

 

   mySQL_script2 := 'INSERT INTO user (Host,User,Password,Reload_priv) '+

                                'VALUES(''localhost'','''+EditUserName.Text+''',PASSWORD('''+EditUserPassword.text+'''),''Y'')';

   mySQL_script3 := 'INSERT INTO user (Host,User,Password) '+

                                'VALUES(''%'','''+EditUserName.Text+''',PASSWORD('''+EditUserPassword.text+'''))';

   {

   mySQL_script5 := ' GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP '+

         ' ON ts.* TO '+EditUserName.Text+'@localhost '+

         ' IDENTIFIED BY '''+EditUserPassword.text+'''';

 

    mySQL_script4 := ' GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP '+

         ' ON ts.* TO '+EditUserName.Text+'@''%'' '+

         ' IDENTIFIED BY '''+EditUserPassword.text+'''';

   }

   mySQL_script_ts1 := 'INSERT INTO mysql.db '+

       '(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv)'+

       'VALUES(''localhost'',''ts'','''+EditUserName.Text+''',''Y'',''Y'',''Y'',''Y'')';

   mySQL_script_ts2 := 'INSERT INTO mysql.db '+

       '(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv)'+

       'VALUES(''%'',''ts'','''+EditUserName.Text+''',''Y'',''Y'',''Y'',''Y'')';

 

   mySQL_script_mysql1 := 'INSERT INTO mysql.db '+

       '(Host,Db,User,Insert_priv,Update_priv,Delete_priv)'+

       'VALUES(''localhost'',''mysql'','''+EditUserName.Text+''',''Y'',''Y'',''Y'')';

 

   mySQL_script_mysql2 := 'INSERT INTO mysql.db '+

       '(Host,Db,User,Insert_priv,Update_priv,Delete_priv)'+

       'VALUES(''%'',''mysql'','''+EditUserName.Text+''',''Y'',''Y'',''Y'')';

 

   if (EditUserName.Text <>'') and (ComboBoxUserOrganization.Text <> '') and (ComboBoxUserAtribute.Text <> '')

      then

        begin

          // Вносим пользователя в mySQL

          runSQLScript(mySQL_script2,'mysql','');

          runSQLScript(mySQL_script3,'mysql','');

          {runSQLScript('FLUSH PRIVILEGES','mysql','');}

          //устанавливаем привелегии доступа к базе Ts

          runSQLScript(mySQL_script_ts1,'mysql','');

          runSQLScript(mySQL_script_ts2,'mysql','');

          {runSQLScript('FLUSH PRIVILEGES','mysql','');}

          //устанавливаем привелегии доступа к базе mysql

          runSQLScript(mySQL_script_mysql1,'mysql','');

          runSQLScript(mySQL_script_mysql2,'mysql','');

          runSQLScript('FLUSH PRIVILEGES','mysql','');

          // Вносим информацию о пользователе в таблицу Users базы Ts

          runSQLScript(mySQL_script1,'Ts','');

        end;

 

    frmNewUser.Close;

    //DataModuleTs.mySQLTableUsers.Refresh;

    DataModuleTs.ClientDataSetUsers.Refresh;

 

end;

 

procedure TfrmNewUser.FormShow(Sender: TObject);

begin

   ComboBoxUserOrganization.Text:= '';

   ComboBoxUserAtribute.ItemIndex :=0;

   ComboBoxUserCourse.Text :='';

   ComboBoxUserGroup.Text :='';

   ComboBoxUserSubgroup.Text :='';

   EditUserName.Text :='';

   EditUserPassword.Text :='';

 

   if DataModuleTs.ClientDataSetUsers.RecordCount > 0

    then

      begin

        //заполняем ComboBoxUserOrganization.items

        DataModuleTs.ClientDataSetUsers.First;

        while not DataModuleTs.ClientDataSetUsers.Eof

         do

          begin

            ComboBoxUserOrganization.Items.Add(DataModuleTs.ClientDataSetUsers.FieldByName('UserOrganization').AsString);

            DataModuleTs.ClientDataSetUsers.Next;

          end;{while}

        //заполняем ComboBoxUserCourse.items

        DataModuleTs.ClientDataSetUsers.First;

        while not DataModuleTs.ClientDataSetUsers.Eof

         do

          begin

            ComboBoxUserCourse.Items.Add(DataModuleTs.ClientDataSetUsers.FieldByName('UserCourse').AsString);

            DataModuleTs.ClientDataSetUsers.Next;

          end;{while}

        //заполняем ComboBoxUserGroup.items

        DataModuleTs.ClientDataSetUsers.First;

        while not DataModuleTs.ClientDataSetUsers.Eof

         do

          begin

            ComboBoxUserGroup.Items.Add(DataModuleTs.ClientDataSetUsers.FieldByName('UserGroup').AsString);

            DataModuleTs.ClientDataSetUsers.Next;

          end;{while}

        //заполняем ComboBoxUserSubgroup.items

        DataModuleTs.ClientDataSetUsers.First;

        while not DataModuleTs.ClientDataSetUsers.Eof

         do

          begin

            ComboBoxUserSubgroup.Items.Add(DataModuleTs.ClientDataSetUsers.FieldByName('UserSubgroup').AsString);

            DataModuleTs.ClientDataSetUsers.Next;

          end;{while}

      end;{if}

end;

 

end.

unit QuestionUnit;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ComCtrls, StdCtrls;

 

type

  TFormQuestion = class(TForm)

    GroupBox: TGroupBox;

    StatusBar: TStatusBar;

   

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FormQuestion: TFormQuestion;

 

implementation

 

{$R *.dfm}

unit TSUnitmain;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Menus, ComCtrls, StdCtrls, Grids, DBGrids;

 

type

  TTSmain = class(TForm)

    TSmainStatusBar: TStatusBar;

    TSMainMenu: TMainMenu;

    Window1: TMenuItem;

    Show1: TMenuItem;

    Hide1: TMenuItem;

    N1: TMenuItem;

    ArrangeAll1: TMenuItem;

    Help1: TMenuItem;

    About1: TMenuItem;

    N2: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    N8: TMenuItem;

    N9: TMenuItem;

    GroupBox: TGroupBox;

    DBGridMain: TDBGrid;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    N10: TMenuItem;

    N11: TMenuItem;

    N12: TMenuItem;

    N13: TMenuItem;

    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

    procedure N6Click(Sender: TObject);

    procedure FormShow(Sender: TObject);

    procedure N9Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N12Click(Sender: TObject);

    procedure N13Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  TSmain: TTSmain;

  logonError: boolean;

  UserName,UserHost,UserPassword,UserAtribute : string;

 

resourcestring

   sText = 'Действительно хотите закрыть приложение?';

 

implementation

 

uses NewUserUnit, UnitDataModule, QuestionsUnit, FormTestUnit;

 

{$R *.dfm}

 

procedure TTSmain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

   canClose := MessageDlg(sText,mtConfirmation,mbYesNoCancel,0)= mrYes

   //DataModuleTs.SQLConnectionTs.Connected:= false;

end;

 

procedure TTSmain.N6Click(Sender: TObject);

begin

  //connect ts

  if not frmNewUser.Visible then frmNewUser.ShowModal;

  TSmain.GroupBox.Caption:= '  Общие списки  ';

  TSmain.DBGridMain.DataSource:=DataModuleTs.DataSourceUsers;

  TSmain.DBGridMain.Visible:= true;

end;

 

procedure TTSmain.FormShow(Sender: TObject);

begin

  runSQLConnectionTs;

  //извлекаем UserAtribute из таблицы ts.users

  runSQLScriptQuery('SELECT UsersId,UserName,UserAtribute FROM ts.users WHERE UserName= '''+UserName+'''');

 

  TSmain.DBGridMain.Visible:= false;

  TSmain.TSmainStatusBar.Panels[0].Text:= ' :: '+ UserAtribute;

  TSmain.TSmainStatusBar.Panels[1].Text:= '  '+DateToStr(now);

  TSmain.TSmainStatusBar.Panels[2].Text:= '  Пользователь : '+ UserName;

end;

 

procedure TTSmain.N9Click(Sender: TObject);

begin

   TSmain.DBGridMain.DataSource:=DataModuleTs.DataSourceUsers;

   TSmain.GroupBox.Caption:= '  Общие списки  ';

   TSmain.DBGridMain.Visible:= true;

end;

 

procedure TTSmain.N4Click(Sender: TObject);

begin

  if not FormQuestions.Visible then FormQuestions.ShowModal;

  TSmain.DBGridMain.DataSource:=DataModuleTs.DataSourceQuestions;

  TSmain.GroupBox.Caption:= '  Все вопросы  ';

  TSmain.DBGridMain.Visible:= true;

end;

 

procedure TTSmain.N12Click(Sender: TObject);

begin

  TSmain.DBGridMain.DataSource:=DataModuleTs.DataSourceQuestions;

  TSmain.GroupBox.Caption:= '  Все вопросы  ';

  TSmain.DBGridMain.Visible:= true;

end;

 

procedure TTSmain.N13Click(Sender: TObject); //сама FormTest

 

begin

  if not FormTest.Visible then FormTest.ShowModal;

end;

 

end.

end.

 

 

107

 



Информация о работе Программный комплекс дистанционного обучения