Разработка интернет-библиотеки нормативной документации для ОАО «МРСК Центра и Приволжья».

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Информатика
  • 73 73 страницы
  • 19 + 19 источников
  • Добавлена 30.07.2012
2 500 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Оглавление

Оглавление
Введение
1. Аналитическая часть
1.1 Описание деятельности ОАО «МРСК Центра и Приволжья»
1.2 Структура управления ОАО «МРСК Центра и Приволжья»
1.3 Программно-техническая архитектура ОАО «МРСК Центра и Приволжья»
1.4 Описание процесса учета нормативной документации на ОАО «МРСК Центра и Приволжья»
1.5 Выявление задач процесса подлежащих автоматизации
1.6 Разработка требований к проектируемой ИС
2. Проектная часть
2.1 Обоснование выбора инструментальных средств
2.2 Обоснование выбора СУБД
2.3 Решения по техническому обеспечению
2.4 Информационное обеспечение
2.5 Описание входной и выходной информации
2.6 Функциональная структура ИС
3. Программная реализация ИС
3.1 Описание алгоритма работы системы
3.2 Описание установки системы
3.3 Описание контрольного примера работы в системе
4. Обоснование экономической эффективности системы
4.1 Основные положения по оценке эффективности проекта
4.2 Расчет трудоемкости обработки информации
4.3 Расчет себестоимости обработки информации
4.4 Расчет единовременных затрат
4.5 Расчет показателей экономической эффективности
Заключение
Список литературы
Приложение 1 – Программный код системы
Приложение 2 – SQL-код БД


Фрагмент для ознакомления

getCmp('btnDownload').enable();
updateDeleteBtn();
gridSelect = rowIndex;
}
}
}),
columns: [
{
xtype: 'gridcolumn',
dataIndex: 'docnum',
header: '№',
sortable: true,
width: 60
},
{
xtype: 'datecolumn',
format: 'd.m.Y',
dataIndex: 'docdate',
header: 'Дата',
sortable: true,
width: 150
},
{
xtype: 'gridcolumn',
dataIndex: 'type',
header: 'Тип',
sortable: true,
width: 150
},
{
xtype: 'gridcolumn',
dataIndex: 'name',
header: 'Название',
sortable: true,
width: 220
},
{
xtype: 'gridcolumn',
dataIndex: 'branch',
header: 'Филиал',
sortable: true,
width: 150
},
{
xtype: 'gridcolumn',
dataIndex: 'filepath',
header: 'Файл',
sortable: true,
width: 250
}
],
tbar: {
xtype: 'toolbar',
items: [
{
xtype: 'button',
text: 'Добавить',
disabled: true,
id: 'btnAdd',
iconCls:'btnAdd',
handler : function() { showNewDocForm(); },
height: 50
},
{
xtype: 'button',
text: 'Удалить',
disabled: true,
id: 'btnRemove',
iconCls:'btnRemove',
handler : function() { deleteDoc(); },
height: 50
},
{
xtype: 'button',
text: 'Загрузить',
disabled: true,
id: 'btnDownload',
iconCls:'btnDownload',
height: 50,
handler : function(){
if (docDs.getCount() > 0) {
fName = docDs.getAt(gridSelect).data.filepath;
var s = fName.toLowerCase();
if(s.lastIndexOf('.jpg')>0 || s.lastIndexOf('.png')>0 || s.lastIndexOf('.pdf')>0)
window.open('/docstore/download/' + fName);
else
window.location.href = '/docstore/download/' + fName
}
}
},
{
xtype: 'tbseparator',
width: 30
},
{
xtype: 'button',
text: 'Найти',
id: 'btnFind',
iconCls:'btnFind',
handler : function() {
showFindDocForm();
},
height: 50
}
]
}
}
]
}
];
MyViewportUi.superclass.initComponent.call(this);
}
})
/////////////////////
////// JSON STORE ///
/////////////////////
var docDs = new Ext.data.JsonStore({
id : 'docDs',
url : 'database.php',
metod : 'POST',
idProperty : "id",
root : "rows",
totalProperty : "results",
fields : [
{name: 'id', type: 'int', mapping: 'id'},
{name: 'docdate', type: 'date', mapping: 'docdate', dateFormat:'c' },
{name: 'docnum', type: 'string', mapping: 'docnum'},
{name: 'name', type: 'string', mapping: 'name'},
{name: 'type', type: 'string', mapping: 'type'},
{name: 'branch', type: 'string', mapping: 'branch'},
{name: 'filepath',type: 'string', mapping: 'filepath'}
]
});
docDs.baseParams.task='CmdListDoc';
//docDs.load();

var docTypeDs = new Ext.data.JsonStore({
id : 'docTypeDs',
url : 'database.php',
metod : 'POST',
idProperty : "id",
root : "rows",
totalProperty : "results",
fields : [
{name: 'id', type: 'int', mapping: 'id'},
{name: 'name', type: 'string', mapping: 'name'}
]
});
docTypeDs.baseParams.task='CmdListDocType';
docTypeDs.load();

var branchDs = new Ext.data.JsonStore({
id : 'branchDs',
url : 'database.php',
metod : 'POST',
idProperty : "id",
root : "rows",
totalProperty : "results",
fields : [
{name: 'id', type: 'int', mapping: 'id'},
{name: 'name', type: 'string', mapping: 'name'}
]
});
branchDs.baseParams.task='CmdListBranch';
branchDs.load();

///////////////////////////
////// Entry Point ////////
///////////////////////////

var frmAuth = new auth_frmUi({});
if (Ext.isIE)
frmAuth.width += 5;

frmAuth.show();

var frmFind = new find_frmUi({});

var NameField = new Ext.form.TextField({
id : 'NameField',
fieldLabel : 'Заголовок ',
allowBlank : false,
width : 250
});

var NumField = new Ext.form.TextField({
id : 'NumField',
fieldLabel : '№ ',
allowBlank : false,
width : 250
});

var upField = new Ext.form.TextField({
id: 'upField',
inputType : 'file',
fieldLabel : 'Файл',
name : 'userfile',
width : 250

});

var dateField = new Ext.form.DateField({
id: 'docDateField',
fieldLabel : 'Дата документа',
width : 250,
format: "d.m.Y"
});

var docTypeCombo = new Ext.form.ComboBox({
id: 'cmbDocType',
fieldLabel : 'Тип документа',
width : 250,
store: docTypeDs,
displayField:'name',
valueField: 'id',
typeAhead: true,
mode: 'local',
forceSelection: true,
triggerAction: 'all'
});

var branchCombo = new Ext.form.ComboBox({
id: 'cmbBbranch',
fieldLabel : 'Филиал',
width : 250,
store: branchDs,
displayField:'name',
valueField: 'id',
typeAhead: true,
mode: 'local',
forceSelection: true,
triggerAction: 'all'
});



var addPanel = new Ext.FormPanel({
fileUpload : true,
bodyStyle : 'padding:5px',
frame : true,
layout: 'form',
autoHeight : true,
bodyStyle : 'padding: 10px 10px 0 10px;',
labelWidth : 80,

items : [
NumField,
dateField,
NameField,
docTypeCombo,
branchCombo,
upField ],
buttons : [{
text : 'Загрузить',
handler : function(){
if(addPanel.getForm().isValid()){
addPanel.getForm().submit({
url: 'up.php',
waitMsg: 'Идет загрузка...',
success: function(addPanel, o){ createDoc()}
});
}
}
},{
text : 'Закрыть',
handler : function(){ addWindow.hide(); }
}]
});

