软件工程案例分析
作业要求:https://www.cnblogs.com/xinz/archive/2012/03/26/2417699.html
分析软件:CSDN App
调研与评测
软件bug
- 客户端代码显示bug: 在网页上显示正常的代码块,在手机客户端显示代码行号与代码行明显错位,如下图。
![](https://img2018.cnblogs.com/blog/947891/201811/947891-20181113125504814-1568075702.png)
-
搜索边缘条件bug: 在搜索一栏, 输入的符号搜索时会被忽略,如果用户单纯输入数学符号,搜索不出来结果。对于这种情况,用户输入搜索内容时忽略一些符号勉强合理,但用户输入只有符号时,完全忽略并不合理。比如,我想搜索 ++ 的用法,输入"++"没有搜索结果, "++的用法"和"&的用法" "==的用法"搜索出的结果以及排序完全一样,然而这样并不合理...
-
评论计算错误bug: 当博客博主在网页端删除一个用户的评论时,对应这个评论的回复也都被删除,但是在手机端虽然评论都被删除了,但是评论数量显示不对,仅仅减一,多次刷新依然这样。
本来评论数量是2,一个评论以及其对应的回复,删除之后:
![](https://img2018.cnblogs.com/blog/947891/201811/947891-20181113125313907-133464296.jpg)
![](https://img2018.cnblogs.com/blog/947891/201811/947891-20181113125324572-922527404.jpg)
用户采访
采访对象:大学计算机专业同学,使用csdn app进行搜索查询技术问题,阅读技术博客。
用户使用照片:
![](https://img2018.cnblogs.com/blog/947891/201811/947891-20181113181711819-1132355770.jpg)
用户使用体验以及建议:软件在界面上比较简洁,而且相比网页端没有广告,另外移动端阅读博客回复别人的评论确实非常方便,在功能上的缺点是搜索功能对应的结果相关性排序不尽人意,另外希望能添加在手机端管理博客评论这些基本功能,只用来阅读博客的功能相对简单了些。比如“我的足迹”这种,只能看到历史记录,并不能管理...
软件评价
综合来说,我给出这个软件 一般 的评价,如果只进行技术博客阅读这个功能,相对微信公众号这些并没有很大的优势,希望能做好搜索以及丰富一些其他功能。
软件分析
介于功能比较简单,人数6 人左右, 计算机大学毕业生, 并有专业UI 支持,做这个软件的话我觉得大概需要2个月。
分析这个软件目前的优劣
优势:网站比较有名,用户基础好,内容比较全面,另外网站app资源服务等成一个体系
劣势:app功能单一,显示和搜索方面做的不是很好
你在第一部分发现的bug, 为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?
开发人员粗心大意,测试没有注意在特殊的配置或环境下测试,我觉得也可能是他们知道但是没时间改了,留到下一个版本再改...还有评论数量显示bug,这种东西无关紧要...
从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面 。
做好用户需求的调查,以及反馈的收集。
建议和规划
这个app的应用介绍是 专业IT技术社区,市场主打IT从业人员和IT专业的学生,和它直接竞争的产品比如stack overflow app/开源中国/博客园app等等, 但是竞争对手还是比较少,而且很小众。 相比较csdn的优势是,网站的用户数量比较大,有很好的用户基础,内容也很全面,但是产品的功能欠缺,另外一些markdown编写的部分博文图片无法完全显示,代码块显示有问题等等,但是这个领域还是很有前景的。
作为新的项目经理,这个产品的核心用户群是IT从业人员和IT专业的学生, 专业性较强,需求通过csdn交流技术问题,了解最新的业界咨询。
因此我将重点设计实现如下三个模块:
- 社交/智能资讯模块: 推荐用户感兴趣的资讯,以及关注人的动态
- 博文管理模块: 包括对自己的博文的管理/评论/历史/收藏的管理,对他人博文的搜索
- 技术问答模块: 分不同的板块,使得自己的问题得到牛人的解答
如果你有钱可以招聘 6 个人, 有 4 个月的时间, 你作为项目经理, 应该如何配置角色 (开发, 测试,美工等等)?
三个开发
两个测试
一个美工
描述你的团队在16 周 期间每周都要做什么, 才能在第16周如期发布软件的改进版本,并取得预想中的成绩
1周:需求分析,典型用户调研,明确市场对象和需求,调查竞争产品的优劣,明确自身产品的定位
2周:架构设计,明确接口,编码规范等等,进行分工
3-9周:产品开发,形成初步可使用版本
10周:测试人员测试,同时一些用户进行内测,收集反馈
11-14周:第二轮的产品迭代
15-16周:最终测试与发布