К. М. Лавріщева програмна інженерія підручник Київ, 2008
Скачать 5.23 Mb.
|
СПИСОК ПОЗНАЧЕНЬ І СКОРОЧЕНЬ АCM – Association for Computing Machinery API – Application Program Interface AE – Application Engineering (інженерія додатку, застосування) АОП – аспектно–орієнтоване програмування АП – алгебраїчне програмування АГ – алгебра Глушкова АЯ – алгебра Янова БД – база даних ER – Entity-Relationship ЕП – експлікативне програмування DE – Domain Engineering (інженерія домену) DSL – Domain-Specific Language DSML – Domain-Specific Modeling Language ЗКМ – загальна компонентна модель IEC – International Electro technical Commission ISO – International System Organization IDL – Interface Definition Language ISO – International Standard Organization КМ – концепторна мова JVM – Java Virtual Machine MDL – Method Definition Language MDD – Metodology Domain Development MDA– Model-Driven Architecture MIC – Model-Integrated Computing МП – мова програмування ОМ – об’єктна модель ООП – об’єктно-орієнтований підхід ОМА – Object Management Architecture ООМ – об’єктно-орієнтована методологія CОД – система обробки даних СММ – Capability Maturity Model ОС – операційна система ORB – Object Request Broker КПВ – компонент повторного використання ПІ – програмна інженерія ПС – програмне забезпечення ПС – програмна система ПрО – предметна область СОМ – Component Object Model CORBA – Common Object Request Broker Architecture COP – Component-Oriented Programming СОД – система оброблення даних СРР – структура разбивки работ в проекте CPM – Critical Path Method (метод критичного шляху) PERT – Program Evaluation and Review Technique Список позначень і скорочень 312 РМВOK – Project Management Body of Knowledge RMI – Remote Method Invocation RPC – Remote Procedure Call РЗ – розподілене застосування RSL – Raise Specification Language VDM –Vena Development Method SE – інженерія програмного забезпечення, програмна інженерія SQA – Software Quality Assurance (гарантия качества) SWEBOK – Software engineering of body Knowledge V&V – Verification and Validation (верифікація и валідація) ЖЦ – життєвий цикл UML – Unified Modelling Language 313 ДОДАТОК 1. Термінологічний словник Абстракція – здатність відокремити істотні риси предмета (об'єкта) від другорядних, бачити ідею, що буде реалізована. Абстрактна архітектура – декомпозована структура предметної області на задачі підсистем, для яких фіксуються параметри й обмеження, необхідні для їх взаємодії. Агрегація – об'єднання ряду понять у нове поняття (відношення типу «частина–ціле»), загальні ознаки якого можуть бути сумою ознак інших або бути новою ознакою. Аналіз вимог – виявлення і відображення обмежень на функції і систему у цілому. Артефакт – будь-який продукт діяльності фахівців з розробки програмного забезпечення. Архітектура системи – структура (каркас) системи і підсистем або компонентів і інтерфейсів між ними. Асоціація – найбільш загальне й істотне відношення, що встановлює наявність зв'язків між поняттями без уточнення їхнього змісту і розмірів. Білої скриньки метод – забезпечення виявлення помилок на всіх зазначених її шляхах і потоках передач керування у внутрішній структурі програми. Валідація – перевірка відповідності розробленої ПС вимогам замовника. Верифікація – перевірка правильності реалізації функцій ПС з урахуванням вимог. Взаємодія об'єктів – зв'язок між об'єктами через механізми повідомлень. Відмовлення – перехід програми з працюючого стану в непрацюючий стан у зв'язку з виявленими помилками або дефектами в ній. Вимога – угода або договір між замовником і виконавцем системи щодо властивостей її функцій, умов роботи в заданому середовищі. Водоспадна (каскадна) модель – схема послідовності робіт, у якій кожна з них виконується один раз і в порядку, що зазначений у моделі життєвого циклу. Гарантія якості програмного забезпечення – дії на кожнім процесі життєвого циклу з перевірки і підтвердження досягнення деяких показників якості відповідно до стандарту. Дефект – це помилкова подія в роботі системи, що виникає внаслідок невірного опису специфікації вимог, проектних рішень, програм і т.п. Діаграма – графічне подання сценаріїв роботи системи за допомогою класів, станів, подій і т.п. Динамічнетестування – виконання програми для виявлення помилок у програмі, визначення їхньої причини й усунення. Домен або предметна область – спектр задач, що подаються програмними системами або їх сімействами, що мають схожі прийоми їхнього рішення. 314 Перелік стандартів програмної інженерії Експлуатація – дії з виконання готової програмної системи. Життєвий цикл – схема виконання робіт із проектування системи, починаючи з моменту прийняття рішення про необхідність її побудови і закінчуючи моментом її повного вилучення з експлуатації. Задача системи – завдання системи і спосіб (технологія) його досягнення у програмному середовищі. Зв'язок (Relationship) – пойменована асоціація між двома сутностями, що має значення для розглянутих відношень у предметної області. Заховання інформації – прийняття рішення про те, що варто повідомити усім про особливості програми, а що залишити при собі – не показувати їм. Менеджмент – професійне керування програмним проектом і колективом фахівців, утворюючих програмний продукт проекту. Інженерія – планування і дисципліна керування програмуванням задач з метою одержання користі від властивостей та способів виконання продуктів. Інженерія якості – процес керування наданням програмному забезпеченню властивостей якості (надійності, відмовостойкісті і т.п.). Інженерія вимог – збирання, аналіз, оформлення умов і обмежень на розробку системи, погоджених як замовником, так і виконавцем. Інтенсивність відмовлень – це частота появи відмовлень або дефектів у програмній системі при її тестуванні або експлуатації. Інспекція коду – формальна перевірка опису програми, її типів і структур даних на їхню правильність відповідно до вимог. Інформаційна модель – модель системи, у якій відображається структура даних і зв'язків з об'єктами, що їй користуються. Інформаційна система – система, що виконує збирання, обробку, збереження і виробництво інформації з використанням автоматизованих процесорів і людей. Інформаційне забезпечення – набір засобів для надання інформації користувачам про зміст і умови її застосування. Інтерфейсний об'єкт – стикувальний посередницький елемент між двома об’єктами, що містить у собі опис даних, оператори їх передачі один одному через повідомлення. Інцидент – абстрактна подія, що впливає на стан об'єкта. Каркас (патерн) – різновид абстрактної архітектури для визначення окремих компонентів або сукупності системи. Компонент – тип, клас, проектне рішення, програма, документація або інший продукт програмної інженерії, пристосований для практичного використання. Компонентна розробка – конструювання програмної системи шляхом композиції знов створених і готових компонентів, що зберігаються в різних сховищах. Конкретизація – додавання істотних ознак для розширення змісту деякого поняття і звуження обсягу поняття. Термінологічний словник 315 Кінцеві користувачі системи – професійні особи, що замовляють комп'ютерну систему і користуються нею. Компонент повторного використання (КПВ) – фрагмент знань про минулий досвід розроблення елементів системи, представлених так, що їх можливо використовувати не тільки розробником, а і користувачами після адаптації до нового середовища. Конфігурація – варіант (версія) виготовленої програмної системи з ідентифікованих компонентів і підсистем. Концептуальне моделювання – процес побудови моделі предметної області, орієнтованої на розуміння її людиною. Критерій – кількісна або якісна характеристика системи, що дозволяє оцінити ступінь досягнення мети і сформулювати правила вибору необхідних засобів і технологій. Критерій ефективності – критерій, що дозволяє оцінити ступінь досягнення мети з урахуванням зроблених витрат різних ресурсів. Керування якістю – комплекс способів і системної діяльності з планування досягнення показників якості робочого і кінцевого програмного продукту. Метрика – кількісна міра і шкала виміру характеристик програми або продукту. Модель ЖЦ – типова схема послідовності робіт у процесах розроблення деякого типу програмного продукту. Модель процесу – визначена послідовність дій, що супроводжує зміну стану програмного об'єкта. Модель станів – відображення динаміки зміни стану об'єкта класу, що змінює його поведінку. Модель зрілості СММ (Capability Maturity Models ) рівні готовності організації-розробника ПС і її можливості створювати зріло (задовільно, середньо, добре і дуже добре) визначений вид програмної продукції. Модель якості – чотирирівнева структура, що відображає характеристики, атрибути, метрики й оцінні елементи показників якості програмної системи. Мова UML – діаграмний спосіб специфікації, візуалізації, конструювання і документування продуктів у процесах ЖЦ. Надійність програмної системи – це здатність системи зберігати свої властивості (безвідмовність, стійкість і ін.) у процесі перетворення вихідних даних у результати протягом визначеного проміжку часу за певних умов експлуатації. Налагодження – перевірка програми на наявність у її описі помилок і їхнє усунення без внесення нових. Нефункціональні вимоги – вимоги, що характеризують організаційні, виконавські, операційні аспекти роботи програмної системи в середовищі виконання. Об'єкти керування – це функції перетворення об'єктів інтерфейсу в об'єкти сутності, аналогічно до відображення алгоритму обробки даних у системі. 316 Перелік стандартів програмної інженерії Об'єкт-сутність – довго живучі об'єкти, що відповідають реальним предметам світу предметної області і зберігають свій стан після виконання сценарію роботи. Об’єктно-орієнтована модель – структура із сукупності об'єктів, що взаємодіють між собою, мають властивості і поведінку. Онтологія – сукупність елементарних понять, термінології і парадигми їхньої інтерпретації в середовищі проблеми, що потрібно розробити. Оцінний елемент метрики – кількісна або якісна міра оцінки відповідного показника з урахуванням його ваги в системі оцінки якості. Оцінювання якості – дії, спрямовані на визначення ступеня задоволення програмного забезпечення якісним вимогам, що відповідають його призначенню. Пакет – програмна структура з загальним механізмом організації елементів у групи підсистем різного рівня деталізації. Переносність системи – можливість змінювати сервіс системи (ОС, зв'язки, мережні комунікації і т.п.) шляхом настроювання на нові умови середовища або платформи. План тестування – опис стратегії, ресурсів і графіка тестування окремих компонентів і системи в цілому. Помилка – недоліки в операторах програми або в технологічному процесі її розробки, що приводять до неправильної інтерпретації вхідної інформації і до неправильного рішення. Подія – явище, що провокує зміну визначеного стану і перехід до іншого станові в системі. Програмна система – це комплекс прикладних програм і засобів, що реалізують функції (задачі) предметної області в заданому середовищі. Програмне забезпечення – це деяка конкретна функція системи (ОС, система керування БД тощо), що входить до складу ПС або сама ПС. Прецедент (клас) визначає набір екземплярів класу, який становить послідовність дій, виконуваних системою, і видає результат, коштовний для конкретного суб'єкта. Принципи – базові концепції, що лежать в основі всієї області програмування. Програмна інженерія – розділ Computer Science, включає систему методів, засобів і дисципліни планування, розробки, експлуатації і супроводу ПС, здатних до масового відтворення. Процес придбання – дії, що ініціюють визначений цикл аналізу для визначення покупцем програмної системи або сервісу. Процес розробки – дії розробника з інженерії вимог, проектування, кодування і тестування програмного продукту. Процес здачі – дії з передачі розробленого ПП покупцеві. Процес експлуатації – дії по обслуговуванню ПС користувачем. Термінологічний словник 317 Процес супроводу – дії за рішенням задач системи, підтримка системи в актуальному стані для виконання функцій системи, керуванню модифікаціями або вилученню системи з уживання. Проектування – перетворення вимог у послідовність проектних рішень в архітектуру системи, а її в вихідний код. Проектування концептуальне – уточнення розуміння й узгодження деталей вимог до системи. Проектування архітектурне – визначення структурних особливостей споруджуваної системи. Проектування технічне – відображення вимог з функціонування і розробки системи шляхом визначення всіх конструктивних елементів і їхніх композицій. Проектування детальне – визначення подробиць реалізації функцій для заданого середовища і зв'язків між відповідними компонентами системи. Реалізація програмної системи – перетворення проектних рішень у працюючу систему (синоніми: кодування, конструювання). Сертифікація програмного продукту – процес для установлення відповідності програмної продукції (процесу або послуг) конкретному стандартові або технічним умовам зі спеціальним знаком або свідченням. Сімейство систем – множина прикладних систем із різними загально функціональними властивостями і окремим внутрішнім керуванням та з загальною взаємодією між собою. Спадкування – конкретизація в підкласі окремих властивостей, якими можуть користуватися інші об'єкти суперкласу. Специфікація – опис алгоритму, правил, обмежень дій об'єктів з урахуванням стандартів, критеріїв якості й ін. Спіральна модель ЖЦ – модель процесів розроблення системи, з можливістю повертатися до будь-якого попереднього процесу з метою переробки елементів робочого продукту. Стан (системи, об'єкта і т.п.) – фіксація визначених властивостей на заданий момент або інтервал часу. Статичне тестування – аналіз і розгляд специфікацій компонентів на правильність подання без їхнього виконання на комп'ютері. Супровід – виконання реалізованих у системі задач і робот з внесення в неї змін після того, як вона передана користувачам для експлуатації. Суб'єкт – хтось або щось поза системою, що взаємодіє із розробленою системою. Сутність (Entity) – реальний або уявлюваний об'єкт, що має істотне значення для розглянутої предметної області, інформація про яке підлягає збереженню. Сценарій – конкретна послідовність дій, що ілюструє його виконання під керівництвом зовнішнього елемента або виконавця. Тест – деяка програма, призначена для перевірки правильності роботи системи і виявлення в ній помилкових ситуацій. 318 Перелік стандартів програмної інженерії Тестові дані – набір даних, що готуються на основі специфікації програм для перевірки роботи програмної системи. Тестування – спосіб семантичного налагодження (перевірки) програми, що складається у виконанні послідовності різних наборів тестів і звірення отриманих результатів з відомими заздалегідь. Узагальнення – звуження щирих ознак поняття для розширення властивостей, охоплених цим поняттям об'єктів. Успадкована система – існуюча діюча система, створена за допомогою будь-яких методів і технологій для підтримки деяких задач користувача. Функція – зміст дій, виконання яких покладається на відповідний елемент системи при заданих вимогах, умовах і обмеженнях. Функціональні вимоги – це умови й обмеження на виконання мети і задач відповідно до заданих потреб замовника системи. Функціональна повнота – атрибут, що показує ступінь достатності реалізованих функцій для рішення спеціальних задач відповідно до вимог до програмного забезпечення. Функціональна структура – структура, елементами якої є функції, а відношеннями – зв'язки, що забезпечують передачу предметів праці. Характеристики якості (стандартні) – це функціональність (functionality), надійність (realibility), зручність (usability), ефективність (efficiency), супроводженість (maitainnability), переносність (portability). Чорної скриньки метод – тестування реалізованих функцій шляхом перевірки відповідності реального поводження функцій ПС з очікуваними результатами, виходячи зі специфікацій вимог. Якість програмного забезпечення – сукупність властивостей продукту, що визначають його придатність задовольнити вимоги замовника щодо призначення ПС. 319 ДОДАТОК 2. Перелік стандартів програмної інженерії 1. ISO 9000 Системи керування якістю — Основні положення і словник. 2. ISO 9000-1 Стандарти з керування якістю та забезпечення якості. Ч.1. Настанови щодо вибору та застосування. 3. ISO 9000-2 Стандарти з керування якістю та забезпечення якості. Ч.2. Настанови щодо застосування ISO 9001, ISO 9002, ISO 9003. 4. ISO 9000-3 Стандарти з керування якістю та забезпечення якості – Ч.3. Настанови щодо застосування ISO 9001 під час розроблення, постачання та супроводження програмного забезпечення. 5. ISO 9000-4 Стандарти з керування якістю та забезпечення якості – Ч.4. Настанови щодо керування програмою надійності. 6. ISO 9001-2001 Системи керування якістю. Вимоги. 7. ISO 9003 Система якості. Модель забезпечення якості в процесі контролю готової продукції та її випробуваннях. 8. ISO/IEC 9126-1:2001 Програмна інженерія. Якість продукту.Ч.1. Модель якості. 9. ISO/IEC TR 9126-2:2003 Програмна інженерія. Якість продукту.Ч.2. Зовнішні метрики 10. ISO/IEC TR 9126-3:2003 Програмна інженерія. Якість продукту.Ч.3. Внутрішні метрики. 11. ISO/IEC TR 9126-4:2004 Програмна інженерія. Якість продукту.Ч.4. Метрики якості при використанні. 12. ISO/IEC 14598-2:2000 Програмна інженерія. Оцінювання програмного продукту. Ч.2. Планування та керування. 13. ISO/IEC 14598-3:2000 Програмна інженерія. Оцінювання програмного продукту. Ч.3. Процес для розробників. 14. ISO/IEC 14598-4:1999 Програмна інженерія. Оцінювання продукту. Ч.4. Процес для замовників. 15. ISO/IEC 14598-6:2001 Програмна інженерія. – Оцінка продукту – Ч.6. Документація модулів оцінювання. 16. ISO/IEC 19761:2003 Програмна інженерія. COSMIC-FFP. Метод вимірювання об’єму функціональних можливостей. 17. ISO/IEC 25000:2005 Програмна інженерія. Оцінювання і вимоги до якості програмного продукту(SQuaRE). Настанова щодо оцінювання і вимоги до якості програмного продукту. 18. ISO/IEC 25001:2007 Програмна інженерія. Оцінювання і вимоги до якості програмного продукту(SQuaRE). Планування та керування. 19. ISO/IEC 25020:2007 Програмна інженерія. Оцінювання і вимоги до якості програмного продукту(SQuaRE). Настанова та еталонна модель вимірювання. 20. ISO/IEC TR 25021:2007 Програмна інженерія. Оцінювання і вимоги до якості програмного продукту(ОВЯПП - SQuaRE). Елементи вимірювання якості. 320 Перелік стандартів програмної інженерії 21. ISO/IEC 25030:2007 Програмна інженерія. Оцінювання і вимоги до якості програмного продукту(SQuaRE). Вимоги якості. 22. ISO/IEC 25051:2006 Програмна інженерія. Оцінювання і вимоги до якості програмного продукту(SQuaRE). Вимоги до якості готових комерційних продуктів програмних засобів та інструкції по тестуванню. 23. ISO/IEC 25062:2006 Програмна інженерія. Оцінювання і вимоги до якості програмного продукту(SQuaRE). Загальний промисловий формат, який використовується при тестуванні звітів. 24. ДСТУ ISO/IEC TR 9126-2 Програмна інженерія. Якість продукту.Ч.2 Зовнішні метрики. 25. ДСТУ ISO/IEC TR 9126-3 Програмна інженерія. Якість продукту.Ч.3 Внутрішні метрики. 26. ДСТУ ISO/IEC TR 9126-4 Програмна інженерія. Якість продукту.Ч.4 Метрики якості при використанні. 27. ДСТУ ISO/IEC 14598-1 Інформаційні технології. Оцінювання програмного продукту. Ч.1 Загальний огляд. 28. ДСТУ ISO/IEC 14598-2 Програмна інженерія. Оцінювання програмного продукту. Ч.2. Планування та керування. 29. ДСТУ ISO/IEC 14598-3 Програмна інженерія. Оцінювання програмного продукту. Ч.3. Процес для розробників. 30. ДСТУ ISO/IEC 14598-4 Програмна інженерія. Оцінювання продукту. Частина 4. Процес для замовників. 31. ДСТУ ISO/IEC 14598-6 Програмна інженерія. – Оцінка продукту – Частина 6. Документація модулів оцінювання. 32. ДСТУ ISO/IEC 15939 Інженерія систем і програмних засобів. Процес вимірювання. 321 Навчальне видання Лавріщева Катерина Михайлівна ПРОГРАМНА ІНЖЕНЕРІЯ Підручник Редактор М.К.Пуніна Підп. до друку 16.12.2008 р. Формат 70100 1/16 Папір офс.№1. Друк різограф. Обл.–вид.арк.30,72 Умв. друк.арк. 26. Тираж 300 прим. Замовл. № 2282 _______________________________________________________________________ Друкарня « Видавничого дому « Академперіодика» НАН України 01004, Київ–4, вул. Терещенківська, 4 Свідоцтво про внесення до Державного реєстру суб’єкта Видавничий справи серії ДК №544 від 27.01.2001. 322 Перелік стандартів програмної інженерії ЛАВРІЩЕВА КАТЕРИНА МИХАЙЛІВНА Завідувачка наукового відділу Інституту програмних систем НАН України, доктор фізико-математичних наук, професор кафедри теорії і технології програмування Київського Національного університету імені Тараса Шевченка та кафедри теоретичної кібернетики и методів оптимального управління філії Московського фізико-технічного інституту при Інституті кібернетики імені В.М.Глушкова. Спеціаліст у галузі інформатики, математичного та програмного забезпечення ЕОМ, комп’ютерних наук та програмної інженерії. Автор понад 100 наукових публікацій, в том числі, монографія «Методы программирования. Теория, инженерия, практика» (Киев: Наук. думка, 2006) та монографії у співавторстві «Связь разноязыковых модулей в ОС ЕС», «Сборочное программирование» (Москва: Финансы и статистики, 1982; 1991); «Методы инженерии распределенных компьютерных приложений» (Киев: Наук. думка, 1997), посібники «Основи програмної інженерії» (Київ: Знання, 2001), підручник «Методы и средства инженерии программного обеспечения» (Москва: МФТИ РАН, 2007). Зам. головного редактора наукового журналу «Проблеми програмування», Державної премії в області науки і техніки України (1991, 2003), керівник десятьох кандидатів та одного доктора наук. |