Оглавление
Введение 3
Постановка задачи 3
SMART-цели 5
Дизайн проекта 6
Прототип 7
Блок схема 9
Входные данные: 11
План тестирования проекта: 12
Тестирование и откладка 13
Оценка работы 15
Оценка заказчика и других пяти пользователей 16
Сопровождение программы 20
Введение
C++ — компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование.
Постановка задачи
Онлайн анкетирование с учениками школы.
Рисунок 1. Первый вопрос анкеты и её анализ в виде диаграммы.
в
в
И
Рисунок 2.Второй вопрос анкеты и её анализ в виде диаграммы.
Рисунок 3. Третий вопрос анкеты и её анализ в виде диаграммы
Рисунок 4. Четвертый вопрос анкеты и её анализ в виде диаграммы
Рисунок 5. Пятый вопрос анкетирования и её анализ ответов в виде списка
Анализ опроса:
По данным опроса я могу сказать, что у многих учеников, которые ответили, имеют проблему по математике. И одним учеником из них был Акжол. Я провел с ним интервью.
Интервью №1:
● Описание клиента: Акжол Кулумбетов, ученик 8 класса Назарбаев Интелектуальной школы. Изучает 14 предметов, такие как математика, физика, георграфия, химия и т.д. Нет трудности в никаких предметах, но на уроках математики не может ответчать на вопросы связанные с площадью фигур, например: «Какая формула определения площади трапеции?», «Какой формулой можно определить площадь треугольника?».
● Описание метода работы клиента: Мой клиент для решения таких проблем использует Интернет или просит помощи у других.
● Описание проблемы клиента: Мой клиент не имеет трудностей по урокам. Но он на уроках математики затрудняется ответить на вопросы. Ему нужна программа, которая даст легко выучить формулы площади разных фигур.
Анализ интервью №1
После этого интервью я понял то, что Акжол тот самый ученик, который нуждается в моей программе «Глобальный справочник».
SMART-цели
Основная цель: Создать программу, которая будет помощником по математике.
Цели:
1. Сделать программу понятной для пользователя
2. Сделать программу до конца срока
3. Программа, которая конкретно будет решать задачи
4. Быстрая программа, которая будет использоваться каждый день
5. Получить хорошую оценку от клиента
Дизайн проекта
Использованные ПО И АО:
ПО | Цель назначение | АО | Цель назначение |
Интернет | Для поиска информации. | Мышь | Для управления курсором. |
Microsoft Word | Для записи документации. | Клавиатура | Для ввода информации. |
Microsoft Power Point | Для презентации проекта. | Клавиатура, мышь | Для создания презентауции проекта. |
Браузер | Для использования браузерной версии С++ | Мышь, клавиатура, монитор | Для создания программы и блок схемы для документации. |
Прототип:
Прототип
|
Рисунок 6. Дизайн и прототип программы
Рисунок 7. Дизайн 1 кейса в программе
Рисунок 8.Дизайн 1 кейса в программе
Блок схема
Рисунок 9. Блок схема фрагмента алгоритм с ветвлением, с использованием логических выражений И,ИЛИ,НЕ.
Рисунок 10. Блок схема фрагмента алгоритм с циклом
Входные данные:
Переменная | Тип | Функции |
rebro1 | float | Служит первой стороной для определения плоащди разных фигур |
rebro2 | float | Служит второй стороной для определения площади для разных фигур |
S | float | Служит обозначением площади в определении площади прямоугольника |
Striangle | float | Служит обозначением площади в определении площади треугольника |
h | float | Служит обозначением высоты в определении площади разных фигур |
Strapeze | float | Служит обозначением площади в определении площади трапеции |
Sparallelogram | float | Служит обозначением площади в определении площади параллелограмма |
p=0 | float | Для суммы всех чисел в диапазоне, для цикла while |
k | float | Для суммы всех чисел в диапазоне, для цикла while |
factorialsum=0 | float | Для нахождения суммы всех чисел в диапазоне |
a | int | Для оператора множественного выбора switch |
b | int | Для выведения рандомного числа в игре |
n | int | Для нахождения факториала любого числа, для цикла for |
factorial=1 | int | Для нахождения факториала любого числа, для формулы нахождения факториала |
План тестирования проекта:
- Проверять программу после каждого изменения
- Дать клиенту попользоваться программой
- При нахождении ошибок в тестировании, записывать ошибки.
- После тестирования исправлять ошибки, которые были записаны
- Тестировать программу до того, как программа перестанет выводить ошибки
Код программы: https://cpp.sh/2rijz
|
Рисунок 11.Начало программы
Рисунок 12.Организация и представление в коде программы алгоритмы ветвления с логическими операциями И,ИЛИ,НЕ
Рисунок 13. Организация и представление в коде программы алгоритмы ветвления с логическими операциями И,ИЛИ,НЕ (продолжение)
Рисунок 14. Организация и представление кода программы с циклической структурой
Рисунок 15. Организация и представление кода программы с циклической структурой (продолжение)
Тестирование и откладка
Рисунок 16. Ошибка с фигурными скобками в тестировании
Анализ ошибок в программе:
При введении условия «if ((0>rebro1)||(3147483647<rebro1)||(0==rebro1))» в программу вышла ошибка о том, что некоторые переменные в программе не используются, но при этом эти переменные были использованы до этого в других кейсах в операторе множественного выбора switch. Что бы решить эту проблему мне пришлось остановить программу на некоторое время, используя «return 0;».
Рисунок 17. Исправление ошибки с фигурными скобками в тестировании
Шаг | Операция | Rebro1 | Rebro2 | S | Условие |
Ввод rebro1 | |||||
Ввод rebro2 | |||||
Rebro1!<0 | 2!<0,да | ||||
Rebro1!=0 | 2!=0,да | ||||
Rebro1!>3147483647 | 2!= 3147483647,да | ||||
Rebro2!<0 | 5!<0,да | ||||
Rebro2!=0 | 5!=0,да | ||||
Rebro2!>3147483647 | 5!>=3147483647,да | ||||
S=Rebro1*Rebro2 | |||||
Вывод S | |||||
Конец |
Трассировочная таблица обычных (правильных) данных проекта
Рисунок 18. Скриншот доказательство с обычными (правильными) входными данными
Шаг | Операция | Rebro1 | Rebro2 | S | Условие |
Шаг | Операция | Rebro1 | Rebro2 | S | Условие |
Ввод rebro1 | |||||
Ввод rebro2 | |||||
Rebro1!<0 | 0!<0,нет | ||||
Rebro1!=0 | 0!=0,нет | ||||
Rebro1!>3147483647 | 0!= 3147483647,да | ||||
Rebro2!<0 | 0!<0,нет | ||||
Rebro2!=0 | 0!=0,нет | ||||
Rebro2!>3147483647 | 0!>=3147483647,да | ||||
S=Rebro1*Rebro2 | |||||
Вывод S | |||||
Конец |
Трассировочная таблица ошибочных данных проекта
Рисунок 19. Скриншот доказательство тестирования ошибочных данных
Рисунок 20. Скриншот доказательство тестирования ошибочных данных
Оценка работы
SMART-цели
Основная цель: Создать программу, которая будет помощником по математике.
Цели:
- Сделать программу понятной для пользователя
2. Сделать программу до конца срока
3. Программа, которая конкретно будет решать задачи
4. Быстрая программа, которая будет использоваться каждый день
5. Получить хорошую оценку от клиента
Самооценка:
1. Программа понятна и проста для пользователя и имеет самый простейший дизайн.
2. Программа сделана как можно быстрее, так как срок сдачи:28.04.2018.
3. Программа решает конкретные задачи на нахождение площади разных фигур как: треугольник, параллелограмм, трапеция, прямоугольник, находит сумму чисел в диапазоне и находит факториал любого числа.
4. Программа, которая может быть использована каждый день пользователем, так как тема моего справочника актуальна (решение задач на площади по математике).
5. Я думаю, что моя программа получит хорошую оценку и удовлетворит клиента.
Пути дальнейшего совершенствования программы:
1. Включить в программу использование графики в С++, включая библиотеку «conio.h», «graphics.h».
2. Добавить в программу другие объекты справочника, то есть: нахождение площади других разных фигур.
3. Добавить аудио и видео систему в программу, которая будет иметь аудио и видео уроки по математике.
4. Сделать ещё больше программу и внедрить другие сферы наук.
5. Сделать программу глобальной и сделать его онлайн на сайте.
Оценка заказчика и других пяти пользователей
Рисунок 21. Скриншот доказательства об оценке заказчика (1-2 вопрос)
Рисунок 22. Скриншот доказательства об оценке заказчика (3-4 вопрос)
Рисунок 23.Скриншот доказательства об оценке заказчика (5-6 вопрос)
Рисунок 24.Анализ анкетирования других пользователей конечного варианта программы(1 вопрос)
Рисунок 25. Анализ анкетирования других пользователей конечного варианта программы(2 вопрос)
Рисунок 26. Анализ анкетирования других пользователей конечного варианта программы(3 вопрос)
Рисунок 27. Анализ анкетирования других пользователей конечного варианта программы(4 вопрос)
Рисунок 28. Анализ анкетирования других пользователей конечного варианта программы(5 вопрос)
Рисунок 29. Анализ анкетирования других пользователей конечного варианта программы(5 вопрос)
Сопровождение программы
Инструкция
1. Используйте самые последние версии браузера
2. Используйте интернет со скоростью больше 80 Мбит/сек
3. Программа принимает значения больше 0, будьте бдительны, когда будете вводить значения
4. При включении игры строго вводите числа от 0 до 100
5. Нажмите на “Run”, что бы включить программу
6.