Студопедия

КАТЕГОРИИ:

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

Интерфейсное проектирование




Целью интерфейсного проектирование является формирование интерфейса пользователя Пользовательский интерфейс объединяет в себе все элементы и компоненты программы, которые способны оказывать влияние на его взаимодействие с программным обеспечением.

Эскизное проектирование

Разрабатываемый программный продукт рассматривается как:

-часть системы обработки информации, включающей аппаратную и программную составляющие

-набор взаимодействующих подсистем

На этой стадии определяется архитектура системы.

Под архитектурой ПСпонимают набор ее внутренних структур, которые видны с различных точек зрения и состоят из:

-компонентов (достаточно произвольный структурный элемент ПС, который можно выделить, определив интерфейс взаимодействия между этим компонентом и всем, что его окружает)

-связей и возможных взаимодействий между компонентами,

доступных извне свойств этих компонентов

Эскизное проектирование обеспечивает:

-идентификацию подсистем

-определение характера взаимодействия подсистем и принципов управления ими

Включает три типа деятельности:

-структурирование системы

-моделирование управления

-декомпозиция подсистем на модули

Результаты эскизного проектирования представляются в виде эскизного проекта (Software Architecture Document).

Стадия эскизного проектирования не является строго обязательной и может быть исключена, если основные проектные решения определены ранее или достаточно очевидны.

Понятие архитектуры ПС

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

-компонентов,

-связей и возможных взаимодействий между компонентами,

-доступных извне свойств этих компонентов.

Под компонентом в этом определении понимается достаточно произвольный структурный элемент ПС, который можно выделить, определив интерфейс взаимодействия между этим компонентом и всем, что его окружает.

Выбор архитектуры ПС задает способ реализации требований на высоком уровне абстракции.

Архитектура ПС почти полностью определяет его:

-надежность,

-переносимость,

-удобство сопровождения.

Архитектура ПС значительно влияет на:

-удобство использования (эргономичность),

-эффективность. Эти характеристики, однако, сильно зависят и от реализации отдельных компонентов.

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

Структурирование системы

Система структурируется на несколько подсистем, являющихся относительно независимыми программными компонентами.

Модели структурирования:

Наиболее часто используются 3 модели системного структурирования (архитектуры):

-модель хранилища данных

-модель клиент-сервер

-многоуровневая модель.

Модель хранилища данных:

Подсистемы разделяют данные, находящиеся в общей памяти и, как правило, представляющие собой базу данных.

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

Модель клиент-сервер:

Решаемые задачи естественно распределяются между инициаторами и обработчиками запросов; возможно изменение внешнего представления данных и способов их обработки.

Используется для распределенных систем и в большинстве бизнес-приложений.

Многоуровневая модель:

Имеется естественное расслоение задач системы на наборы подзадач, которые можно решать последовательно

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

Модульные компоненты

Одним из основных способов разбиения системы на компоненты является модульная декомпозиция.

Программное средство представляется как набор программных модулей.

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

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

Модули могут объединяться в пакеты и, далее, в библиотеки.

Модульная декомпозиция может осуществляться на основе:

-модели потока данных

-модели объектов

В основе модели потока данных лежит разбиение по функциям.

Модель объектов основана на сущностях, имеющих собственные наборы данных, состояния и наборы операций.

Детальное проектирование

На стадии детального проектирования конкретизируются решения архитектурного уровня и производится:

-разработка иерархии классов и структуры базы данных;

-построение алгоритмов для отдельных подзадач;

-поиск и подбор готовых компонентов для реализации некоторых функций системы

Проектирование интерфейса

Целью интерфейсного проектирование является формирование интерфейса пользователя.

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

Элементы интерфейса

-набор задач пользователя, которые он решает при помощи системы;

-используемая системой метафора (например, Рабочий стол в MS Windows®);

-элементы управления системой;

-навигация между блоками системы;

-визуальный дизайн экранов программы;

-отображаемая информация и ее форматы;

-устройства и технологии ввода данных;

-диалоги, взаимодействие и транзакции между пользователем и компьютером;

-обратная связь с пользователем;

-поддержка принятия решений в конкретной предметной области;

-порядок использования программы и документация на нее.

Технический проект

Результаты детального и интерфейсного проектирования представляются в техническом проекте (Software Design Document).

Технический проект должен также содержать оценку экономической эффективности системы и перечень мероприятий по подготовке к ее внедрению.

Шаблоны проектирования

Шаблоны проектирования(паттерн, англ. design pattern) — это многократно применяемая архитектурная конструкция, предоставляющая решение общей проблемы проектирования в рамках конкретного контекста.

Преимущества шаблонов:

-описывают решения целых классов абстрактных проблем;

-позволяют унифицировать терминологию, названия модулей и элементов проекта;

-позволяют повторно использовать удачное решение;

-независимы от применяемого языка программирования.

Шаблоны делятся на:

-Шаблоны анализа(analysis patterns) –представляют собой типовые решения при моделировании сложных взаимоотношений между понятиями некоторой предметной области.

-Архитектурные шаблоны (architectural styles, architectural patterns) представляют собой типовые способы организации системы в целом или крупных подсистем; задают некоторые правила выделения компонентов и реализации взаимодействий между ними.

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

-Идиомы(idioms, programming patterns) являются специфическими для некоторого языка программирования способами организации элементов программного кода, позволяющими решить некоторую часто встречающуюся задачу.

Шаблоны могут применяться на всех стадиях разработки программных систем, способствуя существенному сокращению этих сроков

Описание шаблонов:

При описании шаблона выделяют четыре его составляющих:

Имя

-Позволяет сразу обозначить проблему, пути ее решения и последствия

-Присваивание шаблонам имен позволяет проектировать на более высоком уровне абстракции

-С помощью словаря шаблонов можно вести обсуждение с коллегами, упоминать шаблоны в документации, представлять тонкости системы

Задача

-Описание того, когда следует применять шаблон

-Формулируется задача и ее контекст (например, представить алгоритм в виде объектов)

-Иногда в описание задачи входит перечень условий, при выполнении которых имеет смысл применять шаблон

Решение

-Описание элементов решения, отношений между ними, функций каждого элемента

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

Результаты

Результаты - это следствия применения шаблона и разного рода компромиссы

-Иногда в результатах может быть описан выбор языка и реализации

-В случае проектирования к результатам относят влияние на степень гибкости, расширяемости и переносимости системы

Шаблоны анализа

Шаблоны анализа (analysis patterns) –представляют собой типовые решения при моделировании сложных взаимоотношений между понятиями некоторой предметной области.

Делятся на шаблоны функционального и объектно-ориентированного анализа.

Используются на этапе анализа (предметной области, системного, требований)










Последнее изменение этой страницы: 2018-05-29; просмотров: 182.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...