五子棋设计文档.docxVIP

  • 9
  • 0
  • 约1.14万字
  • 约 22页
  • 2020-08-27 发布于江苏
  • 举报
UML :序言 程序简介: 随着计算机网络的迅猛发展, 异地计算机之间的通信变得十分 便捷。这也为异地间的用户通过网络来进行下棋提供了可能。 网络五子棋软件利用 TCP/IP 协议,在异地的玩家之间建立起 TCP连接, 并用它来交换棋局的各种数据信息。 所以,网络五子棋软件在下棋以前必须要 对相关的网络参数进行设置,才能实现玩家双方的成功连接。连接成功后,玩 家双方轮流下棋, 并将每一步下棋的信息通过网络传送给对方, 使得双方棋盘 上的棋子保持一致。 与单机版五子棋软件相同, 网络版五子棋软件也提供了倒计时器、 “ 认输”、 “和棋”和“悔棋”等功能。但这些功能的都是通过网络来实现的,所以,实 现过程较单机版要复杂。 在胜负判别方面,单机版五子棋软件与网络版五子棋软件并没有什么不 同,只是网络版的玩家双方各自有一套胜负判别的程序。 当一方玩家下一步棋 后,他的胜负判别程序就执行一次,然后再将落子的信息传送给对方, 对方的 胜负判别程序也将执行一次。这样就完成一次胜负的判别过程。 另外,网络版五子棋的双方可能相距邀远, 双方的语言交流没有单机版方 便。所以,网络版五子棋还必须提供聊天功能。 :需求分析 ⑴功能需求 ①能通过网络进行下棋 ②符合五子棋的基本规则 ③提供水平坐标和垂直坐标功能 ④提供双方的倒计时功能 ⑤能在棋子上显示的落子的顺序数 ⑥提供玩家之间的聊天功能 ⑵环境需求 ①10/10Mbps 共享式 HUB一台 ②装有 Windows95/98/NT/XP 操作系统的计算机两台 ③计算机的 CPU不低于 PII450 ,内存不小于 64M ④10/10Mbps 自适应网卡每台计算机各一块, SB兼容声卡各一块,  5 类双 UML 绞线若干米 ⑤每台计算机都应配置有 TCP/IP 协议 ⑶用户界面需求 ①界面友好、亲切 ②界面简洁、不花哨 ③操作界面直观、不繁琐 :程序运行 UML 4 :UML :应用设计模式 UML 轻量级模式(享元模式) Flyweight 在拳击比赛中指最轻量级,即 蝇量级 ,有些作者翻译为 羽量级 。这里使用 享元模式 更能反映模式的用意。 享元模式以共享的方式高效地支持大量的细粒度对象。 享元对象能做到共享的关键是区分内蕴状态( Internal State )和外蕴状态( External State )。内蕴 状态是存储在享元对象内部并且不会随环境改变而改变。 因此内蕴状态并可以共享。 外蕴状态是随环境改变而改变的、 不可以共享的状态。 享元对象的外蕴状态必须由客户端保存, 并在享元对象被创建之后, 在需要使用的时候再传入到享元对象内部。外蕴状态与内蕴状态是相互独立的。 享元模式的应用 享元模式在编辑器系统中大量使用。 一个文本编辑器往往会提供很多种字 体,而通常的做法就是将每一个字母做成一个享元对象。 享元对象的内蕴状态 就是这 个字母,而字母在文本中的位置和字模风格等其他信息则是外蕴状态。 比如,字母 a 可能出现在文本的很多地方,虽然这些字母 a 的位置和字模风 格不同,但是所有 这些地方使用的都是同一个字母对象。这样一来,字母对 象就可以在整个系统中共享。 :经验总结和体会 网络五子棋的开发让我感受到软件的开发是十分辛苦的工作, 尤其是一个 人独立开发更是困难, 因为一个人的知识和能力是有限的, 一个好的软件需要 一个好的团队,集合大家的知识和力量来共同完成。 现在把一些开发的经验总结如下: ①在工程开发中, 系统的分析是整个开发的核心, 只有前期进行很好的分 析、规划,才能做出好的软件产品, 这个阶段要进行很好的策划, 精密的分析。 尤其是流程的设计,直接关系到系统功能和编码的成败。 ②良好的程序设计风格很重要。 这在一个比较大的工程中, 程序设计的风 格非常重要,这影响到软件的测试以及后期功能扩展, 在增量型的开发模型中, 混乱的代码会使维护变的十分困难。 在多人合作团队开发的时候, 你的代码要 影响到全局,必须了解到:你的代码是写给别人看。③运用高效的测试手段。测试要占开发很大的时间,软件编码以后,并非 UML 总能百分百的成功,那就要进行测试。在大程序中,多写异常处理的代码,以 及变量合法的检验等, DEBUG中混合使用断点测试以及报告函数, 以提高 DEBUG 效率。 ④善于捕捉最新的技术资料。 在每个软件开发过程中, 资料是必不可少的, 虽然书本上有比较系统的资料,但是真正能运用的还是不多。在开发时,不要 急于设计编码, 应该学会先查找软件开发中涉及到的各种最新资料, 学习他们 关于本系统的一些开发经验。学会在编码前,吸取别人的代码的一些优点,然 后改进设计,使之更加的完善。 网络五子棋的开发让我体会到,要做好软件必须要学会抽象思维,要练 好抽象思维,还要学

文档评论(0)

1亿VIP精品文档

相关文档