• 个人博客作业-软件案例分析


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

    一、作业要求简介

    本文是北京航空航天大学计算机学院软件工程课程的个人博客作业-软件案例分析。

    思辨是十分重要的学习手段,本次作业,我们将以一种身边的成熟软件为案例,思考他的设计理念以及软件工程方法的优点缺点,分析、评测、辩论、总结,在实践中理解软件工程的原理在好/坏软件上所起的作用。

    项目 内容
    本作业属于北航软件工程课程 博客园班级博客
    作业要求请点击链接查看 个人项目作业
    我在这门课程的目标是 获得成为一名软件工程师的能力
    这个作业在哪个具体方面帮助我实现目标 分析、评测、辩论、总结

    二、调研与测评

    我选择进行评测的软件是博客园班级博客

    (一)使用软件的基本功能

    博客园班级博客是博客园开发的供班级教学使用的博客讨论交流平台。在此平台上,老师可以方便地建立班级,并将同学加入班级。老师可以布置作业,同学通过博客的形式提交作业。

    • 首先,我以教师身份创建了一个博客园班级,又添加了一名学生。

    • 之后,发布一项作业,学生完成作业,我给予评分,并给予评价,导出成绩等。

    • 然后,测试投票功能,发布一则投票,学生进行投票。

    • 最后,测试公告和推荐博客功能等。基本功能测试完毕

    (二)测试情况与发现的bug

    在以上的基本功能测试中就发现了一些bug,或者一些不尽人意的设计问题(广义bug)。

    I. 博客园班级博客网页版

    1. 添加成员后不自动更新成员列表

      在添加成员后,更人性化的设计是要更新一下成员列表,如果不更新的话,用户可能以为添加失败,造成不必要的麻烦。此项应属于广义bug,可以改进。

    2. 添加成员时,被添加人没有确认机制

      添加成员后,该成员直接被添加到班级里,不给成员拒绝的权利在某些情况下可能不是一个好的设计。例如攻击者可以建立多个班级,然后将某个用户添加到每一个班级,由于用户没有确认机制,所以会莫名其妙地加入很多班级中。造成不必要的麻烦。

    3. 关于剩余时间

      博客园的作业剩余时间会根据时间长短,自动选择时间单位,如小时,天或周。如下图,该作业的实际剩余时间为13天,但是显示的却是剩余1周,猜测其实现方法应该是自动向下取整。

      我认为,自动选择时间单位看似人性化,实则容易让人误解,本来剩余将近2周的任务,显示为剩余1周,这应该是不太合理的。

    1. 编辑成员出错

      在成员管理界面,点击编辑某成员时出现网络错误500,有可能是在我测试是网络不稳定造成的,但是在那个时间段每次点击都能复现此错误。

    1. 加入班级后,个人班级列表未及时同步

      加入班级之后,可见班级列表中存在该同学,但是该同学的主页中却没有此班级,而且当一个人没有班级时,个人主页中不存在我所在的班级链接,只能通过我关注的人我的粉丝作为入口找到我所在的班级

    2. 班级博客中无法返回自己的首页

      此项也属于让用户不方便的设计,属于广义bug。每次在班级博客里想要快速进入自己的主页都很麻烦。完全可以在这个下拉菜单中加入个人主页入口。

    II. 博客园班级博客移动端APP

    1. 下载链接两个失效

    2. 对主题和排版支持差,与华为浏览器的主题排版支持对比

      • 博客园移动端APP
    • 华为手机浏览器
    1. 如果班级名较长,右侧菜单栏将不可用,图一为可用情况,图二为不可用情况

    2. 作业提交列表无法获取

    (三)评价

    • 网页版:非常推荐

      • 网页版中发现的bug大多不是功能性bug,而是设计不人性化的广义bug。对于这种广义bug不同人有不同的看法,可能在我看来不合理的设计,在别人眼中却是合理的。

      • 对比同类产品CSDN,博客园更加精简无广告,而且对主题修改的支持更好。

      • CSDN的商业模式更重,有时弹出的登陆框无法关闭,只能刷新页面。

    • CSDN没有推出班级博客,博客园在此功能上独占鳌头,积累的大量用户。

    • 移动端APP:不推荐

      • 对于技术分享博客,本身就不适合用手机查看,所以此需求本身就比较鸡肋。
      • 加上APP对于博客园的主题和排版支持较差,阅读起来十分不便。
      • 移动端的一个最最大的优势是实时性,所以最应该做的功能就是博客园评论功能的实时通知与回复。但是这个需求并没有实现,还是只能通过邮件的方式收到回复通知。如果收到回复时能弹窗提醒,然后像聊天软件一样方便地进行回复交流,将产生更好的体验效果。
      • APP网络连接不稳定,有些页面打不开,且制作尚较粗糙,很多功能做的不精细。
    类别 描述 评分 (满分 10 分)
    核心功能 分析三个核心功能,功能设计和质量。 8
    细节 有什么为用户考虑的细节? 8
    用户体验 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 10
    辅助功能 一些辅助功能如皮肤等 8
    差异化功能 这个软件独特的功能. 它对用户的吸引力有多大? 8
    软件的效能 占用内存, 启动速度, 内存泄漏情况 6
    软件的适应性 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 10
    成长性 记住用户的选择, 适应用户的特点,用户越用越方便 4
    用户有控制权 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 10

    三、分析

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

      此服务的功能很多,6人团队做完整个项目大概要2-3个月左右的时间。不过应用敏捷开发模式,可以先上线主要功能,如班级创建,成员管理,作业发放等。其他的公告、投票以及作业查重、优秀作业推荐等可以陆续上线。完成核心功能估计1个月的时间就可以了。

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

      博客园的班级博客是一个创新,以博客的形式上交下发作业、交流讨论是一项很成功的尝试,吸引了众多高校师生用户。

      同类的博客网站CSDN并没有此类型的产品。

      其他的作业管理平台如北航的课程中心网站也具有收发作业,点评评分等功能,但是其交流性不高,同学之间很难互相共享学习彼此的作业。博客园班级博客将博客的网络共享、一切皆可链接的优势发挥到了极致。通过博客里的各种链接,我们可以将各种知识、技术分享出来供所有人学习交流。

      故,博客园班级博客在同类产品中应该是首屈一指的。

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

      作为一款成熟的软件产品,我相信软件团队是知道这些问题的,之所以不修复可能是出于其他考虑。比如底层架构不支持,修改了就需重构底层。或者出于网络安全性的考虑,有些链接不能轻易添加等等。我仍然希望博客园班级博客团队能够收到我们的反馈意见,让博客园班级博客产品更加出色。

    四、建议和规划

    1. 市场有多大?潜在的用户有多少?

      中国有1000万左右的大学生,大量的师生都有需求使用一款课程平台满足教学需求,其中有很大一部分会使用学校内部的课程中心网站,如果我们的产品能够提供更强大的功能,就可以将这些用户占为己有。

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

      • CSDN:国内另一大博客平台,他的优势是有强大的商业支持,在百度搜索引擎中搜索的技术内容,很大程度会将CSDN的链接推到前面。这对于非商业化的博客园平台是一项挑战。
      • 各高校的课程中心网站:这些网站采用传统的数据库模式进行下发和上交作业,上交的作业通常只有老师能看到,缺少了同学之间相互学习讨论的氛围。而博客园班级博客采用了不同于传统课程中心的独特方式,是一种基于博客的作业收发方式,充分地利用了互联网的优势,同学之间可以很方便地讨论交流,学习其他人的技术。
    3. 功能:你要设计什么样的功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析.

      通过上面的分析,博客园的商业模式与CSDN不同,博客园想要打造无商业化的纯技术交流平台,所以不便与CSDN做过多的争夺。我们的潜在用户是高校师生,我们可以通过占领他们的课程中心网站市场来增加我们的用户数量,当这些学生走出校园成为软件工程师的时候,因为他们一直在使用博客园,所以就不会转为CSDN的用户了,这就是抢占用户的模式。

      如何抢占高校课程中心的市场呢?我们要将课程中心网站的优点汲取,同时保留我们的长处,由于高校的课程中心更新迭代速度慢,博客园完全有能力在进度上超越之,在功能上替代之。

      高校课程中心的优点是可以上传文件,下发文件,并允许老师批量处理这些文件。而博客园只能通过博客的形式,对批量处理不是很方便。因此这项功能是有必要实现的。即实现一个文件中心云功能。

      有了这个文件中心功能以后,可以做到以下需求,基本可以替代高校课程中心。

      • 课程资源库:课件、资料等
      • 通过文件收发作业:实现课程中心的功能
      • 文件资源共享:实现同学互评、相互交流等功能
  • 相关阅读:
    try catch在for循环外面还是里面
    Java中==与equals的区别及理解
    微信公众号必须关注此测试号,错误码:10006
    微信公众号自定义菜单与启用服务器配置冲突(图文消息、链接及文本回复)
    一不小心写了个免费的跨平台网络考试培训网教系统
    ASP.NET Core利用拦截器 IActionFilter实现权限控制
    用ASP.NET Core2重写了一款网络考试培训的免费软件
    ASP.NET Core2实现静默获取微信公众号的用户OpenId
    ASP.NET Core2基于RabbitMQ对Web前端实现推送功能
    .NET Core2使用Azure云上的Iot-Hub服务
  • 原文地址:https://www.cnblogs.com/old-jipa-deng/p/12559079.html
Copyright © 2020-2023  润新知