Архитектура программного обеспечения.



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

Различают:

• однопользовательскую архитектуру:

• программы;

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

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

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

• многопользовательскую архитектуру (Многопользовательскую архитектуру реализуют системы, построенные по принципу «клиент-сервер»)

(Однопользовательская архитектура ) Программа- адресованный компьютеру набор инструкций, точно описывающий последовательность действий, которые необходимо выполнить для решения конкретной задачи. Это самый простой вид архитектуры, который обычно используется при решении небольших задач.

Пакеты программ - совокупность программ, решающих задачи некоторой прикладной области. Пакет программ реализуют как набор отдельных программ, каждая из которых сама вводит необходимые данные и выводит результаты (это некоторая библиотека программ).

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

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

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

Тип пользовательского интерфейса.

Различают четыре типа ПИ:

· Примитивные  – реализуют единственный сценарий работы;

· менюреализуют множество сценариев работы, операции которых организованы в иерархические структуры;

· со свободной навигацией– реализуют множество сценариев, операции которых не привязаны к уровням иерархии, и предполагают определение множества возможных операций на конкретном шаге работы; интерфейсы данной формы в основном используют Windows-приложения;

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

Тип ПИ во многом определяет сложность и трудоемкость разработки, которые существенно возрастают в порядке перечисления типов.

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

ТАКЖЕ, выбор типа интерфейса включает выбор технологии работы с документами. Различают две технологии:

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

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

Трудоемкость реализации многодокументных интерфейсов с использованием современных библиотек примерно на 3...5 % выше, чем первого.

Выбор языка и среды программирования.

Выбор языка программирования.

Все сущ-е языки программирования можно разделить на:

• универсальные языки высокого уровня;

• С и С++

• Object Pascal, использованная в среде Delphi

• Basic

• Modula

• Ada

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

• языки баз данных;

• языки создания сетевых приложений;

• языки создания систем искусственного интеллекта и т.д.

• специализированные языки пользователя (обычно являются частью профессиональных сред пользователя,характеризуются узкой направленностью и разработчиками программного обеспечения не используются);

• языки низкого уровня.

• языки типа Ассемблера.

Универсальные языки высокого уровня имеют ряд существенных достоинств:

• многоплатформенность;

• наличие операторов, реализующих основные структурные алгоритмические конструкции;

• возможность программирования на низком уровне;

• огромные библиотеки подпрограмм и классов.

(Каждый из указанных выше языков, имеет свои особенности и, соответственно, свою область применения)

Специализированные языки разработчика - для создания конкретных типов ПО.

Специализированные языки пользователя - являются частью профессиональных сред пользователя, характеризуются узкой направленностью и разработчиками ПО не используются.

Языки низкого уровня позволяют осуществлять программирование практически на уровне машинных команд. Эти языки не годятся для создания больших программ и программных систем (низкий уровень абстракций)

2). Выбор среды программирования. Среда программир-я - программный комплекс, который включает спец-ый текстовый редактор, встроенные компилятор, компоновщик, отладчик, справочную систему и другие программы, использование которых упрощает процесс написания и отладки программ.

Наиболее часто используемыми являются визуальные среды Delphi, C++ Builder фирмы Borland (Inprise Corporation), Visual C++, Visual Basic.

М/у основными визуальными средами этих фирм Delphi, C++ Builder и Visual C++ имеется существенное различие: визуальные среды фирмы Microsoft обеспечивают более низкий уровень программирования «под Windows». Достоинство –уменьшается вероятность возникновения «нестандартной» ситуации, недостаток –существенно загружает программиста «рутинной» работой.

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


Дата добавления: 2018-02-15; просмотров: 906; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!