This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
staff:courses:application_development_for_mobile_platforms:mark [2023/01/26 07:28] mark |
staff:courses:application_development_for_mobile_platforms:mark [2024/04/10 09:18] (current) mark |
||
---|---|---|---|
Line 43: | Line 43: | ||
Проверка приложений на стабильность работы будет выполнятся вручную и автоматизировано. | Проверка приложений на стабильность работы будет выполнятся вручную и автоматизировано. | ||
+ | |||
+ | Вручную приложение будет собираться **стандартным** способом (Import project / Run) через | ||
+ | |||
+ | Android Studio Hedgehog | 2023.1.1 Patch 1 | ||
+ | |||
+ | и эмулятор, указанный ниже. | ||
+ | |||
+ | Если вы используете какие-либо нестандартные подходы к разработке / фреймворки / языки и тд (отличные от штатных технологий, которые может без доп. настроек переварить среда разработки выше), то ваша обязанность предоставить dockerfile, в котором будут настроены все зависимости и можно будет штатно (см. выше) собрать и запустить проект. | ||
+ | |||
+ | |||
Для автоматизированной проверки будет использован скрипт https://bitbucket.org/mark_zaslavskiy/adfmp/src/master/monkey.sh | Для автоматизированной проверки будет использован скрипт https://bitbucket.org/mark_zaslavskiy/adfmp/src/master/monkey.sh | ||
+ | |||
+ | |||
+ | |||
==== Эмулятор, на котором будут проверятся работы ==== | ==== Эмулятор, на котором будут проверятся работы ==== | ||
+ | |||
Экран | Экран | ||
- | * hw.lcd.width: 480 | + | * hw.lcd.density 560 |
- | * hw.lcd.height: 800 | + | * hw.lcd.height 3120 |
- | * hw.lcd.density: 240 | + | * hw.lcd.width 1440 |
+ | Прочее (Версия API в эмуляторе 30) | ||
- | Прочее | + | * image.androidVersion.api 30 |
+ | * avd.ini.displayname Pixel 6 Pro API 30 | ||
+ | * avd.ini.encoding UTF-8 | ||
+ | * AvdId Pixel_6_Pro_API_30 | ||
+ | * disk.dataPartition.size 2G | ||
+ | * fastboot.chosenSnapshotFile | ||
+ | * fastboot.forceChosenSnapshotBoot no | ||
+ | * fastboot.forceColdBoot no | ||
+ | * fastboot.forceFastBoot yes | ||
+ | * hw.accelerometer yes | ||
+ | * hw.arc false | ||
+ | * hw.audioInput yes | ||
+ | * hw.battery yes | ||
+ | * hw.camera.back virtualscene | ||
+ | * hw.camera.front emulated | ||
+ | * hw.cpu.ncore 2 | ||
+ | * hw.device.hash2 MD5:a8abfd3536f3d35e4ba2041a7b99f40e | ||
+ | * hw.device.manufacturer Google | ||
+ | * hw.device.name pixel_6_pro | ||
+ | * hw.dPad no | ||
+ | * hw.gps yes | ||
+ | * hw.gpu.enabled yes | ||
+ | * hw.gpu.mode auto | ||
+ | * hw.initialOrientation Portrait | ||
+ | * hw.keyboard yes | ||
+ | * hw.mainKeys no | ||
+ | * hw.ramSize 1536 | ||
+ | * hw.sdCard yes | ||
+ | * hw.sensors.orientation yes | ||
+ | * hw.sensors.proximity yes | ||
+ | * hw.trackBall no | ||
+ | * image.sysdir.1 system-images/android-30/google_apis/x86/ | ||
+ | * PlayStore.enabled false | ||
+ | * runtime.network.latency none | ||
+ | * runtime.network.speed full | ||
+ | * showDeviceFrame yes | ||
+ | * skin.dynamic yes | ||
+ | * tag.display Google APIs | ||
+ | * tag.id google_apis | ||
+ | * vm.heapSize 384 | ||
- | |||
- | |||
- | * CPU/ABI: Google APIs Intel Atom (x86) | ||
- | * Target: google_apis [Google APIs] (API level 30) | ||
- | * SD Card: 512M | ||
- | * fastboot.chosenSnapshotFile: | ||
- | * runtime.network.speed: full | ||
- | * hw.accelerometer: yes | ||
- | * hw.device.name: Nexus S | ||
- | * hw.lcd.width: 480 | ||
- | * hw.initialOrientation: Portrait | ||
- | * image.androidVersion.api: 30 | ||
- | * tag.id: google_apis | ||
- | * hw.mainKeys: yes | ||
- | * hw.camera.front: emulated | ||
- | * hw.gpu.mode: auto | ||
- | * hw.ramSize: 343 | ||
- | * PlayStore.enabled: false | ||
- | * fastboot.forceColdBoot: no | ||
- | * hw.cpu.ncore: 2 | ||
- | * hw.keyboard: yes | ||
- | * hw.sensors.proximity: yes | ||
- | * hw.dPad: no | ||
- | * hw.lcd.height: 800 | ||
- | * vm.heapSize: 48 | ||
- | * skin.dynamic: yes | ||
- | * hw.device.manufacturer: Google | ||
- | * hw.gps: yes | ||
- | * hw.audioInput: yes | ||
- | * image.sysdir.1: system-images/android-30/google_apis/x86/ | ||
- | * showDeviceFrame: yes | ||
- | * hw.camera.back: virtualscene | ||
- | * hw.lcd.density: 240 | ||
- | * hw.arc: false | ||
- | * hw.device.hash2: MD5:cacc00877ea1aeafae04c1b3addc16f7 | ||
- | * fastboot.forceChosenSnapshotBoot: no | ||
- | * fastboot.forceFastBoot: yes | ||
- | * hw.trackBall: no | ||
- | * hw.battery: yes | ||
- | * hw.sdCard: yes | ||
- | * tag.display: Google APIs | ||
- | * runtime.network.latency: none | ||
- | * disk.dataPartition.size: 800M | ||
- | * hw.sensors.orientation: yes | ||
- | * avd.ini.encoding: UTF-8 | ||
- | * hw.gpu.enabled: yes | ||
==== Список этапов ==== | ==== Список этапов ==== | ||
Line 115: | Line 123: | ||
* Код приложения helloworld выложен в репозиторий (просто для проверки что есть доступ) | * Код приложения helloworld выложен в репозиторий (просто для проверки что есть доступ) | ||
* Сформулированы реализуемые сценарии использования в виде **вики-страницы**. | * Сформулированы реализуемые сценарии использования в виде **вики-страницы**. | ||
- | * Нарисован макет пользовательского интерфейса в виде графа (по аналогии с прошлым семестром) и **выложенн в репозиторий**, макет показан на **вики-странице** со сценариями. | + | * Нарисован макет пользовательского интерфейса в виде графа (по аналогии с прошлым семестром) и **выложенн в репозиторий**, макет показан на **вики-странице**, где также размещены сценарии использования приложения. |
Line 122: | Line 130: | ||
Результат: | Результат: | ||
+ | * в репозитории установлен тег 0.5 | ||
* код приложения выложен в репозитории, | * код приложения выложен в репозитории, | ||
* есть .gitignore для Android Studio, в котором в числе прочего полностью добавлен каталог .idea (каталога .idea не должно быть в репо также как и промежуточных артефактов сборки), | * есть .gitignore для Android Studio, в котором в числе прочего полностью добавлен каталог .idea (каталога .idea не должно быть в репо также как и промежуточных артефактов сборки), | ||
- | * приложение собирается и запускается на эмуляторе, обозначенном выше, | + | * приложение собирается и запускается на эмуляторе и AS, обозначенных выше |
* переходы работают, но данные отображаются только те, что захардкожены в элементах UI, приложение не падает с exception в ответ на любые действия пользователя. | * переходы работают, но данные отображаются только те, что захардкожены в элементах UI, приложение не падает с exception в ответ на любые действия пользователя. | ||
* пакет приложения называется согласно теме курсов ( использование названия по умолчанию или не информативного названия будет ошибкой). | * пакет приложения называется согласно теме курсов ( использование названия по умолчанию или не информативного названия будет ошибкой). | ||
Line 133: | Line 142: | ||
Результат: | Результат: | ||
+ | * в репозитории установлен тег 0.8 | ||
* выполнены требования "UI на заглушках", | * выполнены требования "UI на заглушках", | ||
* код приложения выложен в репозитории, | * код приложения выложен в репозитории, | ||
Line 156: | Line 166: | ||
* макетом интерфейса, реализующим предыдущий пункт. | * макетом интерфейса, реализующим предыдущий пункт. | ||
* аналогичным подсчетом количества действий **для ближайшего аналога** | * аналогичным подсчетом количества действий **для ближайшего аналога** | ||
+ | * вывод по итогам сравнения с аналогом (Кто удобнее) | ||
+ | Примечание: вывод о том, что интерфейс упрощать не надо (так как он лучше аналога / по другим причинам) использовать нельзя :) Проявите фантазию (от вас не требуется эти фиксы реализовывать, достаточно только изобразить и кратко описать) | ||
=== Окончательная версия приложения === | === Окончательная версия приложения === | ||
Результат: | Результат: | ||
+ | * в репозитории установлен тег 1.0 | ||
* выполнены требования от "Частично работоспособный UI" http://se.moevm.info/doku.php/staff:courses:application_development_for_mobile_platforms:mark#%D1%87%D0%B0%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BE%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BD%D1%8B%D0%B9_ui | * выполнены требования от "Частично работоспособный UI" http://se.moevm.info/doku.php/staff:courses:application_development_for_mobile_platforms:mark#%D1%87%D0%B0%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BE%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BD%D1%8B%D0%B9_ui | ||
* код приложения выложен в репозитории, его можно скачать, собрать и запустить. При этом выполняются все сценарии использования, приложение работает стабильно. | * код приложения выложен в репозитории, его можно скачать, собрать и запустить. При этом выполняются все сценарии использования, приложение работает стабильно. | ||
Line 169: | Line 182: | ||
Результат: | Результат: | ||
+ | * тег unit | ||
* в репозитории выложены файлы юнит-тестов (не менее 3х TestCase ) для основных классов, которые можно запустить стандартным способом через Android studio, | * в репозитории выложены файлы юнит-тестов (не менее 3х TestCase ) для основных классов, которые можно запустить стандартным способом через Android studio, | ||
* в репозитории настроен автоматический запуск юнит-тестов по коммитам через Github actions. | * в репозитории настроен автоматический запуск юнит-тестов по коммитам через Github actions. | ||
Line 176: | Line 190: | ||
=== Пояснительная записка === | === Пояснительная записка === | ||
- | - Пояснительная записка в электронном и бумажном виде (требования http://se.moevm.info/doku.php/staff:courses:application_development_for_mobile_platforms:course_work) | + | - Пояснительная записка в электронном виде ( |
- | - Выложена в репозиторий в doc(x)/odt + pdf | + | - Требования http://se.moevm.info/doku.php/staff:courses:application_development_for_mobile_platforms:course_work . Если вы какие-то задания не сделали и вас устраивает текущая оценка, то вы можете пропустить соответствующие разделы (задания для которых вы не сделали) в записке. |
+ | - Выложена в репозиторий в doc(x)/odt + pdf (в каталог docs, формат названия report_ФАМИЛИИ. ) | ||
- Соответствует требованиям оформления ВУЗа. | - Соответствует требованиям оформления ВУЗа. | ||
- Есть непустой список литературы. | - Есть непустой список литературы. | ||
Line 191: | Line 206: | ||
Результат: | Результат: | ||
+ | * тег integrationtests | ||
* в репозитории выложены файлы интеграционных тестов для основных сценариев использования, которые можно запустить стандартным образом (как Android InstrumentedTest), либо скрипт для запуска (например, если это тесты для игры); | * в репозитории выложены файлы интеграционных тестов для основных сценариев использования, которые можно запустить стандартным образом (как Android InstrumentedTest), либо скрипт для запуска (например, если это тесты для игры); | ||
* тесты стабильно выполняются при нескольких запусках подряд на эмуляторе, обозначенном выше; | * тесты стабильно выполняются при нескольких запусках подряд на эмуляторе, обозначенном выше; | ||
Line 206: | Line 222: | ||
* три скриншота. | * три скриншота. | ||
- | Материалы необходимо выложить в репозитории в каталог **play_market_publication/** | + | Материалы необходимо выложить в репозитории в каталог **play_market_publication/** |
- | ====== Формирование оценки ЛЭТИ ====== | + | ====== Формирование оценки ====== |
Line 215: | Line 231: | ||
**Необходимые условия (ЛЭТИ):** Чтобы претендовать на оценку выше "Не аттестован", | **Необходимые условия (ЛЭТИ):** Чтобы претендовать на оценку выше "Не аттестован", | ||
- | * в репозитории проекта должно быть не менее (5 / 10 / 15 - Удовл. / Хор / Отл) коммитов в абсолютном выражении в **КОД ПРОЕКТА**, созданных участником. Комииты в README, wiki, загрузка картинок к коду проекта не относятся:( | + | * в репозитории проекта должно быть не менее (10 / 15 / 20 - Удовл. / Хор / Отл) коммитов в абсолютном выражении в **КОД ПРОЕКТА**, созданных участником. |
+ | * Комииты в README, wiki, загрузка картинок к коду проекта не относятся:( | ||
+ | * Аргументы из серии "у меня не было доступа и за меня пушил коллега по команде" / "я неправильно настроил гит / ссш" не принимаются :( | ||
* участник должен полностью пройти онлайн-курс; | * участник должен полностью пройти онлайн-курс; | ||
- | * у группы должно быть сдано задание "Пояснительная записка. | + | * у группы должно быть сдано задание "Пояснительная записка". |
Line 226: | Line 244: | ||
Все время - Московское. | Все время - Московское. | ||
- | * Мягкий дедлайн - 28.03.2023 23:59 | + | * Мягкий дедлайн - 27.03.2024 23:59 |
- | * Жесткий дедлайн - 30.03.2023 14:00 | + | * Жесткий дедлайн - 28.03.2024 14:00 |
- | * Срок окончательной проверки 31.03.2023 14:00 | + | * Срок окончательной проверки 29.03.2024 14:00 |
Как работают дедлайны: | Как работают дедлайны: | ||
Line 242: | Line 260: | ||
Как баллы трансформируются в оценки (5-балльная система): | Как баллы трансформируются в оценки (5-балльная система): | ||
- | * <60 — Неудовлетворительно | + | * <70 — Неудовлетворительно |
- | * >=60 && <70 — Удовлетворительно | + | * >=70 && <80 — Удовлетворительно |
- | * >=70 && <80 — Хорошо | + | * >=80 && <90 — Хорошо |
- | * >=80 — Отлично | + | |
- | + | ||
- | + | ||
- | ====== Формирование оценки ВШЭ / ИТМО ====== | + | |
- | + | ||
- | + | ||
- | ===== Дедлайны проверок ===== | + | |
- | + | ||
- | Все время - Московское. | + | |
- | + | ||
- | * Мягкий дедлайн - 28.03.2023 23:59 | + | |
- | * Жесткий дедлайн - 30.03.2023 14:00 | + | |
- | * Срок окончательной проверки 31.03.2023 14:00 | + | |
- | + | ||
- | Как работают дедлайны: | + | |
- | * Все присланное до** мягкого дедлайна** будет проверено до наступления **жесткого дедлайна** | + | |
- | * Все присланное до **жесткого дедлайна** будет проверено до **срока окончательной проверки** | + | |
- | * Все присланное после **жесткого дедлайна** будет проигнонировано. | + | |
- | + | ||
- | ===== Оценка ===== | + | |
- | + | ||
- | + | ||
- | + | ||
- | Как баллы трансформируются в классические оценки (5-балльная система): | + | |
- | + | ||
- | * <60 — Неудовлетворительно | + | |
- | * >=60 && <75 — Удовлетворительно | + | |
- | * >=75 && <90 — Хорошо | + | |
* >=90 — Отлично | * >=90 — Отлично | ||
- | |||
- | Как баллы трансформируются в оценку по 10-балльной системе для ВШЭ - пропорционально требованиям ВШЭ: | ||
- | |||
- | * Если у вас оценка из диапазона Удовлетворительно, то в баллы для ВШЭ она считается пропорциоально диапазону >=4 && <6 | ||
- | * Если у вас оценка из диапазона Хорошо, то в баллы для ВШЭ она считается пропорциоально диапазону >=6 && <8 | ||
- | * Если у вас оценка из диапазона Отлично, то в баллы для ВШЭ она считается пропорциоально диапазону >=8 && <10 | ||
- | |||