
- •1. Складність, властива програмному забезпеченню. Учасники проекту. Мова (uml) і засоби моделювання. Етапи життєвого циклу програмного забезпечення.
- •2. Основи об’єктної технології. Класи і об’єкти. Відношення між класами.
- •3. Діаграма варіантів використань (прецедентів). Відношення на діаграмі використань. Документування прецедентів.
- •4. Діаграма класів. Відношення асоціації, агрегації, композиції, узагальнення. Поліморфізм. Інтерфейси, абстрактні класи.
- •5. Діаграма станів. Стани. Переходи. Події. Складені стани. Паралельні стани. Переходи між станами.
- •6. Діаграма діяльності. Моделювання видів діяльності. Специфікація видів діяльності.
- •7. Діаграма послідовностей. Об’єкти. Лінії життя об’єктів. Повідомлення.
- •8. Діаграма кооперації. Об’єкти на діаграмі кооперації. Зв’язки. Повідомлення. Автоповідомлення.
- •9.Діаграма компонентів. Компоненти. Пакети. Інтерфейси.
- •10.Діаграма розгортання. Проект розгортання. Клієнт. Вузол. З’єднання.
1. Складність, властива програмному забезпеченню. Учасники проекту. Мова (uml) і засоби моделювання. Етапи життєвого циклу програмного забезпечення.
Складність програмного забезпечення – 4 основні причини:
- складність реального світу;
- керування процесом розроблення;
- необхідність забезпечити достатню гнучкість програми;
- незадовільні способи опису поведінки великих дискретних систем.
Складність реального світу. Складність завдання породжує складність продукту; непорозуміння між баченням проблеми у розробника та замовника; зміна вимог до програмної системи під час розроблення.
Труднощі керування процесом розроблення. Основне – аби користувачу було якнайпростіше користуватись готовим продуктом. Чим більше розробників, тим складніше керувати процесом розроблення. Гол. завдання – підтримувати єдність і цілісність процесу розробки..
Гнучкість програмного забезпечення. Розробник створює своїми силами всі базові будівельні блоки майбутньої конструкції, з яких складаються елементи вищих рівнів абстракції.
Проблема опису поведінки великих дискретних систем. Питання абстрагування від не важливих деталей. Проблема переходу від неперервних величин до дискретних. Проблема можливості потрапляння системи у виняткові ситуації.
Учасники проекту (stakeholders) – всі люди, які зацікавлені в проекті, на інтереси якої впливає проект, чи яка безпосередньо впливає на розробку системи.
Учасники проекту поділяються на замовників (користувачі і власники системи) і розробників (аналітики, проектувальники, програмісти і т.д.).
Інформаційні системи – системи соціальні, розробляються людьми (розробниками) для людей (замовників). Успіх програмного проекту визначається соціальними факторами, роль технології другорядна.
Уніфікована мова моделювання (Unified Modeling Language. UML) – це графічна мова для специфікації, візуалізації, конструювання і документування програмних систем. За її допомогою можна розробити детальний план такої системи, який відображатиме як концептуальні елементи системи, так і особливості її реалізації.
Концептуальна модель (або метамодель) UML складається з 3 частин: архітектурного базису, правил мови та загальних механізмів мови.
Архітектурний базис UML визначає базові поняття, якими оперує мова: сутності, відношення та діаграми.
Сутності – абстракції, які є базовими елементами моделей. В UML є сутності: структурні (актори, класи, інтерфейси, компоненти, вузли, …), поведінки (преценденти, діяльності, стани, повідомлення), групування (пакети, …) та анотаційні (коментарі).
Відношення - це відображення семантичного зв’язку між сутностями. В UML визначено чотири основні типи відношення: залежності (зміна однієї сутності може вплинути на іншу, яка її використовує, але зазвичай не навпаки), асоціації (відношення між об’єктами), узагальнення (об'єкт-нащадок може бути підставлений замість об'єкта-батька, але не навпаки) та реалізації (відношення між класифікаторами; один класифікатор визначає зобов’язання, інший гарантує – виконання).
Діаграма UML – графічне зображення елементів системи у формі зв'язаного графа з вершинами (сутностями) і ребрами (відношеннями). Найпопул. діагр.: класів, об'єктів, прецедентів, взаємодії, станів, діяльностей, компонентів, розміщення.
Програмна система (або деяка інша система) – сутність аналізу та проектування, яку розглядають з різних позицій з допомогою моделей, які відображають діаграмами.
Етапи життєвого циклу програмного забезпечення
Життєвий цикл – послідовність змін форми програмних систем,що залежать від їх стану розробки та експлуатації. Згідно з станд. ISO/IEC 12207 життєвий цикл програми налічує такі етапи:
- аналіз предм. обл.. і формулюв. сист. вимог;
- проектування структури програми,
- програмування;
- впровадження програми і тестування;
- супровід програми під час експлуатації;
- відмовлення від використання програми.