文档章节

谈谈我们的合作开发

白志华
 白志华
发布于 2015/10/18 10:54
字数 1397
阅读 3
收藏 0
点赞 0
评论 0
    合作开发算是暂告一段落了,算算从开始接到任务到完成居然过了近半个月,不过收获也是不小的。

    接到任务的第一天,大家做到一块开始商量合作开发的事宜。制定了一下我们合作开发的Schedule,然后开始了我们的合作开发之路。待组长画完用例图,我们一起讨论,一起敲定系统的具体用例,当然免不了有争论的地方,不过也正是这些争论让我们更加深对信息管理系统的理解。用例定好了,开始一起攻克数据库。根据用例,来设计数据库,规范字段名称,认真讨论字段类型,按着“三范式”将一个个表确定下来。然后为表添加各种约束,主键、外键、Check约束、Unique约束、Default值、Identify自增值等,并建立的数据库关系视图。包图一起确定了,然后开始分工,D层+Factory层+接口层1人,Entity层1人,B层+Facade层1人+组长,U层1人。

    通过方才的分工可以看出,本次开发我们采用了三层架构,应用了抽象工厂模式+反射+配置文件和外观模式。在我自己做的机房收费系统中没有用到外观模式,感觉在处理多表操作的时候(比如下机),只用B层的话就显得有些力不从心了。所以我在第一次的机房收费系统总结的最后也提到了这个疑惑( http://blog.csdn.net/xiaoxian8023/article/details/7168878)。这次用外观模式,虽然代码又多了,不过思路却比以前要清晰很多。外观模式将B层繁多的类进行了封装,对于U层而言,不需要了解那么多的细节,外观模式为U层只提供了一个简单的接口,U层其实都是那些粒度较粗的用例,只需要调用Facade层的方法即可,有Facade层来整理具体的逻辑,既满足了U层的需要,也隐秘了数据。所以外观模式这个“中介”对于我们来说还是很有帮助的。

    当然我们也用到了策略模式,这个主要是用在下机结算时,根绝不同的卡类型,使用不同的计费方式。理解的比较浅。向七期的前辈请教,说其实刷卡上机和下机也是一种策略。当时没怎么明白,不过现在有些理解了。上机和下机也是两种不同的策略。刷卡时,要检测卡的上机状态,根绝上机状态的不同,实现上机和下机两种不同的策略。

    这次有点遗憾的是观察者模式。在处理强制下机操作时可以用到。将在线的全部加载到一个列表中,然后通过触发强制下机操作,遍历列表,使列表中的每一项都执行强制下机操作。是一个很好的方法,只可惜这次由于种种原因没有加上,师哥遗憾。

    不过这次的开发给我的感觉不像是同步开发。这次我们想自己动手敲代码,没有用UML图来导出代码框架,所以我们由下层写出框架,然后提交,再由上层根据下层的代码提示来写,这样一般不会出错。不过想想,图都给出来了,其实不用等着下层的提交框架也可以写。一个好的设计,有完善的图和文档,我们完全可以根据这些来完成自己的工作。

     本次合作开发给我最大的感觉就是一个合作才是软件开发的正道。当然成功的合作,取决于项目的设计、分工的合理性及每个人对待自己任务的态度。项目设计的好坏可能直接影响到你的项目是否能够完成。如何更加合理的分工,我感觉应该是每个人做自己擅长的那一部分,可靠性会增加很多。态度问题,每个成员都应该尽力尽快的完成自己的工作,不要因为你而使得整体项目计划延迟。

    有个问题想了半天,还是感觉说说比较好,我们有一部分成员把重点只放在了经历合作开发,而项目本身有些马虎了,感觉这样不好。我觉得,虽然合作开发的主要目的是为了让大家更好的理解三层,培养合作开发的意识和能力,但是,我们不能对于系统太过草率了。在我看来,每一个项目都是一个生命,生命不应该是残缺的。对自己的任务完成度要求要高,这也是一种锻炼,同时也是一种职业素质。

    当然在合作开发过程中,也发现了自己要学的东西还很多。比如快速画图,数据库表直接转化为实体类和UML图,SVN的熟练使用,Rose导出网页版的图等等技巧都是自己所需要锻炼的。不怕不知道,就怕不知道,现在我已经知道了,剩下的就是去实践。

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
白志华
粉丝 29
博文 260
码字总数 57524
作品 0
长沙
程序员
当情怀已经烂大街,我们还可以谈些什么?

几年前,情怀还是个清新脱俗如空谷幽兰每一个音节都透着一股遗世独立气息的词,任何事情挂上情怀二字,瞬间就弱化了其追逐利益的一面,逼格提高了N个level。 但是,由于众所周知的某手机的神...

nandy007 ⋅ 2015/07/17 ⋅ 6

谈谈我做的云计算项目

这些年,做了不少分布计算、并行计算、大数据处理的项目,按照现在的称呼这些都属于云计算范畴。今天说说我做过的其中三个项目,只三个。 第一个是我们接到的视频分享网站的视频转码的订单,...

张大雷 ⋅ 2012/07/10 ⋅ 55

前和讯新浪微博高级工程师姚飞:合作,共赢。

拥有十多年的开发经验,先后在华夏大地、和讯网、新浪微博担任高级前端工程师,作为一名程序界的“老炮儿”,看看他是如何理解共享经济大环境下程序员的解放生态,怎样合作共赢让未来的职业规...

程序员客栈 ⋅ 2016/09/24 ⋅ 0

如何提升你的远程开发的成功率

远程工作是趋势,一方面降低企业成本,提升企业人才素质而不受地域局限,一方面让员工可以对自己的时间和生活质量有更大的把握。然而,要建立一个远程团队,却不是一蹴而就的事情。我们客栈自...

程序员客栈 ⋅ 2016/05/12 ⋅ 0

谈谈css的加载及加载循序

谈谈css的加载及加载循序 Haorooms博客-前端博客-前端技术,记录web前端开发的技术博客2017-12-231 阅读 css 前言 关于前端css性能优化,网上很多类似文章,我之前也写过,《[网站前端性能优...

Haorooms博客-前端博客-前端技术,记录web前端开发的技术博客 ⋅ 2017/12/23 ⋅ 0

直播APP开发:网络直播的价值,如何走上正轨

近期,快手收购了视频平台AcFun,能够看出快手已经从短视频和直播逐渐延伸出新的市场,网络直播和短视频被许多的平台加入,作为新的功能适用,但是现在的直播却没有得到正确的用途,为何这样...

suanleba ⋅ 06/07 ⋅ 0

合作创业的技术员和出资方、运营、销售等的构成

谁来谈谈合作创业的技术员和出资方、运营、销售等的构成建议和想法。。。

倔强的桔子 ⋅ 2014/12/13 ⋅ 0

MySQL创始人正面回应离职原因

近日,MySQL创始人之一迈克尔·维德纽斯(Michael Widenius)正式宣布从Sun公司辞职,并在其博客中解释了离开的原因,以及他将来所专注的工作,以下为其全文: 我现在已经离开Sun,加入我自己的...

红薯 ⋅ 2009/02/14 ⋅ 6

谈谈对Spring IOC的理解,转载自http://www.cnblogs.com/xdp-gacl/p/4249939.html

只为成功找方法,不为失败找借口! 谈谈对Spring IOC的理解   学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、D...

武小猪 ⋅ 2017/04/06 ⋅ 0

iFanr专访Maemo社区委员会主席 首谈MeeGo

iFanr:能否向我们介绍一下你在这个社区的成长经历并分享你和 maemo 的一些故事? Valério:我不是最早的那拨成员。Maemo 社区 2005 年成立,我在 2008 年才加入。在此之前我已经知道 Maem...

老枪 ⋅ 2010/02/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

apollo配置中心的学习笔记

公司现在配置文件太多了,导致配置文件修改起来还是非常麻烦的。在boss(业务运营支撑系统)中,配置文件是存放在jar包的,通过应用jar包来引用配置文件(区分不同环境)。这种方式虽然能够满足...

miaojiangmin ⋅ 5分钟前 ⋅ 0

Jena增删改查AP

插入、更新数据 public static void insert(){ String query = "PREFIX book: <http://www.book.com/jinyong/> \n" + " INSERT DATA \n" + ......

Vincent-Duan ⋅ 6分钟前 ⋅ 0

springMVC之与json数据交互方法

因为我也要返回json数据。所以需要这个注解@ResponseBody,把Java对象转换成json字符串 注意: 1、@RequestBody不能省,因为前台发过来的数据是json数据,得用这个注解去解析该怎么接收这些数...

颖伙虫 ⋅ 10分钟前 ⋅ 0

用实例域代替序号(31)

1、许多枚举天生就与一个单独的int 值相关联 ordinal 方法,返回枚举常量在类型中的数字位置 下述,枚举修改很不方便,不好维护 永远不要根据枚举的序数导出与他相关联的值 而是将他保存在一...

职业搬砖20年 ⋅ 12分钟前 ⋅ 0

并发编程---ConcurrentHashMap源码解析

ConcurrentHashMap是java中为了解决HashMap不能支持高并发而设计的新的实现。 ConcurrentHashMap的类结构 public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements C......

千古一梦888 ⋅ 15分钟前 ⋅ 0

微服务 WildFly Swarm 简介

我们将看到的最后一个Java微服务框架是一个相对较新的场景,它利用了 JBoss WildFly 应用服务器中已试过且受信任的 JavaEE 功能。WildFly Swarm 是 WildFly 应用服务器的一个完整的拆下来的组...

woshixin ⋅ 20分钟前 ⋅ 0

android apk 瘦身

头条APK瘦身之路 随着版本迭代,功能增加安装包体积也会慢慢增大。 今日头条576版本APK达到了25M,通过一系列的优化,到目前的607版本为12M。本文主要是介绍头条APK瘦身中用到的一些方法。 ...

GoldenVein ⋅ 23分钟前 ⋅ 1

mac机器学习开发环境部署及helloworld

一、下载并安装Anaconda2.7 https://repo.anaconda.com/archive/Anaconda2-5.2.0-MacOSX-x86_64.pkg 路径:/Users/shijun/anaconda2 二、运行Anaconda Navigator -> Environments -> base(ro......

八戒八戒八戒 ⋅ 34分钟前 ⋅ 0

关于日常开发的经验总结(Java),持续更新中

常量尽量使用枚举来表示,这样表现力会很强,因为枚举比一个常量类要有更多的扩展性 方法的入参和出参尽量不要使用Map,因为Map会让调用者感到迷惑,他不知道你里面装的什么,面向对象的开发...

小99 ⋅ 35分钟前 ⋅ 0

IDEA创建SpringMVC+Mybatis+Maven项目

视频如下(加载有点慢请见谅,服务器不太好): 视频

影狼 ⋅ 35分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部