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