ТЕМАТИКА КУРСОВЫХ ПРОЕКТОВ. для студентів денної форми навчання фаху:

ПРОЕКТУВАННЯ ПО КУРСУ

"СИСТЕМНЕ ПРОГРАМУВАННЯ "

для студентів денної форми навчання фаху:

7091501 “Комп'ютерні системи та мережі”;

7091502 “Системне програмування”;

7091503 “Спеціалізовані комп'ютерні системи“.

Затверджено каф. ЕОМ протокол N від __.__.2000 р.
Всі цитати, цифровий і фактичний матеріал та бібліографічні відомості перевірені, написання одиниць відповідає стандартам

Упорядники:

Волк М.О.

Відповідальний за випуск

Харків ХТУРЕ 2000
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ

ХАРКІВСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ

УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ

МЕТОДИЧНІ ВКАЗІВКИ ДО КУРСОВОГО

ПРОЕКТУВАННЯ ПО КУРСУ

"СИСТЕМНЕ ПРОГРАМУВАННЯ "

для студентів денної форми навчання фаху:

7091501 “Комп'ютерні системи та мережі”;

7091502 “Системне програмування”;

7091503 “Спеціалізовані комп'ютерні системи“.

 
 
Затверджено каф. ЕОМ протокол N від __.__.2000 р.

Харків ХТУРЕ 2000
Методичні вказівки до курсового проектування по курсу

“ Системне програмування ” для студентів денної форми навчання /Упоряд. Волк М.О.-

Харків: ХТУРЕ, 2000.- с.-Укр.мовою.

Упорядники: М.О. Волк.

ОБЩИЕ ПОЛОЖЕНИЯ

Данные методические указания предназначены для проведения курсового проектирования по курсу “Системное программирование”, что завершает процесс подготовки специалистов по данному курсу. Курсовое проектирование введено в учебный процесс на основании учебных планов по вышеупомянутым учебным планам и проводятся у 4-м семестре.

Методические указания состоят из таких разделов: цели и задачи курсового проектирования, тематика курсовых проектов, структура и содержание курсового проекта, методические указания по его выполнение, требования к оформлению курсового проекта, организация проектирования и защита курсового проекта.

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

Задания предполагают создание уникальной программы, кото­рая написана с использованием процедур и функций операционной системы. Особое внимание при разработке необходимо уделить эффективности с точки зрения используемых ресурсов вычислительной системы. Важное значе­ние имеет удобный интерфейс с пользователем и хорошая докумен­тация к программе, предназначенная для пользователей и сопровождения программы. Желательно позаботиться о средствах защиты своих программ от несанкционированного доступа.

Многие задания комплексные. Разработка больших программ требует дополнительных знаний а области организаций работ при создании модулей системы разными программистами. Возможно реше­ние одной задачи несколькими студентами, но в этом случае пред­полагается обязательный анализ и сравнение различных вариантов.

1. ЦІЛІ ТА ЗАДАЧІ КУРСОВОГО ПРОЕКТУВАННЯ

Основной целью курсового проектирования по курсу "Системное программирование" является систематизация, углубление и активное применение знаний по системному программированию, закрепление знаний, полученных в лекционном курсе, а также на практических и лабораторных занятиях. Данную цель можно раскрыть следующим образом:

систематизация и закрепление теоретических знаний студен­тов по основным разделам курса "Системное программное обеспе­чение";

углубленное изучение проблем разработки программного обеспе­чения для современных ЭВМ;

привитие студентам практических навыков использования язы­ков низкоуровневого типа при составлении системных программ, сты­ковки программных модулей, написанных на разных языках, а так­же анализа основных характеристик программ;

знакомство с реферативными журналами и другими информа­ционными источниками по программному обеспечению с целью ана­лиза состояния решаемых задач:

выполнение всех этапов разработки программ на примере, близ­ком к реальным задачам,

подготовка к выполнению дипломной работы.

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

разработка системы математического обеспечения или его части в соответствии с требованиями к системе;

закрепление практических навыков в оформлении документации на каждом этапе разработки;

закрепление практических навыков использования ЭВМ, програм­много обеспечения, существующих средств обслуживания системных программистов;

развитие навыков самостоятельной работы с системами госу­дарственных стандартов.

Изложенное выше должно способствовать развитию у студентов алгоритмического и логического мышления, а также способство­вать самостоятельному инженерному творчеству.

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

В курсе "Системное программирование" основное внимание уделяется изучению современных операционных систем, способов проектирования приложений, объектно-ориентированному программированию. В процессе курсового проектирования студенты должны продемонстрировать знания основных способов взаимодействия приложений с операционной системой, представлению объектов и операций над ними. Использование абстрактных понятий при системном и структурном подходе позволяет отложить вопрос детализации представления данных на больше позднее время и частично автоматизировать этот процесс. Использование современных способов визуального проектирования приложений спасает разработчика от рутинной работы, тем не менее, ошибки допущенные на начальном этапе проектирования, могут со временем свести на нет эффективность решаемой задачи. Поэтому, основное внимание необходимо уделить применению рассмотренных идей и методов в практическом программировании.

