Автор Тема: Программа для изучения иностранного языка  (Прочитано 3075 раз)

Gekkon

  • Newbie
  • *
  • Сообщений: 10
  • Рейтинг читателей: 2
    • Просмотр профиля
Всем доброго времени суток.
Готовлюсь к самостоятельной сдаче OCUP 2, а так же в рамках саморазвития встал вопрос о необходимости создания инструмента для изучения языков.
Прежде чем приступить к анализу технических возможностей и формированию требований к реализации, сформировал UseCase и Activity(немного абстрактный, но все таки процесс работы пользователя с основными функциональными блоками), прошу посмотреть старожилов на возможные нарушения нотации UML. Буду рад свежим идеям для развития детища.
После окончания реализации поделюсь детищем, если будут желающие.
Заранее благодарю.
Кризис – это выбор на перекрестке возможностей: в какую сторону пойти, да так, чтоб в живых остаться, себя не потерять и зрелость к тому же приобрести.


davvol

  • Full Member
  • ***
  • Сообщений: 211
  • Рейтинг читателей: 33
    • Просмотр профиля
Re: Программа для изучения иностранного языка
« Ответ #1 : 18 Января 2016, 18:53:11 »
Материалы все подряд пользователи могут добавлять?
Если так, то как контролируется их качество и адекватность?

Gekkon

  • Newbie
  • *
  • Сообщений: 10
  • Рейтинг читателей: 2
    • Просмотр профиля
Re: Программа для изучения иностранного языка
« Ответ #2 : 19 Января 2016, 06:18:01 »
Материалы все подряд пользователи могут добавлять?
Если так, то как контролируется их качество и адекватность?
Да, материалы могут все добавлять.
Добавление будет происходить средствами языка XML, а требуемая структура  будет описана в FAQ. Программа же будет иметь алгоритм проверки структуры вводимых данных и, в случаях отхождения, будет оповещать пользователя о неправильных данных, не введя изменения в базу. Так мы решим вопрос со стандартизацией входных данных.
А вот как проверять на адекватность, пока что идей нет. А у вас?
Возможно добавление своих непроверенных материалов будет происходить только в локальную версию... ведь будет существовать возможность откатить базу до дефолтного состояния.
Кризис – это выбор на перекрестке возможностей: в какую сторону пойти, да так, чтоб в живых остаться, себя не потерять и зрелость к тому же приобрести.

Леонид

  • Hero Member
  • *****
  • Сообщений: 508
  • Рейтинг читателей: 61
    • Просмотр профиля
Re: Программа для изучения иностранного языка
« Ответ #3 : 19 Января 2016, 12:22:58 »
А вот как проверять на адекватность, пока что идей нет.

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

Можно чуть облегчить участь уполномоченных проверяющих автоматическим исключением заведомого неадеквата по ключевым признакам, но это лишь снижение трудоемкости задачи определения адекватности, а не ее решение.
« Последнее редактирование: 19 Января 2016, 12:25:34 от Леонид »

davvol

  • Full Member
  • ***
  • Сообщений: 211
  • Рейтинг читателей: 33
    • Просмотр профиля
Re: Программа для изучения иностранного языка
« Ответ #4 : 20 Января 2016, 11:19:06 »
Да, материалы могут все добавлять.
...
А вот как проверять на адекватность, пока что идей нет. А у вас?
Возможно добавление своих непроверенных материалов будет происходить только в локальную версию... ведь будет существовать возможность откатить базу до дефолтного состояния.

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

Я пока придумал только один закономерный итог - все будет засрано кем попало (как в википедии), качество упадет ниже плинтуса и интерес к приложению будет потерян.
« Последнее редактирование: 21 Января 2016, 18:55:48 от davvol »

Denis Beskov

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 2407
  • Рейтинг читателей: 90
    • Просмотр профиля
    • Школа системного анализа
Re: Программа для изучения иностранного языка
« Ответ #5 : 20 Января 2016, 19:42:36 »
"Изучение иностранного языка" — это не юскейс, а дорога длинною в жизнь.

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

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

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

Вы почитайте про сценарную сторону юскейсов у Коберна/Вигерса, а то у вас видны типичные перекосы новичка в стиле "всё есть объект".

Gekkon

  • Newbie
  • *
  • Сообщений: 10
  • Рейтинг читателей: 2
    • Просмотр профиля
