- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈工大软件工程Lab1结对编程
PAGE
哈尔滨工业大学计算机科学与技术学院
2014年秋季学期《软件工程》
Lab 1:结对编程
哈工大计算机学院《软件工程》实验报告 Lab1:结对编程
PAGE I
目 录
TOC \o 1-4 \h \z \u HYPERLINK \l _Toc 1 实验要求 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 2 待求解问题描述与数学模型 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 3 算法设计思路 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 3.1 设计思路 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 3.2 算法流程图 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 3.3 核心数据结构 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 4 实验结果 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 4.1 流程1 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 4.2 流程2 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 4.3 流程3 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 4.4 流程4 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 5 编程语言与环境 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 6 结对编程 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 6.1 角色切换与任务分工 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 6.2 工作照片 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 6.3 工作日志 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 6.4 对结对编程的体会 PAGEREF _Toc \h 2
HYPERLINK \l _Toc 7 计划与实际进度 PAGEREF _Toc \h 3
HYPERLINK \l _Toc 8 小结 PAGEREF _Toc \h 3
[文档全部完成之后,请更新上述区域]
实验要求
练习结对编程(pair programming),体验敏捷开发中的两人合作;
两人一组,自由组合;
使用一台计算机,共同编码,完成实验要求;
在工作期间,两人的角色至少切换4次;使用JAVA+Eclipse编程。
待求解问题描述与数学模型
输入1:一个服务流程,由一组活动及其之间的关系构成,使用DAG
输入2:针对每个服务活动的候选服务集,各服务有功能和QoS信息;
输入3:客户针对服务流程的QoS需求;
输出:满足QoS需求的服务选择方案(使用DAG表示) ;
计算方式:Q = TR – TP/100,其中TR为最终方案的总体可靠性,TP为最终方案的总价格,Q值越大越好。
算法与数据结构设计
设计思路
主要思想为深度优先搜索,用到的数据是根据数据表第四个值(即价格)有小到大排好序的数据,以排好序的各个字母最小的价格值对应的Q值作为初始判断条件值。寻找一条完整路径可以划分为两个部分,一部分是还没有搜索到最后一个字母,另一个是到了最后一个字母搜索。
第一部分搜索存在三种情况,一是搜索字母对应的500个数据时还没有到达第500个数据,这样在不满足条件的情况下,可以继续向下一个数据搜索;另一个是如果已经到达最后一个数据即第500个数据,仍然没有满足条件,此时需要去路径上一级字母标记(记录字母的下标)的下个数据开始寻找;三是在满足条件的情况下,此时只需保存记录,同时向路径的下一级字母展开搜索即可。
第二部分搜索是到达最后一个字母,需遍历所有的数据。如果满足条件不仅需要保存记录,还需要更新Q值作为新的判断条件;如果不满足条件,返回上一级字母标记的下一个数据开始继续搜索。
搜索完成后,根据记录可以得到各个字母对应的下标,即得到最优路径。
算法流程图
直接计算起始Q值
直接计算起始Q值
判断当前搜索字母是否为最后一个字母
判断当前搜索字母是否为最后一个字母
Yes
Yes
No
No
在当前字母对应的所有数据中寻找符合条件的点,所有数据找完为止。每次找到符合条件的时,更新Q值,同时保存整条路径各个字母下标。最后i--,返回上一级字母寻找在当前字母对应的所有数据中顺序寻找符合条件的点,当找到时就停止
在当前字母对应的所有数据中寻找符合条件的点,所有数据找完为止。每次找到符合条件的时,更新Q值,同时保存整
文档评论(0)