项目 | 内容 |
---|---|
课程连接 | 2020春季计算机学院软件工程(罗杰、任健) |
做业要求 | 我的博客做业 |
课程目标 | 了解如何创造出一个足够好的软件 |
本博客的收获 | 分析比较不一样软件的区别,提出本身的见解 |
我选择的软件是CSDN的手机APP。CIT社区CSDN (Chinese Software Developer Network) 创立于1999年,致力于为中国软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。当在编程时遇到问题百度时,CSDN确定会在头几个连接中出现。若是有空想向行业内的大佬学习时,CSDN也有很是多优秀的文章可供参考。目前相比全部相似网站,包括博客园或者简书,CSDN拥有更高的在线活跃人数。同时配合一系列的周边扩展型领域发展,能够说CSDN是中国全部程序员交流学习的第一选择。程序员
这个APP给人的直观感觉应该是麻雀虽小,五脏俱全。彷佛设计中想把它打形成美团那样的应用,把PC版已有功能结合本身可以想到的全部功能所有塞在20MB的小小空间内。但问题仍然是没有任何一技之长,每一个功能都没有作到尽善尽美。面试
从总体上而言这款应用知足了普通程序员用手机的通常要求。毕竟对于程序员而言手机是打发时间而不是工做的场所,将全部功能,包括博客、评论、问答、商城等作到没有BUG,可以运行已是大致知足要求了,但仍没法吸引核心用户付费使用。首先广告过多。当我想搜索和C语言有关的内容时,弹出页面以下所示:算法
能够看到下载、问答、电子书都混在一块儿。而且没有其余软件搜索引擎那样的依照热度或者日期排序等功能,整体上看上去很是的乱。同时置顶的都是水平很是差的文章,可见在搜索环节只是作出了功能,但没有以用户为导向,而是以商业为导向。编程
在对面试题的测试中,首先发现的是对错题集的整理中只是简单的给出了正确答案,而没有给出相关的延伸资料或者内容。死记硬背的方式显然不利于面试者的备考环节。安全
在看完面试题后使用错题延伸功能,本觉得会有相关资料做为参考,结果给我推荐了一推广告网课。我选择的是系统运维类的面试,其中对LINUX入门还能理解,但我搞不懂推荐给我JAVA和Kotlin是什么缘由。彷佛设计的结构只是不加甄别的海量推选。架构
整体上而言CSDN APP解决了用户在手机端浏览博客,进行学习交流的需求,同时也为平台的开发者提供了盈利的空间,为每一个用户创造了个性化的空间。功能已经齐全了,可是在细节上还有待打磨。APP的优势包括很是充分完整的功能、较高的活跃用户数以及很是海量的博客和数据。缺点在于相比其余同类产品,例如简书或者leetcode的手机APP而言,CSDN APP界面和排版很是的混乱,而且掺杂了过多的商业广告元素,致使用户的体验感很是差。app
我对该产品的改进意见是在手机APP上简化没必要要搜索功能,例如在手机端的搜索中就不必加入下载文件这样必须在PC端才须要的内容,同时手机端如此海量的网课也很是多余,个人建议是保留几类适合在手机端浏览的精品课程,删除必须在PC端学习的课程。同时在排版上,我认为CSDN APP能够向stackoverflow或者leetcode app学习,在部分板块中给出固定的格式要求,让读者和博客写做者可以更加清晰地分享知识并交流。运维
整体上我对CSDN APP的评分为c),具体量化评分以下图所示:布局
类别 | 描述 | 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 不好 -3 分) | |
---|---|---|---|
功能 | 核心功能 | 博客浏览,学习交流 | 8 |
细节 | 有什么为用户考虑的细节? | 小细节并很少,主界面底部按钮体现了细节 | 7 |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 大量广告,体验较差 | 8 |
辅助功能 | 一些辅助功能如皮肤等 | 没法快速找到辅助功能 | 6 |
差别化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 活跃人数较多,相较同类APP有自然优点 | 9 |
软件的效能 | 占用内存, 启动速度, 内存泄漏状况 | 占用内存较小,但启动较慢,容易出现卡顿状况 | 7 |
体验 | 软件的适应性 | PC端和移动端都能良好交互,适应性仍是不错的 | 9 |
成长性 | 记住用户的选择, 适应用户的特色,用户越用越方便 | 自动推荐系统薄弱 | 7 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操做有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工做, 快捷操做键可调整。 | 退出操做为例,并无任何提示,致使屡次误退出 | 7 |
自选 | 自选评分项目 | 内容质量良莠不齐,差异较大 | 6 |
给出我使用CSDN APP的几个BUG:
一、第一项应该不算BUG,但属于重大的设计缺陷。在修改我的生日时不能直接输入指定的日期,只能从目前日期倒回。在倒回时只能以月为单位进行倒回,不能以年为单位进行倒回。整体操做很是繁琐,修改操做花费时间很是长。
学习
二、在浏览博客评论区的时候我发现全部博客评论区的连接都是以如下方式给出,没有给出完整域名,同时在跳转时也没有知乎那样的危险提示页面。若是有不法分子在评论区放置一个钓鱼网站很容易致使用户中招。
我的认为所需时间一定会在5个月以上。本APP虽然质量并不高,细节打磨也并无作到完善,可是APP功能很是繁多复杂,我的推算开发者须要解决的问题包括对于用户我的应用需求的知足,对于博客内容的普遍整理以及分类,搜索引擎的创建,对于网课和视频的支持,广告的布局,我的动态以及关注的发布和创建以及付费用户和非付费用户的不一样功能区别以及充值环节。其中不一样的功能之间也存在着交互行为,须要在开发完成以后进行大量DEBUG操做。同时CSDN数据量和日均用户数很是的庞大,做为大量编程者使用的论坛,CSDN的安全性也须要获得邮箱的保障。而做为计算机大学毕业生,我认为在正式开发以前每一个人最少都须要3周时间从新学习对于大型APP开发的相关知识。所以5个月时间只是保守估计,我的认为时间可能会更多。6我的的团队之中若是没有一个好的架构师,可能会由于大量的错误和漏洞致使软件质量较低。
通过我的的调研,同类产品主要包括简书APP,博客园APP以及leetcode APP。简书APP相较于CSDN而言,内容更倾向于精品化,排版布局也更加的优秀。但CSDN优点在于只聚焦于服务计算机类博客,而简书覆盖面则较广,没法成为码农们的第一首选。博客园APP与CSDN一样专一服务于程序员,可是博客园体量明显较小,缺乏论坛等配套服务,只聚焦于博客内容,而且在细节功能上不如CSDN APP,多为学生在应用,缺乏大牛的支持。而leetcode做为新兴的APP,优点在于对于算法领域的专一化,但和CSDN相比问题较多,包括活跃人数的极度缺失以及APP功能仍然不够完善。整体而言,这类APP更像是做为网站的复制而存在,而不是致力于在手机端实现PC端所不具有的更多应用,所以整体使用质量都不过高。相较于其它APP而言,CSDN有着较大的体量以及很是高的活跃人数,所以我估计CSDN APP在同类产品中可以名列第一。
我认为该应用能够在准确性和易用性两个方面提升。
我认为我发现缺陷没被修复的最主要缘由是软件团队对于细节处理的缺失致使缺陷产生。例如生日设定以及网页连接的罗列,我认为开发团队的想法是只须要快速实现这类功能就万事大吉,将主要精力投入在博客以及付费板块的开发中。与其花费更多时间打磨程序,不如开发更多花哨的功能吸引更多用户。
据不可靠的数据统计,我国的程序员人数大约为200万人左右,可是与计算机相关联的,包括各种理工科学生以及行业从业人数保守估计3700万人左右。而2011年注册人数官方宣布为600万人,目前保守估计为1000万人左右。因而可知市场和潜在的用户数量依然是很是庞大的。
内容请参照第二部分第二点的回答
属性 | 学生 | IT从业者 |
---|---|---|
学历 | 本科、专科及以上 | 大学、专科或社会机构毕业人士 |
年龄 | 20-25 | 23-40 |
专业 | 计算机类 | JAVA、PYTHON具体开发类 |
爱好 | 学习 | 提高技术实现跳槽和加薪 |
收入 | 我无 | 7000k+ |
表面需求 | 初步走入IT社会,学习他人经验 | 解决工做中遇到的问题,寻求志同道合的朋友 |
潜在需求 | DEBUG,找到BUG缘由 | 获取更优秀开发者的工做经验,把握行业方向 |
配置:1位PM,2位美工,2位程序开发人员以及1位测试人员。
第1-2周:进行项目需求分析。由6人共同参与。因为PC端已经实现了大量的功能,所以需求分析的关键在于哪些功能能够被移植到移动端,哪些功能须要删除。
第3-4周:进行UI设计。由PM和2位美工参与。第一个关键点,将内容从PC端移植到移动端后排版的分布。第二个关键点是对于软件提供的功能如何将它们合理地分布在程序中。最后一个关键点是如何合理地植入广告内容。
第5-10周:开始APP开发阶段。由PM和2位程序开发人员参与。整体上分为2个阶段。第一个阶段在于整个程序的整体架构,包括逻辑分块,接口定义,评估各部分实现所需的人手和复杂度。第二个阶段开始正式的编程。在写代码的同时也要对需求部分以及规划部分作出及时反馈,报告没法实现的部分,从新调整需求或者从新规划。
第11-14周:测试阶段。由PM,2位程序开发人员和测试人员参与。做为功能繁多的程序,测试环节很是重要,所要花费时间也较多。主要进行DEMO测试和压力测试。DEMO测试包括对于新增长模块功能,以及老的模块功能可用性测试。压力测试经过人为增长大量数据访问,看看APP的博客访问等功能会不会由于新增功能的缘由出现崩溃。
第15-16周:试运行阶段。由1位美工,1位开发人员,1位测试人员以及PM参与。将APP版本小规模发布,让部分核心用户抢先体验产品。在进一步汇报BUG的同时结合用户反馈对一些细节部分从新调整,并从新测试。