Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Игра Домино  (Прочитано 27780 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Alf
Гость
« : 20-04-2006 20:26 » 

Я неспроста затеял обсуждение в теме "Технологии", сейчас эти материалы придутся как нельзя кстати.

Olegator, попробуй представить себя в роли продавца программного обеспечения, который решил заработать на продаже сетевой игры "Домино". Попытайся составить ТЗ на разработку программы, которое потом можно будет передать профессиональным разработчикам софта. Упор делаем на функциональную часть, поскольку сроки для учебного проекта - не главное.

Имей в виду, что ты получишь именно то, что опишешь в ТЗ. Например, если цвет стола окажется ярко-красным, а ты хотел темно-зеленый, но забыл написать это, разработчик не виноват. Он, конечно, исправит, но за дополнительные деньги. Поэтому представь себе, что эта программа у тебя уже есть, и опиши, какой ты ее видишь.
« Последнее редактирование: 07-11-2006 17:02 от Olegator » Записан
Olegator
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 26-10-2006 17:56 » 

Модель прецедентов это ответ на вопрос “Что хотят сделать пользователи программы?”. В общем надо описать действия пользователя и реакцию на них программы. И это ещё связано с интерфейсом. Какие возможности должен предоставить интерфейс пользователю.  На какие кнопки должен нажимать пользователь для того, чтобы выполнились нужные действия. И для этого надо сделать прототип интерфейса. Короче говоря нарисовать.
Например:
Пользователь взял кость мышкой и перетащил её на стол.
Должны быть описаны ещё альтернативные дествия:
Пользователь взял неподходящую кость и не смог перетащить её на стол.

Описываются элементарные действия.
Но при этом всё должно быть достаточно подробно. Т.е. на какую кнопку надо нажать, чтобы выполнилось нужное действие.
Описывать надо именно так, как поступил бы пользователь, а не как функции программы. Т.е. написать:”кость может быть перетащена на стол”, наверное, неправильно.

Я всё это вычитал из книги про ICONIX. Там есть десять самых распространённых ошибок при составлении модели прецедентов. К вечеру я их выложу.

Но перед моделью надо составить модель предметной области.
Это просто словарь сущностей, которые учувствуют в программе и их определения. Я его составил. Не знаю правда насколько хорошо. К вечеру постараюсь доделать модель прецедентов.

* Spisok_suschnostei.rar (15.48 Кб - загружено 1347 раз.)
« Последнее редактирование: 07-11-2006 01:47 от Olegator » Записан
Olegator
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 27-10-2006 00:45 » 

Как составляется прецедент:
1. Прецедент состоит из главной последовательности и альтернативных последовательностей.
2. Задаться вопросом "Что происходит?" С ответа на него начинается главная последовательность
3. Задаться вопросом "Что дальше?" Задаваться этим вопросом пока не будут обнаружены все детали главной последовательности.
4. Задаться вопросом "Что ещё может произойти?" Надо найти все альтернативные последовательности. И тут надо стараться найти все альтернативные последовательности.

Целью является описать всё, что может сделать пользователь.

В книге написано, что проблемы связанные с поиском последовательностей ничто по сравнению с проблемами, которые возникают при тестировании сопряжений. И это я пока не понял.



« Последнее редактирование: 30-10-2006 02:22 от Olegator » Записан
Olegator
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 27-10-2006 00:49 » 

В книге описывется 10 самых распространённых ошибок при составлении прецедентов:
10. Пишут функциональные требования вместо словесного описания использования.
9. Описывают атрибуты и требования, а не порядок использования.
8. Слишком лаконично записываются требования.
7. Полностью абстрогируются от интерфейса пользователя
6. Не присваивают явные имена граничным объектам
5. Описывают прецеденты не с точки зрения пользователя.
4. Описывают только действия пользователя, игнорируя реакцию системы
3. Опускают альтернативные последовательности действий.
2. Акцентируют внимание на чём-то не относящемуся к самому прецеденту. Например на том когда он начинается или, что происходит позже.
1. Затрачивают много времени, решая, что использовать включение или расширение. (Это что-то из UML)

Все эти ошибки в книге рассматриваются на примере книжного интернет магазина.
Мы будем их рассматривать по отношению к нашей программе.
« Последнее редактирование: 12-11-2006 22:26 от Olegator » Записан
Olegator
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 27-10-2006 01:16 » 

Может возникнуть вопрос, почему сначала идёт модель предметной области, а потом модель прецедентов.
Модель предметной области - это словарь терминов, сущностей, которые будут объектами в нашей программе.
Используя эти сущности в модели прецедентов, мы напишем прецеденты в контексте объектной модели. И это будет удобней, чем если мы просто будем составлять прецеденты со стороны пользователя.
Таким образом мы свяжем динамическую часть (модель прецедентов) со статической (модель предметной области).
И тут должен происходить такой процесс, когда в результате составления прецедентов мы можем обнаружить упущенные, при первом составлении модели придметной области, сущности. И модель предметной области будет становиться более полной. При дополнении модели предметной области будет меняться модель прецедентов. И т.д. В результате этого будет происходить совершенствование статической и динамической модели.
« Последнее редактирование: 12-11-2006 22:26 от Olegator » Записан
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 12-11-2006 17:45 » 

Прочитал - все понятно.
Нужно составлять список прецендентов?
П.С. Вопрос, а тесты писать будем? Улыбаюсь
Записан

Ёжики, это не только ценные шкурки...
Olegator
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 12-11-2006 21:12 » 

Нужно составлять список прецендентов?
Не прецендентов, а прецедентов.
Нужно.

П.С. Вопрос, а тесты писать будем? Улыбаюсь
Тесты чего?
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 13-11-2006 10:19 » 

Он, наверное, имееет ввиду, будете ли вы использовать технологию Юнит-тестирования
Записан

ещё один вопрос ...
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 13-11-2006 16:37 » new

Он, наверное, имееет ввиду, будете ли вы использовать технологию Юнит-тестирования
Да! Улыбаюсь Вы абсолютно правы!
Не прецендентов, а прецедентов.
Нужно.
Бывает...
Попробую...
Записан

Ёжики, это не только ценные шкурки...
Olegator
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 14-11-2006 20:29 » 

1. Надо ли сделать так, чтобы программа в некоторые моменты делала очевидные действия за игрока? Например:
Когда у игрока и в базаре нет подходящей кости программа сама передавала бы ход следующему игроку. Или же сделать наиболее близко к реальности. Игрок сам нажимает на кнопку пропуск хода. Плюс ещё заставить игрока самого вести счёт, а программа будет просто проверять правильность подсчёта.

2. Надо ли ввести в словарь терминов переход хода и как его описать.

3. Надо ли ввести в словарь терминов подходящяя и неподходящяя для хода кость и как это описать.
« Последнее редактирование: 14-11-2006 20:33 от Olegator » Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 14-11-2006 21:28 » 

По пункту 1, думаю, что надо вывести информационное сообщение, что игрок пропускает ход по причине тобою указанной и передать ход следующему. Это мое имхо.

Олегатор, а ты выкладывал уже словарь терминов? Что есть сейчас?
Записан

ещё один вопрос ...
Olegator
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 15-11-2006 09:12 » 

Олегатор, а ты выкладывал уже словарь терминов? Что есть сейчас?
Во втором посте этой темы.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines