Основы конструирования программ

Курсовая работа

Курсовая работа по дисциплине

«Основы конструирования программ»

Исходные данные к

Тема курсовой работы выбирается из списка, приведенного в одноименном файле. Язык программирования С++.–– Среда разработки Visual Studio версии 2010 и выше. Вид приложения – консольное.–– Парадигма программирования – процедурная (в качестве альтернативы по согласованию с преподавателем допускается реализация программы в рамках объектно-ориентированной парадигмы программирования).

Способ организации данных – структуры (struct) (либо поля соответствующих классов в случае объектно-ориентированного программирования).

Способ хранения данных – файлы (в качестве альтернативы по согласованию с преподавателем допускается подключение баз данных ).

Каждая логически завершенная задача программы должна быть реализована в виде функции (метода в случае объектно-ориентированного программирования).

Построение программного кода должно соответствовать правилам, определенным в документе «С++ Code Convention» (см. одноименный файл).

Текст пояснительной записки оформляется в соответствии со стандартом предприятия СТП 01–2013 (см. одноименный файл).

Каждая курсовая работа, включая программную часть, должна быть уникальной, т. к. подразумевает индивидуальную работу над своим заданием (об уникальности вашей работы будут свидетельствовать соответствующие тематике имена переменных, констант, функций; комментарии; проработка исключительных ситуаций; добавление «своих» функциональных возможностей и др.).

Для защиты курсовой работы необходимо распечатать пояснительную записку и продемонстрировать работу программу.

Функциональные требования к курсовой работе

Первым этапом работы программы является – предоставление прав доступа (не путать с регистрацией!).

В рамках данного этапа необходимо считать данные из файла с учетными записями пользователей следующего вида:

50 стр., 24567 слов

«Разработка методической поддержки базового курса информатики ...

... программирования в базовом курсе информатики. Создать сайт учителя. Структура дипломной работы. ... с их помощью высококвалифицированным программистом программы занимают меньше места в ... программирования относятся: процедурное программирование ( Pascal , Basic, Fortran , С ); логическое программирование ( Prolog ); функциональное программирование ( Lisp ); объектно-ориентированное программирование ...

login; password; role (данное поле служит для разделения в правах администраторов и пользователей).

После ввода пользователем своих персональных данных (логина и пароля) и сверки со считанной из файла информацией необходимо предусмотреть возможность входа в качестве администратора (в этом случае, например, role = 1) или в качестве пользователя (в этом случае, например, role = 0).

Если файл с учетными записями пользователей не существует, то необходимо программно создать его и записать учетные данные администратора.

Обратите внимание: регистрация новых пользователей при входе в систему не предусмотрена! Данную задачу выполняет администратор в режиме работы с учетными записями пользователей.

Вторым этапом работы программы является собственно работа с данными, которая становится доступной только после прохождения авторизации. Данные хранятся в отдельном файле и имеют вид, описанный подробно в каждом варианте к курсовой работе.

Для работы с данными должны быть предусмотрены два функциональных модуля: модуль администратора и модуль пользователя.

Модуль администратора включает следующие подмодули (с указанием функциональных возможностей):

Управление учетными записями пользователей:

  • просмотр всех учетных записей;
  • добавление новой учетной записи;
  • редактирование учетной записи;
  • удаление учетной записи.

Работа с файлом данных:

  • создание файла;
  • открытие существующего файла;
  • удаление файла.

Работа с данными:

а) режим редактирования:

  • просмотр всех данных;
  • добавление новой записи;
  • удаление записи;
  • редактирование записи;

б) режим обработки данных:

  • выполнение индивидуального задания;
  • поиск данных (как минимум три вида);
  • сортировка (как минимум три вида).

Модуль пользователя включает подмодуль работы с данными со следующими функциональными возможностями:

  • просмотр всех данных;
  • выполнение индивидуального задания;
  • поиск данных (как минимум три вида);
  • сортировка (как минимум три вида).

Для реализации перечисленных модулей/подмодулей необходимо создавать меню с соответствующими пунктами (примеры приведены на рис. 1-3; данные примеры не являются единственно правильным вариантом).

Основы конструирования программ 1

Рис.1 – Пример авторизации и меню для пользователя

Основы конструирования программ 2

Рис.2 – Пример поиска

Основы конструирования программ 3

7 стр., 3097 слов

Конспект лекций Технологии обработки данных

... применения специальных методов обработки данных, использующих комплекс вычислительных, коммуникационных и других технических средств, в целях получения и доставки информации, необходимой специалистам-бухгалтерам для выполнения функций управленческого и ...

Рис.3 – Пример сортировки

Предусмотреть:

  • обработку исключительных ситуаций (например, файл с данными не создан, ничего не найдено по результатам поиска, введенные данные не соответствуют формату поля, номер удаляемой записи выходит за пределы массива/вектора, логин новой учетной записи уже существует и т. д.);
  • возможность возврата назад (навигация);
  • запрос на подтверждение удаления вида «Вы действительно хотите удалить файл (запись)?»;
  • вывод сообщения об успешности создания файла/удаления записи/ и т. д.

Требования к программной реализации курсовой работы

Все переменные и константы должны иметь осмысленные имена в рамках тематики варианта к курсовой работе. Имена функций должны быть осмысленными и строится по принципу глагол+существительное. Если функция выполняет какую-либо проверку и возвращает результат типа bool, то ее название должно начинаться с глагола is (например, isFileExist, isUnicLogin).

Код не должен содержать неименованных числовых констант (так называемых «магических» чисел), неименованных строковых констант (например, имен файлов и др.).

Подобного рода информацию следует выносить в глобальные переменные с атрибутом const. По правилам хорошего стиля программирования тексты всех

, выводимых пользователю в ответ на его действия, также оформляются как константы. Код необходимо комментировать (как минимум в части объявления структур, массивов/векторов, заголовков функций, нетривиальной логики).

Код не должен дублироваться – для этого существуют функции! Одна функция решает только одну задачу (например, не допускается в одной функции считывать данные из файла и выводить их на консоль – это две разные функции!).

При этом внутри функции возможен вызов других функций. Выполнение операций чтения/записи в файл должно быть сведено к минимуму (т. е. после однократной выгрузки данных из файла в массив/вектор дальнейшая работа ведется с этим массивом/вектором, а не происходит многократное считывание данных из файла в каждой функции).

Следует избегать длинных функций и глубокой вложенности: текст функции должен умещаться на один экран, а вложенность блоков и операторов должна быть не более трёх.