莫得感情的coder 实验五 团队作业1:软件研发团队组建与软件案例分析
项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE/ |
作业要求 | https://www.cnblogs.com/nwnu-daizh/p/12709461.html |
团队名称 | 莫得感情的coder |
团队的课程学习目标 | 1.组建合适的软件工程团队;2.熟悉各个团队成员的特点与能力。 |
这个作业在哪些方面帮助团队实现学习目标 | 1.通过团队企业微信群的建立与相互介绍等方式互相认识;2.通过合作对项目案例的分析深入了解团队成员并初步形成团队做事风格 |
团队博客链接 | https://www.cnblogs.com/mdgqdcoder/ |
任务一:团队组建
1.队名:莫得感情的coder
2.团队成员组成
成员学号 | 成员姓名 | 个人博客地址 | 备注 |
---|---|---|---|
201771010107 | 冯志霞 | https://www.cnblogs.com/fzx201626/ | PM |
201771010114 | 李晓菁 | https://www.cnblogs.com/li-xiaojing/ | |
201771010118 | 马昕璐 | https://www.cnblogs.com/maxinlu/ | |
201771010121 | 唐月晨 | https://www.cnblogs.com/tangyuechen/ |
3.团队成员风采
成员姓名 | 成员介绍 | 希望承担的软工角色 | 一句话宣言 |
---|---|---|---|
冯志霞 | 码力不够,笔力欠缺,还需努力,后劲得足 | 测试,编码,设计 | 凭着发丝的最后一丝倔强冲鸭鸭yayaya! |
李晓菁 | 编码技能不够,会持续学习 | 编码设计 | 不断学习,不断进步 |
马昕璐 | 专业知识技能不足,但是一定会持续努力 | 设计开发 | 秃头水蜜桃加油鸭 |
唐月晨 | 语言的巨人,行动的中等个儿。编码能力欠缺,文档能力尚可 | 测试人员 | 我准备好了准备好了hhh |
4.MSF原则
(1)推动信息共享与沟通
第一个原则,就是所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人。当然,对牵涉到的技术机密、安全性等信息要采取必要的保护措施。
(2)为共同的远景而工作
共同的远景是指产品的远景。我们做一个产品,不管是应用软件、行业软件,还是通用软件,要明确项目的目标是什么;这个目标必须是明确的,没有二义性;这个目标不是当前就能达到,必须是通过努力才能达到的;这个目标不是空泛的,它应该对项目成员每天的工作都有指导作用。
(3)充分授权和信任
在一个高效的团队中,所有成员都应该能得到充分的授权。他们有权在职权范围内按照自己的承诺完成任务。同时.他们也充分信任其他同事能实现各自的承诺。类似地,团队的顾客(包括内部和外部的顾客)也认为团队能兑现承诺,并进行相应的规划。充分授权的管理方式是MSF的核心观念之一。
(4)各司其职,对项目共同负责
(5)交付增量的价值
软件项目应该出于商业目的,要重视市场和用户
(6)保持敏捷,预期和适应变化
软件工程,唯一不变的是变化。所以干脆别幻想客户的需求会在第一时刻很明确,然后保持不会变。但要注意,我们是预期变化,不是期望变化。除开外部原因,团队内部也在变化,我们对技术的掌握每天都在提高,原来认为不可能的事可能变得容易。我们对客观世界和软件系统的了解每天都在深化,原来觉得没问题的小细节忽然成了大问题。
(7)投资质量
重视质量,但不能为了提高质量而提高质量,要注重质量投资的效率、时机与长期的投资,,对质量的投资,将会引发对人、过程和工具的投资;
(8)学习所有经验
在学习过去的经验的同时,也要避免让过去的经验妨碍解决现在的问题。
(9)与顾客合作
多与顾客交流、沟通、合作,了解客户的喜好与真正的需求。
5.团队企业微信群
6.团队特色描述
我们团队的主要特色是:能吃能睡,吃苦耐劳,严肃活泼,快乐无比!
任务二:软件项目案例分析
现代社会,人们很多时候要和软件打交道,手机游戏、微信、QQ、中国铁路12306等等。软件工程学习中,通过这些软件案例的分析、 评测、辨析和总结,我们就能看到软件工程的原理和原则在工程实践中的种种体现和应用,从而加深对软件工程知识内容的理解,帮助我们在软件项目实践中做得更好。
- 以下是本次作业候选分析案例:
案例1:博客园班级博客
请对博客园的班级博客中针对院校+班级为对象的班级管理、作业管理、互相交流的功能进行分析,这一方面的参照对象是:CSDN。
另外,班级博客的作业管理、班级管理等功能在手机上做得如何呢?有什么可以改进的?
案例2: VS和VS Code
微软公司有两个代码编辑器:Visual Studio、VS Code,它们的目标用户,主要功能有何不同?为何要有两个编辑器和开发环境?请用这两个编辑器/IDE写出一个简单的C/C++/Python程序,记录程序耗时多久运行成功?描述你的发现。给出程序和运行结果截屏。Visual Studio 社区版指的是可免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用的版本.
官网下载链接:https://visualstudio.microsoft.com/zh-hans/?rr=https%3A%2F%2Fwww.microsoft.com%2Fzh-CN%2Fdownload%2Fdetails.aspx%3Fid%3D48130
VSCode发布站点:https://code.visualstudio.com/
VSCode源代码git地址:https://github.com/Microsoft/vscode
VSCode作为一个开源的项目,github平台有许多IT人士在为此项目做出贡献,参照本篇博文后ffl((范飞龙老师)的建议可以学习github协作开发的技巧和方法。
从候选案例中选择一个软件进行分析:
- 我们团队选择案例一
以团队协作学习方式完成以下任务:
2.1、阅读《现代软件工程—构建之法》第8章、第12章内容,完成以下案例分析任务:
A: 下载、部署并体验案例软件的功能
(1)博客园APP功能使用体验
- 登陆界面
- 我的博客
- 我的班级
- 个人信息
(2)博客园网页版使用体验 - 登录博客园
- 博客园登录首页,会推荐很多活跃班级
- 进入要查看的学校班级
- 在中国地图上显示各个学校的校区分布
- 可以按照按时间排序,按人数排序,按活跃度排序,按博文数排序,按校区拼音排序快速筛选出班级博客,也支持快速查询
- 可以按零回复博文,总阅读排行,周阅读排行,首页精华,所有博文进行排序
- 默认是按的评论时间顺序进行排序的,没有相关的筛选和查询功能
- 以上都是首页中全国范围内的班级博客内容,并且博文、评论、作业都是按照时间先后顺序排列
- 进入“个人主页”可以看到我加入的班级和我自己的博客动态
- 点击“我的班级”就可以进入到自己的班级,可以看到班级成员提交的作业博文和老师发布的作业
- 班级内部所有都可以发起班级内部投票
- 通过最新评论在别人的博客下交流
- 可以查看所有成员发布的最新博文
- 可以切换自己所属的班级
- 教师角色创建班级
- 根据点击率生成热门博文列表
- 作业记录
- 分享博文到班级首页
- 查看成绩
(3)CSDN APP下载使用体验过程 - 登录成功进入首页
明显csdn的移动端比博客园成熟很多,而且在布局、设置方面也更加的人性化,但是有较多的广告和商业化的内容。
(4)csdn网页版体验 - 登录首页(csdn可微信绑定登录 博客园需要申请开通账号)
- 通过个人中心可以进入我的学院班级,只能选择一些线上的课程,更加商业化
- csdn没有找到院校班级博客类的功能
- CSDN通过论坛和问答和其他人进行交流
B:描述使用案例产品的过程,产品解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
针对在校教师以及学生来说,博客园很全面的考虑到了教师、助教、学生间的交互,其广泛的适用范围也方便了各高校间的交流。我们认为博客园这个软件解决了用户的需求。数据量:由于加入博客园的账户大多是各高校人员,对于高校间的使用 数据量是足够的,但是对于广泛的社会性使用,数据量不是很充足。缺点:由于其适用范围,它的数据量没有csdn多,当遇到不清楚的地方想要进行搜索时,问题解决率可能没有csdn高。界面:优点:简洁明了,无广告。缺点:网页版在安卓端、ipados端和Windows端适配不是很好,windows端打开速度流畅,界面稳定,安卓端和ipados端有时会出现界面卡顿以及无法正常显示图片的情况。功能:优点:对于院校班级间的管理方面来讲,功能很全面。缺点:对于想在博客园学习、交流技术的技术人员来讲,功能没有csdn全面。准确度:由csdn的奖惩制度:对于胡乱答题的账号会进行惩罚,因此csdn上的博文、问题等正确率会稍高于博客园从app下载量可以看出 使用csdn的人更多。
C:对产品有什么改进意见?
建议在一些界面的排版方面稍加改进,比如在作业提交界面中的未提交名单,全部挤作一团就很不美观,也不方便查看;博客园在markdown编写的时候预览和编辑两个界面之间的切换很麻烦,而且可视性很差。博客园app功能不够完善,界面布局也存在问题。
D:除了定性的结论,还可以定量地评价一个软件?请看这个链接http://www.cnblogs.com/xinz/p/3308608.html,并尝试进行定量的测评。
类别 | 描述 | 评价 | 评分 |
---|---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量 | 班级管理、院校管理;博文编辑及作业提交;进行高校间的交流 | 8 |
细节 | 有什么为用户考虑的细节? | 博客园的班级管理功能很适合高校计算机方向专业的管理。博客园的首页文章有人维护,如果质量不行会被移除,这从一定方面保证了文章的价值。 | 9 |
用户体验 | 当用户完成功能时,不干扰用户(例如:是否不断弹出不相关的广告 | 广告很少,且只是出现在网页底部,不影响使用。但是界面风格较为老旧。自定义的css格式可以隐藏广告。 | 9 |
辅助功能 | 一些辅助功能如皮肤等 | 可设置写文档的格式,如markdown格式等。可在后台管理中自行选择皮肤设置 | 8 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 班级博客的功能搭起了高校间、师生间沟通、管理的桥梁 | 9 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 在网页端进行占用内存很小,启动速度及时 | 9 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 可以 | 9 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 没有根据操作记录又记忆推荐功能 | 5 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 会提示,但不会自动进行保存,快捷键不可调整 | 7 |
用户自定义 | 用户对系统界面,功能的自定义以及二次开发的可扩展 | 博客园用户可以根据自己的喜好去进行代码编写,可以自定义功能,可扩展性较强 | 8 |
**E:经过以上工作,你们一定有充分的理由给这个软件选择一个评价结论: | |||
a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐** | |||
通过以上的打分和体验我们给这个软件的结论是:d) 好,不错。 |
2.2、阅读《现代软件工程—构建之法》第8.6、14.1节内容,完成以下案例分析任务
A.使用此软件的所有功能,估计这个软件/网站做到这个程度大约需要多少时间,并说明估算理由(假设团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
(1)在阅读8.6.2节找出估计后面的假设之后我们认为该软件的开发依据的条件假设有:
- 刚性假设:
- 假设团队人数6人左右,计算机大学毕业生,并有专业UI支持
- 一般性假设:
- 假设团队人员擅长领域各不相同
- 假设人员之间较为熟悉,方便交流
- 在条件全都合理的情况下考虑用到Wideband Delphi方法达到意见统一。
(2)要达到较为准确的评估,就得有合理的模块划分,首先对比得出博客园网站的基本功能如下图所示:
在这些功能需求分析上,将项目具体模块化可以划分为三个模块
1)班级管理:班级管理涉及到班级创建,加入班级,
2)作业管理:作业管理涉及到作业发布,设置截止时间,作业迭代修改,作业浏览,对作业给出成绩,成绩汇总。
3)交流互动:发布评论,按照评论迭代修改,无限次的提交
(3)涉及的因素有:
- 平台的因素
这个我们认为涉及到的实时性问题就是作业的提交时间不一致,要做到实时分布系统。数据存储量大还要保障安全性,还是挺难的。但是一些基本功能性操作不会突然大改,比如编辑博客方式等等。 - 人员的因素
人员担当角色中程序员,架构分析师、安全测试人员水平有限。开发经验不足。但是也是聚到一起当面讨论,不会出此一人掌控局面的情况。
- 项目的因素
在开发项目之前假设人员学习过《构建之法》这本书,了解到团队内部沟通的重要性。因此,对于项目跟进,全部用熟悉的项目管理工具,工作区。即使有突发状况,也要预留一手以一种团队内部合理的工作方式继续跟进项目进度时间安排,我们留给开发人员充分的时间,并不十分紧迫。
- 产品因素
由于使用班级博客的学校以及班级来源广泛,数据量巨大,产品的复杂程度高,这并不只是展示信息。对于模块的重用,班级博客首页显示的各种按时间先后次序的推荐可以重用,只是数据内容改变。产品文档必须完整配套。因为使用者不可能有问题然后去和开发人员沟通解决。
(4)读过《构建之法》14.1部分内容,对于软件完成开发之后的质量问题,分为以下阶段:
-
预防:团队事先要在培训、审核、可行性研究报告等上面做出合理的预算,减少产品开发的过程的风险投资。
-
评审:团队要投入人力物力做审核、测试、调研。
-
内部故障:团队内部发现问题需及时处理,及时沟通
-
外部故障:软件投入生产使用过车才能够中遇到的BUG需要及时修复。
-
流程分析改进:整个软件完成交付后,需要不断的审核,预算,改进。
-
提高职业技能:要有自我管理的能力,要有及时表达和交流的能力、与人合作的能力,按质按量完成任务的执行力。
-
技术投资:开发工具,学习资料,学习新技术的成本投入等等。
总结以上的分析我们可以规划出一个比较合理的估计方案:
涉及因素 | 所估天数/天 |
---|---|
功能划分 | 10 |
人员分配 | 1 |
整体流程设计 | 6 |
模块划分 | 3 |
初步构想原型 | 10 |
产品开发 | 15 |
质量维护 | 8 |
安全性检测 | 6 |
总预估时间 | 59 |
B.和同类软件相比分析,这个软件目前的优劣,这个产品的质量在同类产品中估计名列第几?
- 优势:
-
对比CSDN还是有很大不同,博客园更加简练无广告,对用户的包容性较好,用户可以自己随意制定自己的主题风格,更加人性化。
-
CSDN的界面广告繁杂
-
博客园的精简
-
在这种线上组织班级的平台,博客园提供了比较合理、全面的管理制度,涉及到课前课后,管制方式严格明确用户可以直接在此平台点击浏览或者下载,无需付费。
-
- 缺点:
-
移动端使用还是不太方便,比如对博客的编辑,可以说一篇完整的博客要想在手机上搞出来,很难,很浪费时间。
-
还类别的观察了一下知网,单纯的找点文献资料来看,知网就做的很人性化,文章检索方式很多,按关键词,按片名。按作者等等,几乎包含了用户的所以意料之外的情况,很方便。但是博客园就没有体现这一点,查询太过单一却相关博文推荐不太准确。
-
对你用户要查看的文章应该要有访问量,这个很重要,用户完全可以根据访问量来选择阅读,但是要是没有这个,和百度类似你要搜素的答案也许你只能看到系统自己推送的前几篇文章。
-
- 根据博客园的优势和不足我们估计博客园在同类网站中排名第二。查阅资料后发现博客园排名是第三如图所示:
C.综合判断,给出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。
好的软件产品就是要从自身的缺点出发,因此提高软件的质量和对用户的包容性还是很有必要的。结合我上节提到的缺点我的建议是:
(1)界面设计:电脑端界面设计还可以,移动端上面有着很大的改进,就比如说在电脑端操做各个功能很清晰明了,但是在手机端就需要不断的上下滑动才可能完成你需要的操做。还有在手机端的界面设计不是很好看,界面的展示是一个软件呈现给用户的门面,自然很重要,需要改进。
(2)安全性检测:我认为在进行班级管理的时候身份认证很有必要,为确保你的身份的真实性进入班级的时候设置一个口令也许好一点。
(3)查询功能:这点我在上节中提到过,对比其他类似网站缺乏查询的多样化。
(4)相关博文推荐:设置访问量的排名、以此来推荐用户需要的文献,更加的方便。
(5)市场调研:用户需求在不断变化,为了让你设计的产品不被淘汰就需要不断的学习新技术,不断完善新功能,修复以前未发现的BUG,实时满足用户的需求。
2.3、阅读《现代软件工程—构建之法》第8.5节、第9章内容,完成以下案例分析任务:这个软件/网站有很多可以提高的部分,如果你是该软件新上任的项目经理,你一定非常希望所负责的项目在竞争中胜出,请思考以下问题:
(1)首先,市场有多大?潜在的用户有多少?
答:博客园日益成为很多人主要是高校学生日常必备的查询搜索某一问题的途径,同时也是很多人发布对于某个问题自己的独到见解的途径,更何况博客园有针对院校+班级为对象的班级管理、作业管理、互相交流的功能。就目前来说,高校师生大多都在用自己学校开发的教学平台来进行班级以及作业管理,但是这也因为地域网络等问题有一定的局限性,比如此次疫情原因,博客园在班级作业管理上发挥了很大的作用,所以博客园的市场还是非常广阔的。像很多在校大学生,高校老师,一些技术大佬等都是博客园的潜在用户。
(2)目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?
答:目前市场上也出现了很多类似的产品,就拿CSDN来说,它是一款是中国最大的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。
CSDN的优势在于,对于从事IT行业的人员或者计算机类学习的学生,很方便的提供了知识传播或者软件开发等方面的需求,相对于这类人员来说可能平常用CSDN来寻求知识解答会比博客园更多一点。CSDN的劣势我认为是对于班级管理和作业管理这方面做得还不是很完善,毕竟它也不是专门用来做班级管理的一个平台。还有一点就是在CSDN上有时候需要浏览某个问题是需要金币解锁才能继续浏览,这一点很不放便。
相比较博客园和CSDN他们的共同点都是提供了知识传播和想法交流的平台,在其使用方面来说,博客园和CSDN都可以用Markdown的方式来编辑,但是相较之下,CSDN的编辑风格更加简洁,直观。而对于查看某个博主的文章来说,CSDN做到了分类选择查询的窗口,这样会更为方便用户查询阅览。
(3)作为新上任的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
答:博客园的核心用户群还是高校师生以及学术界的人士。典型用户以高效大学生为代表,年龄分布在18-25之间,学习各个专业的均有,就以学习计算机为例,这些目标用户可能在操作某一软件时遇到了问题,他(她)就会上网搜索有关于这个问题的求解,而CSDN作为国内最大的IT社区,该平台上必然会有很多关于该类问题的求解,但是博客园作为开发者的网上家园也有很多类似的问题会推荐,但是CSDN会要求充值金币来查看,然而博客园就不需要了,这一点极大的方便了用户,很迅速的解决了用户的需求。
(4)功能:你要设计什么样的功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析。
答:设计一款类似于博客园的微信小程序。这款产品是为了解决在PC端或者手机网页端查看博客园时需要每次登录的麻烦,现有的博客园系统在手机网页端进入班级查看作业等操作时非常麻烦,对于互相交流也只能通过评论区来交换意见,这使得作者不能及时看到对于自己博文的评论。目前小程序或者APP的开发技术已经较为成熟,而且这并不会占用用户手机很大的内存,目前市场上的竞争产品日益增多,而这款新产品正好解决了目前用户所担心的问题,所以与同类产品竞争还是有很大的胜算的。同时,博客园的潜在用户是庞大的学生群体,就当代大学生的便捷心理而言,在产品推广和传播上没有较大的问题,更何况这款产品的使用价值很大。
3.总结团队学习的方式:
对于本次学习任务二我们进行了团队分工合作,两人进行任务二(1)的学习,其余两人分别进行任务二(2)和(3)的学习,对于书中章节的学习,大家都会各自学习一遍,之后,就书中的问题进行意见交换和共同学习,着重探讨有关于此次任务的章节。由于我们选择的案例分析是博客园平台,所以团队成员使用已经非常熟练了,就CSDN而言,大家也在日常学习中有过了解和使用,在任务进行中,我们交流使用这两款平台的体验感,每个人都会得出使用某一平台方便或者不便捷的点,这更加有助于我们对该平台评测,也是充当了用户的角色进行分析。
三:记录完成《实验五 团队作业1:软件研发团队组建与软件案例分析》各项任务实际花费的时间;
任务 | 耗时 |
---|---|
任务一 | 0.5h |
任务二 | 3h |
任务三 | 1h |
四:从团队分工角度,谈谈完成本次作业的感受和体会。
本次作业,我们首次进行了团队任务,首先建立一个良好的团队是以后合作项目的重要基石。其次,在项目开始前进行一些说明(比如文字编辑渲染的风格等)是非常必要的,这也为后期博文或者文档撰写很有帮助。然后,对于团队合作分工这方面来讲,大家分任务进行学习,之后再交流心得体会,这样会比一个人学习获得更多的思路和想法,对于合作而言,就像此次使用某两个平台而言,每个人都会有不同的体验感,就相当于了解到了更多的用户需求,这是非常奈斯的一个点。相信在以后的项目合作中,会发挥出众人拾柴火焰高的价值。