Тестирование представляет собой деятельность по проверке программного кода и документации. Она должна планироваться заранее и систематически проводиться специально назначенным тестировщиком во время разработки программного продукта.

Тестирование начинается практически одновременно с этапом планирования программного продукта, и длиться на всем протяжении разработок и достигает своего пика в конце этапа проектирования.

На ранних стадиях разработки тестируется документация и разрабатываемые модели, такое тестирование требует наличие у тестировщика определённого опыта, в нахождении ошибок в документации и моделях до возникновения ошибок в разработанном программном продукте.

В рамках данного программного продукта тестирование проводилось одновременно с реализацией, кодированием программного продукта. Это позволило оперативно исправлять возникавшие ошибки и недочёты.

Кроме того после завершения этапа разработки было проведено комплексное тестирования всего программного продукта.

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

Гораздо более трудными к устранению являются ошибки системы, причина их возникновения весьма «туманна», так как для устранения данной ошибки необходимо знать принципы работы самой системы. Возникновение таких ошибок часто заставляет идти на компромиссы.

НЕ нашли? Не то? Что вы ищете?

При разработке данного программного продукта изначально в качестве условий выбора диалоговых форм «Выбор пользователя» и «Удаление пользователя» было решено использовать поле Фамилия. Что и было реализовано, однако во время тестирования выявилась ошибка, а точнее некорректный выбор пользователя по фамилии. Анализ данной ошибки не дал никаких результатов, так как результаты вывода не имели никакой логики указывающей на причину возникновения ошибки. Скорее всего это ошибка возникает из за несовместимости данных, возвращаемых в таблицу из формы созданной средствами VBA и формулы ПРОСМОТР() самого табличного редактора. Как выяснилось позже, формула «ПРОСМОТР» нормально функционирует и реализует поиск в заданном диапазоне только целочисленным индексам, а попытка поиска по текстовым или цифро-текстовым индексам приводит к некорректному выводу информации.

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

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

6. СОПРОВОЖДЕНИЕ ПРОГРАММНОГО ПРОДУКТА

Сопровождение программного продукта это процесс, связанный с его модернизацией и адаптацией к новым условиям или требованиям. Этот этап не является обязательным, однако очень выгоден для разработчика.

При малых затратах на изменение программного продукта разработчик может получить прибыль немногим меньшую чем разработка программного продукта с нуля.

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

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

Модернизация будет необходима, если изменится способ расчёта выплат льгот и их учёта. Разработанный программный продукт обладает средствами и возможностями для такой модернизации.

Кроме того в перспективе возможно развитие данного программного продукта доведения его до масштабов автоматизированной системы. Средства Excel и VBA позволят это сделать.

ЗАКЛЮЧЕНИЕ

В данной курсовой работе был разработан программный продукт для расчета и учета предоставления льгот на услуги жилищно-комунального хозяйства.

Программа была разработана с помощью языка программирования Visual Basic for Application (VBA).

Язык программирования Visual Basic for Application – быстрое, простое решение многих задач, связанных с программированием офисных приложений.

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

Visual Basic for Application обладает достаточно широкими возможностями базового языка Visual Basic, и позволяет обращаться практически ко всем возможностям Microsoft Excel по созданию, обработке и хранению информации.

Язык программирования Visual Basic for Application наиболее удобен в работе и прост в обращении для широкого круга пользователей, желающих самостоятельно научиться создавать программы.

Таким образом, данная программа по учёту предоставления льгот на коммунальные услуги делает наиболее простой работу пользователя в данной области и сокращает время на выполнение соответствующих операций

Приложение 1

Листинг программы

Электронная форма учёта предоставления льгот по оплате жилья

Лист 4 главное меню

Private Sub CommandButton1_Click()

Лист3.Activate

End Sub

Private Sub CommandButton2_Click()

Лист1.Activate

End Sub

Private Sub CommandButton3_Click()

Лист2.Activate

End Sub

Private Sub CommandButton4_Click()

frmSet. Show

End Sub

‘Создание меню в панели инструментов

Private Sub Workbook_Open()

With mandBars. Add(Name:="Меню", Temporary:=True, Position:=msoBarTop)

With .Controls. Add(Type:=msoControlButton)

.Style = msoButtonIconAndCaption

.FaceId = 66

.Caption = "Главная"

.OnAction = "кГлавной"

End With

