Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая uml.docx
Скачиваний:
150
Добавлен:
22.05.2015
Размер:
1.5 Mб
Скачать

7. Интерфейсы форм

Итак, составлены модели требований, анализа и проектирования и составлены соответствующие им диаграммы, подробно описано взаимодействие между объектами. Исходя из этого, можно приступить к созданию форм приложения.

Проект запускается с главной формы. С ее помощью открываются все остальные формы, как для расчетов, так и для просмотра и редактирования нужной информации. На всех формах расположены кнопки для вызова процедур добавления, удаления и печати данных. Имеются формы со справочной информацией, полностью отражающие таблицы базы данных. Созданы отдельные формы для расчета смет, расчета оплаты времени и стоимости материалов, расчета с заказчиками и форма для внесения данных о материалах и поставщиках.

Эскизы форм приведены ниже на рис. 7.1 – 7.7.

Рис. 7.1 Главная форма: начало запуска

Рис. 7.2 Форма для составления и печати договоров

Рис. 7.3 Форма для расчета стоимости ресурсов

Рис. 7.4 Форма для расчета смет

Рис. 7.5 Форма для расчета с заказчиками

Рис. 7.6 Форма для внесения данных о материалах

Рис. 7.7 Форма списка заказчиков.

Формы со списками услуг, заказов, выполненных заказов, счетов, исполнителей, норм расхода времени, норм расхода материалов, расчетов стоимости материалов, расчетов стоимости оплаты времени, расчетов смет, материалов, поставщиков аналогичны форме со списком заказчиков.

8. Программный код приложения

Класс «Счета» (Schet)

Описание свойств:

Option Explicit

Private mvarKol As Double

Private mvarStE As Double

Private mvarSk As Double

Private mvarYd As Double

Private mvarSum As Double

Private StM, sSk, S As Double

Public Property Let Kol(ByVal vData As Double)

mvarKol = vData

End Property

Public Property Get Kol() As Double

Kol = mvarKol

End Property

Public Property Let StE(ByVal vData As Double)

mvarStE = vData

End Property

Public Property Get StE() As Double

StE = mvarStE

End Property

Public Property Let Sk(ByVal vData As Double)

mvarSk = vData

End Property

Public Property Get Sk() As Double

Sk = mvarSk

End Property

Public Property Let Yd(ByVal vData As Double)

mvarYd = vData

End Property

Public Property Get Yd() As Double

Yd = mvarYd

End Property

Public Property Let Sum(ByVal S As Double)

mvarSum = S

End Property

Public Property Get Sum() As Double

Sum = mvarSum

End Property

Метод для расчета стоимости выполненного заказа:

Public Sub CalcStSch()

StM = Kol * StE

sSk = StM * Yd * Sk / 100

S = StM * Yd - sSk

frmRasch.txtSum.Text = S

End Sub

Метод для расчета итоговой суммы к оплате:

Private Function Quote(strVariable As String) As String

Quote = "'" & strVariable & "'"

End Function

Public Sub CalcSch()

Dim strS As String

If frmRasch.txtN.Text <> "" Then

strS = Trim(frmRasch.txtN.Text)

With frmRasch.Adodc3

.ConnectionString = "Агентство"

.RecordSource = "SELECT Sum([Сумма])As S FROM [Выполненные_заказы] WHERE [Выполненные_заказы].[№ Счета] LIKE " & Quote(strS)

.Refresh

End With

Set frmRasch.txtS.DataSource = frmRasch.Adodc3

frmRasch.txtS.DataField = "S"

Else

MsgBox "Введите значение текстового поля!", vbOKOnly

frmRasch.txtN.SetFocus

End If

End Sub

Класс «Смета» (Smeta)

Описание свойств:

Option Explicit

Private mvarVrDiz As Double

Private mvarStDiz As Double

Private mvarStMater As Double

Private mvarOHR As Double

Private mvarOPR As Double

Private mvarStOf As Double

Private mvarZatr As Double

Private mvarRent As Double

Private mvarOSt As Double

Private PZ, OPR, OHR, IZ, R, SP As Double

Public Property Let VrDiz(ByVal vData As Double)

mvarVrDiz = vData

End Property

Public Property Get VrDiz() As Double

VrDiz = mvarVrDiz

End Property

Public Property Let StDiz(ByVal vData As Double)

mvarStDiz = vData

End Property

Public Property Get StDiz() As Double

StDiz = mvarStDiz

End Property

Public Property Let StOf(ByVal vData As Double)

mvarStOf = vData

End Property

Public Property Get StOf() As Double

StOf = mvarStOf

End Property

Public Property Let StMater(ByVal vData As Double)

mvarStMater = vData

End Property

Public Property Get StMater() As Double

StMater = mvarStMater

End Property

Public Property Let sOHR(ByVal OHR As Double)

mvarOHR = OHR

End Property

Public Property Get sOHR() As Double

sOHR = mvarOHR

End Property

Public Property Let sOPR(ByVal OPR As Double)

mvarOPR = OPR

End Property

Public Property Get sOPR() As Double

sOPR = mvarOPR

End Property

Public Property Let Zatr(ByVal IZ As Double)

mvarZatr = IZ

End Property

Public Property Get Zatr() As Double

Zatr = mvarZatr

End Property

Public Property Let Rent(ByVal R As Double)

mvarRent = R

End Property

Public Property Get Rent() As Double

Rent = mvarRent

End Property

Public Property Let OSt(ByVal SP As Double)

mvarOSt = SP

End Property

Public Property Get OSt() As Double

OSt = mvarOSt

End Property

Метод расчета сметы:

Public Sub Calc()

PZ = VrDiz * StDiz + StOf + StMater

OPR = PZ * Val(frmMain.txtPP.Text) / 100

OHR = PZ * Val(frmMain.txtPH.Text) / 100

IZ = PZ + OPR + OHR

R = IZ * Val(frmMain.txtPR.Text) / 100

SP = IZ + R

frmMain.txtOPR.Text = OPR

frmMain.txtOHR.Text = OHR

frmMain.txtZatr.Text = IZ

frmMain.txtRent.Text = R

frmMain.txtStPr.Text = SP

End Sub

Класс «Стоимость материалов» (StoimMater)

Описание свойств:

Option Explicit

Private mvarRazm As Double

Private mvarStM As String

Private mvarRash As Double

Private mvarTse As Double

Private RM As Double

Public Property Let Razm(ByVal vData As Double)

mvarRazm = vData

End Property

Public Property Get Razm() As Double

Razm = mvarRazm

End Property

Public Property Let Tse(ByVal vData As Double)

mvarTse = vData

End Property

Public Property Get Tse() As Double

Tse = mvarTse

End Property

Public Property Let Rash(ByVal vData As Double)

mvarRash = vData

End Property

Public Property Get Rash() As Double

Rash = mvarRash

End Property

Public Property Let StM(ByVal RM As Double)

mvarStM = RM

End Property

Public Property Get StM() As Double

StM = mvarStM

End Property

Метод расчета стоимости материалов на весь заказ:

Public Sub CalcMater()

Dim strK2 As String

If frmRash.txtKod2.Text <> "" Then

strK2 = Trim(frmRash.txtKod2.Text)

With frmRash.Adodc7

.ConnectionString = "Агентство"

.RecordSource = "SELECT Sum([Стоимость])As Сумма FROM [Расход_материалов] WHERE [Расход_материалов].[Код расчета] LIKE " & Quote(strK2)

.Refresh

End With

Set frmRash.Text8.DataSource = frmRash.Adodc7

frmRash.Text8.DataField = "Сумма"

Else

MsgBox "Введите значение текстового поля!", vbOKOnly

