
- •Этапы развития технологии программирования
- •1). «Стихийное» программирование (до середины 60х гг.).
- •2). «Структурный» подход к программированию (60е – 70е гг.).
- •3). Объектный подход (середина 80-х – конец 90х гг.).
- •Компонентный подход к программированию и case-технологии.
- •Платформа .Net
- •Проблемы разработки сложных программных систем
- •Блочно-иерархический подход к созданию сложных систем
- •Жизненный цикл и этапы разработки программного обеспечения
- •Модели жизненного цикла программного обеспечения
- •Модели с промежуточным контролем.
- •Понятия эффективности и технологичности программного обеспечения.
- •Модули и их свойства (сцепление модулей).
- •Модули и их свойства (связность модулей)
- •Нисходящая и восходящая разработка программного обеспечения
- •Структурное программирование.
- •Линейный, 2)разветвляющий, 3) цикличный.
- •Средства описания структурных алгоритмов (псевдокоды, блок-схемы алгоритмов, Flow-формы, диаграммы Насси-Шнейдермана).
- •Правила оформления программ
- •Этап постановки задачи. Классификация программных продуктов по функциональному признаку.
- •Этап постановки задачи. Основные эксплуатационные требования к программным продуктам.
- •Этап постановки задачи. Предпроектные исследования предметной области.
- •Разработка технического задания.
- •Принципиальные решения начальных этапов проектирования (выбор архитектуры программного обеспечения, выбор пользовательского интерфейса, выбор языка программирования и т.Д.).
- •2) Выбор типа пользовательского интерфейса.
- •3) Выбор подхода к разработке.
- •4) Выбор языка программирования.
- •Классификация моделей разрабатываемого программного обеспечения
- •Модели разрабатываемого по, используемые на этапе анализа технического задания. Структурный подход. Диаграммы переходов состояний.
- •Модели разрабатываемого по, используемые на этапе анализа технического задания. Структурный подход. Функциональные диаграммы.
- •Модели разрабатываемого по, используемые на этапе анализа технического задания. Структурный подход. Диаграммы потоков данных.
- •Модели разрабатываемого по, используемые на этапе анализа технического задания. Структурный подход. Структуры данных и диаграммы отношений компонентов данных.
- •Модели разрабатываемого по, используемые на этапе анализа технического задания. Структурный подход. Сетевая модель данных (Диаграммы «сущность-связь»)
- •Модели разрабатываемого по, используемые на этапе анализа технического задания. Структурный подход. Математические модели.
- •Проектирование программного обеспечения при структурном подходе. Структурная и функциональная схемы.
- •Метод пошаговой детализации при проектировании структуры по
- •Структурный подход. Структурные карты Константайна
- •Проектирование программного обеспечения при структурном подходе. Проектирование структур данных
- •Модель использования. Определение вариантов использования. Диаграммы вариантов использования.
- •Построение диаграммы классов на этапе анализа технического задания.
- •Диаграмма последовательностей системы.
- •Построение диаграммы деятельности на этапе анализа технического задания.
- •Проектирование по при объектном подходе.
- •Диаграмма пакетов.
- •Диаграмма классов этапа проектирования. Уточнение отношений между классами на этапе проектирования.
- •Диаграммы последовательностей этапа проектирования.
- •Диаграммы состояний объекта
- •Диаграмма деятельности на этапе проектирования.
- •Диаграмма компонентов
- •Диаграмма размещения
- •Тестирование программных продуктов.
- •Структурное тестирование.
- •Функциональное тестирование.
- •Восходящее и нисходящее тестирование
- •Классификация ошибок
- •Методы отладки программного обеспечения
Структурное программирование.
Структурное программирование – это один из способов обеспечения высокого уровня технологичности разрабатываемого ПО.
Существует три вида вычислительного процесса:
Линейный, 2)разветвляющий, 3) цикличный.
Для реализации этих процессов в программировании используют соответствующие управляющие операторы. Для изображения схем алгоритмов таких программ был разработан ГОСТ 19.701-90.
После того, как в 60-х годах было доказано, что любой сколь угодно сложный алгоритм можно представить с использованием трех основных управляющих конструкций, в языках программирования высокого уровня появились управляющие операторы для реализации этих конструкций. К базовым конструкциям относятся:
1) следования,
2) ветвления,
3) цикл “пока”.
Кроме базовых процедурные языки программирования обычно используют еще три конструкции, которые можно составить из базовых:
выбор – case
цикл “до”
цикл for.
Любая дополнительная конструкция легко реализуется через базовые. Эти шесть конструкций были положены в основу структурного программирования.
1
).
2.) 3).
Д
ополнительные
конструкции:
1
).
2). 3).
Слово структурное в данном случае подчеркивает тот факт, что при программировании используются только эти структуры.
Кроме схем для описания алгоритмов можно использовать псевдокоды, flow-диаграммы и диаграммы Насси - Шнейдермана. Все эти нотации базируются на тех же основных структурах, но допускают разные уровни детализации.
Псевдокод – это формализованное текстовое описание алгоритма. Текстовая нотация. В литературе предложено несколько вариантов псевдокодов.
Flow-диаграммы (формы) – графическая нотация описания структурных алгоритмов, которая иллюстрирует вложенность структур. Каждый символ flow-формы соответствует управляющей структуре и изображается прямоугольником.
<g1> |
|
<g2> |
|
<g3> |
|
|
|
|
|
|
|
|
|
|
если <условие> |
|
то |
<g1> |
|
|
иначе |
<g2> |
|
|
пока <условие> |
|
|
<g1> |
|
|
|
|
<g1> |
до <условие> |
Диаграммы Насси - Шнейдермана являются развитием flow-форм. Основное отличие в том, что область обозначений условий и вариантов ветвления изображается в виде треугольников.
Общим недостатком flow-форм и диаграмм Насси - Шнейдермана является сложность построения изображений для больших алгоритмов.
Средства описания структурных алгоритмов (псевдокоды, блок-схемы алгоритмов, Flow-формы, диаграммы Насси-Шнейдермана).
После того, как в 60-х годах было доказано, что любой сколь угодно сложный алгоритм можно представить с использованием трех основных управляющих конструкций, в языках программирования высокого уровня появились управляющие операторы для реализации этих конструкций. К базовым конструкциям относятся:
1) следования,
2) ветвления,
3) цикл “пока”.
Кроме базовых процедурные языки программирования обычно используют еще три конструкции, которые можно составить из базовых:
выбор – case
цикл “до”
цикл for.
Любая дополнительная конструкция легко реализуется через базовые. Эти шесть конструкций были положены в основу структурного программирования.
1 ).
2.) 3).
Д ополнительные конструкции:
1 ).
2). 3).
Слово структурное в данном случае подчеркивает тот факт, что при программировании используются только эти структуры.
Кроме схем для описания алгоритмов можно использовать псевдокоды, flow-диаграммы и диаграммы Насси - Шнейдермана. Все эти нотации базируются на тех же основных структурах, но допускают разные уровни детализации.
Псевдокод – это формализованное текстовое описание алгоритма. Текстовая нотация. В литературе предложено несколько вариантов псевдокодов.
Flow-диаграммы (формы) – графическая нотация описания структурных алгоритмов, которая иллюстрирует вложенность структур. Каждый символ flow-формы соответствует управляющей структуре и изображается прямоугольником.
<g1> |
|
<g2> |
|
<g3> |
|
|
|
|
|
|
|
|
|
|
если <условие> |
|
то |
<g1> |
|
|
иначе |
<g2> |
|
|
пока <условие> |
|
|
<g1> |
|
|
|
|
<g1> |
до <условие> |
Диаграммы Насси - Шнейдермана являются развитием flow-форм. Основное отличие в том, что область обозначений условий и вариантов ветвления изображается в виде треугольников.
Общим недостатком flow-форм и диаграмм Насси - Шнейдермана является сложность построения изображений для больших алгоритмов.