项目 | 内容 |
这个作业属于哪个课程 | |
这个作业的要求在哪里 | |
我在这个课程的目标是 | 学习软件开发,软件测试以及团队工作、大型项目开发 |
这个作业在哪个具体方面帮助我实现目标 | 第一次作业帮助我了解软件工程的方法论,初步了解软件工程涉及到的具体问题和业已形成的方法论,提出问题以明晰接下来的学习目标。 |
[BUAA软工第二次]个人作业-软件案例分析
本片博客选取了2个IT问答网站进行软件案例分析,分别是CSDN和StatckOverflow,并对软件使用情况、产品体验,问题优缺点进行了对比与介绍。对CSDN存在的bug进行了分析与反馈,同时对同学进行了产品使用情况的调研,最后对IT问答领域的市场现状与未来发展做了阐述。
1. CSDN
1.1 调研与评测
1.1.1 软件使用
用户查看当日头条,热点信息,同时支持直播功能,直播多关于计算机科学、计算机教育。

用户可以购买或免费观看网站课程,同时支持OJ平台进行题目练习。

用户发布文章,分享自己的观点和思考,用户发布的文章需要经过审核才能正式发布,同时可以调整文章的各种设置。

用户设置,编辑个人信息,进行账号设置,隐私设置,可以查看收藏与历史记录。

用户社区功能,可以创建个人社区,企业社区,高校班级社区等各种不同类型的社区,我们的课程社区便是在这里创建的。

博客浏览功能,查看其他作者发布的博客,查看系统推荐的作者

客服功能,反馈问题与Bug

1.1.2 产品体验、问题与与缺点
我在体验CSDN的过程过,总结了CSDN在数据量/界面/功能/准确度上的优缺点,包括如下:
活跃度
CSDN上的用户明显没有后文提到的stackoverflow上的用户活跃,用户回答的积极性没有被调动起来,很多回答都过时了,这是最大的问题,毕竟IT网站以内容为王。
数据量
优点:CSDN有大量的技术文章和博客,涵盖了众多的技术领域,用户可以在这里找到他们感兴趣的技术内容。
缺点:但是,CSDN上的一些技术内容确实不够专业或准确,需要用户自己进行筛选和判断。
界面
优点:CSDN的界面设计“比较”简洁,易于使用。
缺点:但是,CSDN的界面设计不够美观,也不是特别的简洁,还有很大的提升空间,在使用的时候我感觉很多功能的使用都比较复杂,需要一系列的操作才能完成。
功能
优点:CSDN提供了多种多样的功能,包括技术文章、博客、论坛、问答等。
缺点:但是,CSDN上的广告比较多,有时会影响用户的使用体验,博客左侧的广告确实不是很美观。

准确度
优点:CSDN上的技术内容通常是由专业人士撰写的,可以为用户提供高质量和准确的技术知识。
缺点:但是,CSDN上的一些技术内容不够专业或准确,需要用户自己进行筛选和判断,之前在用CSDN搜索的时候,很多博客都是过时的,这也有IT行业更新迭代快的原因。
1.1.3 产品改进意见
对用户回答问题采取更有效的激励措施,调用用户回答发帖的积极氛围。
提高内容质量:首先是过时的内容过多,因为IT行业更新迭代快,必须要时常对于过时的博客帖子进行整理和审核,也要对文章和博客进行审核,确保技术内容的准确性和专业性。
减少广告量:广告数量太多会影响用户的使用体验,CSDN可以减少广告量,或者在页面中更合适的位置显示广告。
提高界面美观度:优化CSDN的界面设计,使其更美观、更易于使用,提高用户的使用体验,比如这里的社区使用类似文件树的形式显示的,特别违和。
建议加强社交和互动功能:除了技术文章和博客,CSDN可以增加更多的社交和互动功能,例如在线聊天、线上讨论、线上研讨会等,增加用户与其他专业人士之间的互动和交流。

