Реферат: Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7 0
--PAGE_BREAK--Входные данные — вносимые пользователем сведения о заказе на работы (реквизиты заказчика, виды работ, объем работ и т.п.). Выходные данные – отчеты о стоимости работ, а так же количество и стоимость материалов необходимых для проведения этих работ.4.1.3. Временные характеристики:
Машинная обработка данных составляет несколько секунд.
4.2. Требования к надежности
В период опытной эксплуатации правильность работы системы проверяется тестовым вводом исходных данных. 4.3. Требования к условиям эксплуатации
Программа ориентирована на минимальные требования к компьютерной подготовке пользователей.
4.4. Требования к составу и параметрам технических средств
IBM PC 486/16 MB и выше.
4.5. Требования к информационной и программной совместимости
4.5.1. Информационные структуры на входе и выходе:
· ОС Windows NT/9x/200x;
· Office 9x Pro.
4.5.2. Методы решения:
Построение СУБД на основе инфологической и датологической модели предметной области.
4.5.3. Языки программирования и программные средства, используемые в программе
Определяются на этапе эскизного проектирования.
4.6. Требования к упаковке, маркировке, транспортировке и хранению
Отсутствуют.
5. Требования к программной документации
Состав программной документации:
· руководство пользователя;
· листинг программы.
6. Технико-экономические показатели разрабатываются в экономической части проекта.
7. Стадии и этапы разработки
определяются в соответствии с регламентом разработки дипломного проекта.
8. Порядок контроля и приемки
8.1. Общие требования к приемке работ:
· поэтапный контроль со стороны руководителя проекта;
· тестирование программных модулей;
· опытная эксплуатация.
Исполнитель ___________/М.А. Солнцев/
2002 год
Глава 2.
Информационно-программная часть. Разработал Солнцев М. А.
Руководитель Гагарина Л. Г.
2.1. Функциональные возможности системы Перед началом проектирования какой-либо системы необходимо в первую очередь определить состав тех операций, которые будут заложены в проектируемый комплекс программных средств, и проанализировать необходимость и возможность реализации функций средствами конкретной системы проектирования. АИС РСК по учету и обработке заявок граждан предназначена, как уже было сказано выше, в первую очередь для повышения эффективности работы менеджера по обработке заявок. Поэтому функциональные возможности программного комплекса должны быть направлены на решение конкретных задач возникающих в процессе работы.
В проектируемой системе необходимо заложить возможности, обеспечивающие ниже перечисленные сервисные и информационно-расчетные функции:
· автоматический учет обращений физических и юридических лиц;
· возможность предоставления готовых форм для ввода исходных данных;
· автоматическая обработка исходных данных;
· выдача специальных форм отчетов согласно запросам;
· возможность дополнения и изменения информации в базах данных (БД);
2.2. Построение модели БД. Для проектирования структуры БД необходима исходная информация о предметной области желательно в формализованном виде. Предметной областью (ПО) называется часть реальной системы, представляющая интерес для данного исследования.
При проектировании автоматизированных информационных систем ПО представляется в виде моделей данных нескольких уровней. Число используемых уровней зависит от сложности системы, но в любом случае включает логический и физический уровни. ПО может относиться к любому типу организации (институт, завод, малое предприятие и т.п.).
Необходимо различать полную ПО предприятия в целом и организационную единицу этой ПО. Организационная единица, в свою очередь, может представлять свою ПО (отделы).
Информация, необходимая для описания ПО, зависит от реальной модели и может включать сведения о персонале, заработной плате, товарах, то есть сведения о людях, местах, предметах, событиях и понятиях.
Описание ПО, без ориентации на используемые программные и технические средства, называется инфологической моделью (ИЛМ).
2.3. Инфологическая модель БД Компоненты инфологической модели Компоненты инфологической модели включают ряд описаний объектов ПО и связи между ними. Описание ПО всегда представлено в какой-то знаковой системе. Поэтому кроме отношений, присущих ПО, возникают еще и отношения, обусловленные особенностями отображения ПО в языковой среде.
В настоящее время не существует единого стандарта или общепринятого способа построения ИЛМ. Для описания ИЛМ используются как языки аналитического (описательного) типа, так и графические средства.
В процессе анализа в ПО выделяют классы объектов. Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств. Например, если в качестве ПО рассмотреть вуз, то в ней можно выделить следующие классы объектов: учащиеся, преподаватели, аудитории и т. д. Объекты могут быть реальными или абстрактными, как, например, предметы, которые изучают студенты.
При отражении в ИС каждый объект представляется своим идентификатором, который отличает один объект класса от другого, а каждый класс объектов представляется именем этого класса. Так, для объектов класса «Изучаемые предметы» идентификатором каждого объекта будет «Название предмета». Идентификатор должен быть уникальным. Каждый объект обладает определенным набором свойств. Для объектов одного класса набор этих свойств одинаков, а их значения могут различаться.
Каждому классу объектов в ИЛМ присваивается уникальное имя.
При описании ПО надо отразить связи между объектом и характеризующими его свойствами. Это изображается в виде линии, соединяющей обозначение объекта и его свойств.
Связь между объектом и его свойством может быть различной. Объект может обладать только одним значением какого-то свойства. Например, каждый человек может иметь только одну дату рождения. Назовем такие свойства единичными. Для других свойств возможно существование одновременно нескольких значений у одного объекта. Пусть, например, при описании «Сотрудника» фиксируется в качестве его свойства «Иностранный язык», которым он владеет. Так как сотрудник может знать несколько иностранных языков, то такое свойство будем называть множественным. При изображении связи между объектом и его свойствами для единичных свойств будем использовать одинарную стрелку, а для множественных свойств – двойную. Кроме того, некоторые свойства являются постоянными, их значение не может измениться с течением времени. Назовем такие свойства статическими, а те свойства, значение которых может изменяться со временем, будем называть динамическими.
Кроме связи между объектом и его свойствами, в ИЛМ фиксируются связи между объектами разных классов. Различают связи типа «один к одному» (1:1), «один ко многим» (1: М), «многие к одному» (М:1) и «многие ко многим» (М: М). Иногда эти типы связей называются степенью связи. Кроме степени связи в ИЛМ для характеристики связи между разными сущностями надо указывать так называемый класс принадлежности, который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности должен быть либо обязательным, либо необязательным.
С учетом вышеперечисленных особенностей построения ИЛМ были разработаны восемь объектов данных:
- Объект Карточка клиента содержит: данные о заказчике, дату поступления заказа и исходные данные об объекте для расчетов: площадь объекта, высота стен, окончательный материал пола, стен и потолка.
- Объект Материалы включает: наименование строительного материала, единицы измерения (м.кв., м.п., шт. и т.п.) и стоимость.
- Объект Нормы расхода содержит в себе информацию том, сколько затрачивается того или иного материала на единицу каждого типа работ: наименование или код работ, наименование материала, единицы измерения и количество.
- Объект Единицы измерения содержит вспомогательные сведения о всевозможных единицах измерения различных материалов.
- Объект Работы включает следующие аргументы: наименование, цену на единицу измерения, а так же тип выполняемых работ (штукатурные, малярные и т.п.).
- Объект Типы работ содержит вспомогательные сведения подстановки о всевозможных типах выполняемых работ.
- Объект Список работ предназначен для выборки всех работ, которые необходимо выполнить перед выполнением окончательной работы.
- Объект ЗаказыРаботы является вспомогательным и предназначен для связи объектов Карточка клиента и Список работ, так как между ними должна быть связь «многие ко многим».
На основании описанных свойств объектов и их назначения построим ИЛМ нашей базы данных (см. рис. 3.1).
<shape id="_x0000_s1070" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1107" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1109" from=«30.15pt,431.35pt» to=«44.55pt,431.35pt» o:allowincell=«f»><line id="_x0000_s1086" from=«217.35pt,173.45pt» to=«217.35pt,173.45pt» o:allowincell=«f»><shape id="_x0000_s1071" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1078" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1080" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1085" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1072" from=«274.1pt,57.4pt» to=«274.1pt,194.2pt» o:allowincell=«f»><line id="_x0000_s1088" from=«274.1pt,203.5pt» to=«295.7pt,203.5pt» o:allowincell=«f»><line id="_x0000_s1083" from=«274.1pt,162pt» to=«295.7pt,162pt» o:allowincell=«f»><line id="_x0000_s1079" from=«274.1pt,126.85pt» to=«295.7pt,126.85pt» o:allowincell=«f»><line id="_x0000_s1075" from=«274.1pt,85.35pt» to=«295.7pt,85.35pt» o:allowincell=«f»><shape id="_x0000_s1110" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1098" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1112" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1118" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1115" from=«223.7pt,554.05pt» to=«245.3pt,554.05pt» o:allowincell=«f»><line id="_x0000_s1113" from=«223.7pt,526.1pt» to=«223.7pt,576.5pt» o:allowincell=«f»><line id="_x0000_s1120" from=«223.7pt,595.55pt» to=«245.3pt,595.55pt» o:allowincell=«f»><shape id="_x0000_s1102" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1104" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1105" from=«266.9pt,398.35pt» to=«281.3pt,398.35pt» o:allowincell=«f»><line id="_x0000_s1100" from=«266.9pt,364.05pt» to=«266.9pt,414.45pt» o:allowincell=«f»><line id="_x0000_s1108" from=«266.9pt,433.5pt» to=«281.3pt,433.5pt» o:allowincell=«f»><shape id="_x0000_s1117" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1119" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1116" from=«30.15pt,559.85pt» to=«51.75pt,559.85pt» o:allowincell=«f»><line id="_x0000_s1114" from=«30.15pt,531.9pt» to=«30.15pt,582.3pt» o:allowincell=«f»><line id="_x0000_s1121" from=«30.15pt,601.35pt» to=«51.75pt,601.35pt» o:allowincell=«f»><shape id="_x0000_s1111" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1074" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1077" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1082" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1087" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1090" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1094" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1097" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1099" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1073" from=«30.15pt,55.3pt» to=«30.15pt,336.1pt» o:allowincell=«f»><line id="_x0000_s1101" from=«30.15pt,354.7pt» to=«44.55pt,354.7pt» o:allowincell=«f»><line id="_x0000_s1096" from=«30.15pt,313.2pt» to=«44.55pt,313.2pt» o:allowincell=«f»><line id="_x0000_s1095" from=«30.15pt,278.05pt» to=«44.55pt,278.05pt» o:allowincell=«f»><line id="_x0000_s1093" from=«30.15pt,236.55pt» to=«44.55pt,236.55pt» o:allowincell=«f»><line id="_x0000_s1089" from=«30.15pt,201.4pt» to=«44.55pt,201.4pt» o:allowincell=«f»><line id="_x0000_s1084" from=«30.15pt,159.9pt» to=«44.55pt,159.9pt» o:allowincell=«f»><line id="_x0000_s1081" from=«30.15pt,124.75pt» to=«44.55pt,124.75pt» o:allowincell=«f»><line id="_x0000_s1076" from=«30.15pt,83.25pt» to=«44.55pt,83.25pt» o:allowincell=«f»><shape id="_x0000_s1092" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1091" from=«274.1pt,238.65pt» to=«295.7pt,238.65pt» o:allowincell=«f»><shape id="_x0000_s1103" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1106" from=«30.15pt,396.2pt» to=«44.55pt,396.2pt» o:allowincell=«f»><shape id="_x0000_s1069" type="#_x0000_t202" o:allowincell=«f»> <img width=«238» height=«403» src=«dopb81948.zip» v:shapes="_x0000_s1074 _x0000_s1077 _x0000_s1082 _x0000_s1087 _x0000_s1090 _x0000_s1094 _x0000_s1097 _x0000_s1099 _x0000_s1073 _x0000_s1101 _x0000_s1096 _x0000_s1095 _x0000_s1093 _x0000_s1089 _x0000_s1084 _x0000_s1081 _x0000_s1076"> <img width=«186» height=«198» src=«dopb81949.zip» v:shapes="_x0000_s1071 _x0000_s1078 _x0000_s1080 _x0000_s1085 _x0000_s1072 _x0000_s1088 _x0000_s1083 _x0000_s1079 _x0000_s1075"> <img width=«2» height=«2» src=«dopb81950.zip» v:shapes="_x0000_s1086"> <img width=«186» height=«33» src=«dopb81951.zip» v:shapes="_x0000_s1092 _x0000_s1091"> <img width=«166» height=«97» src=«dopb81952.zip» v:shapes="_x0000_s1102 _x0000_s1104 _x0000_s1105 _x0000_s1100 _x0000_s1108"> <img width=«186» height=«32» src=«dopb81953.zip» v:shapes="_x0000_s1103 _x0000_s1106"> <img width=«186» height=«33» src=«dopb81954.zip» v:shapes="_x0000_s1107 _x0000_s1109"> <img width=«186» height=«97» src=«dopb81955.zip» v:shapes="_x0000_s1112 _x0000_s1118 _x0000_s1115 _x0000_s1113 _x0000_s1120"> <img width=«157» height=«97» src=«dopb81956.zip» v:shapes="_x0000_s1117 _x0000_s1119 _x0000_s1116 _x0000_s1114 _x0000_s1121">
Рис. 2.1 Инфологическая модель базы данных.
<shape id="_x0000_s1122" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1144" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1145" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1147" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1149" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1146" from=«36.5pt,311.2pt» to=«36.5pt,390.4pt» o:allowincell=«f»><line id="_x0000_s1151" from=«36.5pt,374pt» to=«58.1pt,374pt» o:allowincell=«f»><line id="_x0000_s1150" from=«36.5pt,345.2pt» to=«58.1pt,345.2pt» o:allowincell=«f»><line id="_x0000_s1148" from=«36.5pt,324.6pt» to=«58.1pt,324.6pt» o:allowincell=«f»><shape id="_x0000_s1125" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1131" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1137" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1126" from=«37.35pt,59.25pt» to=«37.35pt,167.25pt» o:allowincell=«f»><line id="_x0000_s1136" from=«37.35pt,163.85pt» to=«51.75pt,163.85pt» o:allowincell=«f»><line id="_x0000_s1133" from=«37.35pt,128.7pt» to=«51.75pt,128.7pt» o:allowincell=«f»><line id="_x0000_s1129" from=«37.35pt,87.2pt» to=«51.75pt,87.2pt» o:allowincell=«f»><shape id="_x0000_s1127" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1130" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1134" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1138" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1124" from=«259.7pt,60.8pt» to=«259.7pt,197.6pt» o:allowincell=«f»><line id="_x0000_s1140" from=«259.7pt,206.9pt» to=«281.3pt,206.9pt» o:allowincell=«f»><line id="_x0000_s1135" from=«259.7pt,165.4pt» to=«281.3pt,165.4pt» o:allowincell=«f»><line id="_x0000_s1132" from=«259.7pt,130.25pt» to=«281.3pt,130.25pt» o:allowincell=«f»><line id="_x0000_s1128" from=«259.7pt,88.75pt» to=«281.3pt,88.75pt» o:allowincell=«f»><shape id="_x0000_s1142" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1143" from=«259.7pt,248.4pt» to=«281.3pt,248.4pt» o:allowincell=«f»><shape id="_x0000_s1139" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1141" from=«37.35pt,205.35pt» to=«51.75pt,205.35pt» o:allowincell=«f»><shape id="_x0000_s1123" type="#_x0000_t202" o:allowincell=«f»> <img width=«176» height=«152» src=«dopb81957.zip» v:shapes="_x0000_s1125 _x0000_s1131 _x0000_s1137 _x0000_s1126 _x0000_s1136 _x0000_s1133 _x0000_s1129"> <img width=«166» height=«199» src=«dopb81958.zip» v:shapes="_x0000_s1127 _x0000_s1130 _x0000_s1134 _x0000_s1138 _x0000_s1124 _x0000_s1140 _x0000_s1135 _x0000_s1132 _x0000_s1128"> <img width=«137» height=«33» src=«dopb81959.zip» v:shapes="_x0000_s1139 _x0000_s1141"> <img width=«147» height=«32» src=«dopb81960.zip» v:shapes="_x0000_s1142 _x0000_s1143"> <img width=«208» height=«138» src=«dopb81961.zip» v:shapes="_x0000_s1144 _x0000_s1145 _x0000_s1147 _x0000_s1149 _x0000_s1146 _x0000_s1151 _x0000_s1150 _x0000_s1148">
Рис. 2.1 Инфологическая модель базы данных (продолжение).
ИЛМ предметной области строится первой еще на предпроектной стадии и затем уточняется на более поздних стадиях. Затем на ее основе строится ДЛМ. Физическая и внешняя модели после этого могут строиться в любой последовательности, в том числе и параллельно. При проектировании БД возможен возврат на предыдущие уровни. При этом возможны два вида возвратов: первый вид обусловлен необходимостью пересмотра результата проектирования (например, для улучшения полученных характеристик, «обхода» ограничений и т. п.), второй вид вызван необходимостью уточнения предыдущей модели (обычно инфологической) с целью получения дополнительной информации для проектирования или при выявлении противоречий в модели.
2.4. Выбор СУБД. После построения ИЛМ необходимо выбрать СУБД, с помощью которой мы будем управлять нашими БД.
На сегодняшний день существует много разнообразных систем управления базами данных. Это такие СУБД как Paradox, FoxPro, Clipper, Access и др. Для работы с большинством из них требуются достаточно глубокие знания данной СУБД и опыт программирования.
Успех Microsoft Access заключается в прекрасной реализации продукта, рассчитанного как на начинающего, так и квалифицированного пользователя. Microsoft Access – это самая популярная сегодня настольная система управления базами данных.
В Microsoft Access присутствует язык программирования Visual Basic, который позволяет создавать массивы, свои типы данных, контролировать работу приложений. MS Access имеет один из самых лучших наборов визуальных средств разработки и представления информации среди аналогичных программных продуктов.
Одно из основных преимуществ MS Access – интеграции с популярным офисным пакетом Microsoft Office.
Вся работа с базой данных осуществляется через окно контейнера базы данных. Отсюда осуществляется доступ ко всем объектам: таблицам, запросам, формам, отчетам, макросам, модулям.
Встроенный язык запросов SQL позволяет максимально гибко работать с данными и значительно ускоряет доступ к внешним данным.
продолжение
--PAGE_BREAK--Access воспринимает большое количество форматов данных, включая файловые структуры других СУБД. Поэтому приложение в Access может импортировать из текстовых файлов или электронных таблиц и экспорт в них: предоставлять прямой доступ и обновлять файлы Paradox, FoxPro и других БД. Можно также импортировать данные из этих файлов в таблицы Access.
Преимуществом Access является наличие средств проектирования приложения БД без знания языка программирования. Работа в Access начинается с определения реляционных таблиц и полей, предназначенных для хранения данных. Сразу после этого с помощью форм, отчетов, макросов и VBA можно определять действия над этими данными. Формы и отчеты используются для вывода на экран и дополнительных вычислений при работе с таблицами. В случае разработки более сложного приложения можно использовать язык Visual Basic.
Архитектура Access называет объектами все, что может иметь имя. В БД Access основными объектами являются таблицы, запросы, формы, отчеты, макросы и модули. Термин БД обычно относится только к файлам, в которых хранятся данные. В Access БД включает все объекты, связанные с хранимыми данными, в том числе и те, которые определяются для автоматизации работы (см. Табл. 2.1.).
Таблица 2.1.
Компоненты СУБД Access.
Объект
Описание
Таблица
Содержит информацию об объектах. Поля (столбцы) хранят характеристики объектов, а каждая запись (строка) содержит сведения об объекте.
Запрос
Фиксирует нужные данные из одной или нескольких таблиц. Для запроса можно использовать запрос по образцу или инструкцию SQL –запросы на выборку и обновление данных.
Форма
Отражает требования к данным таблиц или запросов. Формы можно распечатать. С помощью формы можно запустить макрос или VBA.
Отчет
Объект форматирования, вычисления итогов и печати данных.
Макрос
Описание действий Access в ответ на событие. Макрос открывает другую форму, может проверять поля при изменении его содержимого, открывать таблицы, запросы, просмотр или печать, запустить другой макрос или процедуру VBA.
Модуль
Программа на языке Visual Basic для приложений, обнаружения ошибки, которые не обнаруживает макрос. Модули могут быть независимыми объектами, содержащими функции, вызываемые из любого приложения или отчета для реакции на события.
В таблицах хранятся данные. Используя формы, можно выводить данные на экран или изменять их. Формы и отчеты получают данные как непосредственно из таблиц, так и через запросы. Для выполнения вычислений запросы могут использовать встроенные функции или функции, созданные с помощью Visual Basic для приложений.
События в формах или отчетах могут запускать макросы или процедуры VBA. Событие — любое изменение состояния объекта Access, например открытие формы, закрытие формы, ввод новой строки в форму, изменение содержимого текущей записи или элемента управления. Для обработки события можно создать макрос или процедуру VBA, с помощью которых можно предусмотреть реакцию на любое действие пользователя, вплоть до нажатия определенных клавиш во время ввода данных. С помощью макросов и модулей можно изменять ход выполнения приложения; открывать, фильтровать и изменять данные в формах и отчетах; выполнять запросы и создавать новые таблицы. Используя VBA, можно создавать, модифицировать и удалять любой объект Access, обрабатывать данные по строкам и по столбцам или каким-либо другим способом. Можно также вызывать процедуры из библиотек динамической компоновки Windows, чтобы использовать в приложении не только встроенные в Access функции, но и возможности Windows.
Учитывая все вышесказанное, мы остановимся на СУБД Access для разработки нашего программного продукта.
2.5. Построение датологической модели. С учетом построенной инфологической модели и зная ограничения, налагаемые на хранимые данные используемой системой управления базами данных, строится датологическая модель базы данных.
Датологическая модель строится в терминах базы данных. Так как в нашем случае используется СУБД ACCESS, то мы строим реляционную модель базы данных в реализации MS ACCESS.
Она позволяет организовывать описание объектов в виде таблиц. При этом можно задавать ограничения на типы хранимых данных в столбце, первичные ключи для задания связи нескольких таблиц. Наконец можно задавать ограничения целостности с помощью триггеров и процедур.
Кроме того таблицы поддерживают ограничения на непустое значение поля и уникальное поле. Возможно так же задание индексации полей для последующего ускорения поиска данных в таблицах.
Построенная датологическая модель БД, с учетом особенностей MS ACCESS, выглядит следующим образом:
Таблица 2.2.
Таблица «Карточка клиента» Имя поля Тип данных
Описание
КодЗаказа
Счетчик
Идентификатор
ФИОНаименование
Текстовый
Имя заказчика
Телефон
Числовой
Телефон заказчика
Адрес
Текстовый
Адрес заказчика
ДатаОбращения
Дата/время
Дата обращения
Площадь
Поле МЕМО
Площадь помещения
ВысотаСтен
Поле МЕМО
Высота стен
Полы
Текстовый
Окончательная отделка пола
Стены
Текстовый
Окончательная отделка стен
Потолок
Текстовый
Окончательная отделка потолка
Двери
Числовой
Количество дверей
Перегородки
Поле МЕМО
Периметр перегородок
Таблица 2.3.
Таблица «Работы»
Имя поля Тип данных
Описание
КодРабот Счетчик
Идентификатор
КодТипа Числовой
Тип работ
Работа Текстовый
Наименование работы
ЕдИзм Текстовый
Единицы измерения
Цена Денежный
Цена единицы работы
Таблица 2.4.
Таблица «Типы работ»
Имя поля Тип данных
Описание
КодТипа Счетчик
Идентификатор
Тип Текстовый
Тип работ
Таблица 2.5.
Таблица «Единицы измерения»
Имя поля Тип данных
Описание
КодЕдИзмерения Счетчик
Идентификатор
ЕдИзмерения Текстовый
Единицы измерения
Таблица 2.6.
Таблица «Материалы»
Имя поля Тип данных
Описание
КодМатериала Счетчик
Идентификатор
Материал Текстовый
Наименование материала
КодЕдИзмерения Числовой
Единицы измерения
Цена Денежный
Цена материала Таблица 2.7.
Таблица «Нормы расхода»
Имя поля Тип данных
Описание
КодНормы Счетчик
Идентификатор
КодРабот Числовой
Наименование работ
КодМатериала Числовой
Наименование материала
Единицы Числовой
Единицы измерения
Количество Поле МЕМО
Количество Таблица 2.8.
Таблица «Список работ» Имя поля Тип данных
Описание
КодОкончРаботы Счетчик
Идентификатор ОкончатРабота Текстовый
Окончательная работа
КодРабот Числовой
Наименование работ
Таблица 2.9.
Таблица «ЗакзыРаботы»
Имя поля Тип данных
Описание
КодЗаказа Числовой
Код заказа
КодОкончРаботы Числовой
Окончательная работа
Курсивом в таблицах выделен ключевой столбец.
Связи между таблицами выглядят следующим образом:
<shapetype id="_x0000_t75" coordsize=«21600,21600» o:spt=«75» o:divferrelative=«t» path=«m@4@5l@4@11@9@11@9@5xe» filled=«f» stroked=«f»><path o:extrusionok=«f» gradientshapeok=«t» o:connecttype=«rect»><lock v:ext=«edit» aspectratio=«t»><shape id="_x0000_s1152" type="#_x0000_t75" o:allowincell=«f»><imagedata src=«16678.files/image018.png» o:><img width=«554» height=«415» src=«dopb81962.zip» v:shapes="_x0000_s1152">
Рис. 2.2. Связывание таблиц
На рисунке показана организация связей между таблицами. Связи между таблицами объединены общей тематикой.
<shapetype id="_x0000_t116" coordsize=«21600,21600» o:spt=«116» path=«m3475,qx,10800,3475,21600l18125,21600qx21600,10800,18125,xe»><path gradientshapeok=«t» o:connecttype=«rect» textboxrect=«1018,3163,20582,18437»><shape id="_x0000_s1184" type="#_x0000_t116" o:allowincell=«f»><shapetype id="_x0000_t110" coordsize=«21600,21600» o:spt=«110» path=«m10800,l,10800,10800,21600,21600,10800xe»><path gradientshapeok=«t» o:connecttype=«rect» textboxrect=«5400,5400,16200,16200»><shape id="_x0000_s1179" type="#_x0000_t110" o:allowincell=«f»><shapetype id="_x0000_t112" coordsize=«21600,21600» o:spt=«112» path=«m,l,21600r21600,l21600,xem2610,nfl2610,21600em18990,nfl18990,21600e»><path o:extrusionok=«f» gradientshapeok=«t» o:connecttype=«rect» textboxrect=«2610,0,18990,21600»><shape id="_x0000_s1180" type="#_x0000_t112" o:allowincell=«f»><line id="_x0000_s1182" from=«224.55pt,561.5pt» to=«282.15pt,561.5pt» o:allowincell=«f»><line id="_x0000_s1181" from=«418.95pt,554.3pt» to=«447.75pt,554.3pt» o:allowincell=«f»><shape id="_x0000_s1165" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1153" type="#_x0000_t116" o:allowincell=«f»><shape id="_x0000_s1157" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1163" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1174" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1158" type="#_x0000_t112" o:allowincell=«f»><shape id="_x0000_s1164" type="#_x0000_t112" o:allowincell=«f»><shape id="_x0000_s1175" type="#_x0000_t112" o:allowincell=«f»><line id="_x0000_s1177" from=«224.55pt,432.95pt» to=«274.95pt,432.95pt» o:allowincell=«f»><line id="_x0000_s1155" from=«145.35pt,60.85pt» to=«447.75pt,60.85pt» o:allowincell=«f»><line id="_x0000_s1156" from=«447.75pt,60.85pt» to=«447.75pt,464.05pt» o:allowincell=«f»><line id="_x0000_s1176" from=«411.75pt,425.75pt» to=«447.75pt,425.75pt» o:allowincell=«f»><line id="_x0000_s1172" from=«411.75pt,297.15pt» to=«447.75pt,297.15pt» o:allowincell=«f»><line id="_x0000_s1160" from=«411.75pt,137.5pt» to=«447.75pt,137.5pt» o:allowincell=«f»><shape id="_x0000_s1162" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1173" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1169" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1168" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1167" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1166" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><line id="_x0000_s1159" from=«230.9pt,136.05pt» to=«274.1pt,136.05pt» o:allowincell=«f»><line id="_x0000_s1170" from=«230.9pt,289.35pt» to=«274.1pt,289.35pt» o:allowincell=«f»><img width=«525» height=«612» src=«dopb81963.zip» v:shapes="_x0000_s1153 _x0000_s1157 _x0000_s1163 _x0000_s1174 _x0000_s1158 _x0000_s1164 _x0000_s1175 _x0000_s1154 _x0000_s1161 _x0000_s1171 _x0000_s1177 _x0000_s1155 _x0000_s1156 _x0000_s1176 _x0000_s1172 _x0000_s1160 _x0000_s1162 _x0000_s1173 _x0000_s1169 _x0000_s1168 _x0000_s1167 _x0000_s1166 _x0000_s1159 _x0000_s1170"> <img width=«523» height=«162» src=«dopb81964.zip» v:shapes="_x0000_s1179 _x0000_s1180 _x0000_s1178 _x0000_s1182 _x0000_s1181 _x0000_s1165"> <img width=«12» height=«51» src=«dopb81965.zip» v:shapes="_x0000_s1183"> <img width=«226» height=«63» src=«dopb81966.zip» alt=«Блок-схема: знак завершения: Выход» v:shapes="_x0000_s1184">
Рис.2.3. Общий алгоритм работы программы.
При проектировании рабочей модели системы, с учетом информационных потребностей пользователя, был разработан общий алгоритм работы программы, который показан на рис.2.3… Из этого рисунка хорошо просматриваются функциональные возможности системы. Эти возможности реализуются через отдельные блоки подпрограмм. При входе в главное меню системы, пользователь выбирает один из пунктов меню, что и является в конечном итоге выбором конкретной подпрограммы.
Функциональные особенности подпрограмм заключаются в следующем:
- Подпрограмма заполнения карточки клиента предоставляет пользователю готовые формы для ввода данных (реквизиты заказчика, виды работ, параметры объекта), которые служат базой для проведения расчетов. Так же здесь ведется учет обращений юридических и физических лиц в РСК.
- Подпрограмма запроса на смету предназначена для произведения расчетов и выдачи готовых результатов, в виде ремонтно-строительных смет, на основании данных содержащихся в карточке клиента.
- Подпрограмма запроса на список материалов предназначена для произведения расчетов и выдачи готовых результатов, в виде перечня ремонтно-строительных материалов и их стоимости на конкретный объект. Эти расчеты, так же, производятся на основании данных содержащихся в карточке клиента.
- Подпрограмма редактирования таблиц служит для изменения данных в таблицах о стоимости на производство работ и цен на материалы. С помощью этой подпрограммы можно вносить дополнения ко всем базам данных содержащимся в разработке. Алгоритм работы этой подпрограммы показан на рис. 2.4.
<shape id="_x0000_s1185" type="#_x0000_t116" o:allowincell=«f»><shape id="_x0000_s1186" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1190" type="#_x0000_t110" o:allowincell=«f»><line id="_x0000_s1197" from=«138.15pt,138.3pt» to=«166.95pt,138.3pt» o:allowincell=«f»><line id="_x0000_s1196" from=«296.55pt,138.3pt» to=«339.75pt,138.3pt» o:allowincell=«f»><shape id="_x0000_s1193" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1194" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1209" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1208" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1215" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1225" type="#_x0000_t202" o:allowincell=«f»><shape id="_x0000_s1207" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1214" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1213" type="#_x0000_t110" o:allowincell=«f»><shape id="_x0000_s1224" type="#_x0000_t110" o:allowincell=«f»><line id="_x0000_s1187" from=«73.35pt,61.65pt» to=«73.35pt,83.25pt» o:allowincell=«f»><line id="_x0000_s1202" from=«231.75pt,179.8pt» to=«231.75pt,201.4pt» o:allowincell=«f»><line id="_x0000_s1226" from=«145.35pt,523.15pt» to=«202.95pt,523.15pt» o:allowincell=«f»><line id="_x0000_s1218" from=«145.35pt,381.05pt» to=«174.15pt,381.05pt» o:allowincell=«f»><line id="_x0000_s1217" from=«303.75pt,381.05pt» to=«339.75pt,381.05pt» o:allowincell=«f»><line id="_x0000_s1221" from=«238.95pt,422.55pt» to=«238.95pt,451.35pt» o:allowincell=«f»><line id="_x0000_s1212" from=«145.35pt,267.55pt» to=«188.55pt,267.55pt» o:allowincell=«f»><line id="_x0000_s1189" from=«73.35pt,75.2pt» to=«454.95pt,75.2pt» o:allowincell=«f»><line id="_x0000_s1188" from=«454.95pt,75.2pt» to=«454.95pt,471.2pt» o:allowincell=«f»><line id="_x0000_s1227" from=«289.35pt,530.35pt» to=«454.95pt,530.35pt» o:allowincell=«f»><line id="_x0000_s1222" from=«289.35pt,460.9pt» to=«454.95pt,460.9pt» o:allowincell=«f»><line id="_x0000_s1216" from=«426.15pt,381.05pt» to=«454.95pt,381.05pt» o:allowincell=«f»><line id="_x0000_s1210" from=«274.95pt,280.4pt» to=«454.95pt,280.4pt» o:allowincell=«f»><line id="_x0000_s1195" from=«426.15pt,138.3pt» to=«454.95pt,138.3pt» o:allowincell=«f»><shape id="_x0000_s1192" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1191" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1201" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1206" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1220" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1200" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1203" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1205" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1204" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1199" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1223" type="#_x0000_t202" o:allowincell=«f» stroked=«f»><shape id="_x0000_s1229" type="#_x0000_t116" o:allowincell=«f»><img width=«150» height=«54» src=«dopb81967.zip» alt=«Блок-схема: знак завершения: Начало» v:shapes="_x0000_s1185"> <img width=«610» height=«651» src=«dopb81968.zip» v:shapes="_x0000_s1190 _x0000_s1197 _x0000_s1196 _x0000_s1193 _x0000_s1194 _x0000_s1209 _x0000_s1208 _x0000_s1215 _x0000_s1225 _x0000_s1207 _x0000_s1214 _x0000_s1213 _x0000_s1224 _x0000_s1187 _x0000_s1202 _x0000_s1198 _x0000_s1211 _x0000_s1219 _x0000_s1226 _x0000_s1218 _x0000_s1217 _x0000_s1221 _x0000_s1212 _x0000_s1189 _x0000_s1188 _x0000_s1227 _x0000_s1222 _x0000_s1216 _x0000_s1210 _x0000_s1195 _x0000_s1192 _x0000_s1191 _x0000_s1201 _x0000_s1206 _x0000_s1220 _x0000_s1200 _x0000_s1203 _x0000_s1205 _x0000_s1204 _x0000_s1199 _x0000_s1223"> <img width=«12» height=«61» src=«dopb81969.zip» v:shapes="_x0000_s1228"> <img width=«150» height=«54» src=«dopb81970.zip» alt=«Блок-схема: знак завершения: Выход» v:shapes="_x0000_s1229"> <img width=«187» height=«90» src=«dopb81971.zip» v:shapes="_x0000_s1186">
Рис. 2.4. Алгоритм работы подпрограммы редактирования таблиц
Глава 3.
Организационно — технологическая часть Разработал Солнцев М. А.
Руководитель Гагарина Л. Г.
3.1. Общая структура организации работ по проектированию ПП. 3.1.1. Постановка задачи. Задача, которую предстоит решить программисту на ЭВМ, формулируется им самим или выдается ему в виде специального задания на разработку программы. Задание содержит формулировку задачи, необходимые характеристики разрабатываемой программы, требования к взаимодействию с ней. Выдаче такого задания для крупных задач может предшествовать большая работа научно-исследовательского характера.
Задание на разработку программы по форме и характеру должно быть аналогично техническому заданию (ТЗ) на разработку какого-либо технического продукта (см., например, ГОСТ 19.201-78 Единой системы программной документации).
Техническое задание полезно и в том случае, когда заказчик и исполнитель работают в одной и той же комнате или даже являются одним и тем же лицом. Наличие четкой письменной формулировки будет препятствовать подмене или отходу в процессе разработки программы от сформулированных в ТЗ требований в угоду каким-то другим побочным целям. Кроме того, письменно сформулированное задание делает возможным обсуждение, оценку или согласованную с заказчиками (пользователями) корректировку отдельных требований ТЗ в ходе разработки программы. ТЗ препятствует проникновению в программу таких ошибок и противоречий, которые могут быть обнаружены только после разработки большей части программы или уже на стадии анализа полученных результатов счета. Чем более формализованным по характеру будет техническое задание, тем больше шансов, что разрабатываемая программа будет решать именно ту задачу, которую имел ввиду заказчик.
Техническое задание должно содержать также требования или указания, касающиеся принципов проверки и испытаний готовой программы.
3.1.2. Составление проекта. На основании анализа технического задания программист выбирает основной метод решения задачи, составляет общий проект программы. Выбранный подход к решению задачи должен обеспечивать правильные результаты для тех условий функционирования программы, которые определены ТЗ, гарантировать требуемую скорость работы, предусматривать удобство использования программы и т. п.
В проекте, помимо формулировки выбранного общего метода решения задачи, характеризуются основные части проектируемой программы, их функции, взаимосвязь и последовательность выполнения, а также точно определяются входные данные и выдаваемые результаты, как всей программы, так и основных ее частей. Поскольку каждая разрабатываемая программа, как правило, используется в дальнейшем не только ее автором, но и другими программистами. Составляется и проект инструкции для пользователей, в которой фиксируется (и, таким образом, может быть заранее оценен и исправлен) предполагаемый режим общения пользователя (и оператора) с программой.
Для очень простых задач проектирование может производиться программистом мысленно, без фиксации на бумаге. Наоборот, очень сложные задачи могут потребовать нескольких этапов проектирования: пред эскизное, эскизное, техническое — по аналогии с инженерным проектированием.
продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по коммуникациям
Реферат по коммуникациям
Создание входящей и исходящей транковой группы по типу сигнализации 2ВСК
3 Сентября 2013
Реферат по коммуникациям
Мікропроцесорна метеостанція
3 Сентября 2013
Реферат по коммуникациям
Типові вхідні сигнали
3 Сентября 2013
Реферат по коммуникациям
Электроника 2
3 Сентября 2013