2020软件工程作业05
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10619 |
这个作业的目标 | 网页实现家族树关系图 |
作业正文 | 如下所示 |
其他参考文献 | www.baidu.com AntV蚂蚁数据可视化 AntV-g6 紧凑树参考文档 AntV-g6 紧凑树展示 |
结对信息与分工
20177701 QSJ20177696 LYX
分工
QSJ:编写提取文本中的关键信息的代码
LYX:学习AntV数据可视化模板,完成可视化操作
Github网址:
https://github.com/EngulfMiss/20177701-and-20177696
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时 | 实际耗时 |
---|---|---|---|
Planning | 计划 | 30分钟 | 1小时 |
Estimate | 估计这个任务需要多少时间 | 16小时 | 16小时 |
Development | 开发 | 6小时 | 8小时 |
Analysis | 需求分析 (包括学习新技术) | 1小时 | 5小时 |
Design Spec | 生成设计文档 | 30分钟 | 1小时 |
Design Review | 设计复审 | 1小时 | 1小时 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30分钟 | 20分钟 |
Design | 具体设计 | 1小时 | 45分钟 |
Coding | 具体编码 | 5小时 | 10小时 |
Code Review | 代码复审 | 30分钟 | 30分钟 |
Test | 测试(自我测试,修改代码,提交修改) | 30分钟 | 1小时 |
Reporting | 报告 | 2小时 | 2.5小时 |
Test Repor | 测试报告 | 30分钟 | 30分钟 |
Size Measurement | 计算工作量 | 30分钟 | 1小时 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30分钟 | 30分钟 |
合计 | 24小时 | 31小时 | |
解题思路描述与设计实现说明
代码由两部分组成
1.Tree.html文件
2.Tree.js文件
算法的关键与关键实现部分流程图
我们采用的是AntV中的一个模板,关键就在于,我们如何把文本框输入的部分,
转化为示例中的样式。关键步骤就是在文本输入中找到,导师,学年,学位这三个节点,并且
并且节点的关系为,导师-->学年-->学位,导师为根节点。
代码片段
寻找导师这个根节点
寻找学年节点
寻找学历节点
g6 模板提供的一些API如下
设计与展示
设计思路
从文本输入中找到导师,学年,学位,学生这些关键信息,按照学生是什么学位
这个学位的学生是哪个学年的,这些学年中获得这些学位的学生属于哪个导师这
样的逻辑结构构造这颗关系树。
成果展示
根据文本输入生成关系树
部分收缩过程
完全收缩后关系树
特色功能:能放大缩小
使用说明
您可以尝试在文本框中输入该测试用例(程序已经默认填入2个测试用例):导师:张三
2016级博士生:天一、王二、吴五
2015级硕士生:李四、王五、许六
2016级硕士生:刘一、李二、李三
2017级本科生:刘六、琪七、司四
其中,"导师:","级博士生:","级硕士生:","级本科生:"和"、"当做关键词处理;若有多组输入,中间空一行。
注意:文本输入中的符号均为中文符号
测试
遇到的困难和解决方法
遇到的困难:
1.我们两个html和JS都记得不太清楚了,都是最近重新复习就开始写程序了,刚开始遇到了很多
技术上的困难,如如何提取文本中的关键信息,搞得我们很烦。
2.我们也是第一次了解AntV这个东西,虽然官网提供了很多例子,但刚开始测试的时候还是很难
弄出来。
3.事情太多,都是间断的时间在搞这个,思路不能很好连贯。
解决方法:
不会就问,不懂就查,多抽时间。
收获:
QSJ:知道了有许多已经比较完善的前端模板和库,我在AntV的官网中看到了很多关于数据可视化的
技术,有点意思。当然在这次作业中,我也发现了我编程能力还有很多不足,很多关键的技术还是在百度
中找的,我还需要努力学习。
LYX:团队合作对于一个项目来说是必不可少的,如果想要达到一个比较完整的效果,通过结对办法,
可以把两个人的观点结合。合作也可以让我们更高效的完成任务。
队友评价
QSJ:
LYX的思维比较新颖,能联想出新的灵感。
编程技术方面有待提升。编程能力还可以有更多的提升空间
LYX:
QSJ的思维与编写能力都强过我,善于去钻研困难,找出突破点。
部分地方运用得还是不那么灵活,值得改进。