21.3. Iteration 2 Requirements

Iteration 2 of the NextGen POS application handles several interesting requirements:

  1. Support for variations in third-party external services. For example, different tax calculators must be connectable to the system, and each has a unique interface. Likewise with different accounting systems and so forth. Each will offer a different API and protocol for a core of common functions.

  2. Complex pricing rules.

  3. Pluggable business rules.

  4. A design to refresh a GUI window when the sale total changes.

These requirements will only be considered (for this iteration) in the context of scenarios of the Process Sale use case.

Note that these are not newly discovered requirements; they were identified during inception. For example, the original Process Sale use case indicates the pricing problem:

Main Success Scenario:

  1. Customer arrives at a POS checkout with goods and/or services to purchase.

  2. Cashier tells System to create a new sale.

  3. Cashier enters item identifier.

  4. System records sale line item and presents item description, price, and running total. Price calculated from a set of price rules.

...


Furthermore, sections in the Supplementary Specification record details of the domain rules for pricing, and indicate the need to support varying external systems:

Supplementary Specification

...

Interfaces

Software Interfaces

For most external collaborating systems (tax calculator, accounting, inventory, ... ) we need to be able to plug in varying systems and thus varying interfaces.

...

Domain (Business) Rules

IDRuleChangeabilitySource
RULE4Purchaser discount rules. Examples:

Employee—20% off.

Preferred Customer—10% off.

Senior—15% off.
High. Each retailer uses different rules.Retailer policy.
............

Information in Domains of Interest

Pricing

In addition to the pricing rules described in the domain rules section, note that products have an original price, and optionally a permanent markdown price. A product's price (before further discounts) is the permanent markdown price, if present. Organizations maintain the original price even if there is a permanent markdown price, for accounting and tax reasons.

...


Incremental Development for the Same Use Case Across Iterations

Because of these requirements, we are revisiting the Process Sale use case in iteration 2, but implementing more scenarios, so that the system incrementally grows. It is common to work on varying scenarios or features of the same use case over several iterations and gradually extend the system to ultimately handle all the functionality required. On the other hand, short, simple use cases may be completely implemented within one iteration.

Iteration 1 made simplifications so that the problem and solution were not overly complex to explore. Once again—for the same reason—a relatively small amount of additional functionality is considered.

In a development project the requirements chosen for this iteration in the book would not be the undisputed choice—another possibility is updating inventory, credit payment handling, or a completely different use case. However, this choice is rich with valuable learning opportunities.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.189.189.220