Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
92
Добавлен:
20.06.2014
Размер:
155.65 Кб
Скачать

3.Этапы разработки программного обеспечения

По объему программы до 10тыс команд – мелкое программное обеспечение. Менеджмент обработки программного обеспечения. Если речь идет о программах среднего размера, то:

1. Снач необходимо установить, что необходимо сделать, продумать соответствующий алгоритм, определить структуру данных, объекты, взаимодействия между ними и все это закодировать.

2. этап – отладка программы, тестовые материалы от заказчика. Оформление документации предостав анализ программного продукта.

Документация к программе: 1 – документация к программе – внутренние комм-ии, 2 – внешняя: ТЗ, блок-схемы, базовая документация, описание входных и выходных переменных. Часто требуется сопровождение программы программистом.

  1. Анализ задачи(физическая постановка задачи и определение конечной цели решения)

  2. Разработка алгоритма(адекватное написание основных законов физического процесса)

  3. Разработка пользовательского интерфейса

  4. Написание кода (структуризация – блок-схема, написание на языке программный код)

  5. Тестирование и отладка программы – цель выявить ошибки (поиск логических (семантических), синтаксических ошибок, может быть направлена на уменьшение счета времени счета и памяти)

  6. Составление документации (внутренняя документация – комментарии, внешняя – тех задание, блок-схемы с описанием, псевдокоды, базовые допущения, описание входных и выходных данных, руководство пользователя)

Для крупного программного проекта

  1. формирование и анализ требований к проекту (подписание контрактанта разработку) 5%

  2. предпроектное обследование объекта автоматизации: формальная модель работы объекта, модель БД, модели объектов, модели потоков информации (составление модели его работы) 10%

  3. определение спецификаций: на основе формальной модели составляется подробное ТЗ, конкретизируется спецификация отдельных модулей, готовится календарный план работы

  4. выбирается общая методология разработки программного обеспечения и начинается кодирование, определение системных требований

  5. Начальная (альфа) версия продукта поступает к тесторам, проверяется наличие ошибок и производится отладка, тестирование проекта заказчиком 10% от общего объема работ

  6. Внедрение продукта – самый трудоемк этап – до 90%общего времени

  7. Когда система готова – обучение людей 5%

  8. Подписывается акт приемки и проект считается завершенным (до 10%) + дается гарантия и сопровождение(т е существует гарантийный срок на созданный пакет, в течении к-го он обслуживается)

Непосредственно программирование занимает до 20% от общего объема работ

4.Технология программирования вычислительных задач (модульное и структурное программирование), пример использования

Необходимо выполнить требования к основной мат модели – адекватность модели к рассмотренному явлению. Она должна достаточно точно определять характерн черты явления, но и быть достат-но простой для исследования. Число программ неограниченно.

Требования, кот руководствуются: 1. эффективность прогр - время счета и объёма требуемой памяти, 2. снизить трудоемкость написания программы и ее отладки

Написание на микро уровне: 1. имена переменных выбирают со смыслом обозначаемых величин (программа должна быть читаема), 2. снабжать прогр комментариями, 3. при вычислении индексов массивов следует проявлять особенное внимание, т.к. ошибки индексирования наиболее трудно отслеживаются (локализуются), 4. при экономии памяти целесообразно подумать об использовании 1 массива в моменты, когда различные массивы не использ одновременно, 5. При записи сложн выражений, требуется использование промежуточных элементов – повышает наглядность и реально позволяет сократить кол-во арифмет операций. 6. При использовании многократно вложенных циклов – нужно стремиться чтоб в самом внутреннем цикле было наименьшее количество операций (действий), что способствует уменьшению времени счета.

Макро уровень – грамотно структурировать программу – основная пробл - разбиение на подпрограммы. Сущест-т т.н. порог оптимальности: 50инструкций (команд)- то50 до100.

2 принц программирования: Структурное и Модульное. Структурное – берется задача и разбивается на этапы сверху вниз - Структурно программа программируется сверху в низ, от сложного к простому

Модульная программа программируется в низу вверх, т.е. с более простой на более глобальную.

Итерационное программирование – как методология программирования – на первом этапе появляется альфа версия, разрабатываемая на 80% требований. Считается, что для конечного проекта достаточно 2-5 итераций.

