Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Контрольні питання і завдання. Життєвим циклом програмного забезпечення називають період від моменту появи ідеї створення деякого програмного забезпечення до моменту завершення його




Життєвим циклом програмного забезпечення називають період від моменту появи ідеї створення деякого програмного забезпечення до моменту завершення його підтримки фірмою-розробником або фірмою, що виконувала супровід [11].

Тема: ЖИТТЄВИЙ ЦИКЛ І ЕТАПИ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Лекція 2.

Контрольні питання і завдання

1. Назвіть області знань SWEBOK інженерії розробки ПЗ.

2. Приведіть базові поняття SWEBOK.

3. Визначите цілі і завдання області знань – проектування ПЗ.

4. З якими стандартами узгоджуються ядра знань SWEBOK.

5. Який міжнародний стандарт визначає перелік і зміст процесів ЖЦ програмного продукту?

6. Які розділи ядра знань і стандарту найбільш необхідні при розробці програмних систем.


Для розуміння ролі проектування програмного забезпечення важливо розуміти контекст (Context of Software Design), в якому здійснюється проектування і використовуються його результати. В якості такого контексту виступає життєвий цикл програмної інженерії.

Склад процесів життєвого циклу регламентується міжнародним стандартом ISO/ІEC12207:1995 «Information Technologe - Software Life Cycle Processes» («Інформаційні технології - Процеси життєвого циклу програмного забезпечення») [1]. Еквівалентом цього стандарту в Україні є ДСТУ 3918-1999 «Інформаційні технології. Процеси життєвого циклу програмного забезпечення». ISO - InternationalOrganization for Standardization - Міжнародна організація по стандартизації. ІЕС -International Electrotechnical Commission - Міжнародна комісія з електротехніки.

Цей стандарт описує структуру життєвого циклу програмного забезпечення і його процеси. Процес життєвого циклу визначається як сукупність взаємозв'язаних дій, що перетворюють деякі вхідні дані у вихідні [1]. На рис. 2.1 представлені процеси життєвого циклу за вказаним стандартом. Кожен процес характеризується визначеними задачами і методами їх рішення, а також початковими даними і результатами.

Процес розробки (development process) відповідно до стандарту передбачає дії і завдання, що виконуються розробником, і охоплює роботи із створення програмного забезпечення і його компонентів відповідно до заданих вимог, включаючи оформлення проектної і експлуатаційної документації, а також підготовку матеріалів, необхідних для перевірки працездатності і відповідності якості програмних продуктів, матеріалів, необхідних для навчання персоналу, і так далі.

За стандартом процес розробки включає наступні дії:

підготовчу роботу - вибір моделі життєвого циклу (див. далі), стандартів, методів і засобів розробки, а також складання плану робіт;

аналіз вимог до системи - визначення її функціональних можливостей, призначених для користувача вимог, вимог до надійності і безпеки, вимог до зовнішніх інтерфейсів і т. д.;

проектування архітектури системи - визначення складу необхідного устаткування, програмного забезпечення і операцій, що виконуються обслуговуючим персоналом;

аналіз вимог до програмного забезпечення - визначення функціональних можливостей, включаючи характеристики продуктивності, середовища функціонування компонентів, зовнішніх інтерфейсів, специфікацій надійності і безпеки, ергономічних вимог, вимог до використовуваних даних, установки, приймання, призначеної для користувача документації, експлуатації і супроводу;

проектування архітектури програмного забезпечення - визначення структури програмного забезпечення, документування інтерфейсів його компонентів, розробку попередньої версії призначеної для користувача документації, а також вимог до тестів і плану інтеграції;

детальне проектування програмного забезпечення – докладний опис компонентів програмного забезпечення і інтерфейсів між ними, оновлення призначеної для користувача документації, розробка і документування вимог до тестів і плану тестування компонентів програмного забезпечення, оновлення плану інтеграції компонентів;

кодування і тестування програмного забезпечення – розробку і документування кожного компоненту, а також сукупності тестових процедур і даних для їх тестування, тестування компонентів, оновлення призначеної для користувача документації, оновлення плану інтеграції програмного забезпечення;

інтеграцію програмного забезпечення - збір програмних компонентів відповідно до плану інтеграції і тестування програмного забезпечення на відповідність кваліфікаційним вимогам, що є набором критеріїв або умов, які необхідно виконати, щоб кваліфікувати програмний продукт, як відповідний своїм специфікаціям і готовий до використання в заданих умовах експлуатації;

кваліфікаційне тестування програмного забезпечення - тестування програмного забезпечення у присутності замовника для демонстрації його відповідності вимогам і готовності до експлуатації; при цьому перевіряється також готовність і повнота технічної і призначеної для користувача документації

інтеграцію системи - збірку всіх компонентів системи, включаючи програмне забезпечення і устаткування;

кваліфікаційне тестування системи - тестування системи на відповідність вимогам до неї і перевірка оформлення і повноти документації;

установку програмного забезпечення - установку програмного забезпечення на

устаткуванні замовника і перевірку його працездатності;

приймання програмного забезпечення - оцінку результатів кваліфікаційного тестування програмного забезпечення і системи в цілому і документування результатів оцінки сумісне із замовником, остаточну передачу програмного забезпечення замовникові.

Вказані дії можна згрупувати, умовно виділивши наступні основні етапи розробки програмного забезпечення [29] (у дужках вказані відповідні стадії розробки по ГОСТ 19.102-77 «Стадій розробки»):

• постановка завдання (стадія «Технічне завдання»);

• аналіз вимог і розробка специфікацій (стадія «Ескізний проект»);

• проектування (стадія «Технічний проект»);