With .Controls. Add(Type:=msoControlButton)

.Style = msoButtonIconAndCaption

.FaceId = 66

.Caption = "Квитанция"

.OnAction = "кКвитанции"

End With

With. Controls. Add(Type:=msoControlButton)

.Style = msoButtonIconAndCaption

.FaceId = 66

.Caption = "Тарифы"

.OnAction = "кТарифам"

End With

With .Controls. Add(Type:=msoControlButton)

.Style = msoButtonIconAndCaption

Приложение 1

.FaceId = 66

.Caption = "Списку"

.OnAction = "кСписку"

End With

.Visible = True

End With

End Sub

Печать таблицы тарифов

Private Sub CommandButton1_Click()

Лист2.PrintPreview

End Sub

‘Квитанция печать и вызов форм

Private Sub CommandButton1_Click()

Лист3.PrintPreview

End Sub

Private Sub CommandButton2_Click()

frmCode. Show

End Sub

Private Sub CommandButton3_Click()

frmWrite. Show

End Sub

‘Список клиентов печать и вызов форм

Private Sub CommandButton1_Click()

Лист1.PrintPreview

End Sub

Private Sub CommandButton2_Click()

frmAdd. Show

End Sub

Private Sub CommandButton3_Click()

frmDel. Show

End Sub

‘Форма добавления клиента и процедуры добавления

Приложение 1

Private Sub CommandButton1_Click()

Dim Max

Dim Count As Integer

Count = Sheets("Настройки").Cells(1, 2)

Max = Sheets("Список клиентов").Cells(2, 16)

Sheets("Список клиентов").Cells(Max + 6, 2) = Count + 1

Sheets("Список клиентов").Cells(Max + 6, 3) = TextBox1.Text

Sheets("Список клиентов").Cells(Max + 6, 4) = TextBox2.Text

Sheets("Список клиентов").Cells(Max + 6, 5) = TextBox6.Text

Sheets("Список клиентов").Cells(Max + 6, 6) = TextBox3.Text

Sheets("Список клиентов").Cells(Max + 6, 7) = TextBox4.Text

Sheets("Список клиентов").Cells(Max + 6, 8) = TextBox5.Text

Sheets("Список клиентов").Cells(Max + 6, 9) = ComboBox1.Text

Sheets("Список клиентов").Cells(Max + 6, 10) = ComboBox2.Text

Sheets("Список клиентов").Cells(Max + 6, 11) = ComboBox3.Text

Sheets("Список клиентов").Cells(Max + 6, 12) = ComboBox4.Text

Sheets("Список клиентов").Cells(Max + 6, 13) = ComboBox5.Text

Sheets("Список клиентов").Cells(Max + 6, 14) = ComboBox6.Text

Sheets("Настройки").Cells(1, 2) = Count + 1

frmAdd. Hide

End Sub

Private Sub CommandButton2_Click()

frmAdd. Hide

End Sub

Private Sub UserForm_Activate()

ComboBox1.RowSource = "Газ_код"

ComboBox2.RowSource = "Гвода_код"

ComboBox3.RowSource = "Хвода_код"

ComboBox4.RowSource = "отопление_код"

ComboBox5.RowSource = "Эл_код"

ComboBox6.RowSource = "ЛьготыКод"

End Sub

Private Sub UserForm_Click()

End Sub

Форма выбора клиента

Private Sub CommandButton1_Click()

If ComboBox1.Text <> "" Then

Sheets("Квитанция").Cells(2, 13) = ComboBox1.Text

Else

MsgBox "Выбрано пустое значение"

End If

Приложение 1

frmCode. Hide

End Sub

Private Sub CommandButton2_Click()

frmCode. Hide

End Sub

Private Sub UserForm_Activate()

boBox1.RowSource = "Код"

End Sub

Private Sub UserForm_Click()

End Sub

Форма удаления клиента из таблицы

Private Sub CommandButton1_Click()

Dim MaxD As Integer

Dim CodeD As Integer

Dim i, d, dd As Integer

MaxD = Sheets("Список клиентов").Cells(2, 16)

Sheets("Список клиентов").Cells(3, 15) = ComboBox1.Text

CodeD = Sheets("Список клиентов").Cells(3, 16)

'Удаление последней записи

If MaxD = CodeD Then

Sheets("Список клиентов").Cells(MaxD + 5, 2) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 3) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 4) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 5) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 6) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 7) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 8) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 9) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 10) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 11) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 12) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 13) = ""

