Профессор определяет данное в заголовке понятие так:
Качество программного обеспечения - это совокупность признаков и значений программного продукта, которые необходимы для нормального функционирования программы и удовлетворения потребностей пользователей.
Плате выделяет следующие признаки ПО, которые определяют его качество:
Функциональность
Надежность
Пригодность к употреблению
Эффективность
Изменчивость
Переносимость
Для того, чтобы создать качественный программный продукт автор говорит о необходимости выполнения ряда действий:
Тестирование ПО
Тест «письменного стола» – в соответствии с поставленной задачей необходимо выбрать входные данные и рациональный ход решения.
Тест «черного ящика» – функциональный тест, который рассматривает алгоритм в качестве черного ящика, в который нельзя заглянуть (проводит обычно покупатель).
Тест «белого ящика» – он предполагает, чтобы входные данные были подобраны так, чтобы алгоритм выполнился хотя бы один раз.
2. Проверка подлинности ПО - это комплекс мероприятий, направленных на безупречное функционирование программы при любых входных данных, которое показывается с помощью математического аппарата.
3. Тестовое планирование и тестовая документация. Так как достаточно часто тестирование проходит непродуманно и внепланово, то необходимо составлять план тестов и протоколировать ход тестирования, чтобы исключить появление других ошибок в программе.
Таким образом, разработка ПО включает в себя следующие этапы:
1. Интуитивная разработка алгоритмов.
2. Формализация алгоритма, математическое описание.
3. Изображение алгоритмов структограммой. Разделение на модули и подпрограммы.
4. Разрабатывают алгоритмов с помощью языка программирования высокого уровня.
5. Кодирование.
Структура программы
Прежде чем приступать к программированию, автор обосновывает выбор в качестве изучаемого языка программирования - языка С.
Язык C был первоначально разработан как расширение для операционной системы UNIX, но впоследствии превратился в стандартный ЯП для разных платформ. Этому способствовало:
§ богатство операторов,
§ относительная машинная независимость,
§ возможная высокая мобильность,
§ небольшой языковой объем (только 32 ключевых слова),
§ много синтаксических возможностей в комбинации с упрощенными стилями.
Основные элементы программы на C
В этой главе автор знакомит нас с основными синтаксическими единицами языка С:
n Набор символов С-программы – это буквы, цифры, знаки, а также некоторые специфические элементы (пробел, предупреждение, возврат, табуляция)
n Разделители – пробелы, табуляторы, конец строки, перевод страницы, комментарии служат для разделения основных элементов языка
n Директива компилятора #include – подключает к компилятору файлы.
n Функции - из них состоит вся программа. Для каждой программы главной является функция Main, которая начинается с "{" и оканчивается "}".
n Стандартные библиотеки - стандартные функции предоставляются стандартными библиотеками.
n Ключевые слова имеют предопределенное значение, которое не может изменяться.
n Идентификаторы и имена – все объекты C имеют идентификаторы, которые состоят из последовательности букв, цифр или подчеркивания.
n Escape-последовательности – с помощью них записываются непечатаемые символы через "\".
Условные операторы
Автор знакомит нас с первой нелинейной структурой. Структура If…Else означает ветвление с переходом вперед. Здесь возможны два различных пути решения в зависимости от условия. Существует два вида этой структуры:
§ односторонний выбор - выполняет действие только на одном из путей разветвления и соединяет оба пути в один, т.е. if (Условное выражение) Инструкция;
§ двусторонний выбор – выполняет действия на каждом пути разветвления и также соединяет оба пути, т.е. if (Условное выражение) Инструкция1; else Инструкция2;
Далее автор рассматривает еще один вид условного оператора, выражаемого вопросительным знаком. Он имеет следующий вид:
Условное выражение ? Выражение1: Выражение2
Выражение с условием не может стоять в одиночестве, как в предыдущем ветвлении, а стоит внутри выражения.
Третья условная структура – многократный выбор switch .. case. Автор показывает, что в этой структуре имеются больше чем 2 пути выбора, которые также соединяются. Для каждого условия обязательно существует своя инструкция. Для всех оставшихся случаев выполняется какое-то действие. Структура switch .. case имеет такой вид:
switch (Выражение)
{
case W1: Инструкция 1;
...;
case Wn: Инструкция n;
default: Инструкция (по умолчанию);
}
Циклические операторы
В этом параграфе профессор объясняет, что структуры повторения используются, если последовательность команд должна повторяться неоднократно для решения задачи. Программирование структуры повторения ведет к так называемому "программному циклу".
В случае со структурой while условие стоит в начале программного цикла, поэтому цикл может не выполниться ни разу. Общий вид команды таков:
while (Условные выражения) Инструкции;
Следующая циклическая структура – повторение for представляет самую универсальную форму повторения. Команда имеет следующий вид:
for (Выражение 1; Выражение 2; Выражение 3)Команда;
где Выражение 1 – начальное значение выражения, Выражение 2 – условное выражение, которое должно выполниться для выполнения команд, Выражение 3 – изменяет счетную величину для продолжения повторения.
Затем автор рассматривает структуру, обратную структуре while. Последовательность команд запускается в любом случае, по меньшей мере, однажды. Поэтому эту структуру называют также непредотвратимым повторением.
Do
Инструкция;
while (Условное выражение);
Таким образом, в данной главе автором были разобраны различные типы трех структурных единиц любого языка программирования – линейной, разветвляющейся и циклической.
Функции
В этой главе автор рассказывает об одном из главных структурных элементов программы – функциях. Во всех высокоуровневых языках программирования происходит разделение программ на части с помощью подпрограмм-функций.
Понятие
Функции реализуют идеологию структурного программирования и исполняют все необходимые задания для решения общей задачи. Для самых важных и часто используемых заданий имеются стандартные функции, занесенные в программные библиотеки C. Для решения других задач необходимо написать собственные функции. Все C-программы состоят из набора небольших функций. Для определения функции в языке C необходимо указать тип и имя, а также список параметров в круглых скобках.
В языке C любая функция определяется глобально, т.е. не зависит от других функций. В общем виде эту структуру можно представить так:
Тип имя функции (список параметров)
{
Соглашения
Инструкции
return (значение функции)
}
Для каждого из параметров функции представляется его тип. Эти формальные параметры имеют собственное имя, которое используется в пределах работы функции и собственный тип. Например, функция:
int quad (int x)
{
return (x * x);
}
содержит параметр с именем x типа Integer(целый).
При вызове функции формальные параметры заменяются актуальными параметрами, в качестве которых могут выступать определенные значения, константы или переменные величины. Например: y = quad (25); При этом тип актуального параметра должен обязательно соответствовать типу формального параметра.
Дата: 2019-07-31, просмотров: 182.