Характеристика підходу gqm
GQM, акронім для "мети, питання, метрика", є підходом до метрик програмного забезпечення , який був розроблений Віктором Бэзили Університету Мэриленда, Коледж- Парку й Лабораторії Програмування в НАСА.
GQM визначає модель виміру на трьох рівнях:
Концептуальний рівень (ціль)
Ціль визначена для об'єкта для безлічі причин, щодо різних моделей якості, з різних точок зору й відносно особою навколишнього середовища.
Експлуатаційний рівень (питання)
Низка питань використовується, щоб визначити моделі об'єкта дослідження й потім зосереджує на тому об'єкті характеризувати оцінку або досягнення певної мети.
Кількісний рівень (метрика)
Ряд метрик, заснованих на моделях, связаных з кожним питанням, щоб відповісти на це вимірним способом.
Відкрита література як правило описує GQM з погляду процесу із шістьма кроками, де перші три кроки про використання комерційних завдань стимулювати ідентифікацію правильних метрик, і останні три кроки про збір даних про вимір і створенні ефективного використання результатів виміру стимулювати ухвалення рішення й удосконалення:
Розвийте ряд корпоративного, підрозділ і спроектуйте комерційні завдання й зв'язані цілі виміру для продуктивності і якості 2. Зробіть питання (заснований на моделях), які визначають ті цілі настільки повністю наскільки можливо вимірним способом 3. Визначите, що заходу повинні були бути зібрані, щоб відповісти на ті питання й процес сліду й відповідність продукту до цілям 4. Розвийте механізми для збору даних 5. Зберіть, затвердите й проаналізуйте дані в режимі реального часу, щоб забезпечити зворотний зв'язок проектам для коригувального дії 6. Проаналізуйте дані способом після смерті оцінити відповідність до цілям і зробити рекомендації для майбутніх удосконалень.
4) Експертні оцінки проектів
BeaNes
№ |
Властивість |
Характеристика |
Оцінка(1..10) |
Пояснення |
1 |
Зрозумілість |
Призначення ПЗ повинно бути зрозумілим, з самої програми і документації. |
10 |
Программа є зрозуміла,оскільки інтерфейс простий та інтуїтивно зрозумілий. |
2 |
Повнота |
Всі необхідні частини програми повинні бути представлені і повністю реалізовані. |
9 |
Враховуючи,що дана програма знаходиться на ранній стадії розробки, її функціональність практично вже реалізована до кінця. Всі необхідні частини для роботи повність представлені та реалізовані. |
3 |
Стислість |
Відсутність зайвої, дублюючийся інформації. Повторювані частини коду повинні бути перетворені у виклик загальної процедури. Те ж стосується і документації. |
8 |
Програма знаходиться на ранній стадії розробки, алу переважна більшість коду, що повторюється вже видалена. Залишилась лише незначна кількість класів, в яких ще зустрічається код, що повторюється. |
4 |
Портованість |
Легкість в адаптації програми до іншого оточенню: інший архітектурі, платформі, операційної системи або її версією. |
9 |
Програма написана на мові Java 2, тому вона підходить для роботи на операційних системах, що є найбільш поширеними у використанні(Windows, Unix, Linux, Mac OS). |
5 |
Узгоджуванність |
По всій програмі і в документації повинні використовуватися одні й ті ж угоди, формати і позначення. |
7 |
Існує лише частина коду та документації, де простежується неузгодженість у використання позначень( менше 10%), що не значно впливає на роботу програми. |
6 |
Супроводжуванність |
Наскільки складно змінити програму для задоволення нових вимог. Ця вимога також вказує, що програма має бути добре документована, не дуже заплутана, і мати резерв зростання щодо використання ресурсів (пам'ять, процесор).
|
5 |
Подальша супроводжуваність даного програмного забезпечення буде досить складною. Оскільки у програмному коді присутня велика кількість зайвих коментарів(коментарії були створені лише для автоматичної генерації документів), які не передають важливу інформацію, а лише ускладнюють розуміння програмного коду. |
7 |
Тестованість |
Чи дозволяє програма виконати перевірку приймальних характеристик, чи підтримується можливість вимірювання продуктивності. |
8 |
Програма піддається та проведенню рефакторінга програмного коду. Проте зміни у деяких частинах коду можуть призвести до некоректної поведінки програмного продукту. |
8 |
Юзабіліті |
Простота і зручність використання програми. Ця вимога відноситься перш за все до інтерфейсу користувача.
|
6 |
Програма не дуже проста у використання. |
9 |
Надійність |
відсутність відмов і збоїв у роботі програм, а також простота виправлення дефектів і помилок. |
8 |
В програмі не має збоїв в роботі, але виправлення помилок проводити дуже важко, оскільки через значну зв’язаність класів при виправлені одних помилок виникають інші. |
10 |
Структурованість |
ступінь логічного розбиття коду на ряд керованих блоків
|
8 |
Програмний код дуже добре структурований, що спрощує його читання. Проте ще є частини коду, де є можливість відредагувати програмний коду. Але їх кількість у порівняння з загальною кількістю коду не дуже велика. |
11 |
Ефективність |
Наскільки раціонально програма належить до ресурсів (пам'ять, процесор) при виконанні своїх завдань.
|
9 |
При виконанні поставлених завдань, програма потребує мінімальну кількість оперативної памяті та інших ресурсів для роботи без затримки |
12 |
Безпека |
З точки зору використання ПЗ стосовно програмного та апаратного забезпечення, та з точки зору можливих зовнішніх впливів (зокрема, вірусів).
|
8 |
Безпека програмного продукту знаходиться на якісному рівні, але не можна стверджувати, що вона безпека ПЗ захищена від нових вірусів, оскільки база даних вірусів не оновлюється. |
13 |
Зрозумілість інтерфейсу |
Чи є призначений для користувача інтерфейс інтуїтивно зрозумілим?
|
10 |
Інтерфейс користувача інтуїтивно зрозумілий та зручний у використанні. Тобто для користуванням даними програмним забезпеченням не треба отримувати додаткових знань(це стосується людей, що постійно мають справу з типовими програмами). |
14 |
Легкість виконання інтерфейсу |
Наскільки легко виконувати операції?
|
10 |
Будь-які завдання, що реалізуються даним програмним забезпеченням, виконуються досить легко та швидко за не великий проміжок часу. |
15 |
Зрозумілість повідомлення про помилки |
Чи видає програма зрозумілі повідомлення про помилки?
|
10 |
Майже усі повідомлення про помилки, що виникають, пояснюють причину помилки та вказують на її місце виникнення |
16 |
Очікуваність функціональності |
Чи завжди програма веде себе так як очікується?
|
10 |
Усі функції даного програмного забезпечення було якісно реалізовано, а, отже, програма веде себе так, як очікувалося, принаймні, з точки зору функціональності. |
17 |
Документованість |
Чи є документація і наскільки вона сповнена?
|
6 |
Программа знаходиться на ранній стадії розробці,тому кінцевої документації ще нема. |
SportTracker
№ |
Властивість |
Характеристика |
Оцінка(1..10) |
Пояснення |
1 |
Зрозумілість |
Призначення ПЗ повинно бути зрозумілим, з самої програми і документації. |
9 |
Зрозумілість програми забезпечується завдяки великій кількості документації, що створена, а також зрозумілість програми забезпечується завдяки зручному інтерфейсу |
2 |
Повнота |
Всі необхідні частини програми повинні бути представлені і повністю реалізовані. |
9 |
Враховуючи,що дана програма знаходиться на ранній стадії розробки, її функціональність практично вже реалізована до кінця. Всі необхідні частини для роботи повність представлені та реалізовані. |
3 |
Стислість |
Відсутність зайвої, дублюючийся інформації. Повторювані частини коду повинні бути перетворені у виклик загальної процедури. Те ж стосується і документації. |
7 |
Програма знаходиться на ранній стадії розробки, алу переважна більшість коду, що повторюється вже видалена. Залишились лише незначна кількість класів, в яких ще зустрічається код, що повторюється. |
4 |
Портованість |
Легкість в адаптації програми до іншого оточенню: інший архітектурі, платформі, операційної системи або її версією. |
9 |
Програма написана на мові Java 2, тому вона підходить для роботи на операційних системах, що є найбільш поширеними у використанні(Windows, Unix, Linux, Mac OS). |
5 |
Узгоджуванність |
По всій програмі і в документації повинні використовуватися одні й ті ж угоди, формати і позначення. |
7 |
Існує лише частина коду та документації, де простежується неузгодженість у використання позначень( менше 10%), що не значно впливає на роботу програми. |
6 |
Супроводжуванність |
Наскільки складно змінити програму для задоволення нових вимог. Ця вимога також вказує, що програма має бути добре документована, не дуже заплутана, і мати резерв зростання щодо використання ресурсів (пам'ять, процесор).
|
5 |
Подальша супроводжуваність даного програмного забезпечення буде досить складною. Оскільки у програмному коді присутня велика кількість зайвих коментарів(коментарії були створені лише для автоматичної генерації документів), які не передають важливу інформацію, а лише ускладнюють розуміння програмного коду. |
7 |
Тестованість |
Чи дозволяє програма виконати перевірку приймальних характеристик, чи підтримується можливість вимірювання продуктивності. |
8 |
Програма піддається та проведенню рефакторінга програмного коду. Проте зміни у деяких частинах коду можуть призвести до некоректної поведінки програмного продукту. |
8 |
Юзабіліті |
Простота і зручність використання програми. Ця вимога відноситься перш за все до інтерфейсу користувача.
|
6 |
Програма не дуже проста у використання. |
9 |
Надійність |
відсутність відмов і збоїв у роботі програм, а також простота виправлення дефектів і помилок. |
8 |
В програмі не має збоїв в роботі, але виправлення помилок проводити дуже важко, оскільки через значну зв’язаність класів при виправлені одних помилок виникають інші. |
10 |
Структурованість |
ступінь логічного розбиття коду на ряд керованих блоків
|
8 |
Програмний код дуже добре структурований, що спрощує його читання. Проте ще є частини коду, де є можливість відредагувати програмний коду. Але їх кількість у порівняння з загальною кількістю коду не дуже велика. |
11 |
Ефективність |
Наскільки раціонально програма належить до ресурсів (пам'ять, процесор) при виконанні своїх завдань.
|
10 |
Пам’ять раціонально розподілена для усієї програми, що дає змогу раціонально використовувати ресурси при виконанні завдань. Але, як вже уточнювалось раніше, у програмному коді є частина коду, яка не якісно використовує пам’ять. |
12 |
Безпека |
З точки зору використання ПЗ стосовно програмного та апаратного забезпечення, та з точки зору можливих зовнішніх впливів (зокрема, вірусів).
|
8 |
Безпека програмного продукту знаходиться на якісному рівні, але не можна стверджувати, що вона безпека ПЗ захищена від нових вірусів, оскільки база даних вірусів не оновлюється. |
13 |
Зрозумілість інтерфейсу |
Чи є призначений для користувача інтерфейс інтуїтивно зрозумілим?
|
10 |
Інтерфейс користувача інтуїтивно зрозумілий та зручний у використанні. Тобто для користуванням даними програмним забезпеченням не треба отримувати додаткових знань(це стосується людей, що постійно мають справу з типовими програмами). |
14 |
Легкість виконання інтерфейсу |
Наскільки легко виконувати операції?
|
10 |
Будь-які завдання, що реалізуються даним програмним забезпеченням, виконуються досить легко та швидко за не великий проміжок часу. |
15 |
Зрозумілість повідомлення про помилки |
Чи видає програма зрозумілі повідомлення про помилки?
|
9 |
У програмі реалізовано досить широкий набір повідомлень про помилки, що можуть виникати. Вони є досить детальними й зрозумілими для не досвідченного користувача. |
16 |
Очікуваність функціональності |
Чи завжди програма веде себе так як очікується?
|
10 |
Усі функції даного програмного забезпечення було якісно реалізовано, а, отже, програма веде себе так, як очікувалося, принаймні, з точки зору функціональності. |
17 |
Документованість |
Чи є документація і наскільки вона сповнена?
|
9 |
Програма перебуває на останній стадії розробки, і тому для неї розроблено досить детальний пакет документації. |
MozillaTranlator
№ |
Властивість |
Характеристика |
Оцінка(1..10) |
Пояснення |
1 |
Зрозумілість |
Призначення ПЗ повинно бути зрозумілим, з самої програми і документації. |
10 |
Програмний код є добре задокументований і методи добре розподілені по класах. |
2 |
Повнота |
Всі необхідні частини програми повинні бути представлені і повністю реалізовані. |
9 |
Повнота програми реалізована повністю оскільки розробка програмного забезпечення на пізній стадії та програмний продукт готовий до експлуатації. |
3 |
Стислість |
Відсутність зайвої, дублюючийся інформації. Повторювані частини коду повинні бути перетворені у виклик загальної процедури. Те ж стосується і документації. |
10 |
Програма не містить лишнього програмного коду. |
4 |
Портованість |
Легкість в адаптації програми до іншого оточенню: інший архітектурі, платформі, операційної системи або її версією. |
9 |
Прогамне забезпечення написане на мові Java, тому воно може бути портоване на довільну платформу з підтримкою Віртуальної машини Java (Windows, Unix, Linux, Mac OS). |
5 |
Узгоджуванність |
По всій програмі і в документації повинні використовуватися одні й ті ж угоди, формати і позначення. |
4 |
Документація до програмного продукту є необширною тому дана властивість є не визначеною. |
6 |
Супроводжуванність |
Наскільки складно змінити програму для задоволення нових вимог. Ця вимога також вказує, що програма має бути добре документована, не дуже заплутана, і мати резерв зростання щодо використання ресурсів (пам'ять, процесор).
|
5 |
Велика кількість коду прогамного забезпечення є важко супроводжуваним та простежуваним. |
7 |
Тестованість |
Чи дозволяє програма виконати перевірку приймальних характеристик, чи підтримується можливість вимірювання продуктивності. |
9 |
Програмний продукт пройшов бета- тестування це свідчить про відсутність 90% помилок. |
8 |
Юзабіліті |
Простота і зручність використання програми. Ця вимога відноситься перш за все до інтерфейсу користувача.
|
10 |
Програма дуже проста та зручна у використанні завдяки зрозумілості користувацького інтерфейсу. |
9 |
Надійність |
відсутність відмов і збоїв у роботі програм, а також простота виправлення дефектів і помилок. |
7 |
Дана прогама є досить надійною,але при її використанні все ж можливі деяуі збої. |
10 |
Структурованість |
ступінь логічного розбиття коду на ряд керованих блоків
|
7 |
Програмний код дуже добре структурований, що спрощує його читання. Але є ділянки коду, де можна було б відредагувати програмний коду. |
11 |
Ефективність |
Наскільки раціонально програма належить до ресурсів (пам'ять, процесор) при виконанні своїх завдань.
|
9 |
При роботі програми не потрібне використання великої кількості оперативної памяті. |
12 |
Безпека |
З точки зору використання ПЗ стосовно програмного та апаратного забезпечення, та з точки зору можливих зовнішніх впливів (зокрема, вірусів).
|
5 |
Безпека програми є низько оскільки не передбачено функцій її забезпечення. |
13 |
Зрозумілість інтерфейсу |
Чи є призначений для користувача інтерфейс інтуїтивно зрозумілим?
|
9 |
Інтерфейс користувача є інтуїтивно зрозумілим. |
14 |
Легкість виконання інтерфейсу |
Наскільки легко виконувати операції?
|
10 |
Виконувати операції надзвичайно легко, що забезпечується зрозумілим інтерфейсом. |
15 |
Зрозумілість повідомлення про помилки |
Чи видає програма зрозумілі повідомлення про помилки?
|
9 |
В програмному коді реалізовано досить широкий набір повідомлень про помилки, що можуть виникати. А також доступна можливість спілкування з розробником. |
16 |
Очікуваність функціональності |
Чи завжди програма веде себе так як очікується?
|
10 |
Функціональність є повністю реалізована. |
17 |
Документованість |
Чи є документація і наскільки вона сповнена?
|
6 |
Документація надається при комерційному використанні. |