|
|
Главная / Курсовые проекты / Требования к проекту по курсу «Автоматы в программировании»
(версия для печати)
Требования к проекту по курсу «Автоматы в программировании»
|
Вы создаете не какую-то, а
проектную документацию: в
идеале по ней другой человек
вручную или с помощью
инструментального средства,
например, UniMod, может «один
в один» программно реализовать
проект.
Кто ясно мыслит,
тот ясно излагает.
А. Шопенгауэр
Человек ясно выражается,
когда им владеет мысль,
но еще яснее, когда он
владеет мыслью.
В.Г. Белинский
Обращаться с языком кое-как —
это значит и мыслить кое-как:
неточно, приблизительно,
неверно.
А.Н. Толстой
Выполните работу так, чтобы Вы ей могли гордиться.
Мысль меняется в зависимости от
слов, которые ее выражают. Не
мысли придают словам
достоинство, а слова мыслям.
Блез Паскаль
Выражай смертными словами
бессмертные вещи.
Лукреций
Вчера была задержана пьяная
учительница русского языка.
Она пыталась исправить вывеску
магазина «Обои» на «оба».
Анекдот
|
- На настоящем сайте в разделе «Проекты» размещены более 50
проектов, которые в общем можно использовать как аналоги по
оформлению.
В качестве прототипа можно взять книгу Шалыто А.А. Логическое управление. Методы аппаратной и программной
реализации алгоритмов. СПб.: Наука, 2000, которая выложена на этом
сайте в разделе «Книги». Она оформлена правильно, так как выпущена
старейшим и авторитетнейшим издательством в России.
- Документы должны быть выполнены в текстовом редакторе «Word»
(или, в исключительных случаях, по предварительному согласованию
в «TeX»). Шрифт Times New Roman 12-го кегля. При этом имена собственные
выделяются курсивом, а названия переменных и классов моноширинным
шрифтом (Courier New). Для выделения в тексте используйте полужирный шрифт.
- Проект должен содержать:
- аннотацию на русском языке (5-10 строк);
- аннотацию на английском языке (5-10 строк);
- проектную документацию;
- исходные коды;
- приложение или апплет.
- В аннотациях и на титульном листе инициалы располагаются перед
фамилией (например, И.И. Иванов), а списке литературы после
(например, Иванов И.И.). Инициалы отделяются от фамилии и друг от
друга неразрывными пробелами.
- Аннотации должны быть оформлены, как на сайте.
- После титульной страницы в отчете должен идти раздел «Оглавление».
Страницы (кроме титульного листа) в документе должны быть пронумерованы.
Номер ставится внизу по центру страницы.
- Разделы «Оглавление», «Введение», «Заключение», «Литература»
(«Источники» при наличии ссылок на интернет-ресурсы) не нумеруются.
- Используйте стили. Размеры шрифтов названий разделов уменьшаются по
вложенности. Шрифт заголовков разделов: Arial (Helvetica).
- Номер раздела должен заканчиваться точкой, его название нет. После названия рисунка или таблицы точка также не ставится.
- «Скелет» оглавления приведен ниже:
(Первая страница титульный лист, вторая страница оглавление).
ОГЛАВЛЕНИЕ
Введение............................ 3
1. Постановка задачи................ 4
2. Проектирование................... 10
2.1. Диаграмма классов............. 12
2.1.1. Основные классы.......... 14
2.1.2. ...
2.2. Автоматы.......................
2.3. Вычислительные алгоритмы.......
3. Реализация.......................
...
Заключение...........................
Литература...........................
Приложение 1. Протоколы работы
программы (логи).......
Приложение 2. Исходные коды..........
Если в работе имеются ссылки на интернет-ресурсы, то раздел
называется не «Литература», а «Источники».
- Четвертый уровень вложенности возможен, но нежелателен.
- Во введении должна быть обоснована актуальность выбранной темы,
кратко сформулирована решаемая задача, указаны язык
программирования и операционная система, использованные в проекте.
- В разделе «Постановка задачи» должно быть приведено подробное
словесное описание решаемой задачи. Приведены рисунки, чертежи
и скриншоты, поясняющие постановку задачи.
- В разделе «Проектирование» при использовании объектно-ориентированного стиля программирования должна приводиться
диаграмма классов. Основные классы должны быть подробно
описаны. Для каждого из них желательно разработать «Структурную
схему класса», отражающую его интерфейс и используемые методы,
с указанием какие из них являются автоматными.
- В разделе «Автоматы» для каждого автомата должны быть приведены
три документа: словесное описание, схема связей автомата, граф переходов.
Все названия на схемах должны быть на русском языке.
- Словесное описание должно быть весьма подробным, но так как
поведение сложного автомата понятно не описать, то она обычно
представляет собой «декларацию о намерениях».
- Схема связей автомата подробно описывает его интерфейс. На этой
схеме слева должны быть показаны:
- источники информации;
- подробное название каждой входной переменной;
- подробное название каждого события;
- предикаты с номерами состояний других автоматов, которые
используются в рассматриваемом автомате в качестве входных
воздействий. Например, может применяться предикат Y8 == 6,
принимающий значение
равное единице, когда восьмой автомат перейдет в шестое
состояние);
- входные переменные, обозначаемые, как x с соответствующими
индексами;
- события, обозначаемые, как e с соответствующими индексами;
- переменные для хранения состояний автомата с номером N,
обозначаемые как YN.
В схеме связей справа должны быть показаны:
- выходные переменные, обозначаемые, как z с соответствующими
индексами;
- подробное название каждой выходной переменной;
- события, порождаемые рассматриваемым автоматом (если они
имеются);
- подробное название каждого порождаемого события;
- приемники информации.
- Граф переходов изображается при помощи шаблона «Visio2Switch»
(раздел «Последователи» настоящего сайта), который позволяет
рисовать красивые графы переходов.
При использовании инструментального средства «UniMod», графы
переходов и схемы связей изображаюся с помощью этого средства.
- В верхней части вершины, соответствующей состоянию, указывается
ее номер и через точку название. В средней части обозначения
вложенных в это состояние автоматов. В нижней части -
с обозначением in: выходные переменные, формируемые при входе в
состояние, а ниже с обозначением out: выходные переменные,
формируемые при выходе из состояния.
- Если из нескольких вершин исходит несколько одинаково
помеченных дуг, которые заходят в одну и ту же вершину, то
для упрощения изображения графа переходов «исходные» вершины
обводятся пунктиром, от которого исходит только одна дуга с
указанной пометкой, а все остальные указанные дуги исключаются.
- В вершинах графов переходов, построенных с помощью шаблона
«Visio2Switch», устраняются обозначения A: и z:, если в них
отсутствуют вложенные автоматы и выходные переменные.
- В разделе «Вычислительные алгоритмы» при использовании в
вершинах или на переходах сложных вычислительных алгоритмов
обосновывается их выбор и приводится их описание
(в том числе и математическое). Эти алгоритмы обозначаются
переменными x и z в зависимости от того, где выполняются
вычисления: на входе или на выходе.
- В разделе «Реализация» должны быть описаны особенности реализации
программы. В частности, должен быть приведен шаблон для формальной
и изоморфной реализации автоматов. Здесь же должны быть приведены
реализации автоматов.
- В «Заключении» описываются достоинства и недостатки выполненного
проекта. Могут указываться пути его совершенствования.
- Список литературы составляется либо в порядке упоминания или по
алфавиту. Первый способ предпочтителен. Список оформляется
следующим образом.
Источники
- Шалыто А.А. Логическое управление. Методы аппаратной и
программной реализации алгоритмов. СПб.: Наука, 2000.
- Шопырин Д.Г., Шалыто А.А. Синхронное программирование
//Информационно-управляющие системы. 2004. N3.
http://is.ifmo.ru, раздел «Статьи».
- Туккель Н.И., Шалыто А.А. Система управления дизель-генератором
(фрагмент). Проектная документация. СПбГУ ИТМО. 2002.
http://is.ifmo.ru, раздел «Проекты».
- Фамилии и инициалы всех авторов или название, если оно
первое, выделяется италиком.
- Если авторов больше трех, писать «и др».
- Ссылки на источники выполнять так: [1,2,5-8].
- При записи в список литературы статей перед двумя слешами //
точка не ставится.
- Протокол отражает функционирование программы в терминах объектов и
автоматов. При этом должны протоколироваться состояния, переходы,
входные переменные и их значения, события и выходные переменные.
Вложенность автоматов обозначается отступами.
- В приложении должны быть приведены исходные коды, сильно
«сдобренные» комментариями на русском языке. На приложения
обязательно должны быть ссылки в тексте. Приложения размещаются
в самом конце работы после разделов «Заключение» и «Литература»
(«Источники»).
- Должны быть учтены все указания редактора Word (зеленые,
красные и синие), предупреждающие о возможных ошибках.
- В тексте сначала должны быть ссылки на рисунок (таблицу), который
(-ая) должны приводиться сразу за ссылкой. В работе не может быть
рисунков или таблиц, на которые в тексте нет ссылок.
- Ссылка на рисунок (рис. 1). Ссылка на таблицу (табл. 1). Между
префиксом и номером должен быть неразрывный пробел.
- Подрисуночная подпись выравнивается по центру (в конце никаких точек):
Рис. 1. Диаграмма классов
- В таблицах пишется:
Таблица N. Число схем
Выравнивание по правому краю.
- Если таблица или рисунок в документе один, то он не нумеруется.
- Если таблица переносится на другую страницу, то должна повторяться
ее «шапка» и должно быть написано «Продолжение табл. N» (без точки в
конце).
- Нельзя писать:
- «для чего». Следует писать «для этого»;
- предложения не начинать с «А
, «Но
», «То есть
»
и тем более «Т.е.»;
- «нужно». Следует писать «необходимо».
- Чередуйте слова «используется» и «применяется».
- Не используйте одинаковые и или однокоренные слова «рядом».
- Следует писать безлично без «мы» и «я». Используйте слова
«авторы» или «автор».
- При печати не используется буква «ё».
- В работе могут использоваться только следующие сокращения:
т.д., т.п., разд., табл., рис., др. (в списке литературы),
но не т.к. и т.е.
- В каталоге приложения должен быть один исполняемый файл.
В случае языка Java создавайте bat или cmd-файл.
- Не применять уменьшительно ласкательные суффиксы, например
«лампочка». Лампочки бывают в люстрах, а программки в театрах.
- Тире должны быть длинными (комбинация клавиш Ctrl + Alt + -), а
дефисы короткими.
- Не используйте слова: очевидно, масса преимуществ, широко
используется (применительно к автоматному программированию) и т.д.
- Аннотации должны быть выполнены в формате HTML по шаблонам,
приведенным на http://is.ifmo.ru/templates/ (первая строчка не заключена в тэги).
- Файлы проекта должны именоваться следующим образом (projectname — краткое имя проекта на английском языке):
документация — projectname.doc;
исполняемые файлы — projectname_bin.zip (или projectname_bin.exe в
случае самораспаковывающегося архива);
исходные тексты — projectname_src.zip.
- Писать надо не как удобно, а как принято в хороших книгах или в
стандартах.
- Всегда употребляйте самые ясные и недвусмысленные термины.
Никогда не употребляйте слова, имеющие два смысла, не определив,
в каком из них оно будет употребляться.
Никогда не употребляйте одного слова в двух значениях.
Никогда не употребляйте разные слова в одном значении.
Лорд Брум
- Из двух возможных слов всегда выбирайте самое простое.
Поль Валери
- Вместо «нужны» (что очень важно в нужнике) пишите «необходимы».
- Не «меняется», а «изменяется».
- Запомните, что когда вашу работу будут читать в интернете, вас
при этом не будет и вы ничего не сможете пояснить. Поэтому
документацию следует писать так, чтобы ее можно было понять
без вашей помощи и не сильно напрягаясь.
-
Любой текст должен быть написан так, чтобы читатель мог его прочесть, а не мучаться с каждым предложением, догадываясь
что автор имел ввиду. Помните, что когда ваш читатель захочет решать кроссворды, он обратится не к вашей работе, а в газетный киоск.
- Если документация написана логично, то скорее всего правильно.
А если написана не логично, то и читать не хочется.
- Реагируйте на подчеркивание зеленым и красным цветом при
использовании текстового редактора, а не то буду «реагировать» я.
У меня складывается впечатление, что большинство студентов
зеленый цвет в этом случае воспринимают как зеленый свет
светофора проходи, все нормально! Как они воспринимают красный
цвет в редакторе, я не знаю. Видимо, они просто больны
дальтонизмом.
- Вместо «надо» пишите «требуется», вместо «значит» -
«следовательно».
- Логи и исходные тексты программ должны быть вынесены в
приложения, каждое из которых должно иметь номер и название.
- Приложения должны располагаться в конце работы после списка
литературы (источников).
- Смысл предложений обеспечивайте не интонациями голоса, а знаками
препинания, так как читатель вашей работы, выложенной в
Интернет, не всегда будет иметь возможность услышать ваш
прекрасный голос.
- Вместо «не нужно» пишите «не обязательно»
- При использовании списков, если применяется нумерация, то
перед списком, после каждого номера и конце каждого пункта ставятся
точки. Если нумерация не применяется, то перед списком ставится
двоеточие, пункт начинается с маленькой буквы, а заканчивается
(если он не является последним в списке) точкой с запятой.
- Не унижайте читателя: не используйте в работе таких слов, как
«очевидно», «ясно», «несомненно» и т.д. Не все Ваши читатели
такие образованные и умные, как Вы или Ваш приятель.
- Плохо выполненная документация не сокращает число вопросов, а их увеличивает.
- Вместо слов «то есть» ставьте тире.
- Так как вы не из царского рода, то вместо «вышеизложенное»
пишите лучше «изложенное».
- Числительные от нуля до девяти должны писаться словами.
- Списки желательно делать ненумерованными. В конце каждой записи в
списке, кроме последней, ставится точка с запятой. Последняя запись
заканчивается точкой.
- Слово "количество" пишется для неизмеряемых предметов
(количества песка), а слово "число" для предметов, которые можно
подсчитать (число компьютеров).
- В текстах вместо понятия «достоинство» обычно неправильно применяют понятие «преимущество». Преимущество должно быть перед кем-то, а достоинство может быть само по себе. Видимо, по этой причине часто говорят о «мужском достоинстве» и о «достоинстве мужчины».
|