zoukankan      html  css  js  c++  java
  • 201771030129-张琳 实验四 软件项目案例分析

    项目 内容
    课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
    这个作业要求的链接 https://www.cnblogs.com/nwnu-daizh/p/12616341.html
    我的课程学习目标 学习团队软件项目流程,掌握敏捷流程原则及相关概念
    这个作业在哪些方面帮助我实现学习目标 通过任务三学习软件项目流程,以及别的任务学习敏捷流程原则及相关概念
    结对方学号-姓名 201771030121-王国伟
    结对方本次博客作业链接  https://www.cnblogs.com/wangguow/p/12677001.html

     

     

    任务一:选择的优秀案例: 祁甜&王爽

    博客链接:https://www.cnblogs.com/viqt/p/12588543.html             

           https://www.cnblogs.com/JZYWS/p/12571927.html

    仓库链接:https://github.com/Gu19901212/Partner

    1.对案例博文作业进行阅读并且进行评论:

    2.系统运行截图、软件功能总结以及案例代码存在的bug:

    克隆项目:

    系统运行截图:

     软件功能总结:系统功能基本都实现了,但是附加功能没有实现。

     案例代码存在的bug:不清楚编码类型,中文全是乱码

    3.总结实验三博客作业以及代码设计存在的问题与不足,列举代码中存在的bug,未实现的功能:

      实验三博客的作业在博文方面完成的不好博文写的时间有点赶,系统很好但是在博文描述中没有描述的够好。还有短信提醒的附加功能,只找到了能发7条短信的,其实应该考虑QQ邮箱或者微信提醒等功能。未实现功能:web页面中的数据可视化。

    任务二:阅读《现代软件工程-构建之法》第5-6章的内容:

    软件项目团队特点:

      1.软件项目团队有各种形式,分别适用于不同的人员和需求;

      2.基于直觉形成的团队模式未必是最合适的;

      3.随着团队的成熟和环境的变化,团队模式会相互演化。

    软件项目的模式:

      1.主治医师模式:就像在手术台上那样,有一个主刀医师,其他人(麻醉,护士,器械)各司其职,为主刀医师服务。

      2.明星模式:主治医师模式运用到极点,可以蜕化为明星模式,在这里,明星的光芒盖过了团队其他人的总和。

      3.社区模式 :社区由很多志愿者参与,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬。

      4.业余剧团模式 :这样的团队在每一-个项目 (剧目)中,不同的人会挑选不同的角色。

      5.秘密团队 :一些软件项 目在秘密状态下进行,别人不知道他们具体在做什么。

      6. 特工团队:就像电影电视中的特工组“加里森敢死队”等- -样, 软件行业的一些团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题。

      7.交响乐团模式 :交响乐团的演奏有下面的特点:家伙多,门类齐全。各司其职,各自有专门场地,演奏期间没有聊天、走动等现象。

      8.爵土乐模式:强调个性化的表达,强有力的互动,对变化的内容给予有创意的回应。

      9.功能团队模式 :很多软件公司的团队最后都演变成功能团队,简而言之,就是具备不同能力的同事们平等协作,共同完成一个功能。

      10.官僚模式:这种模式脱胎于大机构的组织架构,几个人报告给一个小头目,几个小头目报告给中头目,依次而上。

     瀑布模型及其变形:瀑布模型描述了单向的,不可逆的生产过程。温斯顿指出用户的介入,讨论,复审以及模型下文档的重要性。

     渐进交付流程:接近迭代式开发流程,当系统的主要需求和框架明确后,软件团队进入不断演进的循环;

     敏捷开发流程:

    原则:

      1.尽早并持续地 交付有价值的软件以满足顾客需求

      2.敏捷流程 欢迎需求的变化,并利用这种变化来提高用户的竞争优势

      3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短

      4.业务人员和开发人员在项目开发过程中应该每天共同工作

      5.以有进取心的人为项目核心,充分支持信任他们

      6.无论团队内外,面对面的交流始终是最有效的沟通方式

      7.可用的软件是衡量项目进展的主要指标

      8.敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去

      9. 只有不断关注技术和设计,才能越来越敏捷

      10.保持简明一尽 可能简化工作量的技艺一极 为重要

      11.只有能自我管理的团队才能创造优秀的架构、需求和设计

      12.时时总结如何提高团队效率,并付诸行动

    敏捷流程图:

                        

    TSP原则:

    1. 使用妥善定义的流程,流程中的每一 步都是可以重复、可以衡量结果的。

    2.团队的各个成员对团队的目标、角色、产品都有统一的理解。

    3. 尽量使用成熟的技术和做法。

    4.尽量多地收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定。

    5. 制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。

    6.增加团队的自我管理能力。

    7.专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计:工作(而不是在后期匆忙修复问题)。

     与小伙伴讨论的截图:

    任务三:选择高质量的团队项目案例协作学习,追踪该团队项目发布所有博客作业:

    团队项目作业发布账号链接:https://www.cnblogs.com/snxfd/p/11056453.html

    团队项目仓库github链接:https://github.com/snxfd123/designfile

    选择该团队项目进行分析的理由:该项目的博客内容比较吸引我,内容比较丰富,结构清晰,博文主页也比较漂亮。

    总结项目团队成员的分工合作情况:分工比较合理,很平均,完成的也很快。

    评价项目的软件项目过程特点(TSP):制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。使用了较为成熟的技术和做法。

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

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

    下载团队项目代码:

    部署项目运行环境并使用软件:

     使用体验:没有数据库的sql文件,缺少使用说明,数据显示条数太少。

     bug:1、查看房间信息时数据库提示出现异常错误。

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

    值得开发,该项目功能比较完善,做得也不错,可以继续完善并且考虑投入使用。

    记录任务花费时间:

    任务 任务花费时间(min)
    任务一 300
    任务二 200
    任务三 500

     

    总结本次实验的感受和体会:

      本次实验主要是阅读别人的代码,学习别人项目中好的地方,对比自己的项目找出不足的地方,对于别人项目优秀的地方去积极学习,不够完善的地方争取完善。通过阅读团队项目,我发现了别人的优秀之处,然后努力学习。争取自己也做到。

  • 相关阅读:
    409. Longest Palindrome(计算一组字符集合可以组成的回文字符串的最大长度)
    242. Valid Anagram(两个字符串包含的字符是否完全相同)
    17. Letter Combinations of a Phone Number(电话号码的字母组合)
    模块XML真垃圾
    数据库是什么
    python项目开发规范
    面向对象之类的成员
    面向对象
    模块之 import os 模块一
    模块之序列化 import json
  • 原文地址:https://www.cnblogs.com/zlin-/p/12676968.html
Copyright © 2011-2022 走看看