Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по программированию 1.doc
Скачиваний:
307
Добавлен:
11.04.2015
Размер:
27.08 Mб
Скачать

7. Документирование, сопровождение и эксплуатация программ.

7.1.Стандартизация, дисциплина и творчество в программировании.

Внедрение стандартов в процесс создания программ направлено на создание следующих результатов:

1. Упрощение процесса разработки программы;

2. Облегчение чтения и понимания программ сторонними лицами, что ведет к снижению числа ошибок, упрощает пользование и эксплуатацию;

3. Улучшение подготовки новых кадров.

До последнего времени программирование рассматривалось как искусство, точнее, как прикладное искусство, или ремесло, подобное чеканке или стеклодувному делу. Поэтому введение каких-либо ограничений на приемы и технику программирования, использование готовых операторов и блоков рассматривалось как мера, направленная на сужение творческих возможностей программиста и, как следствие этого, снижение качества программ. Сложившаяся практика могла считаться удовлетворительной, пока применение ЭВМ ограничивалось научными и инженерными расчетами, созданием экспериментальных программ, где процессами программирования занимались "избранные". Однако в настоящее время она уже не может считаться нормальной. Причина этого состоит прежде всего в том, что получили широкое распространение систем обработки самых разнообразных данных, глобально расширилось число областей применения ЭВМ, и самое главное, к процессам программирования стало привлекаться множество людей, зачастую не имеющих достаточных знаний в области программирования. Все это привело к созданию определенных правил как в области написания программ, так и в области составления документации на нее.

Объективным условием разработки единой системы составления программ и документации на нее является то, что несмотря на индивидуальный, творческий характер труда программиста, значительная часть его работы носит рутинный характер подобно тому, как в работе самого талантливого конструктора много черновой работы, в частности связанной с изготовлением чертежей. Трудно представить себе, чтобы каждый конструктор чертил чертежи по своим собственным канонам и по ходу дела изобретал время от времени все новые приемы и обозначения.

Если изготовление конструкторской документации регламентируется Единой системой конструкторской документации (ЕСКД), то производство программ регулируется Единой системой программной документации (ЕСПД). ЕСПД представляет собой комплекс взаимоувязанных государственных стандартов, устанавливающих общие положения, виды программ и программных документов, правила разработки, оформления, обращения программ и программной документации, и распространяется на документацию всех типов программ независимо от назначения, области их использования и разработчика.

В стандартах ЕСПД установлены требования, регламентирующие разработку, производство, тиражирование и сопровождение программ, что обеспечивает возможность:

а) унификации программных изделий для взаимного обмена программами и применения ранее созданных программ в новых разработках;

б) снижение трудоемкости и повышения эффективности разработки, сопровождения, изготовления и эксплуатации программных изделий;

в) автоматизации изготовления и хранения программ ной документации.

В состав ЕСПД входят:

1) основополагающие и организационно-методические стандарты;

2) стандарты, определяющие виды, форму и содержимое программных документов;

3) стандарты, обеспечивающие автоматизацию разработки программных документов.

Стандарты ЕСПД подразделены на группы в соответствии с табл. 7.1.

Таблица 7.1. Группы стандартов ЕСПД

Код группы

Наименование группы

0

Общие положения

1

Основополагающие стандарты

2

Правила выполнения документации разработки

3

Правила выполнения документации изготовления

4

Правила Выполнения документации сопровождения

5

Правила выполнения эксплуатационной документации

6

Правила обращения программной документации

7

Резервная группа

8

Резервная группа

9

Прочие стандарты

Обозначения стандартов ЕСПД строятся ïî классификационному признаку, они состоят из:

номера 19, присвоенного классу стандартов ЕСПД;

одной цифры (после точки), обозначающей код классификационной группы стандартов, определенной табл. 7.1;

двузначного числа, определяющего порядковый номер стандарта в группе;

двузначного числа (после тире), указывающего год регистрации стандарта.

Например, стандарт «Единая система программной документаций. Общие положения» имеет следующее обозначение:

ГОСТ 19.001—77.

Наряду со стандартами на документацию, определенными ЕСПД, большое значение приобретает стандартизация отдельных компонентов программного изделия и самой техники программирования, каталогизация типовых ситуаций и принимаемых в них решений применительно к конкретным условиям: языкам программирования, операционной системе, принятой методике отладки и тестирования, а также характеру самих задач.

Тщательно продуманная стандартизация процесса разработки программы, начиная от написания внешних функциональных спецификаций, позволяет программисту концентрировать внимание на наиболее сложных и ответственных решениях, а техническую работу по написанию кодов, выбору управляющих структур, выполнению контроля проводить без особых усилий, опираясь на принятые и проверенные стандарты.

В практическом отношении наиболее важно унифицировать следующие этапы разработки программ:

1. Проектирование: анализ задачи, фиксация требований к программе, разбиение общей задачи на подзадачи, анализ структур данных, разработка общей структуры программ с выделением основных модулей и определением интерфейса между ними, написание детальных спецификаций модулей.

2. Вычерчивание блок-схем.

3. Собственно программирование или кодирование.

4. Методы «ручной» проверки (без использования ЭВМ).

  1. Отладка и тестирование.

6. Документирование.

7. Планирование и оценка качества и количества труда отдельных программистов и коллективов.

Вопрос о стандартизации и унификации процесса программирования непосредственно связан с вопросами дисциплины и эффективной организации труда программиста. Как и всякий интеллектуальный труд, работа программиста трудно поддается контролю и оценке. Поскольку стандартизация способствует лучшему контролю и регламентации труда, побуждает скорее к дисциплине, чем к свободному самовыражению в изобретении остроумных трюков и уловок, то введение стандартов наталкивается на определенное сопротивление со стороны программистов,; чаще всего выражающееся в критике стандартов. Этот психологический барьер необходимо преодолеть. Известный специалист по психологии программирования Вайнберг рекомендует немедленно увольнять с работы всех оригиналов, которые все делают без плана, без документации, считая себя «свободными художниками», разлагают других сотрудников своей недисциплинированностью. Такие решительные меры вряд ли стоит рекомендовать. Надо, прежде всего, разъяснить, что, во-первых, взятые на вооружение и используемые стандарты много полезнее, чем хорошие стандарты, записанные на бумаге, во-вторых, хорошие стандарты получаются не сразу и в процессе систематического применения и совершенствования плохие стандарты можно довести до хороших. Важнейшим фактором в разработке эффективных и приемлемых стандартов является активное участие самих программистов в их разработке и совершенствовании по мере накопления опыта.