Технология программирования Основные термины:

advertisement
Технология программирования
Основные термины:
1) программа (имеет вход и выход, может состоять из одного или
нескольких программных модулей);
2) программный (исполняемый) модуль (такая программа, которая
хранится, как файл, при выполнении предварительно записывается
(загружается) в оперативную память;
3) текст программы – может существовать в разных видах (на исходном
языке программирования, на языке ассемблера, на машинном языке);
4) программная система, или просто система (программа или набор
программ, взаимодействующих с людьми, техническими устройствами
и т.п., имеет много входов и выходов, но является единым целым);
5) программный комплекс (набор программ, предназначенных для
решения некоторого множества задач, для решения отдельной задачи
обычно требуются не все программы комплекса);
6) инструментальный программный комплекс (набор программных
средств, предназначенных для разработки программ для решения
некоторого множества задач, может существовать в виде библиотек
процедур, классов и т.п.);
7) программный продукт – программа (система, комплекс) + документация,
необходимая для ее использования;
8) жизненный цикл программы (системы, комплекса) – время от начала ее
создания до последнего применения.
Технология программирования
Этапы разработки:
1) этап технического задания (ТЗ) –
разработка технических требований к системе;
2) проектирование архитектуры системы – разработка модели
функционирования системы, основных структур данных,
общей структуры системы;
3) проектирование и разработка системы – детализация
структур данных и структуры системы, программирование
и тестирование системы;
4) этап опытной эксплуатации – доработка системы,
повторное тестирование при любых изменениях.
Следующий этап жизненного цикла:
сопровождение системы – доработка, совершенствование,
выпуск новых, улучшенных версий.
Технология программирования
Программная документация:
- документация периода разработки:
техническое задание, эскизный, технический и
рабочий проекты;
- эксплуатационная документация:
руководство по установке программы
(системы);
описание применения
- документация сопровождения:
текст программы;
описание программы
Разработка сверху-вниз
(метод поэтапной детализации)
Программа вычисления определителя:
{Описания}
begin
{Ввод входных данных}
{Вычисление определителя}
{Вывод выходных данных}
Программа
end.
Описания
Ввод входных
данных
Выбор
ведущего
элемента
Вычисление
определителя
Перестановка строк
Вычитание
строк
Вывод выходных
данных
Вычисление
определителя
Сложность комплексного программного
продукта
комплексный
программный
продукт
комплекс
3
2
программа
1
1
программа
2
3 программный
продукт
Технология тестирования
1. Тестирование малых программ (процедур)
2. Тестирование больших программ
(процедур, классов)
- Восходящая технология тестирования
(с помощью тестирующих программ)
- Нисходящая технология тестирования
(с помощью программ-заглушек)
3. Тестирование параметров программы
(процедуры, системы)
4. Тестирование документации
5. Аналитическое тестирование (доказательство) при
проектировании и написании программ, процедур
Законы Брукса
1. Если процесс разработки системы не укладывается в запланированные сроки, то привлечение новых людей чаще всего не сокращает, а еще больше удлиняет процесс
разработки.
2. Первая система (ее 1-й вариант) всегда создается «на
выброс». Следствие: поэтому первую систему надо создавать
в таком виде, чтобы было не жалко выбрасывать.
3. Вторая система (ее 2-й вариант) чаще всего обладает
«эффектом второй системы» - перегруженностью функций, излишней сложностью и т.п. Следствие: вторую систему не имеет смысла «доводить до блеска», после ее испытания и опробования надо быстрее переходить к созданию третьей системы.
4. При увеличении сложности системы в n раз для ее создания в прежние сроки обычно требуется в n2 раз больше людей. Следствие: специализировать программистов на
выполнении отдельных функций: написание программ, тестирование, написание документации и т.п.
Download