1.1.5 用户调研
我采访了非本软工班级的学生郑荘霖,这是我们的部分对话记录图片,完整的对话整理为了文字形式。

对于CSDN有了解吗,如果使用的话经常使用哪个功能?
有了解,我经常在CSDN上查询一些课内的问题,主要是用其阅读博客和提问的功能。
使用有什么困难吗?
CSDN网站的信息质量不稳定,有些文章和博客可能存在虚假信息或广告,挺烦人的。还有,CSDN网站的界面设计不够简洁,缺乏一些个性化和人性化的设计,有时候界面比较乱。
你觉得CSDN有哪些亮点,遇到了什么问题?
我认为CSDN网站是一个非常有用的技术社区和IT技术服务平台,提供了许多优质的技术文章、博客和问答等资源,对于我们学习和使用IT技术非常有帮助。但是问题就是我之前说的内容过时不准确,界面设计不简洁的问题。
对于你来说,CSDN需要改进的地方有哪些?
我觉的最简单的办法就是对标StackOverFolw,并作出一些个性化的设计。首先,CSDN网站可以提高发布的内容的真实性和质量。其次,CSDN网站可以优化界面设计,增加更多个性化和人性化的设计元素,提高用户的使用体验。
1.1.6 评价
描述 | 评分(满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) | |
核心功能 | 核心功能的设计和质量 | 6(基本功能都有,功能比较丰富) |
细节 | 细节方面的表现 | 6(细节有待优化,一般) |
用户体验 | 不干扰用户的使用 | 6(无弹出广告,但是嵌入式广告很多) |
辅助功能 | 辅助功能比如皮肤 | 9(功能比较丰富) |
差异化功能 | 独特的功能 | 6(功能没有特别突出的地方) |
软件的效能 | 占用内存、启动速度等 | 6(日常使用流畅,轻量) |
软件自适应性 | 联网/断网,不同屏幕,不同操作系统的使用 | 8(各平台使用情况基本一致) |
成长性 | 记住用户的选择,适应用户特点 | 2(没有对用户的选择进行历史记忆) |
用户控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 | 6(关键操作存在确认提示) |
我的评价是(c)一般,虽然CSDN是一个国内比较专业的IT技术社区,为开发者提供了丰富的技术文章、论坛讨论和学习资源,涵盖广泛的技术领域和语言,为开发者提供了一个学习和分享经验的平台,但我认为其最大的缺点在于用户活跃度不高,导致内容过时不准确,也有一些其他缺点,例如广告过多、一些文章质量不高等问题。但总的来说,它是一个比较有用的国内IT问答资源,可以帮助开发者提高技能水平和解决问题。
1.2 Bug分析与提交
1.2.1 Bug1 微信码无法显示
测试环境:校园网,M1 mac设备,macOS Ventura 13.1
描述:校园网环境下,使用mac环境用户注册的时候微信扫码显示不出来,在控制台NetWork显示操作过于频繁,错误码1013,但是换其他网络例如手机热点是可以的,更换windows电脑设备也可以显示出来。
可能成因:特定设备,特定环境下微信开放的jssdk出现了问题,存在bug,导致微信二维码无法获取。
bug可复现性:在校园网环境下、mac设备该问题可以复现,特定的网络环境下该bug存在一定影响,不过用户可以通过其他方式注册,
bug严重性:⭐⭐
该bug只有在特定网络环境与设备下才会出现这一bug,而且用户还可以通过其他方式注册,对于后续用户使用软件功能没有太大影响,但是一定程度影响用户体验。
bug预期以及改进建议:预期是正常显示二维码。改进建议可以根据jssdk修改获取二维码的逻辑,使得二维码可以正常获取。


