Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС2 Проектирование аппаратного и программного...doc
Скачиваний:
22
Добавлен:
02.09.2019
Размер:
1.67 Mб
Скачать

3.4. Проектирование программных средств

Из рассмотрения МПС как объекта проектирования следует, что основные функции в ней выполняются программным путем, а программа представляет собой некоторый функциональный преобразователь, реализующий заданную функцию преобразования Yp = Fp(Xp) входных данных Xp в требуемый результат Yp.

В общем случае программа может быть представлена в виде "черной сферы" (рис. 3.4).

Рис. 3.4. Представление программы в виде "черной сферы"

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

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

3.4.1. Этапы жизненного цикла программы

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

Полный жизненный цикл сложной программы состоит из двух этапов [8]:

создание программы (32%);

сопровождение программы (68%).

При этом создание программы включает в себя следующие фазы:

точная постановка задачи и формулировка требований к программе (15%);

проектирование программы (15%);

кодирование программы (15%);

разработка документации (10%);

тестирование и отладка программы (25%);

занесение программы на рабочий носитель (5%);

комплексная отладка программы (15%).

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

Из анализа показателей трудоемкости следует, что трудоемкость сопровождения программы существенно выше трудоемкости ее создания.

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

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

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

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

Рассмотрим реализацию отдельных этапов создания сложной программы. Для иллюстрации изложенных теоретических сведений в качестве примера будем рассматривать реализацию соответствующего этапа в процессе создания программы работы устройства для ввода данных в ОЗУ.