
- •Технология программирования. Перечислите основные этапы ее развития.
- •Этапы развития технологии программирования.
- •1Й и 2й вопрос
- •Технологии com и corba.
- •Проблемы, возникающие при разработке сложных программных систем.
- •Блочно-иерархический подход к созданию к созданию сложных систем.
- •Жизненный цикл и этапы разработки программного обеспечения. Кратко охарактеризуйте основные этапы.
- •Постановка задачи, анализ требований и определение спецификаций.
- •Техническое задание на создание аис.
- •Проектирование, реализация и сопровождение.
- •Модели жизненного цикла программного обеспечения.
- •Case-технологии.
- •Технология rad.
- •Оценка качества процессов создания программного обеспечения.
- •14. Модули и их свойства.
- •15. Нисходящая и восходящая разработка программного обеспечения
- •16. Структурное программирование.
- •17. Средства описания структурных алгоритмов.
- •18. Стиль оформления программы.
- •Эффективность и технологичность программного обеспечения.
- •Объектно-ориентированное программирование.
- •Классификация программных продуктов по функциональному признаку.
- •Эксплуатационные требования к программным продуктам.
- •Архитектура программного обеспечения.
- •Тип пользовательского интерфейса.
- •Тестирование программного обеспечения.
17. Средства описания структурных алгоритмов.
Одним из способов обеспечения высокого уровня технологичности разрабатываемого программного обеспечения является структурное программирование.
Различают три вида вычислительного процесса, реализуемого программами: линейный, разветвленный и циклический.
Линейная структура процесса вычислений предполагает, что для получения результата необходимо выполнить некоторые операции в определенной последовательности.
Разветвленная структура процесса вычислений предполагает, что конкретная последовательность операций зависит от значений одной или нескольких переменных.
Циклическая структура процесса вычислений предполагает, что для получения результата некоторые действия необходимо выполнить несколько раз.
Для реализации указанных вычислительных процессов в программах используют соответствующие управляющие операторы. Первые процедурные языки программирования высокого уровня, такие, как FORTRAN, понятием «тип вычислительного процесса» не оперировали. Для изменения линейной последовательности операторов в них, как в языках низкого уровня, использовались команды условной (при выполнении некоторого условия) и безусловной передач управления. Потому и программы, написанные на этих языках, имели запутанную структуру, присущую в настоящее время только низкоуровневым (машинным) языкам.
18. Стиль оформления программы.
С точки зрения технологичности хорошим считают стиль оформления программы, облегчающий ее восприятие, как самим автором, так и другими программистами, которым, возможно, придется ее проверять, или модифицировать. «Помните, программы читаются людьми», призывал Д. Ван Тассел, автор одной из известных монографий, посвященной проблемам программирования [60].
Исходя из того, что любую программу неоднократно придется просматривать, следует придерживаться хорошего стиля написания программ. Стиль оформления программы включает:
• правила именования объектов программы (переменных, функций, типов, данных и т. п.);
• правила оформления модулей;
• стиль оформления текстов модулей.
Правила именования объектов программы. При выборе имен программных объектов следует придерживаться следующих правил:
• имя объекта должно соответствовать его содержанию, например:
MaxItem - максимальный элемент; NextItem - следующий элемент;
• если позволяет язык программирования, можно использовать символ «_» для визуального разделения имен, состоящих из нескольких слов, например:
Max_Item, Next_Itetm;
необходимо избегать близких по написанию имен, например:
Index и InDec.
Правила оформления модулей. Каждый модуль должен предваряться заголовком, который, как минимум, содержит:
• название модуля;
• краткое описание его назначения;
• краткое описание входных и выходных параметров с указанием единиц измерения;
• список используемых (вызываемых) модулей;
• краткое описание алгоритма (метода) и/или ограничений;
• ФИО автора программы;
• идентифицирующую информацию (номер версии и/или дату последней корректировки).
Например:
Стиль оформления текстов модулей. Стиль оформления текстов модулей определяет использование отступов, пропусков строк и комментариев, облегчающих понимание программы. Как правило, пропуски строк и комментарии используют для визуального разделения частей модуля, например:
{проверка количества отрезков и выход, если отрезки не заданы} ifn<0 then begin
WrileLn (' Количество отрезков отрицательно'); exit; end;
{цикл суммирования длин отрезков} S: = 0;
for i: = 0 to n-l do S: = S + Len [i];
Для таких языков, как Pascal, C++ и Java, использование отступов позволяет прояснить структуру программы: обычно дополнительный отступ обозначает вложение операторов языка, например:
агпах: = а[1,1]; for i: = l to n do for j: = l to т do ifa[i,j]>amax then amax: = a
Несколько сложнее дело обстоит с комментариями. Опыт показывает, что переводить с английского языка каждый оператор программы не нужно: любой программист, знающий язык программирования, на котором написана программа, без труда прочитает тот или иной оператор. Комментировать следует цели выполнения тех или иных действий, а также группы операторов, связанные общим действием, т. е. комментарии должны содержать некоторую дополнительную (неочевидную) информацию, например:
{проверка условия и выход, если условие не выполняется} ifn<0 then begin
WriteLn('Kojiit4ecmeo отрезков отрицательно'); exit; end;
Для языков низкого уровня, например, Ассемблера, стиль, облегчающий понимание, предложить труднее. В этом случае может оказаться целесообразным комментировать и блоки операторов, и каждый оператор, например: