201871010115-马北upower 实验四 团队作业1:软件研发团队组建

201871010115-马北upower 实验四 团队作业1:软件研发团队组建

项目

内容

课程班级博客链接

https://edu.cnblogs.com/campus/xbsf/2018CST/

这个作业要求链接

https://www.cnblogs.com/nwnu-daizh/p/14660499.html

团队名称

upower团队

团队的课程学习目标

1.组建软件团队,了解团队是如何进行运行、工作的
2. 提升自身能力,为团队贡献自身力量

这个作业在哪些方面帮助团队实现学习目标

1.通过阅读《构建之法》这本书来让我了解了什么是团队,团队应该如何进行开展工作
2.通过阅读完成质量较高的项目小组的代码,了解其思想,进行代码复审,进而提高自身能力

团队博客链接

https://www.cnblogs.com/upower/

一、实验目的与要求

1)实验三作业互评。

2)组建软件项目研发团队。

二、实验内容与步骤

任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:

项目

内容

被评论作业的博客链接

https://www.cnblogs.com/1763088787h/p/14656485.html

被评论作业的Github项目仓库链接

https://github.com/budinge/Exercise-homework1.git

1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。

  • 完成情况:已完成评论,评论内容截图如下:
  •  

     

2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。

情况说明:进不去那个github仓库,如图所示:,后点击代码下载,进行下载,发现其文件里没有相应的代码,可能是其未上传成功,后通过寻找那位同学,让其发送其对应的文件过来,才可进行阅读并运行代码

找出来的bug

  • 绘制散点图更新不及时,有浏览器缓存
  • 回溯算法求解过程太长,用户体验不是很友好

代码复审的核查表如下:

复审部分

复审情况说明

1.概要部分

1)代码基本符合要求
2)代码设计虽然已经实现了一些功能,但是考虑不够周全,其未将用户的一些需求考虑进去,如能够嵌入其他算法,其相对应的遗传算法未能实现
(3)其交互性不是很好,算法运行时间长
(4)代码可读性较好

2.设计规范部分

(1) 设计遵从项目中常用的模式MVVC
(2)无硬编码存在
(3)代码依赖于浏览器页面用的PHP,服务器端是PYthon

3.代码规范部分

修改的部分符合代码风格和规范

4.具体代码部分

1)对错误没有进行一些处理
2)参数传递无错误,字符串的长度是以0开始计数
(3) 未看到其对边界条件进行处理
(4)没有使用断言

5.效能

1)代码的一些效能还行,就是算法运行时间长
2) 没有对算法进行优化

6.可读性

1)代码的可读性还行,易读,能够让让知道函数的功能(2)注释有点少,不易于非专业人士进行解读

7.可测试性

针对数据库的开发没有整理专门的核查表

3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;

  • 在软件体检过程中,后端需要安装的Python库有flash,以及flask需要的MYSQLdb,还有画图的Matplotlib等,需要部署相应的环境才可以将软件运行起来,在使用过程中发现其用回溯算法求解时间太长,没有算法测评报错信息,绘制散点图更新不及时等等,其运行结果未能以.txt或者.excel文件来呈现。
  • 使用软件的照片如下:


  •  

     

     

     

     

     

B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?

答:任务3要求的功能软件基本实现了,其遗传算法没能够进行实现,软件在界面上设置得通俗易懂,易于用户使用,就是利用算法来进行求解背包问题时时间过长,用户需等待,我觉得可以对回溯算法进行适当的优化,减少时间复杂度,减少用户的等待时间。

C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?

4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐

答:经过我自身使用,发现其有点麻烦,不利于用户体验,所以我给的结论是c).

5)结合(1)—(3)的评论体会,迭代改进本小组实验三任务3。

任务2:团队组建

1.在实验三结对基础上,结对小组两两自由组合,组建软件项目研发团队;

  • 已根据小组情况,决定与吴丽丽,梁丽珍这一小组来一起组建软件项目研发团队

2.申请开通团队博客,点击以下链接提交团队信息,将团队博客加入到班级博客;(3分)

  • 已申请开通团队博客,提交团队信息,其相关信息见https://www.cnblogs.com/upower/

