
- •Базові поняття swebok
- •4. Назвати цілі і завдання програмної інженерії.
- •5. Назвати базові поняттями еr-моделі даних, з якою метою її будують?
- •Дати визначення життєвого циклу розробки програмного забезпечення . Які основсі процеси включають це поняття ?
- •Описати використання методу покрокової деталізації при розробці алгоритміів і структури програмного забезпечення. У чому , по вашому, полягає основка складність даного методу?
- •10 . Назвати міжнародний стандарт, який визначає перелік і зміст процесів жц програмного продукту та описати його зміст?
- •13. Дати визначення процесу життєвого циклу пз та описати склад процесів життєвого циклу, який регламентується міжнародним стандартом.
- •Обгрунтувати потребу в передпроектних дослідженнях для формування вимог до програмного забезпечення.
- •17. Обгрунтувати суть об'єктної декомпозиції?
- •19 Назвати основні етапи розробки програмного забезпечення. Які основні завдання вирішуються на цих етапах?
- •20 Обгрунтувати, для чого використовують мову uml? Чому її називають мовою моделювання? Чим обумовлений вибір саме цієї мови як стандарту опису об'єктних розробок?
- •21 Назвати основні моделі життєвого циклу програмного забезпечення. З чим пов'язана поява нових моделей?
- •23. Обгрунтуйте появу case-технологій.
- •28. Обгрунтувати, які відносини між основними поняттями наочної області відображають концептуальні моделі?
- •30.Описати, які діаграми uml застосовують для опису поведінки програмного забезпечення, що проектуємо?
- •31. Перерахувати дев’ять найкращих навиків, рекомендованих методикою spmn.
- •32. Обгрунтувати поняття «системні події» і « системні операції»? Що необхідно для побудови діаграми послідовностей системи?
- •33. Пояснити п’ять рівнів технологічної зрілості моделі смм.
- •35. Перерахувати основні положення технології rad? Які програмні системи не можна розробляти з використанням цієї технології?
- •Пояснити моделі якості процесів розробки програмного забезпечення? Для чого вони розроблені? Що гарантує сертифікація якості процесів? Чому?
- •39. Назвати дійових осіб процесу формування вимог.
- •40. Обгрунтувати, які стереотипи класів введені і чому?
- •41. Обгрунтувати, чому ми говоримо, що сучасний етап розвитку технології програмування характеризується переходом від ремісничого до промислового виробництва програмного забезпечення?
- •42.Пояснити, яку діаграму використовують при уточненні взаємодії об'єктів?
- •43.Пояснити, як називається фаза життєвого циклу розробки програмного забезпечення, на якій формується контракт між замовником і виконавцем розробки?
- •44.Перерахувати основні компоненти класів. Як описують ці компоненти?
- •45.Обгрунтувати, що повинно міститися в звіті щодо аналізу здійсненності створення пз.
- •46.Пояснити, у яких випадках використовують діаграми станів об'єкту?
- •47.Описати процес формування і аналізу вимог.
- •Описати підхід з використанням різних опорних точок зору для побудови і організації як процесу формування вимог, так і безпосередньо самих вимог.
- •Пояснити, яку інформацію містить діаграма розміщення? у яких випадках доцільно використовувати ці діаграми?
- •Виділити типи програмних продуктів?
- •Обгрунтувати. Метод uml пропонує різні нотації (графічні діаграми) для різних аспектів опису проблеми. Чому не єдину?
- •Назвати основні експлуатаційні вимоги до програмних продуктів. Якими засобами і прийомами забезпечується кожен з них? Для яких типів програмних систем доцільно вказувати кожен з них?
- •Пояснити, які значення можуть мати атрибути видимості класів та що вони означають?
- •55. Обгрунтувати, у яких ситуаціях необхідні передпроектні дослідження? Які питання при цьому вирішують? Що отримують в результаті таких досліджень?
- •56. Назвати, які відношення позначаються в діаграмі класів uml спеціальними графічними символами?
- •57. Назвати, який розділ технічного завдання можна вважати основним і чому? Яку інформацію повинна містити решта розділів? у чому основна складність розробки технічного завдання?
- •58. Обґрунтувати, які діаграми uml доцільно застосовувати для аналізу вимог? з якої діаграми доцільно починати?
- •59. Обґрунтуйте, які принципові рішення повинні бути прийняті на початкових етапах процесу проектування і чому?
- •60. Обгрунтувати, які діаграми відображають обмін повідомленнями як єдиний засіб взаємодії об’єктів?
- •61. Визначити суть структурного підходу до програмування? Які етапи охоплює даний підхід?
- •62. Обгрунтувати, чи можна застосувати ті самі діаграми для кількох стадій розроблення пз?
- •Пояснити, яка роль стереотипів у нотаціях uml?
- •65. Обгрунтуйте, у яких випадках доцільно використовувати діаграми переходів станів? Які умовні позначення використовуються для побудови цієї діаграми?
- •66. Пояснити, що таке прототип у спіральній моделі?
- •67. Обгрунтувати, у чому полягає основна відмінність між функціональними діаграмами і діаграмами потоків даних? у яких випадках використання діаграм потоків даних є домінуючим?
- •68. Пояснити термін «модель життєвого циклу пз».
- •71 Описати побудову sadt-моделі.
- •Вказати, який міжнародний стандарт визначає перелік і зміст процесів життєвого циклу програмного продукту?
39. Назвати дійових осіб процесу формування вимог.
Вважається, що кожен сценарій запускає в роботу певний користувач, який є носієм певної мети. Абстракція особи користувача як
певної ролі - ініціатора запуску певної роботи, поданої сценарієм, та обміну інформацією із системою - називаєтьсяактором (actor). Це абстрактне поняття, що узагальнює поняття діючої особи системи (як основної, для обслуговування якої систему замовлено, так і вторинної, для службового персоналу системи). Фіксація акторів є також певним кроком визначення складових мети системи (носіями яких є актори) та постачальників завдань, для вирішення яких створюється система.
Актор вважається зовнішнім фактором системи, дії котрого мають недетермінований характер. Таким чином, підкреслюється різниця між користувачем як конкретною особою, й актором - роллю, яку будь-яка особа може відігравати в системі.
Особа-в-ролі або екземпляр актора - запускає ряд операцій у системі (транзакцію), які ми називаємо сценарієм. Коли користувач як екземпляр актора вводить стимул, стартує екземпляр цього сценарію, що приводить до виконання ряду дій відповідної транзакції, які закінчуються тоді, коли екземпляр сценарію знову чекає на вхідний стимул від екземпляра актора.
Екземпляр сценарію існує, поки він виконується. Його можна вважати екземпляром класу, описом якого є опис транзакції.
40. Обгрунтувати, які стереотипи класів введені і чому?
Стереотипи класів - це механізм, що дозволяє розділяти класи на категорії. Boundary (границя); Entity (сутність); Control (управління). Граничними класами (boundary classes) називаються такі класи, які розташовані на кордоні системи і всього навколишнього середовища. Це екранні форми, звіти, інтерфейси з апаратурою (такий як принтери або сканери) та інтерфейси з іншими системами. Класи-сутності (entity classes) містять збережену інформацію. Вони мають найбільше значення для користувача, і тому в їхніх назвах часто використовують терміни з предметної області. Зазвичай для кожного класу-суті створюють таблицю в базі даних. Керуючі класи (control classes) відповідають за координацію дій інших класів.Зазвичай у кожного варіанту використання є один керуючий клас, який контролює послідовність подій цього варіанту використання. Керуючий клас відповідає за координацію, але сам не несе в собі ніякої функціональності, тому що інші класи не посилають йому великої кількості повідомлень.Замість цього він сам посилає безліч повідомлень. Керуючий клас просто делегує відповідальність інших класів, з цієї причини його часто називають класом-менеджером. У системі можуть бути і інші керуючі класи, спільні для кількох варіантів використання. Наприклад, може бути клас SecurityManager (менеджер безпеки), що відповідає за контроль подій, пов'язаних з безпекою. Клас TransactionManager (менеджер транзакцій) займається координацією повідомлень, які стосуються транзакцій з
41. Обгрунтувати, чому ми говоримо, що сучасний етап розвитку технології програмування характеризується переходом від ремісничого до промислового виробництва програмного забезпечення?
Швидкий розвиток нових технологій програмування безпосередньо пов’язаний з бурхливим розвитком науково-технічного прогресу і комп’ютерної техніки зокрема.
Програми для перших обчислювальних машин створювались, як правило, в машинних кодах або на асемблері і були схожі на витвір мистецтва, бо повинні були поміститись у мініатюрному за сучасними поняттями об’ємі пам’яті. Пошуки помилки в програмі можна було, мабуть, порівняти з муками Тантала. Програмісти були схожі на “вищу касту” серед нормальних людей, бо вони єдині були здатні на спілкування з обчислювальною технікою. Були створені цілі бібліотеки службових та розрахункових програм, які можна було використовувати в різних програмних системах. Дані в програмах зберігались, як правило, в глобальних областях, які спільно використовувались різними підпрограмами. Завдяки принципам структурного програмування вдалося подолати фактор складності та зрозуміти причини невдач програмних проектів великого масштабу. Сучасні технології програмування базуються на принципах об’єктно-орієнтованого програмування, завдяки якому складні програмні проекти реалізуються у вигляді сукупності об’єктів певної ієрархії. Їх взаємодія встановлюється шляхом передачі повідомлень між об’єктами. На підтримку нової технології програмування були створені нові мови, наприклад C++, Java, Modula. Організація програм на засадах інкапсуляції, успадкування, поліморфізму дозволила значно підвищити рівень програмних проектів.