Введение 4
Глава 1. Аналитическая часть 8
1.1. Содержательный анализ предметной области 8
1.2. Функционально-структурный анализ предметной области 11
1.3. Анализ существующих разработок 16
Глава 2. Проектная часть 22
2.1. Информационно-логический анализ 22
2.2. Документооборот в приложении 24
2.3. Разработка базы данных 26
2.4 Обоснование проектных решений по техническому обеспечению 31
2.5 Обоснование проектных решений по программному обеспечению 33
2.6 Разработка информационного обеспечения 35
2.7 Разработка приложения 40
2.8 Разработка интерфейса приложения 41
2.9 Программная реализация приложения 43
2.10 Наполнение приложения контентом 43
2.11 Тестирование и внедрение приложения 45
2.12 Расчет экономической эффективности 46
Заключение 51
Список литературы
Программист - одна из самых востребованных профессий XXI века. Компьютер настолько прочно вошел в нашу жизнь, что оную уже невозможно представить без этого достижения технического прогресса. Поражает одно: как мы все раньше обходились без этой техники? Несмотря на то что сегодня компьютер есть почти в каждом доме, мало кто сможет назвать себя профессионалом в работе с ним. Одна из наиболее популярных и, можно сказать, совершенно необходимых профессий, непосредственно связанных с компьютером, - это программист.
Программирование - сложнейший процесс, обучиться которому непросто. Профессиональный программист - это человек, который фанатично предан своему делу, готов сутками составлять сложнейшие алгоритмы, в буквальном смысле слова, не отрываясь от компьютера. Любите ли вы ПК настолько? Тогда обязательно пробуйте свои силы в освоении профессии программиста. Еще одно качество, которым должен обладать этот специалист, помимо технико-математического склада ума - нестандартность мышления. Нестандартное мышление помогает программисту найти новый, оригинальный путь составления алгоритма, что вполне может привести к разработке новой компьютерной программы.
Многие программисты знают компьютер как свои пять пальцев, умеют его чинить. Доскональное знание ПК для этого специалиста желательно, но вовсе необязательно. Выучившись на программиста, вы можете стать web- программистом (заниматься созданием сайтов), прикладным программистом (разрабатывать игры, программы для ПК, мессенджеры, различное программное обеспечение) или системным программистом. Системное программирование - самая сложная специальность, заключающаяся в создании сложнейших систем ПО, которые управляют вычислительной системой. Такой специалист всегда найдёт себе высокооплачиваемую работу.
На сегодняшний день любой школьник пускай своими словами, но объяснит, что такое дистанционное обучение. По сути это их мечта, сидеть дома за компьютером и заниматься образованием на дому, то бишь удаленно.
Дистанционное обучение (ДО) — взаимодействие учителя и учащихся между собой на расстоянии, отражающее все присущие учебному процессу компоненты (цели, содержание, методы, организационные формы, средства обучения) и реализуемое специфичными средствами Интернет-технологий или другими средствами, предусматривающими интерактивность.
Дистанционное обучение — это самостоятельная форма обучения, информационные технологии в дистанционном обучении являются ведущим средством [18].
Дистанционное образование набирает всё большую популярность в связи своей гибкости и удобству. Благодаря ему уходит на задний план проблема, которая сдерживает многих людей от продолжения образования, исключая необходимость посещения образовательных учреждений по определенному расписанию.
В своей курсовой работе я бы хотел затронуть небольшую часть данного обучения, а именно приложения для обучения тем или иным предметам. Ни для кого не секрет, что программирование на сегодняшний день является одним из перспективных видов деятельности. Существует большое количество источников данных, включая репозитории кода, обсуждения вопросов и ответов, предложения работы, упоминания в социальных медиа, посещения страниц с учебными материалами, просмотры обучающих видео, опросы разработчиков и прочее. Данные публиковались в разные периоды времени, никакие из них не могут считаться абсолютно точными, везде содержатся недочёты, но они могут быть полезны для выявления трендов в индустрии. И изучив статистику популярности нескольких сайтов, таких как Githut, RedMonk, TIOBE Index [19,20,21] можно составить Топ-10 языков программирования на сегодняшний день:
1. JavaScript
2. Java
3. PHP
4. Python
5. C#
6. C++
7. Ruby
8. CSS
9. C
10. Objective-C
Как видно С# (Си шарп) не замыкает эту десятку, а значит пользуется определённой популярностью в тех или иных сферах деятельности, будь то обучающее или профессиональное программирование. На нем мы и сосредоточим наше внимание в данной работе.
Школьники, студенты и их родители должны учесть тот факт, что на сколько современно не было бы их учебное учреждение, не стоит забывать про саморазвитие, например, с помощью приложений на смартфоны. Ведь на сегодняшний день почти каждый школьник имеет современный телефон, не говоря уже о студентах.
Исходя из вышесказанного, целью данной исследовательской работы является проведение анализа, описания и разработки приложения для изучения языка программирования С# школьников и студентов.
Для достижения поставленной цели необходимо решить следующие задачи:
• провести содержательный анализ;
• выполнить функционально-структурный анализ предметной области;
• провести анализ существующих разработок;
• разработать информационно-логическую модель;
• создать базу данных;
• разработать приложение.
Актуальность темы курсового проекта заключается в том, что в настоящее время, несмотря на доступность в Интернете большинство приложений по изучению языков программирования не рассчитаны для базового изучения языков программирования или иными словами для элементарного ознакомления.
Объектом исследования является анализ и описание приложений для изучения языков программирования. Предметом исследования является анализ и описание приложения для изучения языка программирования С#.
Были использованы следующие методы: изучение научной литературы, моделирование, сравнительный анализ, обобщение данных полученных в ходе научно-исследовательской деятельности.
Практическая значимость курсового проекта заключается в том, что, выполнив полный анализ и описание предметной области, мы можем создать полноценное рабочее приложение, которое в дальнейшем будет использоваться для обучения начинающих программистов.
Курсовая работа состоит из введения, двух глав, основной части, заключения, списка литературы.
В данной выпускной квалификационной работе был проведен анализ и описание предметной области, а также рассмотрены наиболее актуальные вопросы разработки и создания приложения для изучения языка программирования C# для школьников и студентов.
Результатом работы стал полнофункциональное готовое обучающее приложение, синхронизированный с работой базой данных и отвечающий всем требованиям. С помощью приложения «Изучаем С#» пользователи могут освоить основы языка программирования, благодаря удобному и доступному каждому пользователю интерфейса.
В первой главе данной квалификационной работы был выполнен полноценный аналитический анализ, который включает в себя: содержательный, функционально-структурный, информационно-логический анализы предметной области, описание системы документооборота, а также анализ существующих разработок. В проектной части работы были выполнены: обоснование проектных решений по техническому и программному обеспечению, разработка базы данных и приложения, проведено тестирование готового проекта и расчет экономической эффективности, которая показала необходимость создания данного ресурса.
При реализации данного проекта были применены наиболее современные технологии разработки, такие как CASE-средство MS Visio 2010, Google FireBase, Adobe Photoshop и Android Studio.
Анализ и тестирование полученных результатов по выполнению поставленных задач позволяет сделать вывод о том, что все поставленные задачи проекта успешно раскрыты и решены, следовательно, цель выпускной квалификационной работы достигнута.
Дальнейшие перспективы развития приложения для изучения языка программирования школьниками и студентами заключаются в дополнительной доработке интерфейса, с целью повышения его информативности и удобства.
1. Юзабилити. Форма и содержание. // webeffector.ru - 2016. URL:
http://www.webeffector.ru/wiki/%D0%AE%D0%B7%D0%B0%D0%B1%D0%B8% D0%BB%D0%B8%D1%82%D0%B8 (дата обращения 26.12.2016)
2. Codementor. Живое наставничество. // ^dementor^ - 2016. URL:
https://www.codementor.io/mentor/apply(дата обращения 26.12.2016)
3. Черемных С.В., Семенов И.О., Ручкин B.C. Моделирование и анализ систем. IDEF-технологии: практикум. - М.: Финансы и статистика, 2006. С. 192.
4. Приложение «Jan Tursky». Статистика. // Play.google.com- 2016. URL:
https://play.google.com/store/apps/details?id=com.freeit.java (дата обращения
24.12.2016)
5. Макарова Н.В. Разработка инфологической модели базы данных // Электронное учебное пособие - 2013. URL: http://eos.ibi.spb.ru/umk/11_15/5/5_R6_T3.html(дата обращения 24.12.2016)
6. Голицына О.Л., Попов И.И. Программирование на языках высокого уровня: учебное пособие. - М.: Форум, 2008.С. 496.
7. Серенков, А.Г. Курьян, В.П. Волонтей. Методы менеджмента качества. Процессный подход. - М.: НИЦ ИНФРА-М; Мн.: Нов. знание, 2014. С. 441.
8. Петрова С.А., Ясинская И.А. Основы исследовательской деятельности: учебное пособие. - М.: Форум, 2010. С. 208.
9. Системы Управления Базами Данных. Модель «Сущность-связь». // Citforum.ru
- 2016. URL: http://citforum.ru/database/classics/chen/ (дата обращения
25.12.2016)
10. Система электронного документооборота. Документооборот. // Bibliofond.ru- 2016. URL: http://bibliofond.ru/view.aspx?id=702131(дата обращения 25.12.2016)
11. Организация работы с документами. Документооборот. // Edou.ru- 2016. URL: http://www. edou.ru/enc/razdel31/?COURSE_ID=5&LESSON_ID=107(дата обращения 20.12.2016)
12. Гальперин М.В. Автоматическое управление. - М.: ИД ФОРУМ: ИНФРА-М, 2011. С. 224.
13. Партыка Т.Л., Попов И.И. Информационная безопасность: учебное пособие для студентов учреждений среднего проф. обр. / - 3-e изд., перераб. и доп. - М.: Форум, 2008. С. 432.
14. Шаньгин В.Ф. Комплексная защита информации в корпоративных системах: учебное пособие. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2013. С.592.
15. Приложение «Sololearn». Статистика. // Play.google.com- 2016. URL:
https://play.google.com/store/apps/details?id=com.sololeam.csharp(дата обращения
23.12.2016)
16. Приложение «Jan Tursky». Статистика. // Play.google.com- 2016. URL:
https://play.google.com/store/apps/details?id=tursky.jan.nauc.sa.html5 (дата
обращения 23.12.2016)
17. Приложение «Dcoder, Mobile Coding IDE». Статистика. // Play.google.com - 2016. URL: https: //play.google. com/store/apps/details?id=com. paprbit.d-coder_ (дата
обращения 23.12.2016)
18. Дистанционное обучение. Информационный портал. // Distance-learning.ru-
2016. URL: http://www.distance-
learning.ru/db/el/284C55060CD3C3B9C3256F2C0052CF9F/doc.html (дата
обращения 25.12.2016)
19. GitHut. Статистика языков программирования. // GitHut.info - 2016. URL: http://githut.info/(дата обращения 24.12.2016)
20. RedMonk. Рейтинг языков программирования. // Redmonk.com- 2016. URL: http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/ (дата обращения
25.12.2016)
21. TIOBE Index. Что происходит со старым хорошим языком C? // Tiobe.com- 2016. URL: http://www.tiobe.com/tiobe-index/(дата обращения 26.12.2016)
22. Горбаченко В. И., Убиенных Г. Ф., Бобрышева Г. В. Создание функциональной модели информационной системы с помощью CASE-средства CA ERwin Process Modeler 7.3. - Пенза: ПГУ, 2010. С. 66.
23. Характеристика ноутбука. // Support.hp URL: https://support.hp.com/ru-
ru/product/hp-pavilion-15-n000-notebook-pc-series/5401225/model/5442976/manuals (дата обращения 18.05.2017)
24. Характеристика маршрутизатора (Официальный сайт) // TP-LINK Technologies Co - 2016. URL: http://www.tp-linkru.com/products/details/TL-WR842ND.html(дата обращения 14.01.16)
25. Описание Фотошопа - 2017. URL: http://www.adobe.com
/ru/products/photoshop.html (дата обращения 14.12.16)
26. Описание андроид студио - 2016. URL: https://android-studio.ru.up
todown.com/windows(дата обращения 14.03.17)
27. Java kit - 2016. URL: http://www.oracle.com/technetwork
/java/javase/downloads/jdk8-downloads-2133151.html (дата обращения 14.03.17)
28. Мельников В. П. Информационное обеспечение систем управления. - М: Академия, 2010. - 336 с.
29. FireBase - 2016. URL: https://firebase.google.com/ (дата обращения 14.02.17)
30. Json - 2017. URL: http://www.json.org/json-ru.html (дата обращения 14.02.17)
31. LogCat - 2016. URL: http://developer.alexanderklimov.ru/android/debug/
logcat.php (дата обращения 14.02.17)
32. Eclipse - 2017. URL: https://eclipse.org/ (дата обращения 10.05.17)
33. Архитектура приложения. URL: https://habrahabr.ru/post/276593/ (дата
обращения 03.06.17)