Sheets("Список клиентов").Cells(MaxD + 5, 14) = ""

Else

'Удаление не последней записи

'Удаляем запись

Sheets("Список клиентов").Cells(CodeD + 5, 2) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 3) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 4) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 5) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 6) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 7) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 8) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 9) = ""

Приложение 1

Sheets("Список клиентов").Cells(CodeD + 5, 10) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 11) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 12) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 13) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 14) = ""

'Сдвигаем таблицу

d = MaxD - CodeD

For i = 1 To d

Sheets("Список клиентов").Cells(CodeD + 5, 2) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 2)

Sheets("Список клиентов").Cells(CodeD + 5, 3) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 3)

Sheets("Список клиентов").Cells(CodeD + 5, 4) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 4)

Sheets("Список клиентов").Cells(CodeD + 5, 5) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 5)

Sheets("Список клиентов").Cells(CodeD + 5, 6) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 6)

Sheets("Список клиентов").Cells(CodeD + 5, 7) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 7)

Sheets("Список клиентов").Cells(CodeD + 5, 8) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 8)

Sheets("Список клиентов").Cells(CodeD + 5, 9) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 9)

Sheets("Список клиентов").Cells(CodeD + 5, 10) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 10)

Sheets("Список клиентов").Cells(CodeD + 5, 11) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 11)

Sheets("Список клиентов").Cells(CodeD + 5, 12) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 12)

Sheets("Список клиентов").Cells(CodeD + 5, 13) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 13)

Sheets("Список клиентов").Cells(CodeD + 5, 14) = Sheets("Список клиентов").Cells(CodeD + 1 + 5, 14)

CodeD = CodeD + 1

Next

Sheets("Список клиентов").Cells(CodeD + 5, 2) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 3) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 4) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 5) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 6) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 7) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 8) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 9) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 10) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 11) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 12) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 13) = ""

Sheets("Список клиентов").Cells(CodeD + 5, 13) = ""

End If

End Sub

Private Sub CommandButton2_Click()

frmDel. Hide

End Sub

Приложение 1

Private Sub UserForm_Activate()

boBox1.RowSource = "Код"

End Sub

Private Sub UserForm_Click()

End Sub

Форма настройки счётчиков

Private Sub CommandButton1_Click()

Sheets("Настройки").Cells(1, 2) = TextBox1.Text

Sheets("Настройки").Cells(2, 2) = TextBox2.Text

frmSet. Hide

End Sub

Private Sub CommandButton2_Click()

frmSet. Hide

End Sub

Private Sub UserForm_Activate()

TextBox1 = Sheets("Настройки").Cells(1, 2)

TextBox2 = Sheets("Настройки").Cells(2, 2)

End Sub

Private Sub UserForm_Click()

End Sub

‘Форма записи информации в таблицу выплат

Private Sub CommandButton1_Click()

Dim Last As Integer

Last = Sheets("Настройки").Cells(2, 2)

Sheets("Выплаты").Cells(3 + Last + 1, 1) = Last + 1

Sheets("Выплаты").Cells(3 + Last + 1, 2) = TextBox1.Text

Sheets("Выплаты").Cells(3 + Last + 1, 3) = TextBox2.Text

Sheets("Выплаты").Cells(3 + Last + 1, 4) = TextBox3.Text

Sheets("Выплаты").Cells(3 + Last + 1, 5) = TextBox4.Text

Sheets("Настройки").Cells(2, 2) = Last + 1

End Sub

Private Sub CommandButton2_Click()

frmWrite. Hide

End Sub

Private Sub UserForm_Activate()

TextBox1.Text = Sheets("Квитанция").Cells(5, 7)

TextBox2.Text = Sheets("Квитанция").Cells(16, 45)

Приложение 1

TextBox3.Text = Sheets("Квитанция").Cells(19, 31)

TextBox4.Text = Date

End Sub

Private Sub UserForm_Click()

End Sub

Макросы меню на панели инструментов

Sub кГлавной()

Лист4.Activate

End Sub

Sub кСписку()

Лист1.Activate

End Sub

Sub кТарифам()

Лист2.Activate

End Sub

Sub кКвитанции()

Лист3.Activate

End Sub

Sub Форма()

frmAdd. Show

End Sub

Sub Форм1()

frmCode. Show

End Sub

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3