Учет учебных материалов кафедры

Автор работы: Пользователь скрыл имя, 18 Января 2013 в 03:48, дипломная работа

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

Разработанная программа является программным средством для реализации учета, контроля, анализа и оптимизации учебных материалов на кафедре ИТ-4. Необходимо было создать гибкую систему, позволяющую легко адаптироваться к нуждам кафедры, а так же которая легко могла бы быть интегрирована в уже существующую инфраструктуру кафедры. Программа разработана для работы с базой данных MySQL. Информационный модуль работы с базой данных написан на языке программирования PHP с использованием Фреймворка CodeIgniter.
Цель программы - обеспечить персонал кафедры комплексным и качественным программным продуктом для работы как с уже имеющимися базами данных учебных материалов, так и для внесения и учета новых поступлений.

Содержание

Введение 5
1 Исследовательский раздел 7
1.1 Анализ существующих форматов представления данных 7
1.2. Обоснование выбора программно-аппаратных средств 13
1.2.1 Технология SQL – выбор СУБД 13
1.2.2 Выбор языка программирования – PHP 18
1.2.3 Выбор среды программирования – Фреймворк CodeIgniter 21
1.3 Развернутое техническое задание 22
1.3.1 Общие сведения 22
1.3.2 Назначение программы 22
Состав работ проектирования программного модуля 23
1.3.4 Требования к программе или программному изделию 24
1.3.4.1 Требования к функциональным характеристикам 24
1.3.4.2 Исходные данные 24
1.3.4.3 Организация входных и выходных данных 25
1.3.4.4 Требования к надежности 25
1.3.4.5 Требования к составу и параметрам технических средств 25
1.3.4.6 Требования к программной совместимости 26
1.3.5 Требования к программной документации 26
2 Специальный раздел 27
2.1 Разработка структурной схемы программы 27
2.2 Разработка структуры базы данных программы 30
2.3 Разработка модели информационных потоков базы данных 34
2.4 Разработка алгоритмического обеспечения 36
2.5 Разработка интерфейса программы 39
3 Технологический раздел 44
3.1 Технология разработки программы 44
3.1.1 Создание веб-страниц с помощью языка HTML 44
3.1.2 Основы работы web-сервера 45
3.1.3 Объектно-ориентированный подход к программированию на PHP 46
3.1.5 Инструментарий совместной разработки Subversion 50
3.1.6 Интегрированная среда разработки Zend Studio 51
3.2 Технология тестирования программы 51
3.2.1 Отладка кода с помощью Zend Debugger 58
3.2.2 Автоматизированное тестирование программы – SimpleTest 60
4 Безопасность жизнедеятельности 64
4.1 Анализ опасных и вредных факторов, возникающих при работе на ПЭВМ 64
4.1.1 Физиологические опасные и вредные факторы, действующие на операторов ПЭВМ 64
4.1.2 Психофизиологические опасные и вредные факторы 65
4.2 Разработка технических, организационных и профилактических мероприятий по каждому опасному и вредному фактору 66
4.2.1 Организация рабочего места оператора ЭВМ. Профилактика СДСН 66
4.2.2 Эргономика дисплея. Профилактика СДЗН 68
4.2.3 Эргономика устройств ввода информации. Профилактика СЗКП 70
4.2.4 Оптимальный режим работы. Профилактика СДПН 72
4.2.5 Контроль микроклимата в помещениях оборудованных ПЭВМ. Профилактика СНИК 73
4.3 Экологическая оценка и переработка (утилизация) материалов используемых в помещениях, где установлена компьютерная техника 75
4.3.1 Утилизация и переработка ртути в люминесцентных лампах 77
5 Экономическая часть 80
5.1 Планирование разработки автоматизированной системы с построением графика выполнения работ 80
5.1.1 Определение этапов и работ по созданию программного средства 80
5.1.2 Расчет трудоемкости и продолжительности работ 82
5.1.3 Построение графика разработки программного продукта 85
5.2 Расчет затрат на разработку 87
5.2.1 Расчет затрат на разработку программного продукта 87
5.3 Расчет основных технико-экономических показателей и эффективности использования программного продукта 91
5.3.1 Оценка экономической эффективности проекта 97
Заключение 102
Список использованных источников 104
Приложение A. Исходный код программы с комментариями 106
Приложение Б. Графический материал 115

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

