这个作业属于哪个课程 | 2021春软件工程实践S班 |
---|---|
这个作业要求在哪里 | 软件评测-作业 |
这个作业的目标 | 通过案例分析、评测、思辨、总结,看到软件工程的原则在实践中的种种体现。 |
其他参考文献 |
本次作业中我选择了第一类的软件产品进行评测,即IT问答网站。在本次作业中,我分别对CSDN问答、Stack Overflow、SegmentFault这三个问答网站进行体验。
首先是CSDN问答界面:
初步观察是1:2:1.5的横向布局,左边的列表是供选择的问题类别,中间则是相关的问题,右边则是提问、采纳榜等内容。说实话,第一观感CSDN问答的页面看起来有些杂乱。虽然问答部分就在中间,三个部分也有间隙,但是有一种三个部分挤在一起的拥挤感,显得问答部分并没有那么重要。
接下来是CSDN提问界面:
可以看到,CSDN的提问不支持markdown语法,但可以对内容进行简单的加粗、下划线、排序等修饰,同时也可以插入代码段,可以选择问题的相关标签。在进行问题编写的时候还是容易上手的。
CSDN的提问要求内容必填,问题长度在30~65535之间。
CSDN的提问方式有有问必答和直接提问两种,其中有问必答是需要开通问答VIP的,每月可以提问5次。
我试着提了一个关于yii和Echarts图表的问题,而这时,我发现一个使用感不好的地方,那就是CSDN提问的时候,给问题选择标签只能从它给的标签表中选择,不能进行搜索。 并且它下半部分的标签是根据上半部分的类别进行展示的,那么就是说,我要找yii这个标签,我要先确定它在哪个类别里。我尝试点击了前端这个分类,然后发现,虽然有Echarts的标签选项,但是并没有yii这个标签选项,我又点开了其他的类别,但依然没有找到想要的标签。
下面是CSDN回答界面:
可以看到,回答的输入框和提问的输入框一样。
其他:
在我提问后2分钟,CSDN显示有一条消息(当时没有截图),我以为是有人对我的问题作出了回答,但是当我查看消息的时候,却显示没有消息,这就很迷惑了。
搜索内容长度过长导致页面无法显示。
分别是搜索无意义内容、搜索java内容、搜索超长内容的页面结果。
一般,平时用来查查小问题的解决方法还是挺方便的,毕竟百度一出来十有八九就是CSDN,但是对于回答是否有效还是要根据自己的情况判断。
首先是Stack Overflow问答界面
接下来是Stack Overflow提问界面
在提问前会有弹窗提醒用户提问的一些注意点,这个弹窗也可以选择之后不弹出。
在输入title后会出现相似问题的搜索,不过现在看只是语句的匹配,语义还是会有偏差。
内容的填写:
tag标签的选择支持搜索添加。
下面是Stack Overflow回答界面
暂无
很专业的问答网站,专注于问答,用Github进行注册登录也挺方便的,不过全英文可能会有些不便。
很奇怪,SegmentFault虽然是面向国内的,但是使用国内大部分人使用的百度进行搜索时,基本搜不到SegmentFault的内容,如果我找非软工专业的朋友,他可能知道CSDN,但绝大概率不知道SegmentFault。
首先是SegmentFault问答界面:
初步观察大致是2:1的布局,左边是问答部分,右边则是任务、标签云、热门问题列表,从第一观感来说,SegmentFault的问答页面看起来比CSDN的舒服,问答部分占据了页面的多于三分之二的部分,查看起来更舒服。如果在问答界面点击某个标签会进入到该标签的动态页面,在标签的动态页面里可以看到和该标签相关的更多内容,也便于想学习的人学习相关的知识。
接下来是SegmentFault提问界面:
SegmentFault提问支持markdown语法排版并且可以预览,这意味着问题内容样式的更改更方便了。
SegmentFault提问支持给问题添加标签,并且标签支持搜索,如果找不到自己想要的标签还可以创建,非常方便。
而且仍在编辑的问题还会自动保存到草稿箱,非常贴心。妈妈再也不用担心不小心刷新丢失问题啦
下面是SegmentFault回答界面:
可以看到在回答问题前,SegmentFault会给出一个合格的回复应该具备的条件。
我在搜索框里输入超长的内容后输入框失灵了,其他的地方都还能点,搜索的输入框卡住了。
不错,不过在国内搜索网站中出现的频率不高
没给百度打够钱。
前提条件:团队人数6人左右,计算机大学毕业生,并有专业UI支持
根据软件项目管理课程的课设经验,开发时间估计:
阶段 | 时间 |
---|---|
需求阶段(获取、分析、确认) | 1个月 |
设计阶段 | 1个月 |
开发阶段(前后端开发、对接) | 4个月 |
测试阶段 | 2个月 |
总计 | 8个月 |
Stack overflow>SegmentFault>CSDN问答
周数 | 规划 |
---|---|
1 | 需求收集 |
2 | 需求分析、确认 |
3、4 | UML、数据库表设计 |
5 | 界面、任务确定 |
6~9 | 前后端并行开发 |
10、11 | 前后端对接 |
12、13 | 预期功能测试 |
14 | 发布试用版本 |
15 | 寻找问题并维护 |
16 | 发布最终版本 |