
- •Часть 1. Варианты заданий.
- •Содержание
- •1Общие сведения
- •2Требования к выполнению лабораторных работ
- •2.1Методика подготовки и выполнения лабораторных работ
- •2.2Требования к содержанию лабораторных работ
- •3Требования к выполнению курсовой работы
- •3.1Методика подготовки и выполнения курсовой работы
- •3.2Требования к содержанию курсовой работы
- •Литература.
- •4Требования к оформлению программного кода
- •5Варианты заданий Вариант №1
- •5.1Автоматизация учета и анализа результатов испытаний артиллерийских установок
- •Вариант №2
- •5.2Автоматизация учета и анализа результатов собеседований соискателей на бирже труда
- •Вариант №3
- •5.3Автоматизация учета поставок товаров на оптовый склад
- •Вариант №4
- •5.4Автоматизация учета и анализа результатов проведения акций по продвижению товара на рынок
- •Вариант №5
- •5.5Автоматизация учета и контроля технического состояния парка самолетов
- •Вариант №6
- •5.6Автоматизация учета планового технического обслуживания парка автомобилей, сдаваемых в прокат
- •Вариант №7
- •5.7Автоматизация учета и анализа результатов тренировок спортсменов.
- •Вариант №8
- •5.8Автоматизация учета результатов продвижения рекламных интернет‑услуг
- •Вариант №9
- •5.9Автоматизация учета и контроля успеваемости студентов.
- •Вариант №10
- •5.10Автоматизация учета и контроля назначений в процедурном кабинете поликлиники
- •6Литература
Введение. Отражает основные результаты, полученные на этапе анализа. Определяются объекты автоматизации и границы разрабатываемой системы. Формулируется цель и назначение.
Технический проект. Содержит результаты, полученные на этапе анализа: описание предметной области, математическую модель задачи (формальное представление критериев поиска и сортировки). Отражает основные результаты, полученные на этапе проектирования: приводятся и описываются разработанные модели (диаграмма классов) и алгоритмы реализуемой системы (блок-схема); описываются требования к информационному и техническому обеспечению. Модели и диаграммы приводятся в нотации UML.
Рабочий проект. Отражает результаты, полученные на этапе реализации.
Программа и методика испытаний. Приводится полный набор тестов для проверки системы, а также примеры выполнения тестов с результатами работы.
Заключение. Излагаются основные результаты выполненной работы.
Литература.
4Требования к оформлению программного кода
При оформлении исходного кода программы следует придерживаться приведенных ниже правил.
Файлы.
Заголовочные файлы должны иметь расширение .h, файлы с исходным текстом на С++ .срр.
В общем случае заголовочный файл должен содержать объявление одного класса. Возможно объявление нескольких вспомогательных классов. Вспомогательные классы, как правило, элементарны и имеют гораздо меньший размер, чем основные. Файл .cpp должен совпадать по имени с заголовочным файлом и содержать определение объявленных в .h классов.
Правила именования файлов совпадают с правилами формирования идентификаторов
Все включаемые директивой #include файлы должны находиться в начале файла Включаемые файлы должны быть отсортированы и сгруппированы. Сортировка производится от низкоуровневых к высокоуровневым файлам.
Стили применения регистра букв при именовании идентификаторов
Pascal (Паскаль) – указание этого стиля оформления идентификатора обозначает, что первая буква заглавная и все последующие первые буквы слов тоже заглавные. Например, BackColor, LastModified, DateTime.
Camel (Кэмел) – указание этого стиля обозначает, что первая буква строчная, а остальные первые буквы слов заглавные. Например, borderColor, accessTime, templateName.
Именование идентификаторов
Предпочтительно использовать имена, которые ясно и четко описывают предназначение и/или смысл сущности. Имена идентификаторов следует делать как можно короче (но не в ущерб читабельности).
Современные языки позволяют формировать имя из пространств имен и типов. Главное, чтобы смысл идентификатора был понятен в используемом контексте. Например, количество элементов коллекции лучше назвать Count, а не CountOfElementsInMyCollection.
Не допускается использование подчеркивания для отделения слов внутри идентификаторов, это удлиняет идентификаторы и затрудняет чтение.
Не допускается использование аббревиатур или неполных слов в идентификаторах, если только они не являются общепринятыми.
Не допускается использование акронимов, если они не общеприняты в области информационных технологий.
Широко распространенные акронимы используйте для замены длинных фраз. Например, UI вместо User Interface или Olap вместо On-line Analytical Processing.
Имена длиннее двух букв записываются в стиле Pascal или Camel.
Для именования пользовательских типов данных (перечислений, структур, классов и т.д.) используется нотация Pascal.
В именах типов не предполагается использовать никаких префиксов.
Открытые переменные члены класса или структуры, а также отрытые и закрытые свойства и методы класса или структуры именуются с использованием нотации Pascal без префиксов.
Для имен функций и методов класса используются глаголы или комбинацию глагола и существительных и прилагательных.
Недопустимо наличие открытых переменных-членов класса.
Закрытые переменные-члены именуются с использованием нотации Camel и начинаются с префикса «_» (нижнее подчеркивание).
Локальные переменные именуются с использованием нотации Camel.
Параметры функции считаются ее локальными переменными и именуются соответственно.
Запрещено использовать «magic values» (неименованные константы).
Для счетчиков цикла закреплены имена i, j, k, l, n, m. Запрещено применять эти имена в другом контексте. Без крайней необходимости запрещено использовать в качестве счетчиков переменные с другими названиями.
Стиль кода
Каждая инструкция должна располагаться на отдельной строке.
Операторы должны отделяться пробелом от операндов с обеих сторон.
После запятой должен быть пробел.
После точки с запятой, если она не последняя в строке (напр. в инструкции for), должен быть пробел.
Перед запятой или точкой с запятой пробелы не ставятся.
После ключевого слова (напр. if, while, for) перед открывающей круглой скобкой (если она есть) должен быть пробел.
Составные инструкции оформляются открывающей фигурной скобкой на отдельной строке, списком инструкций, сдвинутым на одну табуляцию, и закрывающей фигурной скобкой на отдельной строке (стиль Олмэна).
В коде не должно встречаться более 3 вложенных циклов. Более глубокая вложенность оформляется с помощью выделения функций.
Пример оформления if-else:
if (condition)
{
DoSomething();
}
else if (condition)
{
DoSomethingOther();
}
else
{
DoSomethingOtherAgain();
}
Пример оформления switch
switch (condition)
{
case 1:
x = ...;
break;
case 2:
x = ...;
break;
case 3:
x = ...;
break;
default:
x = ...;
break;
}
Пример оформления for:
for (int i = 0; i < 5; i++)
{
DoSomething();
}