- Лекція 11
- Огляд основних вітчизняних та світових стандартів ІТ-галузі
- 11.1 Загальна класифікація стандартів
- 11.2 Стандарти у ІТ-галузі
- 11.3 Організації- розробники міжнародних стандартів
- 11.3.1 ISO/IEC 12207:2017 Systems and software engineering – Software Life Cycle Processes
- 11.3.2 ISO/IEC 15288:2015 Systems and software engineering - System life cycle processes
- 11.3.3 ISO/IEC 15289:2017 Systems and software engineering - Content of life-cycle information items (documentation)
- 11.3.4 ISO/IEC 19505:2012 Information technology – Object Management Group Unified Modeling Language (OMG UML)
- 11.3.5 ISO/IEC 20000:2017 Information technology - Service management
- 11.3.6 Родина стандартів ISO/IEC 27000 - Information technology - Security techniques - Information security management systems (ISMS)
- 11.3.1 ISO/IEC 12207:2017 Systems and software engineering – Software Life Cycle Processes
- 11.1 Загальна класифікація стандартів
- Стандарт
- Назва
- Призначення
- ISO 29110
- Назва
- Призначення
- ISO 29119
- Назва
- Примітка
- 11.4 Орган стандартизації україни
- 11.5 Державні стандарти україни
- Позначення
- Назва
- Термін дії
- Комплекс стандартов на автоматизированные системы
- 11.6 Стандарт CMMІ на зрілість процесів розробки ПЗ
- 11.7 Бібліотека інфраструктури інформаційних технологій (ITIL)
- 11.8 Регламент захисту персональних даних (GDPR)
- 11.9 Організації- розробники галузевих стандартів
- 11.10 Галузеві стандарти IEEE
- 11.11 Керівництво до зведення знань з програмної інженерії (SWEBoK)
- 11.12 Керівництво до зведення знань з системної інженерії (SEBOK)
- 11.13 Керівництво до зведення знань з бізнес аналізу (BABOK)
- 11.14 Стандарти оформлення коду
- 11.15 Стандарти підприємств на розробку та супровід ПЗ
Лекція 11
Огляд основних вітчизняних та світових стандартів ІТ-галузі
Як будь-яка діяльність, програмна інженерія розвивалась від творчих спроб знайти рішення нетривіальної проблеми до цілком формалізованих та чітко регульованих проектів, які поділяються на відомі типи. Тобто діяльність у цій галузі перейшла від «творчого безладу» до організованих проектів із визначеними технологіями.
В процесі упорядкування діяльності обов’язково виникають рекомендації, побудовані на галузевому досвіді, які спочатку трансформуються у нормативні документи підприємств, потім та паралельно виникають так звані галузеві стандарти – документи, що фіксують загально прийняті у певній діяльності методи та техніки. Коли та чи інша держава визнає діяльність важливою для своєї економіки, то вона створює регуляторні документи, які називають державними стандартами.
На вищому рівні регулювання, коли для виконання процесів у певній діяльності підприємствам та державам стає важливим мати документи, що дозволять їм мати базу для домовленостей, спільного розуміння рівня результатів, щоб показати свій рівень та конкурентоспроможність, виникають міжнародні стандарти, призначені для регулювання діяльності по всьому світу (де є міждержавні договори щодо визнання міжнародної стандартизації).
На слайді представлена класифікація стандартів за рівнем їх впливу на діяльність (від найширшого до найвужчого).
11.1 Загальна класифікація стандартів
-
-
Міжнародні стандарти
-
Державні стандарти
-
Галузеві стандарти
-
Стандарти підприємств
-
11.2 Стандарти у ІТ-галузі
На слайді представлений частковий перелік стандартів у ІТ-галузі, розділений на групи.
11.2.1 Галузеві стандарти:
Усі провідні компанії-розробники програмних продуктів користуються широким спектром технологій створення ПЗ. Одна з найбільш формалізованих технологій, які претендують на роль світового корпоративного стандарту- Rational Unified Process (RUP), із цього процесу фактично виросла мова UML, метою якої є надання системним архітекторам, інженерам програмного забезпечення та розробникам програмного забезпечення інструментів для аналізу, проектування та впровадження програмних систем, (з 2012 р. UML є міжнародним стандартом на проектування ІС).
IEEE (Institute of Electrical and Electronics Engineers) – організація, яка є розробником галузевих стандартів у ІТ-галузі та активно впливає на розвиток міжнародних стандартів;
SWEBOK (Guide to the Software Engineering Body of Knowledge) – Керівництво до зведення знань з програмної інженерії – галузевий стандарт IEEE, що систематизує основні види діяльності з програмної інженерії
Серед державних стандартів можна виділити:
GDPR (General Data Protection Regulation) - регламент щодо захисту персональних даних (діє в ЄС з 2018), глобалізація економік привела до того, що цей стандарт вплинув на усі міжнародні компанії, які діють на території ЄС;
ДСТУ – державні стандарти України;
CMM (Capability Maturity Model) – сукупність моделей вдосконалення процесів підприємств (переріс у галузевий);
TickIT – стандарт на систему управління якістю ПЗ, прийнятий у Великобританії та Швеції;
Міжнародні стандарти:
ISO – абривіатура показує, що документ розроблений Міжнародною організацією зі стандартизації
Класифікація стандартів розроблення програмних систем (Systems and software engineering)
- ISO/IEC 12207 Systems and software engineering – Software Life Cycle Processes - стандарт на процеси та организацію життєвого циклу всіх видів ПЗ;
- ISO/IEC 15288 Systems and software engineering - System life cycle processes - стандарт на процеси життєвого циклу систем;
- ISO 29148-2011 - Systems and software engineering -- Life cycle processes --Requirements engineering – замінив IEEE 830-1998 (Recommended Practice for Software Requirements Specifications – стандарт на документування вимог до ПП), IEEE 1233-1998, IEEE 1362-1998.
GDPR (General Data Protection Regulation) - регламент щодо захисту персональних даних (діє в ЄС з 2018), глобалізація економік привела до того, що цей стандарт вплинув на усі міжнародні компанії, які діють на території ЄС;
ДСТУ – державні стандарти України (ГОСТ 34.xxx дія часткова, ЕСПД 19.ххх на цей час уже відмінений)
SWEBOK – Керівництво до зведення знань з програмної інженерії – галузевий стандарт IEEE, що систематизує основні види діяльності з програмної інженерії
TickIT – стандарт на систему управління якістю ПЗ, прийнятий у Великобританії та Швеції;
Нижче перелічені стандарти за походженням є державними, але фактично вже стали галузевими:
CMMI – сукупність моделей вдосконалення процесів підприємств (із США);
ITIL - сукупність кращих світових практик організації підприємства чи підрозділу, що надає послуги у сфері інформаційних технології (із Великобританії).
11.3 Організації- розробники міжнародних стандартів
ISO (International Organization for Standardization) - Міжнародною організацією зі стандартизації
IEC (International Electrotechnical Commission) – Міжнародний комітет з електротехніки. Входить до складу ISO
У цьому комітеті стандарти для ІТ-галузі розробляють JTC 1 Information technology (Об’єднаний комітет з інформаційних технологій), а у ньому за програмну та системну інженерію відповідає підкомітет SC 7 Software and systems engineering
Приклад позначення стандарту, який містить посилання на відповідальних за розробку:
ISO/IEC 15289:2017
Читаємо так: міжнародний стандарт номер 15289, розроблений Міжнародним комітетом з електротехніки, остання затверджена версія 2017 року.
11.3.1 ISO/IEC 12207:2017 Systems and software engineering – Software Life Cycle Processes
Основні процеси
-
придбання
-
постачання
-
розробка
-
експлуатація
-
супровід
Договірні процеси
-
документування
-
управління конфігурацією
-
забезпечення якості
-
вирішення проблем
-
аудит
-
атестація
-
сумісна оцінка
-
верифікація
Організаційні процеси
-
створення інфраструктури
-
управління
-
навчання
-
удосконалення
11.3.2 ISO/IEC 15288:2015 Systems and software engineering - System life cycle processes
-
Договірні процеси
-
Процеси підприємства
-
Проектні процеси
-
Технічні процеси
-
Спеціальні процеси
Процеси підприємства
-
управління зовнішнім середовищем підприємства
-
інвестиційне управління
-
управління ЖЦ ІС
-
управління ресурсами
-
управління якістю
Проектні процеси
-
планування
-
оцінка
-
контроль
-
управління ризиками
-
управління конфігурацією
-
управління інформаційними потоками
-
прийняття рішень
Технічні процеси
-
визначення вимог
-
аналіз вимог
-
розробка архітектури
-
впровадження
-
інтеграція
-
верифікація
-
перехід
-
атестація
-
експлуатація
-
супровід
-
утилізація
Договірні процеси
-
купівля
-
постачання
Спеціальні процеси
-
визначення та встановлення взаємозв'язків виходячи із завдань і цілей
11.3.3 ISO/IEC 15289:2017 Systems and software engineering - Content of life-cycle information items (documentation)
Призначений для забезпечення вимог для ідентифікації та планування інформаційних елементів, які мають бути розроблені або модифіковані під час ЖЦ ІС або ПЗ, або під час сервісних процесів
Даний стандарт дає рекомендації для застосування вимог, пов'язаних з процесами, описаними в ISO 12207, ISO15288 та ISO 20000. Остання версія 2017 р.
11.3.4 ISO/IEC 19505:2012 Information technology – Object Management Group Unified Modeling Language (OMG UML)
ISO 19505 визначає UML 2.4.1 як міжнародний стандарт аналізу, проектування та реалізації систем на основі програмного забезпечення.
Найновіша офіційна версія UML 2.5.1 (2017)
Є невід'ємною частиною уніфікованого процесу розробки програмного забезпечення (RUP).
UML є мовою широкого профілю, це відкритий стандарт, що використовує графічні позначення для створення абстрактної моделі системи, називаної UML-моделлю.
11.3.5 ISO/IEC 20000:2017 Information technology - Service management
Визначає вимоги до якості надання IT-послуг, включаючи процеси планування, розробки, переходу, постачання та вдосконалення послуг для задоволення вимог до обслуговування та доставки.
Призначений для використання:
-
клієнтами, які шукають послуги гарантованої якості, які вимагають послідовного підходу до ЖЦ послуг
-
організаціями:
-
для демонстрації здатності до планування, проектування, переходу, надання послуг та для їх поліпшення через ефективне впровадження та функціонування SMS
-
для моніторингу, вимірювання та перегляду своїх SMS та послуг
-
для оцінки відповідності вимогам, зазначеним у цьому документі
-
-
провайдерами для підготовки або консультування з питань управління послугами
11.3.6 Родина стандартів ISO/IEC 27000 - Information technology - Security techniques - Information security management systems (ISMS)
Надають рекомендації щодо організації інформаційної безпеки (ІБ)
ISO 27002:2013
Code of practice for information security controls
Надає рекомендації щодо організації ІБ та методів управління ІБ
ISO 27017:2015
Code of practice for information security controls based on ISO/IEC 27002 for cloud services
Надає рекомендації щодо контролю ІБ при наданні хмарних сервісів
ISO 27018:2019
Code of practice for protection of personally identifiable information (PII) in public clouds acting as PII processors
Встановлює загальноприйняті контрольні цілі, засоби контролю та керівні принципи для впровадження заходів з захисту персональної інформації (PII) відповідно до принципів конфіденційності в ISO 29100 для середовища громадського обчислювального середовища
11.3.7 Група стандартів ISO/IEC 29110 Systems and software engineering - Life cycle profiles for Very Small Entities
Very Small Entities (VSE) – компанії, організації, відділи або проектні групи розміром до 25 осіб
Надає рекомендації щодо організації процесів усього ЖЦ програмної системи вході розробки у малих групах, які є підрядниками більших компаній.
Частина 3
Certification and
Assessment guide
Описує процес, якому потрібно слідувати, для оцінювання можливостей наявних процесів та зрілості організаційного процесу
Частина 5
Management and engineering guide
Надає вказівки щодо впровадження та використання профілю - пакети розгортання (Deployment Packeges)
11.3.8 Група стандартів ISO/IEC 29119 Systems and software engineering - Software testing
Визначає стандарти тестування ПЗ, узгоджені на міжнародному рівні, які можуть бути використані будь-якою організацією при виконанні будь-якої форми тестування ПЗ.
Частина 3
Test documentation
Замінив стандарт IEEE 829-2008 - Software test documentation
Частина 5
Keyword-driven testing
ISO 29119 |
Назва |
Примітка |
Частина 1 |
Concepts and definitions |
|
Частина 2 |
Test processes |
|
Частина 4 |
Test techniques |
|
11.3.9 ISO/IEC 29148:2018 Systems and software engineering - Life cycle processes - Requirements engineering
-
визначає процеси формування вимог до ПЗ або системи (в тому числі послуг) протягом усього ЖЦ
-
вказує, які елементи інформації потрібно створити в ході реалізації вимог, визначає їх вміст та надає рекомендації щодо формату їх подання
-
дає рекомендації для застосування вимог, пов'язаних з процесами, описаними в ISO 12207 та ISO15288
Замінив IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998.
11.3.10 ISO/IEC 90003:2018 Software engineering -- Guidelines for the application of ISO 9001:2015 to computer software
Надає керівництво для застосування організаціями стандарту ISO 9001: 2015 до придбання, постачання, розробки, експлуатації та обслуговування комп'ютерного програмного забезпечення та пов'язаних з ними послуг з підтримки
11.3.11 Інші міжнародні стандарти (https://www.iso.org)
- ISO/IEC/IEEE 24765:2017 Systems and software engineering - Vocabulary – містить словник термінів в галузі ІС та ПЗ.
- ISO 26512:2018 Systems and software engineering - Requirements for acquirers and suppliers of user documentation – огляд процесів забезпечення користувачів послідовною, повною, точною та корисною інформацією.
- ISO 26514:2008 Systems and software engineering - Requirements for designers and developers of user documentation - вимоги для проектування та розробки користувацької документації як частини процесів ЖЦ.
- ISO/IEC 9798-x Information technology - Security techniques – група стандартів з інформаційної безпеки.
- ISO/IEC 29100: Information technology - Security techniques - Privacy framework – визначає загальну термінологію, суб'єктів та їхні ролі в обробці персональної інформації (PII), описує принципи захисту конфіденційності.
- ISO/IEC 330xx Information Technology – Process Assessment – родина стандартів оцінки процесів розробки та супроводу ПЗ.
11.4 Орган стандартизації україни
Державне підприємство “Український науково-дослідний і навчальний центр проблем стандартизації, сертифікації та якості” (ДП “УкрНДНЦ”)
11.5 Державні стандарти україни
На початок 2019 року перелік ДСТУ містив з інформаційних технологій 679 найменувань з інженерії систем і програмного забезпечення 122 найменуваня.
ДСТУ ISO/IEC/IEEE 12207:2018 Інженерія систем і програмних засобів. Процеси життєвого циклу програмних засобів (з 15.08.2018р.).
ДСТУ ISO/IEC/IEEE 15288:2016 Інженерія систем і програмних засобів. Процеси життєвого циклу програмних засобів (з 01.01.2018р.).
ДСТУ ISO/IEC TR 15271:2010 Інформаційні технології. Настанови щодо застосування ISO/IEC 12207 (Процеси життєвого циклу програмного забезпечення) (з 01.07.2012р.).
- ДСТУ ISO/IEC 15289:2014 Інженерія систем і програмного забезпечення. Контент життєвого циклу інформаційної продукції (документації) (з 01.01.2016р.).
- ДСТУ ISO/IEC/IEEE 24765:2017 Інженерія систем і програмних засобів. Словник термінів (з 15.08.2018р.).
- ДСТУ ISO/IEC/IEEE 29148:2015 Розроблення систем і програмного забезпечення. Процеси життєвого циклу. Розроблення вимог (з 01.01.2016р.).
- ДСТУ ISO 15910-2012 – Інформаційні технології. Документування програм. Документація користувача (з 01.07.2018р.).
- ЄСПД 19.ххх – Єдина система програмної документації (діяли до 01.01.2019р).
- ГОСТ 34.ххх – Нормативні вимоги до автоматизованих систем (частково діють).
Державні стандарти україни з інформаційних технологій
11.6 Стандарт CMMІ на зрілість процесів розробки ПЗ
Стандарт міністерства оборони США для вибору підрядника для виконання державних замовлень ПЗ.
- 1984 рік – у США створено Інститут інженерів-розробників програмного забезпечення (Software Engineering Institute, SEI).
- 1986 рік - SEI та корпорація Mitre почали розробку критеріїв оцінки зрілості технологічних процесів – Capability Maturity Model (CMM).
- 1987 р. Software Engineering Institute (SEI) розробив модель огляду зрілості процесів розроблення програмного забезпечення Capability Maturity Model (CMM). Модель розвивалась до 1997 р.
- 2002 р. розроблена Capability maturity model integration (CMMI) v.1.1 – методологія удосконалення процесів організації, спрямована на поліпшення зручності використання моделей зрілості шляхом інтеграції моделей в одну структуру
- 2010 р. вийшла версія 1.3 CMMI, яка містила підтримку гнучкої розробки та безперервної поставки ПЗ
- 2018 р. вийшла версія 2.0 CMMI, яка об’єднала три моделі в одну
Ключове поняття – Зрілість організації (Maturity)
Містить критерії оцінки зрілості компанії та перелік дій для подальшого вдосконалення
11.6.1 Capability Maturity Model Integration (CMMI)
Ключові області процесу (Key Process Area) на рівнях зрілості організації містять-
-
цілі (Goal)
-
обов'язки з виконання (Commitment to Perform)
-
можливість виконання (Ability to Perform)
-
виконувані дії (Activity Performed)
-
їх вимірення та аналіз (Measurement and Analysis)
-
перевірку впровадження (Verifying Implementation)
11.6.2 Рівні CMMI 2.0
11.6.3 Ключові області керованого рівня (CMMI)
-
керування вимогами (Requirements management)
-
планування проекту розробки ПЗ (Software project planning)
-
відслідковування ходу проекту та контроль (Software project tracking and oversight)
-
керування субпідрядниками розробки ПЗ (Software subcontract management
-
забезпечення якості ПЗ (Software quality assurance)
-
керування конфігурацією продукту (Software configuration management)
11.6.4 Ключові області визначеного рівня (CMMI)
-
ключові області попереднього рівня
-
мета впорядкування роботи організації (Organization Process Focus)
-
визначення (стандартного) процесу організації (Organization Process Definition)
-
програма навчання (Training Program)
-
інтегроване управління розробкою ПЗ (Integrated Software Management)
-
технологія розробки програмних продуктів (Software Product Engineering)
-
міжгрупова координація (Intergroup Coordination)
-
експертні оцінки колег (Peer Reviews)
11.6.5 Ключові області кількісно керованого рівня (CMMI)
-
ключові області попереднього рівня
-
кількісне керування процесом (Quantitative Process Management)
-
керування якістю ПЗ (Software Quality Management)
11.6.6 Ключові області рівня оптимізації (CMMI)
-
ключові області попереднього рівня
-
попередження дефектів (Defect Prevention)
-
керування змінами технологій (Technology Change Management)
-
керування змінами процесу (Process Change Management)
11.7 Бібліотека інфраструктури інформаційних технологій (ITIL)
Information Technology Infrastructure Library (ITIL) - сукупність кращих світових практик організації підприємства чи підрозділу, що надає послуги у сфері інформаційних технологій
v.4.0 - лютий 2019р.
Мета - забезпечення гнучкої, скоординованої та інтегрованої системи ефективного управління IT-послугами
11.8 Регламент захисту персональних даних (GDPR)
General Data Protection Regulation (GDPR) - регламент щодо захисту персональних даних (діє в ЄС з 25.05.2018).
Поширюється не тільки на резидентів Євросоюзу, але й на компанії з третіх країн, які обробляють персональні дані європейських громадян.
Визначає, що процедура оцінки впливу на захист даних (Data Protection Impact Assessment, DPIA) повинна виявити високі ризики, які можуть виникнути в процесі обробки персональних даних громадян ЄС і має бути ініційована до початку їх обробки.
11.9 Організації- розробники галузевих стандартів
Асоціація обчислювальної техніки (Association for Computing Machinery, ACM)
Інституту інженерів з радіоелектроніки та електротехніки (Institute of Electrical and Electronics Engineers, IEEE) ieee.org
Рада з системної інженерії (Council on Systems Engineering, INCOSE)
Міжнародний інститут бізнес аналізу (International Institute of Business Analysis, IIBA) iiba.org
Інститут проектного менеджменту (Project Management Institute, PMI) pmi.org
11.10 Галузеві стандарти IEEE
- IEEE 1016-2009 Std for Software Design Descriptions – рекомендації до документів, які описують архітектуру ПЗ.
- IEEE 1012-2016 Std for Software Verification and Validation – стандарт на верифікацію та валідацію ПЗ.
- IEEE 829-2008 Std for Software and System Test Documentation – рекомендації до документів, які описують процес тестування ПЗ.
- IEEE 730-2014 Std for Software Quality Assurance Processes – стандарт містить вимоги щодо ініціювання, планування, контролю та виконання процесів із забезпечення якості ПЗ як під час розроблення, так і під час експлуатації.
11.11 Керівництво до зведення знань з програмної інженерії (SWEBoK)
Guide to the Software Engineering Body of Knowledge, SWEBoK - сукупність знань (15 галузей знань) та практичні рекомендації щодо ведення процесів програмної інженерії. Версія 3.0, 2014р.
Галузі знань (Knowledge Areas) SWEBOK v.3
Software Requirements
-
вимоги до ПЗ
Software Design
-
проектування ПЗ
Software Construction
-
конструювання ПЗ
Software Testing
-
тестування ПЗ
Software Maintenance
-
супровід ПЗ
Software Configuration Management
-
управління конфігурацією
Software Engineering Management
-
керування IT проектом
Software Engineering Process
-
процес програмної інженерії
Software Engineering Tools and Methods
-
методи та засоби
Software Quality
-
якість ПЗ
Software engineering professional practice
-
технології професійної розробки ПЗ
Software engineering economics
-
економіка програмної інженерії
Computing foundations
-
основи обчислювального процесу
Mathematical foundations
-
основи математики
Engineering foundations
-
основи інженерії
11.12 Керівництво до зведення знань з системної інженерії (SEBOK)
Guide to the Systems Engineering Body of Knowledge (SEBoK) надає сукупність ключових галузей знань і посилань з системної інженерії. Постійно оновлюється. Версія 1.9.1, 2018р.
Склад SEBoK v.1.9.1
Introduction
-
вступ
Foundations of Systems Engineering
-
основи системної інженерії
Systems Engineering and Management
-
системна інженерія та управління
Applications of Systems Engineering
-
застосування системної інженерії
Enabling Systems Engineering
-
впровадження системної інженерії
Related Disciplines
-
пов’язані дисципліни
Systems Engineering Implementation Examples
-
приклади застосування системної інженерії
11.13 Керівництво до зведення знань з бізнес аналізу (BABOK)
Guide to the Business Analysis Body of Knowledge (BABoK) описує стандартні підходи до виконання бізнес-аналізу предметної області. Версія 3.0, 2015 р.
Галузі знань (Knowledge Areas) BABoK v.3
Business Analysis Planning and Monitoring
-
опис завдань для організації та координації бізнес-аналізу
Elicitation and Collaboration
-
опис завдань для підготовки та проведення заходів з виявлення та підтвердження результатів
Requirements Life Cycle Management
-
опис завдань для керування та підтримки вимог, а також розробки інформації від початку до виводу із експлуатації
Strategy Analysis
-
опис завдань для ідентифікації потреб бізнесу, вирішення цих потреб і узгодження стратегії змін у межах підприємства
Requirements Analysis and Design Definition
-
опис завдань для організації вимог, визначення та моделювання вимог, проектування, валідації та верифікації інформації, визначення варіантів рішення та оцінки потенційної вартості реалізації
Solution Evaluation
-
опис завдань для оцінки продуктивності та вартості рішення, а також рекомендації щодо збільшення цієї вартості
11.14 Стандарти оформлення коду
Programming style/ Code style/ Coding conventions - сукупність правил стильового оформлення програмного коду, практик та методів написання програм конкретною мовою програмування
Можуть бути:
-
формалізованими
-
неформальними
11.15 Стандарти підприємств на розробку та супровід ПЗ
-
Custom Development Method (методика Oracle) - технологічний матеріал, деталізований до рівня шаблонів проектныих документів прикладних ІС
-
Rational Unified Process (RUP) - ітеративна модель розробоки ІС, створення та супровід моделей на UML
-
Microsoft Solution Framework (MSF) – ітеративна система , передбачає використання об’єктно-орієнтованого моделювання, орієнтована на розробку бізнес-додатків