var addWindow= new Ext.Window({
id : 'addWindow',
title : 'Добавление нового документа',
closable : true,
width : 400,
height : 270,
modal : true,
closable : false,
resizable : false,
plain : false,
border : false,
layout : 'fit',
items : addPanel
});
addWindow.on('show', function() {
dateField.setValue(new Date());
docTypeCombo.setValue(docTypeDs.getAt(0).data.id);
branchCombo.setValue(branchDs.getAt(0).data.id);
});

/////////////////////////////////
///////// Functions ////////////
////////////////////////////////

function checkUser(){
Ext.Ajax.request({
waitMsg : 'Please wait...',
url : 'database.php',
params : {
task : "CmdCheckUser",
login : Ext.getCmp('fldLogin').getValue(),
pswd : Ext.getCmp('fldPswd').getValue()
},
success: function(response){

userRole = response.responseText;
//userRole = 1; //TODO temp
if (userRole == -1)
Ext.MessageBox.alert('Ошибка','Не корректный логин или пароль');
else {
frmAuth.hide();
showMainForm();
}

},
failure: function(response){
var result=response.responseText;
Ext.MessageBox.alert('Ошибка','Не могу присоединиться к базе данных. Попробуйте позже');
}
});
};
function showMainForm(){
var frmMain = new MyViewportUi({title:'test'});
Ext.getCmp('cmbType').on('select', function(){
Ext.getCmp('btnDownload').disable();
Ext.getCmp('btnRemove').disable();

docDs.baseParams.filterType = this.getValue();
docDs.baseParams.filterName = -1;
docDs.baseParams.filterNum = -1;
docDs.load();
})
if (userRole > 0)
Ext.getCmp('btnAdd').enable();

Ext.getCmp('pnlMain').setTitle('' +
Ext.getCmp('pnlMain').title +
'
Пользователь: ' +
Ext.getCmp('fldLogin').getValue() + '
');
frmMain.show();
};

function showNewDocForm() {
addWindow.show();
};

function deleteDoc() {
if (docDs.getCount() == 0)
return;
var id = docDs.getAt(gridSelect).data.id;
Ext.Ajax.request({
waitMsg : 'Please wait...',
url : 'database.php',
params : {
task : "CmdDelDoc",
docid : id
},
success: function(response){
docDs.removeAll();
docDs.load();
updateDeleteBtn();
},
failure: function(response){
var result=response.responseText;
Ext.MessageBox.alert('Ошибка','Не могу присоединиться к базе данных. Попробуйте позже');
}
});
};

function showFindDocForm() {
frmFind.show();
};

function initDocSearch() {
docDs.baseParams.task='CmdListDoc';
docDs.baseParams.filterType = -1;
if(Ext.getCmp('riNum').getValue()) {
docDs.baseParams.filterName = -1;
docDs.baseParams.filterNum = Ext.getCmp('edSearch').getValue();
}
else {
docDs.baseParams.filterName = Ext.getCmp('edSearch').getValue();
docDs.baseParams.filterNum = -1;
};
frmFind.hide();
Ext.getCmp('cmbType').reset();
docDs.load();
};

function resetDocSearch() {
frmFind.hide();

docDs.baseParams.task='CmdListDoc';
docDs.baseParams.filterType = -1;
docDs.baseParams.filterName = -1;
docDs.baseParams.filterNum = -1;

docDs.load();
};

function updateDeleteBtn() {
Ext.getCmp('btnRemove').disable();
if (userRole > 0 && docDs.getCount() > 0)
Ext.getCmp('btnRemove').enable();
};

function xtractFile(data){
if (!Ext.isIE)
return data;
var m = data.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/);
return m[2];
};

function createDoc(){
addWindow.hide();
var fName = upField.getValue().replace(/C:\\fakepath\\/g, '');
fName = xtractFile(fName);
Ext.Ajax.request({
waitMsg : 'Please wait...',
url : 'database.php',
params : {
task : "CmdAddNew",
docnum : NumField.getValue(),
docdate : dateField.getValue(),
doctype : docTypeCombo.getValue(),
branch : branchCombo.getValue(),
docname : NameField.getValue(),
file : fName
},
success: function(response){
var result=eval(response.responseText);
switch(result){
case 1:
docDs.reload();
break;
default:
Ext.MessageBox.alert('Внимание','Ошибка при создании записи.');
break;
}
},
failure: function(response){
var result=response.responseText;
Ext.MessageBox.alert('Ошибка','Не возможно присоединиться к базе данных. Попробуйте позже');
}
});
};
});


