语言项目实践五子棋_第1页
语言项目实践五子棋_第2页
语言项目实践五子棋_第3页
语言项目实践五子棋_第4页
语言项目实践五子棋_第5页
已阅读5页,还剩46页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

57-五子棋架构分析网上下载的某五子棋(C#)代码结构类结构机器人局域网棋色棋子想?类结构与调用关系入口——program/main()program/main()的序列图program/main()的调用关系图更多的调用关系

Main()调用From1

From1调用game

……Main()调用From1Game的序列图(局部)Game的序列图(全图)Game处理局域网(部分)Game处理局域网(部分)Game处理局域网(部分)架构分析——

第一刀切在哪里?架构分析——第一刀切在哪里?有几个客户端?客户端分解——分解是否充分?客户端分解——都放在客户端吗?服务器端分解——找出客户端/服务器端组件之间的关联关系找出客户端/服务器端组件之间的关联关系画出客户端/服务器组件之间的顺序图

将组件细化为类/对象、方法

描述类/对象、方法之间行为(调用关系)五子棋8个主要类之间的调用关系图五子棋8个类的??个方法之间的

调用关系图看看新架构与原架构有什么不同?

从组件责任划分、协调关联看,是否有利于扩展?从可扩展性看架构设计扩展需求悔棋对方落子后悔棋(半工)对方落子前(规定时间内)悔棋(全双工)与对方下“指导”棋本质是“交互方式”的扩展扩展需求通用客户端信息交互的格式的统一信息交互的内容含义的统一棋局交互逻辑和规则的统一表现层可以不一样各自的数据记录方式可以不一样从开发可重用软件的需求出发

看架构设计用户需求:开发一套通用的网络版棋牌类游戏平台用户需求:

棋牌游戏:五子棋、中国象棋、斗地主、麻将

网络版:客户端与服务器(C/S-B/S)结构

关键质量属性需求:

通用性:平台统一关键质量属性:“统一平台”的场景描述刺激源:最大限度地共用可重用部件,减少软件开发量刺激:与游戏本身无关的功能应部件重用环境:棋牌类网络游戏平台的系统架构制品:与具体棋牌无关的、可重用的部件。响应:只添加少量模块,就可以实现新的棋牌类游戏响应度量:对代码可重用度的衡量(对重用方法数进行度量)

重用方法最少开发架构可重用重用度量“可重用”需求与实现方案分析1、网络级的重用(无软件重用)客户端(C/S-B/S):运行各自的客户端软件服务器:按网络端口,运行不同的服务器软件“可重用”需求与实现方案分析2、客户端/服务器非游戏部分可重用客户端(C/S-B/S):除登录外,运行各自的客户端软件服务器:用户登录、用户信息管理等部分可重用,游戏对弈的部分,运行各自的代码。游戏部分可重用五子棋+中国象棋

五子棋+斗地主+麻将五子棋与中国象棋的区别五子棋与中国象棋的区别相同点双人对弈(含AI)各走一步,且只能走一步(悔子类同)最后一步定胜负不同点棋盘和子不同走子和判胜负的规则不同象棋有吃子(做减法),五子棋做加法可重用度可以达到多少?

(重用度量的是复用的类/方法数,不是编程的工作量)站在架构的角度再看可重用度五子棋与麻将的区别相同点以1对3的观点看,还是双人对弈(含AI)各走一步,且只能走一步(悔子类同)最后一步定胜负不同点棋盘和子不同走子和判胜负的规则不同(可以不和)麻将补一张出一张,有吃、碰(不加不减)麻将也没有什么太大的差别对手:1对11对3(for循环)“可重用”需求的分析重用方法最少开发架构可重用重用度量把中国象棋、麻将加进去,除了画棋牌效果图的工作量,其他要加的并不多嘛“可重用”需求的分析重用方法最少开发架构可重用重用度量重用率的度量

新加(重用)了多少类/方法一个中国象棋的类关系图一个斗地主的类关系图一个麻将的类关系图这么烂的架构,怎么修改来重用啊?

还有必要重用吗?

不如自己来!重用设计所需要的战略和战术

面向对象的设计模式,是实现重用的最佳方法二(多)个项目组合作开发(客户与服务器端),

抽象工厂:先定义好接口,后完成实现找

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论