Разработка проекта автоматизации бизнес-процессов предприятия с помощью функциональных возможностей информационных систем путём создания веб-сервиса интеграции
Разработка гетерогенных информационных систем как один из подходов интеграции объектно-ориентированных приложений с реляционными базами данных. Машинный код – вид информации, состоящий из инструкций, которые компьютер может непосредственно выполнять.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 21.03.2019 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
$sql = "SELECT * FROM std_1c_group WHERE refkey = '$refkey' AND status = $status";
if (!empty($this->db->row($sql))) return true;
else return false;
}
public function control($post,$type = '',$new = false) {
if ($new) {
foreach ($post as $key => $value) {
$params = [
':refkey' => $value->{'refkey'},
':spo_refkey' => $value->{'spo'},
':year' => $value->{'year'},
':liter' => $value->{'spec'},
':name' => $value->{'name'},
':status' => $value->{'status'},
];
$sql = 'INSERT INTO std_1c_group (refkey, spo_refkey, year, liter, name, status) VALUES (:refkey, :spo_refkey, :year, :liter, :name, :status)';
$this->db->insert($sql, $params);
}
return true;
}
$i = 0;
foreach ($post as $key => $value) {
$i++;
if (isset($post[$i.'_id'])) {
if (!isset($post[$i.'_status'])) $status = 0;
else $status = $post[$i.'_status'];
if ($type == 'update') {
$params = [
':refkey' => $post[$i.'_id'],
':status' => $status,
];
$sql = 'UPDATE std_1c_group SET status = :status WHERE refkey = :refkey';
$this->db->insert($sql, $params);
} elseif ($type = 'insert') {
$params = [
':refkey' => $post[$i.'_id'],
':spo_refkey' => $post[$i.'_spo'],
':year' => $post[$i.'_year'],
':liter' => $post[$i.'_spec'],
':name' => $post[$i.'_name'],
':status' => $status,
];
$sql = 'INSERT INTO std_1c_group (refkey, spo_refkey, year, liter, name, status) VALUES (:refkey, :spo_refkey, :year, :liter, :name, :status)';
$this->db->insert($sql, $params);
}
}
}
return true;
}
public function getStudents($post = '') {
$students = [];
//$std_1c = $this->returnStudents();
//$std_db = $this->db->row($sql);
if ($post == 'active') {
$sql = "SELECT * FROM std_1c_students WHERE `status` = 1";
$std_db = $this->db->row($sql);
if (!empty($std_db)) {
foreach ($std_db as $value) {
$students[] = new Students($value['refkey'],$value['group'],$value['spo'],$value['name'],$value['code']);
}
} else {
$students = $this->returnStudents($post);
}
return $students;
} elseif ($post == 'update') {
//$students = $this->returnStudents();
//$j = 0;
foreach ($this->returnTrz() as $key => $value) {
foreach ($value as $val) {
//$j++;
if ($this->getGroupsFromDb(1,$val['Группа_Key'])) {
if ($val['Статус'] == 'Студент') {
$params = [
':refkey' => $val['Студент_Key'],
':group' => $val['Группа_Key'],
':name' => $this->findUserById($val['Студент_Key'])[0]['Description'],
':spo' => $this->findUserById($val['Студент_Key'])[0]['ПрограммаСПО_Key'],
':code' => $this->findUserById($val['Студент_Key'])[0]['Code'],
':status' => 1,
];
$sql = "INSERT INTO `student`.`std_1c_students` (`refkey`, `group`, `name`, `spo`, `code`, `status`) VALUES (:refkey,:group,:name,:spo,:code,:status) ON DUPLICATE KEY UPDATE `group` = :group, `status` = :status";
$this->db->insert($sql,$params);
} elseif ($val['Статус'] == 'Отчислен') {
$params = [
':refkey' => $val['Студент_Key'],
':group' => '',
':name' => $this->findUserById($val['Студент_Key'])[0]['Description'],
':spo' => $this->findUserById($val['Студент_Key'])[0]['ПрограммаСПО_Key'],
':code' => $this->findUserById($val['Студент_Key'])[0]['Code'],
':status' => 0,
];
$sql = "INSERT INTO `student`.`std_1c_students` (`refkey`, `group`, `name`, `spo`, `code`) VALUES (:refkey,:group,:name,:spo,:code) ON DUPLICATE KEY UPDATE `group` = '', `status` = :status";
$this->db->insert($sql,$params);
}
} elseif ($this->getGroupsFromDb(0,$val['Группа_Key'])) {
$params = [
':refkey' => $val['Студент_Key'],
':group' => $val['Группа_Key'],
':name' => $this->findUserById($val['Студент_Key'])[0]['Description'],
':spo' => $this->findUserById($val['Студент_Key'])[0]['ПрограммаСПО_Key'],
':code' => $this->findUserById($val['Студент_Key'])[0]['Code'],
':status' => 0,
];
$sql = "INSERT INTO `student`.`std_1c_students` (`refkey`, `group`, `name`, `spo`, `code`, `status`) VALUES (:refkey,:group,:name,:spo,:code,:status) ON DUPLICATE KEY UPDATE `group` = :group, `status` = :status";
$this->db->insert($sql,$params);
}
}
//if ($j >= 100) break;
}
} elseif (($post == 'updatestatus')) {
$status = [0,1];
foreach ($status as $value1) {
$groups = $this->db->row('SELECT * FROM std_1c_group WHERE status = '.$value1);
foreach ($groups as $value2) {
$params = [
':refkey' => $value2['refkey'],
':status' => $value1,
];
$sql = "UPDATE `student`.`std_1c_students` SET `status` = :status WHERE `group` = :refkey";
$this->db->insert($sql,$params);
}
}
} else {
//$sql = 'SELECT * FROM std_1c_students';
//$sql = 'SELECT * FROM std_1c_group WHERE status = 1 ORDER BY name ASC';
//$sql = 'SELECT * FROM `student`.`std_1c_students` WHERE `group` IN (SELECT `refkey` FROM `student`.`std_1c_group` WHERE `status` = 1)';
$sql = 'SELECT `std`.`refkey` AS s_refkey, `std`.`name` AS s_name, `grp`.`refkey` AS g_refkey, `grp`.`name` AS g_name FROM `student`.`std_1c_students` AS std LEFT JOIN `student`.`std_1c_group` AS grp ON `std`.`group` = `grp`.`refkey` AND `grp`.`status` = 1 ORDER BY `grp`.`refkey` ASC';
//$std_1c = $this->returnStudents();
$std_db = $this->db->row($sql);
//var_dump($std_db); exit;
if (!empty($std_db)) {
// foreach ($std_db as $value) {
//$students[] = new Students($value['refkey'],$value['group'],$value['spo'],$value['name'],$value['code']);
$students = $std_db;
//}
} else {
$students = $this->returnStudents();
}
//$students = (array) $students;
//var_dump($students); exit;
return $students;
}
}
}
Приложение 8
Модуль базового класса /application/src/Controller.php
<?php
namespace application\src;
use application\src\View;
abstract class Controller {
public $route;
public $view;
public $model;
function __construct($route) {
$this->route = $route;
$this->view = new View($this->route);
$this->model = $this->loadModel($this->route['controller']);
}
public function loadModel($name) {
$path = '\application\models\\'.ucfirst($name);
if (class_exists($path)) {
return new $path;
}
}
}
Приложение 9
Модуль работы с базой данных /application/src/Db.php
<?php
namespace application\src;
use PDO;
class Db {
protected $config;
protected $db;
function __construct() {
$this->config = require '../application/config/db.php';
$this->db = new PDO('mysql:dbname='.$this->config['mydb']['dbname'].';host='.$this->config['mydb']['host'], $this->config['mydb']['user'], $this->config['mydb']['password']);
}
public function query($sql, $params = []) {
$query = $this->db->prepare($sql);
/*if (!empty($params)) {
foreach ($params as $key => $value) {
$query->bindValue(':'.$key, $value);
}
}*/
//var_dump($query->queryString); exit;
$query->execute($params);
return $query;
}
public function row($sql, $params = []) {
$result = $this->query($sql, $params);
return $result->fetchAll(PDO::FETCH_ASSOC);
}
public function insert($sql, $params = []) {
$result = $this->query($sql, $params);
return $result;
}
}
Приложение 10
Модуль сущности /application/src/Groups.php
<?php
namespace application\src;
class Groups {
public $refkey;
public $year;
public $spec;
public $spo;
public $name;
public $status;
function __construct($ref,$year,$spec,$spo,$name,$status) {
$this->refkey = $ref;
$this->year = $year;
$this->spec = $spec;
$this->spo = $spo;
$this->name = $name;
$this->status = $status;
}
}
Приложение 11
Модуль базовой модели /application/src/Model.php
<?php
namespace application\src;
use application\src\Db;
abstract class Model {
protected $db;
//public $test;
function __construct() {
$this->db = new Db();
}
public function getAllFromDb($sql = '', $params = '') {
if (!empty($params)) {
if ($params == 'all') {
$sql = "SELECT * FROM std_1c_students";
return $this->db->row($sql);
} elseif ($params == 'act') {
$sql = "SELECT * FROM std_1c_students WHERE status = 1";
return $this->db->row($sql);
} elseif ($params == 'reg') {
$sql = "SELECT * FROM std_users";
return $this->db->row($sql);
}
} else return $this->db->row($sql);
}
}
Приложение 12
Модуль класса маршрутизации /application/src/Router.php
<?php
namespace application\src;
use application\src\View;
class Router {
protected $routes = [];
protected $params = [];
function __construct() {
$array = require '../application/config/routes.php';
foreach ($array as $key => $value) {
$this->add($key,$value);
}
}
public function add($route,$param) {
$route = '#'.$route.'$#';
$this->routes[$route] = $param;
}
public function match() {
$url = trim($_SERVER['REQUEST_URI'],'/');
$url_parts = explode('?', $url);
foreach ($this->routes as $key => $value) {
if (preg_match($key, $url_parts[0], $matches)) {
$this->params = $value;
return true;
}
}
return false;
}
public function run() {
if ($this->match()) {
$path = '\application\controllers\\'.ucfirst($this->params['controller']).'Controller';
if (class_exists($path)) {
$action = $this->params['action'].'Action';
if (method_exists($path, $action)) {
$controller = new $path($this->params);
$controller->$action();
} else View::errorCode (404);
} else View::errorCode (404);
} else View::errorCode (404);
}
}
Приложение 13
Модуль объекта /application/src/Students.php
<?php
namespace application\src;
/**
* Description of Students
*
* @author procsik
*/
class Students {
public $refkey;
public $group;
public $spo;
public $name;
public $code;
function __construct($ref,$group,$spo,$name,$code) {
$this->refkey = $ref;
$this->group = $group;
$this->spo = $spo;
$this->name = $name;
$this->code = $code;
}
}
Приложение 14
Модуль представления /application/src/View.php
<?php
namespace application\src;
class View {
public $path;
public $route;
public $layout = 'default';
function __construct($route) {
$this->route = $route;
$this->path = $this->route['controller'].'/'.$this->route['action'];
}
public function render($title, $vars = [], $control = []) {
extract($vars);
extract($control);
$control['default'] = '';
if (file_exists('../application/views/'.$this->path.'.php')) {
ob_start();
require '../application/views/'.$this->path.'.php';
$content = ob_get_clean();
} else {
echo 'вид не найден';
}
require '../application/views/layouts/'.$this->layout.'.php';
}
public static function errorCode($code) {
http_response_code($code);
require '../application/views/errors/'.$code.'.php';
exit;
}
public function redirect($url) {
header('location: '.$url);
}
}
Приложение 15
Шаблон начальной страницы /application/views/layouts/default.php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title><?php echo $title; ?></title>
<link rel="stylesheet" href="/css/style.css?v=1.0" type="text/css">
</head>
<body>
<div id="wrapper">
<header class="border">
<a href="/"><img src="/img/logo.png" alt="student system logo"></a>
<h1>Автоматизированная информационная система</h1>
</header>
<nav class="border">
<ul class="top-menu">
<li><a href="/">Главная</a></li>
<li><a href="/std/students">Студенты</a></li>
<li><a href="/std/groups">Группы</a></li>
<li><a href="/settings">Настройка</a></li>
</ul>
</nav>
<section class="border">
<div id="content"><?php echo $content; ?></div>
</section>
<aside class="border">
<h3>панель управления</h3>
<?php echo $control['default']; ?>
</aside>
<script src="/js/script.js"></script>
<div class="clear"></div>
<footer class="border">
<div id="footer">
<p>© Путилов П.В. ЗПО-41</p>
<p>г. Волгда, 2019</p>
</div>
</footer>
</div>
</body>
</html>
Приложение 16
Представление страницы /application/views/main/settings.php
<form action="/settings" method="POST" id="settings_form" name="settings_form"></form>
<table id="tset" width="100%">
<tr>
<td colspan="3"><h3>База данных паролей</h3></td>
</tr>
<tr>
<td align="center"><span class="date">Всего паролей</span></td>
<td align="center"><span class="date">Используется</span></td>
<td align="center"><span class="date">Свободно</span></td>
</tr>
<tr>
<td align="center"><span class="date"><?php echo $vars['allPass'];?></span></td>
<td align="center"><span class="date"><?php echo $vars['usedPass'];?></span></td>
<td align="center"><span class="date"><?php echo $vars['freePass'];?></span></td>
</tr>
<tr><td colspan="3"> </td></tr>
<tr><td colspan="3"><h3>База данных студентов</h3></td></tr>
<tr>
<td align="center"><span class="date">Всего студентов</span></td>
<td align="center"><span class="date">Активных студентов</span></td>
<td align="center"><span class="date">Зарегистрированных студентов</span></td></tr>
<tr>
<td align="center"><span class="date"><?php echo $vars['allStud'];?></span></td>
<td align="center"><span class="date"><?php echo $vars['actStud'];?></span></td>
<td align="center"><span class="date"><?php echo $vars['regUser'];?></span></td>
</tr>
</table>
<br>
<table id="tset" width="100%">
</table>
<?php
if (!empty($control)) {
foreach ($control['input'] as $value) {
if ($value['type'] == 'radio') {
$name = 'name="settings_radio"';
$radio = $value['test'];
}
else {
$radio = '';
$name = '';
}
$control['default'] .= '<p><input '.$name.' type="'.$value['type'].'" value="'.$value['value'].'" form="settings_form">'.$radio.'</p>';
}
}?>
Приложение 17
Представление страницы /application/views/user/groups.php
<form action="/std/control" method="POST" id="groups_form" name="groups_form">
<input type="text" name="groups" value="1" hidden>
<?php $idname = 0; foreach ($vars['groups'] as $value) { $idname++; ?>
<div class="group">
<input type="text" name="<?php echo $idname.'_id' ?>" value="<?php echo $value->{'refkey'}; ?>" hidden>
<input type="text" name="<?php echo $idname.'_year' ?>" value="<?php echo $value->{'year'}; ?>" hidden>
<input type="text" name="<?php echo $idname.'_spo' ?>" value="<?php echo $value->{'spo'}; ?>" hidden>
<input type="text" name="<?php echo $idname.'_spec' ?>" value="<?php echo $value->{'spec'}; ?>" hidden>
<input type="text" name="<?php echo $idname.'_name' ?>" value="<?php echo $value->{'name'}; ?>" hidden>
<div class="group_name"><b><?php echo $value->{'name'}; ?></b></div>
<span>Статус:
<input name="<?php echo $idname.'_status' ?>" type="checkbox" class="group_status" value="1" <?php if ($value->{'status'} >= 1) echo 'checked'; ?>>
</span>
</div>
<?php } ?>
</form>
<?php
if (!empty($control)) {
foreach ($control['input'] as $value) {
if ($value['type'] == 'radio') {
$name = 'name="groups_radio"';
$radio = $value['test'];
}
else {
$radio = '';
$name = '';
}
$control['default'] .= '<p><input '.$name.' type="'.$value['type'].'" value="'.$value['value'].'" form="groups_form">'.$radio.'</p>';
}
}
?>
Приложение 18
Представление страницы /application/views/user/students.php
<form action="/std/control" method="POST" id="students_form" name="students_form">
<?php if (isset($vars['gstd'])) {
$g_refkey = '';
$j = 0;
foreach ($vars['gstd'] as $key => $value) {
//var_dump($value); exit;
if ($value->{'refkey'} != $g_refkey) {
if ($key != 0) echo '</div>';
$g_refkey = $value->{'refkey'};
$j++;
echo '<div class="grf" id="grf_'.$j.'"><span>'.$value->{'name'}.'</span>';}
if ($value->{'refkey'} == $g_refkey) {
echo '<div class="student">'.$value->{'name'}.'</div>';
if (!isset($vars['gstd'][$key+1])) echo '</div>';
}}?>
<?php } elseif (isset($vars['students'])) { ?>
<input type="text" name="students" value="1" hidden>
<?php $idname = 0; foreach ($vars['students'] as $value) { $idname++; ?>
<div class="student" id="student_<?php echo $idname; ?>">
<div class="student_name"><b><?php if (gettype($value) == 'object') echo $value->{'name'}; else echo $value['s_name']; ?></b></div></div>
<?php } ?>
<?php } ?>
</form>
<?php
if (!empty($control)) {
foreach ($control['input'] as $value) {
if ($value['type'] == 'radio') {
$name = 'name="students_radio"';
$radio = $value['test'];
}
else {
$radio = '';
$name = '';
}
$control['default'] .= '<p><input '.$name.' type="'.$value['type'].'" value="'.$value['value'].'" form="students_form">'.$radio.'</p>';
}}?>
Приложение 19
Таблица стилей /public/css/style.css
@import "reset.css";
body {
background: #f8f8f8;
}
h1 {
font-size: 28px;
text-align: center;
float: right;
margin-right: 50px;
}
h3 {
font-weight: bold;
font-size: 18px;
text-align: center;
margin: 10px 0 10px 0;
}
nav a {
color: #000 !important;
text-decoration: none;
position: relative;
top: 5px;
}
#tset, tr, td {
border: 1px solid #000000;
}
.date {
font-size: 18px;
}
#wrapper {
width: 1000px;
margin: 0 auto;
}
header {
position: relative;
padding: 20px 0;
height: 100px;
text-align: center;
}
header img {
position: absolute;
top: 10px;
left: 20px;
background-image: url(/img/logo.png);
}
nav {
padding: 3px;
}
nav a {
text-decoration: none;
}
nav ul {
margin: 0;padding: 0;
}
nav li {
list-style-position: inside;
font-weight: bold;
}
.top-menu li {
display: inline-block;
padding: 5px 15px 15px 15px;
box-shadow: 0 0 5px rgba(255,255,255,0.9);
background: #CFCFCF;
}
.top-menu li:hover {
box-shadow: 0 0 2px rgba(0,0,0,0.9);
background: #CFCFCF;
cursor: pointer;
}
.top-menu li:active {
box-shadow: 0 0 5px rgba(255,255,255,0.9);
background: #CFCFCF;
}
section {
float: left;
width: 690px;
min-height: 400px;
/*border: 1px solid #ff0000;*/
}
aside {
float: left;
width: 290px;
height: 300px;
/*border: 1px solid #ff0000;*/
}
.clear {
clear: both;
}
#footer {
max-width: 1000px;
padding: 10px 0;
height: 30px;
text-align: center;
}
.border {
box-shadow: -2px 2px 3px rgba(0,0,0,0.2);
margin: 5px;
background: #F0F0F0;
border-radius: 5px;
}
#content {
margin: 5px;
}
.group {
height: 25px;
margin: 5px;
background: #CDCDCD;
border-radius: 5px;
width: 500px;
padding: 10px;
}
.group:hover {
height: 25px;
margin: 5px;
background: #CACACA;
box-shadow: -1px 1px 2px rgba(0,0,0,0.2);
border-radius: 5px;
width: 500px;
padding: 10px;
}
.group .group_name {
float:left;
font-weight: bolder;
}
.group span {
float: right;
}
aside input {
margin: 10px;
}
.student {
height: 25px;
margin: 5px;
background: #CDCDCD;
border-radius: 5px;
width: 500px;
padding: 10px;
}
.inactive {
background: #DDDDDD;
}
.grf {
padding: 10px 0 0 15px;
border-radius: 5px;
border: 1px solid #000;
margin: 0 0 5px 0;
}
.grf span {
font-weight: bold;
font-size: 16px;
}
Приложение 20
Скрипт сайта /public/js/sript.js
function control(url) {
var str = url.split("/");
var tstr = '';
var get = '';
if (str[1] == 'settings') {
tstr = str[1];
get = "/";
}
else {
tstr = str[2];
get = "/std/";
}
var radio = document.getElementsByName(tstr + "_radio");
for(var i = 0; i < radio.length; i++) {
radio[i].addEventListener('change', function() {
document.getElementById(tstr + "_form").action = get + tstr + "?" + this.value;
});
}
return true;
}
switch (window.location.pathname) {
case '/std/groups': {
control(window.location.pathname);
break;
}
case '/std/students': {
control(window.location.pathname);
break;
}
case '/settings': {
control(window.location.pathname);
break;
}
}
Приложение 21
Начальная страница /public/index.php
<?php
require '../application/src/default.php';
use application\src\Router;
spl_autoload_register(function ($class) {
$path = str_replace('\\', '/', '../'.$class.'.php');
if (file_exists($path)) {
include $path;
}
});
/*
try {
$obj = new NonLoadableClass();
} catch (Exception $e) {
echo $e->getMessage(), "\n";
}
*/
$router = new Router;
$router->run();
Приложение 22
Настройки переадресации /public/.htaccess
AddDefaultCharset utf-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .*$ - [L]
RewriteCond %{REQUEST_URI}::$1 (/.+)/(.*)::\2$
RewriteRule (.*) - [E=BASE:%1]
RewriteRule (.*)$ %{ENV:BASE}/index.php [L]
Размещено на Allbest.ru
Подобные документы
Изучение общих понятий теории систем и системного анализа. Методика построения объектных репозиториев открытых информационных систем. Принципы восприятия визуальной информации. Средства визуального моделирования рабочих процессов по интеграции данных.
курсовая работа [195,1 K], добавлен 04.06.2015Понятие CASE-средств как программных средств, которые поддерживают процессы создания и сопровождения информационных систем (ИС). Особенности IDEF-технологии разработки ИС. Описание нотации IDEF0. Разработка функциональных моделей бизнес-процесса.
презентация [399,8 K], добавлен 07.04.2013Методология структурного анализа и проектирования информационных систем. Базовый стандарт процессов жизненного цикла программного обеспечения. Цели и принципы формирования профилей информационных систем. Разработка идеальной модели бизнес-процессов.
презентация [152,1 K], добавлен 07.12.2013Разработка проекта программного комплекса для автоматизации информационных процессов службы сбыта пищевой продукции. Разработка информационной базы данных и характеристика процесса создания клиентской и сервисной части приложения по технологии ASP.NET.
дипломная работа [2,4 M], добавлен 24.06.2011Характеристика объектов автоматизации информационных систем. Требования к документированию. Порядок контроля и приемки системы. Описание потоков данных и бизнес процессов. Структура информационной системы, состав функциональных и обеспечивающих подсистем.
курсовая работа [1,9 M], добавлен 18.09.2013Общее понятие и признаки классификации информационных систем. Типы архитектур построения информационных систем. Основные компоненты и свойства базы данных. Основные отличия файловых систем и систем баз данных. Архитектура клиент-сервер и ее пользователи.
презентация [203,1 K], добавлен 22.01.2016Разработка системы автоматизированного учета АН "Елена". Описание информационного и технического обеспечения предприятия, используемых функциональных возможностей. Выбор комплекса задач автоматизации и характеристика существующих бизнес-процессов.
дипломная работа [3,4 M], добавлен 25.01.2010Анализ показателей оценки эффективности информационных систем и технологий. Расчет трудовых и стоимостных показателей и показателей достоверности информации, разработка программы для ускорения методов обработки данных. Интерфейс и листинг приложения.
дипломная работа [1,2 M], добавлен 14.01.2012Обзор принципов построения и эффективного применения систем управления базами данных, CASE-средств автоматизации проектирования. Анализ возможностей методологии и инструментальных средств. Разработка модели бизнес-процессов гостиницы в среде All Fusion.
курсовая работа [3,3 M], добавлен 28.12.2012Факторы угроз сохранности информации в информационных системах. Требования к защите информационных систем. Классификация схем защиты информационных систем. Анализ сохранности информационных систем. Комплексная защита информации в ЭВМ.
курсовая работа [30,8 K], добавлен 04.12.2003