Министерство образования Российской Федерации Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” РАБОЧАЯ ПРОГРАММА дисциплины Системное и прикладное программное обеспечение Для подготовки дипломированных специалистов по направлению 657100 – “Прикладная математика” по специальности 073000 -“Прикладная математика”. Санкт-Петербург 2001 Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” “УТВЕРЖДАЮ” Проректор по учебной работе проф. ___________ Ушаков В.Н. “_____”_______________2001 г. РАБОЧАЯ ПРОГРАММА дисциплины Системное и прикладное программное обеспечение Для подготовки дипломированных специалистов по направлению 657100 –“Прикладная математика” по специальности 073000 -“Прикладная математика”. Факультет компьютерных технологий и информатики Кафедра математического обеспечения и применения ЭВМ Курс – 3 Семестр – 6 Лекции 45 ч. Экзамен 6 семестр Лабораторные занятия 15 ч. Зачет 6 семестр Аудиторные занятия Самостоятельные занятия Всего часов 60 ч. 50 ч. 110 ч. 2001 2 Рабочая программа обсуждена на заседании кафедры Математического обеспечения и применения ЭВМ “____”_______________2001 г., протокол №______. Рабочая программа составлена в соответствии с государственным образовательным стандартом по направлению 657100 –“Прикладная математика” и специальности 073000 “Прикладная математика”. Рабочая программа согласована с рабочими программами изученных ранее дисциплин: 1) Программирование; 2) Структуры и алгоритмы обработки данных; 3) Теория языков программирования и методы трансляции. Рабочая программа одобрена методической комиссией факультета компьютерных технологий и информатики “____”_____________2001г. 3 Цели и задачи дисциплины 1. Изучение принципов действия системного и прикладного программного обеспечения, методов проектирования прикладного программного обеспечения. 2. Формирование навыков анализа и проектирования программного обеспечения. Требования к уровню освоения дисциплины В результате изучения дисциплины студенты должны: 1. Знать основные компоненты системного программного обеспечения, типы операционных систем, командный и программный интерфейс пользователя с операционной системой, типы и организацию систем программирования и программных модулей, современные методы спецификации прикладного программного обеспечения 2. Уметь применять полученные знания при разработке прикладного программного обеспечения, разрабатывать элементы системного программного обеспечения. 3. Иметь представление об используемых и перспективных операционных системах и системах программирования, о современных методах и инструментальных средствах разработки и проектирования прикладного программного обеспечения. Содержание рабочей программы Раздел 1. Операционные системы Тема 1. Основные понятия Определение операционной системы. Понятие вычислительного процесса и ресурса: диаграмма состояний процесса, реализация понятия последовательного процесса в ОС. Прерывания. Основные виды ресурсов. Классификация операционных систем: однозадачные мониторы, пакетные мониторы, мультипрограммные пакетные ОС, диалоговые многопользовательские ОС, ОС реального времени. Тема 2. Управление задачами и памятью Планирование и диспетчеризация процессов и задач: стратегии планирования, дисциплины диспетчеризации, диспетчеризация задач с использованием динамических приоритетов. Память и отображения, виртуальное адресное пространство. Распределение памяти разделами, сегментная, страничная и сегментно-страничная организация памяти. Распределение оперативной памяти в современных ОС. Тема 3. Управление вводом/выводом и файловые системы Основные понятия и концепции ввода/вывода в ОС. Основные системные таблицы ввода/вывода. Синхронный и асинхронный ввод/вывод. Функции файловой системы ОС. Файловая система FAT. Файловая система NTFS. Основные отличия FAT и NTFS. Тема 4. Архитектура ОС и интерфейсы прикладного программирования Основные принципы построения ОС. 4 Принципы построения интерфейсов ОС. Интерфейс прикладного программирования. Раздел 2. Системы программирования Тема 5. Типы и структура систем программирования Пакетные и диалоговые системы программирования (СП). Одноязыковые и многоязыковые СП. Оболочки СП. Состав СП. Редакторы, трансляторы, отладчики, загрузчики. Справочная система СП. Тема 6. Отладчики Функции отладчиков. Пошаговое выполнение программ. Трассировка значений переменных и операторов. Точки прерывания. Способы реализации отладчиков. Интерпретация языка программирования, параллельное выполнение программы и отладчика. Тема 7. Разработка многомодульных программ Средства систем программирования для поддержки проектирования многомодульных программ. Компиляция многомодульных программ. Файл проекта. Раздел 3. Проектирование программ Тема 8. Понятия технологии программирования Программа. Компонент программной системы. Программная система. Программный продукт. Программное изделие. Классификация программных систем по сложности. Основные характеристики и критерии качества программ и программных систем. Модели жизненного цикла программных систем. Стадии и этапы разработки программных систем и программной документации. Тема 9. Требования и спецификации программы Понятия требований к программе. Функциональные и нефункциональные требования. Стандартизация описания требований. Техническое задание на разработку программы. Понятие спецификаций программы. Роль адекватных, корректных и полных спецификаций на всех этапах проектирования программы. Функциональные спецификации. Методы описания спецификаций. Интерфейсные спецификации. Проверка правильности спецификаций. Тема 10. Структура программы Разработка структуры программы. Оценка структуры программы. Методы разработки структуры программы. Нисходящие и восходящие методы. Модуль. Внешние спецификации модуля. Способы описания спецификаций. Проектирование логики модуля. Документирование модуля. Тема 11. Испытания программы Верификация, тестирование и отладка программы. Основные методы верификации программы. Тестирование и отладка. Методы тестирования. План тестирования. Заглушки и драйверы. Использование инструментальных средств тестирования и отладки. Тема 12. Внедрение и сопровождение программы Задачи сопровождения программы. Расширение возможностей, адаптация и коррекция. Средства и методы сопровождения. Организация сопровождения. Эксплуатационная документация. 5 Тема 13. Современные методы и средства проектирования программ Методы и средства структурного анализа и проектирования: диаграммы потоков данных, словарь данных, спецификации процессов, диаграммы «сущность – связь», спецификации управления. Средства структурного проектирования. Унифицированный язык моделирования UML: диаграммы вариантов использования, диаграммы классов, диаграммы состояний, диаграммы деятельности, диаграммы последовательности, диаграммы компонентов. Перечень лабораторных работ № 1 2 3 4 5 6 7 Наименование работы Тестирование переключатели на системной плате Определение объема доступной основной памяти Определение конфигурации аппаратных средств Использование отладчика при отладке программ Компиляция многомодульных программ Разработка структуры программы Испытания программ Номер темы 1 2 3 6 7 10 11 Распределение учебных часов по темам и видам занятий № темы 1 2 3 4 5 6 7 8 9 10 11 12 13 Объем учебных часов Название разделов и тем Раздел 1. Операционные системы Основные понятия Управление задачами и памятью Управление вводом/выводом и файловые системы Архитектура ОС и интерфейсы прикладного программирования Раздел 2. Системы программирования Типы и структура систем программирования Отладчики Разработка многомодульных программ Раздел 3. Проектирование программ Понятия технологии программирования Требования и спецификации программы Структура программы Испытания программы Внедрение и сопровождение программы Современные методы и средства проектирования программ ИТОГО: Аудит. занятия Самост. работа Всего Семест р 4 9 4 2 4 2 6 13 6 7 7 7 2 2 4 6 7 4 4 2 6 7 4 4 4 4 8 8 7 7 4 4 2 6 7 5 5 4 9 7 4 4 2 5 4 1 9 8 3 7 7 7 10 12 22 7 60 50 110 7 Лекции Лабор. занятия 2 6 2 2 3 2 2 2 2 2 2 2 2 2 2 10 45 6 15 Практ. занятия ЛИТЕРАТУРА Основная № Название, библиографическое описание 1 Фодор Ж. Операционные системы – от PC до PS/2/ Ж.Фодор. Пер. с фр. М.Б.Блеер; Под ред. Э.Г. Назаренко.- М.: Мир, 1992. Липаев В.В. Проектирование программных средств: Учеб.пособ. для вузов/В.В.Липаев.- М.: Высш. шк., 1990 Губкин А.Ф. Операционные системы: Учеб.пособие/ГЭТУ. – С.Пб., 1996. Опалева Э.А., Самойленко В.П. Технология разработки программного обеспечения: Учеб. пособие/ ЛЭТИ.- Л., 1988. 2 3 4 Л Лр 6 К-во экз. в библ. (на каф.) 189 6 7 6 6 Уч 50 Ф4 6 6 138 Гриф Ком. по ВШ Мин. науки ГК СССР по нар.обр. ГосКомРФ по высш.обр. ГК СССР по нар.обр. Дополнительная № Название, библиографическое описание 1 Калянов Г.Н. CASE структурный и системный анализ (автоматизация и применение)/М.: Изд-во «ЛОРИ», 1996. Бородич Ю.С. и др. Паскаль для персональных компьютеров: Справ.пособие.- Мн.: Выш.шк.: БФ ГИТМП "НИКА", 1991. Фокс Дж. Программное обеспечение и его разработка.- М.: Мир, 1985. Роббинс Дж. Отладка приложений: Пер. с англ. – СПб,: БХВ-Петербург, 2001. 2 3 4 7 К-во экз. в библ. (на каф.) 0 Уч 66 Ф4 80 0 Авторы: (ск.т.н., доцент Самойленко В.П. Рецензент к.т.н., доцент Казак А.Ф. Зав. кафедрой математического обеспечения и применения ЭВМ д.т.н., профессор Лисс А.Р. Декан факультета название д.т.н., профессор Герасимов И.В. Программа согласована: Зав. отделом учебной литературы Смирнова О.Н. Руководитель методического отдела к.т.н., доцент Марасина Л.А. 8