Студопедия — Вибір архітектури програмного забезпечення
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Вибір архітектури програмного забезпечення






Архітектурою програмного забезпечення називають сукупність базових концепцій (принципів) його побудови [11]. Архітектура програмного забезпечення визначається складністю вирішуваних завдань, ступенем універсальності програмного забезпечення, що розробляється, і числом користувачів, що одночасно працюють з однією його копією. Розрізняють:

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

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

Крім того, в рамках однокористувацької архітектури розрізняють:

• програми;

• пакети програм;

• програмні комплекси;

• програмні системи.

Багатокористувацьку архітектуру реалізують системи, побудовані за принципом «клієнт-сервер».

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

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

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

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

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

Вибір типу призначеного для користувача інтерфейсу. Розрізняють чотири типи призначених для користувача інтерфейсів:

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

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

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

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

Тип призначеного для користувача інтерфейсу багато в чому визначає складність і трудомісткість розробки, які істотно зростають в порядку перерахування типів. До 80% програмного коду може реалізовувати саме призначений для користувача інтерфейс [37]. Тому зрозуміло, що на ранніх стадіях навчання програмуванню реалізують в основному примітивні інтерфейси і меню, хоча вони і не зручні для користувачів.

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

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

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

Розрізняють дві технології:

однодокументна, яка припускає однодокументний інтерфейс (SDI – Single Document Interface);

багатодокументна, яка припускає багатодокументний інтерфейс (MDI – Multiple Document Interface).

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

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

Вибір підходу до розробки. Якщо вибраний інтерфейс з вільною навігацією або прямого маніпулювання, то, як указувалося вище, це практично однозначно припускає використання подієвого програмування і об'єктного підходу, оскільки сучасні середовища візуального програмування, такі як Visual C++, Delphi, Builder C++ і подібні до них надають інтерфейсні компоненти саме у вигляді об'єктів бібліотечних класів. При цьому залежно від складності наочної області програмне забезпечення може реалізовуватися як з використанням об'єктів і, відповідно, класів, так і чисто процедурно. Виняток становлять випадки використання спеціалізованих мов розробки Інтернет-додатків, таких як Perl, побудованих по абсолютно іншому принципу.

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

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

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

Вибір мови програмування. В більшості випадків жодної проблеми вибору мови програмування реально не існує. Мова може бути визначена:

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

• програмістом, який по можливості завжди використовуватиме добре знайому мову;

• усталеною думкою («всі розробки подібного роду повинні виконуватися на C++ або на Java або на...») і т. п

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

універсальні мови високого рівня;

• спеціалізовані мови розробника програмного забезпечення;

• спеціалізовані мови користувача;







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



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

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

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия