• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

du0jun1

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

一个英语学习工具的设计与开发(本人学习)

英语学习工具
 

一.基本需求:

1.添加生词,翻译,例子。

2.复习:查看生词,翻译,例子。按时间循环查看生词。

3.查看学习历史单词列表,按时间查询。

4.删除学熟的单词

二.Use-case分析:

粗略图

 

复习系统子图:

 单词管理系统图:

 三.分析类结构:

    重要数据:用户,(单词,翻译,例子 时间)---〉学习记录

    由上数据抽象出一个类:学习记录。

    由于此系统没有对用户管理的需要,故没有抽象出用户类。

学习记录类:

     基本属性:单词,翻译,例子,学习时间。

    添加 :添加一个新的纪录。

    删除 :删除一个记录。

    查询 :查询学习记录。(分按时间查询,查询所有)(由于查询结果是多个记录即说明此操作不隶属于本类的某一个对象,所以最好为静态方法)

四.设计实体类

实体类:用于各层之间交互传参。直接由学习记录类得出。

学习记录实体类:

              属性:单词,翻译,例子,学习时间

       系统架构:

             

       五.数据库设计 :

       主要由实体类得出:

方案1:

              Pk_id

              单词(Word)

              翻译 (Translation)

例子 (Example)

学习时间 (StudyTime)

方案2:

一个单词可以有多个翻译,多个例子。上表设计有些问题。

              分割成:

单词表

       Pk_Id

                     单词(Word)

翻译表

       Pk_id

       WordId

       翻译(Translation)

       例子(Example)

方案2 需要连接查询,产生迪卡尔集,效率低。况此系统没有考虑到根据汉语(即翻译列)写对应单词(即单词列)的类似考试的功能。所有学习记录的查询都回有迪卡尔集出现。

最后决定采用方案1的设计。

基本架构:
             

源码下载:https://files.cnblogs.com/du0jun1/EnglishStudyTool.rar

posted on 2006-06-17 00:26  睡猴  阅读(390)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3