Поняття системного підходу

Методологічну основу проектування ПЗ становить системний підхід. Під словом «система» розуміється сукупність взаємодіючих компонентів і взаємозв'язків між ними.

Методологія системного підходу дослідження об'єктів будь-якої природи як систем, орієнтована на:

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

• виявлення різноманітних типів зв'язків об'єкта;

• зведення цих зв'язків в єдину картину.

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

ПЗ як система, у свою чергу, є підсистемою деякої інформаційної системи (ІС). У свою чергу, інформаційна система є сукупністю:

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

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

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

З іншого боку, орієнтуючись на різні міжнародні стандарти, ІС можна визначити як сукупність таких складових частин:

• система баз даних (база даних ( БД) разом з системою управління базами даних (СКБД )) ;

• прикладне програмне забезпечення;

• персонал;

• організаційно-методичне (нормативне) забезпечення;

• технічні засоби .

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

 

Сьогодні виробництво ПЗ стало найбільшою галуззю світової економіки, в якій зайнято близько трьох мільйонів фахівців, які є розробниками ПЗ. Ще кілька мільйонів людей займають робочі місця, що прямо залежать від благополуччя корпоративних інформаційних підрозділів або від виробників ПЗ, таких, як корпорації Microsoft або IBM. Загальний обсяг продажів у всьому світі ПЗ перевищує $100 млрд. на рік. Але, на відміну від інших інженерних галузей, створення програмних систем часто виконується на суто інтуїтивному рівні із застосуванням неформалізованих методів, заснованих на мистецтві, практичному досвіді, експертних оцінках і дорогих експериментальних перевірках якості функціонування ПЗ. Крім того, у процесі створення та функціонування ПЗ потреби користувачів постійно змінюються або уточнюються, що ще більше ускладнює розробку та супровід таких систем.

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

 

Рисунок 1 – Відмінність комплексного програмного продукту від програми

 

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

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

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

У 1975 р. Фредерік Брукс, проаналізувавши свій унікальний на ті часи досвід керівництва найбільшим проектом розроблення операційної системи OS/360, визначив перелік невід’ємних властивостей ПЗ: складність , узгодженість , змінюваність і незримість.

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

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

Змінюваність. ПЗ постійно піддається змінам. програмний продукт є частиною середовища додатків, користувачів, законів і комп'ютерів. Всі вони безперервно змінюються, і їх зміни неминуче вимагають змінення програмного продукту .

Незримість. Програмний продукт невидимий. Незримість ПЗ не тільки ускладнює індивідуальний процес проектування, але і серйозно ускладнює спілкування між розробниками.

Сучасні великомасштабні проекти програмних систем характеризуються, як правило, особливостями, поданими на рис. В.2 .

 

 

Рисунок 1 – Особливості сучасних великомасштабних проектів програмних систем

 

Складність ПЗ

 


<== предыдущая лекция | следующая лекция ==>
Процеси життєвого циклу ІС та їх стандарти | Структурная модель предметной области




Дата добавления: 2019-10-16; просмотров: 407;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.