Release.doc

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

| APPPATH - The full server path to the "application" folder

|

*/

define('EXT', '.'.pathinfo(__FILE__, PATHINFO_EXTENSION));

define('FCPATH', __FILE__);

define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));

define('BASEPATH', $system_folder.'/');

 

if (is_dir($application_folder))

{

define('APPPATH', $application_folder.'/');

}

else

{

if ($application_folder == '')

{

$application_folder = 'application';

}

 

define('APPPATH', BASEPATH.$application_folder.'/');

}

 

/*

|---------------------------------------------------------------

| LOAD THE FRONT CONTROLLER

|---------------------------------------------------------------

|

|

*/

require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;

 

/* End of file index.php */

/* Location: ./index.php */

 

 

 

Листинг layout_main.php

 

<html>

<head>

<title><?php if (isset($title_for_layout)) { echo $title_for_layout;} ?></title>

<link rel="shortcut icon" href="/favicon.ico" />

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

<!-- CSS for JQuery UI -->

<link rel="stylesheet" type="text/css" href="/theme/jquery-ui-1.7.custom.css" />

<!-- *******************-->

<link rel="stylesheet" type="text/css" href="/css/reset.css" />

<link rel="stylesheet" type="text/css" href="/css/ext.css" />

<script type="text/javascript" src="/jquery.js"></script>

<script type="text/javascript" src="/jquery.ui.js"></script>

<script type="text/javascript" src="/ui.datepicker-ru.js"></script>

</head>

 

<body>

 

<div id="header_logo">&nbsp;</div><div id="header"><h2>Библиотека кафедры ИТ-4</h2></div>

 

<div id="menu">

<a class="menu_item" href="/library/">Главная</a><br />

<a class="menu_item" href="/library/sprv">Справочники</a><br />

<a class="menu_item" href="/library/books">Книги</a><br />

<a class="menu_item" href="/library/books/search">Поиск книг</a><br />

</div>

 

<div id="content">

<?php echo $content_for_layout; ?>

</div>

 

<div id="footer"><?php echo date('Y'); ?> &copy;&nbsp;ИТ-4&nbsp;</div>

 

</body>

</html>

 

Листинг layout.php

 

<?php 

if (!defined('BASEPATH')) exit('No direct script access allowed');

 

class Layout

{

   

    var $obj;

    var $layout;

   

    function Layout($layout = "layout_main")

    {

        $this->obj =& get_instance();

        $this->layout = $layout;

    }

 

    function setLayout($layout)

    {

      $this->layout = $layout;

    }

   

    function view($view, $data=null, $return=false)

    {

        $loadedData = array();

        $loadedData['content_for_layout'] = $this->obj->load->view($view,$data,true);

       

        if($return)

        {

            $output = $this->obj->load->view($this->layout, $loadedData, true);

            return $output;

        }

        else

        {

            $this->obj->load->view($this->layout, $loadedData, false);

        }

    }

}

?>

 

 

Листинг sprv.php

<?php

 

class Sprv extends Controller {

 

function Sprv()

{

parent::Controller();

$this->load->model('Sprv_db');

}

 

// Список справочников

function index()

{

$this->layout->view('sprv_list');

}

 

// Справочник разделов

function sections() {

$this->layout->view('sprv_sections');

}

 

// Справочник дисциплин

function disciplines() {

$data['disciplines'] = $this->Sprv_db->get_disciplines();

$this->layout->view('sprv_disciplines', $data);

}

 

function disciplines_add()

{

if ($this->input->post('name') != FALSE && $this->input->post('code') != FALSE)

$this->Sprv_db->add_discipline($this->input->post('name'), $this->input->post('code'));

 

redirect('/sprv/disciplines');

}

 

function disciplines_del($id)

{

$this->Sprv_db->del_discipline($id);

redirect('/sprv/disciplines');

}

 

function disciplines_edit($id)

{

if ($this->input->post('name') != FALSE && $this->input->post('code') != FALSE) {

$this->Sprv_db->save_discipline($this->input->post('name'), $this->input->post('code'), $id);

redirect('/sprv/disciplines');

return;

}

 

$data['discipline'] = $this->Sprv_db->get_discipline_by_id($id);

if ($data['discipline'] === FALSE)

show_404('');

$this->layout->view('sprv_discipline_edit', $data);

}

 

// Справочник авторов

function authors() {

$this->layout->view('sprv_authors');

}

 

// Справочник типов  изданий

function publication_types() {

$this->layout->view('sprv_publication_types');

}

}

 

 

