Методические указания к курсовой работе по системному программному обеспечению
доцент кафедры АСОИУ Д.Г. Хохлов
Цель работы – изучение принципов функционирования и построения компонентов трансляторов и освоение технологии модульного программирования.
Курсовая работа включает разработку, отладку и документирование транслятора для заданного входного языка. Результатом курсовой работы является программа транслятора и пояснительная записка – отчет, оформленная в соответствии с требованиями стандартов и задания на курсовую работу [6, 7].
Пояснительная записка включает следующие основные разделы: задание, описание применения, описание программы, заключение и приложение. По согласованию с руководителем допускается изменение (конкретизация) названий разделов, а также включение дополнительных разделов. Содержание разделов описано в пособиях [6, 7].
Разработка транслятора, как правило, проводится методом внесения изменений в модули программы учебного компилятора С0 [4, 5]. Описание программы транслятора должно включать перечень основных изменений компилятора С0, а также сведения о средствах, разработанных для отладки модулей транслятора: тестах, заглушках (имитаторах), драйверах, программах отладочного вывода и др.
В приложении приводится: полный список вставляемых, удаляемых и изменяемых строк исходного текста компилятора С0 с указанием их номеров в порядке возрастания и/или исходная программа разработанного транслятора; контрольный пример для проверки и демонстрации его работы; а также тексты основных отладочных средств: тестов, заглушек (имитаторов), драйверов, программ отладочного вывода и др.
Оценка курсовой работы зависит от следующих факторов:
корректности и качества разработанных программ, в том числе полноты реализации требований задания;
полноты и качества пояснительной записки;
защиты курсовой работы – умения объяснить и обосновать принятые проектные решения, ответить на вопросы по функционированию программы и ориентироваться в проблемах и методах данной предметной области.
Неудовлетворительная оценка по одному из указанных критериев приводит к неудовлетворительной оценке всей курсовой работы. При неудовлетворительной защите, свидетельствующей о полной несамостоятельности выполнения работы, возможна смена задания на курсовую работу.
Дополнительные бонусы (“плюсы”) при оценке могут быть получены за следующие расширения заданной минимальной функциональности:
реализацию параметров управления работой транслятора;
дополнительный интерактивный интерфейс с пользователем;
оптимизацию объектной программы, например, эффективное (“сокращенное”) выполнение логических операций и операций сравнения, задание начальных значений глобальных и/или локальных переменных и т. п.;
реализацию дополнительных операторов и операций входного языка (выход из цикла break, переход к следующей итерации цикла continue и т. п.).
Не допускается реализация функциональности, предусмотренной другими вариантами задания на курсовую работу. Такая реализация рассматривается не как достоинство, а как недостаток курсовой работы!
Дополнительные бонусы не учитываются, если не реализована минимальная функциональность, предусмотренная вариантом задания.