- •Методичні вказівки до курсового
- •Общие положения
- •3. Структура и содержание курсового проекта
- •3.1 Структура курсовой работы
- •3.2 Требования к оформлению листа задания
- •4.1 Общие методические указания
- •4.2 Тестирование программ
- •Курсовой проект оформляется в соответствии с дсту 3008-95 и должен содержать следующие структурные элементы:
- •6. Организация проектирования и защита проекта
- •Список литературы
- •Содержание
- •Министерство образования и науки украины
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
ХАРКІВСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ
УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
До друку та у світ дозволяю
Проректор по навчальній роботі
В.В. Семенець
"____" ___________1999 г.
Методичні вказівки до курсового
ПРОЕКТУВАННЯ ПО КУРСУ
"СИСТЕМНЕ ПРОГРАМУВАННЯ "
для студентів денної форми навчання фаху:
7091501 “Комп'ютерні системи та мережі”;
7091502 “Системне програмування”;
7091503 “Спеціалізовані комп'ютерні системи“.
В
Затверджено каф.
ЕОМ
протокол N
від __.__.2000 р.
Упорядники:
Волк М.О.
Відповідальний за випуск
Харків ХТУРЕ 2000
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
ХАРКІВСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ
УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
МЕТОДИЧНІ ВКАЗІВКИ ДО КУРСОВОГО
ПРОЕКТУВАННЯ ПО КУРСУ
"СИСТЕМНЕ ПРОГРАМУВАННЯ "
для студентів денної форми навчання фаху:
7091501 “Комп'ютерні системи та мережі”;
7091502 “Системне програмування”;
7091503 “Спеціалізовані комп'ютерні системи“.
Затверджено каф.
ЕОМ
протокол N
від __.__.2000 р.
Харків ХТУРЕ 2000
Методичні вказівки до курсового проектування по курсу
“ Системне програмування ” для студентів денної форми навчання /Упоряд. Волк М.О.-
Харків: ХТУРЕ, 2000.- с.-Укр.мовою.
Упорядники: М.О. Волк.
Общие положения
Данные методические указания предназначены для проведения курсового проектирования по курсу “Системное программирование”, что завершает процесс подготовки специалистов по данному курсу. Курсовое проектирование введено в учебный процесс на основании учебных планов по вышеупомянутым учебным планам и проводятся у 4-м семестре.
Методические указания состоят из таких разделов: цели и задачи курсового проектирования, тематика курсовых проектов, структура и содержание курсового проекта, методические указания по его выполнение, требования к оформлению курсового проекта, организация проектирования и защита курсового проекта.
При курсовом проектировании студент должен показать творческий подход к разработке модулей программного обеспечения, грамотное использование существующего программного обеспечения, хорошее алгоритмическое мышление, навыки высококвалифицированного программирования на различных алгоритмических языках низкого уровня. Студенты должны уметь превратить свою программу в программный продукт, выполнить качественный анализ программы, сделать оценку полученных результатов при использовании различных вариантов.
Задания предполагают создание уникальной программы, которая написана с использованием процедур и функций операционной системы. Особое внимание при разработке необходимо уделить эффективности с точки зрения используемых ресурсов вычислительной системы. Важное значение имеет удобный интерфейс с пользователем и хорошая документация к программе, предназначенная для пользователей и сопровождения программы. Желательно позаботиться о средствах защиты своих программ от несанкционированного доступа.
Многие задания комплексные. Разработка больших программ требует дополнительных знаний а области организаций работ при создании модулей системы разными программистами. Возможно решение одной задачи несколькими студентами, но в этом случае предполагается обязательный анализ и сравнение различных вариантов.
ЦІЛІ ТА ЗАДАЧІ КУРСОВОГО ПРОЕКТУВАННЯ
Основной целью курсового проектирования по курсу "Системное программирование" является систематизация, углубление и активное применение знаний по системному программированию, закрепление знаний, полученных в лекционном курсе, а также на практических и лабораторных занятиях. Данную цель можно раскрыть следующим образом:
систематизация и закрепление теоретических знаний студентов по основным разделам курса "Системное программное обеспечение";
углубленное изучение проблем разработки программного обеспечения для современных ЭВМ;
привитие студентам практических навыков использования языков низкоуровневого типа при составлении системных программ, стыковки программных модулей, написанных на разных языках, а также анализа основных характеристик программ;
знакомство с реферативными журналами и другими информационными источниками по программному обеспечению с целью анализа состояния решаемых задач:
выполнение всех этапов разработки программ на примере, близком к реальным задачам,
подготовка к выполнению дипломной работы.
Самая важная задача курсового проектирования - развитие в студентов привычек разработки сложного программного обеспечения, которые включают изучения предметной области, для которой разрабатывается приложение, выбор, обоснование и использование современных систем проектирования с учетом эффективности разработок, таких, как время проектирования и отладки программного проекта, стоимости разработок. Особое внимание необходимо уделить использованию современных методов разработки программ таких, как объектно-ориентированное программирование и визуально проектирования, а также структурное и модульное программирования. Задачи, решаемые в процессе курсового проектирования:
разработка системы математического обеспечения или его части в соответствии с требованиями к системе;
закрепление практических навыков в оформлении документации на каждом этапе разработки;
закрепление практических навыков использования ЭВМ, программного обеспечения, существующих средств обслуживания системных программистов;
развитие навыков самостоятельной работы с системами государственных стандартов.
Изложенное выше должно способствовать развитию у студентов алгоритмического и логического мышления, а также способствовать самостоятельному инженерному творчеству.
Для выполнения курсового проекта за студентами закрепляется руководитель курсового проекта с числа преподавателей и сотрудников кафедры, что выдает задачу, консультирует студентов в течении всего времени проектирования, фиксирует график выполнения курсового проекта. Особое внимание руководитель курсового проекта должен уделить развития в студентов привычек самостоятельного решения поставленной задачи, умению выделять главные факторы в решаемой задаче, абстрагироваться от второстепенных деталей и решать задачу на том уровне абстракции, которые отвечает природе этой задачи.
В курсе "Системное программирование" основное внимание уделяется изучению современных операционных систем, способов проектирования приложений, объектно-ориентированному программированию. В процессе курсового проектирования студенты должны продемонстрировать знания основных способов взаимодействия приложений с операционной системой, представлению объектов и операций над ними. Использование абстрактных понятий при системном и структурном подходе позволяет отложить вопрос детализации представления данных на больше позднее время и частично автоматизировать этот процесс. Использование современных способов визуального проектирования приложений спасает разработчика от рутинной работы, тем не менее, ошибки допущенные на начальном этапе проектирования, могут со временем свести на нет эффективность решаемой задачи. Поэтому, основное внимание необходимо уделить применению рассмотренных идей и методов в практическом программировании.
ТЕМАТИКА КУРСОВЫХ ПРОЕКТОВ
Темы курсовых работ должны быть реальными и посвящены расширению функции существующих программ, разработке драйверов для новых аппаратных средств или модификации существующих, а также решению задач, требуемых учебным процессом.
Все курсовые работы по темам могут быть разделены на группы:
изучение существующих систем математического обеспечения, их возможностей, а затем модификация и дополнение функций этих систем;
разработка новых систем, которые позволяют решать задачи автоматизации ручного труда, обучения, тестирования и т.д.
разработка интерфейсных приложений типа пользователь-приложение и приложение-приложение;
К первым относятся проекты, связанные с расширением возможностей алгоритмических языков, операционных систем, редакторов, а также моделирование команд одного типа ЭВМ на других ЭВМ, т.е. создание кросс-систем, языковая реализация параллельного программирования и т.д.
Ко вторьм - проекты, связанные с автоматизацией труда программистов, корректоров, референтов и др.
К третьим относятся проекты, связанные с созданием интерфейса программных приложений на уровне команд операционной системы.
Актуальность тематики курсовых проектов должна отвечать современному состоянию программного обеспечения и перспективам его развития. Перечень тем утверждается на заседании кафедры ЭВМ.
Для практического освоения теории и методов разработки больших программных систем предусматривается выполнение комплексных курсовых проектов.
Настоящие методические указания не исключают курсовых проектов по тематике, отличной от рекомендованной. Курсовые проекты могут основываться на работах, выполняемых по тематике НИРС, но должны быть доведены до создания программного продукта. Большинство заданий на курсовое проектирование предусматривает необходимость выполнения всех этапов разработки программного обеспечения. Для успешного выполнения этих работ желательно, чтобы студенты получили задание в предшествующем курсовому проектированию семестре. В этом случае возможно выполнение этапов разработки спецификации и проекта еще до изучения языка системного программирования. Желательна связь тематик курсового и дипломного проектирования.
Этот далеко не полный перечень направлений постоянно расширяется и дополняется. Ниже приведена примерная тематика курсовых проектов:
Программы системного уровня, системные утилиты, расширяющие возможности операционных систем.
1) Диагностика дискет
2) Диагностика винчестера
3) Шифровка - расшифровка файла
4) Программирование принтера
5) Программирование динамика и таймера
6) Разработка резидентных программ
2. Интерфейсные программы, связь и обмен данными.
Разработка систем визуального ввода/вывода информации
Разработка пользовательского интерфейса
Реализация точечной и векторной графики
Разработка программного обеспечения для издательских систем. Форматирование текстов в соответствии с заданными правилами
Разработка OLE - объектов
Создание многооконных приложений
Разработка динамически подключаемых библиотек интерфейсных процедур
Программы динамического обмена данными
Прикладные программы.
Разработка тренажера клавиатуры
Разработка точечного графического редактора
Создание векторного редактора
Разработка программ обработки текстов