Разработка структуры программы и алгоритмов работы модулей программы — КиберПедия 

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

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Разработка структуры программы и алгоритмов работы модулей программы

2022-10-05 26
Разработка структуры программы и алгоритмов работы модулей программы 0.00 из 5.00 0 оценок
Заказать работу

 

Первый шаг разработки программного модуля представляет собой смежный контроль структуры программы снизу: изучая спецификацию модуля, убедиться, что она понятна и достаточна для разработки этого модуля. В завершении этого шага выбирается язык программирования, но язык программирования может быть также определен[6].

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

На третьем шаге осуществляется построение текста модуля на выбранном языке программирования. Множество деталей, которые должны быть учтены при реализации функций, указанных в спецификации модуля, легко могут привести к созданию весьма сложного текста, содержащего много ошибок и неточностей. Искать ошибки в таком модуле и вносить в него требуемые изменения может оказаться сложно. Поэтому,необходимо для построения текста модуля пользоваться технологически обоснованной пошаговой детализацией программирования[6].

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

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

Последний шаг разработки модуля означает завершение проверки модуля (с помощью компилятора) и переход к процессу отладки модуля[7].

Для описания программы с указанием модулей, подмодулей и их функциональных возможностей используют диаграммы и схемы взаимосвязанных процессов. Схема движения товара на складе показана на рисунке 2.1. ER – диаграммаскладапредставлена на рисунке 2.2.

 

 

Рисунок 2.1 - Схема движения товара на складе

 

 

Рисунок 2.2 – ER – диаграммасклада

 

 

Алгоритм работы программы выглядит следующим образом: при авторизации необходимо ввести логин и пароль. После входа в зависимости от роли пользователя, выводится меню для администратора «admin» и пользователя «user»соответственно. В режиме работы программыможно обеспечить, внесение, редактирование, удаление информации. Есть возможность поиска сведений.Можно посмотреть информацию. Обеспечена функция сортировки. При добавлении либо изменении записей предусмотрено отображение маски ввода для исключения ошибок ввода. При изменении и удалении записей предусмотрена проверка на существование данной записи.

Функционалом предусмотрена «защита от неверного ввода». Если исходные данные будут введены неправильно будет показана информация об ошибке и программа снова запросит их ввод. Программа позволяет отразить информацию об авторе с указанием атрибутов создателя. При разработке ПО учтена возможность возврата на предыдущее меню и выхода из любой части программы.

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

1 Функция считывания информации из файла в массив памяти:

voidread_file_items(Item* items_arr, int& items_num).Алгоритм функции представлен на рисунке А.1 приложения А.

2 Функция для добавления записи:

void add_item(Item* items_arr, int& items_num). Алгоритм функции представлен на рисунке А.2 приложения А.

3  Функция сортировки записей по наименованию:

void sort_name(Item* items_arr, int& items_num). Алгоритм функции показан на рисунке А.3 приложения А.

 

Описание программного кода

 

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

Программно представлены следующие структуры:

struct Item           // структура (список) товаров

{

string name;   // Наименование

int kolichestvo; // Количество товаров на складе

float cena;           // Цена

string date;               // Дата поступления

};

 

 

Рисунок 2.3 – Программная реализация структур

В программе реализованы следующие функции:

Функция авторизации логин "tanya" пароль "tanya"void authorization();

Функция меню администратора для работы с даннымиvoid menu_admin();

Функция меню пользователя для работы с даннымиvoid menu_user();

Функция считывания информации из файла в массив памятиvoid read_file_items(Item* items_arr, int& items_num);

Функция для отображения информации на экранеvoid show_items(Item* items_arr, int& items_num);

Функция для добавления записиvoid add_item(Item* items_arr, int& items_num);

Функция изменения записиvoid edit_item(Item* items_arr, int& items_num);

Функция для удаления записиvoid dell_item(Item* items_arr, int& items_num);

Функция для перезаписи файла void write_file_items(Item* items_arr, int& items_num);

Функция поиска записейvoid poisk_items(Item* items_arr, int& items_num);

Функция сортировки записей по наименованию void sort_name(Item* items_arr, int& items_num);

Функция сортировки записей по датеvoid sort_date(Item* items_arr, int& items_num);

Функция сортировки записей по ценеvoid sort_cena(Item* items_arr, int& items_num).

 

Листинг начала программного кода:

 

#include<iostream>

#include<fstream>

#include<iomanip>

 

usingnamespace std;

 

string file_items = "sklad.txt";

string info =

"\nПрограмма выполнена по варианту #1"

"\nРазработка программы учета товаров на складе"