• реалізація (стадія «Робочий проект»).

Традиційно розробка також включала етап супроводу (початку цього етапу відповідає стадія «Впровадження» по ГОСТ). Проте за міжнародним стандартом відповідно до змін, подіях в індустрії розробки програмного забезпечення, цей процес тепер розглядається окремо.

Умовність виділення етапів пов'язана з тим, що на будь-якому етапі можливе ухвалення рішень, які зажадають перегляду рішень, прийнятих раніше.

Постановка завдання. В процесі постановки завдання чітко формулюють призначення програмного забезпечення і визначають основні вимоги до нього. Кожною вимогою є опис необхідної або бажаної властивості програмного забезпечення.

Розрізняють функціональні вимоги, що визначають функції, які повинні виконувати програмне забезпечення, що розробляється, і експлуатаційні вимоги, що визначають особливості його функціонування.

Вимоги до програмного забезпечення, що має прототипи, зазвичай визначають аналогічно, враховуючи структуру і характеристики вже існуючого програмного забезпечення. Для формулювання вимог до програмного забезпечення, що не має аналогів, іноді необхідно провести спеціальні дослідження, звані передпроектними. В процесі таких досліджень визначають вирішуване завдання, можливо, розробляють методи її рішення (якщо вони нові) і встановлюють найбільш істотні характеристики програмного забезпечення, що розробляється. Для виконання передпроектних досліджень, як правило, укладають договір на виконання науково-дослідних робіт. У будь-якому випадку етап постановки завдання закінчується розробкою технічного завдання, що фіксує принципові вимоги, і ухваленням основних проектних рішень.

Аналіз вимог і визначення специфікацій. Специфікаціями називають точний формалізований опис функцій і обмежень програмного забезпечення, яке розробляється. Відповідно розрізняють функціональні і експлуатаційні специфікації. Сукупність специфікацій є загальною логічною моделлю проектованого програмного забезпечення.

Для отримання специфікацій виконують аналіз вимог технічного завдання, формулюють змістовну постановку завдання, вибирають математичний апарат формалізації, будують модель наочної області, визначають підзадачі і вибирають або розробляють методи їх рішення. Частина специфікацій може бути визначена в процесі передпроектних досліджень і, відповідно, зафіксована в технічному завданні. На цьому етапі також доцільно сформувати тести для пошуку помилок в проектованому програмному забезпеченні, обов'язково вказавши очікувані результати.

Проектування. Основним завданням цього етапу є визначення докладних специфікацій програмного забезпечення, що розробляється. Процес проектування складного програмного забезпечення зазвичай включає:

• проектування загальної структури - визначення основних компонентів і їх взаємозв'язків;

• декомпозицію компонентів і побудову структурних ієрархій відповідно до рекомендаціями блоково-ієрархічного підходу;

• проектування компонентів.

Результатом проектування є детальна модель програмного забезпечення, що розробляється, разом із специфікаціями його компонентів всіх рівнів. Тип моделі залежить від вибраного підходу (структурний, об'єктний або компонентний) і конкретної технології проектування. Проте у будь-якому випадку процес проектування охоплює як проектування програм (підпрограм) і визначення взаємозв'язків між ними, так і проектування даних, з якими взаємодіють ці програми або підпрограми.

Прийнято розрізняти також два аспекти проектування:

• логічне проектування, яке включає ті проектні операції, які безпосередньо не залежать від наявних технічних і програмних засобів, складових середовища функціонування майбутнього програмного продукту;

• фізичне проектування - прив'язка до конкретних технічних і програмних засобів середовища функціонування, тобто облік обмежень, визначених в специфікаціях.

Реалізація. Реалізація є процесом поетапного написання коду програми на вибраній мові програмування (кодування), їх тестування і відладку.

Супровід. Супровід - це процес створення і впровадження нових версій програмного продукту. Причинами випуску нових версій можуть служити:

• необхідність виправлення помилок, виявлених в процесі експлуатації попередніх версій;

• необхідність вдосконалення попередніх версій, наприклад, поліпшення інтерфейсу, розширення складу виконуваних функцій або підвищення його продуктивності;

• зміна середовища функціонування, наприклад, поява нових технічних засобів і/або програмних продуктів, з якими взаємодіє супроводжуване програмне забезпечення.

На цьому етапі в програмний продукт вносять необхідні зміни, які так само, як в решті випадків, можуть зажадати перегляду проектних рішень, прийнятих на будь-якому попередньому етапі. Із зміною моделі життєвого циклу програмного забезпечення (див. далі) роль цього етапу істотно зросла, оскільки продукти тепер створюються ітераційно: спочатку випускається порівняно проста версія, потім наступна з великими можливостями, потім наступна і так далі. Саме це і послужило причиною виділення етапу супроводу в окремий процес життєвого циклу відповідно до стандарту 1SO/IEC 12207 [1].

Даний стандарт тільки називає і визначає процеси життєвого циклу програмного забезпечення, не конкретизуючи в деталях, як реалізовувати або виконувати дії і завдання, включені в ці процеси. Ці питання регламентуються відповідними методами, методиками і тому подібне. Перш, ніж перейти до докладного розгляду останніх, проаналізуємо еволюцію схем розробки програмного забезпечення від моменту їх появи до теперішнього часу.

1. Що називають життєвим циклом ПЗ?

2. Який міжнародний стандарт регламентує склад процесів життєвого циклу ПЗ?

3. Що таке процес життєвого циклу ПЗ і чим він характеризується?

4. Які дії включає процес розробки ПЗ?

5. Назвіть етапи та стадії розробки ПЗ?

6. Що таке специфікації?





Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 891; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.