- •28. Предпроектные исследования предметной области.
- •29. Техническое задание. Основные разделы.
- •30. Архитектура программного обеспечения.
- •31. Тип пользовательского интерфейса.
- •32. Выбор языка и среды программирования
- •1). Выбор языка программирования.
- •33. Спецификация программного обеспечения при структурном подходе.
- •34. Язык описания разработки программных продуктов uml.
- •35. Тестирование программного обеспечения.
30. Архитектура программного обеспечения.
Архитектурой программного обеспечения называют совокупность базовых концепций его построения. Архитектура программного обеспечения определяется сложностью решаемых задач, степенью универсальности разрабатываемого программного обеспечения и числом пользователей, одновременно работающих с одной его копией.
Различают:
однопользовательскую архитектуру:
программы;
пакеты программ;
программные комплексы;
программные системы.
многопользовательскую архитектуру (Многопользовательскую архитектуру реализуют системы, построенные по принципу «клиент-сервер»)
(Однопользовательская архитектура ) Программой называют адресованный компьютеру набор инструкций, точно описывающий последовательность действий, которые необходимо выполнить для решения конкретной задачи. Это самый простой вид архитектуры, который обычно используется при решении небольших задач.
(Однопользовательская архитектура ) Пакеты программ представляют собой совокупность программ, решающих задачи некоторой прикладной области. Пакет программ реализуют как набор отдельных программ, каждая из которых сама вводит необходимые данные и выводит результаты (это некоторая библиотека программ).
(Однопользовательская архитектура ) Программные комплексы представляют собой совокупность программ, совместно обеспечивающих решение небольшого класса сложных задач одной прикладной области. Вызов программ в программном комплексе осуществляется специальной программой – диспетчером. Программы в этом случае могут реализовываться как отдельно, так и как совместно компилируемые программные единицы.
(Однопользовательская архитектура ) Программные системы представляют собой организованную совокупность программ (подсистем), позволяющую решать широкий класс задач из некоторой прикладной области. Программные системы обычно имеют развитые пользовательский и внутренние интерфейсы, что требует их тщательного проектирования.
Многопользовательские программные системы в отличие от обычных программных систем должны организовывать сетевое взаимодействие отдельных компонентов программного обеспечения, что еще усложняет процесс его разработки. Для разработки подобного программного обеспечения используют специальные технологии или платформы, например, технологии CORBA, COM, Java и т.п.
31. Тип пользовательского интерфейса.
Различают четыре типа пользовательских интерфейсов:
Примитивные – реализуют единственный сценарий работы;
меню – реализуют множество сценариев работы, операции которых организованы в иерархические структуры;
со свободной навигацией – реализуют множество сценариев, операции которых не привязаны к уровням иерархии, и предполагают определение множества возможных операций на конкретном шаге работы; интерфейсы данной формы в основном используют Windows-приложения;
прямого манипулирования – реализуют множество сценариев, представленных в операциях над объектами, основные операции инициируются перемещением пиктограмм объектов мышью, данная форма реализована в интерфейсе самой операционной системы Windows альтернативно интерфейсу со свободной навигацией.
Тип пользовательского интерфейса во многом определяет сложность и трудоемкость разработки, которые существенно возрастают в порядке перечисления типов.
Появление объектно-ориентированных визуальных сред разработки программного обеспечения, использующих событийный подход к программированию и в основном рассчитанных на создание интерфейсов со свободной навигацией, существенно снизило трудоемкость разработки подобных интерфейсов и упростило реализацию интерфейсов прямого манипулирования.
Кроме того, выбор типа интерфейса включает выбор технологии работы с документами. Различают две технологии:
однодокументная, которая предполагает однодокументный интерфейс (SDI – Single Document Interface);
многодокументная, которая предполагает многодокументный интерфейс (MDI – Multiple Document Interface).
Трудоемкость реализации многодокументных интерфейсов с использованием современных библиотек примерно на 3...5 % выше, чем первого.
