Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект ПППИ.docx
Скачиваний:
54
Добавлен:
04.06.2015
Размер:
264.9 Кб
Скачать

Профессиональная практика программной инженерии

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

Терминология

  • Программирование(Computerscience) – молодая, активно развивающаяся область, за полвека своего развития преодолевшая огромный путь. Будучи как искусством, так и наукой, в наше время термин программирование приобрел качественно новую окраску, став одной из отраслей бизнеса.

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

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

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

Анализ рынка ПО в мире показывает большие темпы роста. В отрасль вкладываются огромные деньги. В России в отрасли ITнаблюдается бум. Отрадный факт – укрепление РоссийскихIT-компаний.

Основными причинами неудачи IT-проектов являются:

Причина 1. Нереалистичные временные рамки.

Причина 2. Недостаток количества исполнителей.

Причина 3. Размытые границы проекта.

Причина 4. Недостаток средств.

Причина 5. Нехватка квалифицированных кадров.

Технологии программирования– путь к успеху в разработке ПО. Использование различных технологий позволяет преодолевать сложность решаемых задач и, соответственно, сложность создания качественного ПО. Среди основных технологий можно выделить следующие: структурное программирование, модульное программирование, объектно-ориентированное программирование, компонентное программирование.

Программная инженерия, основные понятия Инженеры и программные инженеры

Говоря о программной инженерии, необходимо выяснить, кто такие инженеры.

За ответом обратимся к Большой Советской Энциклопедии:

Инженер(франц. ingénieur, от лат. ingenium – способность, изобретательность), специалист с высшим техническим образованием. Первоначально – название лиц, управлявших военными машинами[5].

Понятие гражданский инженер появилось в 16 в. в Голландии применительно к строителям мостов и дорог, затем в Англии и др. странах. Первые учебные заведения для подготовки инженеров были созданы в 17 в. в Дании, в 18 в. – в Великобритании, Франции, Германии, Австрии и др. В России первая инженерная школа основана Петром I в 1712 в Москве. В Петербурге были открыты Горное училище, приравненное к академиям (1773), Институт инженеров путей сообщения (1809), Училище гражданских инженеров (1832, с 1882 – Институт гражданских инженеров), Инженерная академия (1855). С 19 в. за рубежом стали различать инженеров-практиков, или профессиональных инженеров (по существу специалистов, имевших квалификацию техника), и дипломированных инженеров, получивших высшее техническое образование (Civil Engineer) [5].

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

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

инженерия - деятельность по созданию машин для предоставления полезных для потребителя услуг и изделий.

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

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

  1. менеджеры, которые планируют и руководят проектом, отслеживают сроки и затраты;

  2. инженеры службы ведения библиотек и репозитариев компонентов;

  3. технологи, которые определяют инженерные методы и стандарты, создают для проекта модель ЖЦ, удовлетворяющую его целям и задачам;

  4. тестировщики (контролеры), которые проверяют правильность выполнения процесса проектирования путем тестирования и на основе собранных данных проводят измерения разных характеристик качества, включая оценку надежности ПО;

  5. верификаторы, которые проверяют правильность реализации функций в проекте;

  6. валидаторы, проверяющие ПО на соответствие заданным требованиям.