View
232
Download
10
Category
Preview:
DESCRIPTION
Â
Citation preview
Инструментально-программный
методический комплекс
Методы и средства проектирования информационных систем и технологий
Технология разработкипрограммного обеспечения
Часть 9.
Разработка программного модуля
2
9.1. Порядок разработки программного модуля
1. Изучение и проверка спецификации модуля
2. Выбор языка программирования.
3. Выбор алгоритма и структуры данных.
4. Программирование (кодирование) модуля.
5. Шлифовка текста модуля.
6. Проверка модуля.
7. Компиляция модуля.
3
9.2. Структурное программирование
Программа должна быть понятной не только компьютеру,
но и человеку:
и разработчик модуля, и лица, проверяющие модуль, и
тестовики, готовящие тесты для отладки модуля, и
сопроводители ПС, осуществляющие требуемые
изменения модуля, вынуждены будут многократно
разбирать логику работы модуля.
4
Известность Дейкстре принесли его работы в области применения математической логики при разработке компьютерных программ.
Он активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60.
Будучи одним из авторов концепции структурного программирования, он проповедовал отказ от использования инструкции GOTO.
Ему принадлежит идея применения «семафоров» для синхронизации процессов в многозадачных системах и алгоритм нахождения кратчайшего пути на ориентированном графе с неотрицательными весами рёбер, известный как Алгоритм Дейкстры.
В 1972 году Дейкстра стал лауреатом премии Тьюринга.
Э́дсгер Ви́бе Де́йкстра (нидерл. Edsger Wybe Dijkstra;
11 мая 1930 - 6 августа 2002)
Выдающийся нидерландский учёный, идеи которого оказали огромное влияние на развитие компьютерной индустрии.
5
Э.Дейкстра предложил строить программу как
композицию из нескольких типов управляющих
конструкций (структур), которые позволяют сильно
повысить понимаемость логики работы программы:
• следование,
• разветвление
• повторение
Программирование с использованием только таких
конструкций назвали структурным
6
Основные управляющие конструкции структурного программирования
S2
S1
Следование
7
Основные управляющие конструкции структурного программирования
Разветвление
S2S1
PДа Нет
8
Основные управляющие конструкции структурного программирования
Повторение
S PДа Нет
9
9.3. Пошаговая детализация. Псевдокод
1. Описание общей схемы работы модуля
2. Уточнение и детализация каждого понятия
3. Получение текста модуля на базовом языке программирования
Основной метод построения текста модуля –
пошаговая детализация
10
Пошаговая детализация связана с использованием
частично формализованного языка для представления
указанных описаний, который получил название
псевдокода
Неформальное обозначение обобщенного оператора на
псевдокоде производится на естественном языке
произвольным предложением, раскрывающим в общих
чертах его содержание.
11
Внешнее оформление программного модуля на псевдокоде
•начало модуля на базовом языке, т.е. первое предложение или
заголовок (спецификацию) этого модуля;
•раздел (совокупность) описаний на базовом языке, причем вместо
описаний процедур и функций только их внешнее оформление;
•неформальное обозначение последовательности операторов тела
модуля как одного обобщенного оператора, а также неформальное
обозначение тела каждого описания процедуры или функции как
одного обобщенного оператора;
•последнее предложение (конец) модуля на базовом языке.
12
Основные конструкции структурного программирования на псевдокоде
Следование:
обобщенный_операторобобщенный_оператор
Разветвление:
ЕСЛИ условие ТОобобщенный_оператор
ИНАЧЕобобщенный_оператор
ВСЕ ЕСЛИ
Повторение:
ПОКА условие ДЕЛАТЬобобщенный_оператор
ВСЕ ПОКА
13
Частные случаи оператора перехода в качестве обобщенного оператора
Выход из повторения (цикла):
ВЫЙТИ
Выход из процедуры (функции):
ВЕРНУТЬСЯ
Переход на обработку исключительной ситуации:
ВОЗБУДИТЬ имя_исключения
14
Пример одного шага детализации на псевдокоде
15
9.3. Контроль программного модуля
1. Статическая проверка текста модуля;
2. Сквозное прослеживание;
3. Доказательство свойств программного модуля.
Recommended