"\n\nРазработчик - Авдейчик Татьяна Александровна"

"\nУО БГАС, гр СТ861, 2020г\n\n";

 

intconst max_items = 10;

Полный код программы показан в приложении Б.

ДЕМОНСТРАЦИЯ РАБОТЫ

 

Руководство пользователя

 

Первым этапом работы программы является авторизация – предоставление прав доступа. В рамках данного этапа считываются данные из файла с учетными записями пользователей следующего вида: login; password; role. После ввода пользователем своих персональных данных и сверки со считанной из файла информацией необходимо предусмотреть возможность входа в качестве администратора или в качестве пользователя. Рисунок 3.1 – 3.2

                       

 

Рисунок 3.1 – Авторизация пользователя

 

 

Рисунок 3.2 – Авторизация администратора

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

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

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

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

- просмотр всех учетных записей;

- добавление новой учетной записи;

- редактирование учетной записи;

- удаление учетной записи.

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

- создание файла;

- открытие существующего файла;

- удаление файла.

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

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

- просмотр всех данных;

- добавление новой записи;

- удаление записи;

- редактирование записи;

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

- выполнение задания;

- поиск данных;

- сортировка.

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

Работа с меню, добавление нового вида товара на склад показано на рисунке 3.3.

 

 

Рисунок 3.3 – Работа с меню, добавление нового вида товара на склад

 

Работа с данными, упорядочивание записей показано на рисунке 3.4 – 3.6

 

 

Рисунок 3.4 – Работа с данными, упорядочивание записей

 

Сортировка — одна из самых распространённых подзадач, часто встречающаяся в задачах всех уровней сложности. Существует множество алгоритмов, решающих её - алгоритмов сортировки. В стандартных библиотеках большинства современных языков программирования уже содержится эффективный алгоритм сортировки. Несмотря на это, принцип работы и сложность эффективных алгоритмов реализациимогут быть реализованы по-разному.Сортировка пузырьком — один из самых известных алгоритмов сортировки. Здесь нужно последовательно сравнивать значения соседних элементов и менять числа местами, если предыдущее оказывается больше последующего. Таким образом,  элементы с большими значениями оказываются в конце списка, а с меньшими остаются в начале. Считается, наэтом алгоритме на основаны многие другие методы [8].

Предусмотрена возможность упорядочивания (сортировки) записей по определенным критериям. Выполняется поиск товаров по наименованию, указанной дате и ценовым параметрам.

 

 

Рисунок 3.5 – Работа с данными,

упорядочивание записей по наименованию, дате, цене

 

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

Программно, путем выбора нужного пункта меню,  реализована возможность удаления товара из списка.

 

 

Рисунок 3.6 – Работа со списком товаров. Удаление товара

 

 

Тестирование программы

 

Тестирование программного обеспечения — процесс определения работоспособности программного обеспечение согласно целям разработки.

Все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО. Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют с точки зрения используемого метода. (То есть, нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО)[9].

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

Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:

- Надёжность

- Сопровождаемость

- Практичность

- Эффективность

- Мобильность

- Функциональность

Если программа существует в полном объеме, файлы найдены и подключены – можно авторизоваться. При не нахождении файлов – выход из программы. При введении неверного логина или пароля, программа укажет на ошибку ввода. Это  представлено на рисунке 3.7.

 

 

Рисунок 3.7 – Сообщение о неверном вводе логина или пароля.

Авторизация

 

Проверка работы с пользователем представлена на рисунке 3.8.Показанпример поиска в случае несоответствия вводимым критериям поиска.

 

 

Рисунок 3.8 – Проверка на вводимые значения поиска


ЗАКЛЮЧЕНИЕ

 

В ходе выполнения курсовой работы разработана программаучета товаров на складе. Программа предоставляет сведения о товарах, имеющихся на складе: наименование товара; количество единиц товара; цена единицы товара; дата поступления товара на склад.Выведен в алфавитном порядке список товаров, хранящихся более x месяцев, стоимость которых превышает y рублей (x, y вводятся с клавиатуры).Программа выполнена на языке С++. На уровне конструирования использованы технологии нисходящего проектирования и принципов методологии структурного программирования. Результат этапа конструирования представляется в форме графических блок-схем алгоритмов. На уровне программирования реализованы графические блок-схемы алгоритмов на языке С++ с соблюдением правил соглашения о коде. Результат этапа программирования может быть представлен в форме проекта в среде разработки приложений на языке С++ - Microsoft Visual Studio.

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

Выполнено тестирование ПО, которое имитирует фактическое использование системы: позволяет своевременно выявить системные ошибки.



Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.068 с.