1.2.2 Bug2 QQ登陆暂不支持,但是登陆的时候还存在图标
测试环境:任何测试环境和测试设备都可以复现该bug
描述:用户注册的时候有QQ注册的图标,但是当我费尽心思打开QQ,扫码、绑定QQ的时候,却告诉我暂不支持微信之外的其他第三方账号登陆?十分影响用户体验
可能成因:功能暂不完善,但界面展示的时候却展示了没有完善的功能,浪费用户注册时间。
bug可复现性:任何网络和设备都可以复现,
bug严重性:⭐⭐⭐
该bug十分影响用户体验,尤其是该bug出现在用户登录注册环节,用户经过许多操作(打开QQ或者打开微博、扫码、确认),最后显示“暂不支持除微信外的其他第三方账号”,登陆失败。
bug预期以及改进建议:预期是完善其他渠道登陆的功能或则是在登陆注册界面将其他渠道登陆注册的图标去除,只保留微信图标。改进建议可以统一前后端登录注册的逻辑,完善用户体验。

bug反馈:相关bug已经反馈给客服

1.3 分析
1.3.1 工作量分析与软件质量分析
使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
我认为由于CSDN支持的功能比较多,包括博客,问答,社区,课程,直播等等,可能靠6人左右的计算机大学毕业生外加UI支持无法在短时间内完成这种大型项目。我认为至少需要半年到一年时间达到一个测试版的水平,然后之后测试或迭代更新可能还需要半年到一年的时间。
分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
我认为在国内来看,就IT问答方向而言,CSDN排名第一毫无疑问,但是在国际上来看和stackoverflow还有一定差距,首先最重要的问题就是内容质量差,这可能是由于CSDN是中文网站带来的必然结果。其次是功能太多,没有在某一个方向做精做强,就IT问答领域来说和世界顶级IT问答网站必然有差距。
从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)?
重视内容质量,加强审核,激励用户发布内容,重视用户体验。
你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?可以从下面的可能性中选取几个:
我认为是开发人员粗心大意,测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试。
2. StackOver FLow
2.1 调研与评测
2.1.1 软件使用
提问与标签:用户可以在网站上提出问题,详细描述问题的背景和情况,并等待其他用户回答。用户可以添加标签来描述问题或回答的主题和相关领域。

回答、投票与评论:用户可以回答其他用户的问题,提供自己的见解和经验,帮助其他人解决问题。用户可以为问题或回答投票,表达自己的观点和意见。用户可以对问题或回答发表评论,提供额外的信息或建议。

历史记录与个人资料:用户可以查看自己的问题和回答历史记录,以便追踪自己的贡献和进步。

社区协作:StackOverflow是一个社区平台,用户可以通过协作和互相帮助,共同推动技术进步和发展。

私信与邮件

2.1.2 产品体验、问题与与缺点
这是我在使用过程中总结的一些stackoverflow的体验感受
回答准确有效:相对于CSDN,往往在stackoverflow上英文提问会更快获得问题答案。这可能是因为我们现在所用的大部分资源都是外国人开发的,英文问题往往回答更准确。
方便快捷:用户可以在StackOverflow上搜索技术问题,并很快地找到相关的答案。此外,用户也可以通过提问或回答问题来分享自己的知识和经验。
多样化的内容:StackOverflow不仅包含了各种编程语言和技术领域的问题,还有一些与编程相关的话题,例如编程工具、开发环境、软件架构等等。这使得StackOverflow成为了一个非常全面的技术问答社区。
高质量的回答:StackOverflow上的回答通常都是由经验丰富的技术专家或程序员提供的,它们通常都是经过验证的,可以提供有用的指导和帮助。
但是也有一些缺点
部分问题存在重复:由于StackOverflow上存在大量的问题和回答,有些问题可能已经被问过和回答过很多次,这会使得搜索结果变得混乱,难以找到想要的答案。
一些回答质量不高:虽然StackOverflow上大多数的回答都很有价值,但有些回答可能并不准确或者不够详细。这使得一些用户需要更多的时间和精力去验证答案或者寻找其他的资源。
社区风格较为严谨:StackOverflow对问题和回答的质量要求比较高,它有一些严格的规则和标准,如果用户的问题或者回答没有达到要求,可能会被删除或者关闭。
2.1.3 产品改进意见
加强多语言支持:由于StackOverflow是一个全球性的社区,用户来自不同的国家和地区,他们可能会使用不同的语言和术语。可以考虑增加对多语言的支持,让用户可以更方便地使用自己的母语进行提问和回答,这一点我尤其体会深刻,英文的问题和回答读起来确实很费劲,如果可以支持中文就更好了。
提供更多的学习资源:不像CSDN提供了各种各样的资源,包括视频、课程、题目等资源,stackoverflow只提供了问题与回答。我认为除了问题和回答之外,StackOverflow还可以提供更多的学习资源,例如教程、文章、视频等等。可以考虑增加这些学习资源的数量和质量,让用户可以在一个平台上获取更全面的学习体验。
2.1.5 用户调研
同样采访了非本软工班级的学生郑荘霖,这是我们的部分对话记录图片,完整的对话整理为了文字形式。

