Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
45
Добавлен:
01.06.2015
Размер:
3.14 Mб
Скачать

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

(Software engineering)

Учебный курс

очного обучения по специальностям 220400 «Программное обеспечение вычислительной техники и автоматизированных систем»

351500 «Математическое обеспечение и администрирование информационных систем» кафедры

Л Е К Ц И Я

4.1

МОП ЭВМ

8 семестр

Основы

проектирования программных систем

Архитектурное,

структурное,

модульное

В.В.Хашковский, к.т.н., доц. каф. МОП ЭВМ ТРТУ

Д.П.Калачев, доц., к.т.н., доц. каф. МОП ЭВМ

ТРТУ

Основы проектирования программных систем

Содержание раздела. Использованные источники

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

Методы разработки структуры программы. Нисходящие и восходящие методы. Разработка компонентов программы. Модуль. Внешние спецификации модуля. Способы описания

спецификаций. Проектирование логики модуля.

Документирование модуля.

1. Иан Соммервилл. Инженерия программного обеспечения, 6-е издание. Пер. с англ. – М.: Изд. дом «Вильямс», 2002.

2. Орлов С.А. Технологии разработки программного обеспечения: Учебник. – СПб.: Питер, 2002.

3. Брауде Э. Технология разработки программного обеспечения. – СПб.: Питер, 2004.

4. Е.А. Жоголев. Материалы по курсу «Технология программирования». Кафедра системного программирования, факультет ВМиК МГУ

5. Г.Майерс. Надежность программного обеспечения. М.: Мир, 1980

© 2005, В.В.Хашковский, Д.П.Калачев.

2

Основы проектирования программных систем Цели изучения и рассматриваемые вопросы

Цель — познакомить с архитектурой программного обеспечения и концепциями архитектурного проектирования:

понимать, для чего необходимо архитектурное проектирование ПО;

знать различные модели, используемые при документировании системной архитектуры;

иметь представление о разных типах архитектур ПО: структурной модели системы, модели системной декомпозиции по управлению и модели модульной декомпозиции;

Содержание:

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

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

Модульная декомпозиция

© 2005, В.В.Хашковский, Д.П.Калачев.

3

Основы проектирования программных систем Вспомним

Процесс конструирования ПО:

Анализ – что должна делать система ?

Синтез – каким образом система будет делать то, что от нее требуется?

проектирование

кодирование

тестирование

Сопровождение - …

Аксиома разработки:

может быть плохая ПС при хорошем проектировании, но не может быть хорошей ПС при плохом проектировании.

© 2005, В.В.Хашковский, Д.П.Калачев.

4

Основы проектирования программных систем Особенности процесса синтеза ПС

Модель анализа:

Информационная

Функциональная

Поведенческая

Процедурная

разработка

Программные

модули

проектирование

Разработка Разработка архитектурная данных

кодирование

тестирование

Проверенная программная система

© 2005, В.В.Хашковский, Д.П.Калачев.

5

Основы проектирования программных систем

Особенности этапа проектирование

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

Требования

 

Архитектура программ и данных

Структуры данных и

 

алгоритмы программ

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

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

Информационные связи процесса проектирования

© 2005, В.В.Хашковский, Д.П.Калачев.

6

Понятие архитектуры программного средства Этап архитектурного проектирование

Большие системы всегда можно разбить на подсистемы, предоставляющие связанные наборы сервисов.

Архитектурным (предварительным) проектированием

называют первый этап процесса проектирования, на котором

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

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

Разработка архитектуры является первым этапом борьбы со сложностью ПС, на котором реализуется принцип выделения относительно независимых компонент.

© 2005, В.В.Хашковский, Д.П.Калачев.

7

Этап архитектурного проектирование Понятие архитектуры программного средства

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

Основные задачи разработки архитектуры ПС:

Выделение программных подсистем и отображение на них внешних функций (заданных во внешнем описании) ПС;

определение способов взаимодействия между выделенными программными подсистемами.

© 2005, В.В.Хашковский, Д.П.Калачев.

8

Этап архитектурного проектирование Результат архитектурного проектирования

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

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

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

2.Динамическая модель процессов, в которой представлена организация процессов во время работы системы.

3.Интерфейсная модель, которая определяет сервисы, предоставляемые каждой подсистемой через общий интерфейс.

4.Модели отношений, в которых показаны взаимоотношения между частями системы, например поток данных между подсистемами.

© 2005, В.В.Хашковский, Д.П.Калачев.

9

Этап архитектурного проектирование Процессы архитектурного проектирования

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

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

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

Моделирование управления. Разрабатывается базовая модель управления взаимоотношениями между частями системы.

Модульная декомпозиция. Каждая определенная на первом этапе подсистема разбивается на отдельные модули. Здесь определяются типы модулей и типы их взаимосвязей.

Как правило, эти этапы перемежаются и накладываются друг на друга. Этапы повторяются для все более детальной проработки архитектуры до тех пор, пока

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

© 2005, В.В.Хашковский, Д.П.Калачев.

10

Соседние файлы в папке Материал Курса