`
yangzhiyong77
  • 浏览: 963887 次
文章分类
社区版块
存档分类
最新评论

谈谈我们的合作开发

 
阅读更多
合作开发算是暂告一段落了,算算从开始接到任务到完成居然过了近半个月,不过收获也是不小的。

接到任务的第一天,大家做到一块开始商量合作开发的事宜。制定了一下我们合作开发的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导出网页版的图等等技巧都是自己所需要锻炼的。不怕不知道,就怕不知道,现在我已经知道了,剩下的就是去实践。

分享到:
评论

相关推荐

    谈谈开发过程中团队合作

    谈谈开发过程中团队合作,随便聊聊,没有兴趣不用下载,下载完了也许有用

    谈谈C51的编程规范

    在满足这个前提条件下,我们希望我们的程序能很容易地被别人读懂,或者能够很容易地读懂别人的程序,在团体合作开发中就能起到事半功倍之效。在网上请求帮助时,如能以规范的写法贴出程序,网友会比较容易地明白你的...

    java代码规范

    显然的,规范的代码在团队的合作开发中是非常有益而且必要的。 二、规范的代码可以减少bug处理 很多IT人士将程序员比做民工,这也的确非常的形象。就像刚才提到的,复杂的算法或逻辑只占项目中很小的比例,大多...

    数据中台实战(一):以B2B电商亿订为例,谈谈产品经理视角下的数据埋点

    笔者所在部门为数据中台,职责就是为公司搭建数据中台,支撑各产品线数据化运营,通过数据中台打通各条产品线的数据,更精准的为产业的上下游客户服务。...此时,就拉上我们的开发,叫上了亿订产品经理

    GIS软件工程实验要求.doc

    实验一:系统分析(4课时) 一、实验目的 自选... 2、针对所开发项目的用例模型,谈谈识别Actor和Use Case的方法。 3、用例之间有哪几种关系?怎样表示? 4、怎样组织对该工作的评审? 实验二:软件开发系统设计(4课时

    asp.net彩票管理系统(开题报告和论文)

    开发一套网上彩票系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 本文中所做的主要工作如下: (1)介绍了个性化页面的背景及Win2003server+IIS+ASP.NET系统的一般原理; (2) 阐述整个个性化页面生成系统的系统...

    DevOps:用于部署eScience服务的DevOps代码

    如果您想出去玩并与我们合作,请过来。 如果您有需要帮助的内容,请参阅 。 通常的是建议在Github上的合作。 如果您想索取文档或指南,或者想谈谈更多的“元”方面,请上。发展状况和路线图您可以在上看到开发路线...

    谷歌师兄的leetcode刷题笔记-webmap-client:webmap的客户端部分,用Leaflet和Vue重写

    也就是说,我们希望您先与我们谈谈。 这使我们能够与您合作并确保您的 PR 有意义,并且不会踩到其他人的脚趾。 在发布问题、公关或评论之前,请先查看 。 与这个项目合作 为了使用 webmap 客户端,您需要进行一些...

    C#微软培训资料

    我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自为营的 超越今天各自为营的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成...

    java j2ee 课程设计报告

    因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套人事管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用...

    人工智能的认识-及人工智能的利与弊.doc

    不过,总有一天,智能机器人 将会伴着我们的生活,为我们的生活带来方便。 3、谈谈你对专家系统的看法?专家系统是人工智能中最重要的也是最活跃的一个应用 领域,它实现了人工智能从理论研究走向实际应用、从一般...

    人工智能的认识.docx

    不过,总有一天,智能机器人将会伴着我们的生活,为我们的生活带来方便。 人工智能的认识全文共3页,当前为第1页。 3、谈谈你对专家系统的看法?专家系统是人工智能中最重要的也是最活跃的一个应用领域,它实现了...

    krishnam-eng:我的GitHub个人资料的配置文件

    :flexed_biceps: 你可以和我谈谈行业知识:设计原则,面向对象的设计,测试驱动开发,软件项目管理,程序管理,SDLC,... 技术:Java,Junit,Tomcat ... 环境:Linux,Ubuntu,Bash,Zsh,Nano ... 工具:...

    sesvc.exe 阿萨德

    本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 HashMap 众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk...

    MFC解决窗口保存及重绘闪烁问题的一种比较好的方案 v1.0.4

    包含文件说明: 1. SolveFlashingAndRedrawv1.0.4 纯净版 ... 我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。 1、显示的图形为什么会闪烁? .................................

    计算机新技术作业.doc

    ENIAC由美国政府与宾夕法尼亚大学合作开发,使 用了18000个电子管,70000个电阻器,有5百万个焊接点,耗电160千瓦,其运算速度为每秒 5000次。 第一代计算机的特点就是操作指令就是为特定任务而编制的,每种机器有各自不同...

Global site tag (gtag.js) - Google Analytics