3.阅读《现代软件工程—构建之法》第5章内容

5章内容主要介绍:团队和流程
a.软件项目团队的特点
  (1)团队有一致的集体目标
  (2)团队成员各自又自己的分工,互相依赖合作,共同完成任务

b.软件团队的模式
  (1)一窝蜂模式:最初的一窝蜂形式的软件团队模式,经过一段时间的演变将转变为其他模式;
  (2)主治医师模式:首席程序员负责主要模块的设计与编码,其他成员从不同角度提供支持;
  (3)明星模式:主治医师模式运用的极点,团队“明星”的能力掩盖了团队所有人的缺陷与优点;
  (4)社区模式:成员分布不受时间空间的限制,所有人根据喜好选择项目进行开发,一般不要求报酬;
  (5)业余剧团模式:没有固定的团队,且成员在不同的项目中没有固定的工作分配,所有成员由“中央指挥”指示;
  (6)秘密团队:秘密状态下进行,无外界干扰,团队肩负独特使命,内部成员自由度与热情较高;
  (7)特工团队:团队由专业人士组成,负责一些紧急问题的解决;
  (8)交响乐团模式:较多大型软件公司采用,成员与领导者能力较强且有相似的项目开发经验,所有成员各司其职但统一受领导者指挥;
  (9)爵士乐模式:与交响乐团模式对立,较为松散,领导者完成框架,其他成员在此基础上创作,最后再由领导者收尾;
  (10)功能团队模式:没有固定的团队,由不同能力的成员进行组合,协作完成某一项目,项目完成后成员重新组织进行其它不同项目;
  (11)官僚模式:脱胎于大机构的组织架构,几人向小头目报告,小头目向大头目报告。容易形成恶性竞争。

c.瀑布模型及其变形
  瀑布模型是一个经典的软件生命周期模型,也叫预测型生命周期、完全计划驱动型生命周期。在这个模型里,在项目生命周期的尽早时间,要确定项目范围及交付此范围所需的时间和成本。
  瀑布模型的变形有生鱼片模型和大瀑布带着小瀑布。

 

 

 

 

 

 

d.渐进交付流程
  迭代式开发流程,当系统的主要需求和架构明确之后,软件团队进入了一个不断演进的循环中:
  开发——>发布——>听取反馈——>根据反馈做改进

 

 

 

 

e.TSP原则:
1)使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的;
2)团队的各个成员对团队的目标、角色、产品都有统一的理解;
3)尽量使用成熟的技术和做法;
4)尽量多地收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定;
5)制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来);
6)增加团队的自我管理能力;
7)专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作(而不是在后期匆忙修复问题)。

团队相关介绍见团队博客作业

阅读《现代软件工程—构建之法》第7章、第17章,理解MSF的9点基本原则和团队成员绩效

7章的主要内容有:
1.MSF的九点基本原则:

 

 

 

2.介绍了MSF团队模型、MSF的过程模型还有实战中的软件工程

 

 

 

17章的主要内容有:
1.领导力的要素:
a.设定目标
b.知人善任
c.带领团队成长
d.绩效管理
2.绩效管理的几种方法
3.介绍了RASCI模型

4.团队成长的几个阶段:萌芽阶段、磨合阶段、规范阶段和创造阶段,还介绍了团队解决分歧的方法
5.IEEE软件工程师的道德规范

记录完成《实验四 团队作业1:软件研发团队组建》各项任务实际花费的时间;(5分)

任务

完成时间(h)

任务1

3

任务2

5

任务3

0.5

谈谈完成本次作业的感受和体会。

  • 在本次作业中,观了其他小组的代码值得我们学习和反思。在阅读《构建之法》这本书时,我从中学会了挺多,了解到了什么是团队和非团队、TSP原则,以及绩效管理等各种关于团队的内容。在本次组建团队的时候,我们根据各自的特点来进行了组建,组建团队的时候我发现要想组建一个好的团队是不容易的,这需要下一定的功夫,我们要对每个团队成员都有一定的了解,每位成员都有各自的特色,为了完成任务,需要我们团队在今后的工作中相互配合相互学习。
posted @ 2021-04-20 22:18  马北  阅读(48)  评论(0编辑  收藏  举报