
- •Оглавление
- •1. Цели и задачи курсовой работы
- •2. Содержание курсовой работы
- •3. Задания по курсовой работе
- •4. Правила оформления пояснительной записки
- •5. Структура и общая характеристика разделов пояснительной записки
- •2. Разработка алгоритмов и структур данных
- •3. Программная реализация алгоритмов
- •4. Тестирование разработанного программного обеспечения
- •5.1 Введение
- •5.2 Теоретическая часть
- •5.3 Разработка алгоритмов и структур данных
- •5.4 Программная реализация алгоритмов
- •5.5 Тестирование разработанного программного обеспечения
- •7. Список рекомендуемой литературы
- •7.1 Рекомендуемая литература (основная)
- •7.2 Рекомендуемая литература (дополнительная)
- •Приложение 1. Общий вид титульного листа
- •Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Белгородский государственный национальный исследовательский университет»
- •Приложение 2. Пример титульного листа
5. Структура и общая характеристика разделов пояснительной записки
Материалы в пояснительной записке следует располагать в следующем порядке:
Титульный лист (приложение А, В)
План курсовой работы
Содержание
Введение
1. Теоретическая часть
2. Разработка алгоритмов и структур данных
3. Программная реализация алгоритмов
4. Тестирование разработанного программного обеспечения
Заключение
Список использованных источников
Приложения.
Структура пояснительной записки должна быть согласована с руководителем и может быть изменена. Законченная пояснительная записка подписывается студентом. Изложение должно быть ясным и четким, без повторений. Следует избегать необоснованного использования в тексте пояснительной записки большого количества теоретического материала.
5.1 Введение
Введение (общим объемом не более 2 стр.) должно содержать общие сведения о проекте, его краткую характеристику. В нем необходимо отразить актуальность выбранной темы, цель и задачи, решаемые в проекте, используемые методики, практическую значимость полученных результатов. Во введении необходимо также перечислить вопросы, которые будут рассмотрены в проекте, выделив вопросы, которые предполагается решить практически.
5.2 Теоретическая часть
Теоретическая часть содержит основные теоретические вопросы и понятия, методы и способы, которые используются для решения задачи, поставленной в курсовой работе.
5.3 Разработка алгоритмов и структур данных
Первыми выполняемыми задачами являются разработка алгоритмов и структур данных. Они закладывают фундамент для решения последующих задач. При разработке алгоритмов следует акцентировать внимание на следующем:
рассмотреть возможности сведения решаемой задачи к некоторой типовой задаче, например к задаче теории графов. Если это возможно, то следует использовать типовой алгоритм решения или его модификацию;
исследовать временную сложность разрабатываемых алгоритмов;
исследовать как выбор тех или иных структур данных влияет на временную сложность алгоритмов;
рассмотреть различные варианты представления данных и проанализировать, как в зависимости от выбранных данных меняются качественные показатели алгоритмов (занимаемая память и быстродействие);
оформить разработанные алгоритмы в виде блок-схем, отвечающих принципам структурного программирования;
все блок-схемы сопроводить исчерпывающими комментариями;
используемые структуры данных представить в виде схем данных;
все схемы данных сопроводить исчерпывающими комментариями.
5.4 Программная реализация алгоритмов
Проблема сложности является главной проблемой, которую приходится решать при создании больших систем. Единственный эффективный подход к решению этой проблемы заключается в построении системы из небольшого количества крупных частей, каждая из которых, в свою очередь, строится из частей меньшего размера и т. д., до тех пор, пока создание самых небольших частей не будет вызывать затруднений. Этот подход известен под разными названиями, среди них такие, как «декомпозиция», «разделяй и властвуй», и др.
Итак, при проектировании сложных систем следует применять декомпозицию. Правильная декомпозиция означает следующее:
количество связей между отдельными подсистемами должно быть минимальным;
связность отдельных частей внутри каждой подсистемы должна быть максимальной;
каждая подсистема должна инкапсулировать (скрывать от других подсистем) свое содержимое;
каждая подсистема должна иметь четко определенный интерфейс с другими подсистемами.
На сегодняшний день в программной инженерии существуют два основных подхода к разработке программного обеспечения, принципиальное различие между которыми обусловлено разными способами декомпозиции систем.
Первый подход называют функционально-модульным или структурным. В его основу положен принцип функциональной декомпозиции, при которой структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами.
Второй объектно-ориентированный подход использует объектную декомпозицию. При этом структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами.
В рамках курсовой работы следует использовать структурный подход к разработке программного обеспечения. Сущность структурного подхода заключается в декомпозиции системы на автоматизируемые функции: система разбивается на функциональные подсистемы, которые, в свою очередь, делятся на подфункции и так далее до конкретных функций. При этом система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны.
Базовыми принципами структурного подхода к разработке программного обеспечения являются:
Принцип «разделяй и властвуй».
Принцип иерархического упорядочивания - принцип организации составных частей системы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
Принцип абстрагирования - выделение существенных аспектов системы и отвлечение от несущественных.
Принцип непротиворечивости - обоснованность и согласованность элементов системы.
Принцип структурирования данных - данные должны быть структурированы и иерархически организованы.
После выполнения функциональной декомпозиции следует выполнить подробное описание каждой функции (разработать спецификацию). Описание может состоять из следующих информационных единиц: название функции, назначение функции, вход, выход, возвращаемое значение, описание алгоритма. Для наиболее значимых функций все структуры данных, используемые в качестве входа, выхода и возвращаемого значения, а также алгоритмы должны быть описаны во втором разделе.
В третьем разделе описываются основные используемые способы и конструкции программной реализации задачи.