Министерство образования и науки Российской Федерации
Южно-Уральский государственный университет
Механико-математический факультет
Кафедра системного программирования
УТВЕРЖДАЮ
Декан мех.-мат. факультета
____________ А.Д. Дрозин
11.11.2004
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
Технология программирования
для студентов, обучающихся по программе магистерской подготовки
010500.68.11 (510211) "Системное программирование"
направления 010500.68 (510200) "Прикладная математика и информатика"
Челябинск-2004
Целью курса является изучение технологических аспектов разработки программного обеспечения: технологический цикл и работа программиста на каждом из его этапов, средства компьютерной поддержки процесса разработки, а также организация коллективной разработки программного обеспечения.
Понятие технологии программирования. Жизненный цикл (ЖЦ) программного обеспечения (ПО). Характеристика этапов ЖЦ ПО.
Простые и сложные, малые и большие системы. Методы борьбы со сложностью систем. Качество и надежность ПО. Разработка требований к ПО.
Неформальная, полуформальная и формальная спецификации. Основные подходы к спецификации семантики функций: табличный, алгебраический, логический. Языки спецификаций.
Структурное проектирование, архитектура ПО. Модульное программирование. Аксиомы модуля. Связность и сцепление модулей. Порядок разработки модуля.
Структурное программирование. Псевдокод. Теорема о структурном программировании. Оператор GOTO. Проблема выбора языка программирования.
Понятия отладки и тестирования. Стратегия проектирования тестов. Принципы отладки. Автономное тестирование. Комплексное тестирование.
Документация, создаваемая и используемая в процессе разработки программных средств. Пользовательская документация программных средств. Документация по сопровождению программных средств.
Общие принципы ведения проектов. Руководитель и технолог проекта. Метод бригады главного программиста.
Технологическая среда проекта. CASE-средства. Прототипирование. Повторное использование кода. Версионирование исходных текстов. Документаторы исходных текстов. Отладчик и профилировщик.
№ п/п |
Тема |
Лекц. (час.) |
1. |
Введение |
2 |
2. |
Анализ |
4 |
3. |
Спецификация |
4 |
4. |
Проектирование |
4 |
5. |
Кодирование |
4 |
6. |
Тестирование |
4 |
7. |
Сопровождение |
4 |
8. |
Коллективная разработка программного обеспечения |
5 |
9. |
Средства компьютерной поддержки процесса разработки |
5 |
|
ИТОГО |
34 |
1. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. М.: Мир, 1980.
2. Зелковец М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения. М.: Мир, 1982.
3. Липаев В.В. Тестирование программ. М.: Радио и связь, 1986.
4. Майерс Г. Надежность программного обеспечения. М.: Мир, 1980.
5. Фокс Дж. Программное обеспечение и его разработка. М.: Мир, 1985.
6. Фуксман А.Л. Технологические аспекты создания программных систем. М.: Статистика, 1979.
7. Турский В. Методология программирования. М.: Мир, 1981.
8. Bell D., Morrey I., Pogh J. Software Engineering. A programming Approach. Prentice Hall, 1992.
9. Sommerville I. Software Engineering. Addison-Wesley Publishing, 1992.