经过了几个星期的团队协作,我们的“爬虫”有了很大的完善,我作为团队中的主DEV,在这个过程中一边工作一边阅读,也有了不少的收获。

Brooks的《没有银弹》告诉我们,在软件领域,没有什么绝招可以让我们轻轻松松就能克服困境,提升软件的性能,无论在哪一方面取得突破,软件工程各方面也不会有质的飞跃,因此,想要做好软件工程,必须充分利用软件工程的各种方法来解决问题。软件的设计是一项复杂的工作,其中需要考虑的问题是方方面面的,随着代码行数的提高,问题的复杂程度是呈几何增长的,我们只有灵活运用知识才能解决问题。我们组的项目由于要给其他几个组的项目提供数据,在做的时候就更要谨慎,特别是关系到数据的处理方面,有时候增加一条记录能省很多功夫,可是却会给其他组带来极大的不便,我们只能另寻它法。

我们组的设计模式是大教堂模式,我认为,在我们这样的小规模编程使用大教堂模式要比集市模式好得多,因为我们的人数比较少,使用大教堂模式可以让我们分工明确,我也比较喜欢这种只要专心做自己的任务其它不用管的模式。我认为,集市模式更适用于开源社区这种人流量够大的地方,集市模式可以让人们自由地参与到软件中来,这其实是用数量弥补了质量。

所谓大泥球,是指杂乱无章、错综复杂、邋遢不堪、随意拼贴的大堆代码。这在软件规模扩大的过程中是难免的,缺少前期设计、应对需求变化过晚、应对架构变化过晚、碎片式增长都能导致大泥球的产生。我们的代码在我看来是秩序井然的,比我自己写的时候好多了,不过,我感觉还是有“大泥球”存在的,代码中有一些方法有几百行,读起来很困难,而且还是前一发动全身的逻辑,不利于后期的修改,我认为这就是一种泥球,解决时需要理顺逻辑,然后进行模块化的分解。

我们做程序是没有完全按照“瀑布模型”来的,因为瀑布模型要求按工序对问题进行化简,方便人们进行分工合作。强调秩序而不够灵活,这适合大公司做大工程的时候用,我们人数不多,互相之间的配合比较简单,工程也不算复杂,没有这方面的需求,虽然做的时候是按顺序来的,可是我们人数很少,经常一个人跨好几个阶段,所以没有那么严谨的阶段划分。

经过这段时间的工作,我们克服了很多问题,为程序功能得到了完善,我们也成功地学以致用,运用我们学过的软件工程思想进行程序设计,感觉自己的大局观和代码风格有很大提升。

WEEK 7:团队项目的感想的更多相关文章

  1. HNU_团队项目_数据库设计感想_个人感想

    数据库设计感想  个人的一点心得体会 最重要的放在最前面——讨论开会时的123经验 开会前对会议目的及方式要有所考虑: 不要随意无目的开会: 遵守时间,控制会议时间长度: 会议主持人要维持会议只需,有 ...

  2. HNU_团队项目_需求分析感想(全员)

    以下为软件1701-“洋芋好想飞”的需求分析感想 PM QXS 需求分析过程中的前进与曲折令我深刻地认识到,需求分析是一个动态的过程,而非一个静态的任务结点. 比如最初我们设想可以为用户设定角色,但最 ...

  3. [个人博客作业Week7]软件工程团队项目感想与反思

    在阅读了推荐阅读的材料之后,我想了很多东西.最终还是决定,以团队项目的经历为主线,叙述我关于软件工程的一些思考与体会. 凤凰涅槃,浴火重生 如果要我来概况这几周团队项目的经历的话,那么句话是我所能想到 ...

  4. 团队项目(第二周)—GG队

    项目需求规格分析 队员信息 队员 学号 叶尚文(队长) 3116008802 蔡晓晴 3216008808 杜婷萱 3216008809 龙剑初 3116004647 于泽浩 3116004661 项 ...

  5. 团队项目(HCL队)第二周

    一.项目介绍 1.内容 我们队选择的题目是经典90坦克大战的java实现,后续会加入ai,以实现更丰富的体验. 2.预期使用数量 原版的经典90坦克大战拥有众多粉丝,我们在其上进行拓展,目前预计用户量 ...

  6. 团队项目之Scrum1

    小组:BLACK PANDA 时间:2019.11.16 部分 得分项 分数 完成内容 第 1 篇 Scrum 冲刺博客 各个成员在 Alpha 阶段认领的任务 3 明日各个成员的任务安排 3 用户登 ...

  7. 永远的ace 实验七 团队作业4—团队项目需求建模与系统设计(1)

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu-da ...

  8. AxureRp 打开SVN上的团队项目

    打开Axure,在菜单项中,点击 "团队" 菜单,选择 "获取团队项目": 切换到 "SVN" 选项, 填写正确的Axure项目的路径,打开 ...

  9. 团队项目——编写项目的Spec

    团队项目--编写项目的Spec 一.Spec的目标        spec主要用来说明软件的外部功能,和用户的交互情况,主要用来说明软件内部的设计.图片编辑器是与生活息息相关的一个必备软件,随的流行, ...

随机推荐

  1. Git永久删除文件和历史记录

    目录 Git永久删除文件和历史记录 使用filter-branch 添加到.gitignore文件里并push修改后的repo 清理和回收空间 Git永久删除文件和历史记录 造成你想从git存储库中永 ...

  2. Hive-1.2.1_04_DML操作

    Hive官方文档:Home-UserDocumentation Hive DML官方文档:LanguageManual DML 参考文章:Hive 用户指南 1. Loading files into ...

  3. SQL Server 链接服务器连接 SQLite数据库文件

    SQL Server数据库允许通过数据库驱动程序连接各类数据库并进行操作.以下是在SQL Server 2012 R2中建立SQLite的链接服务器. 一.下载SQLite数据库的ODBC驱动程序: ...

  4. 怎样将本地web项目部署到腾讯云服务器上?

    怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...

  5. ABAP性能和优化

    哪些工具可以用于性能优化? ST05-性能追踪.包含SQL追踪加RFC,队列和缓存追踪.SQL追踪主要用于测量程序中select语句的性能. SE30-运行时分析.用于测量应用的性能. SAT是过时的 ...

  6. WPF之托盘图标的设定

    首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Collections.Generic; using ...

  7. [Jsoi2015]染色问题

    题目 看到这个限制条件有点多,我们就一直容斥好了 先容斥颜色,我们枚举至少不用\(i\)种颜色 再容斥列,我们枚举至少不用\(j\)列 最后容斥行,枚举至少不用\(k\)行 容斥系数显然是\((-1) ...

  8. linux(centos 7)下安装elasticsearch 5 的 IK 分词器

    (一)到IK 下载 对应的版本(直接下载release版本,避免mvn打包),下载后是一个zip压缩包 (二)将压缩包上传至elasticsearch 的安装目录下的plugins下,进行解压,运行如 ...

  9. secp256k1如何使用

    https://npm.taobao.org/package/secp256k1 这个即椭圆曲线加密算法算法,随机生成一个私钥然后通过椭圆曲线加密算法算法(ECC)得到一个公钥,且无法反向 然后再使用 ...

  10. OPTIMIZER_INDEX_COST_ADJ 与OPTIMIZER_INDEX_CACHING 参数说明

    [部分转载]http://www.xifenfei.com/2012/06/optimizer_index_caching和optimizer_index_cost_adj参数说明.html 1. O ...