Автор: Пользователь скрыл имя, 15 Января 2013 в 08:59, курсовая работа
Целью работы является создание именно такого программного средства. Отличительная черта от многих уже cуществующих решений - наличие готовых настроек системы под определенного пользователя. Одним нажатием мыши система перенастроится под нужную конфигурацию и при необходимости также быстро вернется в первоначальное состояние. Таким образом пользователи полчат уникальный инструмент позволяющий быстро и безопасно перенастраивать Windows Xp.
СОКРАЩЕНИЯ 3
ВВЕДЕНИЕ 4
1. АНАЛИЗ ЗАДАЧИ 5
1.1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.2 ВЫДЕЛЕНИЕ КЛЮЧЕВЫХ АБСТРАКЦИЙ 7
1.3 ИНСТРУМЕНТЫ РЕАЛИЗАЦИИ ЗАДАЧИ 8
1.4 ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ 11
2. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ 12
2.1 ОПИСАНИЕ КЛАССОВ 12
2.2 ИЕРАРХИЯ КЛАССОВ 13
3. ОПИСАНИЕ ПРОГРАММЫ 14
3.1 ФИЗИЧЕСКАЯ СТРУКТУРА И КРИТЕРИИ ОБЪЕДИНЕНИЯ КЛАССОВ В МОДУЛИ 14
3.2 ВЗАИМОДЕЙСТВИЕ МОДУЛЕЙ, КЛАССОВ, СПОСОБЫ ОБРАЩЕНИЯ 15
4. ТЕСТИРОВАНИЕ 16
4.1 АНАЛИЗ НАДЕЖНОСТИ 16
4.2 ТЕСТОВЫЕ ПРИМЕРЫ 17
4.3 РЕАКЦИЯ ПРОГРАММЫ НА ТЕСТЫ 22
4.4 АНАЛИЗ ОЖИДАЕМЫХ И ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ 23
4.5 ВЫВОД ПО РЕЗУЛЬТАТАМ ТЕСТИРОВАНИЯ 24
5. ПРИМЕНЕНИЕ ПРОГРАММЫ 25
5.1 НАЗНАЧЕНИЕ ПРОГРАММЫ 25
5.2 ОБЛАСТЬ ПРИМЕНЕНИЯ 27
5.3 АППАРАТНО-ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ НОРМАЛЬНОГО ФУНКЦИОНИРОВАНИЯ ПРОГРАММЫ 28
5.4 ИНСТАЛЛЯЦИЯ ПРОГРАММЫ 29
5.5 ФОРМЫ ПРЕДСТАВЛЕНИЯ ВЫХОДНЫХ ДАННЫХ 30
6. ОХРАНА ТРУДА 31
6.1 ОБЩИЕ ТРЕБОВАНИЯ БЕЗОПАСНОСТИ 31
6.2 ТРЕБОВАНИЯ БЕЗОПАСНОСТИ ПЕРЕД НАЧАЛОМ РАБОТЫ 34
6.3 ТРЕБОВАНИЯ БЕЗОПАСНОСТИ ПРИ ВЫПОЛНЕНИИ РАБОТЫ 35
6.4 ТРЕБОВАНИЯ БЕЗОПАСНОСТИ В АВАРИЙНЫХ СИТУАЦИЯХ 37
6.5 ТРЕБОВАНИЯ БЕЗОПАСНОСТИ ПО ОКОНЧАНИИ РАБОТЫ 38
7. ЭКОНОМИЧЕСКИЙ РАЗДЕЛ 39
7.1 РАСЧЕТ ПОЛНОЙ СЕБЕСТОИМОСТИ ПРОГРАММНОГО СРЕДСТВА АДМИНИСТРИРОВАНИЯ И НАСТРОЙКИ ОПЕРАЦИОННОЙ СИСТЕМЫ WINDOWS XP 39
7.2 ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЦЕЛЕСООБРАЗНОСТИ ПРОВЕДЕНИЯ МЕРОПРИЯТИЯ 43
7.3 РАСЧЕТ КАПИТАЛЬНЫХ ЗАТРАТ 44
7.5 ТЕХНИКО - ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ. ВЫВОДЫ ПО РАСЧЕТАМ. 47
ЗАКЛЮЧЕНИЕ 48
Список используемых источников 49
ПРИЛОЖЕНИЯ А 50
RegKey.Close();
runTable.Rows.Clear();
toolStripButton1_Click(null, null);
}
else
if (Convert.ToString(runTable.
{
RegistryKey RegKey = Registry.LocalMachine.
("SOFTWARE\\Microsoft\\
RegKey.DeleteValue(Convert.
RegKey.Close();
runTable.Rows.Clear();
toolStripButton2_Click(null, null);
}
else
if (Convert.ToString(runTable.
{
RegistryKey RegKey = Registry.LocalMachine.
("SOFTWARE\\Microsoft\\
RegKey.DeleteValue(Convert.
RegKey.Close();
runTable.Rows.Clear();
toolStripButton3_Click(null, null);
}
else
if (Convert.ToString(runTable.
{
RegistryKey RegKey = Registry.CurrentUser.
RegKey.DeleteValue(Convert.
RegKey.Close();
runTable.Rows.Clear();
toolStripButton4_Click(null, null);
}
else
if (Convert.ToString(runTable.
{
}
}
catch
{
}
}
//Добавление программ в автозагрузку
private void toolStripButton9_Click(object sender, EventArgs e)
{
addRunForm form = new addRunForm();
form.Show();
}
//Изменение размеров таблицы
private void panel1_SizeChanged(object sender, EventArgs e)
{
runTable.Columns[3].Width = runTable.Width - 260;
}
//Применить
private void buttonOk_Click(object sender, EventArgs e)
{
try
{
if (flagM)
{
flagM = false;
switch (menuFlag)
{
case 0:
PerfClass prf = new PerfClass();//
for (int m = 0; m < 19; m++)
{
if (checkedListBox1.
{
}
else prf.writepr[m] = 0; //Выключает значение
}
prf.writeperf(); //Переписывает ключи реестра
break;
case 1:
VisClass vS = new VisClass();
for (int i = 0; i < 44; i++)
{
if (checkedListBox1.
{
}
else vS.writevis[i] = 0; //Выключает значение
}
vS.writevisual();
break;
case 3:
CnClass wr;
if (radioButton1.Checked) wr = new CnClass(0);
if (radioButton2.Checked) wr = new CnClass(1);
if (radioButton3.Checked) wr = new CnClass(2);
if (radioButton4.Checked) wr = new CnClass(3);
break;
}
DialogResult result = MessageBox.Show("Для вступления изменений в силу необходимо презагрузить компьютер. Выполнить это сейчас?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
if (result == DialogResult.Yes)
RestartOrShotDown(WinAPIClass.
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//Отмена
private void buttonCancel_Click(object sender, EventArgs e)
{
flagM = false;
}
//Выход
private void buttonExit_Click(object sender, EventArgs e)
{
Close();
}
//Конфигурации готовых настроек
private void radioButton1_CheckedChanged(ob
{
flagM = true;
}
//Restart
private void RestartOrShotDown(WinAPIClass.
{
WinAPIClass.TokPriv1Luid tp;
IntPtr hproc = WinAPIClass.GetCurrentProcess(
IntPtr hToken = IntPtr.Zero;
WinAPIClass.OpenProcessToken(
tp.Count = 1;
tp.Luid = 0;
tp.Attr = WinAPIClass.SE_PRIVILEGE_
WinAPIClass.
WinAPIClass.
WinAPIClass.ExitWindowsEx((uin
}
//Данные о процессоре
private void cpu()
{
ManagementClass processClass = new ManagementClass("Win32_
foreach (ManagementObject o in processClass.GetInstances())
{
label2.Text = Convert.ToString(o["Name"]);
//label2.Text = Convert.ToString(o["
}
}
//Название и версия прдукта
private void inf()
{
label1.Text = Application.ProductName;
this.Text = Application.ProductName + " v" + Application.ProductVersion;
label3.Text = Application.CompanyName;
}
//Диспетчер задач
//Изменение размеров таблицы
private void gridProcess_SizeChanged(object sender, EventArgs e)
{
gridProcess.Columns[4].Width = gridProcess.Width - 390;
}
//Заполнение таблицы
private void process()
{
gridProcess.Rows.Clear();
Process[] pr = Process.GetProcesses();
try
{
pr = Process.GetProcesses(".");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
Application.Exit();
return;
}
foreach (Process p in pr)
{
try
{
string[] proc = new string[] { p.ProcessName,p.Id.ToString(),
p.StartTime.ToString(), p.TotalProcessorTime.Duration(
gridProcess.Rows.Add(proc);
}
catch { }
}
}
//Завершить процесс
private void toolStripButton18_Click(object sender, EventArgs e)
{
try
{
Process.GetProcessById(Convert
}
catch
{ }
process();
}
//Стартовать новый процесс
private void toolStripButton17_Click(object sender, EventArgs e)
{
addNewProcess newPr = new addNewProcess();
newPr.Show();
}
//О программе
private void button1_Click(object sender, EventArgs e)
{
aboutForm aF = new aboutForm();
aF.Show();
}
//разрешение на изменение настроек
private void checkedListBox1_Click(object sender, EventArgs e)
{
flagM = true;
}
//Родительский контроль
//Чтение значений
private void readParentCh()
{
closeRes closeR = new closeRes();
int a = closeR.DorR();
switch (a)
{
case 1:
radioButton5.Checked = true;
break;
case 2:
radioButton6.Checked = true;
break;
default:
radioButton5.Checked = false;
radioButton6.Checked = false;
listBox1.Items.Add("
break;
}
listBox1.Items.Clear();
for (int i = 0; i < closeR.name.Length; i++)
{
listBox1.Items.Add(closeR.
}
}
//Запись значений
private void toolStripButton29_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
int f = 1;
if (radioButton5.Checked)
f = 1;
if (radioButton6.Checked)
f = 2;
closeRes cl = new closeRes(openFileDialog1.
readParentCh();
}
}
//Удаление значений
private void toolStripButton30_Click(object sender, EventArgs e)
{
closeRes clR = new closeRes();
int f=1;
if (radioButton5.Checked)
f = 1;
if (radioButton6.Checked)
f = 2;
try
{
clR.del(listBox1.Items[
readParentCh();
}
catch
{ }
}
//Смена каталога
private void radioButton5_CheckedChanged(ob
{
listBox1.Items.Clear();
int f = 1;
if (radioButton5.Checked)
f = 1;
if (radioButton6.Checked)
f = 2;
closeRes closeR = new closeRes(f);
for (int i = 0; i < closeR.name.Length; i++)
{
listBox1.Items.Add(closeR.
}
}
}
}