对于stackoverflow有了解吗,如果使用的话经常使用哪个功能?
stackoverflow不太常用,可能是因为英文网站的原因。但是有时候中文网站上找不到问题我会在stackoverflow上查找。
使用有什么困难吗?
最大的困难就是可以搜到的都是英文回答,不太友好。
你觉得stackoverflow有哪些亮点,遇到了什么问题?
界面非常简洁美观,但是对中文选手来说不太友好。
对于你来说,stackoverflow需要改进的地方有哪些?
支持中文,其他的都挺好的。
2.1.6 评价
描述 | 评分(满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) | |
核心功能 | 核心功能的设计和质量 | 9(核心功能IT问答做的非常不错) |
细节 | 细节方面的表现 | 8(细节有待优化,但已经很优秀) |
用户体验 | 不干扰用户的使用 | 8(无弹出广告,广告不是很多) |
辅助功能 | 辅助功能比如皮肤 | 9(功能比较丰富) |
差异化功能 | 独特的功能 | 9(IT问答功能顶级) |
软件的效能 | 占用内存、启动速度等 | 8(日常使用流畅,轻量) |
软件自适应性 | 联网/断网,不同屏幕,不同操作系统的使用 | 9(各平台使用情况基本一致) |
成长性 | 记住用户的选择,适应用户特点 | 7(对用户的选择进行历史记忆) |
用户控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 | 7(关键操作存在确认提示) |
我的评价是(d)好,不错,StackOverflow是一个非常有用的工具,可以帮助程序员和开发人员解决各种技术问题。它拥有庞大的用户社区和丰富的问题和回答,可以帮助用户快速找到解决方案。同时,StackOverflow也有一些缺点,例如搜索体验不够优秀,部分回答质量不高等(不过相对于CSDN已经非常高了),如果能提供中文版本就更好了。
2.2 Bug分析与提交
关于stackoverflow暂未找到Bug。
2.3 分析
2.3.1 工作量分析与软件质量分析
使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
相较于CSDN,stackoverflow专精于IT问答领域,相较于CSDN虽然少了很多功能,但是其产品比较精致与精美,所以我认为做到这个程度可能要比CSDN花的时间相仿,甚至更多,测试版半年左右,但是做精做美可能要1年-2年的时间。
分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
stackoverflow毫无疑问在同类产品中处于老大的级别,制作精美度,内容质量都比较顶级,而且拥有雄厚庞大的用户基数,高质量的内容使其立于产品之巅。
从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)?
支持多语言,希望可以多多支持中文问题,现在搜中文的问题的话回答还是比较少,当然直接搜英文问题也不失为更好的选择,但是读英文真的很费劲捏。
你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?可以从下面的可能性中选取几个:
stackoverflow暂未找到bug。
3. IT问答网站的建议与规划
IT问答网站是指提供IT领域相关问题解答的在线平台,目前市场上的IT问答网站非常多,其中最著名的包括Stack Overflow、CSDN,Quora、知乎等。以下是关于IT问答网站的市场现状、产品规划和产品生态的相关信息:
市场现状

据调查,IT问答网站在全球范围内呈现出快速增长的趋势。根据Alexa网站排名,截至2022年2月,Stack Overflow的全球排名为215,Quora的全球排名为328,知乎的全球排名为515。这些网站的流量和用户规模都非常大,其中Stack Overflow是最著名的IT问答网站之一。随着数字化和互联网技术的不断发展,IT问答网站已经成为IT人士和广大网民获取信息和解决问题的主要途径之一。据Statista数据显示,2021年全球IT问答网站的市场规模预计将达到10亿美元,并且预计在未来几年内会有持续增长。目前主流产品例如statckoverflow、csdn优势各不相同。stackoverflow优势在于作为顶级问答网站,拥有庞大的用户 以及高质量内容,而csdn优势在于国内拥有庞大的中文用户基数。
产品规划
IT问答网站的产品规划主要包括以下几个方面:
首先IT问答网站的用户主要是程序员以及IT相关领域人员,他们的最大需求即快速、准确的找到问题回答,因此IT问答网站的重中之重是内容质量与搜索速度准度。
以下是一些产品规划中可以竞争的地方。
内容为王:IT问答网站最重要最本质的核心竞争力在于内容质量,内容质量带来用户,用户的增长又会促进内容数量质量的提高,二者相互促进循环。
增加用户数量:IT问答网站需要不断扩大用户数量,提高用户活跃度。为此,可以采取广告宣传、SEO等方式。
提升用户体验:IT问答网站需要不断优化用户体验,提高网站的易用性和效率。例如,可以改善网站的搜索功能、推荐系统、用户界面等方面。
拓展内容领域:IT问答网站需要不断拓展内容领域,增加更多领域的知识分享,以满足更广泛的用户需求。例如,可以增加人工智能、区块链等新兴领域的知识分享。
社区建设:建设一个积极活跃、高质量的社区是IT问答网站的关键。该社区应该能够吸引各种类型的用户,包括专业IT人士和普通用户,并且应该提供友好、易用、易分享的界面和功能,以便用户可以方便地进行交流和分享。
社交媒体整合:IT问答网站可以通过整合社交媒体的功能,如微博、微信、Twitter等,来扩大用户基础,提高网站的知名度和影响力。此外,还可以通过社交媒体来促进用户之间的互动和分享,从而增加用户粘性。
产品生态
IT问答网站的产品生态主要包括以下几个方面:
用户:IT问答网站的用户是产品生态的核心,他们提供和寻找有关IT领域的知识和经验。
问题和答案:IT问答网站的主要内容是问题和答案。问题和答案的质量和数量直接影响产品的用户体验和市场竞争力。
社区和社交功能:IT问答网站可以通过社区和社交功能增加用户互动和用户参与度。例如,用户可以通过点赞、评论等方式互动交流。
IT问答网站的产品生态应该是一个完整的生态系统,包括社区、知识库、社交媒体和其他相关产品和服务。例如,IT问答网站可以提供在线培训、IT资讯、职业咨询、技术论坛等多种服务,以满足不同用户的需求和要求。此外,还可以通过整合其他产品和服务来增加网站的附加值和吸引力,例如电商平台、在线招聘网站等。
如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
我认为如果我是产品经理,我认为可以1-2个美工、3个开发、1-2个测试,开发最为重要,美工和测试其次。
我为我的团队制定的计划是
任务 | 持续周数 |
市场调研,指定工作流 | 1-3周 |
需求确定,分工确定,系统确定 | 4-5周 |
同步开发、前后端、美工及时交流 | 5-10周 |
单元测试,压力测测试 | 10-12周 |
发布内测版本,初步收集用户反馈 | 12-14周 |
完善提升,发布正式版 | 15-16周 |