Реферат по предмету "Информатика, программирование"


Разработка прикладного программного обеспечения деятельности отдела аренды ЗАО "Сириус"

Министерствотранспорта Российской Федерации
Федеральноеагентство железнодорожного транспорта
ГОУ ВПО«Дальневосточный государственный университет путей сообщения»
Кафедра«Информационные технологии и системы»
Курсовойпроект
Разработкаприкладного программного обеспечения деятельности отдела аренды ЗАО «Сириус»
Вариант 30
Выполнил:Шолков И.Д.
220группа
Проверил:Гурвиц Г.А.
Хабаровск2009

         Оглавление
1.   Заданиена курсовой проект
2.   Описаниепроцесса создания векторного плана этажа здания
2.1 Созданиеприложения
2.2 Созданиечертежа
3.   Описаниепредметной области и схемы модели данных
4.   Разработкаприложения
Списоклитературы

 1.        Заданиена курсовой проект
Разработать прикладноепрограммное обеспечение деятельности отдела аренды ЗАО «Сириус». После удачнойприватизации, когда у руководства этого предприятия оказалась большая частьакций, дела некогда мощного предприятия пошли на спад. В настоящее времяосновной статьей получения прибыли является сдача в аренду другим предприятиями организациям площадей, которыми владеет «Сириус». В его собственности имеется12-этажное здание, которое состоит примерно из 300 помещений. Почти все онисдаются в аренду. Один арендатор может арендовать несколько помещений, причемсрок аренды для каждого устанавливается отдельно. Величина арендной платы и еепериодичность устанавливается арендодателем. Субаренда площадей запрещена.Закрытые договоры не удаляются из БД для
отслеживания предыдущих арендаторов.
/>
2.        Описаниепроцесса создания векторного плана этажа здания
Моя работа связана сотдельной поликлиникой, поэтому мне необходимо начертить план зданияполиклиники, нанести на неё различные чертёжные элементы и элементы интерьера.Именно этот план послужит для создания графической опоры моей геоинформационнойсистемы.
Для разработки планаздания воспользуемся графическим редактором AutoCAD.Он предоставляет широкие возможности для графических решений. Целесообразностьочевидна из его функциональности.2.1     Созданиеприложения
Создав проект AutoCADпереднами появляется среда разработки.
/>
Для начала установимединицы измерения, для этого откроем вкладку Формат –>Единицы. И в окневыберем сантиметры.
/>
2.2     Созданиечертежа
Весь план должен бытьвыполнен в слоях, поэтому я выделил следующее разделение:
1.        Схемаздания
2.        Заполнение
3.        Интерьер
4.        Подписи
Для создания слоеввоспользуемся вкладкой ФОРМАТ -> СЛОЙ. В результате чего появится окноДиспетчер свойств слоёв
/>
Длясоздания своих слоев существует соответствующая кнопка – Создать слой. Значокгалочки соответствует активному слою.
Далеев процессе проектирования чертежа, для того, чтобы нарисовать объект вопределённом слое, необходимо сделать данный слой активным, и чертить объект.Сделать слой активным можно, нажав на зелёную галочку.
Далееприступаем непосредственно к отрисовке плана здания.
Послепроделанной работы получили следующий чертёж:
/>
Не маловажно создатьещё один слой. На это слое будут отображать блоки, которые необходимы для связипространственной информации с атрибутивной.
Проделываем заново операциисо слоями и создаём слой блоков. На нём непосредственно чертим контуры будущихблоков. Это будет красный прямоугольник над подписью кабинета.
Далее необходимосоздать собственно блок.
Для этого на панелиинструментов нажимаем кнопку создать блок, после чего появляется диалоговоеокно создания блока:
/>
В нём вводим имя блока,выбираем объект(в нашем случае это красный квадрат) и нажимаем ОК. Всё, блоксоздан.
Аналогичные операциипроделываем и с другими блоками.
3. Описаниепредметной области и схемы модели данных
По моему варианту данатаблица с полями и данными этих полей. Понятно, что использование даннойтаблицы в будущей работе невозможно, хотя возможно, но это будет в корне неправильно.
Поэтому данныенеобходимо нормализовать.
В работе мы будемиспользовать 3 нормальные формы баз данных.
Первая нормальнаяформа. Условие нахождения базы в первой нормальной форме является разбиение еёна таблицы, которые не содержат повторяющихся полей.
Сделаем это с нашейтаблицей, получим следующие таблицы
Arendator/>
Rooms
/>

Contract
/>
Получили таблицы,которые содержат информацию об арендаторах, помещениях и контрактах.
Казалось бы всё, данныеобъединены в родственные группы. Но со стороны реляционных баз данных следуетразделить эти таблицы ещё на несколько новых. Это существенно упростит работу сданными.
Создадим таблицуидентификации улицы(Street),создадим дополнительное поле в таблице Arendatorпод названием Nbuild в будущем этоупростит ввод адреса.
Street
/>
district:
/>
Далее перейдём крассмотрению второй нормальной формы.
Если база находится вовторой нормальной форме, то она удовлетворяет условиям первой нормальной формыи имеет ключевые поля, которые однозначно определяют любые не ключевые.
Для того чтобы быстронайти, связать данные необходимы поля, которые однозначно определяют данныетаблицы, именно они называются первичными ключами.
Расставим в каждойтаблицы данные ключи:
Arendator– CustomerID
Rooms– HallID
Contract– TreatyID
Street– Street
District- District
Третьянормальнаяформа.Условиенахождения в третьей нормальной форме, это удовлетворение второй нормальнойформе и ни одно не ключевое поле не определяет ключевые поля.
Далее эти таблицысоздаются в MSAccess где они принимаютследующий вид:
Чтобы создать таблицу,на вкладке Создание выбираем Таблица в итоге появляется новая таблица, входим врежим конструктора и Accessпросит ввести имя таблиц, вводим и начинаем создавать таблицу. Вписываем имяполя определяем тип данных если надо расставляем индексы и определяемвозможность повторений.
 Аналогичный видпринимают и остальные таблицы в зависимости от назначения полей.
Далее необходимосоздать ключевые поля. Для этого перейдём в конструктор таблицы. Там на вкладкеконструктор есть добавить ключевое поле. Выбираем наше ключевое поле всоответствии с предыдущим разбиением и нажимаем добавить ключ. В итоге напротивполя появится значок ключа.
Аналогичные операциипроводим и для всех остальных таблиц.
Следующий этап это определениесвязей между таблицами. На вкладке Работа с базами данных нажмём на пиктограммуСхема данных. Появится пространство в которое мы добавим все наши таблицы.
Получим следующее:
/>
Для создания связивыделим ключевое поле и перетащим его к соответствующему не ключевому полюдругой таблицы. В итоге появится окно (один-к-одному, один-многие,многие-многие в зависимости от того разрешены или нет повторяющиеся значения)
/>
Жмём Создать и связьсоздана аналогично проделываем те же операции для других таблиц и получаемследующую схему:
/>
На этом этапе всеработы с базами завершены. Далее идёт их обычное заполнение.

 4.        Разработкаприложения
