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

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

CSDN app

这个作业属于哪个课程 2020春北航计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 个人博客作业-软件案例分析
我在这个课程的目标是 增强软件开发能力,增强沟通表达能力
这个作业在哪个具体方面帮助我实现目标 分析软件,了解软件工程原理
教学班级 005

第一部分 调研,评测(软件的bug,功能评测,黑箱测试,第8章用户调研,12章软件的用户体验)

  1. 使用10–30分钟这个软件的基本功能(请上传使用软件的照片

    首页.png

  2. 描述使用这个产品的过程,解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

    CSDN官方的说明是:致力于为中国软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。而用户使用CSDN app主要是浏览技术新闻、编程知识、社区交流。在这个方面,CSDN app基本解决了用户痛点。通过搜索能够找到想要的知识,回复、发帖能和其他技术人员进行交流。

    缺点:

    1. 打开CSDN app,首先向用户请求“使用电话”和“使用存储”的两个权限。而在这之前,并没有对请求的权限给出相应的解释,让用户对这些功能的用途和个人的隐私泄露风险产生怀疑。

    2. 进入app,首页风格非常熟悉,比较接近一个知识网站——知乎的UI,而这并非Google的Material Design那种推广的开发风格,故而有一点抄袭的可能性(当然,也可能是偶然相似)。

    3. 在主界面底部,有“首页”、“学习”、“Blink”、“消息”和“我的”五个条目。然而这条tab栏与底部的空隙实在太小了。

      底栏.png

    4. 其中比较吸引用户的是“Blink”选项,它具有什么功能从名字无法直接理解,给用户带来一定的神秘感。然而,实际点进去之后显示的是关注和推荐两栏,包含一些类似“动态”的信息流。而首页也存在推荐这一栏,不过却主要是文章的推荐。这两栏的区别在UI上没有很好的体现,对用户造成一定的困扰。

      blink.png

    5. 在浏览主页时,也混进了一些“动态”的内容,点进去会导流到“Blink”页面,这使得app整体的布局显得非常混淆,不同模块的功能没有完全区分。

      动态内容.png

      点击之后:

      点击之后.png

    6. 学习模块占用一个tab,然而程序员学习知识繁多复杂,可能还需要编写代码辅助。如此一个标签页能否满足用户的需求令人怀疑。

      学习tab.png

  3. 对产品有什么改进意见?

    1. UI解码结构不够清晰,Blink和首页应该明显区分,并在第一次启动时显示一个用户导航帮助。
    2. 在申请权限前提醒用户目的
    3. 底栏增加空白部分高度
    4. 首页条目可以每一条增大面积,展示更多内容,而非显示过多,非常拥挤
  4. Bug发现

    1. 在模拟器中运行app,首页内容上滚动鼠标时,会出现页面不动而文字单独滚动的bug,对用户造成一定程度的困扰。

      1.png

      滚动后:

      1.5.png

    2. 在安卓模拟器中,点击复制代码,将会弹出一个大窗口显示代码内容,无法完成功能。如下图:

      3.png

  5. 结论:c) 好,不错

  6. 定量评测:

    通过定性, 定量地分析, 总结和评定某软件是否满足了目标用户的需求,并把分析的过程和结果用博客表达出来(要做到客观,以事实为依据,以专业精神来评测)。

    类别 描述 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)
    功能 核心功能 1. 浏览文章:阅读较为顺滑,功能较为完善。2. 社区交流:可以发送动态,回复交流。3. 学习知识:只能开通会员购买课程,暂时未尝试。 8
    细节 有什么为用户考虑的细节? 有夜间模式,对保护用户视力有一定帮助,但是不能自动开启,需要手动 6
    用户体验 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 有一定插入式广告,对使用无明显影响 8
    辅助功能 一些辅助功能如皮肤等 无自定义皮肤功能,但是可以开启夜间模式 6
    差异化功能 这个软件独特的功能. 它对用户的吸引力有多大? 国内程序员交流平台独一家,长期占据垄断地位。软件本身比网页清爽,能够留住用户。 8
    软件的效能 占用内存, 启动速度, 内存泄漏情况 运行较快,占用内存平均196M,启动较快,有启动广告,未发现内存泄漏。 8
    体验 软件的适应性 只在安卓平台使用,无较强适应性 6
    成长性 记住用户的选择, 适应用户的特点,用户越用越方便 在登录之后能够进行关注等操作,自动推荐热点内容 6
    用户有控制权 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 发帖等有明显提示,消息提醒明显。 6
    自选 自选评分项目 UI风格设计:较为现代化,但是不够平滑舒适 6

