ня боргу - після натисканні кнопки видалення борг успішно вилучено.
7. Тестування графіка зміни балансу
Виконання дій 4.1, 4.2, 5.2. Додавання боргу - дата: 10.03.2015, закінчення 10.03.2016, сума: 10000, сума виплати: 2000, частота виплат: 1 день, категорія: «Auto». На сторінці графіка вибираємо діапазон відображається наступна динаміка балансу: 800, 10300, 8300, 6 300, 4300, 2 300.
. Тестування графіка порівняння днів за сумою фінансових операцій
Виконання дій з пункту 7. Отриманий графік: 800, 9500, - 2000, - 2000, - 2000, - 2000.
9. Тестування графіка порівняння днів за сумою заборгованостей
Виконання дій 7.
. Тестування графіка порівняння категорій за сумою фінансових операцій
Виконання дій 4.1, 4.2, 5.2. Отриманий графік: 1000, - 500, - 200.
кодування програмний бухгалтерія
Висновок
У ході виконання курсової роботи були використані гнучкі методології розробки продукту, мова програмування - Java. На виході отриманий продукт, що задовольняє потреби замовника.
Обрана методологія дозволила сформувати жорсткі терміни на створення функціоналу програми, а також забезпечити достатню кількість часу на кожну ітерацію. Причому всі задані функції виконані в строк, без будь-яких накладок і вибору найбільш і найменш важливих функцій.
Процес конструювання дозволив уникнути накладок при роботі додатки (наприклад, введення некоректних даних і «падіння» програми), а також доопрацювати діалогові вікна для взаємодії з користувачем і протестувати коректність роботи БД за допомогою тестових даних. Відповідно дані дії підвищили якість програми.
Додаток
Код програми
BalanceBacking.java
package ru.ulstu.secretaryart;
java.util. Date;
javax.faces.view. ViewScoped; javax.inject. Inject; javax.inject. Named;
ru.ulstu.secretary.db. ActionByDateService;
@ Named
@ ViewScopedclass BalanceBacking extends DateChartBacking {
static final long serialVersionUID=8470304964338154695L;
@ InjectActionByDateService actionByDateService;
double getNextY (double y, Date x) {y + actionByDateService.getList (x) .stream (). mapToDouble (task - gt; task.getBalance ()). sum ();
}
@ OverrideString getRedirect () {«diary»;
}
}. csru.ulstu.secretaryart;
javax.faces.view. ViewScoped; javax.inject. Inject; javax.inject. Named;
ru.ulstu.secretary.db. CategoryService; ru.ulstu.secretary.db. TaskByCategoryService; ru.ulstu.secretary.entity. Category;
@ Named
@ ViewScopedclass CategoryBalanceBacking extends ChartBacking lt; Category gt; {
static final long serialVersionUID=1L;
@ InjectCategoryService categoryService;
@ InjectTaskByCategoryService taskByCategoryService;
@ OverrideIterable lt; Category gt; getRangeOfX () {categoryService.getList ();
}
@ Overridedouble getNextY (double y, Category x) {taskByCategoryService.getList (x) .stream (). mapToDouble (task - gt; task.getBalance ()). sum ();
}
@ OverrideString getRedirect () {«»;
}
@ Overridevoid prepareRedirect (Category category) {
}
}. javaru.ulstu.secretaryart;
java.io. Serializable;
org.primefaces.modelart. BarChartModel; org.primefaces.modelart. ChartSeries;
abstract class ChartBacking lt; X gt; implements Serializable {
static final long serialVersionUID=5722395681760535076L;
protected abstract Iterable lt; X gt; getRangeOfX ();
abstract double getNextY (double y, X x);
BarChartModel getModel () {model=new BarChartModel (); series=new ChartSeries (); y=0; (X x: getRangeOfX ()) {= getNextY (y, x) ;. set (x, y);