Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 семестр ЗО / Лаб.работы / ЛабРаб № 8!.doc
Скачиваний:
49
Добавлен:
06.02.2016
Размер:
360.45 Кб
Скачать

Составление описания

Чтобы составить описания для каждого прецедента, выполните следующие действия.

  1. Определите системные операции из диаграмм последовательностей.

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

  3. При описании постусловий используйте следующие категории:

  • создание и удаление экземпляра;

  • модификация атрибута;

  • формирование и разрыв ассоциаций.

Советы по составлению описаний системных операций

    • Постусловия целесообразно описывать в декларативной форме, желательно с использованием глаголов пассивного залога в прошедшем времени, чтобы подчеркнуть факт изменения состояний, а не способ реализации, как, на­пример, показано ниже.

    • Создан экземпляр SalesLineItem (лучше).

    • Создание экземпляра SalesLineItem (хуже).

    • Необходимо установить отношения между существующими и вновь созда­ваемыми объектами путем формирования ассоциаций. Например, при вы­полнении операции enterItemнедостаточно просто создать новый экземп­ляр записи о покупке товара SalesLineItem. После выполнения операции этот экземпляр должен быть связан с текущей продажейSale. Поэтому од­ним из постусловий этой операции является следующее.

    • Вновь созданный экземпляр SalesLineItem связан с объектом Sale(формирование ассоциации).

Пример pos-системы тт: описания

Системные операции для прецедента оформление продажи Описание операции

ОП 1: makeNewSale

Операция

makeNewSale()

Ссылки

Прецеденты: Оформление продажи

Предусловия

Отсутствуют

Постусловия

  • Создан экземпляр sобъектаSale (созданиеэкземпляра);

  • Экземпляр Sale связан с объектомRegister(формирование ассоциации);

  • Инициализированы атрибуты экземпляра s.

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

Напомним один из основных принципов RUP: стремитесь к максимальной про­стоте и избегайте использования артефактов, которые не добавляют новых знаний.

ОП 2: enterItem

Операция

enterItem (itemID: itemID, quantity: integer )

Ссылки

Прецеденты: Оформление продажи

Предусловия

Инициирована продажа

Постусловия

  • Создан экземпляр sliклассаSalesLineItem(созданиеэкземпляра);

  • Экземпляр sliсвязан с текущим экземпляром класса Sale(формирование ассоциации);

  • Атрибуту sli.quantityприсвоено значениеquantity(модификация атрибута);

  • Экземпляр sliсвязан с классомProductSpecification на основе соответствия идентификатора товара itemID (формирование ассоциации).

Инициализированы атрибуты экземпляра s.

ОП 3: endSale

Операция

endSale()

Ссылки

Прецеденты: Оформление продажи

Предусловия

Инициирована продажа

Постусловия

  • Атрибут Sale.iscompleteпринял значениеtrue(модификация атрибута).

ОП 4: makePayment

Операция

makePayment (amount: Money)

Ссылки

Прецеденты: Оформление продажи

Предусловия

Инициирована продажа

Постусловия

  • Создан экземпляр p классаPayment(созданиеэкземпляра);

  • Атрибут p.amountTendered принял значениеamount(модификация атрибута);

  • Экземпляр pсвязан с текущим экземпляром классаSale (формирование ассоциации);

  • Текущий экземпляр Saleсвязан с экземпляром классаStore для его добавления в журнал регистрации продаж(формирование ассоциации).

Соседние файлы в папке Лаб.работы