BUAA软件工程_软件案例分析

时间:2022-12-25 15:59:07

写在前面

项目 内容
所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航)
作业要求 软件案例分析
课程目标 培养软件开发能力
本作业对实现目标的具体作用 对案例进行分析以学习软件开发的经验

本次作业,我分析的产品是博客园班级博客

第一部分 调研,评测

1.基本功能使用体验

(1)由于之前一直以学生的身份来使用博客园班级博客的,故在此体验了一下以老师/助教身份来使用博客园班级博客功能。

  • 创建班级

    登陆后,无需教师认证等信息,就成功地创建了一个班级。

BUAA软件工程_软件案例分析

  • 发布作业

    BUAA软件工程_软件案例分析

    这边比个人博客编辑要好很多,其直接支持 markdown 预览。

  • 发起投票

    BUAA软件工程_软件案例分析

    这一功能还是挺方便的。

(2)接下来,我将展示一下我平时以学生身份使用这一平台的情况。

  • 个人登录界面

    BUAA软件工程_软件案例分析

从我个人审美来看,这个界面设计是比较丑陋的。字体以及按钮设置都很朴素……

  • 班级博客界面

    BUAA软件工程_软件案例分析

点击右侧的最新作业即可查看作业。

  • 作业界面查看与提交作业

    BUAA软件工程_软件案例分析

  • 成绩汇总 查看

    BUAA软件工程_软件案例分析

2.功能性bug

bug 1 创建班级时身份验证缺失

BUAA软件工程_软件案例分析

在我的初次体验中发现,从我创建班级到添加成员的全过程中,并没有有效的身份验证。比如在这里,我并不是北京电影学院的老师,而我却可以轻松地以北京电影学院的老师身份在此创建一个班级。然而,这种未经有效信息验证却带着标签的班级博客可能让不怀好意者有机可乘,一来虚假的信息可造成对学校的不良影响,二来可能会骗取学生的有效信息。

bug 2 隐私保护问题

班级博客中可以不受阻碍地浏览其他班级的信息和作业。点击班级链接即可进入班级。

BUAA软件工程_软件案例分析

BUAA软件工程_软件案例分析

甚至可以使用 其他班级的成绩汇总功能查看各个成员的成绩。

BUAA软件工程_软件案例分析

点击进入作业中,在作业提交情况中也可查看作业分数。

BUAA软件工程_软件案例分析

我们的老师和助教也一定是注意到了这个问题,所以我们的作业给分并没有采用博客园的评分功能。博客园虽是交流开放的平台,但对一些敏感信息应该提供权限设置来保护个人的隐私。

bug 3 作业提交剩余时间的显示

BUAA软件工程_软件案例分析

这个剩余时间是以周、天、小时向下取整来计算的。其与真正的剩余时间之间,少则相差几个小时,多则相差几天,其提示作用并不强。由于其向下取整的特点,常常会让我吓一跳。

作业ddl的提醒功能,博客园做得并不完善。这个剩余时间只有在点进某一作业后,在作业详情页才能查看。在个人博客主页,以及班级作业列表中都没有显示。

bug 4 博客园的首页登陆入口不明显

进入官网后,界面是这样的,登陆入口小小得显示在右上角。记性不大好的或不常用的,真的要找蛮久的。

BUAA软件工程_软件案例分析

与CSDN对比一下

BUAA软件工程_软件案例分析

首先,CSDN 的登陆入口就很明显。其次,CSDN的界面更加美观,博客园就显得有点原始。其实博客园这个官网首页的界面设计还不如他班级博客首页的设计好看。内部UI风格不是很统一。

3. 用户体验与改进建议

博客园班级博客中针对学习、教学、班级管理、互相交流的功能还是很全面的。我们的很多课程都运用了这个平台,比如面向对象和软件工程。相较其他同类型的博客网站,博客园班级博客的功能是创新性的。它为教育类群体提供了其他软件替代不了的服务。与CSDN相比,他的一大优势是广告比较少,且支持自定义主题。

这里我也查阅了一些类似博客软件的对比:

CSDN、博客园、简书、知乎专栏、Github、新浪、个人建站等对比

SDN、博客园、简书、知乎专栏还是Github Page?

就我个人的体验,为博客园提几点建议

1.提供更加有效的身份验证环节

2.在交流开放的同时,建议添加权限(比如高校权限,班级权限),注重保护个人隐私。

3.希望博客园能按一定的时间,出一个文章汇总镜像或CHM文件,提供下载和收藏,类似于其他一些网站,每半年或一年就会出个文章汇总,这个方便大家收录和查询汇总。(有时候由于网站等原因,一些年代久远而富有价值的文章,很容易丢失,而收录汇总就十分必要了)

