Інформація про навчальний заклад

ВУЗ:
Харківський державний медичний університет
Інститут:
Не вказано
Факультет:
Компютерні системи
Кафедра:
Не вказано

Інформація про роботу

Рік:
2000
Тип роботи:
Методичні вказівки
Предмет:
Системне програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ХАРКІВСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ До друку та у світ дозволяю Проректор по навчальній роботі В.В. Семенець "____" ___________1999 г. МЕТОДИЧНІ ВКАЗІВКИ ДО КУРСОВОГО ПРОЕКТУВАННЯ ПО КУРСУ "СИСТЕМНЕ ПРОГРАМУВАННЯ " для студентів денної форми навчання фаху: 7091501 “Комп'ютерні системи та мережі”; 7091502 “Системне програмування”; 7091503 “Спеціалізовані комп'ютерні системи“. Всі цитати, цифровий і фактичний матеріал та бібліографічні відомості перевірені, написання одиниць відповідає стандартам Упорядники: Волк М.О. Відповідальний за випуск Харків ХТУРЕ 2000 МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ХАРКІВСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ МЕТОДИЧНІ ВКАЗІВКИ ДО КУРСОВОГО ПРОЕКТУВАННЯ ПО КУРСУ "СИСТЕМНЕ ПРОГРАМУВАННЯ " для студентів денної форми навчання фаху: 7091501 “Комп'ютерні системи та мережі”; 7091502 “Системне програмування”; 7091503 “Спеціалізовані комп'ютерні системи“. Харків ХТУРЕ 2000 Методичні вказівки до курсового проектування по курсу “ Системне програмування ” для студентів денної форми навчання /Упоряд. Волк М.О.- Харків: ХТУРЕ, 2000.- с.-Укр.мовою. Упорядники: М.О. Волк. ОБЩИЕ ПОЛОЖЕНИЯ Данные методические указания предназначены для проведения курсового проектирования по курсу “Системное программирование”, что завершает процесс подготовки специалистов по данному курсу. Курсовое проектирование введено в учебный процесс на основании учебных планов по вышеупомянутым учебным планам и проводятся у 4-м семестре. Методические указания состоят из таких разделов: цели и задачи курсового проектирования, тематика курсовых проектов, структура и содержание курсового проекта, методические указания по его выполнение, требования к оформлению курсового проекта, организация проектирования и защита курсового проекта. При курсовом проектировании студент должен показать творческий подход к разработке модулей программного обеспечения, грамотное использование существующего программного обеспечения, хорошее алгоритмическое мышление, навыки высококвалифицированного программирования на различных алгоритмических языках низкого уровня. Студенты должны уметь превратить свою программу в программный продукт, выполнить качественный анализ программы, сделать оценку полученных результатов при использовании различных вариантов. Задания предполагают создание уникальной программы, которая написана с использованием процедур и функций операционной системы. Особое внимание при разработке необходимо уделить эффективности с точки зрения используемых ресурсов вычислительной системы. Важное значение имеет удобный интерфейс с пользователем и хорошая документация к программе, предназначенная для пользователей и сопровождения программы. Желательно позаботиться о средствах защиты своих программ от несанкционированного доступа. Многие задания комплексные. Разработка больших программ требует дополнительных знаний а области организаций работ при создании модулей системы разными программистами. Возможно решение одной задачи несколькими студентами, но в этом случае предполагается обязательный анализ и сравнение различных вариантов. ЦІЛІ ТА ЗАДАЧІ КУРСОВОГО ПРОЕКТУВАННЯ Основной целью курсового проектирования по курсу "Системное программирование" является систематизация, углубление и активное применение знаний по системному программированию, закрепление знаний, полученных в лекционном курсе, а также на практических и лабораторных занятиях. Данную цель можно раскрыть следующим образом: систематизация и закрепление теоретических знаний студентов по основным разделам курса "Системное программное обеспечение"; углубленное изучение проблем разработки программного обеспечения для современных ЭВМ; привитие студентам практических навыков использования языков низкоуровневого типа при составлении системных программ, стыковки программных модулей, написанных на разных языках, а также анализа основных характеристик программ; знакомство с реферативными журналами и другими информационными источниками по программному обеспечению с целью анализа состояния решаемых задач: выполнение всех этапов разработки программ на примере, близком к реальным задачам, подготовка к выполнению дипломной работы. Самая важная задача курсового проектирования - развитие в студентов привычек разработки сложного программного обеспечения, которые включают изучения предметной области, для которой разрабатывается приложение, выбор, обоснование и использование современных систем проектирования с учетом эффективности разработок, таких, как время проектирования и отладки программного проекта, стоимости разработок. Особое внимание необходимо уделить использованию современных методов разработки программ таких, как объектно-ориентированное программирование и визуально проектирования, а также структурное и модульное программирования. Задачи, решаемые в процессе курсового проектирования: разработка системы математического обеспечения или его части в соответствии с требованиями к системе; закрепление практических навыков в оформлении документации на каждом этапе разработки; закрепление практических навыков использования ЭВМ, программного обеспечения, существующих средств обслуживания системных программистов; развитие навыков самостоятельной работы с системами государственных стандартов. Изложенное выше должно способствовать развитию у студентов алгоритмического и логического мышления, а также способствовать самостоятельному инженерному творчеству. Для выполнения курсового проекта за студентами закрепляется руководитель курсового проекта с числа преподавателей и сотрудников кафедры, что выдает задачу, консультирует студентов в течении всего времени проектирования, фиксирует график выполнения курсового проекта. Особое внимание руководитель курсового проекта должен уделить развития в студентов привычек самостоятельного решения поставленной задачи, умению выделять главные факторы в решаемой задаче, абстрагироваться от второстепенных деталей и решать задачу на том уровне абстракции, которые отвечает природе этой задачи. В курсе "Системное программирование" основное внимание уделяется изучению современных операционных систем, способов проектирования приложений, объектно-ориентированному программированию. В процессе курсового проектирования студенты должны продемонстрировать знания основных способов взаимодействия приложений с операционной системой, представлению объектов и операций над ними. Использование абстрактных понятий при системном и структурном подходе позволяет отложить вопрос детализации представления данных на больше позднее время и частично автоматизировать этот процесс. Использование современных способов визуального проектирования приложений спасает разработчика от рутинной работы, тем не менее, ошибки допущенные на начальном этапе проектирования, могут со временем свести на нет эффективность решаемой задачи. Поэтому, основное внимание необходимо уделить применению рассмотренных идей и методов в практическом программировании. ТЕМАТИКА КУРСОВЫХ ПРОЕКТОВ Темы курсовых работ должны быть реальными и посвящены расширению функции существующих программ, разработке драйверов для новых аппаратных средств или модификации существующих, а также решению задач, требуемых учебным процессом. Все курсовые работы по темам могут быть разделены на группы: изучение существующих систем математического обеспечения, их возможностей, а затем модификация и дополнение функций этих систем; разработка новых систем, которые позволяют решать задачи автоматизации ручного труда, обучения, тестирования и т.д. разработка интерфейсных приложений типа пользователь-приложение и приложение-приложение; К первым относятся проекты, связанные с расширением возможностей алгоритмических языков, операционных систем, редакторов, а также моделирование команд одного типа ЭВМ на других ЭВМ, т.е. создание кросс-систем, языковая реализация параллельного программирования и т.д. Ко вторьм - проекты, связанные с автоматизацией труда программистов, корректоров, референтов и др. К третьим относятся проекты, связанные с созданием интерфейса программных приложений на уровне команд операционной системы. Актуальность тематики курсовых проектов должна отвечать современному состоянию программного обеспечения и перспективам его развития. Перечень тем утверждается на заседании кафедры ЭВМ. Для практического освоения теории и методов разработки больших программных систем предусматривается выполнение комплексных курсовых проектов. Настоящие методические указания не исключают курсовых проектов по тематике, отличной от рекомендованной. Курсовые проекты могут основываться на работах, выполняемых по тематике НИРС, но должны быть доведены до создания программного продукта. Большинство заданий на курсовое проектирование предусматривает необходимость выполнения всех этапов разработки программного обеспечения. Для успешного выполнения этих работ желательно, чтобы студенты получили задание в предшествующем курсовому проектированию семестре. В этом случае возможно выполнение этапов разработки спецификации и проекта еще до изучения языка системного программирования. Желательна связь тематик курсового и дипломного проектирования. Этот далеко не полный перечень направлений постоянно расширяется и дополняется. Ниже приведена примерная тематика курсовых проектов: Программы системного уровня, системные утилиты, расширяющие возможности операционных систем. 1) Диагностика дискет 2) Диагностика винчестера 3) Шифровка - расшифровка файла 4) Программирование принтера 5) Программирование динамика и таймера 6) Разработка резидентных программ 2. Интерфейсные программы, связь и обмен данными. Разработка систем визуального ввода/вывода информации Разработка пользовательского интерфейса Реализация точечной и векторной графики Разработка программного обеспечения для издательских систем. Форматирование текстов в соответствии с заданными правилами Разработка OLE - объектов Создание многооконных приложений Разработка динамически подключаемых библиотек интерфейсных процедур Программы динамического обмена данными Прикладные программы. Разработка тренажера клавиатуры Разработка точечного графического редактора Создание векторного редактора Разработка программ обработки текстов 3. СТРУКТУРА И СОДЕРЖАНИЕ КУРСОВОГО ПРОЕКТА 3.1 Структура курсовой работы Курсовая работа должна быть выполнена в соответствии с заданием на проектирование и представлена пояснительной запиской и действующей программой на дискете. Структура пояснительной записки и ее объем (до 30 страниц текста формата. А4) должны быть такими, чтобы полностью раскрыть все разделы задания на курсовое проектирование. Она должна содержать следующие разделы: введение; анализ требований к разрабатываемой системе на основании задания; разработка спецификаций системы; проектирование системы; реализация и тестирование системы; заключение. Во введении необходимо показать актуальность решения поставленной задачи, при необходимости сделать обзор существующих систем с целью доказать, что они не решают поставленных задач или решают их неэффективно. Во втором разделе должны быть четко определены цель разработки, сформулированы ограничения на входные данные системы, описаны выходные данные. В третьем разделе в зависимости от задания к курсовому проекту должны быть описаны или существующие спецификации, или разработанные студентом. Например, если курсовая работа предусматривает разработку системы для расширения существующего языка, то спецификации разрабатываются студентом и фактически задают правила записи дополнительных операторов и их описание. Если курсовая работа посвящена разработке кросс-средств или созданию блоков, трансляторов со свойствами, отличными от свойств существующих трансляторов, то спецификациями являются операторы языка, для которого создается система. В этом случае операторы просто описываются. В четвертом разделе должна быть разработана структура системы, отражающая взаимодействие отдельных модулей, определены функции каждого модуля, его вход и выход. Необходимо разработать алгоритм функционирования каждого модуля. При выполнении комплексной работы в пояснительной записке необходимо показать структуру всей системы, определить, какие модули разработаны в данной работе, и дать описание алгоритмов функционирования именно этих модулей. В пятом разделе должны быть описаны; разработанные программы, определен оптимальный набор тестов и описаны результаты испытания системы на выбранном наборе тестов. В заключении необходимо сделать краткий обзор полученных результатов и дать рекомендации по внедрению разработанной системы, а также по ее модификации. 3.2 Требования к оформлению листа задания В бланке задания на курсовой проект должны быть заполнены все разделы: фамилия, имя и отчество студента; номер группы; тема работы, исходные данные, перечень подлежащих разработке задач, дата выдачи задания, календарный план его выполнения и срок сдачи студентом готового проекта; подписи руководителя и студента. Лист задания составляет руководитель курсового проекта. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОГО ПРОЕКТА 4.1 Общие методические указания Выполнение курсовой работы следует начать с изучения постановки задачи. Чтобы найти оптимальное решение для поставленной задачи, необходимо по реферативным журналам, сборникам алгоритмов и программ подобрать литературу, в которой описано решение подобных задач. Для получения отличной оценки за работу требуется составление оригинальной программы. Следует четко определить функции системы, ее достоинства по сравнению с существующими, а также пользователя системы с точки зрения его квалификации. После определения функций должны быть составлены спецификации. Каждой функции системы должна соответствовать хотя бы одна спецификация. При разработке спецификации необходимо исходить из того, что они должны быть просты как с точки зрения пользователя (применять для записи естественный язык), так и с точки зрения их реализации (не громоздки, требовать минимального числе. параметров, обеспечение возможности задания параметров по умолчанию). Составленные спецификации - это лицо системы, поэтому уделите этому вопросу максимальное внимание! Составленные спецификации обсудите с руководителем курсовой работы и с пользователями Вашей системы. После утверждения спецификаций руководителем (для реальных систем спецификации утверждаются заказчиком) должны быть составлены тесты для проверки функционирования будущей системы и для доказательства полноты спецификаций. Для каждого теста должны быть определены ожидаемые результаты. При разработке тестов следует пользоваться методикой, изложенной ниже (п.4.2). При проектировании системы определяется схема данных, которая отражает путь данных при решении задач к определяет этапы обработки данных. Для каждого данного определяется источник и приемник. Для всех программ определяются алгоритмы их функционирования. Для задания алгоритмов можно использовать графическое представление алгоритмов с помощью схем, которые должны выполняться в соответствии со стандартами [14] . Для увеличения наглядности схема не должна содержать более 50 блоков. Вместо схем алгоритмов можно использовать его текстовое представление с помощью специальных языков проектирования, описанных в литературе, например [ 2, с.60-65; 3, с.92-95] , или язык, разработанный самостоятельно. В последнем случае язык должен быть предварительно описан. Этап проектирования считается выполненным после проверки всех алгоритмов, разработанных для модулей системы. Для проверки правильности алгоритмов, для реализации которых предполагается использовать язык Ассемблер, рекомендуется его предварительная запись и отладка на языке высокого уровня. При реализации системы в случае использования нисходящих методов требуется разработка "заглушки" - программы, результат выполнения которой обеспечивает нормальную работу вызывающего модуля. Наиболее часто эта программа задает необходимые результаты с помощью операторов присваивания, формирует необходимые признаки и т.д. По мере создания программ, реализующих очередной модуль, следует выполнять его тестирование. Одной из основных задач курсового проектирования по курсу "Системное программирование" является получение практических навыков по составлений эффективных программ. Перед выполнением этапа реализации рекомендуется изучение раздела "Эффективность программ" в [ 3, с.117-178, 4] . Все программы, разработанные студентом, должны быть описаны в соответствии с принятыми стандартами для описания программ. 4.2 Тестирование программ Тестирование (выполнение программы с целью обнаружения ошибок [6]) по различным оценкам авторов занимает более 50 % времени, отведенного для разработки системы. При выполнении курсовой работы необходимо выполнить тестирование с использованием стратегии "черного" и "белого" ящика. В первом случае структура программы считается неизвестной, тесты формируются с учетом функций программы. Если среди спецификаций есть взаимосвязанные и взаимозависимые спецификации, необходимо использовать функциональные диаграммы 16, с. 75-92] . Если диаграмма получается громоздкой, необходимо составить диаграммы для части спецификации. Для независимых спецификаций и их частей использовать метод эквивалентных разбиений [6, с.63-66]. Для подготовки тестов с использованием логики программы рекомендуется использовать комбинаторное покрытие условий [6, с, 54-63 ].. Этим способом проверяются только те условия, которые не были проверены тестами, сформированными предыдущими методами. Система тестов дополняется тестами, получаемыми с учетом граничных значений. При отладке и тестировании программ рекомендуется использовать средства отладки языков Си, а также процедуру проверки выхода за границы индексов при использовании массивов. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ КУРСОВОГО ПРОЕКТА Курсовой проект оформляется в соответствии с ДСТУ 3008-95 и должен содержать следующие структурные элементы: титульный лист задание на курсовое проектирование реферат содержание введение основная часть выводы перечень ссылок Титульный лист содержит наименование министерства, университета, кафедры, тему курсового проекта, фамилии студента, выполнившего курсовой проект и руководителя курсового проектирования. Титульный лист оформляется по установленному образцу и приведен в приложении 1. Лист задания на курсовое проектирование соответствует форме У-287. Реферат должен содержать: сведения об объеме проекта, количество частей, иллюстраций, таблиц, приложений, источников по перечню ссылок текст реферата перечень ключевых слов Текст реферата должен отражать следующую информацию: объект исследований цель работы методы исследования результаты, новизна, применимость и т.п. Перечень ключевых слов включает 5-15 слов, напечатанных прописными буквами в именительном падеже через запятую. Во введении кратко излагается: оценка современного состояния проблемы мировые тенденции решения данных задач актуальность цель и взаимосвязь Основная часть должна содержать следующие разделы: анализ предметной области и постановка задач разработка структуры и алгоритмов программы описание программы тестирование программы технические требования и инструкция пользователя Выводы должны отражать анализ выполненной работы и отвечать на следующие вопросы: Колностью ли реализовано поставленное задание? Какие результаты показало тестирования программы? Какие недоработки содержит проект? Какие усовершенствования можно предложить при дальнейшем развитии программы? Оформление всего отчета правое поле 10, остальные 20 нумеруется только основная часть курсового проекта заголовки структурных элементов и разделов в середине строки и прописными буквами без точки в конце. Переносы не допускаются. заголовки подразделов, пунктов и подпунктов - с абзаца и строчными буквами, без точки и без переносов. расстояние от заголовка в обе стороны не более 2 строк. нумерация страниц - в правом верхнем углу без точки, титульный лист включается в нумерацию но не нумеруется. Вся нумерация - арабскими цифрами. разделы в пределах основной части - цифрами без точки номер подраздела - включает номер раздела, разделенный точкой. После номера точки нет. Все остальное - пункты, подпункты - нумеруется аналогично, нумерация полностью вложенная. Один элемент (пункт, подраздел) тоже нумеруется. Иллюстрация - обозначается «Рисунок [название]». Нумерация в пределах раздела. Снизу от иллюстрации. Таблицы - аналогично, но сверху. В таблицах в заголовках и подзаголовках точки не ставят. Формулы - посреди строки, сверху и снизу - по одной строке, номер справа в круглых скобках (). Пояснения - со следующего абзаца начиная со слова «где» ссылки на используемую литературу - в квадратных скобках []. Примечания - нумеруются, если их более одного. Оформляются следующим образом: сразу после необходимого места с абзаца слово «Примечание.» и после точки текст примечания. Если их более одного 1, то слово «Примечание.» и с абзацев номер с точкой и текст. Сноски - обозначаются арабскими цифрами со скобкой ) над сносимыми словами в их конце, сама сноска - под таблицей или в конце страницы после линии 30-40 мм. Начинается с надстрочного символа сноски (цифры) через минимальный межстрочный интервал, можно уменьшить шрифт. Приложения - как продолжение отчета или в отдельной части в порядке упоминания. Каждое приложение с новой страницы. Посреди строки слово «Приложение». Обозначается строчными буквами в алфавитном порядке. Каждое приложение должно иметь название. Если приложение оформляется отдельной частью - то оформляется свой титульный лист. Нумерация приложений вложенная, начинается с соответствующей буквы. Программная часть проекта оформляется в соответствии с ГОСТами ЕСПД. Допускается оформление курсового проекта в электронном виде в текстовом редакторе WinWord 8. Формат страницы - А4, поля: правое -2.5 см., левое - 2.5 см., верхнее и нижнее -2 см., шрифт - Times New Roman, кегль - 14, отступ красной строки - 5 символов. При этом пояснительная записка должна иметь твердую копию. 6. ОРГАНИЗАЦИЯ ПРОЕКТИРОВАНИЯ И ЗАЩИТА ПРОЕКТА Курсовое проектирование по курсу "Системное программирование" выполняется в соответствии с учебным планом в 4-м семестре и состоит из этапов, которые сведены в табл. 6.1. Таблица 6.1 № этапа Содержание выполняемых работ Период (в нед.)  1 Выдача заданий 2-я нед.  2 Ознакомление с литературными источниками, анализ и выбор метода решения поставленной задачи  3-4 нед.  3 Разработка алгоритмов решения, выбор системных средств решения задач курсового проектирования  5-6 нед.  4 Проектирование приложения 7-11 нед.  5 Отладка и тестирование приложения 12-14 нед.  6 Оформление пояснительной записки 15 нед.  7 Защита курсового проекта 16-17 нед.   Темы курсовых проектов утверждаются на заседании кафедры. Консультации проводятся не реже одного раза в неделю по утвержденному графику. В течении всего времени выполнения курсового проекта студенты должны на консультациях отмечать у руководителя выполнение графика курсового проектирования. Представление законченного курсового проекта осуществляется не позднее, чем за день до защиты. Защита курсового проекта осуществляется на кафедре в присутствии комиссии из числа преподавателей и сотрудников кафедры. По материалам курсового проекта необходимо подготовить доклад на 8-10 мин., в котором необходимо отразить тему и актуальность решаемой задачи, обосновать выбор технического решения с учетом экономических требований, провести краткий сравнительный анализ других возможных методов решения задачи, основанных на современных достижениях в данной области программного обеспечения. Необходимо также подробнее остановиться на ключевых вопросах решаемой задачи, подчеркнуть эффективные технические решения. После доклада необходимо ответить на ряд вопросов членов комиссии как по теме курсового проекта, так и на более общие вопросы, касающиеся самостоятельности выполнения курсового проекта и эрудированности студентов в области использования программного обеспечения. Оценкой "отлично" оцениваются курсовые проекты, выполненные в соответствии с заданием и вышеизложенными требованиями, выполненными самостоятельно, имеющими оригинальные технические решения. При оценке проекта важную роль играют четкие ответы на поставленные вопросы. Повышает ценность курсового проекта его практическое использование на производстве или в учебном процессе. Оценкой "хорошо" оцениваются курсовые проекты, имеющие частные недостатки в реализации проекта, некоторые пробелы в проработке отдельных вопросов, неполные ответы на вопросы. Оценкой "удовлетворительно" оцениваются курсовые проекты, имеющие существенные недостатки в реализации проекта, слабую проработку ключевых вопросов, недостаточно аргументированные ответы на вопросы. СПИСОК ЛИТЕРАТУРЫ 1. Бек Л. Введение в системное программирование. -М.: Мир,1968.-440 с. 2. Зелковиц И., Шоу А., Геннон Дж. Принципы разработки программного обеспечения. - М.: Мир, 1962. - 368 с. 3. Д.Ван Тассол. Стиль, разработка, эффективность, отладка и испытание программ. - М.: Мир, 1985. - 332 с. 4. М. Эйбраш. Оптимизация кода исходных текстов программ для микропроцессоров семейства 80х86 //Журнал д-ра Добба. -1991. - № 2. - С.42-49. 5. Синев Л. Как создать оконный интерфейс //Компьютер Пресс. - 1991. - № I. - С.16-33. 6. Майерс Г. Искусство тестирования программ. - М.: Финансы и статистика, 1982. - 176 с. 7. Абель П. Язык ассемблера для IВМ РС и программирования. -М.: Высш.юк.,1992. - 447 с. 8. Страуструп Б. Язык программирования С++: В 2-х кн. -К.: Диасофт, 1993. 9.. Буч Г. Объективно-ориентированное проектирование с примерами применения. - К.: Диалектика., 1992. - 528 с. 10. Чижов А.А. Системные программные средства ПЭВМ. -М.: Финансы и статистика, 1990. - 360 с. 11. Боэм Б.У. Инженерное проектирование программного обеспечения. - М.: Радио и связь, 1905. - 512 с.. 12. Гантер Р. Методы управления проектированием программного обеспечения. - М.: Мир, 1981. - 392 с. 13. Коутс Р., Влейминк И. Интерфейс "Человек-компьютер". -М.: Мир, 1990. - 502,с. 14. ГОСТ 19.701 - 90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. 15. ДСТУ 3008-95. 16. Петзольд Ч. Программирование под Windows 95. В двух книгах: BHV - Санкт - Петербург, 1997, silt. 17. Мешков А., Тихомиров У. Visual C ++ MFC. Программирование под Windows NT and Windows 95: В двух книгах. - : BHV - Санкт - Петербург, 1997., silt. 18. Tompson Н. Secrets of programming the three-dimensional diagrams for Windows 95., BHV - St.-Petersburg, 1997., silt.1997. - 352p. 19. Black, Ulysses. TCP/IP & Related Protocols, Second Edition. McGraw-Hill, 1994. СОДЕРЖАНИЕ Общие положения Цели и задачи курсового проектирования . . . . . . . . . . . . . . . . . . . . . . . . . Тематика курсовых проектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Структура и содержание курсового проекта . . . . . . . . . . . . . . . . . . . . . . Методические указания по выполнению курсового проекта . . . . . . . . . Требования к оформлению курсового проекта. . . . . . . . . . . . . . . . . . . . . Организация проектирования и защита проекта . . . . . . . . . . . . . . . . . . . Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Приложение 1 Задания к курсовому проектированию по курсу "Системное программирование для WINDOWS" на 2006-2007 учебный год Все задания должны быть согласованы с руководителем проекта в течении 14 дней после начала семестра. 1. Разработать графический редактор для растровых изображений. Редактор должен выполнять следующие функции: чтение/запись/воспроизведение файлов битовых образов *.bmp; масштабирование выбранного изображения; инверсию цветов изображения; перевод изображения в монохромный вид и в вид "градации серого"; поворот изображения на задаваемый угол. 2. Разработать графический редактор для векторных изображений. Редактор должен содержать следующие функции: ввод элементарных векторных примитивов (линия, прямоугольник, эллипс, ломаная линия, текст) и т.п. сохранение/чтение векторного изображения в метафайлы (*.wmf). выбор цвета рисования; масштабирование изображения; поворот изображения на задаваемый угол. 3. Разработать приложение "Калькулятор" со следующими характеристиками: два возможных вида калькулятора – научный и обычный; набор операций, поддерживаемых калькулятором, согласовывается с преподавателем; возможность выполнения арифметических и логических операций над числами в любой системе счисления (двоичной, шестнадцатеричной, десятичной); 4. Создать программу, позволяющую отображать графики функций, заданных таблично (чтение из файла) и простейшими математическими выражениями. В процессе выполнения реализовать: формат файла для хранения табличных функций; окно работы с табличными функциями с возможностями чтения/записи файла, редактирования таблиц; возможность отображения графиков функций; создания таблиц элементарных функций, набор которых согласовывается с преподавателем. 5. Разработать приложение, позволяющее создавать круговые диаграммы со следующими возможностями: задание параметров диаграммы, включающих таблицу параметров диаграммы, цвета каждой области диаграммы, размеры диаграммы; реализовать возможность сохранения и чтения параметров диаграммы в файл; отображение диаграммы на экране; экспорт диаграммы в файл формата *.bmp. 6. Создать редактор ресурсных файлов приложения, который позволяет формировать следующие ресурсы: иконки; меню; текст; диалоговые окна. Ресурсы должны импортироваться в Microsoft Visual C++. 7. Написать программу-проводник, которая позволяет выполнять следующие действия с файлами: просматривать содержимое дисков и каталогов; копировать файлы из одного каталога (диска) в другой; изменять имена фалов. 8. Написать программу, которая позволяет выполнять следующие действия с файлами: просматривать содержимое дисков и каталогов; получать подробную информацию о файлах (размер, тип, дата последнего изменения); удалять файлы с диска. 9. Написать игру "Крестики-нолики" на безграничном поле. В игру могут играть два человека, которые поочередно ставят крестики и нолики. Выигрывает тот, кто выстроит подряд пять ноликов или пять крестиков. Поле игры содержит постоянное число клеток и изменяет масштаб отображения при изменении размеров окна. Игрок может выбирать цвет игровой метки. Написать игру «Ханойские башни». Игра состоит из круглой подставки с тремя стержнями. На стержнях нанизаны диски различных диаметров. На каждом стержне диски сложены в стопку по возрастанию диаметра: никогда ни один диск не кладется на другой диск меньшего размера. Перекладывая диски по одному согласно вышепреведенному правилу, добиться того, чтобы все диски оказались на одном, указанном стержне. Программа должна обеспечивать возможность перекладывания дисков, контроль правильности ходов и счет времени выполнения. Написать игру "Тетрис". Скорость падения фигур устанавливается при помощи таймера. При переходе с уровня на уровень скорость увеличивается. Программа должна вести учет набранных игроком очков. Написать игру "Сима". На игровом поле появляется определенное число точек, расположенных случайным образом (>=6). Поочередно два играка соединяют прямыми линиями две еще не соединенные точки. Линии двух игроков отличаются. Проигрывает тот, кто первым построит треугольник из своих собственных линий. Написать программу «Мозаика» На клеточном поле пользователь может заполнять пустоты выбранным в окне палитры цветом (16 доступных цветов). Пользователь может менять палитру цветов, при этом изменяются палитра уже созданного рисунка. Обеспечить возможность записи и чтения рисунка с диска. Написать программу «кроссворд». Пользователь может вводить выбранные буквы слова. Если слово введено правильно, оно отображается черным цветом, иначе – красным. Разработать формат текстового файла, где хранятся заготовки крассвордов. Пользователь могжет открыть любой из файлов, содержащий кроссворд. Написать программу – лабиринт. В клиенской области приложения нарисован лабиринт. С помошью клавиш клавиатуры пользователь передвигает фишку через неограниченные лабиринтом области. Разработать формат файла для хранения новых уровней лабиринта. Написать программу-игру «Змея». Змея двигается по полю, собирая объекты, увеличивающие количество очков. Со временем тело змеи удлиняется. Змея не должна пересикать свое тело и объекты типа «стена». Написать MDI приложение, позволяющее просматривать текстовые файлы и файлы формата rtf. Приложение должно давать возможность одновременного просмотра нескольких файлов, а также возможность получения информации о файле. Разработать программу «Часы». Пользователь может изменять размеры часов, а также их вид (обычный и цифровой), выбирать цвет фона и цвет элементов часов (цифр – для цифровых и стрелок – для обычных часов). Разработать программу, фиксирующую все сообщения, поступающие в программу от мыши. Программа должна выводить информацию о типе и параметрах сообщений в клиентскую область окна. При переполнении окна, программа осуществляет прокрутку (при помощи полос скроллинга) информации. С помощью нажатия определенных клавиш пользователь может прекратить либо продолжить вывод сообщений на экран. Разработать программу, фиксирующую все сообщения, поступающие в программу от клавиатуры. Программа должна выводить информацию о типе и параметрах сообщений, поступающих в выбранное окно (окно может принадлежать другой программе). При переполнении окна, программа осуществляет прокрутку (при помощи полос скроллинга) информации. С помощью нажатия определенных клавиш пользователь может прекратить либо продолжить вывод сообщений на экран. Разработать программу, фиксирующую все сообщения, поступающие в программу от дочерних окон управления и меню. Программа должна выводить информацию о типе и параметрах сообщений, поступающих в выбранное окно (окно может принадлежать другой программе). При переполнении окна вывода, программа осуществляет прокрутку (при помощи полос скроллинга) информации. С помощью нажатия определенных клавиш пользователь может прекратить либо продолжить вывод сообщений на экран. Программа должна содержать стандартное меню и элементы управления текстового редактора. Создать адресную книгу. Программа должна позволять вводить Ф.И.О. абонента, домашний и рабочий адрес, телефоны, и дополнительную текстовую информацию. Информация запоминается на диске в виде внешнего файла. Программа позволяет просматривать элементы базы данных, а также осуществлять поиск по фамилии, телефону и адресу. Разработать программу редактирования текстовых файлов. Пользователь имеет возможность выбрать текстовый файл, после чего программа выдает информацию о количестве байт (размере файла), количестве букв, слов, предложений, а также предположительно язык (русский или английский) текста. Текст может быть отредактирован. Изменения сохраняются в файл на диске. Разработать программу создания таблиц. При создании новой таблицы пользователь вводит число строк и число столбцов. В ячейках таблицы пользователь может вводить текстовую информацию. В любой момент пользователь может изменить ширину и высоту строк и столбцов таблицы. Разработать программу-игру типа "Арканоид". Игрок с помощью клавиатуры или мыши управляет площадкой, которая отбивает мяч. Мяч отражается от стенок поля и площадки игрока. Если игрок не отбивает мяч, он теряется. Игрок может менять скорость полета мяча. Разработать программу “Японский кроссворд”. Игрок имеет возможность создавать новый кроссворд, после чего программа сохраняет его на диске. Игрок может загрузить игру, сохранить ее и прочитать в любое время. Разработать программу «Органайзер». Пользователь программы имеет следующие возможности: - вывод календаря на любой месяц; - фиксация за определенной датой события (текстовых заметок); - установка будильника на определенную дату и время с выдачей текстового сообщения о событии (массив событий). - записную книжку для хранения телефонов. 28. Написать программу «сапер». На поле размером NxM компьютер случайным образом расставляет X мин. Пользователь поочередно задает номер ячейки а компьютер выдает ему количество мин, находящихся в соседних ячейках. Если и игрок попал в ячейку, где находится мина, то он проиграл и игра начинается сначала. Считается, что игрок выиграл, если он открыл все пустые ячейки. 29. Написать программу «морской бой» на поле 10х10. На поле можно разместить 4 однопалубных, 3 двухпалубных, 2 трехпалубных и 1 четырех палубный корабль. Программа случайным образом размещает корабли, после чего игрок совершает выстрелы в виде пары чисел (номер строки и номер столбца). Компьютер сообщает: убит корабль, ранен или мимо. После того, как все корабли уничтожены, компьютер выдает сообщение об окончании игры и сообщает число ходов. 30. Написать программу – склад. Программа следит за всеми оборотами товара на складе: наличие товара, прибытие, продажа, перемещение по складу (для этого каждый товар характеризуется объемом единицы и количеством единиц товара, склад – указанием номера комнаты,
Антиботан аватар за замовчуванням

06.02.2014 00:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!