Вводная лекция Цели и задачи курса 12 апреля 2007 г. 4 курс Технологии программирования
2 Технология (def) Технология - объем знаний, которые можно использовать для производства товаров и услуг из экономических ресурсов. Технология включает в себя методы, приемы, режим работы, последовательность операций и процедур, она тесно связана с применяемыми средствами, оборудованием, инструментами, используемыми материалами.
3 Программирование (def) Программирование - в широком смысле - все технические операции, необходимые для создания программы, включая анализ требований и все стадии разработки и реализации. В более узком смысле - это кодирование и тестирование программы. Кодирование - написание уже спроектированной программы на некотором формальном языке программирования.
4 Программа (def) Программа - последовательность машинных команд, предназначенная для достижения конкретного результата. Программа - согласно ГОСТ данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма.
5 Что создается? ПрограммаПрограммный комплекс (интерфейсы, системная интеграция) Программный продукт (тестирование, документация, сопровождение) Системный программный продукт x3
6 Этапы разработки 1.Проектирование 2.Кодирование 3.Тестирование ПроектированиеКодингТестирование и исправление ошибок 1/31/61/2
7 Главный ресурс - время Программные проекты чаще проваливаются из-за нехватки календарного времени, чем по всем остальным причинам вместе взятым. Добавление людей в отстающий проект задержит его ещё больше. (Закон Брукса)
8 Серебряной Пули нет! Нет ни одного открытия ни в технологии, ни в методах управления, одно только использование которого обещало бы в течение ближайшего десятилетия на порядок повысить производительность, надежность, простоту разработки программного обеспечения.
9 Сущность программных систем Сложность Согласованность Изменяемость Незримость
10 Прорывы в технологии 1.Языки высокого уровня (Освобождают программу от значительной доли необязательной сложности.) 2.Интегрированные среды программирования (Совмещают проектирование, кодирование и отладку. Содержат библиотеки стандартных функций.)
11 Кандидаты в Серебряные Пули 1.ООП 2.ИИ 3.Автоматическое программирование 4.Экспертные системы 5.Графическое программирование
12 Что делать? 1.Покупать, а не создавать. Самый быстрый способ создать программу – купить готовую. 2.Уточнение требований и быстрое макетирование. 3.Постепенное наращивание функциональности. 4.Выдающиеся проектировщики и гениальные программисты.
13 Не панацея, а гигиена Концептуальная целостность. (Если над системой независимо работают двое – вы получите две разные системы.) Контроль версий. Багтреккинг. (bugtacking) Документирование.
14 Спасибо за внимание Конец лекции.