这是某财经大学java老师布置的作业,你会吗?
Java 程序设计—Assignment 1
Dead line : (06/05/2008) 上课之前
分数将在考试前公布
提交方式:光盘或者软盘,所有的代码要打印出来(A4)一起交上来,第一页写清楚班级、姓名、学号。
相关规定:
1迟于规定时间交作业0分。(如果你按时交上来哪怕没有任何东西,会按照相关规定打分,至少应强于0分。)
2如果你的确有非人力不可抗拒原因没有按时交作业,请提前跟我提前打招呼,酌情处理最后的分数。
3 Plagiarism(抄袭) 是严格禁止的。如果发现取消期末考试资格。
非常抱歉以上的规定,但这是你们应该知道并且应该遵守的。那么,我这次作业想让你们做什么呢?
通过Java Socket level 完成一个应用层协议XA protocol, XA protocol 本身是一个事务处理的典型实例,但由于我们没有讲JavaEE 没有讲Java如何实现Transcation所以评分标准里面不含有事务那一部分,只是实现协议的基本内容就可以了。
参与者1: 大胖银行,有两个账户,Scofield 和 Burrows ,每人有若干 美元 而且他们各自有在小瘦银行的账户
参与者2: 小瘦银行,有两个账户,Bagwell 和 Sucre ,每人有若干美元,并且各自有在大胖银行的账户
注: 银行有保存账户状态的能力,能够保存命令,并且能把他们存到硬盘或者数据库作为持久化的手段
参与者3: 事务协调者
参与者4:事务的发起者他有两个主要功能:1 int doABalance(bank,account)//返回账户余额
2 boolean doATransfer(bankFrom,accountFrom,bankTo,accountTo)//返回成功或者失败
自己按照我的UML(Sequence Diagram)编写代码,你可以在处理不同参与者的action的时候不采用完全的XA protocol但如果有跨行的行为必须采用完全的XA protocol协议。所以以此看来 instigator 即是bank的客户端也是事务协调者(co-ord)的客户端。而银行是Instigator的服务器端但是coordinator的客户端。而coordinator是银行和Instigator的服务器端
*1有能力的同学可以采用transcation的方式来处理dobalance和 doTransfer两个动作,因为XA protocol本身就是transcation的典型应用
*2如果有的同学能力更强可以考虑一下情况的处理:
1 转帐时一方没有足够的资金
2 一个银行在交易之前down掉了(用timeout这种情况)
3 一个银行在coordinator发出commit指令之后失败了,需要恢复数据
(老师说若实在不会可将自己的思想说明一下)
提交格式:
1 4个角色的代码
2 总结出协议是怎样应用的
3 显示出正确的结果来显示整套系统运转正常
4 有能力的同学完成*1 *2并给出方案或者代码中具体实现出来
5 写出Instruction告诉我如何使用你的系统,一定要写清楚
例如:zip 你的文件包括(编译好的.class文件jar包也可以)当然要包括Java文件,我解压缩到D盘根目录,读你的instruction,并且运行在D盘根目录。
你可以留下一些调试代码(有意义的)来说明你的意图。
你还可以创建一些.bat文件让我直接运行。而不用按照你的特殊的输入格式。
最后一点你的代码每一个方法最好有注释采用/**java doc*/的方式,或者直接生成javadoc 文档.
关于IDE你可以自主选择当然最好是业界常用的Eclipse(免费),当然InteliJ IDEA,Jbuilder,Together甚至Netbeans(免费)也是不错的选择但注意支持正版。
评分标准:
清楚的Instruction - 10%
清楚的协议实现 20%
代码的完成质量- 40% (包括清楚地注释和良好的面向对象编程方式)
转账功能正常完成 - 20%
余额功能正常完成- 10%
*附加分:Transcation,Failure design或实现 20%
Good Luck
马森
4/11/2007
分享到:
相关推荐
中央财经大学会计学院Python作业 中央财经大学会计学院Python作业 中央财经大学会计学院Python作业 中央财经大学会计学院Python作业 中央财经大学会计学院Python作业 中央财经大学会计学院Python作业 ...
在西安财经大学的无纸化评测系统中,Java编程是重要的考核部分。本篇内容将针对Java编程的基础知识进行解析,主要涵盖数据类型、运算符、文件输入输出以及用户交互。 首先,我们来看Java_1类中的代码。在这个示例中...
东北财经大学《互联网金融X》单元作业二.docx东北财经大学《互联网金融X》单元作业二.docx东北财经大学《互联网金融X》单元作业二.docx东北财经大学《互联网金融X》单元作业二.docx东北财经大学《互联网金融X》单元...
东北财经大学20春《Java语言应用开发基础》单元作业二(参考答案).docx
2021年新疆财经大学招考聘用专任教师模拟试题
java期末大作业
云南财经大学办公区域网络登录客户端java版,欢迎下载试用!
东北财经大学20春《财产保险B》单元作业二(参考答案).docx
【标题】和【描述】提及的是2021年9月新疆财经大学第二批招聘专任教师的强化练习试题,这是一份针对教师招聘考试的练习资料。【标签】为空,【部分内容】则列举了其中的部分试题,涉及法律、哲学、经济学、政治学等...
【标题】"2019年浙江财经大学432统计学考研真题"揭示了这是一份关于2019年度浙江财经大学432统计学专业研究生入学考试的实际试题集。432统计学通常指的是全国硕士研究生统一入学考试中的一个科目代码,涵盖了概率论...
2020年浙江财经大学811经济学考研真题
"2019年浙江财经大学703语言学概论和现代汉语考研真题" 是一个针对浙江财经大学2019年硕士研究生入学考试的特定科目——703语言学概论与现代汉语部分的试题集。这个标题明确了试题的来源年份、学校、科目代码以及...
上海财经大学的Java课程讲义可能包含了以下核心概念: 1. **Java环境配置**:首先,了解如何安装Java Development Kit (JDK)并配置环境变量,包括`JAVA_HOME`, `PATH`, 和 `CLASSPATH`,这是运行Java程序的基础。 ...
该资源为2019年浙江财经大学211翻译硕士英语考研真题,资源高清无水印哦! 该资源为2019年浙江财经大学211翻译硕士英语考研真题,资源高清无水印哦!
### 重要知识点解析 #### 1. 整型常数默认类型 - **知识点**: Java中整型常数默认的数据类型。 - **解析**: 在Java中,...以上是对东北财经大学20春《Java语言应用开发基础》单元作业一中的知识点进行了详细的解析。
《江西财经大学社会工作硕士考研真题解析及备考指南》 江西财经大学作为我国高等教育的重要一员,在社会工作硕士教育领域具有较高的声誉和影响力。2020年江西财经大学社会工作硕士考研真题的发布,无疑为考生们提供...
《2016-2019年安徽财经大学432统计学考研真题》这一资源涵盖了四年间的考研真题,是准备安徽财经大学432统计学研究生入学考试的重要参考资料。对于备考的学生而言,这些真题的重要性不言而喻,它们能够帮助考生了解...
在2010年,东北财经大学经历了一系列重要的人事变动,这不仅涉及了校内多个关键部门负责人的更新,还深刻影响了学校的组织架构和运行机制。通过深入研究这份关于教育资料的文件,我们可以全面地审视东北财经大学在...
《2019-2021年浙江财经大学432统计学考研真题解析》 统计学作为一门研究数据收集、分析、解释和预测的科学,在当今社会中的应用日益广泛,尤其在经济、金融、社会科学等领域发挥着至关重要的作用。浙江财经大学432...
某财经大学网络设备采购项目.doc