【软工】个人博客作业-软件案例分析

项目 内容
作业所属的课程 2020春季计算机学院软件工程(罗杰 任健)
作业的要求 个人博客作业-软件案例分析
我在这门课程的目标是 学会使用软件工程的设计思想和方法,能够设计出高效并且可用性、可维护性、可拓展性较高的软件。
这个作业在哪些方面帮助我实现目标 通过对当前一些软件和项目进行分析,学习其经验与教训,探索改进方案。
参考资料 《构建之法:现代软件工程(邹欣 著)》等。

第一部分 调研与评测

在这次博客我选择对博客园班级博客进行分析,一方面对网页版的班级博客以及相关功能的调研与评测,另一方面是关于博客园手机客户端的使用体验。

产品的功能性Bug

班级博客作业倒计时

博客园班级博客作业倒计时不准确。例如下图为我在3月12日结对项目发布的第二天的截图,此时距离作业结束还有将近两周的时间(不满两周),但是倒计时显示只有一周。根据这个功能性Bug可以推测,作业的倒计时计算方法是:

  • 计算当前时间与截止时间的差值
  • 选择一个小于该时间差值的最大时间单位(例如日、周、月)
  • 计算当前剩余时间有几个上述的时间单位,按整数进行输出(最后24小时除外)

这也就导致了将近12天的时间没有显示为“剩余1周5天”而是只显示“剩余1周”。同时也因为上述原因,在剩余将近两天的时候只显示“剩余1天”,这样往往会让人觉得只有24小时。

权限管理

博客园权限管理的Bug我认为有三部分。一,在于教师资格的认证。认证教师资格后可以创建班级博客,但是实际的验证机制是,如果有学校的edu邮箱,通过向该邮箱发送验证码即可直接验证。如下图所示。

实际上中所周知,在学校里不论教师还是学生都有edu邮箱,单纯凭借这种方法进行验证显然是没有效果的。作为学生,仍然可以利用自己的edu邮箱进行教师身份认证,然后在自己学校的名下自由地创建班级,也不利于学校在博客园的班级体系秩序的维护。

二,一旦在博客园创建班级后,无法设置班级的访问权限。任何人,不论是否登录或者是否为本校/本班级的学生均可以对所有的班级及其作业情况进行无限制的访问。

三,即使在浏览他人的博客是,也能够在导航栏看到“新随笔”、“管理”等选项,实际上点击后仍然要求登陆自己的博客。这种显示方式容易让使用者产生误会,应该在浏览他人博客时将这些选项隐藏,只有自己博客才显示比较合适。

博客的MarkDown编辑器

博客园使用的MarkDown编辑器会自动忽略行与行之间的空格,因此在本地使用编辑器进行排版时留出的空格在发布到博客园之后会被忽略掉,因此对博客的阅读体验造成了影响。

手机客户端

博客园官方没有为班级博客单独设计手机客户端,只有博客园的客户端。在博客园的手机客户端中也存在一些Bug。

  • 在某些手机机型上无法进行横屏浏览。
  • 相关功能与网页端不对应,例如博客没有支持/反对按钮,同时无法查看/添加/回复评论。
  • 缺乏搜索功能,只能浏览,无法根据关键字查找博文。
类别 描述 评价 评分
核心功能 分析核心功能,功能设计和质量。 核心功能主要在于博客的撰写和发表,对于博客的管理比较清晰,同时支持包括md在内的多种编辑方式,基本满足需要。同时可以开设班级博客,组织和管理较为方便。 8
细节 有什么为用户考虑的细节? 用户使用细节考虑较少。 5
用户体验 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 与同类平台CSDN相比,这方面做的比较好。广告虽然有,但是出现位置都在博客尾部,基本没有过多的视觉干扰。 8
辅助功能 一些辅助功能如皮肤等。 默认的主题比较简陋。博客文字的大小以及行间距等阅读体验一般。 5
差异化功能 这个软件独特的功能。它对用户的吸引力有多大? 主要的吸引力在于能够方便的创建和共享博客,同时利用班级博客也能够方便的布置和收集作业。 6
软件的适应性 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作。和不同平台的软件能流畅协作。 对于不同平台的支持比较一般。手机客户端功能缺乏,没有对手机等小屏幕设备进行适配。 5
成长性 记住用户的选择, 适应用户的特点,用户越用越方便。 没有相关体验。 5
用户有控制权 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 对于文档的自动保存等,都会有相关的提示信息,能够比较有效地防止在线编辑时因为退出浏览器等造成的丢失。 8
可定制性 该项目允许用户在多大的程度下进行自定义? 我认为这一点是博客园相比其他博客平台的优势之一。用户可以直接上传CSS以及JS实现博客主题的自定义。 9
不断进行改进和更新 该项目是否不断按照实际用户的反馈进行更新和迭代? 在很长一段时间之内,博客园基本上没有进行比较明显的改进。 5

根据上述分析,总体上我认为博客园的班级博客使用体验一般。

第二部分 分析

使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)

博客园班级博客的核心在于对于数据库中实体的设计。

  • 对于后端部分,由于需要涉及对一些逻辑结构的处理,比如实体之间的关联关系,因此认为从设计到实现需要花费3周到4周左右的时间。
  • 对于前端部分,由于整体感觉相对比较普通,因此在专业的UI支持下,认为在2到3周左右的时间即可完成。
  • 另外还有项目的部署与测试,估计会花费1周时间。

因此整个项目在一个计算机专业的大学生6人团队的条件下,保证每天至少8小时的工作时间以及比较有效的沟通管理条件下,估计大约需要7周时间即可上线。