4.结论(定量测评)

类别 描述 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)
核心功能 班级博客提供的核心功能满足了老师/助教发布作业和学生提交作业的需求,提供了方便的班级管理服务。而且这一核心功能在市场上没有竞争对手。 9
细节 细节部分有待提高,比如之前提到的那些bug。 6
用户体验 就班级博客而言,我是以学生的身份参与其中。在熟悉了操作以后,体验比较好,方便了我们交作业。但是个人博客编辑的时候仍有不便,一般都是markdown写好复制粘贴上去,平台上直接写不太方便。 7
辅助功能 博客园比较中规中矩,界面的设计方面实在有所不足。 6
差异化功能 博客园的班级博客本身算是一个差异化功能吧。 8
软件的效能 网页即可使用,速度很快,不占内存,交互体验好。 10
软件的适应性 班级博客在不同设备上的适用性挺好的。 10
成长性 博客园算是比较老的博客平台了。其成长还是比较缓慢的吧。不过可能是有博客这个行业的性质决定的。 8
用户有控制权 老师可以添加成员,发布作业等。学生可以退出班级,提交作业等。操作也都有反馈。 10
可定制性 博客园相比其他博客平台的一大优势在于它可以自定义博客主题。 9
界面美观性(自选) 中规中矩,界面不是特别好看,风格也不是很统一。 5

第二部分 分析

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

整个班级博客的功能还是比较多样全面的。班级博客的前端做的马马虎虎,但后端涉及到很多功能,比如成绩汇总,活跃班级统计,检索等。从零开始开发,到完成测试并发布的话,感觉工作量还是挺大的。团队人数6人左右的话,完整此服务的所有功能大概需要8周的时间吧。

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

据我目前了解,其他类似的博客网站是没有班级博客这一版块的。他面对教育类人群,提供了创新性的服务,在市场上这一服务是完胜的。但就整个博客园来说,其不可替代性就没那么高了。前面也列举了很多类似软件的比较以及博客链接,这里就不赘述了。总体而言,博客园在同类平台中是可以排在前3的。

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

从博客园的UI风格不统一来看,博客园的各版块之间的团队联系可能不紧密。给人的直观感受是,整个平台是各个部分拼凑出来的。班级博客的作业编辑和个人博客的编辑markdown预览功能不一致也可以体现这一点。可能是整个平台过于庞大,各个团队采取各个板块分工独立完成导致的。建议加强各个团队之间的联系,统一好界面风格和功能定义。

4.你在第一部分发现的bug,为何软件团队不能在发布前修复?

  • bug 1 创建班级时身份验证缺失

    博客平台一大目的就是开放交流,对于这个bug可能与他们的理念相违背吧。省去繁琐的身份验证功能,能方便快捷的建立老师与学生之间的联系,也许这种方便也是其优势。

  • bug 2 隐私保护问题

    这一bug应该是团队在发布之前没有想到的,或者说在顾客没有强制要求之前没有多大价值去实现的(看博客园广告那么 少,收入来源应该有限)。毕竟在现实生活中,隐私保护方面的问题也常常考虑得不周到。

  • bug 3 作业提交剩余时间的显示

    这是个小问题,简简单单就能解决吧。如果多数人觉得这个剩余时间的显示应该更精确的话,那么应该是团队对用户需求掌握不好导致的。

  • bug 4 博客园的首页登陆入口不明显

    这个UI设计方面的问题,应该属于团队设计要求不高导致的。风格不一,应该是团队间联系不紧密导致的。

第三部分 建议和规划

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

博客园主要面向计算机领域。班级博客平台主要面向高校。就目前IT行业的火热发展而言,市场是很大的。然而,随着计算机教育向中学的普及,班级博客功能可不局限于高校,也可应用于中学的日常教育中,进一步扩大市场。

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

班级博客的核心用户群是高校计算机领域的老师以及学生。而在这个平台的选择上,老师占有主动权(一般情况时老师选择了什么平台后,学生需听从老师安排),因此老师的需求更加具有分析价值。老师利用班级博客这一平台,主要需求是辅助教学,包括发布作业,收取作业,作业反馈等。而在这一系列过程中,有许多功能可以帮助老师更好的了解学生的情况,比如查重功能,学生成绩分析功能,教学成果往年对比等。这些教育中的辅助功能,都可能是老师的潜在需求。而作为学生,更加及时与细致的提醒与监督功能和个人分析报告,则可能是其潜在需求。

3.如果你有钱可以招聘6个人,有4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩

算上我总共7个人,我会安排3~4负责主要开发,2个人测试,1-2个人美工。在此期间,各个阶段由于工作量的原因,每个的定位不是明确不变的,比如开发人员很忙的时候,测试人员可以帮忙做些简单的处理。

第1周,调研市场,确定设计方案,统一代码规格。

第2-6周,完成项目基本框架(大的模块分隔),进一步了解用户需求,对项目功能进行细致设计。其间,测试人员需高度参与开发的交流过程,制定测试方案。

第7-11周,完善各个部分的功能,结合美工,精细化项目产品。

第11-12周,测试人员进行测试并反馈,开发人员完善改进。

第13-14周,小范围内使用,并收集使用者反馈,对产品进行改进。

第15-16周 ,最终版本完善,并发布。

BUAA软件工程_软件案例分析的更多相关文章

  1. BUAA软件工程:软件案例分析

    BUAA软件工程:软件案例分析 Author:17373015 乔玺华 项目 内容 这个作业属于哪个课程 2020计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 软件案例分析博客作业 我在这个 ...

  2. BUAA_2020_软件工程_软件案例分析作业

    项目 内容 这个作业属于那个课程 班级博客 这个作业的要求在哪里 作业要求 我在这个课程的目标是 学习掌握软件工程的相关知识 这个作业在哪个具体方面帮我实现目标 通过对具体软件案例的分析学习软件工程 ...

  3. BUAA软件工程个人作业-软件案例分析

    BUAA个人博客作业-软件案例分析 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 软件案例分析 我在这个课程的目标是 学习开发软件的能力 这个作 ...

  4. 【BUAA软工】软件案例分析

    项目 内容 课程:2020春季软件工程课程博客作业(罗杰,任健) 博客园班级链接 作业:BUAA软件工程结对编程项目作业 作业要求 课程目标 学习大规模软件开发的技巧与方法,锻炼开发能力 作业目标 个 ...

  5. BUAA SE 软件案例分析-CSDN

    Q A 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 系统地学习软件工程开发知识,掌握相关流程和技术,提升 ...

  6. ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一 ...

  7. SE_Work4_软件案例分析

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:分析软件案例 个人博客作业-软件案例分析 班级 005 这个作业在哪个具体方面帮助我实现目标 分析对比一类软件,学会规划分析软件的 ...

  8. “深度评测官”——记2020BUAA软工软件案例分析作业

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发 ...

  9. [软工作业]-软件案例分析-CSDN

    [软工作业]-软件案例分析-CSDN(app) 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 ...

随机推荐

  1. float 的有效数字为七位是怎么得出来的

    以下内容来自CSDN网友xian_wwq的回答(http://bbs.csdn.net/topics/390874239): float:   1bit(符号位) 8bits(指数位) 23bits( ...

  2. linux设备驱动归纳总结(四):3.抢占和上下文切换【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-65711.html linux设备驱动归纳总结(四):3.抢占和上下文切换 xxxxxxxxxxxxx ...

  3. 在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里

    有个document里定义了一个函数func(),同时在document里嵌入了一个iframe,在这个iframe里调用父窗口的方法:parent.func(),本来我以为这个函数的运行环境是在这个 ...

  4. 【代码优化】equals深入理解

    覆盖equals时,遵守通用约定 对equal方法的覆盖看起来非常easy,可是有很多情况是容易导致错误,最好的避免这些错误的办法 就是不覆盖equals方法. 必须遵循的原则: 自反性--对于不论什 ...

  5. Linux下全局安装composer

    下载composer curl -sS https://getcomposer.org/installer | php 将composer.phar文件移动到bin目录以便全局使用composer命令 ...

  6. Webpack学习-工作原理(上)

    对于webpack的认识始终停留在对脚手架的使用,不得不说脚手架既方便又好用,修改起来也方便,只需要知道webpack中各个配置项的功能,于是对于我们来说,webpack始终就是一个黑盒子,我们完全不 ...

  7. 踩坑学习python自动化测试第二天!

    class put_out(object): def Helloword(str): print(str) Hello,Inder,Pist ="", [],{} word= st ...

  8. [Hive_add_8] Hive 常用参数配置

    0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...

  9. Ubuntu16.10下使用VSCode开发.netcore

    按照通常的套路,首先创建一个空白的解决方案,需要用到.netcore sdk命令: dotnet new sln -o dotnetcore_tutrorial 这个时候可以看到在目标目录下生成了一个 ...

  10. SJA1000 CAN驱动程序演示实验

    SJA1000 CAN驱动程序演示实验 2016-04-12 20:41:22来源: eefocus 关键字:SJA1000  CAN  驱动程序  演示实验   收藏 评论(0) 分享到 微博 QQ ...