Разработка системы автоматизированного учета для багетной мастерской
Программный комплекс "Багетная мастерская": назначение создания системы. Критерии эффективности функционирования системы. Структура информационных потоков и документооборота. Выбор языка программирования. Базовое и прикладное программное обеспечение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 15.01.2010 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Id_MasterskMater_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_MasterskKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Mastersk_slave
Числовой
Длинное целое
Идентификатор комплектующего
Rashod_Komplekt
Числовой
Расход
Таблица "Masterskaya_Bagets_Table" содержит информацию о различных наименованиях багета, имеющегося в мастерской. Структура этой таблицы отображена в таблице 3.11
Таблица 3.11 - Структура таблицы "Masterskaya_Bagets_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
Masterskaya_Id |
Счетчик |
Длинное целое |
Идентификатор комплектующего |
|
Id_MaterKomplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Id_Komplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Masterskaya_RoznCena |
Числовой |
Розничная цена |
||
Masterskaya_Kol-vo |
Числовой |
Количество |
||
Masterskaya_Rashod |
Числовой |
Расход |
||
Masterskaya_Prim |
Текстовый |
50 |
Примечание |
Таблица "Masterskaya_Kompl_Table" содержит информацию о различных наименованиях комплектующих, имеющихся в мастерской. Структура этой таблицы отображена в таблице 3.12.
Таблица 3.12 - Структура таблицы "Masterskaya_Kompl_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
Masterskaya_Id |
Счетчик |
Длинное целое |
Идентификатор комплектующего |
|
Id_MaterKomplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Id_Komplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Masterskaya_RoznCena |
Числовой |
Розничная цена |
||
Masterskaya_Kol-vo |
Числовой |
Количество |
||
Masterskaya_Rashod |
Числовой |
Расход |
||
Masterskaya_Prim |
Текстовый |
50 |
Примечание |
Таблица "Masterskaya_Raznoe_Table" содержит информацию о различных наименованиях разного, имеющегося в мастерской. Структура этой таблицы отображена в таблице 3.13.
Таблица 3.13 - Структура таблицы "Masterskaya_Raznoe_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
Masterskaya_Id |
Счетчик |
Длинное целое |
Идентификатор комплектующего |
|
Id_MaterKomplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Id_Komplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Masterskaya_RoznCena |
Числовой |
Розничная цена |
||
Masterskaya_Kol-vo |
Числовой |
Количество |
||
Masterskaya_Rashod |
Числовой |
Расход |
||
Masterskaya_Prim |
Текстовый |
50 |
Примечание |
Таблица "Products_Table" содержит информацию об изделии в составе заказа. Структура этой таблицы отображена в таблице 3.14.
Таблица 3.14 - Структура таблицы "Products_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
Id_products |
Счетчик |
Длинное целое |
Идентификатор изделия |
|
ID_zakaz_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
NomerProduct |
Текстовый |
10 |
№ изделия |
|
Shirina_product |
Числовой |
Ширина изделия |
||
Visota_product |
Числовой |
Высота изделия |
||
NaimenDopRabota |
Текстовый |
40 |
Наименование дополнительной работы |
|
ItogoMaterial |
Числовой |
Итого за материал |
||
ItogoObrabotka |
Числовой |
Итого за обработку |
||
DopRabota |
Числовой |
Стоимость дополнительной работы |
||
ItogoProdukt |
Числовой |
Итого за изделие |
Таблица "Raznoe_Table" является справочником разного. Структура этой таблицы отображена в таблице 3.15.
Таблица 3.15 - Структура таблицы "Raznoe_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
Komplekt_Id |
Счетчик |
Длинное целое |
Идентификатор комплектующего |
|
Komplekt_Name |
Текстовый |
25 |
Наименование |
|
Id_MaterKomlekt_slave |
Числовой |
Вторичный идентификатор |
||
ID_EdIzm_Slave |
Числовой |
Ед. измерения |
Таблица "Sklad_Bagets_Table" содержит информацию о различных наименованиях багета, имеющегося на складе. Структура этой таблицы отображена в таблице 3.16.
Таблица 3.16 - Структура таблицы "Sklad_Bagets_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
Sklad_Id |
Счетчик |
Длинное целое |
Идентификатор багета |
|
Id_MaterKomplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Id_Komplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Sklad_NaimKomplekt |
Текстовый |
25 |
Наименование |
|
Sklad_NumberNakl |
Текстовый |
10 |
№ накладной |
|
Sklad_Data |
Дата/время |
Дата поступления |
||
Sklad_ZakupCena |
Числовой |
Закупочная цена |
||
Sklad_Kol-vo |
Числовой |
Количество |
||
Sklad_Rashod |
Числовой |
Объем списания |
||
Sklad_Prim |
Текстовый |
50 |
Примечание |
Таблица "Sklad_Kompl_Table" содержит информацию о различных наименованиях комплектующих, имеющихся на складе. Структура этой таблицы отображена в таблице 3.17.
Таблица 3.17 - Структура таблицы "Sklad_Kompl_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
1 |
2 |
3 |
4 |
|
Sklad_Id |
Счетчик |
Длинное целое |
Идентификатор комплектующего |
|
Id_MaterKomplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Id_Komplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Sklad_NaimKomplekt |
Текстовый |
25 |
Наименование |
|
Sklad_NumberNakl |
Текстовый |
10 |
№ накладной |
|
Sklad_Data |
Дата/время |
Дата поступления |
||
Sklad_ZakupCena |
Числовой |
Закупочная цена |
||
Sklad_Kol-vo |
Числовой |
Количество |
||
Sklad_Rashod |
Числовой |
Объем списания |
||
Sklad_Prim |
Текстовый |
50 |
Примечание |
Таблица "Sklad_Raznoe_Table" содержит информацию о различных наименованиях разного, имеющегося на складе. Структура этой таблицы отображена в таблице 3.18.
Таблица 3.18 - Структура таблицы "Sklad_Raznoe_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
Sklad_Id |
Счетчик |
Длинное целое |
Идентификатор разного |
|
Id_MaterKomplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Id_Komplekt_slave |
Числовой |
Длинное целое |
Вторичный идентификатор |
|
Sklad_NaimKomplekt |
Текстовый |
25 |
Наименование |
|
Sklad_NumberNakl |
Текстовый |
10 |
№ накладной |
|
Sklad_Data |
Дата/время |
Дата поступления |
||
Sklad_ZakupCena |
Числовой |
Закупочная цена |
||
Sklad_Kol-vo |
Числовой |
Количество |
||
Sklad_Rashod |
Числовой |
Объем списания |
||
Sklad_Prim |
Текстовый |
50 |
Примечание |
Таблица "Zakazi_Table" содержит информацию о заказах. Структура этой таблицы отображена в таблице 3.19.
Таблица 3.19 - Структура таблицы "Zakazi_Table"
Идентификатор поля |
Тип |
Размер |
Название |
|
ZakazId |
Счетчик |
Длинное целое |
Идентификатор заказа |
|
NomerZakaza |
Текстовый |
10 |
№ заказа |
|
NaimZakaz |
Текстовый |
50 |
Наименование |
|
DataPriema |
Дата/время |
Дата приема |
||
VremyaPriema |
Дата/время |
Время приема |
||
DataOkonch |
Дата/время |
Дата окончания |
||
VremyaOkonch |
Дата/время |
Время окончания |
||
ID_Client_slave |
Числовой |
Длинное целое |
Идентификатор клиента |
|
ItogSRabotoi |
Числовой |
Стоимость с работой |
||
ItogBezRaboti |
Числовой |
Стоимость без работы |
||
Itog_Scidka |
Числовой |
Итоговая скидка |
||
ItogoKOplate |
Числовой |
Итого к оплате |
В таблице "Temp_Prodazhi" хранится информация о багете, комплектующих, разном. Данная таблица используется для отчета "Сумма продаж материалов за период". Перед выполнением отчёта в неё заносятся соответствующие детали для выбранного менеджером периода, формируется отчёт. После формирования отчета таблица очищается. Структура этой таблицы отображена в таблице 3.20.
Таблица 3.20 - Структура таблицы "Temp_Prodazhi"
Идентификатор поля |
Тип |
Размер |
Название |
|
Id |
Счетчик |
Длинное целое |
Уникальный идентификатор |
|
TipKomplekt |
Текстовый |
10 |
Тип комплектующего |
|
Naimenovanie |
Текстовый |
50 |
Наименование |
|
EdIzm |
Текстовый |
10 |
Ед. изм. |
|
Rashod |
Числовой |
Длинное целое |
Расход |
|
Prodano |
Числовой |
Продано |
Бланк заказа выводится на печать с использованием стандартного компонента QuickReport системы разработки приложений Delphi 7.
Отчеты выводятся на печать с использованием компонентов технологии Rave Reports.
4. Лингвистическое обеспечение
Лингвистическое обеспечение - это совокупность всех языковых средств, используемых при создании и эксплуатации системы. Основными из этих средств являются входной язык, внутренний и выходной.
4.1 Входной язык
Входной язык служит для представления и описания исходной информации об объектах и задачах проектирования. Данный язык является естественным языком.
Входной язык программы позволяет принимать от пользователя следующие данные:
настройки программы,
исходные данные для расчета и оформления заказа,
исходные данные для выполнения запросов пользователя,
исходные данные для поиска информации, требуемой пользователю.
Указанные данные программа принимает в виде введенного с клавиатуры текста и в виде параметров, указанных мышью. В качестве элементов интерфейса используются элементы, аналогичные стандартным элементам Windows, снабженные визуальными эффектами, работающие с мышью и клавиатурой.
4.2 Внутренние языки
4.2.1 Выбор языка программирования
В качестве языка программирования для данной системы должен быть выбран универсальный язык программирования высокого уровня, который отвечает следующим требованиям:
возможность решения широкого класса задач;
набор операторов языка должен отражать принципы структурного проектирования;
возможность работы с базами данных;
возможности создания запросов к базам данных;
синтаксис языка должен быть достаточно не сложным и включать в себя возможность объектно-ориентированного программирования;
язык должен быть лёгок для изучения;
наличие компилятора с возможностью компоновки исполняемых файлов для работ под управлением операционных систем семейства Windows.
Для разработки системы " Багетная мастерская" выбираем язык Object Pascal и структурированный язык запросов SQL.
4.2.2 Общая характеристика языка Object Pascal
Object Pascal - язык программирования высокого уровня, удовлетворяющий следующим требованиям:
развитая система типов;
возможность решения широкого класса задач;
набор операторов языка отражает принципы структурного проектирования и позволяет записывать достаточно сложные алгоритмы в лёгкой и элегантной форме;
синтаксис языка достаточно не сложный и включает в себя возможности объектно-ориентированного программирования;
язык лёгок для изучения;
позволяет работать с базами данных;
позволяет составлять отчёты;
наличие компилятора с возможностью компоновки исполняемых файлов под операционную систему Windows XP Professional, требования к которой были предъявлены в техническом задании.
От языка Visual Basic Pascal отличает строгая типизированность, позволяющая компилятору ещё на этапе компиляции обнаружить многие ошибки, а также средства работы с указателями.
Синтаксис С++ более сложен по сравнению с простым и ясным синтаксисом Object Pascal, поэтому Object Pascal претендует на роль языка, идеально подходящего для описания алгоритма. Во всех случаях Object Pascal имеет самый быстрый, среди продуктов подобного рода, оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы.
В лингвистической концепции языка Object Pascal пропагандируется системный подход программирования, выражающийся, в частности, в расчленение крупных проблем на меньшие по сложности и размеру задачи, которые легче поддаются решению. Основные принципы языка Object Pascal таковы:
структурное программирование. Суть его заключается в оформлении последовательностей команд как замкнутых функций или процедур и в объединении данных, связанных по смыслу, в сложные структуры данных. Благодаря этому повышается наглядность текста и упрощается его отладка.
проектирование сверху вниз. Программист разбивает свою задачу на несколько более простых, после чего каждая из задач решается по отдельности. Затем компонуются результаты проектирования простых задач, и решается задача проектирования в целом.
при объектно-ориентированном программировании данные объединяются со свойственными им операциями обработки в некоторые объекты. При этом свойства одних могут передаваться другим.
Структура составления программы в Object Pascal можно условно разделить на три основные части:
раздел объявлений и соглашений;
раздел текстов процедур и функций;
раздел основного блока.
Ниже показана структура Object Pascal - программ.
4.2.2.1 Структура программы Object Pascal
program{Заголовок программы}
{$... }{Глобальные директивы компилятора}
uses{Подключаемые библиотеки}
label{Подраздел объявления меток}
const{Подраздел объявления глобальных констант}
type{Подраздел объявления глобальных типов}
var{Подраздел объявления глобальных переменных}
begin{Основной блок программы}
end.
4.2.2.2 Структура модуля Object Pascal
unit{Заголовок модуля}
interface{Раздел объявлений}
uses{Подключаемые библиотеки}
label{Подраздел объявления меток}
const{Подраздел объявления констант}
type{Подраздел объявления типов}
var{Подраздел объявления переменных}
implementation{Раздел реализации}
uses{Подключаемые библиотеки}
label{Подраздел объявления меток}
const{Подраздел объявления констант}
type{Подраздел объявления типов}
var{Подраздел объявления переменных}
initialization{Раздел инициализации}
finalization{Раздел завершения}
end.
4.2.2.3 Структура текста процедур и функций:
procedure (function) {Заголовок процедуры (функции) }
label{Подраздел объявления меток}
const{Подраздел объявления локальных констант}
type{Подраздел объявления локальных типов}
var{Подраздел объявления локальных переменных}
begin{Основной блок процедуры или функции}
end;
В разделе объявлений и соглашений программы (до основного блока программы) программист сообщает компилятору, какими идентификаторами он обозначает данные (константы и данные), а также определяет собственные типы данных, которые он в дальнейшем намеревается использовать. В разделе глобальные директивы программы компилятору можно дать указания, определяющие режимы его работы при трансляции последующей программы. Оператор Uses играет важную роль в подключении к тексту программы системных модулей из библиотек. Следом за строкой, содержащей оператор Uses, следуют строки объявляющие:
метки (Label) - описание меток вводит совокупность идентификаторов и/или целых чисел, предназначенных для организации последовательности вычислений;
константы (Const) - определение констант задаёт в программе идентификаторы, являющиеся синонимами некоторых значений;
определённые пользователем типы данных (Type) - определение типов предназначено для задания конкретных множеств значений;
переменные (Var) - в этом разделе происходит определение глобальных переменных, переменная обозначается идентификатором и каждой переменной присваивается тип.
Основной блок программы состоит из последовательности операторов, причём работа программы начинается с первого оператора основного блока программы. Тело программы ограничено операторами begin и end. После оператора end ставится точка.
Модуль Object Pascal состоит из четырех разделов: объявлений, реализации, инициализации и завершения. Переменные, константы и типы, объявленные в разделе объявлений, доступны любому модулю или программе, использующим данный модуль. Переменные, константы и типы, объявленные в разделе реализации, доступны только в этом модуле. Операторы, содержащиеся в разделе инициализации, выполняются один раз при запуске программы. Операторы, содержащиеся в разделе завершения, выполняются один раз при завершении программы. Разделы инициализации и завершения являются необязательными.
Процедура и функция - термины, применяемые в языке программирования Object Pascal для обозначения специальным образом оформленной последовательности команд (подпрограмм). Доступ к такой подпрограмме может быть осуществлён из любого места основного блока программы, а также из любой процедуры или функции, описание которых следует ниже. Внутри процедуры или функции можно объявить локальные метки, константы, типы данных и переменные. Локально объявленные переменные доступны только внутри той процедуры или функции, где они объявлены, а вне её считаются недействительными.
4.2.3 Структурированный язык запросов SQL
Реляционный способ доступа к данным основан на использовании SQL-запросов, которые позволяют выбирать записи по сложным критериям из одной или нескольких таблиц, сортировать записи, выполнять поиск записей.
Отбор данных из таблиц БД осуществляется с помощью оператора SELECT. Результат такого отбора называется выборкой. В общем виде этот оператор имеет такой формат:
SELECT [DISTINCT] {*| поле1, [, поле2 …] }
FROM таблица1 [, таблица2 …]
[WHERE условия_отбора]
[GROUP BY список_группируемых_полей]
[HAVING условие_группирования]
[ORDER BY список_полей_для_сортировки]
[UNION оператор_SELECT]
Описание оператора SELECT требует обязательного указания списка полей, а также операнда FROM, после которого приводится список таблиц, используемых для отбора данных. Все остальные операнды могут не указываться. В самом простом случае данный оператор может иметь такой вид:
SELECT Tovar, Price
FROM Shop
При указании описателя DISTINCT после ключевого слова SELECT обеспечивается исключение из выборки одинаковых записей, для которых совпадают значения всех полей, указанных в операторе SELECT.
В секции WHERE оператора SELECT задается необходимое условие отбора, что позволяет включать в выборку только те записи, которые соответствуют условию отбора. Условие поиска имеет такое общее описание:
WHERE имя_поля операция константа
В качестве операции может выступать одна из операций отношения: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно),! < (не меньше),! > (не больше), <> (не равно). Кроме того, условие может быть составным, для объединения частей которого применяются круглые скобки и логические функции NOT, AND, OR.
Группирование данных используется в ситуациях, когда необходимо получить агрегированные значения не по всему набору данных, а по каждой из входящих в него групп записей, характеризующихся одинаковым значением какого-либо поля. Например, следующий запрос позволяет получить общее количество сотрудников по каждому отделу фирмы.
SELECT Otdel, COUNT (Tab_nom)
FROM firm
GROUP BY Otdel
В ряде случаев необходимо установить некоторые ограничения на группируемые значения. Для этого применяется оператор HAVING. К примеру, если в предыдущем примере требуется вывести только те отделы, в которых количество сотрудников более 10, то это можно осуществить с помощью запроса такого вида:
SELECT Otdel, COUNT (Tab_nom)
FROM firm
GROUP BY Otdel
HAVING COUNT (Tab_nom) >10
Сортировка или упорядочение записей по возрастанию или по убыванию значений полей осуществляется с помощью операнда ORDER BY. После него приводится список полей, по которым должна производится сортировка. Записи будут упорядочены в зависимости от порядка указания полей.
В некоторых случаях требуется объединить результаты выполнения нескольких операторов SELECT. Такое объединение производится с помощью оператора UNION. При этом результирующие наборы данных должны иметь одинаковый формат, то есть одинаковый состав возвращаемых полей, и полное совпадение типов данных соответствующих полей.
4.3 Выходной язык
Выходной язык - это средство представления результатов выполнения программы в виде, наиболее удобном и понятном пользователю. Он должен обеспечить соответствие выдаваемого результата запросам, сформированным пользователем. В данном случае в виде таблиц.
Выходной язык обеспечивает оформление и сохранение результатов работы программы в текстовом виде. Выходная информация в программе представляется в виде отчетной документации - бланк заказа, прайс-лист, а также отчетов таких, как "Остатки материалов в мастерской", "Сумма заказов за период", "Продажи материалов за период", "Заказы, которые должны быть готовы к указанной дате" и в виде сообщений пользователю.
В случае некорректного ввода данных результат работы - сообщение об ошибке. Сообщения пользователю программы разделяются на сообщения о результатах выполнения какой-либо операции, на сообщения об ошибках и предупреждающие сообщения, выдаваемые в ходе работы с системой.
Сообщения об ошибках разделяются на критические, фатальные и исправимые.
Возникновение критических ошибок приводит к прерыванию работы системы, выходу из программы и, возможно, к перезагрузке системы. Данный тип ошибок обуславливается только ошибками программирования системы, не обнаруженных на этапе тестирования. При появлении такой ошибки выдается стандартное сообщение ОС Windows: "Программа выполнила недопустимую операцию и будет закрыта", при этом нет возможности сохранить текущую работу. Фатальные ошибки приводят к прерыванию обработки текущей выполняемой операции без нарушения целостности системы. Данный тип ошибок возникает из-за ошибок в задании исходных данных, некорректном пользовании системой. После появления такой ошибки необходимо проверить исходные данные и повторить процедуру. Сообщения об исправимых ошибках информируют пользователя о таковой и переводят программу в диалоговый режим, предоставляя пользователю возможность скорректировать исходные данные либо прервать обработку. Предупреждающие сообщения информируют пользователя о возможной некорректности исходных данных либо об отсутствии некоторых данных, что может привести к погрешностям вычислений либо к иным негативным результатам.
5. Программное обеспечение
5.1 Общесистемное ПО
Учитывая требования, указанные в техническом задании, выбираем в качестве общесистемного ПО операционную систему Microsoft Windows XP Professional. Это 32 разрядная ОС с приоритетной многозадачностью. В её основе лежат следующие основные принципы:
1. Совместимость. Система может иметь привычный интерфейс ОС семейства Windows, с некоторыми добавлениями и расширениями. Большинство приложений, написанных под MSDOS, W9x, а также некоторые программы под OS/2 и POSIX запускаются и функционируют без проблем. При проектировании учитывалась возможность работы системы в различных сетевых средах, поэтому в поставку входят средства для работы в Unix - и Novell-сетях.
2. Переносимость. Система работает на различных процессорах семейства x86 производства Intel и AMD. Существует 64 битная версия Windows XP, предназначенная для работы на Intel Itanium, а также версия, предназначенная для процессоров AMD Athlon 64.
3. Система безопасности. Реализована система безопасности на уровне пользователей.
4. Распределённая обработка. Windows XP имеет встроенные в систему сетевые возможности, что обеспечивает возможность связи с различными типами компьютеров-хостов благодаря наличию разнообразных транспортных протоколов и технологии "клиент-сервер".
5. Надёжность и отказоустойчивость. Архитектура ОС защищает приложения от повреждения друг другом и самой операционной системой. При этом используется отказоустойчивая структурированная обработка особых ситуаций на всех архитектурных уровнях, которая включает восстанавливаемую файловую систему NTFS и обеспечивает защиту с помощью встроенной системы безопасности и усовершенствованных методов управления памятью.
6. Локализация. Система предоставляет возможности для работы во многих странах мира на национальных языках, что достигается применением стандарта ISO Unicode.
Технические требования, предъявляемые к компьютеру, для инсталляции и работы с данной ОС:
процессор Pentium с тактовой частотой минимум 233 МГц или более мощный (или совместимый с ним);
рекомендуемый объем оперативной памяти 256 мегабайт (Мб); минимальный объем 128 Мб, максимальный - 4 гигабайта (Гб);
1,5 Гб свободного места на жестком диске;
монитор VGA;
клавиатура;
мышь или совместимое указывающее устройство;
дисковод компакт-дисков или DVD-дисков.
5.2 Базовое программное обеспечение
5.2.1 Средства разработки прикладного программного обеспечения
Для разработки прикладного программного обеспечения выберем среду визуального и объектно-ориентированного программирования Borland Delphi 7.0, основанную на языке Object Pascal и Microsoft Access.
5.2.1.1 Borland Delphi 7.0
Рассмотрим достоинства среды разработки Delphi 7.0:
высокая скорость написания приложений по сравнению с другими языками программирования, вследствие значительного упрощения работы по созданию графического интерфейса;
наличие широкого набора компонентов для работы с базами данных, позволяющего решать широкий круг задач, связанных с отображением и редактированием информации, содержащейся в базе данных;
обширная и удобная в использовании справка, в т. ч. контекстная;
простой, интуитивно понятный интерфейс;
высокая скорость работы создаваемых приложений;
интеграция со средствами работы с базами данных (такими, как SQL Explorer, SQL Monitor), что позволяет в рамках единой среды выполнять весь процесс разработки программного комплекса, включая создание структуры базы данных;
оптимальное сочетание низкоуровневых и высокоуровневых возможностей, что с одной стороны позволяет решать практически любые задачи в среде ОС Windows, а с другой стороны концентрироваться (там, где это необходимо) на логике программы, нежели на особенностях программной реализации.
При написании прикладного программного обеспечения используются следующие стандартные библиотеки:
библиотека System является основной библиотекой Object Pascal. Она реализует подпрограммы для всех встроенных возможностей, таких как ввод/вывод, обработка строк, эмуляция арифметического сопроцессора, работа с исключениями, содержит определения основных классов (в т. ч. TObject, TInterfacedObject). Библиотека System используется автоматически любым модулем или программой и не указывается в предложении Uses;
библиотека Windows импортирует процедуры операционной системы для работы с файлами, объектами синхронизации, графикой, интерфейсом пользователя, трехмерной графикой (OpenGL), а также содержит определения соответствующих структур. Она становится доступной после указания её имени в предложении Uses;
библиотека Classes содержит определения вспомогательных классов для работы со списками, коллекциями, потоками данных, потоками выполнения и т.п. Она становится доступной после указания её имени в предложении Uses;
библиотека Controls содержит определения основных классов VCL (Visual Component Library), служащих базовыми для всех элементов управления. Она становится доступной после указания её имени в предложении Uses;
библиотека Forms содержит определения классов VCL для работы с оконными формами и приложением в целом. Она становится доступной после указания её имени в предложении Uses;
библиотека SysUtils содержит вспомогательные функции для преобразования типов, операций над строками и опеределения некоторых классов, в т. ч. всех классов исключений;
библиотека Dialogs содержит определения классов VCL для работы со стандартными диалоговыми окнами Windows (открытие и сохранение файлов, печать и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека Messages содержит коды основных оконных сообщений Windows в виде именованных констант а также определения структур для работы с сообщениями Windows. Она становится доступной после указания её имени в предложении Uses;
библиотека StdCtrls содержит определения классов VCL для работы со стандартными элементами управления Windows (окна редактирования, раскрывающиеся списки, кнопки и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека ComCtrls содержит определения классов VCL для работы с элементами управления Win32 (списки, деревья, панели инструментов и др.). Она становится доступной после указания её имени в предложении Uses;
библиотека CommCtrl содержит определения структур, коды сообщений и импортируетт функции для работы с элементами управления Win32 (списки, деревья, панели инструментов и др.). Она становится доступной после указания её имени в предложении Uses;
библиотека ExtCtrls содержит определения классов VCL для работы с нестандартными элементами управления (фигуры, заголовки, панели и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека Menus содержит определения классов VCL для работы с оконными и всплывающими меню. Она становится доступной после указания её имени в предложении Uses;
библиотека AppEvnts содержит определение вспомогательного класса VCL для работы с событиями приложения. Она становится доступной после указания её имени в предложении Uses;
библиотека Buttons содержит определения классов VCL для работы с кнопками, содержащими, помимо текста (или вместо него), графические изображения. Она становится доступной после указания её имени в предложении Uses;
бибилиотека ActnList содержит определение класса VCL для работы со списками команд. Она становится доступной после указания её имени в предложении Uses;
библиотека Math реализует функции для выполнения различных математических операций. Она становится доступной после указания её имени в предложении Uses;
библиотека Variants реализует функции для работы с переменными, которые могут содержать значения различных типов. Она становится доступной после указания её имени в предложении Uses;
библиотека DBCtrls содержит определения классов VCL для работы с элементами управления, предназначенными для отображения и редактирования информации, содержащейся в базах данных. Она становится доступной после указания её имени в предложении Uses;
библиотека DBGrids содержит определения классов VCL для работы с элементами управления, предназначенными для отображения и редактирования информации, содержащейся в базах данных, в виде таблицы. Она становится доступной после указания её имени в предложении Uses;
библиотека DB содержит определения классов, предназначенных для работы со структурой баз данных (поля, индексы и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека DBTables содержит определения классов VCL, предназначенных для управления конфигурацией BDE, создания устойчивых подключений к базам данных, объектов баз данных (таблиц, запросов и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека QuickRpt содержит определения основных классов для работы с системой составления отчетов. Она становится доступной после указания её имени в предложении Uses.
5.2.1.2 Microsoft Access
Приложение Microsoft Access является мощной и высокопроизводительной 32-разрядной системой управления реляционной базой данных (далее СУБД).
База данных - это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных.
Реляционная база данных. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Excel), которые могут эмулировать некоторые функции баз данных.
Существует три принципиальных отличия между СУБД и программами электронных таблиц:
СУБД разрабатываются с целью обеспечения эффективной обработки больших объёмов информации, намного больших, чем те, с которыми справляются электронные таблицы.
СУБД может легко связывать две таблицы так, что для пользователя они будут представляться одной таблицей. Реализовать такую возможность в электронных таблицах практически невозможно.
СУБД минимизируют общий объём базы данных. Для этого таблицы, содержащие повторяющиеся данные, разбиваются на несколько связанных таблиц.
Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.
Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase.
В Access реализована надёжная система защиты от несанкционированного доступа к файлам.
База данных храниться в одном файле.
5.2.2 Средства документирования
Для составления проектной документации используется текстовой процессор Microsoft Word XP корпорации Microsoft. Microsoft Word XP является одним из наиболее распространённых текстовых процессоров и предназначен для составления простых и сложных документов с иллюстрациями, формулами, графиками и диаграммами.
Перечислим основные возможности Word:
выделение абзацев;
автоматический перенос слов;
изменение границ текста;
автоматическая проверка орфографии и грамматики;
создание таблиц;
вставка в документ графического изображения (рисунков);
вставка и поддержка работы с математическими формулами;
Редактор формул позволяет создавать математические формулы любой сложности.
Набранный текст можно распечатать на принтере, подключенном к компьютеру. Microsoft Office Word предъявляет те же системные требования к машине, что и Windows XP.
Для подготовки презентации используется программный продукт Microsoft PowerPoint XP корпорации Microsoft.
Microsoft PowerPoint XP хорошо подходит для составления презентаций любой сложности, поскольку обладает обширными возможностями, при этом обеспечивая максимальную простоту и удобство работы. Процесс создания презентации в Microsoft PowerPoint состоит из таких действий, как выбор общего оформления, добавление новых слайдов и их содержимого, выбор разметки слайдов, изменение при необходимости оформления слайдов, изменение цветовой схемы, применение различных шаблонов оформления и создание таких эффектов, как эффекты анимации при демонстрации слайдов.
5.3 Прикладное программное обеспечение
5.3.1 Структура прикладного программного обеспечения
Система "Багетная мастерская" состоит из следующих модулей:
модуль "MainUnit. pas" - главная форма программы (таблица 5.1);
модуль "SostavProductUnit. pas" - форма определения состава изделия (таблица 5.2);
модуль "SkladKomplektUnit. pas" - форма ведения складского учета (таблица 5.3);
модуль "MasterskayaKomplektUnit. pas" - форма ведения учета запасов комплектующих в мастерской (таблица 5.4);
модуль "KlientsUnit. pas" - форма ведения клиентского учета (таблица 5.5);
модуль "EdIzmUnit. pas" - справочник единиц измерения (таблица 5.6);
модуль "ALLKomplektUnit. pas" - справочник по комплектующим и материалам (таблица 5.7);
модуль "BagetKomplektUnit. pas" - справочник багета (таблица 5.8);
модуль "SelectDateUnit. pas" - форма выбора промежутка дат в запросах;
модуль "SplashUnit. pas" - заставка программы;
модуль "PrintZakazUnit. pas" - форма распечатки бланка;
модуль "PassFirstUnit. pas" - форма авторизации при запуске программы;
модуль "ChangePassUnit. pas" - форма изменения пароля доступа;
модуль "DMReportUnit. pas" - содержит компоненты соединения с таблицами базы данных для составления запросов для отчетов;
модуль "AboutUnit. pas" - форма справочной информации о программе;
модуль "DataUnit. pas" - содержит компоненты для связи с таблицами базы данных.
Вышеописанные модули имеют следующую структуру:
UNIT Имя модуля
INTERFACE {Начало раздела объявлений}
USES{Используемые при объявлениях модули}
CONST{Блок объявления библиотечных констант}
TYPE{Блок объявления библиотечных типов}
VAR{Блок объявления библиотечных переменных}
IMPLEMENTATION{Начало раздела реализации}
USES{Используемые при реализации модули}
CONST{Блок объявления внутренних констант}
TYPE{Блок объявления внутренних типов}
VAR{Блок объявления внутренних переменных}
LABEL{Блок объявления внутренних меток}
INITIALIZATION{Начало раздела инициализации}
FINALIZATION{Начало раздела финальной части}
END.
Более подробное описание модулей представлено в таблицах 5.1 - 5.8.
Таблица 5.1 - Структура модуля Main
Названия процедур |
Назначение |
|
1 |
2 |
|
CreateALLEdIzmForm |
Динамически создаёт форму "Единицы измерения" |
|
EdIzmActExecute |
Показать форму "Ед. изм. " |
|
CreateALLKlientsForm |
Динамически создаёт форму "Клиенты" |
|
KlientsActExecute |
Показать форму "Клиенты" |
|
CreateBagetKomplektForm |
Динамически создаёт форму "Материалы - багеты" |
|
CreateAllKomplektForm |
Динамически создаёт форму "Материалы - Комплектующие" и "Материалы - Разное" |
|
ActMaterBagetExecute |
Показать форму "Материалы - багеты" |
|
ActMaterKomplektExecute |
Показать форму "Материалы - Комплектующие" |
|
ActMaterRaznoeExecute |
Показать форму "Материалы - Разное" |
|
CreateAllMasterskayaKomplektForm |
Динамически создаёт форму для мастерской |
|
ActSkladKomplektExecute |
Показать форму "Склад - комплектующие" |
|
ActSkladRaznoeExecute |
Показать форму "Склад - разное" |
|
ActSkladBagetsExecute |
Показать форму "Склад - багеты" |
|
ActMaterRaznoeExecute |
Показать форму "Материалы - Разное" |
|
ExitActExecute |
Выход из программы |
|
DBEditItogSRabotoiKeyPress |
Обработчик ввода данных |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
DBEditDataPriemaExit |
Проверяет корректность ввода даты |
|
BBSortASCClick |
Сортировка записей |
|
ButtonSostavClick |
Открывает форму "состав изделия" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
ActPrintOptionExecute |
Настройка параметров принтера |
|
ActPrintExecute |
Распечатка заказа |
|
Act_Zak_EditExecute |
Редактирование заказа |
|
Act_Zak_DelExecute |
Удаление заказа |
|
Act_Zak_SaveExecute |
Сохранить заказ |
|
Act_Zak_CancelExecute |
Отмена изменений в заказе |
|
Act_Izd_AddExecute |
Добавить изделие |
|
Act_Izd_EditExecute |
Редактировать изделие |
|
Act_Izd_DelExecute |
Удалить изделие |
|
Act_Izd_SaveExecute |
Сохранить изменения в изделии |
|
Act_Izd_CancelExecute |
Отменить изменения в изделии |
|
Act_Izd_SostavExecute |
Определить состав изделия |
|
Act_Zak_RashitatExecute |
Рассчитать заказ |
|
Act_R_OstatkiExecute |
Выполняет отчёт "остатки материалов в мастерской" |
|
FormCreate |
Обработчик создания формы |
|
Act_R_PriceListExecute |
Выполняет отчёт "прайс-лист" |
|
CreateSelectDateForm |
Создаёт форму выбора для отчёта начальной и конечной даты |
|
Act_R_SummaZakazovExecute |
Выполняет отчёт "сумма заказов за период" |
|
Act_R_ZakaziKDateExecute |
Выполняет отчёт "Заказы к дате" |
|
Act_R_ProdazhiMaterExecute |
Выполняет отчёт "продажи материалов за период" |
|
ActArchivExecute |
Открывает диалог "Файл - архивация базы" |
|
Act_Zak_ClearExecute |
Очистить таблицу "Заказы" |
|
Act_Zash_ChangePassExecute |
Открывает форму "Изменить пароль" |
|
Act_Zak_AddExecute |
Выполняет пункт меню "Заказы" "добавить" |
|
Act_AboutExecute |
Динамически создаёт форму "О программе" |
|
Act_HelpExecute |
Открывает файл справки |
Таблица 5.2 - Структура модуля SostavProductUnit. pas
Названия процедур |
Назначение |
|
1 |
2 |
|
BBtnBagetsAddClick |
Обработчик кнопки "багеты - добавить" |
|
BBtnBagetsEditClick |
Обработчик кнопки "багеты - редактировать" |
|
BBtnBagetsDelClick |
Обработчик кнопки "багеты - удалить" |
|
BBtnBagetsSaveClick |
Обработчик кнопки "багеты - сохранить" |
|
BBtnBagetsCancelClick |
Обработчик кнопки "багеты - отмена" |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
FormCloseQuery |
Обработчик выхода из программы |
|
BBtnRaznoeAddClick |
Обработчик кнопки "Разное - Добавить" |
|
BBtnRaznoeEditClick |
Обработчик кнопки "Разное - Редактировать" |
|
BBtnRaznoeDelClick |
Обработчик кнопки "Разное - Удалить" |
|
BBtnRaznoeSaveClick |
Обработчик кнопки "Разное - Сохранить" |
|
BBtnRaznoeCancelClick |
Обработчик кнопки "Разное - Отмена" |
|
DBLCBLRazkomplektDropDown |
Обработчик списка "Разное - наименование детали" |
|
BBtnKomplAddClick |
Обработчик кнопки "Комплектующие - Добавить" |
|
BBtnKomplEditClick |
Обработчик кнопки "Комплектующие - Редактировать" |
|
BBtnKomplDelClick |
Обработчик кнопки "Комплектующие - Удалить" |
|
BBtnKomplSaveClick |
Обработчик кнопки "Комплектующие - Сохранить" |
|
BBtnKomplCancelClick |
Обработчик кнопки "Комплектующие - Отмена" |
|
DBLCBLKompl_komplektDropDown |
Обработчик списка "Комплектующие - наименование детали" |
|
DBEditShirinaKeyPress |
Проверяет корректность ввода данных |
|
SpeedButton1Click |
Вызов калькулятора |
|
DBNavigatorKomplClick |
Обработчик навигатора таблицы "Комплектующие” |
Таблица 5.3 - Структура модуля SkladKomplektUnit. pas
Названия процедур |
Назначение |
|
BBtnAddClick |
Обработчик кнопки "добавить" |
|
BBtnEditClick |
Обработчик кнопки "редактировать" |
|
BBtnDeleteClick |
Обработчик кнопки "удалить" |
|
BBtnSaveClick |
Обработчик кнопки "сохранить" |
|
BBtnCancelClick |
Обработчик кнопки "отмена" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
BBtnClearClick |
Обработчик кнопки "Очистить" |
|
DBEditZakupCenaKeyPress |
Проверяет корректность ввода данных |
|
DBEditDataExit |
Проверяет корректность ввода даты |
|
BBFindClick |
Обработчик кнопки "найти" |
|
BBSortASCClick |
Обработчик кнопки "сортировать по возрастанию" |
|
DBNavigatorSlaveClick |
Обработчик нажатия кнопки навигатора |
|
BBSortDESCClick |
Обработчик кнопки "сортировать по убыванию" |
|
BBSpisanieClick |
Обработчик кнопки "списать" |
|
BBSpisanieSaveClick |
Обработчик кнопки "Списание - сохранить" |
|
BBSpisanieClearClick |
Обработчик кнопки "Списание - отменить" |
|
DBLComboBoxKomplektDropDown |
Обработчик списка "Наименование детали" |
|
BBtnClearTableClick |
Обработчик кнопки "Очистить" |
Таблица 5.4 - Структура модуля MasterskayaKomplektUnit. pas
Названия процедур |
Назначение |
|
BBtnAddClick |
Обработчик кнопки "добавить" |
|
BBtnEditClick |
Обработчик кнопки "редактировать" |
|
BBtnDeleteClick |
Обработчик кнопки "удалить" |
|
BBtnSaveClick |
Обработчик кнопки "сохранить" |
|
BBtnCancelClick |
Обработчик кнопки "отмена" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
BBtnClearClick |
Обработчик кнопки "Очистить" |
|
DBEditRoznCenaKeyPress |
Проверяет корректность ввода данных |
|
DBLComboBoxKomplektDropDown |
Обработчик списка "Наименование детали" |
Таблица 5.5 - Структура модуля KlientsUnit. pas
Названия процедур |
Назначение |
|
BBtnAddClick |
Обработчик кнопки "добавить" |
|
BBtnEditClick |
Обработчик кнопки "редактировать" |
|
BBtnDeleteClick |
Обработчик кнопки "удалить" |
|
BBtnSaveClick |
Обработчик кнопки "сохранить" |
|
BBtnCancelClick |
Обработчик кнопки "отмена" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
DBEdit3KeyPress |
Проверяет корректность ввода данных |
|
BBtnClearClick |
Обработчик кнопки "Очистить" |
|
EditFindChange |
Обработчик поля ввода "Поиск по ФИО" |
Таблица 5.6 - Структура модуля EdIzmUnit. pas
Названия процедур |
Назначение |
|
BBtnAddClick |
Обработчик кнопки "добавить" |
|
BBtnEditClick |
Обработчик кнопки "редактировать" |
|
BBtnDeleteClick |
Обработчик кнопки "удалить" |
|
BBtnSaveClick |
Обработчик кнопки "сохранить" |
|
BBtnCancelClick |
Обработчик кнопки "отмена" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
BBtnClearClick |
Обработчик кнопки "Очистить" |
Таблица 5.7 - Структура модуля ALLKomplektUnit. pas
Названия процедур |
Назначение |
|
BBtnAddClick |
Обработчик кнопки "добавить" |
|
BBtnEditClick |
Обработчик кнопки "редактировать" |
|
BBtnDeleteClick |
Обработчик кнопки "удалить" |
|
BBtnSaveClick |
Обработчик кнопки "сохранить" |
|
BBtnCancelClick |
Обработчик кнопки "отмена" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
BBtnClearClick |
Обработчик кнопки "Очистить" |
|
EditFindChange |
Обработчик поля ввода "Поиск по наим. комплектующих" |
|
BBtnMainAddClick |
Обработчик кнопки "добавить тип детали" |
|
BBtnMainEditClick |
Обработчик кнопки " редактировать тип детали" |
|
BBtnCancelClick |
Обработчик кнопки "отмена" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
BBtnMainSaveClick |
Обработчик кнопки "сохранить изменения в типе детали" |
|
BBtnMainDelClick |
Обработчик кнопки " удалить изменения в типе детали" |
|
BBtnMainCancelClick |
Обработчик кнопки " отменить изменения в типе детали" |
|
DBEditMaterKoefKeyPress |
Проверяет корректность ввода данных |
Таблица 5.8 - Структура модуля BagetKomplektUnit. pas
Названия процедур |
Назначение |
|
BBtnAddClick |
Обработчик кнопки "добавить" |
|
BBtnEditClick |
Обработчик кнопки "редактировать" |
|
BBtnDeleteClick |
Обработчик кнопки "удалить" |
|
BBtnSaveClick |
Обработчик кнопки "сохранить" |
|
BBtnCancelClick |
Обработчик кнопки "отмена" |
|
FormCloseQuery |
Обработчик выхода из программы |
|
FormShow |
Устанавливает начальное состояние элементов формы |
|
BBtnClearClick |
Обработчик кнопки "Очистить" |
|
EditFindChange |
Обработчик поля ввода "Поиск по наим. комплектующих" |
|
BBtnMainAddClick |
Обработчик кнопки "добавить тип детали" |
|
BBtnMainEditClick |
Обработчик кнопки " редактировать тип детали" |
|
BBtnMainSaveClick |
Обработчик кнопки "сохранить изменения в типе детали" |
|
BBtnMainDelClick |
Обработчик кнопки " удалить изменения в типе детали" |
|
BBtnMainCancelClick |
Обработчик кнопки " отменить изменения в типе детали" |
|
DBEditMaterKoefKeyPress |
Проверяет корректность ввода данных |
5.3.3 Руководство программиста
Для усовершенствования и дополнения программы новым модулем нужно:
1) написать требуемый модуль;
2) подключить его к главному модулю программы (см. таблицу 5.1);
3) дополнить главное меню требуемым пунктом и назначить на этот пункт обработчик события в виде вызова новой процедуры.
В качестве примера рассмотрим добавление модуля "NewUnit":
подключить модуль NewUnit в разделе Uses;
создать процедуру реакции на событие;
создать обработчик события и прописать следующим образом:
ИМЯ_КЛАССА. ИМЯ_ПРОЦЕДУРЫ;
При написании программы программисту необходимо придерживаться принципа удобочитаемости программы. Для этого нужно выполнять следующие рекомендации:
не размещать на одной строке более одного оператора. Дело в том, что при пошаговой трассировке программ (а это основной способ отладки), компилятор останавливается перед выполнением очередной строки кода. Если на строке размещены несколько операторов, программист не сможет проследить работу каждого оператора в этой строке отдельно от других.
выделять тела составных, условных, циклических операторов отступами по 2 символа (если этого не делать, то будет трудно определить, к какому слову begin соответствует то или иное слово end), например:
begin
<операторы>
end;
во вложенных составных операторах стараться помечать замыкающие слова end небольшими комментариями, например:
if a>b then
begin
…
if not IsNew then
begin
…
end; // if not IsNew
…
end; // if a>b
если тело подпрограммы содержит более 20-30 строк, следует проанализировать алгоритм и относительно самостоятельные его части вынести во вложенные подпрограммы или реализовать их с помощью вспомогательных классов;
не скупиться на комментарии. Небольшие затраты времени на вставку комментария по ходу составления программы с лихвой окупятся, когда понадобиться её модернизировать.
стараться использовать осмысленные идентификаторы. Для этого понадобится хотя бы начальное знание английского языка, в крайнем случае, можно русскоязычные идентификаторы записывать латинскими буквами [2,8,9,10].
6. Техническое обеспечение
6.1 Общие требования
Выбор технического обеспечения обуславливается следующими основными параметрами:
производительность. Комплекс технических средств должен удовлетворять требованиям, предъявляемым программным обеспечением;
качество. Данный параметр является связующим звеном между производительностью и стоимостью и должен обеспечивать комфортную и бесперебойную работу комплекса технических средств.
Комплекс технических средств должен быть построен на базе ПЭВМ IBM PC или совместимых с ней.
Комплекс технических средств (КТС) разрабатывается в соответствии с требованиями, предъявленными в ТЗ.
Выбор IBM PC в качестве базы КТС осуществлён исходя из выбранного программного обеспечения: ОС Windows ХР и визуальной среды разработки Borland Delphi версии 7.0, а также средств документирования для составления проектной документации Microsoft Word XP и Microsoft PowerPoint XP. Ниже будет спроектирован КТС для компьютера предназначенного для разработки и для работы пользователя системы "Багетная мастерская". Каждый компонент выбирается с учетом назначения компьютера, планируемого срока эксплуатации и совместимости компонентов с другими периферийными устройствами.
6.2 Процессор
По результатам тестирования, приведенным ниже, осуществим выбор процессора.
Характеристики тестового стенда:
Материнская плата: ASUS P5WD2 Premium (LGA775, Intel 955X Express).
Память: 2048MB DDR400 SDRAM (Corsair CMX1024-3500LLPRO, 2 x 1024 MB, 2-3-2-10);
Графическая карта: NVIDIA GeForce 7800 GT 256MB (PCI-E x16).
Дисковая подсистема: Maxtor MaXLine III 250GB (SATA150).
Операционная система: Microsoft Windows XP SP2.
Технические характеристики протестированных процессоров представлены в таблице 6.1.
Таблица 6.1 - Технические характеристики процессоров [7]
Наименование характеристик |
Intel Celeron D 326 |
Intel Celeron D 331 |
Intel Celeron D 336 |
|
Процессорный разъем |
LGA775 |
LGA775 |
LGA775 |
|
Частота ядра, ГГц |
2,53 |
2,66 |
2,8 |
|
Количество ядер |
1 |
1 |
1 |
|
Кэш второго уровня, Кб |
256 |
256 |
256 |
|
Частота шины, МГц. |
533 |
533 |
533 |
|
Рассеиваемая тепловая мощность, Вт |
84 |
84 |
84 |
|
Техпроцесс, нм |
90 |
|||
Поддержка hyper-threading |
нет |
нет |
нет |
Результаты тестирования процессоров представлены в таблице 6.2.
Таблица 6.2 - Результаты тестирования процессоров, баллы [7]
Название теста |
Intel Celeron D 326 |
Intel Celeron D 331 |
Intel Celeron D 336 |
|
Battlefield 2, 1024 x 768, настройки средние "Medium" |
198,3 |
228,5 |
295,2 |
|
F. E. A. R., 1024 x 768, настройки средние "Medium" |
117 |
120 |
128 |
|
Serious Sam 2, 1024 x 768, настройки средние "Medium" |
68,5 |
72,8 |
87,1 |
|
Quake 4, 1024 x 768, настройки средние "Medium" |
88 |
96 |
101,7 |
|
Call of Duty 2, 1024 x 768, настройки средние "Medium" |
45,5 |
49,7 |
50,3 |
По результатам тестирования выбираем процессор Intel Celeron D 336.
6.3 Материнская плата
На основании нижеприведенных результатов тестирования, осуществим выбор материнской платы.
Характеристики тестового стенда:
операционная система Windows XP Professional SP2,процессор Intel Pentium 4 Extreme Edition 3,46 ГГц, Socket 775,память 2x512 МБ DDR2-533 DDR2 SDRAM DIMM Corsair (CM2X512A-4300C3PRO), 3-3-3-8,видеокарта [PCIEx16] ATI Radeon X800 XT 256 Мб,
жесткий диск Seagate Barracuda 7200.7 (SATA), 7200 об/мин.
Технические характеристики протестированных материнских плат представлены в таблице 6.3.
Таблица 6.3 - Технические характеристики материнских плат [7]
Параметр |
ECS PF5 Extreme |
Foxconn 945P7AA-8KS2 |
ASUS P5AD2-E Premium |
|
Чипсет |
Intel 945P/ICH7R |
Intel 945P/ICH7 |
Intel 925XE/ICH6R |
|
Поддержка процессоров |
Socket 775, Intel Pentium 4/Pentium 4 EE/Pentium D/ Celeron D |
|||
Разъемы памяти |
4 DDR2 |
|||
Слоты расширения |
PCIEx16, 2 PCIEx1, 3 PCI |
|||
Форм-фактор, размеры, см. |
ATX, 30,5Ч24,5 |
|||
USB |
4 USB 2.0 + 2 разъема по 2 USB 2.0 |
|||
Порты ввода/вывода |
1 FDD, 1 LPT на планке, 1 COM, 2 PS/2, разъем IrDA |
1 FDD, 1 LPT, 1 COM + разъем COM, 2 PS/2, разъем IrDA |
1 FDD, 1 LPT, 1 COM (на планке), 2 PS/2 |
|
Интегрированный в чипсет ATA-контроллер |
на 2 устройства ATA100 + 4 SATA300 RAID (0, 1, 10, 5, Matrix RAID) |
на 2 устройства ATA100 + 4 SATA300 |
1 FireWire + 2 разъема на 2 порта GigaWire на планке (TI TSB82AA2 + TSB81BA3) |
|
Внешний ATA-контроллер |
Silicon Image SiI3132CNU (интерфейс PCIEx1, 2 SATA300 RAID 0,1) |
ITE IT8212F (4 ATA133 RAID 0, 1 и 0+1) |
2 ATA100 + 4 SATA RAID (0, 1, Matrix RAID) |
|
Звук |
HDA-кодек Realtek ALC880, Toslink S/PDIF-In/Out |
HDA-кодек Realtek ALC880, Coaxial S/PDIF-Out |
HDA-кодек C-Media CMI9880, Coaxial и Toslink S/PDIF-Out, разъем для S/PDIF-In |
|
Сетевой контроллер |
Marvell 88E8053-NNC (PCIEx1 Gigabit Ethernet) + Realtek RTL8100С (Fast Ethernet) |
Broadcom Broadcom BCM5789KFB (PCIEx1 Gigabit Ethernet) |
2xMarvell 88E8053-NNC (PCIEx1 Gigabit Ethernet) + Marvell 88W8310-BAN (WiFi-b/g) |
|
I/O-контроллер |
Winbond W83627THF |
ITE IT8712F-A |
Winbond W83627EHF-A |
|
BIOS |
AMI BIOS v2.58 |
Phoenix AwardBIOS v6.00PG |
AMI BIOS v2.51 |
Результаты тестирования материнских плат представлены в таблице 6.4.
Таблица 6.4 - Результаты тестирования материнских плат [7]
Параметр |
ECS PF5 Extreme |
Foxconn 945P7AA-8KS2 |
ASUS P5AD2-E Premium |
|
Скорость чтения/записи памяти, Мб/с |
3454/1598 |
3907/1992 |
3147/1397 |
|
Архивирование: WinRAR, мин: сек |
2: 38 |
2: 24 |
2: 58 |
|
Кодирование DVD-звука в XviD 1.0.2, мин: сек |
5: 21 |
5: 14 |
5: 43 |
|
Обработка изображений: Adobe Photoshop 8.0, мин: сек |
33: 02 |
32: 18 |
35: 18 |
|
Игра FarCry (1024x768), fps |
81 |
85 |
80 |
|
Игра Unreal Nournament 2004 (1024x768), fps |
63,4 |
65,7 |
60,6 |
По результатам тестирования выбираем материнскую плату Foxconn 945P7AA-8KS2.
6.5 Оперативная память
Осуществим выбор модулей памяти по результатам тестирования приведенного ниже.
Характеристики тестового стенда:
Процессор: Intel Pentium 4 3.4 ГГц (ядро Prescott, 1 МБ L2)
Чипсет: Intel 925X
Материнская плата: Gigabyte 8ANXP-D, версия BIOS F1 от 06/07/2004
Подобные документы
Системное, инструментальное и прикладное программное обеспечение. Современные настольные издательские системы. Программные средства мультимедиа. Системы искусственного интеллекта. Прикладное программное обеспечение автоматизированного проектирования.
реферат [59,4 K], добавлен 18.12.2013Аппаратное, сетевое, программное обеспечение предприятия. Разработка системы электронного документооборота. Последовательность создания и технология построения информационной системы. Выбор системы управления базами данных, среды разработки приложения.
дипломная работа [1,5 M], добавлен 15.10.2013Разработка программного комплекса "ConstructDocs", предназначенного для ведения документооборота строительной организации: идентификация информационного пространства, выделение сущностей, выбор языка программирования и аппаратного обеспечения системы.
дипломная работа [3,1 M], добавлен 07.09.2011Основное программное обеспечение для автоматизации производства. Финансовые и коммуникационные системы. Системы планирования и управления. Текстовые редакторы и табличные процессоры. Финансовое программное обеспечение. Шрифтовые технологии в документах.
шпаргалка [551,9 K], добавлен 16.08.2010Системное и прикладное программное обеспечение. Выполнение программ, хранение данных и взаимодействие пользователя с компьютером. Возможности операционных систем. Системы технического обслуживания. Системы обработки электронных таблиц и текста.
презентация [15,9 K], добавлен 06.01.2014Программное обеспечение как совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. Системное ПО (программы общего пользования), прикладное и инструментальное (системы программирования).
реферат [73,1 K], добавлен 04.06.2010Вычислительные системы и программное обеспечение как важнейшие разделы информатики, условия перехода общества в информационную стадию развития. Развитие вычислительных систем и персональных компьютеров. Операционные системы и системы программирования.
реферат [906,9 K], добавлен 18.01.2011Классификация программного обеспечения, его особенности, назначение. Программное обеспечение для работы с текстом, изображением, прикладное, офисное, для работы в Интернете. Системы программирования, специфика программного обеспечения, что такое вирусы.
презентация [1,2 M], добавлен 25.02.2010Прикладное программное обеспечение, его виды, классификация, тенденции развития: редакторы документов, табличные процессоры, графические редакторы, правовые базы данных, системы автоматизированного проектирования. Роль и назначение системных программ.
реферат [26,1 K], добавлен 29.11.2012Прикладное программное обеспечение специального и общего назначения. Программы, обрабатывающие тексты и основное назначение электронных таблиц, системы управления базами данных и графические изображения. Интегрированные программные средства решения задач.
курсовая работа [1,0 M], добавлен 24.03.2012