Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Семестр1.doc
Скачиваний:
3
Добавлен:
19.09.2019
Размер:
1.03 Mб
Скачать

Лекция 12

12.1 Цикл жизни программы. Проект программы

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

Проектирование Кодирование ОтладкаТестирование Сопровождение

Проектирование программы – это основной этап зарождения программы. Именно на этом этапе закладывается качество будущей программы.

Проектирование = типы данных + структуры данных + процедуры и функции + алгоритмы

На этапе проектирования программы определяется язык (или языки) программирования для реализации проекта.

Кодирование – воплощение проекта в коды на выбранном алгоритмическом языке. Творческая составляющая этапа кодирования ограничена рамками проекта. От кодировщика во многом зависит читабельность текста программы.

Хорошо спроектированная и закодированная программа не требует отладки. Однако, разработчики проекта и кодировщики могут ошибаться. Поэтому еще на этапе проектирования программы предусматриваются средства тестирования. Тестирование – контроль правильности работы программы. В случае обнаружения ошибок и недочетов исправления делаются и в проекте программы и в ее коде.

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

12.2 Характеристики качества программ

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

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

  • Эффективность. Программа соответствует требованиям и ограничениям к условиям выполнения, оговоренным в техническом задании на разработку программы.

  • Модифицируемость (или открытость). Доступность исходного кода программы. Иногда под модифицируемостью понимают предусмотренные в проекте программы возможные изменения.

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

  • Мобильность (переносимость). Без каких либо изменений, или с небольшими изменениями программа может быть оттранслирована другими версиями языка той же операционной системы (локальная мобильность) или других операционных систем и компьютерных платформ (глобальная мобильность).

  • Надежность. Эффективное функционирование в условиях воздействия различных отрицательных факторов.

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

12.3 Программное окружение

Эффективность работы программиста определяется его квалификацией и опытом работы. В профессиональной деятельности программиста его опыт материализуется в программном окружении. Программное окружение программиста – библиотека программных продуктов (процедур, функций, объектов, компонент программных сред и т.п.), используемых программистом как дополнительные средства языка. В эту библиотеку могут входить как программные продукты, разработанные самим программистом, так и средства общего назначения (библиотеки процедур и функций общего назначения, редакторы, трансляторы, кросс-трансляторы, редакторы связей и тому подобное), называемые инструментальными средствами (или утилитами).

Для создания и поддержки программного окружения в языках программирования разработаны свои средства. В языке ТР это модули.