І О Ушакова - Основи системного аналізу об'єктів і процесів комп'ютеризації - страница 3

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44 

операцій обробки інформації

Організаційно-методичне забезпечення операцй:

1.  Стандарти.

2.  ЄСКК.

3.  УСД.

4.  Моделі опису й аналізу потоків інформації іт. д.

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

програм, підтримки

процесу документування проекту і т. д.

Типові проектні рішення функціональні пакети прикладних програм,

типові проектиРис. 6. Засоби проектування Комп'ютерні засоби проектування можуть застосовуватися як на окремих, так і на всіх стадіях та етапах процесу проектування ІС і відповідно підтримують розробку елементів проекту системи, розділівпроекту системи, проекту системи в цілому. Усю множину комп'ютерних засобів проектування залежно від їх призначення поділяють таким чином:

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

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

До засобів загальносистемного призначення відносяться:

системи управління базами даних;

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

інтегровані ППП (інтерактивне середовище із вбудованими діалоговими можливостями, що дозволяє інтегрувати перераховані вище програмні засоби).

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

Функціональні засоби проектування спрямовані на розробку автоматизованих систем, які реалізують функції, комплекси завдань і зав-дання управління. Різноманітність предметних областей породжує різноманітність даних засобів, орієнтованих на:

тип організаційної системи (промислова, непромислова сфери);

рівень управління (наприклад, підприємство, цех, відділ, ділянка,робоче місце);

функцію управління (планування, облік і т. д.).

До функціональних засобів проектування систем обробки інформації відносяться:

типові проектні рішення;

функціональні пакети прикладних програм;

типові проекти.

Засоби автоматизації проектування (CASE-засоби) підтримують проектування на стадіях і етапах створення ІС. Термін CASE (Computer Aided System/Software Engineering) тлумачиться досить широко - від автоматизації розробки програмного забезпечення до розробки складних ІС в цілому. Сучасні CASE-засоби, у свою чергу, класифікуються в основ­ному за двома ознаками:

за охоплюваними етапами процесу розробки ІС;

за ступенем інтегрованості:

окремі локальні засоби (tools),

набір неінтегрованих засобів, що охоплюють більшість етапів роз­робки ІС (toolkit);

цілком інтегровані засоби, пов'язані загальною базою проектних да­них репозиторієм (workbench).

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

1.   Сформулюйте мету проектування ІС.

2.   Дайте визначення поняття "проект ІС".

3.   Що розуміють під проектуванням ІС?

4.   Дайте визначення основних компонентів проектування: "об'єкт", "суб'єкт", "предметна область"?

5.   Які компоненти включає технологія проектування ІС?

6.   Що таке технологічний процес проектування ІС?

7.   Які вимоги висуваються до технології проектування ІС?

8.   Що є технологічною операцією проектування ІС? Визначте види технологічних операцій проектування. Наведіть приклади.

9.   Дайте формальне визначення технологічної операції.

10.        Охарактеризуйте компоненти формального визначення
технологічної операції.

11.   Що таке технологічна мережа проектування?

Що таке канонічна технологічна мережа проектування?13.       Для чого застосовуються технологічні операції-агрегати?
Наведіть їх приклади.

14.   Що таке методологія проектування ІС?

15.   Наведіть класифікацію методів проектування ІС.

16.   Які ознаки характеризують канонічне проектування ІС?

17.   Які ознаки характеризують автоматизоване проектування ІС?

18.   Які ознаки характеризують типове проектування ІС?

19.   Що таке індустріальне проектування ІС?

20.   Наведіть класифікацію засобів проектування ІС, супроводжуючи її прикладами.

9. Програмна інженерія 9.1. Поняття життєвого циклу програмного продукту 9.1.1. Життєвий цикл промислового виробу

На початку 70-х років минулого століття виникла криза програмування, суть якої полягала в наступному. Зростання складності й масштабів проектів призвело до того, що в процесі розробки програмних проектів:

порушувалися терміни розробки;

перевищувалися заплановані обсяги фінансування;

отримані результати не відповідали вимогам замовника;

супровід програмних продуктів вимагав більше коштів, ніж сама роз­робка;

частина проектів взагалі не доводилися до завершення.

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

