- •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. Короткий звіт
9. Короткий звіт
Проблема якості містить в собі кількісні чинники і суб'єктивні невимірні психологічні чинники. Основа якісної оцінки - вимірювання параметрів, як, наприклад, надійність, швидкість і т.д. і їх уявлення в статистичній формі.
На жаль, об'єктивні вимірювання важко або неможливо зробити. Тому якість програмних продуктів важко оцінити. ПЗ багатофункціональне, у нього є багато копій і багато непередбачених аспектів.
XV. Управління проектом програмного забезпечення
1. Завдання управління проектом
Необхідна умова успіху проекту - відповідне управління проектом.
Один з акціонерів проекту - менеджер по проектах. Він відіграє важливу роль. Має наступні завдання:
визначення операцій проекту,
визначення вартості проекту,
планування і складання графіка,
моніторинг і управління реалізацією проекту,
вибір і оцінювання персоналу,
презентація і доставка звітів старшим за посадою.
Методи управління підприємства по розробці ПЗ не відрізняються від методів управління інших підприємств. Але розробка ПЗ виразніша.
Важливий аспект організації підприємства по виробництву ПЗ - психологія. ПЗ створюється і використовується людьми і соціальна система може вплинути на його якість.
Розробка ПЗ повинна враховувати психологічні чинники. Вони важливі у виготовленні ПЗ і в організації виробництва. Вплив проекту визначається психологічними чинниками, наприклад, інтерфейсами, які повинні бути на стільки зручні у використанні, на скільки це можливо. Організаційні аспекти включають такі чинники: умови роботи в команді, зв'язок між членами команди і клієнтом і т.д.
Часто розробка ПЗ вимагає глобального представлення проблеми, як і використання знань і досвіду. Тому застосовуються нестрогі розсудливі методи.
Немає таких строгих принципів, які були б важливіші за людський інтелект. Штучний інтелект не є зовсім інтелектом. Це просто моделювання зразка мислення його розробника. Моделювання людського образу думки є дуже складним завданням.
2. Працівники виробництва програмного забезпечення
Минуле, тобто освіта і моральні принципи працівника, можуть визначити ефективність виробництва ПЗ. Ефективність команди може відрізнятися одним або двома проектами. Оцінка членів команди важлива і менеджер повинен бути здатний виконати це завдання, після чого призначити відповідні ролі членам команди. Випробування особи проводяться під час роботи. Вони є складні, оскільки люди міняються і їх професійний досвід відбивається на них самих. Попередні випробування можуть не виявити важливих якостей. Для аналітиків потрібні одні якості, для програмістів - інші, для тестувальників - треті. Процес розробки ПЗ теж міняється. Крім того, людина, піддана випробуванню, може спробувати вгадати правильну відповідь замість того, що б відповісти чесно. В цьому випадку випробування не характеризує працівника. Воно показує бачення працівником вимог працедавця.
3. Характеристика хорошого розробника програмного забезпечення
Хороший розробник ПЗ повинен бути здатний добре працювати в стресових умовах. У будь-якій роботі може виникнути така ситуація, але завдання повинні бути виконані. Маленькі стресові умови часто мотивують. Але існує поріг і для кожної людини він свій. За цим порогом у деяких людей може не виходити добре працювати.
Іншою важливою особливістю є пристосовність. Інформатика - одна з областей, схильних до швидких змін. Вважається, що кожні 7-9 місяців в ній відбуваються зміни. Проте в інших областях такі зміни займають до 7 років. Тому розробники ПЗ повинні навчатися постійно. Вони повинні набувати знань нових інструментів, апаратури, ПЗ, технологій і методів. Не кожен на це здатен. Пасивність дуже небезпечна в інформатиці.
Асоціації дуже важливі для людського розуму. Вони розширюють здібність до запам'ятовування інформації, як і доступ до неї. Цей процес проілюстрований на малюнку 15.4.1.
Мал. 15.4.1. Асоціації, що використовуються в роботі на складних системах.
Людський розум легко зв'язує клас працівника і зарплатню. Малюнки і чіткі терміни полегшують запам'ятовування асоціацій.
Типи знань
Знання ділиться на семантику і синтаксис.
Синтаксис розуміється як механічне запам'ятовування фактів без розуміння механізмів. Знання не об'єднується з раніше придбаним знанням. Синтаксис мови програмування - тип знання.
Семантика означає запам'ятовування значення, а не форми. Це, наприклад, розуміння команди "while" або наслідування. Нові знання об'єднуються із старими.
Два типи знань визначають принципи людських ресурсів. Наприклад, працівник, що знає семантику, може бути більш придатним для роботи програмістом, ніж працівник, що знає синтаксис C++.
Компанії вважають синтаксис дуже важливим при наймі професіонала. Проте, будь-яка мова може бути вивчена за декілька тижнів, а семантика потребує досвід.