Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ecampus_2sem / Лекции 1-2.docx
Скачиваний:
24
Добавлен:
10.02.2015
Размер:
32.17 Кб
Скачать

Основы программной инженерии

Лекция 1. Введение в программную инженерию

Разогрев

Обсудить вопросы:

  1. Как называется наша специальность

  2. Чем занимается специалист этой профессия

  3. Что это такое – наука, ремесло, искусство?

Что такое разработка программного обеспечения: искусство, наука, ремесло…? Могут быть разные мнения. Сегодня – это все сразу. А чем должна быть? ПО – это продукт, которым пользуются обычные люди, не специалисты в вычислительной технике.

Сегодня разработка ПО – заложница собственного быстрого развития и привлекательности. Он не похожа на инженерию из-за того, кто работает в этой отрасли. 40% разработчиков имеют диплом специалиста CS (Маконнел, профессиональная разработка ПО). Практически никто в разработке ПО. Абсолютное большинство либо не имеет профильного образования, либо это образование не позволяет выпускнику сразу начать работать. Из-за этого разработка превращается больше в магию.

Университет готовит ученых и инженеров. Кем будем мы после того как окончим обучение?

Отличие инженерии от науки.

Наука:

Ищет новые знания

  1. Проверяет гипотезы, расширяет знания

  2. Ученые должны быть в курсе новейших исследований

  3. Возможна узкая специализация

  4. Не нужен надзор

  5. О результатах работы судят другие ученые

  6. Научное образование готовит к продолжению учебы

  7. Стоимость не играет важной роли

  8. Риск может быть оправдан

Инженерия:

Создает продукты, которыми пользуются обычные люди

  1. Отыскивает полезные знания и учится применять их для решения практических задач

  2. Инженерам должны быть известны методы, надежность и эффективность которых уже подтверждена

  3. Необходимо понимать и учитывать все факторы, которые влияют на разрабатываемое изделие

  4. Необходимы нормативы, поскольку результатами работы пользуются люди

  5. Инженерное образование готовит к практической работе сразу после завершения учебы

  6. Стоимость разработки и производства играет ключевую роль

  7. Риск недопустим

Разработка ПО должна быть инженерной дисциплиной.

Представление дисциплины

  1. Цель дисциплины – сформировать общее представление о будущей профессии. Дать подсказки, что нужно делать, чтобы стать настоящим специалистом.

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

  3. Какие вопросы будут рассматриваться на лабораторных: грамотное кодирование, системы контроля версий, системы коммуникации в проекте, резюме, подготовка к сертификации.

  4. Контрольные мероприятия: два рубежных контроля, зачет.

История программной инженерии

1945-1965 – становление.

1958 – Джон Тьюкей (John Tukey) Появление термина softwere.

1968 – NATO Software Engineering Conference. Официальное появление программной инженерии (Software Engineering).

1965-1985 – Кризис ПО. Выявлены многие проблемы разработки ПО. OS/360, Therac 25

1972 – первый номер Transactions on Software Engineering (IEEE - Institute of Electrical and Electronics Engineers) – труды по программной инженерии.

1975 – Фредерик Брукс. Мифический Человеко-Месяц (Fred Brooks. The Mythical Man Month)

1979 – IEEE Std 730 – качетво ПО.

1985 - 1986

1986 – Фредерик Брукс. No Silver Bullet

1986 – IEEE Std 1002 – Taxonomy of Software Engineering Standarts

1993 – ACM/IEEE-CS Code of Ethics and Professional Practice (ACM – Association of Computing Machinery)

1995 – ISO/IEC 12207 “Software lifecycle processes” (ГОСТ ИСО/МЭК 12207-99) (ISO – International Organization of Standardization, IEC - International Electrotechnical Commission)

2004 – Guide to Software Engineering Body of Knowledge (SWEBOK)