Форум Сообщества Аналитиков

Общий раздел => Примеры => Тема начата: Gekkon от 18 Января 2016, 18:27:50

Название: Программа для изучения иностранного языка
Отправлено: Gekkon от 18 Января 2016, 18:27:50
Всем доброго времени суток.
Готовлюсь к самостоятельной сдаче OCUP 2, а так же в рамках саморазвития встал вопрос о необходимости создания инструмента для изучения языков.
Прежде чем приступить к анализу технических возможностей и формированию требований к реализации, сформировал UseCase и Activity(немного абстрактный, но все таки процесс работы пользователя с основными функциональными блоками), прошу посмотреть старожилов на возможные нарушения нотации UML. Буду рад свежим идеям для развития детища.
После окончания реализации поделюсь детищем, если будут желающие.
Заранее благодарю.
Название: Re: Программа для изучения иностранного языка
Отправлено: davvol от 18 Января 2016, 18:53:11
Материалы все подряд пользователи могут добавлять?
Если так, то как контролируется их качество и адекватность?
Название: Re: Программа для изучения иностранного языка
Отправлено: Gekkon от 19 Января 2016, 06:18:01
Материалы все подряд пользователи могут добавлять?
Если так, то как контролируется их качество и адекватность?
Да, материалы могут все добавлять.
Добавление будет происходить средствами языка XML, а требуемая структура  будет описана в FAQ. Программа же будет иметь алгоритм проверки структуры вводимых данных и, в случаях отхождения, будет оповещать пользователя о неправильных данных, не введя изменения в базу. Так мы решим вопрос со стандартизацией входных данных.
А вот как проверять на адекватность, пока что идей нет. А у вас?
Возможно добавление своих непроверенных материалов будет происходить только в локальную версию... ведь будет существовать возможность откатить базу до дефолтного состояния.
Название: Re: Программа для изучения иностранного языка
Отправлено: Леонид от 19 Января 2016, 12:22:58
А вот как проверять на адекватность, пока что идей нет.

Единственный способ проверки адекватности введенного неким человеком - проверка другим человеком, наделенным достаточными полномочиями.

Можно чуть облегчить участь уполномоченных проверяющих автоматическим исключением заведомого неадеквата по ключевым признакам, но это лишь снижение трудоемкости задачи определения адекватности, а не ее решение.
Название: Re: Программа для изучения иностранного языка
Отправлено: davvol от 20 Января 2016, 11:19:06
Да, материалы могут все добавлять.
...
А вот как проверять на адекватность, пока что идей нет. А у вас?
Возможно добавление своих непроверенных материалов будет происходить только в локальную версию... ведь будет существовать возможность откатить базу до дефолтного состояния.

Вопрос в другом, зачем это вообще?
Какие цели это преследует?
В каком бизнес-процессе участвует?
В чем выгода от такого?

Я пока придумал только один закономерный итог - все будет засрано кем попало (как в википедии), качество упадет ниже плинтуса и интерес к приложению будет потерян.
Название: Re: Программа для изучения иностранного языка
Отправлено: Denis Beskov от 20 Января 2016, 19:42:36
"Изучение иностранного языка" — это не юскейс, а дорога длинною в жизнь.

Юскейсом бизнес-уровня может быть "Выучить язык X на уровне, достаточном чтобы спросить дорогу и понять ответ".

Юскейсом уровня приложения может быть "Пройти сеанс обучения", "Пройти урок", "Пройти тест".

"Запись статистики", "сборка статистики", "запись прогресса в картах" — это тоже не юскейс, а отдельные функции.

Вы почитайте про сценарную сторону юскейсов у Коберна/Вигерса, а то у вас видны типичные перекосы новичка в стиле "всё есть объект".
Название: Re: Программа для изучения иностранного языка
Отправлено: Gekkon от 29 Января 2016, 08:25:38
"Изучение иностранного языка" — это не юскейс, а дорога длинною в жизнь.
Юскейсом бизнес-уровня может быть "Выучить язык X на уровне, достаточном чтобы спросить дорогу и понять ответ".
Юскейсом уровня приложения может быть "Пройти сеанс обучения", "Пройти урок", "Пройти тест".
"Запись статистики", "сборка статистики", "запись прогресса в картах" — это тоже не юскейс, а отдельные функции.
Вы почитайте про сценарную сторону юскейсов у Коберна/Вигерса, а то у вас видны типичные перекосы новичка в стиле "всё есть объект".
Спасибо большое за помощь, сегодня выписавшись из больницы, уже купил книжку Вигерса от "Майкрософт Пресс" и буду изучать.
Вопрос в другом, зачем это вообще?
Какие цели это преследует?
В каком бизнес-процессе участвует?
В чем выгода от такого?
Я пока придумал только один закономерный итог - все будет засрано кем попало (как в википедии), качество упадет ниже плинтуса и интерес к приложению будет потерян.
"Зачем", "Выгода", "Цель" - Вкладывание средств(ведь потраченное время тоже стоит денег) в того, кто изучает.
На счет "засранности" - вы более чем правы, и я сам понимаю это. Именно поэтому базовые материалы будут поставляться с программой, а изменения будут Локальны - каждый уникальный пользователь портит свою уникальную установленную версию. И ответственность будет висеть на самом же пострадавшем в случае чего.
Название: Re: Программа для изучения иностранного языка
Отправлено: davvol от 29 Января 2016, 11:03:35
"Зачем", "Выгода", "Цель" - Вкладывание средств(ведь потраченное время тоже стоит денег) в того, кто изучает.
Ка счет "засранности" - вы более чем правы, и я сам понимаю это. Именно поэтому базовые материалы будут поставляться с программой, а изменения будут Локальны - каждый уникальный пользователь портит свою уникальную установленную версию. И ответственность будет висеть на самом же пострадавшем в случае чего.
1. А что, по вашему, сподвигнет пользователя добавлять материалы? Зачем ему вообще это делать?
2. Допустим, нам попался пользователь с неясной мотивацией который надобавлял непонятного, а потом, провалив какой-нибудь экзамен, написал в Аппсторе разгромный коммент, что ваше приложение только навредило ему. И в чем выгода для вас в этом?

ЗЫ: Пока это все выглядит так.
Собралась команда на стендапе и начальник говорит:
-Че бы нам еще впихнуть в приложение?
-А давайте разрешим пользователям добавлять материалы!
И все такие: Вау, круто, давайте!

А нафига, и какие последствия это повлечет - никто не подумал.
Название: Re: Программа для изучения иностранного языка
Отправлено: Gekkon от 09 Февраля 2016, 16:09:36
1. А что, по вашему, сподвигнет пользователя добавлять материалы? Зачем ему вообще это делать?
2. Допустим, нам попался пользователь с неясной мотивацией который надобавлял непонятного, а потом, провалив какой-нибудь экзамен, написал в Аппсторе разгромный коммент, что ваше приложение только навредило ему. И в чем выгода для вас в этом?
В общем я подумал над вашими словами, подумал над замечанием Denis'a Beskov'a и решил, что вы правы, а я пытался съесть слишком большую лягушку за один раз. В общем, я упростил ВИ и уменьшил область с "Изучение языка" до "Пополнение словарного запаса".
Название: Re: Программа для изучения иностранного языка
Отправлено: RuZzz от 19 Марта 2016, 10:08:56
Один ВИ - Сдать тест.
У этого ВИ одно из расширений просмотр видео или презентации, если человек не знает материала. Это уже работает на самых популярных сайтах по самообразованию(khanacademy).
+Советую добавить функцию по закреплению таблиц (матрицы языка) Дмитрия Петрова, если рассчитываете на новичков.
Это уже реализовано: Генератор фраз по таблицам Петрова (http://www.english-polyglot.com/generator-fraz.html) и это реально работает.
поэтому я и не стал делать проги, которые уже реализованы.
Название: Re: Программа для изучения иностранного языка
Отправлено: [прилетело НЛО и...] от 20 Марта 2016, 16:12:31
В общем, я упростил ВИ и уменьшил область с "Изучение языка" до "Пополнение словарного запаса".

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

Так как у пользователя единственный наследник, то модель нисколько не потеряет, если её упростить -- убрать пользователя и провести коммуникацию между студентом и вариантом использования "Зарегистрироваться". Смысл будет прежним. Если, заводя пользователя, Вы имели в виду, что студенты -- это зарегистрированные пользователи, то модель неудачна. По смыслу связи между действующими лицами выходит, что студенты, являясь пользователями, могут зарегистрироваться, т. е. они не обязательно зарегистрированные, или они могут регистрироваться повторно. Более точная модель содержала бы два действующих лица, не связанных между собой: 1) незарегистрированный пользователь, который может зарегистрироваться; 2) зарегистрированный пользователь, который может Войти, Пройти тест и т. п.
Название: Re: Программа для изучения иностранного языка
Отправлено: Galogen от 20 Марта 2016, 17:27:36
Связь реализации (пунктирная стрелка с треугольным наконечником) между действующими лицами, по-моему, не используется на диаграммах ВИ. Обычно используют связь обобщения -- сплошную стрелку с треугольным наконечником. Дальнейшее написано, исходя из предположения, что имелось в виду обобщение действующих лиц.
Совершенно верное замечание. Стоит добавить, что между actors могут быть только отношения обобщения - сплошная стрелка с полым треугольником на конце

Цитировать
Так как у пользователя единственный наследник, то модель нисколько не потеряет, если её упростить -- убрать пользователя и провести коммуникацию между студентом и вариантом использования "Зарегистрироваться". Смысл будет прежним. Если, заводя пользователя, Вы имели в виду, что студенты -- это зарегистрированные пользователи, то модель неудачна. По смыслу связи между действующими лицами выходит, что студенты, являясь пользователями, могут зарегистрироваться, т. е. они не обязательно зарегистрированные, или они могут регистрироваться повторно. Более точная модель содержала бы два действующих лица, не связанных между собой: 1) незарегистрированный пользователь, который может зарегистрироваться; 2) зарегистрированный пользователь, который может Войти, Пройти тест и т. п.
Отличное наблюдение.