ТЕМАТИКА КУРСОВЫХ ПРОЕКТОВ

Темы курсовых работ должны быть реальными и посвящены рас­ширению функции существующих программ, разработке драйверов для новых аппаратных средств или модификации существу­ющих, а также решению задач, требуемых учебным процессом.

Все курсовые работы по темам могут быть разделены на группы:

изучение существующих систем математического обеспечения, их возможностей, а затем модификация и дополнение функций этих систем;

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

разработка интерфейсных приложений типа пользователь-приложение и приложение-приложение;

К первым относятся проекты, связанные с расширением воз­можностей алгоритмических языков, операционных систем, редак­торов, а также моделирование команд одного типа ЭВМ на других ЭВМ, т.е. создание кросс-систем, языковая реализация параллель­ного программирования и т.д.

Ко вторьм - проекты, связанные с автоматизацией труда про­граммистов, корректоров, референтов и др.

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

Актуальность тематики курсовых проектов должна отвечать современному состоянию программного обеспечения и перспективам его развития. Перечень тем утверждается на заседании кафедры ЭВМ.

Для практического освоения теории и методов разработки боль­ших программных систем предусматривается выполнение комплексных курсовых проектов.

Настоящие методические указания не исключают курсовых проек­тов по тематике, отличной от рекомендованной. Курсовые проекты могут основываться на работах, выполняемых по тематике НИРС, но должны быть доведены до создания программного продукта. Большин­ство заданий на курсовое проектирование предусматривает необходимость выполнения всех этапов разработки программного обеспе­чения. Для успешного выполнения этих работ желательно, чтобы студенты получили задание в предшествующем курсовому проектиро­ванию семестре. В этом случае возможно выполнение этапов разработки спецификации и проекта еще до изучения языка систем­ного программирования. Желательна связь тематик курсового и дипломного проектирования.

Этот далеко не полный перечень направлений постоянно расширяется и дополняется. Ниже приведена примерная тематика курсовых проектов:

1. Программы системного уровня, системные утилиты, расширяющие возможности операционных систем.

1) Диагностика дискет

2) Диагностика винчестера

3) Шифровка - расшифровка файла

4) Программирование принтера

5) Программирование динамика и таймера

6) Разработка резидентных программ

2. Интерфейсные программы, связь и обмен данными.

1) Разработка систем визуального ввода/вывода информации

2) Разработка пользовательского интерфейса

3) Реализация точечной и векторной графики

4) Разработка программного обеспечения для издательских систем. Форматирование текстов в соответствии с заданными правилами

5) Разработка OLE - объектов

6) Создание многооконных приложений

7) Разработка динамически подключаемых библиотек интерфейсных процедур

8) Программы динамического обмена данными

3. Прикладные программы.

1) Разработка тренажера клавиатуры

2) Разработка точечного графического редактора

3) Создание векторного редактора

4) Разработка программ обработки текстов

СТРУКТУРА И СОДЕРЖАНИЕ КУРСОВОГО ПРОЕКТА

Структура курсовой работы

Курсовая работа должна быть выполнена в соответствии с заданием на проектирование и представлена пояснительной запиской и действующей программой на дискете.

Структура пояснительной записки и ее объем (до 30 стра­ниц текста формата. А4) должны быть такими, чтобы полностью раскрыть все разделы задания на курсовое проектирование. Она должна содержать следующие разделы:

введение;

анализ требований к разрабатываемой системе на основании задания;

разработка спецификаций системы;

проектирование системы;

реализация и тестирование системы;

заключение.

Во введении необходимо показать актуальность решения по­ставленной задачи, при необходимости сделать обзор существу­ющих систем с целью доказать, что они не решают поставленных задач или решают их неэффективно.

Во втором разделе должны быть четко определены цель разра­ботки, сформулированы ограничения на входные данные системы, описаны выходные данные.

В третьем разделе в зависимости от задания к курсовому проекту должны быть описаны или существующие спецификации, или разработанные студентом. Например, если курсовая работа преду­сматривает разработку системы для расширения существующего языка, то спецификации разрабатываются студентом и фактически за­дают правила записи дополнительных операторов и их описание. Если курсовая работа посвящена разработке кросс-средств или созданию блоков, трансляторов со свойствами, отличными от свойств существующих трансляторов, то спецификациями являются операторы языка, для которого создается система. В этом случае операторы просто описываются.

В четвертом разделе должна быть разработана структура сис­темы, отражающая взаимодействие отдельных модулей, определены функции каждого модуля, его вход и выход. Необходимо разработать алгоритм функционирования каждого модуля. При выполнении комплексной работы в пояснительной записке необходимо пока­зать структуру всей системы, определить, какие модули разра­ботаны в данной работе, и дать описание алгоритмов функциони­рования именно этих модулей.

В пятом разделе должны быть описаны; разработанные про­граммы, определен оптимальный набор тестов и описаны резуль­таты испытания системы на выбранном наборе тестов.

В заключении необходимо сделать краткий обзор полученных результатов и дать рекомендации по внедрению разработанной системы, а также по ее модификации.

Наши рекомендации