Анализ предметной области

Автор работы: Пользователь скрыл имя, 18 Апреля 2013 в 20:43, курсовая работа

Краткое описание

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

Содержание

Введение 1
1. Анализ предметной области. 5
2. Концептуальная модель 7
3. Инфологическая модель 9
4. Реляционная модель 12
5. Даталогическое проектирование базы данных 15
6. Запросы 17
7. Защита данных 22
8. Требования к техническому обеспечению 25
9. Инструкция пользователя 26
10. Технико-экономический эффект 28
Вывод 29
Список используемой литературы 31

Прикрепленные файлы: 1 файл

Курсовик.doc

— 268.50 Кб (Скачать документ)

Реляционная структура  базы данных моего курсового проекта  представлена на рисунке 2.

 

 

Рис2.

 

 

 

 

 

 

 

  1. Даталогическое проектирование базы данных

 

Содержанием даталогического  проектирования является определение  модели данных. Модель данных - это набор  соглашений по способам представления  сущностей, связей, агрегатов, системы классификации. Кроме этого каждая модель данных определяет особенности выполнения основных операций над данными:

  • добавление,
  • удаление,
  • модификация,
  • выборка.

Особое внимание при  построении модели уделяют целостности  и отсутствию избыточности данных. Избыточность - это многократное повторение одних и тех же данных. Например, рассмотрим ИС, в которой регистрируются торговые операции. Имеется ряд организаций, которые играют роль продавцов или покупателей некоторых товаров. В ИС регистрируются все факты продаж. Если в БД имеется несколько описаний одного и того же продавца, то все экземпляры этих описаний, кроме одного будут избыточными. Однако, при регистрации продаж необходимо указывать продавца. В результате при регистрации нескольких продаж одного продавца в БД будет несколько упоминаний (ссылок) на данного продавца. Очевидно, что эти упоминания не являются избыточными. Приведенные примеры показывают, что проблема избыточности не является такой тривиальной, как это кажется на первый взгляд, и требует специальных методов решения.

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

 

 

 

Таблица 2 – Описание таблиц БД

Таблица

Поля

Тип поля (размер)

Вопросы

Id

числовое

Quest

Текстовое

Var1

Текстовое(255)

Var2

Текстовое(255)

Var3

Текстовое(255)

Var4

Текстовое(255)

Otv

текстовое(255)

Пользователи

Id

Числовое

Name

Текстовое(255)

Username

Текстовое(255)

Pass

Текстовое(255)

Privaces

Числовое(1)

N_quest

Числовое(40)

Right

Числовое(40)

Сообщения

Id_table

Числовое 

Id

Числовое

Post

Текст

time

Текстовое(255)


 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Запросы

 

Для разработки и использования  БД необходимы соответствующие программные инструменты. Мною был использовании такой инструмент как MyPHPAdmin, которое взаимодействует с MySQL. Использование же MySQL обусловлено следующими факторами:

1. Она распространяется  бесплатно;

2. Работает на Windows и NIX платформах;

3. Основной язык запросов – SQL, это мощный, в тоже время простой язык для быстрого построения запросов;

4. Способна работать  с вебсервером Apache и PHP, что позволяет работать с базой на всех компьютерах сети, не устанавливая дополнительного программного обеспечения;

5. Легкая интеграция с C++, что позволит в будущем модернизировать и расширять систему.

Решающим фактором при  выборе – была интеграция с Apache и PHP. Так как МГОУ имеет сервер и компьютеры, подключенные по локальной сети к нему, то имеет смысл производить разработку программы на php. Как было сказано выше, запрос данных происходит путем запроса на языке SQL. Код SQL вставляется в php скрипт.

Приведем некоторые  примеры организации доступа  к базе данных через язык запросов sql , интегрированный в код программы на PHP:

Для формирования списка пользователей, а также добавления или удаления одного из них используется следующий скрипт:

session_start();

  $server="localhost";

  $user="root";

  $db="univer";

  mysql_connect($server,$user);

  mysql_select_db($db);

$r=mysql_query("SELECT * FROM polzovatel");

     while($row=mysql_fetch_array($r))

         {

          if ($_SESSION[loged]<>$row[name])

          {

           echo"<option value=$row[id]>$row[name]</option>";

          }

         }

     echo"</select>

          <input type=submit name=delete value=Удалить!>

          </form>";

     if (isset($_POST[delete]))

         {

          mysql_query("DELETE FROM polzovatel WHERE id=$_POST[user_delete]");

 

         }

     echo"<a href=index.php>На главную</a>";

  if (isset($_POST[go]))

  {

   $priv=$_POST[priv];

   $pass=md5(md5($_POST[password]).md5($_POST[username]));

   $qry="INSERT INTO polzovatel(name,username,pass,privaces)VALUES('$_POST[name]','$_POST[username]','$pass',$priv)";

   mysql_query($qry);

  }

  }

  else {Header("Location:index.php");}

 

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

$server="localhost";

    $user="root";

    $db="univer";

    mysql_connect($server,$user);

    mysql_select_db($db);

if($_SESSION[loged]<>"")

{   echo"<body background=1.jpg link=white vlink=white text=white>";

    if ($_POST[$vibor]<>"download")

 

{Echo"<h2>Здесь, $_SESSION[loged], Вы можете оставить свой отзыв:</h2>

       <hr width=100% color=silver>

       <form action=guestpage.php method=post>

       <textarea cols=80 rows=20 name=text>";

  if ($_POST[vibor]==download)

   {

    $r=mysql_query("SELECT * FROM posts");

    $l=mysql_query("SELECT * FROM polzovatel WHERE id=$_SESSION[id]");

    $n=0;

    while ($row=mysql_fetch_array($r))

    {

     $n++;

     $low=mysql_fetch_array($l);

     $text="Пост был оставлен $low[name] в $row[time] Текст:&laquo;$row[post]&raquo;";

     echo"$text\n\n";

    }

  }

  echo"</textarea><br>";}

       if ($_SESSION[priv]==1){echo "Загрузить LOG<input type=radio name=vibor value=download>

                              Добавить коммент<input type=radio name=vibor value=load>

                              Очистить LOG комментов<input type=radio name=vibor value=clear>";}

      echo"<input type=submit name=go value=Отправить></form>

            <br><br><br><a href=index.php>На главную</a>";

  if (isset($_POST[go]))

  {

    if(($_POST[vibor]==load)or($_SESSION[priv]==0))

    {

     $hours=date(H);

     $minutes=date(i);

     $day=date(d);

     $month=date(m);

     $year=date(Y);

     $time="$hours:$minutes==>$day,$month,$year";

     $table="INSERT INTO POSTS(id, post, time) VALUES('$_SESSION[id]','$_POST[text]','$time')";

     mysql_query($table);

    }

    if ($_POST[vibor]=="clear")

    {

      $r=mysql_query("SELECT * FROM posts");

      $n=0;

      while ($row=mysql_fetch_array($r))

      {

       $n++; mysql_query("DELETE FROM posts WHERE id_table=$n");

      }

 

  }

}

}

Таким образом, используя  похожие скрипты, появляется возможность реализовывать такие возможности как:

  1. Формирование тестовых вопросов
  2. Редактирование тестовых вопросов
  3. Добавление вопросов.
  4. Добавление и удаление новых пользователей
  5. Работа со статусами пользователей
  6. Добавление комментариев к проекту
  7. Вывод комментариев на экран администратора.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Защита данных

 

Постоянные предложения  приобрести различные (в большинстве  своем ведомственные) базы данных свидетельствуют  о том, что продажа конфиденциальных сведений о гражданах и юридических  лицах стала отдельным видом бизнеса. Если появление очередной опубликованной базы для граждан является просто еще одним малоприятным фактом обнародования сведений об их частной жизни, то на некоторых предприятиях это может отрицательно повлиять на бизнес.

Защита баз данных является одной из самых сложных задач, стоящих перед подразделениями, отвечающими за обеспечение информационной безопасности. С одной стороны, для работы с базой необходимо предоставлять доступ к данным всем сотрудникам, кто по долгу службы должен осуществлять сбор, обработку, хранение и передачу конфиденциальных данных. С другой стороны, укрупнение баз данных далеко не всегда имеет централизованную архитектуру (наблюдается ярко выраженная тенденция к территориально распределенной системе), в связи с чем действия нарушителей становятся все более изощренными. При этом четкой и ясной методики комплексного решения задачи защиты баз данных, которую можно было бы применять во всех случаях, не существует, в каждой конкретной ситуации приходится находить индивидуальный подход.

Защита данных в курсовом проекте осуществляется следующим  методом:

Защита данных на сервере  ложится на обслуживающий персонал сервера, т.к разработчиком предполагается распространение программного обеспечения  на многие компьютеры, к которым  зачастую у него не будет доступа.

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

Для наглядности можно  предоставить код страницы авторизации:

session_start();

   if((!isset($_POST[go]))and($_SESSION["loged"]==""))

   {echo "<h2>Please,Login:</h2><form action=index.php method=post>

          <input type=text name=name> <br>

          <input type=password name=password><br>

          <input type=submit name=go>

          </form>";    }

     if ($_SESSION["loged"]=="")

     {

    $server="localhost";

    $user="root";

    $db="univer";

    mysql_connect($server,$user);

    mysql_select_db($db);

    $table="SELECT * FROM polzovatel WHERE username='$_POST[name]'";

    $l=mysql_query($table);

    $row=mysql_fetch_array($l);

   if (isset($_POST[go]))

   {

    if ($row[username]==""or($row[pass]!=md5(md5($_POST[password]).md5($_POST[name]))))

      {

       echo "<font color=red size=7>Wrong Username or Password!<br>

             Acces Denied </font>";

      }

      else

         {

 

          $_SESSION["loged"]=$row[name];

          $_SESSION["id"]=$row[id];

          $_SESSION["priv"]=$row[privaces];

          $_SESSION[quest_id]=$row[n_quest];

          $_SESSION[good]=$row[good];

         }

          }

       }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Требования к техническому обеспечению

 

Так как особенность php скриптов заключается в том, что они исполняются непосредственно на стороне сервера, то можно сделать вывод о том, что техническое обеспечение сервера зависит только лишь от количества скриптов (а это значит и пользователей), которые ему необходимо одновременно обработать.

Для данного программного обеспечения в качестве сервера  можно использовать вполне обычный  офисных компьютер со среднестатическими характеристиками:

- Процессор 2.4 Гц

-256 Мб ОЗУ

- 50 Мб свободного дискового  пространства

-Сетевая карта

 

Техническое обеспечение  же компьютера-клиента может быть практически любым, основное условие  заключается лишь в том, что на компьютере-клиенте должна быть установлена  сетевая карта.

Все программные требования заключаются в том, что на компьютере должен быть установлен InternetExplorer не ниже шестой версии, а также должен быть обеспечен доступ к серверу по сети.

Информация о работе Анализ предметной области