- •I. Введення в розробку програмного забезпечення
- •1. Складність інформаційних систем
- •2. Розробка програмного забезпечення
- •4.Концептуальне моделювання
- •2. Модель водоспаду із зворотнім зв'язком
- •7.Модель спіралі
- •III. Етапи розробки програмного забезпечення
- •1. Стратегічний етап
- •2.2. Нефункціональні вимоги
- •4. Етап проектування
- •5. Етап реалізації
- •6. Етап тестування
- •7. Етап установки
- •8. Етап підтримки
- •IV. Стратегічний етап
- •1. Дії на стратегічному етапі
- •2. Співпраця з клієнтом
- •3. Область дії і контекст проекту
- •4. Стратегічні рішення
- •5. Оцінка різних варіантів рішеннь
- •6. Оцінка вартості рішень
- •7. Чинники успіху
- •8. Результати стратегічного етапу
- •9. Короткий звіт
- •V. Розпізнавання вимог і документація
- •1. Складнощі у формулюванні вимог
- •2. Методи ідентифікації вимог
- •3. Методи опису вимог
- •4. Типи вимог
- •5. Перевірка вимог
- •6. Документ з вимогами
- •7. Чинники успіху
- •8. Короткий звіт
- •VI. Розробка моделі
- •1. Потреба в розробці моделі
- •2. Аналітична модель
- •3. Дії на етапі аналізу
- •4. Функціональна декомпозиція
- •5. Методологія, що використовується в створенні аналітичної моделі
- •6. Документація вимог
- •7. Аналіз чинників успіху
- •8. Короткий звіт
- •VII. Етап проектування
- •1. Цілі проектування
- •Малюнок 7.2.1. Етап проектування.
- •2. Специфікація результатів аналізу
- •3. Дизайн інтерфейсу
- •4. Структуровані схеми/діаграми
- •5. Складова організації даних
- •6. Оптимізація проекту
- •7. Фізична структура системи
- •8. Правильність і якість проекту
- •9. Нефункціональні вимоги на етапі проектування
- •10. Результати етапу проектування
- •11. Детальний документ проекту
- •2. Стандарти, правила і порядок здійснення дій проекту:
- •12. Короткий звіт
- •VIII. Розробка інтернет-програм
- •1. Специфікація інтернет-програми
- •2. Методи розробки інтернет-програм
- •3. Об'єктно-орієнтована гіперсередовищна модель розробки (oohdm)
- •4. Метод розробки веб-сторінок (wsdm)
- •5. Мова веб-моделювання (WebMl)
- •6. Короткий звіт
- •IX. Бдб і бдс системи
- •1. Електронний бізнес
- •2. Інтернет-бізнес і електронний ринок.
- •3. Інтернет-магазин
- •4. Модель електронного бізнесу
- •1.Модель брокера
- •2.Модель, яка задовольняє індивідуальним потребам
- •3.Модель контактів
- •5. Платежі
- •6. Безпека
- •8. Моделювання систем бдб і бдс
- •9. Багатошарова архітектура програм
- •9. Cервіс-орієнтована архітектура (соа)
- •10. Короткий звіт
- •X. Реалізація
- •1. Характеристики етапу реалізації
- •2. Надійність програмного забезпечення
- •3. Похибка
- •4. Транзакції
- •5. Середовище реалізації
- •6. Чинники успіху і результати етапу реалізації
- •7. Короткий звіт
- •XI. Тестування
- •1. Етап тестування
- •2. Перевірка
- •Малюнок 11.3.1. Модель V-тестування.
- •3. Перегляди
- •4. Аудит
- •5. Інспекції
- •6. Види тестів
- •7. Процес тестування
- •8. Тестування надійності
- •9. Типи тестів на знаходження помилок
- •10. Програми-інструменти
- •11. Статичні тести
- •12. Підрахунок кількості помилок
- •13. Чинники успіху, успіх тестування
- •14. Короткий звіт
- •XII. Оцінка програмного забезпечення
- •1. Простановка розмірів проекту
- •2. Оцінка складності в проектах
- •3. Ефекти масштабування
- •4. Оцінка вартості програмного забезпечення
- •5. Конструктивна вартісна модель (cocomo)
- •6. Балова функціональна оцінка
- •7. Метод випадкового використання
- •8. Короткий звіт
- •XIII. Управління конфігурацією пз і версіями
- •1. Управління конфігурацією пз
- •2. Елементи конфігурації пз
- •3. Угода позначень
- •4. Зберігання елементів конфігурації
- •5. Перегляди
- •7. План управління конфігурації пз
- •I Вступ
- •II Управління
- •III Визначення конфігурації
- •IV Управління конфігурацією
- •V Реєстрація статусу конфігурації
- •4. Модель якості iso-9126
- •5. Управління якістю
- •6. Стандарти якості
- •7. Незрілість і зрілість виробництва
- •8. План гарантії якості пз (sqap)
- •9. Короткий звіт
- •XV. Управління проектом програмного забезпечення
- •1. Завдання управління проектом
- •2. Працівники виробництва програмного забезпечення
- •3. Характеристика хорошого розробника програмного забезпечення
- •4. Робота в команді
- •5. Управління підприємством по виробництву програмного забезпечення
- •6. Розвиток компанії по розробці програмного забезпечення
- •7. Документація проекту
- •8. Визначення продуктивності
- •9. Складання графіків проекту
- •10. Завдання управління проектом
- •11. Інтерфейс проекту
- •12. Планування проекту
- •13. Управління ризиком
- •14. Вимірювання процесів і продуктів
- •15. Короткий звіт
7. Метод випадкового використання
У 1993 Gustav Karner розробив метод випадкового використання (Use Case Points method). Метод застосовується до об'єктно-орієнтованого програмування для вимірювання і оцінки проектів. Цей метод є вдосконаленим методом FPA і його версії MK II. Основна перевага - оцінювання виконується користувачем (функціональність програми), а не дизайнером або програмістом. Метод випадкового використання розроблений на основі моделей UML.
Моделі випадкового використання в UML
Alistair Cockburn пояснює випадкове використання як правильно визначену взаємодію між актором і комп'ютерною системою, яка бере до уваги умови обробки. Випадкове використання визначає послідовність операцій або транзакцій, що виконуються системою протягом взаємодії з актором. Вони описують потік подій в системі і запускаються акторами для досягнення мети. Кожен актор використає або використовуватиме систему своїм особистим чином (випадковим використанням). Зазвичай, актор - персона, організація або комп'ютерна система. Один актор - не обов'язково одна персона, а одна персона може грати роль багатьох акторів, як і один актор може представляти багато персон. Введення і існування випадкового використання повністю залежить від актора: актор виконує перший крок, запускає "машину" і він є отримувачем інформації, що генерується у разі використання.
Моделі випадковго використання визначають головних і похідних акторів. Головний актор, на відміну від похідних, повинен зв'язатися безпосередньо з системою для того, щоб досягти мети. Система генерує відповідь без зменшення прав похідних акторів.
Модель випадкового використання - безліч сценаріїв, які ілюструють функціональність системи. Сценарії - прогнозовані послідовності подій і, відповідно до категорій акторів, ми маємо головний сценарій, який є найвірогіднішим (всі дії виконуються без помилок), і похідний сценарії.
У UML спеціальний графічний запис використовується, щоб позначити випадкове використання. Також існують символи для представлення динамічних властивостей випадкового використання.
Діаграма випадкового використання - статичне представлення системної функціональності, внутрішніх і зовнішніх взаємозв'язків. Основне завдання - проектувати систему в тому вигляді, в якому актор її бачить.
Діаграма послідовності ілюструє динамічну структуру системних функцій - відображає послідовність повідомлень, надісланих між об'єктами, зокрема для випадкового використання.
Модель випадкового використання - абстрактне представлення системи, видиме акторами, які її використовують. Деталі відображаються, оскільки обгрунтування відбувається на абстрактному рівні. Діаграми містять в собі акторів (персони) і випадкові використання (еліпси з ім'ям). Стрілки на графічному зображенні, які зв'язують акторів і випадкове використання, також включені. Випадкове використання представляє системні функції, тому взаємозв'язки між випадковим використання – це взаємозв'язки між окремими функціями. Одне випадкове використання бере до уваги поведінку іншого. UML вводить також і інші відносини: "розширення" і "використання" позначають стрілками. "Розширення" означає розширення одного випадкового використання іншим, "використання" означає загальний фрагмент багатьох випадкових використань. Загальна частина характеризується концептуальною схожістю, і її вилучення спрощує реалізацію.
Моделі і оцінка випадкового використання
Правильна оцінка, заснована на випадковому використанні, залежить від розробленої структури моделі.
Якість підходу значень випадкового використання залежить від:
ретельного вибору і моделювання акторів, розширяючи їх на декілька персон та моделюючи одну персону багатьма акторами,
ретельного зображення взаємозв'язків між випадковим використанням,
відповідного рівня деталізації, використаного в моделюванні.
Тому висновок тривіальний: оцінка, заснована на випадковому використанні, можлива тільки якщо модель випадкового використання добре описує призначені для користувача функціональні вимоги і добре представляється відповідним числом сценаріїв і акторів. Модель задовольняє вище перераховані вимоги, якщо ми можемо правильно обробити транзакції для кожного випадкового використання і якщо актори представлені правильно.
Алгоритм оцінки випадкового використання
Класифікація акторів і випадкове використання
Значення обчислюються, грунтуючись на діаграмах випадкового використання. Актори класифікуються як прості, середні або складні.
Простий актор представляє зовнішню систему, яка зв'язується з нашою через інтерфейс, зазвичай - через API - програмний інтерфейс програми (Application Program Interface).
Актор середньої складності - зовнішня система, зазвичай з TCP/IP, HTTP або подібних, символічного терміналу. Бази даних також входять в цей тип.
Складний актор - кінцевий користувач, що зв'язується з системою через інтерфейс або www.
Кожному акторові призначається відповідна вага:
Тип актора |
Вага |
Простий |
1 |
Середній |
2 |
Складний |
3 |
Таблиця. 12.8.1. Ваги, привласнені акторам методами оцінки випадкового використання.
В кінці нескоректовані ваги акторів (UAW, Unadjusted Actor Weights) повинні бути обчислені шляхом підсумовування числа акторів, помножених на відповідні коефіцієнти.
Наступний крок - обчислення і класифікація випадкового використання. Складність взаємодії, тобто номер транзакції - це чинник. Похідні сценарії, що беруть участь, також беруться до уваги. Транзакції - дії, що виконуються повністю або що не виконуються взагалі. Номер транзакції обчислюється підрахунком кроків випадкового використання.
Класифікація випадкового використання наступна:
Простий випадок використання - складається з трьох і менше транзакцій,
Середній випадок використання - складається з семи і менше транзакцій,
Складний випадок використання - складывается з більш ніж семи транзакцій.
Тип випадку використання |
Вага |
Простий |
5 |
Середній |
10 |
Складний |
15 |
Таблиця 12.8.1.a Привласнення вагів для випадкового використання в методі оцінки випадкового використання.
Класифікація може виконуватися, грунтуючись на числі класів в реалізації окремого випадкового використання.
Технічна модифікація і модифікація середовища
Подібно до методу значень функції, результати повинні бути помножені на коефіцієнти для того, щоб врахувати інші чинники, як, наприклад, мотивацію або досвід програмістів. Наступна процедура - адаптована процедура аналізу значень функції, - кожен чинник оцінюється в діапазоні від 0 до 5 і множиться на коефіцієнт.
Номер |
Назва чинника |
Вага |
T1 |
Розподіленність системи |
2 |
T2 |
Час реакції або продуктивність |
1 |
T3 |
Продуктивність кінцевого користувача |
1 |
T4 |
Складність внутрішньої обробки |
1 |
T5 |
Можливість багатократного використання |
1 |
T6 |
Складність установки |
0,5 |
T7 |
Складність використання |
0,5 |
T8 |
Переносимість |
2 |
T9 |
Внесення змін протягом експлуатації |
1 |
T10 |
Паралельна обробка |
1 |
T11 |
Механізми захисту доступу |
1 |
T12 |
Зовнішній доступ до системи |
1 |
T13 |
Вимоги навчання |
1 |
Таблиця 12.8.2. Ваги, привласнені технічним чинникам.
Підсумовуються результати технічних чинників і вагів і їх сума називається TFactor. Технічний чинник складності (TCF, Technical Complexity Factor) обчислюється за формулою:
TCF = 0.6 + (0.01 * TFactor)
Номер |
Номер чинника |
Вага |
E1 |
знання методології інкрементної ітерації |
1,5 |
E2 |
досвід команди |
0,5 |
E3 |
знання об'єктних методів |
1 |
E4 |
кваліфікація головного аналітика |
0,5 |
E5 |
мотивація команди |
1 |
E2 |
унікальне представлення вимог |
2 |
E7 |
персонал, працюючий неповний день |
-1 |
E8 |
складність мови програмування |
-1 |
Таблиця 12.8.2.a Ваги, привласнені чинникам середовища.
Результати чинників середовища і відповідної ваги підсумовується і цей результат чинника середовища називається - EFactor.
Чинник середовища EF обчислюється по наступній формулі:
EF = 1.4 + (-0.33 * EFactor)
Скоректована оцінка випадкового використання, AUCP (Adjusted Use Case Points) обчислюються шляхом множення нескоректованої оцінки випадкового використання, UUCP (Unadjusted Use Case Points) на технічний коефіцієнт і коефіцієнт складності середовища:
UCP = UUCP* TCF* EF
У класичному методі оцінки випадкового використання вважається, що один UCP відповідає 20 програмістам * час.