Changeset 10742 for main/eko-disco-specs


Ignore:
Timestamp:
14 Nov 2013, 07:46:13 (11 years ago)
Author:
Henrik Bettermann
Message:

Express relations more mathimatically. Relations can now be 'read' in both directions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/eko-disco-specs/trunk/data.rst

    r10738 r10742  
    5050
    5151Connected to: :ref:`label-customer` (1:1),
    52 :ref:`label-contact-address` (1:|n0|), :ref:`label-contact-email`
    53 (1:|n0|), :ref:`label-contact-phone` (1:|n0|)
     52:ref:`label-contact-address` (1:p), :ref:`label-contact-email`
     53(1:n), :ref:`label-contact-phone` (1:p)
    5454
    5555Used in the following use cases:
     
    6464addresses we store some timestamp that indicates when the respective
    6565email address was last checked successfully (thus marking it a 'valid'
    66 one).
    67 
    68 Connected to: :ref:`label-contact-data` (|n0|:1),
    69 :ref:`label-timestamp` (1:|m0|).
     66one). No timestamp means, the email address has never been checked.
     67
     68Connected to: :ref:`label-contact-data` (n:1),
     69:ref:`label-timestamp` (1:q)
    7070
    7171Used in the following use cases:
     
    7979Mobile phone number which is capable of receiving sms text messages.
    8080
    81 Connected to: :ref:`label-contact-data` (|n0|:1)
     81Connected to: :ref:`label-contact-data` (n:1)
    8282
    8383Used in the following use cases:
     
    104104become due, a respective :ref:`label-transaction` is triggered.
    105105
    106 Contracts can have multiple :ref:`label-contract-addon`.
    107 
    108 Connected to: :ref:`label-service` (|n0|:1), :ref:`label-customer` (|n0|:1),
    109 :ref:`label-contract-addon` (1:|n0|), :ref:`label-transaction` (|n0|, |m0|)
     106Contracts can have multiple :ref:`label-contract-addon`\ s.
     107
     108Connected to: :ref:`label-service` (p:1), :ref:`label-customer` (p:1),
     109:ref:`label-contract-addon` (1:p), :ref:`label-transaction` (p:q)
    110110
    111111Used in the following use cases:
     
    121121parameters. Contract addons are created by :ref:`label-contract`\ s.
    122122
    123 Connected to: :ref:`label-contract` (|n0|:1)
     123Connected to: :ref:`label-contract` (p:1)
    124124
    125125
     
    149149- get help if problems arise
    150150
    151 - retrieve bills.
    152 
    153 - reset their passwords if forgotten.
     151- retrieve bills
     152
     153- change their passwords
    154154
    155155Customers can order :ref:`label-service`\ s and pay these (kinds of
     
    160160instance when postal addresses change), and by staff members.
    161161
    162 Connected to: :ref:`label-contract` (1:|n0|),
    163 :ref:`label-contact-data` (1:1), :ref:`label-login-credentials` (1:1).
     162Connected to: :ref:`label-contract` (1:p),
     163:ref:`label-contact-data` (1:1), :ref:`label-login-credentials` (1:1)
    164164
    165165
     
    174174for instance describing a location in words.
    175175
    176 Connected to: :ref:`label-meter` (1:1)
     176Connected to: :ref:`label-meter` (1:p)
    177177
    178178
     
    187187Passwords can be reset on request.
    188188
    189 Connected to: :ref:`label-customer`
     189Connected to: :ref:`label-customer` (1:1)
    190190
    191191
     
    206206at a given time.
    207207
    208 Connected to: :ref:`label-contract` (|n0|:\ |m0|),
    209 :ref:`label-meter-value` (1:|m0|), :ref:`label-location` (1:n)
     208Connected to: :ref:`label-contract` (b:1),
     209:ref:`label-meter-value` (1:n), :ref:`label-location` (p:1)
    210210
    211211
     
    238238prepared to collect meter data from external devices.
    239239
    240 Connected to: :ref:`label-meter` (|n0|:1), :ref:`label-timestamp` (1:1),
    241 :ref:`label-user`.
     240Connected to: :ref:`label-meter` (p:1), :ref:`label-timestamp` (1:1),
     241:ref:`label-user` (p:1)
    242242
    243243
     
    274274Services also serve as factories for :ref:`label-contract`\ s.
    275275
    276 Connected to: :ref:`label-contract` (1:|n0|),
     276Connected to: :ref:`label-contract` (1:p)
    277277
    278278Used in the following use cases:
     
    292292
    293293Connected to: :ref:`label-meter-value` (1:1),
    294 :ref:`label-contact-email` (1:1)
     294:ref:`label-contact-email` (p:1)
    295295
    296296
     
    310310is consumed, purchased, or (pre-)paid by the respective customer.
    311311
    312 Connected to: :ref:`label-customer` (1:|n0|), :ref:`label-service`
    313 (|n0|:1)
     312Connected to: :ref:`label-customer` (p:1), :ref:`label-service`
     313(p:1)
    314314
    315315Used in the following use cases:
     
    334334Users can be blocked or removed from the system.
    335335
    336 Connected to: :ref:`label-login-credentials`.
     336Connected to: :ref:`label-login-credentials` (1:1), :ref:`label-user-role` (p:q)
    337337
    338338
     
    344344A role assigned to a group of :ref:`label-user`\ s.
    345345
    346 Connected to: :ref:`label-user` (1:|n0|).
    347 
    348 
    349 .. [#] Relation types: (1:1): One-to-one, (1:n): One-to-many, (n:1):
    350        many-to-one, (n:m): many-to-many. ``n`` and ``m`` mean some
    351        value ``1..n``. To indicate zero or more (``0..n``) relations,
    352        we use |n0| and |m0| respectively.
     346Connected to: :ref:`label-user` (p:q)
     347
     348
     349.. [#] Relation types: (1:1): one on one, (1:n): one on many, (n:1):
     350       many on one, (n:m): many on many, (1:p): one on many or none,
     351       (p:1): many or none on one, (p:q): many or none on many or none,
     352       (1:b): one or none on one, (b:1): none or one on one
     353
     354       In mathematical terms:
     355
     356       n and m are elements of {1, 2, ...},
     357       p and q are elements of {0, 1, 2, ...},
     358       b is element of {0, 1}
     359
     360
Note: See TracChangeset for help on using the changeset viewer.