Листинг sprv_db.php

<?php

class Sprv_db extends Model {

 

function Sprv_db()

{

parent::Model();

}

 

function get_disciplines()

{

$this->db->order_by("code", "asc");

$query = $this->db->get('disciplines');

return $query->result_array();

}

 

function add_discipline($name, $code)

{

$data = array(

'name' => $name,

'code' => $code,

);

 

$this->db->insert('disciplines', $data);

}

 

function del_discipline($id)

{

$this->db->delete('disciplines', array('id' => $id));

}

 

function get_discipline_by_id($id)

{

$query = $this->db->get_where('disciplines', array('id' => $id));

if ($query->num_rows() < 1)

return FALSE;

return $query->row_array();

}

 

function save_discipline($name, $code, $id)

{

$data = array(

'name' => $name,

'code' => $code

);

$this->db->where('id', $id);

$this->db->update('disciplines', $data);

}

 

}

 

Листинг sprv_disciplines.php

<h2>Добавить дисциплину</h2>

 

<div>

<form action="/library/sprv/disciplines_add" method="post">

<strong>Название</strong><br /><input type="text" name="name" value=""  /><br /><br />

<strong>Шифр</strong><br /><input type="text" name="code" value=""  /><br /><br />

<input type="submit" name="submit" value="Добавить"  />

</form>

</div>

 

<h2>Список дисциплин</h2>

 

<table width="100%" cellpadding="0" cellspacing="0" class="std_table" border="1px">

<tr><td><strong>Название</strong></td><td><strong>Шифр</strong></td><td><strong>Действия</strong></td></tr>

 

<?php foreach($disciplines as $discipline): ?>

 

<tr>

<td><?php echo $discipline['name']; ?></td>

<td><?php echo $discipline['code']; ?></td>

<td><a href="/library/sprv/disciplines_del/<?php echo $discipline['id']; ?>">Удалить</a> / <a href="/library/sprv/disciplines_edit/<?php echo $discipline['id'];?>">Редактировать</a></td>

</tr>

 

<?php endforeach; ?>

</table>

 

<br />

 

 

Листинг sprv_disciplines_edit.php

<h2>Редактирование дисциплины</h2>

 

<div>

<form action="/library/sprv/disciplines_edit/<?php echo $discipline['id']; ?>" method="post">

<strong>Название</strong><br /><input type="text" name="name" value="<?php echo $discipline['name']; ?>"  /><br /><br />

<strong>Шифр</strong><br /><input type="text" name="code" value="<?php echo $discipline['code']; ?>"  /><br /><br />

<input type="submit" name="submit" value="Сохранить"  />

</form>

</div>

 

<br />

 

 

Листинг sprv_list.php

<h2>Список справочников</h2>

 

<div>

<a href="/library/sprv/sections">Разделы</a><br />

<a href="/library/sprv/disciplines">Дисциплины</a><br />

<a href="/library/sprv/authors">Авторы</a><br />

<a href="/library/sprv/publication_types">Типы изданий</a><br />

</div>

<br />

 

 

Листинг welcome.php

<?php

 

class Welcome extends Controller {

 

function Welcome()

{

parent::Controller(); 

}

 

function index()

{

$this->layout->view('welcome_message');

}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение Б

Графический материал






Информация о работе Учет учебных материалов кафедры