- •Технологии программирования (определения, цели, дисциплины). Отличие от программной инженерии.
- •Жизненный цикл по. Процессы жц. Модели жц по. Их достоинства и недостатки.
- •Парадигмы программирования
- •Структурное программирование
- •Функциональное и логическое программирование
- •Объектно-ориентированное программирование
- •Методы разработки структуры программ
- •4 Методы проектирования, управляемые структурами данных
- •Модульное программирование. Характеристики модуля.
- •Структурные методы анализа и проектирования
- •Визуальное моделирование и проектирование с использованием uml
- •10. Алгоритм: определения, свойства, методы представления.
- •11. Характеристики качества по. Методики повышения качества по.
- •12. Хороший стиль программирования. Правильные имена. Форматирование кода. Комментирование кода. Общие правила разработки классов.
- •13. Тестирование. Методы структурного тестирования. Методы функционального тестирования.
Модульное программирование. Характеристики модуля.
(связность, сцепление, сложность)
Модульное программирование основано на понятии модуля - логически взаимосвязанной совокупности функциональных элементов, оформленных в виде отдельных программных модулей.
Модуль характеризуют:
один вход и один выход - на входе программный модуль получает определенный набор исходных данных, выполняет содержательную обработку и возвращает один набор результатных данных, т.е. реализуется стандартный принцип IPO (Input - Process - Output) - вход-процесс-выход;
функциональная завершенность - модуль выполняет перечень регламентированных операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки;
логическая независимость - результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей;
слабые информационные связи с другими программными модулями - обмен информацией между модулями должен быть по возможности минимизирован;
обозримый по размеру и сложности программный элемент.
Таким образом, модули содержат определение доступных для обработки данных, операции обработки данных, схемы взаимосвязи с другими модулями.
Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело - способ реализации процесса обработки.
Структурные методы анализа и проектирования
Структурный системный анализ – анализ программных систем, основанный на принципах и идеях структурной методологии.
Цель анализа – создать структурные спецификации, определяющие модель системы. В процессе анализа выявляются требования пользователя и определяются свойства, которыми должен обладать программный продукт, чтобы отвечать этим требованиям. Определяются системные ограничения и требования к характеристикам продукта.
Нисходящее проектирование – неформальная стратегия при разбиении крупной проблемы на подпроблемы меньшего размера. Это пошаговый процесс, начинающийся с общей функции системы, которая разделяется на подфункции; процесс повторяется до тех пор, пока все подфункции не станут достаточно простыми, чтобы их можно было представить на языке программирования.
Нисходящее проектирование применимо к проектированию систем, программ, отдельного модуля, а также к проектированию структур данных.
Цель нисходящего проектирования:
систематизировать процесс проектирования;
создать модульный проект программы;
дать структуру для эффективного решения проблемы.
Структурное проектирование – состоит в детализации метода нисходящего проектирования.
Процесс декомпозиции в структурном проектировании основан на потоках данных в системе.
4 Методы проектирования, управляемые структурами данных
Два метода проектирования, управляемые структурами данных:
методология Джексона,
методология Варнье-Орра.
Оба метода работают с иерархическими структурами данных, структура программы выводится из структуры данных.
Методология Джексона. Рассматривается проектируемая программа как процесс обработки последовательного потока записей (предполагается существование на входе и выходе последовательных файлов, структура записей которых определяет структуру программы).
Методология Варнье-Орра предполагает выводить структуру программы и структуру входных данных, исходя из структуры выходных данных.
