- •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.2.1. Етап проектування.
Дії на етапі проектування
На етапі проектування вводяться деталі, що ігноруються в процесі аналізу. Рівень деталізації залежить від професіоналізму програміста. Проект повинен сформулювати всі деталі необхідні для функціонування системи.
На етапі проектування розробляються деякі аспекти, що не мають відношення до домена, проводиться оптимізація системи.
Дизайнер повинен прорахувати всі можливості та обмеження середовища і визначити фізичну структуру системи.
Примітка
Під час проектування виникають нові терміни і визначення, що поповнюють запас термінів, що використовуються під час аналізу.
Наприклад, ми можемо дати визначення направленим відносинам, визначення полям і методологічній інформації. У направленому відношенні позначений адресат повідомлення. Наприклад в системі SIG класовий об'єкт "Graphics" посилає повідомлення на "Ключове слово".
Інші сценарії припускають різні підходи.
Поле і символи доступу опису методу повинні бути індикатором того, як програмістові слід реалізувати клас.
Доступ може бути позначений:
(+) публічний (public) – для всіх функцій і методів,
(#) захищений (protected) – доступ дозволений певному класу певної спеціалізації,
(-) особистий (private) – доступ тільки для функцій певного класу.
2. Специфікація результатів аналізу
На етапі проектування необхідне докладне визначення результатів аналізу.
Специфікація складається з правил формулювання і відображення результатів на програмній мові і може бути визначе наступним чином:
Визначення методів
Заголовки і параметри додаються до функцій і рішень для того, щоб позначити, які з них повинні бути віртуальними (динамічні зв'язки), а які - статичними.
Малюнок 7.3.1. Складання запису на мові C/C++.
Специфікація методу повинна замінити деякі методи прямим доступом до властивостей. Наприклад метод GetLastName, SetLastName, представлений під час аналізу, повинен бути замінений прямим доступом до останнього імені на етапі проектування. Інша специфікація може приймати форму заміни атрибутів відповідних методів. Наприклад, атрибут Вік або атрибут Прибуток може бути замінений методами, що підраховують значення: Вік = Сьогодні - Дата_народження; Прибуток = Загальний_прибуток - Кредити.
Специфікація асоціативного виконання
Асоціації можуть бути виконані багатьма шляхами. Зазвичай - представленням нових атрибутів.
Вони можуть бути: об'єкти дочірнього класу, вказівники на дочірній клас, ідентифікація об'єктів дочірнього класу, ключові значення дочірнього класу. Оголошення на даній мові залежить від способів зв'язків і числа асоціацій.
Спеціальні правила для перетворення зв'язаних об'єктом схеми у схеми відношення
Проект, наступний із специфікації, описує первинні компоненти, щоб виконати завдання базової системи.
Проте, закінчене програмне забезпечення повинне бути доповнене іншими компонентами:
компонент інтерфейсу користувача,
компонент управління даними,
компонент управління пам'яттю,
компонент управління завданнями (планування).
Малюнок 7.3.2. Компоненти системи.
Проектувальник повинен визначити компоненти не пов'язані з областю і розширити модель, проектуючи їх виконання.
Швидка розробка програм (rapid application development, RAD)
Швидкою розробкою програм називаються методи швидкого прототипування або отримання готових застосувань. Вони отримані з комп'ютерних методів бачення. Термін RAD використовується іноді як синонім мов/середовищ розробки нового покоління (4GL). Приклади RAD-інструментів: Borland Delphi RAD Pack, IBM Visual Age (для Small Talk), Microsoft Access Developer’s Toolkit, Microsoft Visual FoxPro Professional, Visual Studio FoxPro, PowerBuilder Desktop, Power++ та інші.
Неповна реалізація деяких функцій повинна розвинути прямі відносини між призначеним для користувача інтерфейсом (діалоги, звіти) і управлінням базою даних (зазвичай, зв'язаною). Компоненти області найменше підпорядковані комп'ютеризації. Обмеження і не типові особливості виключають застосування RAD.