Re: Программа для изучения иностранного языка
« Ответ #6 : 29 Января 2016, 08:25:38 »
"Изучение иностранного языка" — это не юскейс, а дорога длинною в жизнь.
Юскейсом бизнес-уровня может быть "Выучить язык X на уровне, достаточном чтобы спросить дорогу и понять ответ".
Юскейсом уровня приложения может быть "Пройти сеанс обучения", "Пройти урок", "Пройти тест".
"Запись статистики", "сборка статистики", "запись прогресса в картах" — это тоже не юскейс, а отдельные функции.
Вы почитайте про сценарную сторону юскейсов у Коберна/Вигерса, а то у вас видны типичные перекосы новичка в стиле "всё есть объект".
Спасибо большое за помощь, сегодня выписавшись из больницы, уже купил книжку Вигерса от "Майкрософт Пресс" и буду изучать.
Вопрос в другом, зачем это вообще?
Какие цели это преследует?
В каком бизнес-процессе участвует?
В чем выгода от такого?
Я пока придумал только один закономерный итог - все будет засрано кем попало (как в википедии), качество упадет ниже плинтуса и интерес к приложению будет потерян.
"Зачем", "Выгода", "Цель" - Вкладывание средств(ведь потраченное время тоже стоит денег) в того, кто изучает.
На счет "засранности" - вы более чем правы, и я сам понимаю это. Именно поэтому базовые материалы будут поставляться с программой, а изменения будут Локальны - каждый уникальный пользователь портит свою уникальную установленную версию. И ответственность будет висеть на самом же пострадавшем в случае чего.
Кризис – это выбор на перекрестке возможностей: в какую сторону пойти, да так, чтоб в живых остаться, себя не потерять и зрелость к тому же приобрести.

davvol

  • Full Member
  • ***
  • Сообщений: 211
  • Рейтинг читателей: 33
    • Просмотр профиля
Re: Программа для изучения иностранного языка
« Ответ #7 : 29 Января 2016, 11:03:35 »
"Зачем", "Выгода", "Цель" - Вкладывание средств(ведь потраченное время тоже стоит денег) в того, кто изучает.
Ка счет "засранности" - вы более чем правы, и я сам понимаю это. Именно поэтому базовые материалы будут поставляться с программой, а изменения будут Локальны - каждый уникальный пользователь портит свою уникальную установленную версию. И ответственность будет висеть на самом же пострадавшем в случае чего.
1. А что, по вашему, сподвигнет пользователя добавлять материалы? Зачем ему вообще это делать?
2. Допустим, нам попался пользователь с неясной мотивацией который надобавлял непонятного, а потом, провалив какой-нибудь экзамен, написал в Аппсторе разгромный коммент, что ваше приложение только навредило ему. И в чем выгода для вас в этом?

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

А нафига, и какие последствия это повлечет - никто не подумал.
« Последнее редактирование: 29 Января 2016, 11:05:36 от davvol »

Gekkon

  • Newbie
  • *
  • Сообщений: 10
  • Рейтинг читателей: 2
    • Просмотр профиля
Re: Программа для изучения иностранного языка
« Ответ #8 : 09 Февраля 2016, 16:09:36 »
1. А что, по вашему, сподвигнет пользователя добавлять материалы? Зачем ему вообще это делать?
2. Допустим, нам попался пользователь с неясной мотивацией который надобавлял непонятного, а потом, провалив какой-нибудь экзамен, написал в Аппсторе разгромный коммент, что ваше приложение только навредило ему. И в чем выгода для вас в этом?
В общем я подумал над вашими словами, подумал над замечанием Denis'a Beskov'a и решил, что вы правы, а я пытался съесть слишком большую лягушку за один раз. В общем, я упростил ВИ и уменьшил область с "Изучение языка" до "Пополнение словарного запаса".
« Последнее редактирование: 09 Февраля 2016, 16:16:03 от Gekkon »
Кризис – это выбор на перекрестке возможностей: в какую сторону пойти, да так, чтоб в живых остаться, себя не потерять и зрелость к тому же приобрести.

RuZzz

  • Full Member
  • ***
  • Сообщений: 138
  • Рейтинг читателей: 3
    • Просмотр профиля
    • Atay
Один ВИ - Сдать тест.
У этого ВИ одно из расширений просмотр видео или презентации, если человек не знает материала. Это уже работает на самых популярных сайтах по самообразованию(khanacademy).
+Советую добавить функцию по закреплению таблиц (матрицы языка) Дмитрия Петрова, если рассчитываете на новичков.
Это уже реализовано: Генератор фраз по таблицам Петрова и это реально работает.
поэтому я и не стал делать проги, которые уже реализованы.
« Последнее редактирование: 19 Марта 2016, 10:12:05 от RuZzz »

[прилетело НЛО и...]

  • Full Member
  • ***
  • Сообщений: 216
  • Рейтинг читателей: 26
    • Просмотр профиля
В общем, я упростил ВИ и уменьшил область с "Изучение языка" до "Пополнение словарного запаса".

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

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

Galogen

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 6065
  • Рейтинг читателей: 192
  • Аксакал
    • Просмотр профиля
    • Профиль в Моем Круге
Связь реализации (пунктирная стрелка с треугольным наконечником) между действующими лицами, по-моему, не используется на диаграммах ВИ. Обычно используют связь обобщения -- сплошную стрелку с треугольным наконечником. Дальнейшее написано, исходя из предположения, что имелось в виду обобщение действующих лиц.
Совершенно верное замечание. Стоит добавить, что между actors могут быть только отношения обобщения - сплошная стрелка с полым треугольником на конце

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