wiki:PRO_CHANGE_COMMONS_R0

Version 6 (modified by gogov, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=PRO_CHANGE_COMMONS_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

Common things about changes that are not put in the other tasks listed in related section.

Task requirements

  • consider carefully the relations between classes of the following:
  • consider creating a module if necessary - the change manager will take an important role in changes of books on the server as well.
    • the module may be needed now.
    • the module may appear in later revisions.
    • the module may not be needed at all.
  • create a wiki page that describes all the relations and class of the PRO_CHANGE things.
  • provide class diagrams.

Task result

  • a base design of the change part of the pro library.
  • a wiki page.
  • diagrams of the classes for connected with changes.

Implementation idea

  • review the tasks that are connected with PRO_CHANGE.
  • view the existing source code.
  • provide a relations and operations explanation in a wiki page.
  • provide diagrams of the classes needed.

PRO_CHANGE_PRIMITIVES_R0
PRO_CHANGE_TRANSACTION_SAFETY_R0
PRO_CHANGE_COMPOSING_R0
PRO_CHANGE_MANAGER_R0

How to demo

  • show the base design, diagrams and the wiki page.

Design

Implementation

Testing

Comments

The following comments could be either part of this task or the R1 revision.

  • A hierarchy of the types of changes should be provided, as well as their functionality and purpose such as:
    • Changes form a three of GroupChanges as internal nodes and ProChanges as leaves of the tree
    • AutoChanges are meant to be used by the developer (describe how)
    • GroupChanges are meant to be used itnernally by the AutoChanges and the overall change mechanism (describe how)
    • ProChanges are meant to be leaves of the tree (describe why)
    • This scheme should work if Sophie 2 uses properties and immutable objects (describe why)
  • Describe Changes decomposition to Change primitives, its purpose and provide a use-case