Настал самый тяжёлыйэтап создания проекта. Этап разработки и ошибок. На данном шаге мы приступаем кразработке самого приложения, которое позволит работать с базой с помощьюдиалогового окна Windows.
Связь атрибутивной ипространственной информации будет организовываться с помощью языкапрограммирования VisualBasic forApplication (VBA).Это разновидность языка VB,так как он прикреплён к нашей среде разработки AutoCAD,но в остальном он полностью синонимичен языку VB.
Какпринято в культурном мире, каждый человек при встрече обязан поприветствоватьдругого… Не будем отступать от правил и начнём разработку с окна приветствия.
Дляэтого зайдем на вкладку сервис->макросы->создать макрос
Иперед нами появилась среда разработки. />
В левом верхнем углуможно видеть дерево проекта, где отображены объекты AutoCAD, формы и модули. Добавим форму следующим путём Insert->UserForm.У нас появилась форма. По середине мы видим саму форму, а рядом находитсяпанель ToolBox на которойразмещены элементы, необходимые для разработки приложения (Controls«Контролы»)Добавим на форму Label со словамиприветствия и 2 кнопки Commandbutton1(закрываетформу и открывает стартовую форму) и Commandbutton2(закрываетформу и закрывает рисунок AutoCad).
Програмныйкодформы
PrivateSub CommandButton1_Click()
UnloadMe
UserForm2.Show
EndSub
PrivateSub CommandButton2_Click()
UnloadMe
ThisDrawing.Close
EndSub
Стартоваяформа
/>
//Выборбазы
PrivateSub UserForm_Activate()
//Добавление базы изпапки расположения AutoCAD
TextBox1.Text= ThisDrawing.Path + "\mydatabase.accdb"
//Присвоение переменнойпути файла
path_db = TextBox1.Text
End Sub
//Запись в ComboBoxИмени пользователя
PrivateSub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByValX As Single, ByVal Y As Single)
ComboBox1.Text= «Илья»
EndSub
//ОбработчикнажатиянаOptionButton
PrivateSub OptionButton1_Click()
// Меняем значениепеременной на ложь. Для второй OptionButtonтоже //самое, только присваиваем значение истина
chec= False
EndSub
PrivateSub CommandButton2_Click()
//Присвоение переменнымзначений полей
a= TextBox2.Text
n= ComboBox1.Text
//проверка условиявхода базу
Ifchec = TrueThen
//Проверка пароля длядальнейшей работы
If(a = 11111) And (n = «Илья»)Then
//Установкасоединениясбазой
SetThisDrawing.adoConnect = New ADODB.Connection
WithThisDrawing.adoConnect
//Подключениепровайдера для работы с базами и привязка базы к чертежу
.ConnectionString= «Provider=Microsoft.ACE.OLEDB.12.0;Data Source=» &TextBox1.Text
.Open
EndWith
UnloadMe
UserForm3.Show
Else
// Если пароль введённе верно то выводится сообщение
MsgBox «Возможнопользователь или пароль введёны не правильно!!! Пожалуйста введите пользователяи пароль!!!», vbOKOnly + vbExclamation
End If
Else
Unload Me
End If
End Sub
Форма для регистратуры.
/>
//Объявление глобальныхпеременных
PrivateSub UserForm_Activate()
//Установкасоединения
SetThisDrawing.adoConnect = New ADODB.Connection
WithThisDrawing.adoConnect
.ConnectionString= «Provider=Microsoft.ACE.OLEDB.12.0;Data Source=» &ThisDrawing.Path & "\rt.accdb"
.Open
EndWith
//Установка переменнойвыборки базы данных
Setrecord = New ADODB.Recordset
record.ActiveConnection= ThisDrawing.adoConnect
Withrecord
//Текст запроса к базе
//Остальные запросывыполнены по аналогии с той лишь разницей, что //переменные будут другие,поэтому дальше текст запроса рассматривать не //будем
.Source= «Select * from Arendator where CustomerID =1»
.Open
EndWith
//Функция обновлениявыведенных данных прописана ниже
print_i
EndSub
PublicSub print_i()
//Присвоение текстбоксу значения ячейки выбранной из базы. Код //аналогичен для всех выводов
TextBox1.Text= record!CustomerID
//Определение пологическому полю физическое лицо или юридическое
If(record!CustomerType = True) Then
TextBox2.Text= «Физическое»
Else
TextBox2.Text= «Юридическое»
EndIf
//Передача переменнойФормы 4 параметра выборки для дальнейшего //использования
UserForm4.aa= record1!CustomerID
EndSub
//Переход по базамосуществляется аналогично выполнению запроса в //активации формы. Опишем лишьинтересные моменты
//Если выборкадостигает конца записи, то параметр iобнуляется
Ifrecord.EOF= True Then
i= 0
CommandButton5_Click
//Иначе продолжаетсявыборка по запросам
Else
Withrecord
s= i + 1
//передача параметра sв качестве переменной запроса
.Source= «Select * from Rooms where CustomerID =» & s
.Open
End With
//Далее идут запросы
//Обновление формы
print_i
i= i + 1
EndIf
End Sub
/>
По большому счёту веськод данных форм практически идентичен предыдущему в силу того, что используютсязапросы с другими параметрами и из других таблиц, вот и все отличия.
/>
Формауправленияслоями
/>
Для того, чтобы вобъекте ListBox1 появилсясписок слоёв, необходимо методе инициализации формы прописать следующие строки:
PrivateSub UserForm_Initialize()
//Данный цикл выводитсуществующие слои в ListBox
ForI = 2 To ThisDrawing.Layers.Count — 1
ListBox1.AddItem(ThisDrawing.Layers.Item(I).Name)
NextI
EndSub
В результате выполненияданного кода объект ListBox1будет заполняться названиями существующих слоёв.
В обработчике кнопки «Отключитьслой» пропишем следующие строки:
Private SubCommandButton1_Click()
//проверка условиявыбранного поля
IfListBox1.ListIndex = -1 Then
MsgBox«Выберитеслой»
Else
//методдляотключенияслоя
ThisDrawing.Layers.Item(ListBox1.Text).LayerOn= False
EndIf
//обновлениеформы
UserForm1.Refresh
End Sub
Этот участок кодаотвечает за выключение выбранного слоя.
Аналогичный код будет идля кнопки «Включить слой». Разница будет лишь в методе:
ThisDrawing.Layers.Item(ListBox1.Text).LayerOn= True
Теперь следуетрассмотреть код нажатия по блокам в среде AutoCAD.
//Объявлениеглобальныхпеременных
PublicadoConnect As ADODB.Connection
Publicpath_db As String
PublicID As Variant
PublicID_A As Integer
Publica As String
Publicn As String
//При загрузкеприложения автоматически открывается форма //приветсвтия
PrivateSub AcadDocument_Activate()
UserForm6.Show
EndSub
//Обработчик нажатия наблок
PrivateSub AcadDocument_SelectionChanged()
//определениелокальныхпеременных
DimobjGen As AcadEntity
Dimi AsInteger
//Установка соединенияи подключение провайдера
SetThisDrawing.adoConnect = New ADODB.Connection
WithThisDrawing.adoConnect
.ConnectionString= «Provider=Microsoft.ACE.OLEDB.12.0;Data Source=» &ThisDrawing.Path & "\rt.accdb"
.Open
EndWith
//Именно в этой частикода осуществляется передача данных //переменной objGenот блоков чертежа
IfThisDrawing.PickfirstSelectionSet.Count > 0 Then
Set objGen =ThisDrawing.PickfirstSelectionSet.Item(ThisDrawing.PickfirstSelectionSet.Count- 1)
//Проверканапринадлежностьблоку
IfobjGen.ObjectName = «AcDbBlockReference» Then
SelectCase objGen.Name
//По имени нажатогоблока определяются параметры которые нужно //передать дальше для выполнениязапросов
Case 1
ID_A= 10
//Передача параметровпеременной формы 4
UserForm4.aa= ID_A
UserForm4.Show
Case2
ID_A= 70
UserForm5.aa= ID_A
UserForm5.Show
Case3
UserForm3.Show
EndSelect
EndIf
//Снятиевсехвыделений
Fori = 0 To ThisDrawing.PickfirstSelectionSet.Count — 1
ThisDrawing.PickfirstSelectionSet.Item(i).Highlight(False)
ThisDrawing.PickfirstSelectionSet.Item(i).Update
Nexti
ThisDrawing.SendCommand(".Выбрать"& vbCr)
EndIf
EndSub

          Список литературы
1.  ГурвицГ.А.Microsoft Access 2007. Разработка приложений на реальномпримере.- СПб.: БХВ-Петербург, 2007. – 672 с.: ил. +CD-ROM
2.   AutoCAD2007. Видео курс.- СПб.: БХВ-Петербург, 2007.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.