- •1. Пряма, зворотна, емпірична інженерія програмного забезпечення.
- •2. Емпіричні та теоретичні дослідження.
- •3. Напрями емпіричних досліджень.
- •4. Методи пізнання: загально наукові, конкретно наукові.
- •5. Теоретичні загально наукові методи пізнання.
- •6. Емпіричні загально наукові методи пізнання.
- •7. Конкретно наукові методи пізнання (в загальному).
- •8. Місце емпіричної інженерії програмного забезпечення в іпз.
- •9. Емпірична інженерія програмного забезпечення – суть, предмет та методи.
- •10. Методи емпіричної інженерії (загально наукові, конкретно наукові).
- •Непрямі методики збору даних.
- •Незалежні методики збору даних.
- •Збір даних. Автоматизація збору даних. Використання засобів збору даних.
- •Збір даних. Вимірювання пз. Автоматизація вимірювань.
- •Lines of Code (кількість стрічок коду)
- •Maintainability Index (індекс зручності підтримки):
- •Цикломатична складність:
- •Зв’язність класів:
- •Глибина наслідування:
- •Аналіз даних. Автоматизація аналізу даних.
- •Caese-засоби: структура, процеси та призначння.
- •Порівняння case та caese-засобів.
- •Порівняння моделей процесів case та caese-засобів.
- •Кроки проведення емпіричних досліджень.
- •Проведення кращих емпіричних досліджень. Основні принципи.
- •Компоненти емпіричних досліджень.
- •Середовище досліджень
- •Гіпотези
- •План експерименту
- •Визначення предмету досліджень
- •Побудова взаємозв’язків між досліджуваними величинами
- •Проведення довгострокових (в природних умовах) та короткострокових (в лабораторних умовах) досліджень
- •Способи отримання даних.
- •Отримання даних на протязі часу
- •Моделювання
- •Статичне отримання даних
- •Паралельне проведення декількох досліджень.
- •Загально наукові емпіричні методи: спостереження та описання, експеримент, вимірювання.
- •Ціленаправленість;
- •Активність
- •Загально наукові теоретичні методи: ідеалізація, мисленний експеримент, формалізація.
- •Ідеалізація
- •Мисленний експеримент
- •Формалізація
- •Загально наукові теоретичні методи: абстрагування, аксіоматичний метод, метод гіпотези.
- •Абстрагування
- •Аксіоматичний метод
- •Метод гіпотези
- •Кількісні та якісні емпіричні дослідження. Відмінності в методах.
- •Кількісні емпіричні дослідження.
- •Якісні емпіричні дослідження.
- •Контрольовані експерименти.
- •Дослідження ситуацій (case studies).
- •Дослідження ситуацій (survey).
- •Інші методи емпіричних досліджень пз: кінцевий аналіз (post mortem analysis), етнографії, дослідження дій.
- •Вимірювання пз. Підходи до вимірювань.
- •Моделі вимірювань.
- •Мета-модель. Використання мета-моделі в iPlasma.
- •Шкали вимірювань.
- •Помилки при вимірюваннях
- •51. Види вимірювань
- •52. Вимірювання розміру.
- •53. Вимірювання функціональності.
- •54. Вимірювання складності.
- •55. Оцінка зусиль.
- •56. Вимірювання дефектів.
- •57. Надійність пз та прогнозування. Відмови.
- •58. Час відгуку та робото придатність.
- •59. Вимірювання прогресу.
- •60. Фінансові вимірювання.
- •Метрики програмного забезпечення. Види метрик.
- •Прямі та непрямі метрики.
- •Метрики розміру.
- •Недоліки розмірно-орієнтованих метрик.
- •Метрики складності потоку управління.
- •Метрики складності потоку даних.
- •Об’єктно-орієнтовані метрики.
- •Метрики Хольстеда.
- •Метрики Чепіна.
- •Метрики цикломатичної складності Мак-Кейба.
- •71. Попередня оцінка складності
- •72. Вимірювання зусиль
- •73. Вимірювання дефектів
- •75. Метрики якості продукту:
- •76. Метрики якості процесів:
- •77. Метрики якості супроводження
- •78. Застосування засобів контролю якості
- •79. Виявлення дефектів
- •80. Метрики процесів для тестування
- •Вимірювачі програмного забезпечення.
- •Особливості використання вимірювачів пз
- •Використання iPlasma для вимірювань.
- •Використання Analist4j для вимірювань.
- •Використання cccc для вимірювань.
- •Використання Visual Studio для вимірювань.
- •Пояснення основних метрик iPlasma.
- •Пояснення основних метрик Visual Studio.
- •Пояснення основних метрик Analist4j.
- •Структура iPlasma.
- •Візуалізація в iPlasma.
- •Призначення та послідовність проведення первинного статистичного аналізу.
- •Призначення та послідовність проведення кореляційного аналізу.
- •Призначення та послідовність проведення регресійного аналізу.
- •Описати, пояснити використання Statistica для первинного статистичного аналізу (або іншого засобу).
- •Описати, пояснити використання Statistica для кореляційного аналізу (або іншого засобу).
- •Описати, пояснити використання Statistica для регресійного аналізу (або іншого засобу).
- •Описати та пояснити використання Visual Studio для проведення рефакторингу.
-
Непрямі методики збору даних.
-
інструментування систем - це методика, призначена для аналізу використання програмного забезпечення.
-
віддалене спостереження - ця методика передбачає використання відео та аудіо апаратури. Предметом дослідження даної методики виступає невелика частина виконуваної роботи інженера програмного забезпечення.
-
Незалежні методики збору даних.
-
аналіз баз даних виконаної роботи - це методика, призначена для отримання значень метрик і використовується для дослідження довгострокових закономірностей щодо розвитку та можливих проблем програмного забезпечення.
-
аналіз файлів реєстрації інструментів - це методика, яка призначена для отримання значень метрик і використовується для аналізу особливостей використання інструментів.
-
аналіз документації - це методика, яка призначена для зворотної інженерії і використовується для отримання загального розуміння про продукт, для якого проводиться зворотня інженерія, і включає в себе діяльність по дослідженню створеної документації по програмному продукту, включаючи коментарі кодів програм.
-
статистичний та динамічний аналіз систем - це методика, яка включає в себе статичне дослідження коду програми та динамічний аналіз виконання коду.
-
Збір даних. Автоматизація збору даних. Використання засобів збору даних.
Підсистема збору, перетворення і введення даних грає головну роль в автоматизованій інформаційній системі і є основною з'єднувальною ланкою між навколишнім середовищем і численними користувачами. Збір даних може здійснюватися механічним способом (вимірювальним пристроєм, що перетворює фізичні величини в електричні, щупом, самописним приладом, що реєструє імпульсні сигнали, і т. д.) і людиною (шляхом спостереження певного явища, сприйняття акустичного і світлового сигналу, зняття показань лічильника і т. д.). Механічна реєстрація даних полягає в тому, що джерело інформації, тобто «подія» або «явище», виявляється у вигляді зміни деякого фізичного стану, і цей новий стан реєструється механічним способом. Спостереження, здійснюване людиною, із наступним відновленням результатів по пам'яті, називають «записом». Фактично мова йде про те, що людина фіксує інформацію, яка у певний момент закарбувалася в її пам'яті, і клітини її мозку з фіксованою інформацією по суті справи відіграють роль проміжного передавального документа.
При механізованому обліку час спрацьовування датчика і ступінь достовірності одержуваної інформації постійні і заздалегідь відомі. При спостереженні, яке здійснюється людиною, вноситься невизначеність, і час спрацьовування не може бути відомим з достатньою точністю. Зате в другому випадку відкриваються набагато більш широкі можливості, тому що людина, володіючи здатністю до інтерпретації (деякою мірою ця здатність негативно впливає на точність інформації), може брати до уваги такі факти, що не фіксуються механічним способом. Акт збору даних фактично складається з двох доповнюючих одна одну операцій: реєстрації і передачі. Однак очевидно, що основною операцією є реєстрація даних, і в більшості випадків її введення в автоматизовану інформаційну систему невіддільне від реєстрації.
Підсумком процесу збору даних є забезпечення їхньої готовності до подальшого руху в системі й подання їх у найрізноманітніших формах (кодовані сигнали, друкований текст і т. д.). Формою подання даних є сигнал, який виробляється датчиком при кожній зміні стану процесу стосовно деякого вихідного стану. Найбільш широко на практиці використовуються датчики з одним або двома стійкими станами. У основу їх конструкцій можуть бути покладені різні принципи, в залежності від яких розрізняють наступні моделі (типи) датчиків: механічні, електромеханічні, оптичні, акустичні, випромінюючі та інші.
Важливим моментом дослідження є вибір місця його проведення. Головне — воно має в однаковій мірі відповідати потребам як учасників, так і дослідника. Мало користі від тих місць, куди учасники не прийдуть чи де не може проводитись запис дослідження. Найбільш слушними альтернативами є: офіс дослідника, будинки учасників або ж певні «нейтральні території», скажімо зал засідань у готелі. Також є можливість орендувати приміщення з цією метою. Ці приміщення нагадують собою зручно мебльовану лабораторію для вивчення групової динаміки і є тим місцем, де проводяться дослідження більшості маркетингових фокусних груп. Найголовнішим елементом місця є стіл для учасників. Зазвичай обирають круглі або прямокутні столи для нарад. Якщо модератор сидітиме за столом протягом усієї дискусії, тоді підійде прямокутний стіл, а розташування учасників матиме U-подібну форму (з модератором на чолі столу). Таке розташування зручне при відеозйомці, тому що камеру можна розташувати за модератором і отримати зображення облич усіх учасників. При знаходженні модератора на чолі столу створюється можливість проводити певний контроль рівня участі окремих осіб: найменш говіркі учасники розташовуються прямо перед модератором, а найговіркіші з них — пообіч нього. Головний спосіб збору даних у фокусній групі — аудіозапис, і тому будь-які варіанти відносно фізичних можливостей мають робитися з урахуванням проведення магнітофонного запису.
Оскільки копії несуть основну інформацію, яка отримується під час дослідження, важливо забезпечити високу якість записуваних даних. Ставитись до проблем запису, як до дратівливих ускладнень, що стоять на шляху «справжнього дослідження», — небезпечна позиція щодо фокусних груп.Найкращий дослідницький проект і найцікавіші питання втрачають усіляке значення, якщо плівка виявилась чистою або, що ще більше дратує, якщо запис на ній нерозбірливий.Проблема звукозапису вирішується включенням до дослідницької команди спеціалістів, котрі добре знаються на аудіоапаратурі. В будь-якому випадку розумно мати при собі портативний магнітофон та свіжі батарейки. Хоч відеозапис — і приваблива альтернатива аудіозапису, його можна порекомендувати для цієї мети лише в поодиноких випадках. Головною різницею між аудіо-та відеозаписами є факт вторгнення в особисте життя людини. Більшість людей легко розуміють необхідність дослідника в записуванні дискусій і швидко входять у роль, не звертаючи уваги на мікрофони та обладнання для запису. Проекти з використанням відео, які фіксують вираз облич та інший невербальний матеріал, є надзвичайно складними — тут потрібні численні відеокамери, додаткове освітлення й багато іншого. Навіть маючи все відеозаписувальне обладнання, важливо пам'ятати, що реальний підхід при аналізі ґрунтуватиметься на копіях, а прості проекти з використанням відео (наприклад, одна камера з вмонтованим мікрофоном) мають звукозапис дуже низької якості, і таким чином досліднику, ведучи відеозапис, необхідно задіювати цілісний аудіо-план. Беручи до уваги високий рівень вторгнення в особисте життя при використанні відеозаписувального обладнання, треба мати вагому підставу, чому цей вид інформації становить цінність для дослідницького проекту. Маркетологи справді широко застосовують відео, тому що вони використовують відредаговані плівки із записом як головний компонент їхнього підсумкового звіту перед клієнтом.Це не типовий спосіб представлення дослідження в соціальній науці, але якщо це слушно, тоді слід узяти до уваги витрати та зусилля, необхідні для отримання якісних відеозаписів.
Найкорисніша мета використання відео полягає у визначенні того, хто розмовляє, а при обговоренні того, хто з ким розмовляє. В аудіозапису ці моменти простежуються асистентом, котрий робить відповідні позначки, які розшифрувальник записів використовує пізніше для визначення, хто і що говорив (ця інформація часто незрозуміла при простому прослуховуванні аудіоза-писів). Розрахунок на те, що відеозаписи дають набагато більше інформації, ніж аудіозаписи, навряд чи колись справджується. Навіть проекти з використанням високоякісного відео не передають повністю «групової динаміки». Більше того, як зазначають спеціалісти, запис на плівку має тенденцію «охолоджувати» атмосферу, і хоч відео може нагадати модератору про емоції, які спостерігалися за столом, немає гарантії, що воно передасть те ж відчуття тому, хто не був присутній на даній дискусії. Використовують при проведенні своїх досліджень кімнати з однобічними дзеркалами. В маркетингу такі проекти дозволяють клієнтам та спеціалістам з рекламних агентств стежити за групою і перейнятися атмосферою дискусії, однак важко уявити таку необхідність у прихованому спостереженні при проведенні дослідження фокусної групи звичайної соціальної науки. Необхідність прихованого нагляду може виникнути тоді, коли на виконання проекту відведено надто мало часу і деякі члени дослідницького колективу не можуть чекати розшифровок даних чи сумарного аналізу. В цьому випадку однобічне дзеркало дозволить їм спостерігати дискусію, не втручаючись в її перебіг.
Для вчених більш звичним способом додаткових спостережень є збір питальників (або анкет) на додаток до розшифровок даних. Такі додаткові дані мають як свої недоліки, так і переваги. Найбільший їх недолік полягає в тому, що обидва методи негативно впливають один на одного: якщо спочатку провести анкетування, то це визначить напрямок групової дискусії, тоді як проведення з самого початку дослідження групи може змінити її погляди. Крім того, використання питальників (анкет) ускладнює дослідницький процес. Наприклад, при використанні попередніх анкет можуть виникнути нештатні ситуації: ускладнюється керування учасниками, що запізнились; може не бути даних по одному з тих, хто має вплив на дискусію у групі в цілому; можуть з'явитись ті, кому необхідно буде піти раніше, ніж вони дадуть потрібні дані і т. ін. Але в окремих випадках питальники (анкети) також мають деякі переваги. Отримання відповідей, принаймні за декількома пунктами, щодо особистого життєвого досвіду є справжньою необхідністю, якщо це дає можливість створити певне уявлення про учасників. Одне із застережень стосується передчасних (поспішних) інтерпретацій у групах з високим рівнем участі модератора: прийняття завчасних висновків може привести до того, що модератор впливатиме на наступні групи на користь підтвердження цих сподівань