- •Технология программирования
- •Содержание
- •1. Курсовой проект по технологии программирования
- •1.1. Цели и задачи дисциплины
- •1.2. Тематика курсовых проектов
- •1.3. Сроки выполнения отдельных этапов
- •1.4. Порядок защиты курсового проекта
- •2. Содержание пояснительной записки
- •3. Разработка технического задания
- •3.1. Соглашение между заказчиком и исполнителем
- •3.2. Правила оформления технического задания
- •4. Анализ и методы решения задачи
- •5. Анализ потоков данных. Организация структур данных программы
- •5.1. Диаграммы потоков данных
- •5.2. Представление потоков данных
- •5.3. Структуры данных
- •5.4. Диаграмма Джексона
- •6. Разработка структуры программы
- •6.1. Декомпозиция программной системы
- •6.2. Методы проектирования
- •6.3. Модульное программирование
- •6.4. Драйвера и заглушки
- •Разработка алгоритмов решения задачи
- •7.1. Описание алгоритмов
- •7.2. Методы разработки алгоритмов
- •8. Разработка пользовательского интерфейса
- •9. Текст программы
- •9.1. Структура листинга
- •9.2. Количество операторов в строке
- •9.3. Отступы
- •9.4. Операторные скобки
- •9.5. Пробелы
- •9.6. Пустые строки
- •9.7. Имена
- •9.8. Комментарии
- •10. Тестирование и отладка программы
- •11. Разработка программных документов
- •11.1. Единая система программной документации
- •11.2. Руководство пользователя
- •11.3. Руководство системного администратора
- •12. Требования по оформлению пояснительной записки
- •Библиографический список
- •Приложения
- •4. Требования к программной документации
- •Федеральное агентство по образованию рф Омский государственный технический университет Кафедра «Автоматизированные системы обработки информации и управления»
- •Пояснительная записка к курсовому проекту на тему: Система учета текущей успеваемости студентов
4. Анализ и методы решения задачи
В этом разделе следует привести список неформальных требований (пожеланий) к программному продукту, решающему задачу. Следует ограничиться общими утверждениями о наиболее крупных возможностях, и не проводить их детализацию. Однако должны быть указаны все свойства и особенности, необходимые для дальнейшего обсуждения. При совместной разработке убедиться, что требования к системе согласованы и не совпадают с требованиями к другим подсистемам того же проекта.
Пункты списка могут быть сформированы по правилам функциональных требований, реже — требований к данным. Если количество пунктов превосходит 5–6, следует при помощи средств оформления визуально отделить эти виды требований. В целом количество неформальных требований не должно быть более 10–15, а каждое требование должно занимать 1–2 строки текста.
Отдельно указать предполагаемую политику распространения программного продукта (только в организации-заказчике, продажа на открытом рынке, свободное распространение).
Если для решения задачи используются математические методы, модели и алгоритмы, имеющие самостоятельное значение и являющиеся новыми для данной предметной области, описать их и привести необходимые ссылки на литературу.
Также привести все определения, модели и доказательства, разработанные автором в процессе выполнения работы. (Например, доказательство корректности предложенного алгоритма).
Далее необходимо выполнить анализ аналогов и прототипов, привести список, содержащий не менее трёх программных систем, аналогичных или близких по тематике к описываемой системе. Описать их основные возможности, сравнительные достоинства и недостатки. Описание каждой системы должно содержать ссылку на литературу.
Привести таблицу сравнительных характеристик. В зависимости от конкретной задачи рекомендуется рассмотреть в качестве кандидатов на включение в таблицу следующие характеристики:
выделяющиеся функциональные возможности;
виды пользовательского интерфейса, наличие локализованных версий;
ограничения по ресурсам и размеру решаемых задач;
поддерживаемые платформы;
лицензионную политику (proprietary, open source, free software), желательно с указанием конкретной лицензии;
модель продаж (commercial, freeware, shareware) и стоимость.
Документировать использованные методы поиска и обосновать полноту обзора аналогичных систем в мировом масштабе, либо привести аргументы в пользу невозможности выполнения полного обзора (например, дороговизна наиболее известных систем и отсутствие при этом их обзоров в литературе).
В случае если необходимость создания системы аргументируется в основном высокой стоимостью коммерческих аналогов, подробно изучить имеющееся свободно распространяемое программное обеспечение и обосновать неэффективность его использования или модификации для решения поставленной задачи.
Работы, дублирующие функциональность имеющихся свободных систем и не имеющие перед ними никаких преимуществ, могут быть не допущены к защите.
В случае если в той же организации либо под управлением того же руководителя в прошлом были предприняты попытки решения задачи, близкой или совпадающей с поставленной, описать их. Поместить ссылки на описание этих работ (например, отчёты) в библиографический список. Указать результаты предшествующих работ, их взаимосвязь. Перечислить причины их неудачного завершения либо неполного соответствия результатов потребностям и предполагаемые отличия данной работы.
Сделать вывод о несоответствии всех имеющихся систем предъявленным требованиям и необходимости, поэтому, разработки собственной системы.