Приложение 2 – SQL-код БД

-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Mar 23, 2011 at 11:48 PM
-- Server version: 5.1.40
-- PHP Version: 5.3.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `docstore`
--

-- --------------------------------------------------------

--
-- Table structure for table `branches`
--

CREATE TABLE IF NOT EXISTS `branches` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;

--
-- Dumping data for table `branches`
--

INSERT INTO `branches` (`id`, `name`) VALUES
(1, 'Тулэнерго'),
(2, 'Кировэнерго'),
(3, 'Нижновэнерго'),
(4, 'Владимирэнерго'),
(5, 'Удмуртэнерго'),
(6, 'Ивэнерго'),
(7, 'Калугэнерго'),
(8, 'Рязаньэнерго'),
(9, 'Мариэнерго');

-- --------------------------------------------------------

--
-- Table structure for table `dbusers`
--

CREATE TABLE IF NOT EXISTS `dbusers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(16) NOT NULL,
`pswd` varchar(16) NOT NULL,
`role` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `dbusers`
--

INSERT INTO `dbusers` (`id`, `login`, `pswd`, `role`) VALUES
(1, 'guest', '', 0),
(2, 'admin', 'sa', 1),
(3, 'ivanov@mrsk.ru', 'init1', 0),
(4, 'petrov@mrsk.ru', 'init1', 1);

-- --------------------------------------------------------

--
-- Table structure for table `docbase`
--

CREATE TABLE IF NOT EXISTS `docbase` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fk_doctype` int(11) NOT NULL,
`fk_user` int(11) NOT NULL,
`docnum` varchar(10) NOT NULL,
`docdate` datetime NOT NULL,
`name` varchar(255) NOT NULL,
`filepath` varchar(255) NOT NULL,
`fk_branch` mediumtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--
-- Dumping data for table `docbase`
--


-- --------------------------------------------------------

--
-- Table structure for table `doctypes`
--

