Расчетно-пояснительная записка должна содержать обоснование основных проектных решений, принятых студентом на каждом этапе разработки. Решения должны приниматься исходя из особенностей проектируемого продукта и специфики области его применения. Не должно быть обоснований типа «удобнее», «целесообразнее» и т. п. Необходимо пояснить, чем удобнее, почему целесообразно. По возможности необходимо четко формулировать основания для принятия того или иного решения.
1. Введение. В этом разделе обосновывается актуальность разработки, по возможности, анализируются существующие аналоги и проводится их сравнение с разрабатываемой системой.
2. Анализ задания и выбор технологии, языка и среды разработки. В этом разделе записки обосновывается и осуществляется выбор одной из современных технологий программирования. А затем поясняется выбор языка и среды разработки.
При выборе технологии предпочтение следует отдавать объектно-ориентированному подходу, как обеспечивающему максимальную эффективность разработки. Структурный подход используется в настоящее время практически только при выполнении специфических разработок на системном уровне в MS DOS.
3. Определение структуры программного продукта. В данном разделе проводится анализ предметной области задачи и ее разбиение (декомпозиция) в соответствии с выбранной технологией, т.е. создается структурная схема будущего продукта и описывается взаимодействие ее функциональных элементов.
Структурная схема — схема, отражающая состав и взаимодействие по управлению частей разрабатываемого продукта. При объектной декомпозиции такими частями являются объекты (рис. 1), при структурной декомпозиции – подпрограммы (рис. 2).
Рис. 1. Структурная схема программного продукта (объектная декомпозиция)
Рис. 2. Структурная схема программного продукта (процедурная декомпозиция)
Для тем, связанных с нечисловой обработкой данных, этот раздел должен содержать информационную модель системы, которая может быть представлена функциональной схемой.
Функциональная схема — схема взаимодействия частей системы с описанием информационных потоков, состава данных в потоках и указанием используемых файлов и устройств.
Большое значение при разработке структуры программного продукта имеет выбор алгоритмов предметной области и структур данных.
Для заданий, при выполнении которых приходится использовать сложные математические методы, и заданий, при реализации которых студентом предлагался собственные оригинальные алгоритмы, обязательным является присутствие в записке обоснование выбора метода (по вычислительной сложности или другим соображениям). В этом же разделе приводятся и сами алгоритмы (в виде схем или псевдокодов), и пояснения к ним.
Выбор структур данных осуществляеется на основе анализа основных процессов обработки информации (статические или динамические, массивы или другие структуры). При необходимости создаются новые структуры данных или модифицируются уже известные.
Обычно при выборе структур учитываются следующие параметры: объем и типы данных, а также основные операции над данными (хранение, поиск, сортировка) и частота обращения к ним в процессе выполнения программы. Если возможны варианты, то производится их оценка по объему требуемой памяти и вычислительной сложности выполнения основных операций.