第二部分 分析(参考8.6节对工作的估计,和14.1节软件工程的质量)

在书上我们看到:

程序 = 算法 + 数据结构

软件 = 程序 + 软件工程(软件服务还有数据,内容的因素)

软件企业 = 软件 + 商业模式

那么:

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

    ​ 这个软件在功能方面非常完善,UI设计较为精美。考虑到进行需求分析(1周)、框架制定(3天)、计划安排和人员分配(4天),代码编写(5周),进行Debug和完善(2周),需要9周左右的时间。

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

    1. 同类app有博客园、SegmentFault等。

      SegmentFault:SegmentFault.png

      博客园:博客园.png

    2. 与同类app相比的优势:UI更加现代化,功能更加完善。

    3. 与同类相比的劣势:广告更多,推广营销内容多,影响观感。

    4. 总体来说易用性较好,但还是不如SegmentFault的app优秀。名列第二。

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

    在功能需求设计上,团队应该进一步分析。使用CSDN来进行专业性的学习的用户较少,而查询资料、问题的用户很多,软件的重点可以再进一步明晰一点。

  4. 你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?可以从下面的可能性中选取几个:

    • 对用户需求掌握不好
    • 具体的设计质量不高
    • 开发人员粗心大意
    • 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
    • 其他

    关于这些bug,我认为团队还未能找到这些bug的存在。测试人员在部分机器上运行app未发现问题,但是在某些特殊的配置机器或安卓版本(如我使用的安卓6.0.1版本的安卓模拟器)上出现了bug,这是测试未覆盖到的部分。

第三部分 建议和规划(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)

这个软件/网站/服务有很多可以提高的部分,如果你是新上任的项目经理,如何提高从而在竞争中胜出?

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

    • 程序员群体较大,对技术分享网站需求非常大,甚至在CSDN的app的启动屏上有写着“成就1亿程序员”的口号。当然,专业程序员并没有这么大的数量,根据2014年的统计,中国当时有大约185万名程序员。然而,截至2019年,CSDN已有超过2700万名用户。这说明,除了专业程序员,还有其他群体(如业余程序员,按要求学习编程的其他专业的大学生等)对这一方面有很大需求,潜在用户数量预估有3000万左右。
  • 目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?

    • 目前市场上有着SegmentFault,博客园等同类产品,与CSDN处于直接竞争。他们的app在第二部分有截图。可以看到,SegmentFault的界面设计非常清爽漂亮,有些类似知乎和豆瓣的结合体。而底部tab栏有“问答”这一标签,对于许多学习知识的程序员来说,这一功能非常重要,是一个核心的优势。而向博客园,界面设计简陋,让用户失去了使用的欲望。
  • 作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?

    • CSDN的核心用户是中国软件开发者。典型用户从18~35岁都有涉及,学历高中到博士,专业集中在计算机科学与技术、软件工程、网络安全,爱好难以统计,收入在程序员整体收入范围内波动(2019年中国一线城市程序员的平均工资为15399元)。
    • 表面需求是查询编程难题、提高技术水平;潜在需求是对企业用户提供专业化的统一培训,对个人用户提供个性化的教育,提供专业咨询;并对企业招聘提供精准的分类、选拔。
  • 如果你有钱可以招聘6个人,有4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。

    时间(第几周) 工作
    1 需求分析
    2 框架制定
    2 计划安排和人员分配
    3~10 代码编写
    11~12 进行Debug和完善
    13~16 维护
原文地址:https://www.cnblogs.com/kidogucb/p/12523916.html