frmRash.txtKod2.SetFocus

End If

End Sub

Метод расчета стоимости одного вида материала:

Public Sub CalcStM()

RM = Razm * Rash * Tse

frmRash.txtStM.Text = RM

End Sub

Класс «Оплата времени» (StoimVr)

Описание свойств:

Option Explicit

Private mvarVSt As Double

Private mvarKol As Double

Private mvarStoimSt As Double

Private mvarOplTr As Double

Private St As Double

Public Property Let VSt(ByVal vData As Double)

mvarVSt = vData

End Property

Public Property Get VSt() As Double

VSt = mvarVSt

End Property

Public Property Let Kol(ByVal vData As Double)

mvarKol = vData

End Property

Public Property Get Kol() As Double

Kol = mvarKol

End Property

Public Property Let StoimSt(ByVal vData As Double)

mvarStoimSt = vData

End Property

Public Property Get StoimSt() As Double

StoimSt = mvarStoimSt

End Property

Public Property Let OplTr(ByVal St As Double)

mvarStoimSt = St

End Property

Public Property Get OplTr() As Double

OplTr = mvarOplTr

End Property

Метод расчета оплаты времени на весь заказ:

Public Sub CalcTime()

Dim strK As String

If frmRash.txtKod.Text <> "" Then

strK = Trim(frmRash.txtKod.Text)

With frmRash.Adodc5

.ConnectionString = "Агентство"

.RecordSource = "SELECT Sum([Общая стоимость])As Сумма FROM [Время_работы] WHERE [Время_работы].[Код расчета] LIKE " & Quote(strK)

.Refresh

End With

Set frmRash.Text7.DataSource = frmRash.Adodc5

frmRash.Text7.DataField = "Сумма"

Else

MsgBox "Введите значение текстового поля!", vbOKOnly

frmRash.txtKod.SetFocus

End If

End Sub

Метод расчета времени на выполняемую работу:

Public Sub CalcSt()

St = VSt * StoimSt * Kol

frmRash.txtOplTr.Text = St

End Sub

Создание нового объекта «Смета» для расчета сметы (frmMain)

Private Sub btnRaschet_Click()

If txtPP.Text <> "" And txtPH.Text <> "" And txtPR.Text <> "" Then

If txtVrD.Text <> "" And txtStoim.Text <> "" And txtOplTr.Text <> "" And txtMater.Text <> "" Then

Dim objSmeta As New Smeta

objSmeta.VrDiz = txtVrD.Text

objSmeta.StDiz = txtStoim.Text

objSmeta.StOf = txtOplTr.Text

objSmeta.StMater = txtMater.Text

objSmeta.Calc

Else

MsgBox "Необходимо заполнить поля с расчетными данными", , "Расчет сметы"

End If

Else

MsgBox "Необходимо заполнить поля с размером процентов", , "Расчет сметы"

End If

End Sub

Создание нового объекта «Оплата времени» для расчета данных по виду работы и для заказа в целом (frmRash):

Private Sub btnSchet_Click()

Dim objStVr As New StoimVr

objStVr.CalcTime

End Sub

Private Sub Command8_Click()

If txtVSt.Text <> "" And txtStoimSt.Text <> "" And txtKol <> "" Then

Dim objStVr As New StoimVr

objStVr.VSt = txtVSt.Text

objStVr.Kol = txtKol.Text

objStVr.StoimSt = txtStoimSt.Text

objStVr.CalcSt

Else

MsgBox "Необходимо заполнить поля", , "Расчет на оплату времени"

End If

End Sub

Создание нового объекта «Стоимость материалов» для расчета данных по виду работы и для заказа в целом (frmRash):

Private Sub btnSchM_Click()

Dim objStM As New StoimMater

objStM.CalcMater

End Sub

Private Sub Command9_Click()

If txtRazmer.Text <> "" And txtRash.Text <> "" And txtTse.Text <> "" Then

