- •1 Исследовательский раздел
- •1.1 Анализ существующих форматов представления данных
- •1.2. Обоснование выбора программно-аппаратных средств
- •1.2.1 Технология sql – выбор субд
- •1.2.2 Выбор языка программирования – php
- •1.2.3 Выбор среды программирования – Фреймворк CodeIgniter
- •1.3.4 Требования к программе или программному изделию
- •1.3.4.1 Требования к функциональным характеристикам
- •2.2 Разработка структуры базы данных программы
- •2.3 Разработка модели информационных потоков базы данных
- •2.4 Разработка алгоритмического обеспечения
- •2.5 Разработка интерфейса программы
- •3 Технологический раздел
- •3.1 Технология разработки программы
- •3.1.1 Создание веб-страниц с помощью языка html
- •3.1.2 Основы работы web-сервера
- •3.1.3 Объектно-ориентированный подход к программированию на php
- •3.1.4 Особенности фреймворка CodeIgniter
- •3.1.5 Инструментарий совместной разработки Subversion
- •3.1.6 Интегрированная среда разработки Zend Studio
- •3.2 Технология тестирования программы
- •3.2.1 Отладка кода с помощью Zend Debugger
- •3.2.2 Автоматизированное тестирование программы – SimpleTest
- •4 Безопасность жизнедеятельности
- •4.1 Анализ опасных и вредных факторов, возникающих при работе на пэвм
- •4.1.1 Физиологические опасные и вредные факторы, действующие на операторов пэвм
- •4.1.2 Психофизиологические опасные и вредные факторы
- •4.2 Разработка технических, организационных и профилактических мероприятий по каждому опасному и вредному фактору
- •4.2.1 Организация рабочего места оператора эвм. Профилактика сдсн
- •4.2.2 Эргономика дисплея. Профилактика сдзн
- •4.2.3 Эргономика устройств ввода информации. Профилактика сзкп
- •4.2.4 Оптимальный режим работы. Профилактика сдпн
- •4.2.5 Контроль микроклимата в помещениях оборудованных пэвм. Профилактика сник
- •4.3 Экологическая оценка и переработка (утилизация) материалов используемых в помещениях, где установлена компьютерная техника
- •4.3.1 Утилизация и переработка ртути в люминесцентных лампах
- •5 Экономическая часть
- •5.1 Планирование разработки автоматизированной системы с построением графика выполнения работ
- •5.1.1 Определение этапов и работ по созданию программного средства
- •5.1.2 Расчет трудоемкости и продолжительности работ
- •5.1.3 Построение графика разработки программного продукта
- •5.2 Расчет затрат на разработку
- •5.2.1 Расчет затрат на разработку программного продукта
- •5.3 Расчет основных технико-экономических показателей и эффективности использования программного продукта
- •5.3.1 Оценка экономической эффективности проекта
- •Заключение
- •Список использованных источников:
- •1 К исследовательскому разделу
- •2 К специальному разделу
- •3 К технологическому разделу
- •4 К разделу Безопасноть Жизнедеятельности
- •5 К экономическому разделу
- •Приложение а Исходный код программы с комментариями
- •Приложение б
- •Графический материал
2 К специальному разделу
Кристина Пейтон, Андре Меллер. PHP 5 и MySQL 5 в примерах и на проектах – М.: Бином, 2009.– 368с.
Chaoui C. Encyclopedia of Human Computer Interaction. New York: CRC Press, 2005. – 738с.
3 К технологическому разделу
Медведев А. М., Швецкой М. В. Некоторые вопросы методологии отладки программ [Электронный ресурс]. – Режим доступа: http://it.kgsu.ru/Otladka/oglav.html
Макфедрис П. Создание Web-страниц. – М.: АСТ, Астрель, 2004. – 392с.
Лебедев С.В. Web-дизайн. Учебное пособие по созданию публикаций для Интернет. – М.: Издательским дом Альянс-пресс, 2004. – 736с.
Рева О.Н. Создание Web-страниц. Просто как дважды два. – М.: Эксмо, 2005. - 208с., ил.
Gao, Jerry. Testing and quality assurance for component-based software. –Boston: Artech House, 2003.
Davis W. Yen D. The Information System Consultant’s Handbook. System Analysis and Design. – New York: CRC Press, 2003.
4 К разделу Безопасноть Жизнедеятельности
Гетия И.Г. Безопасность при работе на ПЭВМ. – М.: НПЦ Профессионал-Ф, 2005. - 127с.
ГОСТ 12.2.032-78 ССБТ. Рабочее место при выполнении работ сидя. Общие эргономические требования.
СанПиН 2.2.2./2.4.1340-03. Гигиенические требования к персональным электронно-вычислительным машинам и организации работы.
Петелин В.П. Большой словарь медицинских терминов. - М.: Центрполиграф, 2007. – 978с.
Безопасность ПЭВМ и рабочих мест с ПЭВМ [Электронный ресурс] – http://www.ciklon.ru/computer/intpubl.htm
Гетия И.Г, Шумилин В.К., Леонтьева И.Н. и др. Экология компьютерной техники. Учебное пособие. – М.: МГУПИ, 2007. – 69с.
СНиП 2.01.02-85* Основные требования, предъявляемые к древесине и деревянным конструкциям.
5 К экономическому разделу
Степанов В.П. Учебно-методическое пособие по выполнению курсовой работы Экономическое обоснование проекта автоматизации технологического процесса обработки информации. –М.: МГУПИ, 2008. – 17с.
Коноплев С.П. Экономика организаций. - М.: Проспект, 2007.-160с.
Просветов Г.И. Математические методы в экономике и менеджменте» – М:. РДЛ, 2007. – 160с.
Ковалев В.В. Методы оценки инвестиционных проектов. – М: РИНКЦЭ, 2007. – 40 с.
Приложение а Исходный код программы с комментариями
Листинг точки входа index.php
<?php
/*
|---------------------------------------------------------------
| PHP ERROR REPORTING LEVEL
|---------------------------------------------------------------
|
| By default CI runs with error reporting set to ALL. For security
| reasons you are encouraged to change this when your site goes live.
| For more info visit: http://www.php.net/error_reporting
|
*/
error_reporting(E_ALL);
/*
|---------------------------------------------------------------
| SYSTEM FOLDER NAME
|---------------------------------------------------------------
|
| This variable must contain the name of your "system" folder.
| Include the path if the folder is not in the same directory
| as this file.
|
| NO TRAILING SLASH!
|
*/
$system_folder = "system";
/*
|---------------------------------------------------------------
| APPLICATION FOLDER NAME
|---------------------------------------------------------------
|
| If you want this front controller to use a different "application"
| folder then the default one you can set its name here. The folder
| can also be renamed or relocated anywhere on your server.
| For more info please see the user guide:
| http://codeigniter.com/user_guide/general/managing_apps.html
|
|
| NO TRAILING SLASH!
|
*/
$application_folder = "application";
/*
|===============================================================
| END OF USER CONFIGURABLE SETTINGS
|===============================================================
*/
/*
|---------------------------------------------------------------
| SET THE SERVER PATH
|---------------------------------------------------------------
|
| Let's attempt to determine the full-server path to the "system"
| folder in order to reduce the possibility of path problems.
| Note: We only attempt this if the user hasn't specified a
| full server path.
|
*/
if (strpos($system_folder, '/') === FALSE)
{
if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
{
$system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
}
}
else
{
// Swap directory separators to Unix style for consistency
$system_folder = str_replace("\\", "/", $system_folder);
}
/*
|---------------------------------------------------------------
| DEFINE APPLICATION CONSTANTS
|---------------------------------------------------------------
|
| EXT - The file extension. Typically ".php"
| FCPATH - The full server path to THIS file
| SELF - The name of THIS file (typically "index.php")
| BASEPATH - The full server path to the "system" folder
| 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"> </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'); ?> © ИТ-4 </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');
}
}
