Scrum report

     其实算上今天01:11分开的Scrum和今天中午开的Scrum,今天一共进行了两次。终于觉得好多东西算是走上了一个正轨。晚上(应该是昨天的大半夜)再一次重新审视上一届留下的代码。首先存在着诸多问题。比如序列化的时候使用了多种格式。特别是在2进制序列化的时候,浪费了十分多的存储空间。另外,在单词表的存储方面,xml文件并没有格式化,当然,这在计算机读取的时候确实不存在问题,但是这在调试或者任何人工读取的时候都是基本不可读的。这应该是一个十分不好的习惯。另外,在很多代码的细节上,也有很多问题。比如单词本的存取路径居然是硬编码!?完全没有可扩展性了。然后Word类中的属性也写死了,一个单词只能有一种意思,这也是十分不现实的事情。另外,在建立新课程的时候,原作者采用的逻辑是,直接复制字典,比如如果我要进行乱序背诵,那么他就生成一个乱序的字典,也就是意味着我开多少个背单词的Course就要存多少个字典,而且还是物理修改?这浪费了多少空间!?!??!这些东西都是作者在一开始偷懒的结果,导致我们需要重新从顶层架构开始设计,包括很多细节的实现。中午的Scrum一共进行了2个多小时(参与人数从5人——4人——3人——2人)最后剩我(PM)和组长(技术大牛,Builder)在讨论了。

     初步的架构在这。

      

  1 class User{
  2     string UserName //用户名
  3     string PassWord //密码
  4     CourseCollection Courses; //课程信息
  5     WordRememberList List; //单词
  6     ExampleList ExampleList;
  7     UserSetting Settings; //用户设置
  8 }
  9 
 10 class System
 11 {
 12     UserCollection Users //用户信息
 13     BookCollection Books //图书信息
 14     DictionaryCollection Dictionarys //字典信息
 15 }
 16 
 17 class DictionaryCollection:KeyedCollection<string,Dictionary>
 18 {
 19     DictFinder
 20     void AddDictionaryLocation(IDictReader) //添加字典寻找器
 21 }
 22 
 23 
 24 class IDictFinder
 25 {
 26     IDictReader Reader;  //读取器
 27     List<Dictionary> ReadAllDict;  //读取全部词典
 28 }
 29 
 30 interface IDictReader
 31 {
 32     Dictionay ReadDictionary(string path); //字典读取算法
 33 }
 34 
 35 
 36 class CourseCollection:KeyedCollection<string,Course>
 37 {
 38     CourseInfo CreateCourse(CourseBasicInfo info)
 39 }
 40 
 41 class CourseBasicInfo
 42 {
 43     WordOrder Order; //记忆顺序
 44     BookName Name; //书名
 45     int ListSize //单词表大小
 46 }
 47 class Course
 48 {
 49     Book Book;  //书
 50     User User;   //用户
 51     CourseBasicInfo Info;   //基本信息
 52     List<WordList> WordList
 53     List<Dictionary> DictReference
 54     Dictionary<string,Example> Example;
 55 }
 56 
 57 class WordWrapper
 58 {
 59    Word Word;
 60     FlowDocument GetDocument()
 61     LinkCollection Links;
 62     string Word
 63     string Pronounce
 64     List<Meaning> Meanings;
 65     string Remember;
 66     string Derivation;
 67     Course Parent
 68     string Root;
 69 }
 70 class Word
 71 {
 72     string Word 
 73     string Pronounce   //发音
 74     List<Meaning> Meanings;   //释义
 75     string Remember;   //记法,可空
 76     string Derivation;   //派生词
 77 }
 78 
 79 class Meaning
 80 {
 81     string Type 
 82     List<Example> Examples 
 83     List<string> Symnym;   //同义
 84     List<string> Antonym;     //反义
 85 }  
 86 
 87 Example
 88 
 89 English
 90 Chinese
 91 Pronounce
 92 
 93 
 94 class Book
 95 List<Word> Words;
 96 
 97 
 98 class BookRepository
 99 
100 class WordDict
101 
102 
103 class DictRepository
104 
105 IDictReade

  

posted @ 2012-11-02 21:44  SuperBrothersTeam  阅读(436)  评论(5编辑  收藏  举报