201771010123-汪慧和 实验四 软件项目案例分析

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12616341.html
我的课程学习目标 (1)学习团队软件项目流程(TSP)、团队成员协作要求。(2)掌握敏捷流程原则及相关概念。
这个作业在哪些方面帮助我实现学习目标 这次作业进一步提升了我的合作意识,通过运行其他组的项目,我更加深刻的认识了实验三
结对方学号-姓名 201771010136-杨野
结对方本次博客作业链接 https://www.cnblogs.com/2017xinghui/p/12664648.html

任务1:在实验三得分100分以上作业中,任选一份作为案例,对案例项目成果进行评价。

实验三优秀案例推荐:李婷华&王颖奇组

1、对案例博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系,并将以上评论内容发布到案例作业的博客评论区。


2、案例作业项目仓库链接

   https://github.com/wyq1998/System-second

3、案例作业博客链接;

   https://www.cnblogs.com/litinghua/p/12534838.html
   https://www.cnblogs.com/1556889081wyq/p/12546166.html

4、克隆案例项目源码到本地机器,阅读项目代码规范文档并运行代码,总结代码运行中存在的问题,体会案例博文是否有助于项目代码理解。

(1)下载该组到本地进行测试。


(2)项目规范说明文档

System-second
项目代码规范说明
1、包名使用小写英文字母
2、接口类中的方法和属性不要加任何修饰符号(public也不要加),保持代码的简洁性
3、获取单个对象的方法用get做前缀
4、插入的方法用save(推荐)或insert做前缀
5、删除的方法用remove(推荐)或delete做前缀
6、如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:
  左大括号前不换行
  左大括号后换行
  右大括号前换行
  右大括号后还有else等代码则不换行;表示终止右大括号后必须换行
7、缩进采用4个空格,禁止使用tab字符
8、一行代码不超过120个字符
9、遇到其他同行可能不易看懂的内容时,在代码上一行使用“//”进行注释
10、声明字符串常量:命名不不可以英文和拼音混合使用
11、一行声明一个变量
12、在对变量命名时,避免过多的描述
13、避免可要可不要的修饰
14、按照如下顺序来说明类中的成员:public、protected、private
15、检查new的返回值
16、释放指针时不用检查NULL
(3)运行代码及结果如下
  1)导入项目到自己的eclipse

  2)运行界面

  3)学生登录

  4)学生填写信息

  5)登录防控办

  6)删除信息

  7)查询

  8)感染人数统计图


(4)总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等等。
  1)填写错误信息不会提示
  。填写上报信息,信息填写不符合要求未报错,导致数据库未更新

  。正确填写信息,数据库出现相应的数据


  2)删除信息点某一行,显示删除成功,但没有删除,必须把信息重新输入一遍才可以删除
  。删除一行信息,显示删除成功,但没有成功

  。输入后删除才成功

  3)提醒功能,输入提醒时间之后并没有提醒

  4)github上未上传数据库文件

  5)可以插入空数据,没有对数据进行检查

  6)登录相关界面时必须用同一个账号,而不是独立账号,这样会造成安全问题。

以上是我找到的bug,也可能是由于我的运行测试方法有问题,若有更正的请在博客下面评论,我会及时修改。总体来说,很欣赏他们组的项目,页面、功能都设计的很全面,很值得我们学习。

任务2:与实验三结对伙伴协作学习:阅读《现代软件工程—构建之法》第5-6章内容,理解并掌握软件项目团队的特点、了解软件团队的模式、结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点,理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则;

软件项目团队的特点

  (1)团队有一致的集体目标
  (2)团队成员各自又自己的分工,互相依赖合作,共同完成任务

软件团队的模式

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

瀑布模型及其变形

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

渐进交付流程

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

卡内基梅隆大学(CMU)软件工程学院总结的TSP原则

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

博客作业中针对任务2的评分要点:提供两人讨论任务2学习内容的微信或QQ截图,要求截图美观。



任务3:在班级博客园,有很多高校的软件工程课程要求同学们完成团队项目,请与实验三结对伙伴协商,在以下三个班级中选择一个高质量的团队项目案例进行协作学习,要求追踪该团队项目发布所有博客作业,下载项目软件代码。

  1. 2016级计算机科学与工程学院软件工程 (西北师范大学)
  2. 2019秋福大软件工程实践Z班 (福州大学)
  3. 2019春季计算机学院软件工程 (北京航空航天大学)
    本次选择2019春季计算机学院软件工程 (北京航空航天大学)

团队项目作业发布账号链接;

https://www.cnblogs.com/PureMan6/p/10895058.html

团队项目仓库github链接;

https://github.com/swearitagain/EduCnblogs2.0

陈述你选择该团队项目进行分析的理由;

  作为一个用户来说,我想有一个下载就可以用的软件,下载的apk然后安装使用就是一个正常的流程。或者访问一个微信小程序,或者在网页端就可以访问。在选择的是候发现许多网页端,或者小程序端都不能访问,所以选择了这个可以下载的手机上的博客园。

结合项目系列博客文档,总结项目团队成员的分工合作情况:

  博客撰写:邵旭哲
  开发者:蒋锋,陈治齐,胡俊崧
  测试人员:吴枫:
  组织者:吴昊

结合项目系列博客文档,评价项目的软件项目过程特点(TSP);

使用了妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的;团队的各个成员对团队的目标、角色、产品都有统一的理解;使用了成熟的技术和做法;制定了切合实际的计划和承诺;。

观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?

  包含代码规范文档,如下图所示:

下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,找出至少两个比较严重的功能性bug,在博客中展示截图








遇到的问题和bug

(1)没有显示自己以前交过的作业以及评分。

(2)未显示加入的班级的图标以及自己以前加入的班级。

(3)会提示“身份信息过期,请重新登录”和“网络请求失败,请稍后再试”,但是依然可以进行所有的操作。

评价该团队项目是否值得继续开发,并陈述理由?

  我认为值得继续开发,学计算机的很多人遇到困难都比较喜欢CSDN、博客园以及github,当然其他专业的也会用到,所以说这样的平台是很受欢迎的,尤其是上传高质量的博文会让用户喜欢这个平台,有市场有前景。该团队的项目还有很多可以改进的地方,可以考虑继续优化,到可以独立的投入运行。

任务4:完成《实验四 软件项目案例分析》博文作业

1、记录完成《实验四 软件项目案例分析》各项任务实际花费的时间;

任务 实际花费的时间(h)
任务1 3
任务2 2
任务3 7
任务4 3.5

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

  我从本次作业中学到了很多,学习了同样的任务其他组是怎么做的,意识到了自己项目的不足,在以后的项目中也会借鉴其他组的亮点。此外,通过学习了软件项目团队的特点、软件团队的模式、瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点以及TSP原则。学习了别人的代码,让我深刻的意识到了代码规范的重要性,一个优秀的程序除了要有良好的功能还要有注释文档,这样才易于阅读,在今后的学习中,我会更加规范的写代码,以及添加相应的注释。

posted @ 2020-04-11 00:23  天光~微暖  阅读(196)  评论(4编辑  收藏  举报