CREATE TABLE IF NOT EXISTS `doctypes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

--
-- Dumping data for table `doctypes`
--

INSERT INTO `doctypes` (`id`, `name`) VALUES
(1, 'приказ'),
(2, 'распоряжение'),
(3, 'инструкция'),
(4, 'стандарт'),
(5, 'положение'),
(6, 'бланк'),
(7, 'прочее');



4

Список литературы

1.Братищенко В.В. Проектирование информационных систем. - Иркутск: Изд-во БГУЭП, 2004. - 84 с.
2.Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем.- М.: Финансы и статистика 2004. - 202 с.
3.Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем.- СПб: Питер, 2000. - 156 с.
4.Днепров А.Г. Microsoft Access 2007. Cамоучитель. М.: 2009. - 98 с.
5.Карпова Т.С. Базы данных: модели, разработка, реализация.- СПб. : Питер, 2007. - 67 с.
6.Коуров, Л.В. Информационные технологии в работе предприятий. – Минск: Амалфея, 2005. - 163 с.
7.Когаловский, М.Р. Базы данных. Проектирование, реализация и сопровождение. – СПб: Вильямс, 2001. - 23 с.
8.Маклаков, С.В. Bpwin и Erwin. Case-средства разработки информационных систем ? М. : ДИАЛОГ-МЭФИ, 2000. - 75 с.
9.Малыхина, М.П. Базы данных: основы, проектирование, использование. – СПб: БХВ Петербург.2006. - 192 с.
10.Мишенин А.И. Теория экономических информационных систем. - М.: Финансы и статистика, 2000. - 240 с.
11.Проектирование экономических систем: Учебник / Г.Н.Смирнова, А.А.Сорокин, Ю.Ф.Тельнов – М. : Финансы и статистика, 2003. - 34 с.
12.Стандартизация разработки программных средств: уч. пособие // В.А.Благодатских, В.А.Волнин, К.Ф.Поскакалов; под ред. О.С.Разумова. – М.: Финансы и статистика, 2006. – 288 с.
13.Метрология, качество и сертификация программного обеспечения // Е.В.Ковалевская. – М.: МЭСИ, 2004. – 95 с.
14.Оценка и аттестация зрелости процессов создания и сопровождения программных средств и информационных систем (ISO/IEC TR 15504-CMM). – М.: Книга и бизнес, 2001. – 348 с.
15.ISO 15504-1-9: 1998 : Оценка и аттестация зрелости процессов создания и сопровождения программных средств // А.С.Агапова. – Книга и бизнес, 2001.
16.Стандарты ЕСПД
17.ГОСТ Р ИСО/МЭК 12207-99 Информационная технология. Процессы жизненного цикла программных средств.
18.ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению.
19.ГОСТ Р ИСО/МЭК 12119-2000 Информационная технология. Пакеты программ. Требования к качеству и тестирование.


Вопрос-ответ:

Что представляет собой интернет-библиотека нормативной документации для ОАО «МРСК Центра и Приволжья»?

Интернет-библиотека нормативной документации для ОАО «МРСК Центра и Приволжья» представляет собой электронную систему, разработанную для хранения, учета и обеспечения доступа к нормативным документам, которые необходимы для работы организации.

Какая структура управления имеется в ОАО «МРСК Центра и Приволжья»?

ОАО «МРСК Центра и Приволжья» имеет сложную структуру управления, включающую центральный офис, округа, филиалы и дочерние компании. Более подробная информация о структуре управления представлена в статье.

Какие задачи процесса учета нормативной документации на ОАО «МРСК Центра и Приволжья» подлежат автоматизации?

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

Какие требования были разработаны к проектируемой информационной системе интернет-библиотеки нормативной документации для ОАО «МРСК Центра и Приволжья»?

Для проектируемой информационной системы интернет-библиотеки нормативной документации для ОАО «МРСК Центра и Приволжья» были разработаны следующие требования: возможность хранения и учета различных типов документов, система классификации и поиска документов, контроль доступа к документам в зависимости от роли пользователя.

Какова програмно-техническая архитектура интернет-библиотеки для ОАО «МРСК Центра и Приволжья»?

Програмно-техническая архитектура интернет-библиотеки для ОАО «МРСК Центра и Приволжья» включает в себя систему управления базой данных, веб-интерфейс для пользователей, систему аутентификации, а также модуль для классификации и поиска документов.

Какая организация разрабатывает интернет-библиотеку нормативной документации для ОАО «МРСК Центра и Приволжья»?

Интернет-библиотеку нормативной документации для ОАО «МРСК Центра и Приволжья» разрабатывает организация X.

Какая цель имеет разработка интернет-библиотеки нормативной документации для ОАО «МРСК Центра и Приволжья»?

Целью разработки интернет-библиотеки нормативной документации для ОАО «МРСК Центра и Приволжья» является обеспечение удобного доступа к нормативным документам и обновленной информации для сотрудников и заинтересованных сторон.

Какие задачи процесса учета нормативной документации на ОАО «МРСК Центра и Приволжья» подлежат автоматизации?

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

Какая программно-техническая архитектура будет использоваться для интернет-библиотеки нормативной документации ОАО «МРСК Центра и Приволжья»?

Для интернет-библиотеки нормативной документации ОАО «МРСК Центра и Приволжья» будет использоваться трехуровневая архитектура, включающая клиентскую часть, серверную часть и базу данных. Программно-техническое обеспечение будет разрабатываться на языке программирования X и использовать базу данных типа Y.