Автор: Пользователь скрыл имя, 29 Мая 2013 в 14:04, лекция
Програмне забезпечення (ПЗ) - комп'ютерні програми і відповідна документація. Розробляється за замовленням приватних осіб або для продажу на ринку ПЗ.
Інженерія ПЗ - інженерна дисципліна, яка охоплює всі аспекти розробки ПЗ.
Системотехніка (технологія створення обчислювальних систем) - дисципліна, яка охоплю
На
першому етапі процесу
«Необхідність управління програмними проектами витікає з того "сумного" факту, що процес створення професійного ПЗ завжди є суб'єктом бюджетної політики організації, де воно розробляється, і має часові обмеження. Робота керівника програмного проекту за великим рахунком полягає у тому, щоб гарантувати виконання цих бюджетних і часових обмежень із врахуванням бізнес-цілей організації щодо розроблюваного ПЗ.»
«Хороше управління не гарантує успішного завершення проекту, але погане управління обов'язково приведе до його провалу.»
Відмінності процесу розробки ПЗ від процесів реалізації технічних проектів:
Процеси управління:
Люди, які працюють в компаніях з розробки ПЗ, є їх найціннішим "активом". Саме вони є інтелектуальним капіталом, і від менеджерів з розробки ПЗ залежить, чи отримає компанія найкращі з можливих дивіденди від інвестицій в людські ресурси.
У компаніях та економічних структурах, які успішно розвиваються це досягається в тому випадку, якщо організація поважає своїх співробітників.
Коло виконуваних ними обов'язків і рівень винагороди повинні відповідати їх умінню, яке, у свою чергу, залежить від кваліфікації.
Організація людської пам'яті
Семантичні знання. Це знання про основні поняття, такі наприклад, як функціонування оператора присвоєння, представлення про класи об'єктів, про техніку хешованого пошуку або про структуру організації програм. Ці знання набуваються через досвід і навчання і зберігаються у формі автономних представлень.
Синтаксичні знання. Це деталізовані знання (подробиці) про окремі об'єкти і явища, наприклад про те, як описати об'єкт у UML, які стандартні функції доступні в мові програмування, чи створюється оператор присвоєння за допомогою знака "=" чи знака ":=" і т. д. Ці знання зберігаються в неструктурованому вигляді.
Оцінка продуктивності розробки ПЗ базується на вимірюванні кількісних показників програмних продуктів і подальшому діленні їх на кількість зусиль, витрачених на розробку цих продуктів:
Показник розміру
Кількість рядків програмного коду за людино-місяць найбільш популярний критерій оцінки продуктивності, але він не завжди оптимальний, тому що використовуються різні мови програмування. Він визначається шляхом ділення загальної кількості рядків коду на кількість часу в людино-місяцях, який буде потрібно для завершення проекту.
Функціональний показник
Для визначення можна скористатися методом функціональних точок. Критерієм оцінки продуктивності виступає число функціональних точок, створених за людино-місяць. Функціональна точка - це комбінація властивостей ПЗ:
Нескорегований підрахунок функціональних точок (UFC) виконується шляхом обчислення суми добутків оцінки кожного чинника (число елементів, які складають даний чинник) на вибрану вагову величину цього чинника:
UFC = 2 (кількість елементів даного типу) × (вагова величина).
Для визначення можна скористатися методом об'єктних точок.
Число об'єктних точок у програмі можна отримати шляхом попереднього підрахунку низки елементів:
Продуктивність програміста
Найважливішим чинником є індивідуальні здібності.
Якість програмного продукту повинна відповідати деяким технічним вимогам. Тут виникає низка проблем:
Управління якістю припускає можливість незалежного контролю за процесом розробки ПЗ. Сам же процес управління якістю складається з трьох основних видів діяльності:
Особливості процесу управління якістю:
Основна ідея об'єктно-орієнтованого аналізу і проектування (object-oriented analysis and design) полягає в розгляді предметної області і логічного рішення задачі з погляду об'єктів (понять і сутностей). У процесі об'єктно-орієнтованого аналізу основна увага приділяється визначенню і опису об'єктів (або понять) у термінах предметної області. У процесі об'єктно-орієнтованого проектування визначаються логічні програмні об'єкти, які будуть реалізовані засобами об'єктно-орієнтованої мови програмування. Ці програмні об'єкти включають атрибути і методи. І, нарешті, в процесі конструювання (construction) або об'єктно-орієнтованого програмування (object-oriented programming) забезпечується реалізація розроблених компонентів і класів.
Розглянемо
коротко деякі основні принципи
об'єктно-орієнтованого
Найбільш важливим моментом об'єктно-орієнтованого аналізу і проектування є кваліфікований розподіл обов'язків між компонентами програмної системи. Річ у тому, що це єдиний вид діяльності, без якого неможливо обійтися. До того ж він робить визначальний вплив на працездатність, масштабованість, розширюваність і можливість повторного використання компонентів. Обов'язки об'єктів і їх взаємодії зображуються з використанням діаграм класів (design class diagram) і діаграм взаємодій (collaboration diagram).
Тенденції розвитку сучасних інформаційних технологій приводять до постійного зростання складності інформаційних систем (ІС), створюваних у різних галузях.
Для успішної реалізації проекту об'єкт проектування (ІС) повинен бути насамперед адекватно описаний, повинні бути побудовані повні і несуперечливі функціональні й інформаційні моделі ІС. Крім того, у процесі створення і функціонування ІС інформаційні потреби користувачів можуть змінюватися чи уточнюватися, що ще більш ускладнює розробку і супровід таких систем.
Приблизно чверть століття тому швидко зростаючий обсяг і складність систем вступили в явне протиріччя з відсутністю єдиного підходу до їх аналізу і проектування, неучастю користувача в процесі розробки, непогодженістю різних етапів розробки. Помилок було багато й обходилися вони дуже дорого. Модульне і структурне програмування, логічне моделювання структур баз даних, схеми потоків даних і проектування "зверху вниз" при всій початковій ейфорії, узагалі ж, залишилися внутрішньою справою розроблювачів. Проблема була глибше - потрібно було якось об'єднати замовників, розроблювачів, програмістів, користувачів - причому в умовах постійно мінливої ситуації. А для того, щоб про щось домовитися, потрібна якась спільна мова. Природна мова в силу малої наочності, неоднозначності, надмірності і багатослівності для цієї ролі не пасувала, і, зрештою, почалися спроби створення чіткої графічної мови.
Перераховані фактори сприяли
появі програмно-технологічних
Появі CASE-технології і CASE-засобів передували
дослідження в області
Информация о работе Технологія розробки програмного забезпечення