конспект лекцій (ТСПП). Конспект лекцій з дисципліни 07 технологія створення програмних продуктів напряму 050101 Компютерні науки
Скачать 14.87 Mb.
|
2.4. Вибір архітектури програмного забезпечення. Структура і формат даних.Вибір архітектури програмного забезпечення У технології програмування немає чіткого визначення архітектури ПО. Приведемо деякі з тих, що зустрічаються в літературі. Архітектурою програмного забезпечення називають сукупність базових концепцій (принципів) його побудови. Архітектура ПС - це його будова, як воно видно (чи повинно бути видно) ззовні його, т. е. представлення ПС як системи, що складається з деякої сукупності взаємодіючих підсистем. Архітектура програми або комп'ютерної системи – це структура або структури системи, які включають елементи програми, видимі ззовні властивості цих елементів і зв'язку між ними. Архітектура - це структура організації і пов'язана з нею поведінка системи. Архітектуру можна рекурсивно розібрати на частини, що взаємодіють за допомогою інтерфейсів, зв'язки, які сполучають частини, і умови зборки частин. Частини, які взаємодіють через інтерфейси, включають класи, компоненти і підсистеми. Архітектура програмного забезпечення системи або набору систем складається з усіх важливих проектних рішень з приводу структур програми і взаємодій між цими структурами, які складають системи. Проектні рішення забезпечують бажаний набір властивостей, які повинна підтримувати система, щоб бути успішною. Проектні рішення надають концептуальну основу для розробки системи, її підтримки і обслуговування. Як ми бачимо, вибір архітектури ПО, що розробляється, визначається завданнями, поставленими перед розробниками, функціональними і експлуатаційними вимогами. З точки зору кількості користувачів, що працюють з однією копією ПО, розрізняють:
Крім того, у рамках розрахованої на одного користувача архітектури розрізняють:
Розраховану на багато користувачів архітектуру реалізують системи, побудовані за принципом "клієнт - сервер". Основні класи архітектури програмних засобів. Розрізняють наступні основні класи архітектури програмних засобів:
Цілісна програма представляє вироджений випадок архітектури ПС : до складу ПС входить тільки одна програма. Таку архітектуру вибирають зазвичай у тому випадку, коли ПС повинне виконувати одну яку-небудь яскраво виражену функцію і її реалізація не представляється занадто складною. Природно, що така архітектура не вимагає якого-небудь опису (окрім фіксації класу архітектури), оскільки відображення зовнішніх функцій на цю програму тривіально, а визначати спосіб взаємодії не вимагається (через відсутність якої-небудь зовнішньої взаємодії програми, окрім як взаємодії її з користувачем, а останнє описується в документації по застосуванню ПС). Комплекс автономно виконуваних програм складається з набору програм, такого, що:
Таким чином, програми цього набору по управлінню ніяк не взаємодіють - взаємодія між ними здійснюється тільки через загальне інформаційне середовище. Шарувата програмна система складається з деякої впорядкованої сукупності програмних підсистем, званих шарами, такий, що:
Таким чином, в шаруватій програмній системі кожен шар може реалізувати деяку абстракцію даних. Зв'язки між шарами обмежені передачею значень параметрів звернення кожного шару до суміжного знизу шарую і видачею результатів цього звернення від нижнього шару верхньому. Неприпустимо використання глобальних даних декількома шарами. Як приклад розглянемо використання такої архітектури для побудови операційної системи. Таку архітектуру застосував Дейкстра при побудові операційної системи THE. Ця операційна система складається з чотирьох шарів. На нульовому шарі здійснюється обробка усіх переривань і виділення центрального процесора програмам (процесам) в пакетному режимі. Тільки цей рівень обізнаний про мультипрограмні аспекти системи. На першому шарі здійснюється управління сторінковою організацією пам'яті. Усім вищестоящим шарам надається віртуальна безперервна (не сторінкова) пам'ять. На другому шарі здійснюється зв'язок з консоллю (пультом управління) оператора. Тільки цей шар знає технічні характеристики консолі. На третьому шарі здійснюється буферизація вхідних і вихідних потоків даних і реалізуються так звані абстрактні канали введення і виводу, так що прикладні програми не знають технічних характеристик пристроїв введення і виводу. |