Алгоритм – это строгая чёткая конечная система правил, определяющая последовательность преобразования исходных данных в результаты. Св-ва: детерминированность(однозначность), массовость(универсальность), результативность(алгоритм обязательно довести до конечного результата)

5.Понятие подпрограммы. Виды программ и их отличительные способности. Способы передачи параметров.

Подпрограмма - относительная самостоятельная программная единица (фрагмент прграммы), оформленная спец образом и снабжённая именем, представленная логически законченного алгоритма, которая может исполнятся многократно из вызывающей программы при разных наборах исходный данных.Подпрограмма не может работать сама по себе. Упоминание имени подпрограммы в тексте главной программы называется вызовом подпрограммы. Виды подпрограмм:Procedure и Function

Отличие ф-ии от процедуры: результат исполнения операторов, образующих тело ф-ии всегда явл-ся некоторое единственное значение, поэтому обращение к ф-ции можно использовать в соответствующих выражениях подобно константам или переменным. (подпрограммы с ограничениями).

При программировании подпрограмм надо запрограммировать описание подпрограмм, обращение к ней. Тело подпрограммы: раздел описания (может отсутствовать) и раздел исполняемых операторов. В заголовке подпрогр указывается её уникальное имя и список формальных параметров с описанием их типов. Формальн парам сами по себе не имеют значения, они их приобретут из фактических параметров при обращении к подпрограмме, результат сформированной подрогр при счете с фактическими значениями будет передавать автоматически в точки вызова подпрограммы. В обращении к блоку указывается имя подпрогр со списком фактических параметров, к-ые при работе обращения встанут на место формальных. Списки формальных и фактических параметров должны соответствовать друг другу по количеству, типу и порядку следования.

Функция – подпрогр передающая результат выполнения через значение имени функции. Обращение к функции можно ставить в составе выражения.

function_имя функции(список формальных параметров с описанием их типов):тип результата;

Функция формирует единственный результат в ячейке имени ф-ии

Function _ имя ф(сп):тип;

{раздел описания}

begin{раздел исполняемых операторов} имя ф-ии:=результат;end;

Пр: program main;

Var a,b,c,t:real;

Function min(x,y:real):real;

Begin if x<y then min:=x else min:=y;end;

Begin writeln (‘vv a,b,c’); readln(a,b,c);t:=(min(a,b)+min(b,c))/(min(1,b*c)+2);writeln(‘t=’,t:9:3);readln;end;

Обращение к процедуре – это отдельный оператор, состоящий из имени процедуры и из списка фактических параметров.

procedure_имя процедуры(список формальных параметров с описанием их типов);

{раздел описаний}

begin{раздел исполняемых операторов}end;

Имя процедуры- это не ячейка памяти

Пр:procedure sumkol(A:mass;P:integer; var k,s:integer);

Var i: integer; begin s:=0;k:=0; for i:=1 to p do bigin if a[i]_mod_2=0 then begin s:=s+a[i];k:=k+1;end;end;end;

Begin ... sumkol(x,n,s1,k1)

Список формальных параметров содержит как входные в процедуру параметры, так и передаваемые из процедуры результирующие параметры.

Процедура – это универсальная подпрогр, к-ая не имеет ограничения в своём применении и позволяет получить за одно обращение любое количество результатов.

Способы передачи параметров:

Параметры можно передавать по значению и по ссылке.

Параметра-значения- это локальные переменные подпрогр, стартовое значение к-ых задается при вызове подпрогр. Эти значения поступают в подпрограмму из внешних блоков. Параметры-значения, описанные в заголовке, могут изменять свои значения наряду с остальными, но эти изменения могут быть строго локальными, т е подпрогр доступна только копия значения из параметра-значения. Подпрограмме не доступен адрес этого параметра=> через параметр - значения нельзя передать результат в точку вызова. Через стек передается только копия значения параметра из ячейки памяти.

Чтобы подпрограмма изменила значение переменной надо объявить эту величину как параметр-переменная. Синтаксически в заголовке при описании параметра переменной указывают директиву var, и подпрограмма получает доступ к адресу этой ячейки памяти. Параметры – переменные используются как обычные ячейки памяти. Параметр переменная – передается по ссылке, идет передача адреса через стек, есть адрес и его можно использовать на вх. и на вых.

Все результаты должны быть сохранены в параметры-переменные.