Dim objStM As New StoimMater

objStM.Rash = txtRash.Text

objStM.Razm = txtRazmer.Text

objStM.Tse = txtTse.Text

objStM.CalcStM

Else

MsgBox "Необходимо заполнить поля", , "Расчет матриалов"

End If

End Sub

Программный код для добавления и удаления записей в базе данных:

Private Sub Command1_Click()

prompt$ = "Для ввода новой записи нажмите на кнопку ОК"

reply = MsgBox(prompt$, vbOKCancel, "Добавить запись")

If reply = vbOK Then

Text1.SetFocus

Adodc3.Recordset.AddNew

End If

End Sub

Private Sub Command2_Click()

prompt$ = "Вы действительно хотите удалить эту запись?"

reply = MsgBox(prompt$, vbOKCancel, "Удаление записи")

If reply = vbOK Then

Adodc3.Recordset.Delete

Adodc3.Recordset.MoveNext

End If

End Sub

Программный код для автоматического вставления данных (frmRash):

Private Sub Command10_Click()

If Text2.Text = "" And Text3.Text = "" And txtVSt.Text = "" Then

Text2.Text = txtNK.Text

Text3.Text = txtNN.Text

txtVSt.Text = txtNV.Text

Else

MsgBox "Добавьте новую строку, или очистите поле", , "Расчет расхода ресурсов"

End If

End Sub

Печать (аналогичен для смет, расчетов стоимости материалов, счетов):

Private Sub Command3_Click()

Dim strS As String

If txtKod.Text <> "" Then

strS = Trim(txtKod.Text)

With Adodc5

.ConnectionString = "Агентство"

.RecordSource = "SELECT * FROM [Время_работы] WHERE [Время_работы].[Код расчета] LIKE " & Quote(strS)

.Refresh

End With

Set DataGrid1.DataSource = Adodc5

Printer.Print ""

Printer.FontName = "Times New Roman"

Printer.FontSize = 14

Printer.Print DataGrid1.Text

Printer.EndDoc

Else

MsgBox "Введите код расчета для печати!", vbOKOnly

txtKod.SetFocus

End If

End Sub

Печать таблиц с данными:

Private Sub Command2_Click()

Printer.Print ""

Printer.FontName = "Times New Roman"

Printer.FontSize = 14

Printer.Print DataGrid1.Text

Printer.EndDoc

End Sub

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсовой работы спроектирована и разработана информационная система для выбранной предметной области – агентства цифровых, оформительных и рекламных услуг. Результат разработки – приложение, выполненное при помощи средств СУБД – Microsoft Access на языке программирования Visual Basic.

В ходе разработки последовательно разработаны модели требований, анализа, проектирования и соответствующие диаграммы вариантов использования, деятельности, классов, последовательностей, кооперации и состояний. Спроектированы формы приложения. Разработанная ИС обрабатывает характерные для применения данные и обеспечивает выполнение полного набора операций для этого применения.

Руководство пользователя:

1. После запуска приложения появляется главная форма. При помощи меню главной формы можно открыть списки (выполненные заказы, заказчики, заказы, исполнители, материалы, нормы расхода, поставщики, расход ресурсов, сметы, счета, услуги), формы для расчета смет, стоимости ресурсов, расчета с заказчиками, внесения материалов и формы договоров.

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

3. Для просмотра списков нужно найти интересующий нас список в меню Списки. Откроется форма с выбранным списком. В зависимости от хранящейся в списках информации возможен либо только ее просмотр и печать либо добавление, удаление, редактирование и печать данных.

4. Для внесения информации о наличии материалов на складе и поставщиках нужно выполнить команду Открыть/Запас материалов и внести нужные данные.

