Автор: Пользователь скрыл имя, 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
При выборе необходимого спецификатора руководствовался следующими правилами.
1. Члены, которые используются только внутри класса, следует определить как закрытые.
2. Данные экземпляров, которые должны находиться в пределах заданного диапазона, следует определить как закрытые, а доступ к ним обеспечить через открытые методы, выполняющие проверку вхождения в диапазон.
3. Если изменение члена может вызвать эффект, распространяющийся за пределы самого члена (т.е. действует на другие аспекты объекта), этот член следует определить как закрытый и обеспечить к нему контролируемый доступ.
4. Члены, при некорректном использовании которых на объект может быть оказано негативное воздействие, следует определить как закрытые, а доступ к ним обеспечить через открытые методы, предохраняющие эти члены от некорректного использования.
5. Методы, которые получают
или устанавливают значения
6. Объявление переменных
экземпляров открытыми
public class SettingsTest
{
private TestContext testContextInstance;
/// <summary>
///Получает или устанавливает контекст теста, в котором предоставляются
///сведения о текущем тестовом запуске и обеспечивается его функциональность.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
#region Дополнительные атрибуты теста
//
//При написании тестов можно использовать следующие дополнительные атрибуты:
//
//ClassInitialize используется для выполнения кода до запуска первого теста в классе
//[ClassInitialize()]
//public static void MyClassInitialize(TestContext testContext)
//{
//}
//
//ClassCleanup используется для выполнения кода после завершения работы всех тестов в классе
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//TestInitialize используется для выполнения кода перед запуском каждого теста
//[TestInitialize()]
//public void MyTestInitialize()
//{
//}
//
//TestCleanup используется для выполнения кода после завершения каждого теста
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/// <summary>
///Тест для Default
///</summary>
[TestMethod()]
public void DefaultTest()
{
Settings actual;
actual = Settings.Default;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для Конструктор Settings
///</summary>
[TestMethod()]
public void SettingsConstructorTest()
{
Settings target = new Settings();
Assert.Inconclusive("TODO: реализуйте код для проверки целевого объекта");
}
}
}
/// <summary>
///Это класс теста для ResourcesTest, в котором должны
///находиться все модульные тесты ResourcesTest
///</summary>
[TestClass()]
public class ResourcesTest
{
private TestContext testContextInstance;
/// <summary>
///Получает или устанавливает контекст теста, в котором предоставляются
///сведения о текущем тестовом запуске и обеспечивается его функциональность.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
#region Дополнительные атрибуты теста
//
//При написании тестов можно использовать следующие дополнительные атрибуты:
//
//ClassInitialize используется для выполнения кода до запуска первого теста в классе
//[ClassInitialize()]
//public static void MyClassInitialize(TestContext testContext)
//{
//}
//
//ClassCleanup используется для выполнения кода после завершения работы всех тестов в классе
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//TestInitialize используется для выполнения кода перед запуском каждого теста
//[TestInitialize()]
//public void MyTestInitialize()
//{
//}
//
//TestCleanup используется для выполнения кода после завершения каждого теста
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/// <summary>
///Тест для ResourceManager
///</summary>
[TestMethod()]
public void ResourceManagerTest()
{
ResourceManager actual;
actual = Resources.ResourceManager;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для imgHeder
///</summary>
[TestMethod()]
public void imgHederTest()
{
Bitmap actual;
actual = Resources.imgHeder;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для exit
///</summary>
[TestMethod()]
public void exitTest()
{
Bitmap actual;
actual = Resources.exit;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для delete
///</summary>
[TestMethod()]
public void deleteTest()
{
Bitmap actual;
actual = Resources.delete;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для Culture
///</summary>
[TestMethod()]
public void CultureTest()
{
CultureInfo expected = null; // TODO: инициализация подходящего значения
CultureInfo actual;
Resources.Culture = expected;
actual = Resources.Culture;
Assert.AreEqual(expected, actual);
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для add
///</summary>
[TestMethod()]
public void addTest()
{
Bitmap actual;
actual = Resources.add;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для _5
///</summary>
[TestMethod()]
public void _5Test()
{
Bitmap actual;
actual = Resources._5;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для _4
///</summary>
[TestMethod()]
public void _4Test()
{
Bitmap actual;
actual = Resources._4;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для _3
///</summary>
[TestMethod()]
public void _3Test()
{
Bitmap actual;
actual = Resources._3;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для _2
///</summary>
[TestMethod()]
public void _2Test()
{
Bitmap actual;
actual = Resources._2;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для _1
///</summary>
[TestMethod()]
public void _1Test()
{
Bitmap actual;
actual = Resources._1;
Assert.Inconclusive("Проверьте правильность этого метода теста.");
}
/// <summary>
///Тест для Конструктор Resources
///</summary>
[TestMethod()]
public void ResourcesConstructorTest()
{
Resources target = new Resources();
Assert.Inconclusive("TODO: реализуйте код для проверки целевого объекта");
}
}
}
Программное средство было протестировано на нескольких машинах. Выявленные неполадки устранены. Были проведены тесты на «null» значения реестра, Tweaker XP работает устойчиво. В случае отсутствия необходимого ключа, он создается автоматически.
Операционная система Windows XP одна из самых популярных ОС. Таковой она является благодаря простоте и нетребовательности к оборудованию. Также, немаловажным достоинством Windows XP является наличие большого количества программного обеспечения разработанного под нее. Сюда можно отнести офисные решения, мультимедиа, специализированное программное обеспечение и многое другое.
Как и все операционные системы, Windows нуждается в администрировании и оптимизации под нужды конечного пользователя и вычислительные мощности оборудования.
Вся информация о настройках ОС Windows XP хранится в реестре. Реестр представляет собой базу данных системы, в которой содержатся важные сведения об оборудовании, установленных программах и их параметрах, а также профилях каждой из учетных записей пользователей компьютера, к которым система постоянно обращается.
Для редактирования реестра в стандартной комплектации Windows XP предусмотрена утилита редактор реестра (regedit.exe), которая представляет собой обычное дерево каталогов, в каждом из которых содержатся ключи с параметрами, хранящими конфигурационную информацию. Для эффективного конфигурирования системы, необходимо знать полный путь к каталогу, точное имя ключа, а также значение ключа. Всего в реестре сотни каталогов и тысячи ключей, что значительно усложняет оптимизацию и администрирование ОС Windows XP путем поочередного внесения изменений значений ключей в редакторе.
Целью исследования
является создание
Цель исследования предопределила постановку и решение следующих задач:
Эти задачи позволят решить основную проблему конфигурации ОC Windows XP: сложность настройки путём внесения изменений в стандартный редактор реестра и отсутствие аналогов на рынке программного обеспечения, потому что все современные похожие программные средства имеют коммерческий статус и решают более узкий круг задач, направленных только на администрирование Windows XP либо на оптимизацию Windows XP, следовательно, для каждой задачи необходимо приобретать соответствующее программное средство для каждой вычислительной системы в отдельности.
При решении данной проблемы использовались аналитический и практический методы.
Операционная система Windows XP
Net Framework 3.5;
256 мб DDR2;
5 мб свободного места на диске;
Для инсталляции использовалась программа установки Windows Installer 3.1.
Преимущества программы установки Windows Installer: