Transcript
Page 1: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

Инструментально-программный

методический комплекс

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

Технология разработкипрограммного обеспечения

Часть 9.

Разработка программного модуля

Page 2: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

2

9.1. Порядок разработки программного модуля

1. Изучение и проверка спецификации модуля

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

3. Выбор алгоритма и структуры данных.

4. Программирование (кодирование) модуля.

5. Шлифовка текста модуля.

6. Проверка модуля.

7. Компиляция модуля.

Page 3: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

3

9.2. Структурное программирование

Программа должна быть понятной не только компьютеру,

но и человеку:

и разработчик модуля, и лица, проверяющие модуль, и

тестовики, готовящие тесты для отладки модуля, и

сопроводители ПС, осуществляющие требуемые

изменения модуля, вынуждены будут многократно

разбирать логику работы модуля.

Page 4: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

4

Известность Дейкстре принесли его работы в области применения математической логики при разработке компьютерных программ.

Он активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60.

Будучи одним из авторов концепции структурного программирования, он проповедовал отказ от использования инструкции GOTO.

Ему принадлежит идея применения «семафоров» для синхронизации процессов в многозадачных системах и алгоритм нахождения кратчайшего пути на ориентированном графе с неотрицательными весами рёбер, известный как Алгоритм Дейкстры.

В 1972 году Дейкстра стал лауреатом премии Тьюринга.

Э́дсгер Ви́бе Де́йкстра (нидерл. Edsger Wybe Dijkstra;

11 мая 1930 - 6 августа 2002)

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

Page 5: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

5

Э.Дейкстра предложил строить программу как

композицию из нескольких типов управляющих

конструкций (структур), которые позволяют сильно

повысить понимаемость логики работы программы:

• следование,

• разветвление

• повторение

Программирование с использованием только таких

конструкций назвали структурным

Page 6: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

6

Основные управляющие конструкции структурного программирования

S2

S1

Следование

Page 7: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

7

Основные управляющие конструкции структурного программирования

Разветвление

S2S1

PДа Нет

Page 8: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

8

Основные управляющие конструкции структурного программирования

Повторение

S PДа Нет

Page 9: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

9

9.3. Пошаговая детализация. Псевдокод

1. Описание общей схемы работы модуля

2. Уточнение и детализация каждого понятия

3. Получение текста модуля на базовом языке программирования

Основной метод построения текста модуля –

пошаговая детализация

Page 10: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

10

Пошаговая детализация связана с использованием

частично формализованного языка для представления

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

псевдокода

Неформальное обозначение обобщенного оператора на

псевдокоде производится на естественном языке

произвольным предложением, раскрывающим в общих

чертах его содержание.

Page 11: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

11

Внешнее оформление программного модуля на псевдокоде

•начало модуля на базовом языке, т.е. первое предложение или

заголовок (спецификацию) этого модуля;

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

описаний процедур и функций только их внешнее оформление;

•неформальное обозначение последовательности операторов тела

модуля как одного обобщенного оператора, а также неформальное

обозначение тела каждого описания процедуры или функции как

одного обобщенного оператора;

•последнее предложение (конец) модуля на базовом языке.

Page 12: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

12

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

Следование:

обобщенный_операторобобщенный_оператор

Разветвление:

ЕСЛИ условие ТОобобщенный_оператор

ИНАЧЕобобщенный_оператор

ВСЕ ЕСЛИ

Повторение:

ПОКА условие ДЕЛАТЬобобщенный_оператор

ВСЕ ПОКА

Page 13: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

13

Частные случаи оператора перехода в качестве обобщенного оператора

Выход из повторения (цикла):

ВЫЙТИ

Выход из процедуры (функции):

ВЕРНУТЬСЯ

Переход на обработку исключительной ситуации:

ВОЗБУДИТЬ имя_исключения

Page 14: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

14

Пример одного шага детализации на псевдокоде

Page 15: 1_09 - МиСПИСТ (ТРПО Разработка програмного модуля)

15

9.3. Контроль программного модуля

1. Статическая проверка текста модуля;

2. Сквозное прослеживание;

3. Доказательство свойств программного модуля.


Recommended