5. Для расчета стоимости материалов нужно выполнить команду Открыть/Расчет ресурсов. В области для расчета стоимости материалов нажать кнопку «Добавить», в появившемся сообщении подтвердить намерение добавления новой записи нажатием кнопки «ОК». В таблице появится новая строка, очистятся текстовые поля. В текстовые поля заносятся данные о коде расчета. Слева от области для расчета стоимости материалов находится область с нормами расхода материалов. В ней находим нужный код материала и выполняемую работу, нажимаем кнопку «Вставить» либо дважды щелкаем в одном из текстовых полей для вставки данных в таблицу для расчета. Далее вводим размер изделия (в м2) либо количество (для букв) и стоимость материалов. Для расчета стоимости расходуемого материала нажимаем кнопку «Считать». В текстовом поле «Стоимость (руб.)» появится рассчитанная стоимость материала. Аналогично рассчитываем стоимость остальных материалов для одного заказа. Для расчета общей стоимости материалов по одному заказу вводим в текстовое поле «Введите код расчета» код расчета и нажимаем кнопку «Считать». В текстовом поле «Стоимость материалов (руб.)» появится рассчитанная стоимость материалов по интересующему нас заказу.

6. Для расчета расходов на оплату времени нужно выполнить команду Открыть/Расчет стоимости ресурсов и в соответствующей области выполнить действия, аналогичные тем, что описаны в п. 5 для расчета стоимости материалов.

7. Для расчета с заказчиками нужно выполнить команду Открыть/Расчет с заказчиками. Заполнить таблицу выполненных заказов, рассчитать сумму счета (по аналогии с расчетом стоимости материалов и расходов на оплату времени), заполнить таблицу «Счет» двойным щелчком в полях «Дата», «№ счета», «Общая сумма (руб.)» в области выполненных заказов и распечатать счет.

8. Для закрытия форм со списками и форм для расчета нужно нажать кнопку «Закрыть», имеющуюся в каждой форме.

9. Для выхода из приложения нужно выполнить команду Файл/Выход.

Для практического использования системы в агентстве цифровых, оформительных и рекламных услуг ее необходимо доработать и дополнить. Данная система является скорее познавательным примером в области проектирования.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1. Разработка баз данных в системе Microsoft Access: учебник. – 2-е изд. – М.: ФОРУМ: ИНФА-М, 2007. – 224 с.: ил. – (Профессиональное образование)

  2. Microsoft Visual Basic 6.0 для профессионалов. Шаг за шагом: Практ. пособ./Пер. с англ. – М.: Издательство ЭКОМ, 2004. – 720 с.: илл.

  3. Глушаков С. В., Сурядный А. С. Программирование на Visual Basic 6.0: учебное издание. – М.: Издательство «Фолио», 2002. – 497 с.

  4. Брайан Сайлер «Использование Visual Basic 6»: специальное издание/Сайлер, Брайан, Споттс, Джефф – М: Вильямс, 2005. – 830с.

  5. Г. Буч, Д. Рамбо, А. Джекобсон «Язык UML. Руководство пользователя».

  6. Черемных, С. В. Структурный анализ систем. IDEF-технологии/ С. В. Черемных, И. О. Семенов. – М.: Финансы и статистика, 2002.

  7. Марка, Д. А. SADT - методология структурного анализа и проектирования/ Д.А. Марка. – М.: Метатехнология, 1993.

  8. Дейт, К.Дж. Введение в системы базы данных / К. Дж. Дейт – Вильямс, 2001. – 1072 с.

  9. Вендров, А.М. Практикум по проектированию программного обеспечения экономических информационных систем / А.М. Вендров. – М.: Финансы и статистика,2006. – 192 с.

  10. Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite / С.В. Маклаков. –М.: Диалог-Мифи, 2003. – 432 с.

Инв. № подп.

Взам. Инв. №

Подп. и дата

Инв. № дубл.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

3

1

ТГТУ – 230201.404

Автоматизация рабочего места оператора в «Агенстве цифровых и рекламных услуг»

Лит.

Листов

46

СИС-42 ЗУ