Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧЕСКИЕ РАБОТЫ ПО ОСНОВАМ ИНЖЕНЕРИИ.doc
Скачиваний:
133
Добавлен:
09.02.2016
Размер:
1.51 Mб
Скачать

9

Введение

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

Практическая работа №1. Тема: технология программирования. Основные понятия и подходы.

Процесс создания программ для компьютеров обычно называют программированием. Од­нако этим же словом часто обозначают и другие виды человеческой деятельности. На­пример, «математическое программирование» - раздел математики, или «политическое программирование» - словосочетание, которое нетрудно встретить в средствах массовой информации. Если речь идет именно о создании программ для компьютеров, то во избе­жание неоднозначности используют оборот разработка программного обеспечения. В этом курсе слово программирование используется только в смысле «процесс разработки программного обеспечения», а потому для краткости и удобочитаемости везде, где это возможно, используется термин «программирование» как синоним оборота «процесс раз­работки программного обеспечения».

Программирование (computer programming) — это процесс создания программистом (че­ловеком) программы (информационной структуры), предназначенной для последующего исполнения (компьютером).

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

Таким образом, в процессе программирования присутствуют явно субъект, объект и цель. В типичном (и привычном) случае субъектом является человек, который ведет процесс осознанно, объектом является текст на формальном языке, а целью является такое выпол­нение программы, которое в свою очередь имеет явно обозначенную цель. Далее, если яв­но не оговорено противное, подразумевается именно этот типичный случай.

Замечание:

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