Version 1 (modified by orliin, 16 years ago) (diff) |
---|
Analysis
(The purpose of the analysis is to give as much as possible of the needed information for designing and implementing the task.)
Overview
(The analysis of the first revision of each task should contain a brief overview of the whole task. Stick to the current revision of the task, but keep an eye to the whole task progress, and stay alert for possible smells.)
Manipulating with books is the main goal of sophie2. A book should hold pages, pages can be added or removed from a book. A book should be viewable, savable, exportable.
Task requirements
(Necessary requirements that the task must fulfill.)
- Define the connections between books and other related objects (pages, some book repository)
- Define actions related to books
- for the book itself
- create
- destroy
- copy
- save/load
- export
- import
- for the objects inside
- add pages
- remove pages
- (re)order pages
- group pages in chapters
- set a page to be the cover of the book
- other actions
- merge two/many books in one
- split a book in two/many
- for the book itself
- Decide which connections and actions are basic and obligatory and which are optional. Define a class hierarchy that supports the basic connections and actions. In this task a class hierarchy for books should be created. It should contain all interfaces, classes, fields common for all possible kinds of books (if any more than one)
Task result
(The Analysis should contain strict requirements about the end product of the task (for example the result must be source code, the result must be google doc, etc.))
- The result should include
- class diagrams
- source code
Implementation idea
(It is advisable to include some rough implementations ideas.)
Related
(Here you can add related tasks that could be useful or helpful.)
How to demo
(In this section you must add instructions for the demo of the task.)
Design
Implementation
(Implementation results should be described and linked here (from the wiki or the repository))
Testing
Comments
(Write comments for this or later revisions here.)