Шаблоны технических и функциональных спецификаций [закрываются]

Поскольку вопрос уже ответил, то лучший способ - использовать метод удаления объекта итератора, я хотел бы перейти к особенностям места, где была выбрана ошибка "java.util.ConcurrentModificationException".

Каждый класс коллекции имеет частный класс, который реализует интерфейс Iterator и предоставляет такие методы, как next(), remove() и hasNext().

Следующий код выглядит примерно так:

public E next() {
    checkForComodification();
    try {
        E next = get(cursor);
        lastRet = cursor++;
        return next;
    } catch(IndexOutOfBoundsException e) {
        checkForComodification();
        throw new NoSuchElementException();
    }
}

Здесь метод checkForComodification реализован как

final void checkForComodification() {
    if (modCount != expectedModCount)
        throw new ConcurrentModificationException();
}

Итак, как вы можете видеть, если вы явно попытаетесь удалить элемент из коллекции. Это приводит к тому, что modCount отличается от expectedModCount, что приводит к исключению ConcurrentModificationException.

60
задан Montag451 18 June 2014 в 12:58
поделиться

7 ответов

На общих советах;

Мы реализуем процесс

1) Оператор бизнес-требований (BRS)

2) Функциональная спецификация

3), Техническая спецификация

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

функциональная спецификация детализирует то, что необходимо, как это должно посмотреть, какой длины поля должны быть, и т.д.

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

клиент владеет требованиями. Разработчики владеют техническими спецификациями, и функциональная спецификация является вторым планом. Тестирование сделано против технических спецификаций (обычно поблочное тестирование) тогда против функциональных спецификаций (обычно тестирование системы) и затем против требований (UAT).

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

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

31
ответ дан Montag451 24 November 2019 в 17:52
поделиться

Не шаблон, но Joel записал несколько статей при записи функциональной спецификации. Он также имеет образец здесь .

17
ответ дан Galwegian 24 November 2019 в 17:52
поделиться

Можно купить шаблоны у IEEE и других мест, но я всегда заканчивал тем, что делал свое собственное.

Для технической спецификации, " Код, Завершенный " Steve McDonnell, имеет хороший контрольный список, можно потянуть некоторую информацию из этого. В моем последнем задании я просто сделал шаблон из его заголовков раздела и настроил его оттуда.

До функциональной спецификации, важная вещь состоит в том, чтобы определить все интерфейсы:

  1. UI (экранируют макеты)
  2. Программные интерфейсы (плагины, и т.д.)
  3. Аппаратные интерфейсы (если соответствующий)
  4. Интерфейсы связи (Сервисы, электронная почта, обмен сообщениями, и т.д.)

должен также быть раздел для бизнес-правил, вещи, которые важны функционально, которые не охвачены ни в каком интерфейсном определении.

7
ответ дан Guy Starbuck 24 November 2019 в 17:52
поделиться

Если Вы хотите купить книгу, , Требования к программному обеспечению Karl Wiegers имеют шаблоны для нескольких документов как приложение. К сожалению, я работаю и что конкретная книга дома. Если у кого-то есть он удобный, они могли бы быть в состоянии подтвердить это.

6
ответ дан Thomas Owens 24 November 2019 в 17:52
поделиться

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

3
ответ дан srclontz 24 November 2019 в 17:52
поделиться

Мне, оказывается, нравится этот среди других: ReadySet.

Он продает про версию также.

5
ответ дан Ben Collins 24 November 2019 в 17:52
поделиться

Я предложил бы взглянуть на шаблон Roberston's Volere здесь . Они - часть Атлантической Системной Гильдии, вместе с людьми как Tom DeMarco и Timothy Lister известности "Peopleware".

, Поскольку шаблон защищен авторским правом, я не воспроизведу его здесь, но дам Вам некоторые основные заголовки:

  1. Цель Проекта
  2. Заинтересованные стороны
  3. Переданные под мандат Ограничения
  4. Соглашения о присвоении имен и Терминология
  5. Соответствующие Факты и Предположения
  6. Объем Работы
  7. Модель Бизнес-данных и Словарь Данных
  8. Объем продукта
  9. Функциональные требования
  10. Взгляд и Требования Чувств...

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

Взгляд здесь в главе 9.

3
ответ дан Ralph M. Rickenbach 24 November 2019 в 17:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: