L.M.W.Y.D 实验五 团队作业1:软件研发团队组建与软件案例分析
项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12709461.html |
团队名称 | L.M.W.Y.D |
团队的课程学习目标 | (1)组建软件项目研发团队;(2)团队协作学习:软件案例分析 |
这个作业在哪些方面帮助团队实现学习目标 | 通过博客园发现更多有趣值得学习的案例,帮助我们学习知识、总结学习经验、更好地提升团队协作的能力 |
团队博客链接 | https://www.cnblogs.com/LMWY/ |
一、实验目的与要求
(1)组建软件项目研发团队;
(2)团队协作学习:软件案例分析。
二、实验内容与步骤
任务1:团队组建
1.队名——L.M.W.Y.D
2.团队成员组成:
|成员学号|成员姓名|个人博客地址|
|:----------😐:----------😐:----------😐:----------😐
|杨玲| 201771010133 | https://www.cnblogs.com/yanglinga/ |
|王斌龙|201771010122|https://home.cnblogs.com/u/1171849616a/ |
|刘志梅|201771010115| https://www.cnblogs.com/LZM7343/ |
|马凯军|201771010116| https://www.cnblogs.com/zero--/ |
|东文财|201771010106| https://www.cnblogs.com/D980321/ |
3.成员风采:介绍每位队员的风格、擅长技术、编程兴趣、希望的承担的软工角色(文档、开发、测试、PM等)、一句话宣言等;请阅读《现代软件工程—构建之法》第7章,理解MSF的9点基本原则,例如:
成员姓名 | 擅长技术 | 编程兴趣 | 希望承担的软工角色 | 一句话宣言 |
---|---|---|---|---|
杨玲 | java技术 | Java开发 | 开发及测试 | 努力努力再努力 |
王斌龙 | java技术 | Java开发 | 开发及测试 | 挑战自我,永不放弃 |
刘志梅 | java技术 | Java开发 | java测试、文档编写 | 绳锯木断,水滴石穿 |
马凯军 | java技术 | Java开发 | java测试、文档编写 | 亡羊补牢,为时不晚 |
东文财 | Web前端开发 | Web前端开发 | 开发及测试 | 水滴石穿 |
MSF的9点基本原则:
(1)推动信息共享与沟通
在一个团队中,沟通和信息共享首先是最重要的,应该将所有的信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人。当然,对牵涉到的技术机密、安全性等信息要采取必要的保护措施。同样,团队成员之间的交流要简明,不要为了交接而搞出很多文档。另外一个重要的因素是,如果团队在整个软件生命周期都使用团队协作服务器,那么很多活动、决定、文档都自然地有记录,不必额外为了文档而再写一些东西。
(2)为共同的远景而工作
在团队协作中,首先我们的最终目标是明确且一致的,这个目标不是当前就能达到,而是必须通过我们共同的努力才能达到的,这就是所谓的同心同德。俗话说,兄弟同心,其利断金。此外,这个目标不是空泛的,它应该对项目成员每天的工作都有指导作用。每天我们的每一份努力,都是对项目的远景有帮助。
(3)充分的授权和信任
这一点的关键是“授权”这个词,授权有两个意思:一是给某人权力和权威;二是给予某人更多自信和自尊。在一个高效的团队中,所有成员都应该能得到充分的授权,他们有权在职权范围内按照自己的承诺完成任务,同时,他们也充分信任其他成员能实现各自的承诺。类似地,团队的顾客( 包括内部和外部的顾客)也认为团队能兑现承诺,并进行相应的规划。
(4)各司其职,对项目共同负责
团队中的每个角色都有自己的职责,如果出了问题,这个角色就要负责任。比如说,如果产品发布后,客户在部署和管理上出现了很多问题,那负责“产品部署和后续管理”的角色“发布管理”人员就要站出来对此负责。与此同时,团队的各个角色合起来,对整个项目最终的成功负责,因为每个角色在其职责范围内的失败都会导致整个项目的失败,而且各个角色的工作都是互相渗透、互相依赖的。这种互相依赖的方式也鼓励团队成员在自己本职之外为其他领域做贡献。例如,测试人员可以帮助“用户体验”角色更好地设计用户界面,因为如果用户界面很差,再好的功能也不能发挥应有的作用。
(5)重视商业价值,提高渐进的价值
我们都是搞技术的,但同时我们也是一个商业实体,我们的项目都应该是出于商业目的,如果没有商业的需求,再酷的技术也没有用,商业项目需要重视市场和用户,技术是处于第三位的。一个沉溺于技术而忽略商业价值的团队,就像盲人骑烈马,跑起来很拉风,但最终不免人仰马翻。回首望去,很多“高科技”的公司就是过客。在衡量一个项目是否成功时,并不是最酷的技术,而是商业的成功。一个项目的商业价值只有在它被成功地发布并运行时才能体现出来,所以,MSF过程模式包括了开发和发布阶段。
(6)保持敏捷,预期和适应变化
软件工程,唯一不变的是变化。所以干脆别幻想客户的需求会在第一时刻很明确,然后保持不会变。但要注意,我们是预期变化,不是期望变化。除开外部原因,团队内部也在变化,我们对技术的掌握每天都在提高,原来认为不可能的事可能变得容易。我们对客观世界和软件系统的了解每天都在深化,原来觉得没问题的小细节忽然成了大问题。
(7)投资质量
对质量的重视,引发对质量的投资,引发对人、过程和工具的投资。之所以叫做投资是因为,(1)投资要讲效率。软件开发过程大部分时间花在了解/设计/变更/再了解/再设计的过程中。我们要重视质量,但并不是要不惜一切代价达到最高的质量标准,因为提高人/过程/工具的质量是要花成本的!我们不是为提高质量而提高质量。我们要讲投资的效率。比如,在做快速原型的过程中,有些部分可以做得粗糙一点。(2)投资要讲时机,比如说对于某项技术的培训,最好的做法是在即将需要的时候进行培训,太超前或滞后都不灵。(3)投资是长期的。和投资股票/不动产一样,真正的投资者看重的是长线的收益;人的成长、团队的成熟都需要时间,不可能短期内立竿见影。那些“短平快”的东西,叫投机,不叫投资
(8)学习所有的经验
古今中外,人们对经验的学习还是比较重视的,我们经常听到“忘记过去的人注定会重复过去的错误”等类似的谚语。这一原则有两个含义:一是把经验总结出来;二是分享经验。之所以坚持总结和分享是为了:让团队成员从别人的成果和失败的例子中学到东西;帮助新项目重复以往成功的做法;以及培育团队总结的习惯和 “批评与自我批评”的文化。MSF在每一个里程碑结束时都要做个“里程碑回顾” ,这个回顾不必等到整个项目结束才做。这样做的好处是,大家对最近的成败都记忆犹新,能提供比较准确和全面的反馈;如果发现了错误,可以马上研究解决办法,在下一个里程碑中通过实践来验证。
(9)与顾客合作
MSF强调产品团队与顾客的交流与合作,并不是产品团队拿到合同之后,就闭门造车,直到产品完成才告诉用户,给他们一个惊喜(通常“惊”大于“喜”)。项目当然是项目团队成员做的,但是项目的商业价值要由用户说了算,那些“我觉得用户会喜欢”的东西要及早和用户交流。因为“我觉得”和“用户觉得”是两码事。
4. 组建团队企业微信群,给出群成员截图;
5.团队特色描述,言简意赅的描述团队特点或核心竞争力;
我们团队是一个全新的队伍,团队成员相处融洽,能够很好的交流协作,并且每一个成员都有自己自身的优点和特色,希望我们可以在今后的团队项目研发中将各自的优势发挥到最大。
任务2:软件项目案例分析(案例分析作业以邹欣老师博客1和2为基础改编)
现代社会,人们很多时候要和软件打交道,手机游戏、微信、QQ、中国铁路12306等等。软件工程学习中,通过这些软件案例的分析、 评测、辨析和总结,我们就能看到软件工程的原理和原则在工程实践中的种种体现和应用,从而加深对软件工程知识内容的理解,帮助我们在软件项目实践中做得更好。
以下是本次作业候选分析案例:
案例1:博客园班级博客
请对博客园的班级博客中针对院校+班级为对象的班级管理、作业管理、互相交流的功能进行分析,这一方面的参照对象是:CSDN。
另外,班级博客的作业管理、班级管理等功能在手机上做得如何呢?有什么可以改进的?
案例2: VS和VS Code
微软公司有两个代码编辑器:Visual Studio、VS Code,它们的目标用户,主要功能有何不同?为何要有两个编辑器和开发环境?请用这两个编辑器/IDE写出一个简单的C/C++/Python程序,记录程序耗时多久运行成功?描述你的发现。给出程序和运行结果截屏。
Visual Studio (Community)社区版指的是可免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用的版本,官网下载链接:
VSCode发布站点:https://code.visualstudio.com/
VSCode源代码git地址:https://github.com/Microsoft/vscode
VSCode作为一个开源的项目,github平台有许多IT人士在为此项目做出贡献,参照本篇博文后ffl((范飞龙老师)的建议可以学习github协作开发的技巧和方法。
从候选案例中选择一个软件进行分析,以团队协作学习方式完成以下任务:
(1)阅读《现代软件工程—构建之法》第8章、第12章内容,完成以下案例分析任务:
A.下载、部署并体验案例软件的功能,使用10–30分钟这个软件的基本功能(上传使用软件的照片);
1)博客园APP下载使用体验过程
登录
登录成功
通过我的博客中的一次作业进入班级博客,还可查看其它活跃班级。
通过最新评论可以起到互相交流的功能
在自己的班级中可以看到班级公告、最新作业、最新投票、班级成员。
点击最新作业可查看以往作业记录。
班级成员
点击个人设置,可修改在班级中的信息。
2)博客园网页版使用体验
登录博客园
点击“班级”就可以看到活跃的班级和部分作业博文
在我的班级中选择可进入班级博客页面
可看到班级成员
在最新评论中可体现互相交流的功能
点击“最新作业”可以作业记录
点击最新的作业可以看到已经提交的人和未提交的人
B.描述使用案例产品的过程,产品解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
在使用博客园的过程中,我们认为能够满足用户的对于班级管理、作业管理、互相交流的需求。其中提供的班级功能很好地帮助老师和学生之间的互动,学生可以及时完成作业,老师可以妥善管理。作业采用博客的形式撰写并提交,老师在批改时可以给学生指出作业中存在的问题,学生在收到邮箱提醒后可给予回复并修正错误,是一个很好的教学辅助网站。
(1)博客园网站
数据量:
相比较于其他的网上学习软件例如CSDN ,博客园的数据量较少。
界面:
我们觉得博客园网页版在界面方面做的非常好,界面美观,在用户方面可以选择多种多样美观的界面模板,还可以添加动态图,而不是固定的背景。
功能:
我们觉得博客园的功能十分齐全,可以进行信息的浏览,还可以进行班级管理,作业布置以及互相交流等功能。
准确度:
通过关键词搜索准确度较高。
用户体验:
在班级博客中班级管理、作业管理、互相交流功能完善,可以选择自己想要的界面以及编辑博文方式。并且在使用时广告较少,而CSDN广告较多还可能弹出广告。所以我们觉得博客园比较好。
(2)博客园APP
数据量:
因为现在使用手机的用户很多,而且手机版的博客园app可以实现一些基本的简单功能,方便操作,所以数据量比较多。
界面:
界面较为齐全,但缺少一些美化效果。
功能:
班级管理、作业管理、互相交流功能较为全面,但是无法直接进入班级进行查看要通过链接进入。
准确度:
通过关键词搜索准确度较高。
用户体验:
主要是功能不太全面,界面不是很完美,在返回功能上往往会返回好多页,十分麻烦。
C.对产品有什么改进意见?
在班级中添加加入班级的选项,这样比较方便加入班级。
D.除了定性的结论,还可以定量地评价一个软件?请看这个链接http://www.cnblogs.com/xinz/p/3308608.html,并尝试进行定量的测评。
类别 | 描述 | 评分(满分10分,及格6分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 9 |
细节 | 有什么为用户考虑的细节? | 7 |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 7 |
辅助功能 | 一些辅助功能如皮肤等 | 8 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 8 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 8 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 7 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 7 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 7 |
软件安全性 | 针对于用户信息,如未发布的博文是否在班级项目中可见 | 7 |
E. 经过以上工作,你们一定有充分的理由给这个软件选择一个评价结论:(d) | ||
a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐 | ||
原因:功能齐全,较为受众,广告较少。 |
(2)阅读《现代软件工程—构建之法》第8.6、14.1节内容,完成以下案例分析任务
A. 使用此软件的所有功能,估计这个软件/网站做到这个程度大约需要多少时间,并说明估算理由(假设团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
博客园发布的内容分为随笔与文章(随笔必须为原创),用户可以选择匿名评论或者显示在RSS中,可以进行博客搬家,有模板功能(个人性化设计),可以将好的文章进行归类整理呈现且内容丰富等等;博客园实现的功能较多,现在假设有6名专业UI支持的计算机大学毕业生来做出这样一个网站产品估计大约需要2-3个月,如果团队配合默契分工协作好的话所需要的时间将会减少30%左右。
B. 和同类软件相比分析,这个软件目前的优劣,这个产品的质量在同类产品中估计名列第几?
博客园相比于CSDN两者主页面差不多,但是博客园比较好的一点就是有一列是搜索栏和新闻,而CSDN是公告和热门文章推荐,博客园的这个更为合理,因为程序员们也需要时时关注业内的新闻;另外博客园在导航栏很详细标明了业务功能,使用起来比较方便;还有就是个人主页与博客园主页的导航栏不一致,在自己的主页点击新闻就会切换到新闻板块,再想回到自己主页只能点击右上角“我的博客”,而CSDN是通过一个窗口来统一了用户个人的所有窗口;最后博客园还有可以选择是否匿名评论以及膜板功能,个性化较强,搜索命中率也很高,在百度上搜东西的时候有很多都是博客园的内容,博客园的界面比较好看,比较符合现代风格,提供较大的定制空间,广告比较少,内容分类比较清晰。综上所述,个人觉得博客园整体的使用体验很好,根据目前的优劣相比,博客园在同类产品中排名在前三。
C. 综合判断,给出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。
综合判断,软件团队可以对于博客园是否可以文件附件直接上传功能,在文件列表加入一个复制链接的功能的实现进行研究与实现,以及可以效仿CSDN的专家制度,对于比较活跃、文章点击率高、博文质量高的进行推荐,方便初学者更好地进行求助、学习;另外除了写博客看文章之外,其他的业务资源比较少,还有就是默认文字太小,看起来比较费劲;博客园不提供排名机制,看不到总访问量,总排名。
(3)阅读《现代软件工程—构建之法》第8.5节、第9章内容,完成以下案例分析任务:
这个软件/网站有很多可以提高的部分,如果你是该软件新上任的项目经理,你一定非常希望所负责的项目在竞争中胜出,请思考以下问题:
1.首先,市场有多大?潜在的用户有多少?
博客园对所有软件开发者来说都是一个很好的交流学习平台,它在IT界影响是非常大的,它以博客核心为服务,在博客的基础上,提供了新闻,博问,知识库,找找看,闪存,招聘等一系列服务,对于相关专业的老师,学生以及从事相关企业的工作者来说都是受益匪浅的,注册博客园无门槛,随时随地可以查找自己想要的信息,代码等,是非常有用的,目前凡是与IT相关的人都曾受益于博客园,我曾在网上查了博客园的注册人数,不过没有查到,但是相信其注册人数一定是非常客观的。它里面的查找资料,代码,都是免费,我相信所有IT界人士都会用到它。
对于博客园而言,很多人其实还不了解它,我第一次使用它也是通过老师的介绍,尽管以前通过博客这一平台,但是对它的了解只是知道它的从在而已,自从使用它以后我就离不开它了,相信很多人都和我一样。所以说目前博客园的潜在用户也是很多的,比如初入计算机专业的学生,他们再次之前可能还没接触这一平台,他们就是其最大的潜在用户,还有一些自学编程的人们,他们就是缺少一个像博客园一样比较开放的平台,里面会有很多大神分享的代码等,对于初学者都是有很大溢处的。现在编程越来越普及,编程都是从小孩抓起的,所以这类人也将会是博客园将来的用户。好的东西总会受到很多人的青睐。对于它的潜在用户也是无法估量的。
2.目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?
|市场上常见的产品如下:|
|:---|:---|:---|:---|:---|:---|:---|
CSDN | 博客园 | 开源中国 | 51CTO | Iteye | ITPUB技术论坛 | pudn开发 |
@ |
在以上几种里我们挑几种给大家介绍一下,首先要说的是我们经常在搜索时出现博文最多的CSDN平台,与博客园相比在功能上不向上下,都是可以进行博文的查看和撰写等操作,而从界面上看博客园更舒适,也更合理一些,每个所放的位置更有助于用户去体验,总体上博客园主界面分为三个区域最左边网站分类,中间是最新博文推荐,更多让用户查看最新的博文,在右边是搜索框和右下角的业内最新新闻框,看上去更有条理也更加整洁。而相对于CSDN所涉及的内容差不多就是有点杂乱,而我更看重的是CSDN中有相对的视频之类的内容,这个挺不错的。还有一个就是博客园可以有用户自己博文风格设置,这个说起来挺好的,更加能吸引用户在此平台上发布博文。特别是在IT业的快速发展需要程序员们经常关注业内新闻,这样博客园首页的设计就显得更优一些,还有搜索功能也显得很方便。而版面设置方面CSDN和博客园的索引放置也不一样,但从总体上看各自都有好处,但是相比之下博客园的导航栏把所有业务都显示了出来,基本就是一站式服务。这两种布局各有各的好处,CSDN博客版面设计很单纯,功能也很明晰,与社交网站没有过多交集,但是博客园却有很多的分享方式,更加的开放一些。在这里要是能有博客园的app版就好了,这样就可以引起更多用户使用它。虽然目前CSDN的用户要比博客园更多一些。但是我相信后续博客园会有更多的用户使用它。
另一个是开源中国,虽然这个平台软件比较全,分类也比较合理,但是主界面稍微有点杂乱,并且在主界面有一片啥都没有的空旷区域,这个感觉不怎么好。还博客总体水平相对较低这个网站一打开就给人很杂乱的感觉,比起博客园,UI设计那不怎么好,在整体的用户体验上还可以,但是这个网站相对来说自己内容的发布功能不是很突出。
ITPUB技术论坛这个平台上打开感觉挺精简的,在主界面主要显示的是今日头条和最新文章发布的内容,这样相对于博客园更有助于用户get到最新的业内消息和技术,在上面的功能上更加的多,例如在博客园中没有的视频、文库、技术栈等。不好之处就是这个平台没有搜索框,这样感觉找内容和资料不怎么方便。
以上就给大家介绍这么多,其它的一些大家可以自行去博游和使用。从总体上来看博客园已经做的很成熟了,比其他大的平台没有什么大的差距,但是在细节和功能上还是要多学习一些其它平台好的地方。
3.作为新上任的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
我认为这个产品的核心用户群会是学生和专注于IT界的大神。
用户 | 自学编程的初学者 |
---|---|
学历 | 高中 |
年龄 | 17 |
专业 | 不详 |
爱好 | 打游戏 |
收入 | 0 |
表面需求 | 想考计算机专业,并为大学学习奠定基础 |
潜在需求 | 喜欢编程,希望以后可以成为计算机大神 |
用户 | 初入IT界的大学生 |
---|---|
学历 | 本科/大专在读 |
年龄 | 21 |
专业 | 计算机专业 |
爱好 | 唱歌,打游戏 |
收入 | 不详 |
表面需求 | 查找并学习一些所需的代码 |
潜在需求 | 提升自己的专业水平 |
用户 | 计算机大神(从事计算机领域的工作) |
---|---|
学历 | 硕士 |
年龄 | 40 |
专业 | 计算机专业 |
爱好 | 喝酒,聚会 |
收入 | 3万/月 |
表面需求 | 提供一些有趣的代码,供他人参观学习并指出问题 |
潜在需求 | 提升自己的编程及算法水平 |
4.功能:你要设计什么样的功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析.
功能:自行设置主界面风格
一个适合用户自己的主界面风格可以很大的改善用户的心情,还有提高用户的工作效率,所以我们想设计自行设计主界面风格这个功能,让用户自行更换自己想要的主界面。就目前而言,此功能更为至关紧要,无论功能的强弱,首先应该给用户一个相对舒适的界面,这样才能给用户更好的体验。然后再去考虑增加一些强大的功能。
NABCD分析: |
---|
功能: | 自行设置主界面风格 |
---|---|
N(Need): | 对于自我定义页面风格的需求 |
A((Approach): | 通过界面风格设置,让用户用起来更加的方便美观 |
B(Benefit): | 通过用户自行设置自己喜欢的页面风格来达到赏心悦目的效果,更有助于去阅读和撰写更多的内容 |
C(Competitors): | 类似的平台还没有该项功能,,有助于吸引更多的用户使用该平台 |
D(Delivery): | 通过将好的用户界面风格作为模板,让更多用户使用来推广 |
5.如果你有钱可以招聘6个人,有4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。 | |
配置角色: | 1名框架设计,3名开发,1名测试,1名界面美化 |
:--- | :--- |
时间 | 任务 |
第一周到第二周 | 市场调研 |
第三周 | 根据市场调研需求分析 |
第四周到第十二周 | 编写总体框架,实现相应的功能 |
第十三周 | 发布测试版本,让用户体验 |
第十四周 | 分析用户体验数据 |
第十五周 | 对不足进行改善和优化,并发布正版 |
第十六周 | 交付产品 |
6.总结陈述团队协作学习的方式 |
通过团队合作的方式,能使每个人的技术和能力最大化,也是去完成一项庞大任务的最佳选择,在这个过程中是通过讨论和交流为主要的学习方式。可以在这个过程中发现自己的不足,看到别人的长处,来提升自己的专业技术和能力。通过在短短的时间里,也更加体现出了团队成员里在项目开发过程中的速度与激情。
任务3:完成《实验五 团队作业1:软件研发团队组建与软件案例分析》博文作业
记录完成《实验五 团队作业1:软件研发团队组建与软件案例分析》各项任务实际花费的时间;
任务 | 时间(h) |
---|---|
任务一 | 4 |
任务二 | 9 |
任务三 | 2 |
从团队分工角度,谈谈完成本次作业的感受和体会。 |
在本次团队作业中,在组内积极讨论,然后将作业划分为四个模块,小组内分工完成这4个模块,最后集合在一起最终完成本次团队作业,小组内各成员都在积极参与交流,讨论。本次作业的完成离不开每个成员的努力,通过本次的团队作业,小组内的成员间相互有了更深的了解,希望在今后的团队作业中我们也能积极投入并取得更好的成绩。