Методы и средства инженерии программного обеспечения



         

Обучение специальности – программная инженерия


Инженерная деятельность в программировании близка по своей сущности  к определению  инженерной деятельности (например, приборостроение), определенной в   толковом словаре:

1) инженерия есть применение научных результатов в практику, что позволяет получать пользу от свойств материалов и источников энергии;

2) деятельность по созданию машин для предоставления полезных услуг.

В программной инженерии, инженеры – это специалисты, выполняющие практические работы по реализации программ с применением теории, методов и средств компьютерной науки, которая    охватывает теорию и методы построения вычислительных и программных систем. Знание компьютерной науки необходимо специалистам в области ПО так же, как знание физики – инженерам-электронщикам [5]. Если для решения конкретных задач программирования  не существует подходящих методов или теории, инженеры применяют свои знания, накопленные ими  в процессе конкретных разработок ПО, а также исходя из опыта работы на соответствующих  инструментальных программных средствах. Кроме того,  инженеры  должны работать в условиях  заключенных контрактов и выполнять задачи с учетом их условий.

В отличие от другой  науки, целью которой есть получение знаний, в инженерии знание  является   способом получения некоторой пользы. Ф.Брукс [7] считает, что  «ученый строит, чтобы научиться, инженер учится, чтобы строить».

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

– традиционные ветви инженерии имеют высокую степень специализации, а у программной инженерии специализация заметна только в довольно узких применениях (например, операционные системы, трансляторы, редакторы и др.);

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




Содержание  Назад  Вперед