Методологічну основу промислової інженерії складає поняття життєвого циклу виробу (продукту) як сукупності всіх дій, які треба виконати впродовж всього "життя" виробу. Суть життєвого циклу полягає у взаємопов'язаній сукупності всіх цих дій.

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

Промислові вироби характеризуються початковим (Сп), цільовим (Сц) і кінцевим (Ск) станами.

Початковим станом виробу є момент виникнення задуму (ідеї) або початку фінансування процесу його проектування (створення).

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

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

Упорядкована сукупність змін стану виробу між початковим і кінцевим станами називається життєвим циклом (ЖЦ) виробу:

 

Сп Сц Ск.

 

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

Кінцевих цілей продукту може бути декілька, тому в загальному випадку цільовий стан можна подати у вигляді сукупності цілей:

 

Сц = {Сц-, Сц2,...Сцп}.

 

Одна чи декілька цілей з огляду на низку причин може не виконуватися, і система може перейти в один із кінцевих станів:

 

Ск = {Ск-,, Ск2,...Скп}.

 

9.1.2. Визначення програмної інженерії'

 

Програмна інженерія (або технологія програмування) як певний напрям   виникла   і   формувалася   під   тиском   зростання вартостістворюваного програмного забезпечення. Головна мета програмної інженерії - скорочення вартості й термінів розробки програм.

Термін "програмна інженерія" ("software engineering") з'явився в жовтні 1968 року на конференції підкомітету НАТО з науки і техніки, що проходила в Германії. На ній були присутні розробники програмного забезпечення (ПЗ) з 11 країн. Розглядалися проблеми проектування, розробки, поширення й підтримки програм. Термін "програмна інженерія" був поданий як певна дисципліна, яку треба створювати і якою треба керуватися у вирішенні проблем, пов'язаних із розробкою ПЗ.

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

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

Створення програмних продуктів пов'язане з обмеженнями ресурсів: часових, фінансових і організаційних (устаткування, техніки, людей), тобто програмний продукт повинен бути створений у встановлені терміни, в рамках виділених коштів, устаткування і людей. Це стосується як створення замовлених продуктів, що передбачається умовами договору, так і створення коробкових продуктів, що пов'язано з ринковою конкуренцією продуктів.

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

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

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

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

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

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

фаза створення зразка практично відсутня, оскільки кодування можна вважати елементом проектування.

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

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

Прямим наслідком відсутності можливості "теоретичного" контролю проекту є те, що тестування продукту - це єдиний спосіб переконатися в його якості. Саме тому вартість тестування складає істотну частину вартості ПЗ (рис. 7). Так на практиці, формулювання вимог і умов розробки проекту (специфікація вимог) становить 15% від
вартості проекту, розробка й верифікація проекту (проектування) - 25%, кодування та тестування компонент програми (розробка) - 20%, а об'єднання і складальне тестування продукту (інтеграція і тестування) -40%. (Передбачається що роботи супроводу включені таким чином: виправлення помилок - до продовження тестування, а внесення змін - до нового проекту.)

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

 

9.1.3. Особливості життєвого циклу програмного продукту

 

Основу програмної інженерії складає поняття життєвого циклу програмного продукту. Під життєвим циклом програмного продукту (SLC - Software Lifetime Cycle) розуміють послідовність фаз (стадій, етапів) які необхідно виконати в процесі створення й експлуатації ПЗ.

Концепція життєвого циклу програмного продукту була запропонована в 1968 р. в Лондоні на зустрічі керівників проектів з розробки програмногозабезпечення. Потім у 1970 р. у. у. Ройсом були ідентифіковані окремі стадії в типовому циклі програмного продукту. Контроль за виконанням виділених стадій повинен був привести до підвищення якості ПЗ і скорочення вартості розробки.

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44 


Похожие статьи

І О Ушакова - Соціальні мережі як засіб впливу на взаємовідносини з клієнтами

І О Ушакова - Основи системного аналізу об'єктів і процесів комп'ютеризації

І О Ушакова - Практикум з навчальної дисципліни основи системного аналізу об'єктів і процесів комп'ютеризації

І О Ушакова - Робоча програма навчальної дисципліни Проектування інформаційних систем

І О Ушакова - Робоча програма навчальної дисципліни системний аналіз для студентів напряму підготовки 6 050101 комп'ютерні науки