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

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

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






Архітектурою програмного забезпечення називають сукупність базових концепцій (принципів) його побудови [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; просмотров: 2808. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

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

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

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

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