分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?

产品的优劣在第一部分的表格中已进行了大致的分析,这里就具体细节进一步分析。

  • 界面

    • 用户使用界面

      这里主要是指对于博客整体的主题和展示效果,例如文字的排版、博客的背景以及博客的功能与操作页面的美观程度。相比于同类的平台,例如CSDN以及简书、知乎等,博客园默认提供的主题感觉效果非常一般,而且字号偏小、行间距偏大,阅读体验不太好。而且对于博客的管理与博客内容编辑器的UI界面风格比较陈旧,缺乏改进。相比之下,CSDN的在线编辑器使用体验就要好很多。

    • 广告

      这一点博客园的设计比较合理,广告数量相对较少,而且主要集中在博客的尾部,基本不会对博客的阅读造成影响。而在CSDN中,博客的侧栏以及下方评论区后的相关博客推荐中夹杂各种广告,在论坛中,每一个回帖都会附带一个广告,有时广告的字数或所占篇幅甚至超过了回帖的内容,严重影响用户体验。

  • 功能

    • 博客园给人的整体印象是一个比较单纯的分享学习心得与知识的平台,主要的功能基本已经满足需求,但是相似内容的博客推荐的功能不够完善,推荐主要是根据标题,而内容有时关联性并不大,并且这一功能展示的位置靠下,只有题目没有博客内容摘要。相比之下CSDN在这方面的功能比较完善,推荐博客比较精准。
    • 博客园的特色功能之一是支持班级博客,同时开发了布置/提交作业、打分以及统计和查重等功能,这一点是其他博客平台所不具备的。
    • 博客园的另一个特色功能在于用户定制。虽然博客园默认的主题并不十分美观,但是用户可以上传CSS与JS对博客主题自定义,而其他平台例如CSDN则只能使用既定的样式。

因此整体而言,在同类平台中,考虑到上述原因,以及其用户数量较为庞大,我认为博客园可以排到前3位。

从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。

对于真正要交付用户使用的软件,一定要充分考虑用户的体验和需求,综合上述分析,一个很重要的方面在于改进前端的设计。

  • 统一整个网站的界面风格,包括博客园首页、班级博客以及博客管理页面。现在给人一种该项目是由多个部分拼凑而成的感觉。
  • 引入现代设计要素,美化页面。例如,在博客园首页,单纯通过类似于表格一样的元素对热门博客进行展示,这样造成了大量文字的密集堆叠,影响美观。对于这种情况,可以考虑放大字号,增加间距,将表格的展示改为div组成的块,然后对其进行排列,并对单个块的样式进行设计。还可以考虑使用类似BootStrap这样的开源框架以及其他开源项目。
  • 对于班级博客,可以开发更多的API,例如对于历史提交作业记录的分析等等,增加一些数据可视化的内容,帮助老师和助教对班级的整体情况进行分析。
  • 完善对于博客本身的排版支持。例如,适当增大默认主题下的字号,以及增加对md文档中LaTeX数学公式的支持。

你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?

对于班级作业倒计时以及博客的MarkDown编辑器的Bug,我认为这些可能是在发布前团队的测试不足造成的。比如倒计时,如果测试作业只剩余不足一周时,与真实情况相差为一天,可能不容易发现,或者测试时设定的日期刚好为整几周、整几月,因此也没能测出此Bug,这两个Bug应该不是有意不修复。对于权限管理的Bug以及手机客户端的种种问题,我认为可以归因于具体的设计质量不高,并不是项目的程序本身的问题。

第三部分 建议和规划

首先,市场有多大?潜在的用户有多少?

根据博客园首页的统计数据:

  • 博客 - 557202
  • 随笔 - 7798937
  • 文章 - 780254
  • 评论 - 3495695

当前的用户量有50万余人,市场规模比较大。而每年进入大学学习信息类的学生等均可能成为潜在的用户。每年普通高校毕业人数平均800万人,假定其中有100万人进入信息类专业学习,其中有20万人选择使用博客,由于博客园是一个国内比较知名的平台,同时也有学校会开设班级博客,因此预计每年可以增长10万用户左右。

目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?

目前市场上类似的产品有CSDN、简书以及知乎等平台。其中最直接竞争的产品为CSDN。正如上文所述,CSDN的优势在于:

  • 功能比较完善,例如微信扫码登录,相关博客的推荐,以及对博主的奖励机制(博客等级、荣誉称号)等。
  • 网站风格比较统一,与博客园默认的主题相比界面更加美观一些,对用户更友好(例如自带的在线编辑器)。
  • 已经形成了一个以博客为主线,另具有论坛、在线课程,以及衍生出的一些线下活动等,形成了一条的产业链,商业化做的比较好。

缺点:

  • 充斥着很多广告,造成视觉影响,影响博客的阅读体验。
  • 无法进行班级博客管理,更适合个人博客。

相比之下,博客园广告很少,而且支持班级博客的管理,但是界面不如CSDN。

作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?

这个产品的核心用户群主要是从事信息技术方面的学习、研究以及工作的群体。典型的用户多数具有或在读大学的本科以及以上的学历,年龄层多数集中在20岁以上不等。主要的专业是计算机科学与技术、软件工程,方向在于编程语言、算法、领域知识(例如计算机网络或体系结构的基本知识)分享、软件设计思想等。表面需求主要是通过阅读博客理解概念,掌握知识,或者是查找某一个问题的解决方案等,潜在的需求是希望能够读到更多的高质量的博客,来充实和丰富自己的经历,提高专业水平。

原文地址:https://www.cnblogs.com/yjy2019/p/12509727.html