Помощь студентам в учебе
Программа оценки временных характеристик алгоритмов сортировки
|
Введение 7
1 Постановка задачи на разработку программы оценки временных
характеристик алгоритмов сортировки 8
2 Планирование разработки программы оценки временных характеристик
алгоритмов сортировки 9
3 Анализ предметной области и требований к программе оценки временных
характеристик алгоритмов сортировки 13
3.1 Анализ предметной области 13
3.2 Анализ программ-аналогов оценки временных характеристик
алгоритмов сортировки 16
3.2.1 Анализ приложения «Benchmarking Sorting Algorithms» 16
3.2.2 Анализ приложения «Sorting benchmark» 17
3.2.3 Анализ приложения «Анализ алгоритмов внутренней
сортировки» 18
3.2.4 Сравнительный анализ исследованных программ-аналогов 18
3.2.5 Стратегии повышения качества разрабатываемой программы 20
3.3 Анализ функциональных требований 21
3.4 Анализ нефункциональных требований 24
4 Проектирование программы оценки временных характеристик алгоритмов
сортировки 25
4.1 Проектирование пользовательского интерфейса 25
4.2 Проектирование классов программы 27
4.3 Проектирование процесса исследования алгоритмов сортировки 31
4.4 Проектирование системы плагинов программы 35
5 Реализация программы оценки временных характеристик алгоритмов
сортировки 36
5.1 Реализация исполняемой программы 38
5.2 Реализация библиотеки для расширения программы 39
5.3 Реализация стандартных плагинов 41
6 Контроль качества разработанной программы 44
6.1 Модульное тестирование 44
6.2 Структурное тестирование 46
6.3 Вычисление метрик кода 49
7 Применение разработанной программы для исследования временных
характеристик алгоритмов сортировки 53
Заключение 55
Список использованных источников 56
Приложение А Исходный код разработанной программы 60
Приложение Б Скриншоты исследования временных характеристик
алгоритмов сортировки при помощи разработанной программы
1 Постановка задачи на разработку программы оценки временных
характеристик алгоритмов сортировки 8
2 Планирование разработки программы оценки временных характеристик
алгоритмов сортировки 9
3 Анализ предметной области и требований к программе оценки временных
характеристик алгоритмов сортировки 13
3.1 Анализ предметной области 13
3.2 Анализ программ-аналогов оценки временных характеристик
алгоритмов сортировки 16
3.2.1 Анализ приложения «Benchmarking Sorting Algorithms» 16
3.2.2 Анализ приложения «Sorting benchmark» 17
3.2.3 Анализ приложения «Анализ алгоритмов внутренней
сортировки» 18
3.2.4 Сравнительный анализ исследованных программ-аналогов 18
3.2.5 Стратегии повышения качества разрабатываемой программы 20
3.3 Анализ функциональных требований 21
3.4 Анализ нефункциональных требований 24
4 Проектирование программы оценки временных характеристик алгоритмов
сортировки 25
4.1 Проектирование пользовательского интерфейса 25
4.2 Проектирование классов программы 27
4.3 Проектирование процесса исследования алгоритмов сортировки 31
4.4 Проектирование системы плагинов программы 35
5 Реализация программы оценки временных характеристик алгоритмов
сортировки 36
5.1 Реализация исполняемой программы 38
5.2 Реализация библиотеки для расширения программы 39
5.3 Реализация стандартных плагинов 41
6 Контроль качества разработанной программы 44
6.1 Модульное тестирование 44
6.2 Структурное тестирование 46
6.3 Вычисление метрик кода 49
7 Применение разработанной программы для исследования временных
характеристик алгоритмов сортировки 53
Заключение 55
Список использованных источников 56
Приложение А Исходный код разработанной программы 60
Приложение Б Скриншоты исследования временных характеристик
алгоритмов сортировки при помощи разработанной программы
На данный момент разработано широкое множество алгоритмов сортировки. Однако, когда возникает необходимость выбора конкретного метода сортировки, заранее не известно, какой из алгоритмов в большей мере соответствует условиям поставленной задачи. Выбор алгоритма сортировки напрямую влияет в том числе на быстродействие ПО и трудозатраты, необходимые для написания кода.
Разрабатываемое приложение позволит количественно сравнить временные характеристики методов сортировки для выбора наиболее эффективного алгоритма в конкретных поставленных условиях.
Целью данной работы является разработка программы оценки временных характеристик алгоритмов сортировки.
Были выделены следующие задачи:
- сформулировать требования к программной системе;
- составить план разработки приложения;
- оценить бюджет разработки программной системы.
- проанализировать поставленные требования;
- на основе требований осуществить проектирование программной системы;
- в соответствие с проведенным проектированием произвести реализацию программной системы;
- осуществить тестирование разработанной программной системы;
- с помощью созданной программной системы получить данные о временных характеристиках некоторых алгоритмов сортировок и произвести их сравнительный анализ.
Разрабатываемое приложение позволит количественно сравнить временные характеристики методов сортировки для выбора наиболее эффективного алгоритма в конкретных поставленных условиях.
Целью данной работы является разработка программы оценки временных характеристик алгоритмов сортировки.
Были выделены следующие задачи:
- сформулировать требования к программной системе;
- составить план разработки приложения;
- оценить бюджет разработки программной системы.
- проанализировать поставленные требования;
- на основе требований осуществить проектирование программной системы;
- в соответствие с проведенным проектированием произвести реализацию программной системы;
- осуществить тестирование разработанной программной системы;
- с помощью созданной программной системы получить данные о временных характеристиках некоторых алгоритмов сортировок и произвести их сравнительный анализ.
Возникли сложности?
Нужна помощь преподавателя?
Помощь в написании работ!
В ходе выполнения данной работы были осуществлены следующие задачи:
- сформулирована поставленная задача;
- спланирована разработка программной системы;
- оценен бюджет, необходимый фонд рабочего времени и длительность разработки;
- осуществлен анализ требований;
- произведено проектирование программной системы;
- реализована и описана спроектированная программная система;
- созданная программная система протестирована;
- с помощью созданной программной системы были получены и проанализированы оценки временных характеристик алгоритмов быстрой сортировки и сортировки Шелла.
Из того, что тестирование было произведено успешно, следует корректность работы созданной программной системы.
- сформулирована поставленная задача;
- спланирована разработка программной системы;
- оценен бюджет, необходимый фонд рабочего времени и длительность разработки;
- осуществлен анализ требований;
- произведено проектирование программной системы;
- реализована и описана спроектированная программная система;
- созданная программная система протестирована;
- с помощью созданной программной системы были получены и проанализированы оценки временных характеристик алгоритмов быстрой сортировки и сортировки Шелла.
Из того, что тестирование было произведено успешно, следует корректность работы созданной программной системы.
1. Intuit // Язык UML 2 в анализе и проектировании программных систем и бизнес-процессов [Электронный ресурс]. - Режим доступа: https://www.intuit.ru/studies/courses/480/336/info(дата обращения: 20.04.2020).
2. Самуйлов С.В., Фрунзе П.М. Методика анализа алгоритмов обработки данных. В сборнике: Новые информационные технологии и системы. Материалы XV Международной научно-технической конференции, посвященной 75-летию Пензенского государственного университета. 2018. С. 221-222.
3. Microsoft // Microsoft Project [Электронный ресурс]. - Режим
доступа: https://www.microsoft.com/ru-ru/microsoft-365/project/project-
management-software (дата обращения: 20.04.2020).
4. Atlassian Agile Coach // Что такое диаграмма Г анта? [Электронный ресурс]. - Режим доступа: https://www.atlassian.com/ru/agile/project- management/gantt-chart(дата обращения: 21.04.2020).
5. Википедия // Алгоритм сортировки [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/Алгоритм_сортировки (дата обращения: 17.05.2020).
6. Википедия // Тест производительности [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/Тест_производительности (дата обращения: 17.05.2020).
7. Викисловарь // Бенчмарк [Электронный ресурс]. - Режим доступа: https://ru.wiktionary.org/wiki/бенчмарк (дата обращения: 17.05.2020).
8. Аллея Науки // Самуйлов С.В., Фрунзе П.М. Подход к анализу
алгоритмов обработки данных на примере алгоритмов внутренней сортировки [Электронный ресурс]. - Режим доступа: https://alley-
science.ru/domains_data/files/14December18/PODHOD%20K%20ANALIZU%20 ALGORITMOV%20OBRABOTKI%20DANNYH%20NA%20PRIMERE%20AL GORITMOV%20VNUTRENNEY%20SORTIROVKI.pdf (дата обращения: 22.04.2020).
9. 4. Github // arisath // Benchmarking Sorting Algorithms
[Электронный ресурс]. - Режим доступа:
https://github.com/arisath/Benchmarking-Sorting-Algorithms(дата обращения: 20.04.2020).
10. Github // karakanb // sorting benchmark [Электронный ресурс]. - Режим доступа: https://github.com/karakanb/sorting-benchmark(дата обращения: 20.04.2020).
11. Google Drive // IntSort (c) Слета В и Копов C.exe
[Электронный ресурс]. - Режим доступа:
https://drive.google.com/open?id= 19kGWs7JuEioSstz9rvdjh6mOzhd-TwhL (дата обращения: 24.04.2020).
12. Business Analytics // Формирование требований и классификация требований [Электронный ресурс]. - Режим доступа: https://analytics.infozone.pro/formation-requirements-and-classification- requirements/(дата обращения: 17.05.2020).
13. Microsoft // C# [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/csharp/(дата обращения: 24.05.2020).
14. Microsoft // .NET Framework [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/(дата обращения: 24.05.2020).
15. Microsoft // Что такое dll? [Электронный ресурс]. - Режим доступа: https://support.microsoft.com/ru-ru/help/815065/what-is-a-dll(дата обращения: 24.05.2020).
16. Lucidchart // Приложение для построения диаграмм [Электронный ресурс]. - Режим доступа: https://app.lucidchart.com/(дата обращения: 01.06.2020).
17. Microsoft // Массивы в C# [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/arrays(дата обращения: 24.05.2020).
18. Википедия // Объектно-ориентированное программирование
[Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/O6beKTHO-opHeHTHpoBaHHoe_nporpaMMHpoBaHHe(дата oбpaщeния: 24.05.2020).
19. RSDN // Эффективная мнoгonoтoчнoсть. Организация пула HOTOKOB[Элeктpoнный pecypc]. - Режим gocTyni: https://rsdn.org/article/baseserv/threadpool.xml(дата oбpaщeния: 17.05.2020).
20. Algolist // Быс^ая copTHpoBK! [Элeктpoнный pecypc]. - Рeжим gocTym: http://algolist.ru/sort/quick_sort.php(дата oбpaщeния: 17.05.2020).
21. Algolist // CopTHpoBK! 11 Алла [Элeктpoнный pecypc]. - Рeжим gocry^: http://algolist.ru/sort/shell_sort.php(дата oбpaщeния: 17.05.2020).
22. Algolist // CopTHpoBK! ny3bipMKoM |r).ieKTponiibiH pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/bubble_sort.php(дата oбpaщeния: 17.05.2020).
23. Algolist // CopTHpoBK! вставками [Элeктpoнный pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/insert_sort.php(дата oбpaщeния: 17.05.2020).
24. Вики^дая // CopTHpoBK! noдcчeтoм [)reKTpoHHbm pecypc]. - Рeжим дocтyna: https://ru.wikipedia.org/wiki/Copтиpoвкa_noдcчётoм(дата oбpaщeния: 17.05.2020).
25. Algolist // Пиpaмидaльнaя copTHpoBK! [Элeктpoнный pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/pyramid_sort.php(дата oбpaщeния: 17.05.2020).
26. Algolist // CopTHpoBK! Bbi6opoM [Элeктpoнный pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/select_sort.php(дата oбpaщeния: 17.05.2020).
27. Cтyдoneдия // Monroe тecтиpoвaниe [)reKTpoHHbm pecypc]. - Рeжим дocтyna: https://studopedia.ru/2_118908_modulnoe-testirovanie.html(дата oбpaщeния: 20.05.2020).
28. NUnit // Рacшиpeниe для мoдyльнoгo тecтиpoвaния | r)iei
29. Microsoft // Meтoд Enumerable.OrderBy [)reKTpoHHbm pecypc]. -
Рeжим дocтyna: https://docs.microsoft.com/ru-
ru/dotnet/api/system.linq.enumerable.orderby?view=netcore-3.1 (дата oбpaщeния: 25.05.2020).
30. Студопедия // Структурное тестирование [Электронный ресурс]. - Режим доступа: https://studopedia.ru/3_80803_struktumoe-testirovanie.html(дата обращения: 20.05.2020).
31. Microsoft // Метрики кода [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/visualstudio/code-quality/code-metrics- values?view=vs-2019(дата обращения: 29.05.2020).
32. Хабр // Программный код и его метрики [Электронный ресурс]. - Режим доступа: https://habr.com/ru/company/intel/blog/106082/(дата обращения: 29.05.2020).
2. Самуйлов С.В., Фрунзе П.М. Методика анализа алгоритмов обработки данных. В сборнике: Новые информационные технологии и системы. Материалы XV Международной научно-технической конференции, посвященной 75-летию Пензенского государственного университета. 2018. С. 221-222.
3. Microsoft // Microsoft Project [Электронный ресурс]. - Режим
доступа: https://www.microsoft.com/ru-ru/microsoft-365/project/project-
management-software (дата обращения: 20.04.2020).
4. Atlassian Agile Coach // Что такое диаграмма Г анта? [Электронный ресурс]. - Режим доступа: https://www.atlassian.com/ru/agile/project- management/gantt-chart(дата обращения: 21.04.2020).
5. Википедия // Алгоритм сортировки [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/Алгоритм_сортировки (дата обращения: 17.05.2020).
6. Википедия // Тест производительности [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/Тест_производительности (дата обращения: 17.05.2020).
7. Викисловарь // Бенчмарк [Электронный ресурс]. - Режим доступа: https://ru.wiktionary.org/wiki/бенчмарк (дата обращения: 17.05.2020).
8. Аллея Науки // Самуйлов С.В., Фрунзе П.М. Подход к анализу
алгоритмов обработки данных на примере алгоритмов внутренней сортировки [Электронный ресурс]. - Режим доступа: https://alley-
science.ru/domains_data/files/14December18/PODHOD%20K%20ANALIZU%20 ALGORITMOV%20OBRABOTKI%20DANNYH%20NA%20PRIMERE%20AL GORITMOV%20VNUTRENNEY%20SORTIROVKI.pdf (дата обращения: 22.04.2020).
9. 4. Github // arisath // Benchmarking Sorting Algorithms
[Электронный ресурс]. - Режим доступа:
https://github.com/arisath/Benchmarking-Sorting-Algorithms(дата обращения: 20.04.2020).
10. Github // karakanb // sorting benchmark [Электронный ресурс]. - Режим доступа: https://github.com/karakanb/sorting-benchmark(дата обращения: 20.04.2020).
11. Google Drive // IntSort (c) Слета В и Копов C.exe
[Электронный ресурс]. - Режим доступа:
https://drive.google.com/open?id= 19kGWs7JuEioSstz9rvdjh6mOzhd-TwhL (дата обращения: 24.04.2020).
12. Business Analytics // Формирование требований и классификация требований [Электронный ресурс]. - Режим доступа: https://analytics.infozone.pro/formation-requirements-and-classification- requirements/(дата обращения: 17.05.2020).
13. Microsoft // C# [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/csharp/(дата обращения: 24.05.2020).
14. Microsoft // .NET Framework [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/(дата обращения: 24.05.2020).
15. Microsoft // Что такое dll? [Электронный ресурс]. - Режим доступа: https://support.microsoft.com/ru-ru/help/815065/what-is-a-dll(дата обращения: 24.05.2020).
16. Lucidchart // Приложение для построения диаграмм [Электронный ресурс]. - Режим доступа: https://app.lucidchart.com/(дата обращения: 01.06.2020).
17. Microsoft // Массивы в C# [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/arrays(дата обращения: 24.05.2020).
18. Википедия // Объектно-ориентированное программирование
[Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/O6beKTHO-opHeHTHpoBaHHoe_nporpaMMHpoBaHHe(дата oбpaщeния: 24.05.2020).
19. RSDN // Эффективная мнoгonoтoчнoсть. Организация пула HOTOKOB[Элeктpoнный pecypc]. - Режим gocTyni: https://rsdn.org/article/baseserv/threadpool.xml(дата oбpaщeния: 17.05.2020).
20. Algolist // Быс^ая copTHpoBK! [Элeктpoнный pecypc]. - Рeжим gocTym: http://algolist.ru/sort/quick_sort.php(дата oбpaщeния: 17.05.2020).
21. Algolist // CopTHpoBK! 11 Алла [Элeктpoнный pecypc]. - Рeжим gocry^: http://algolist.ru/sort/shell_sort.php(дата oбpaщeния: 17.05.2020).
22. Algolist // CopTHpoBK! ny3bipMKoM |r).ieKTponiibiH pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/bubble_sort.php(дата oбpaщeния: 17.05.2020).
23. Algolist // CopTHpoBK! вставками [Элeктpoнный pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/insert_sort.php(дата oбpaщeния: 17.05.2020).
24. Вики^дая // CopTHpoBK! noдcчeтoм [)reKTpoHHbm pecypc]. - Рeжим дocтyna: https://ru.wikipedia.org/wiki/Copтиpoвкa_noдcчётoм(дата oбpaщeния: 17.05.2020).
25. Algolist // Пиpaмидaльнaя copTHpoBK! [Элeктpoнный pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/pyramid_sort.php(дата oбpaщeния: 17.05.2020).
26. Algolist // CopTHpoBK! Bbi6opoM [Элeктpoнный pecypc]. - Рeжим дocтyna: http://algolist.ru/sort/select_sort.php(дата oбpaщeния: 17.05.2020).
27. Cтyдoneдия // Monroe тecтиpoвaниe [)reKTpoHHbm pecypc]. - Рeжим дocтyna: https://studopedia.ru/2_118908_modulnoe-testirovanie.html(дата oбpaщeния: 20.05.2020).
28. NUnit // Рacшиpeниe для мoдyльнoгo тecтиpoвaния | r)iei
Рeжим дocтyna: https://docs.microsoft.com/ru-
ru/dotnet/api/system.linq.enumerable.orderby?view=netcore-3.1 (дата oбpaщeния: 25.05.2020).
30. Студопедия // Структурное тестирование [Электронный ресурс]. - Режим доступа: https://studopedia.ru/3_80803_struktumoe-testirovanie.html(дата обращения: 20.05.2020).
31. Microsoft // Метрики кода [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/visualstudio/code-quality/code-metrics- values?view=vs-2019(дата обращения: 29.05.2020).
32. Хабр // Программный код и его метрики [Электронный ресурс]. - Режим доступа: https://habr.com/ru/company/intel/blog/106082/(дата обращения: 29.05.2020).
Работу высылаем на протяжении 30 минут после оплаты.
Подобные работы
- ПРОГРАММА ОЦЕНКИ ВРЕМЕННЫХ
ХАРАКТЕРИСТИК АЛГОРИТМОВ СОРТИРОВКИ
Бакалаврская работа, информационные системы. Язык работы: Русский. Цена: 4800 р. Год сдачи: 2019 - Методы и модели оценки и управления техногенными рисками при реконструкции гидротехнических сооружений хвостового хозяйства обогатительной фабрики ТОО «KAZ Minerals Bozshakol» (КАЗ Минералз Бозшаколь)
Магистерская диссертация, техносферная безопасность. Язык работы: Русский. Цена: 4835 р. Год сдачи: 2021 - Применение технологии геймификации при обучении программированию в старшей школе
Магистерская диссертация, педагогика. Язык работы: Русский. Цена: 4920 р. Год сдачи: 2022 - ТРЕХМЕРНЫЕ СКОРОСТНЫЕ МОДЕЛИ ЗЕМНОЙ КОРЫ ТЯНЬ-ШАНЯ НА ОСНОВЕ БИ-СПЛАЙН ПАРАМЕТРИЗАЦИИ И ТРИАНГУЛЯЦИИ ДЕЛОНЕ
Диссертация , геодезия. Язык работы: Русский. Цена: 500 р. Год сдачи: 2004 - Совершенствование обслуживания клиентов в автосервисе «Дакар авто» путем внедрения комплекса мероприятий
Дипломные работы, ВКР, автомобили и автомобильное хозяйство. Язык работы: Русский. Цена: 6500 р. Год сдачи: 2019 - Совершенствование обслуживания клиентов в автосервисе «Дакар авто»
путем внедрения комплекса мероприятий
Дипломные работы, ВКР, автомобили и автомобильное хозяйство. Язык работы: Русский. Цена: 4900 р. Год сдачи: 2019 - Внедрение принципов лин-менеджмента в деятельность сервисных
Дипломные работы, ВКР, менеджмент. Язык работы: Русский. Цена: 4770 р. Год сдачи: 2018 - Формирования системы стимулирования трудовой деятельности предприятия
Магистерская диссертация, менеджмент. Язык работы: Русский. Цена: 5700 р. Год сдачи: 2017 - Оценка динамики землепользования в бассейне р. Ведуга в период 1985-2015 гг. по данным Landsat
Дипломные работы, ВКР, экология и природопользование. Язык работы: Русский. Цена: 4320 р. Год сдачи: 2017