MyException - 我的异常网
当前位置:我的异常网» 项目管理 » 关于分层架构下的分工有关问题

关于分层架构下的分工有关问题(2)

www.MyException.Cn  网友分享于:2013-02-11  浏览:11次

2、开发模式上就要看你是什么项目,项目的具体要求,功能分割等来进行考虑了,这些都不是一个帖子或者一个回复能够解决的问题。
你可以去看两本书:
我的那本《软件工程之全程建模实现》,里面有关于模式划分的问题,还有一个我党年的开发实例,提到2002年在南京地税项目上我做的分工和开发实现速度,一个星期5-6个人完成一个完整的业务模块的实现过程。
另一本,不管你是不是java都建议看:《J2ee核心模式》,第一版或者第二版都可以。
另外可以考虑看一下我的交换编程的方法,搜索就可以查到。这些都对于你这个事情是有帮助的。
------解决方案--------------------
有很多项目是按纵向分工的。
这样的项目一般以数据库为中心展开项目。
各个功能模块读写指定的数据库表。

这种分工方式的优点是明显的:
1,便于项目组内成员的共同(功能模块读写指定的数据库表。不需要在模块接口等问题苦恼)
2,项目领导工作较轻松(分好功能模块,设计好表就OK了)

但是这种方式的缺点也是明显的:
1,代码风格不统一,不利于维护。
2,功能的优先级无法排列。(所有模块一起上)
3,没有统一的架构,质量难以保证(特别是非功能性需求)
4,不利用专业分工(DB和UI可是两会事儿,更何况是业务逻辑,你明白多少关于银行,保险,航空,电力的知识)
5,以数据库为中心,是个糟糕的想法。如果数据库变动,影响太大。
6,这样的分工适合前期就能确定全部功能需求的项目。




------解决方案--------------------
【设计】
我觉得设计应该是一层层细分,逐步完善的过程,而不是某个人一下子就全部搞定。
在明确了用户的大致需求后,拎出主要的功能路线,按照功能找出所涉及的部分(硬件、软件)。
先由产品级架构师画系统框架图,主要描述系统环境上下文,也就是系统一级成员,然后要明确接口,如硬件接口、软件接口、通信接口,确定各部件间的通讯交互模式、交互流程。
可以通过各种图及文字来表述这些内容。
到此,即可组织专家进行review

当然需要考虑到约束条件:标准符合性、硬件约束、技术限制等
还有质量方面的,如:可用性、安全性、可维护性、可测性等

完成之后,再下发给相应的下一级软硬件设计人员进行再设计,实际上现在要实现的内容很明确了,就是提供接口或实现某些功能,现在的目标就是如何实现这些接口或功能,如何划分如何组织。

然后,一级级下发、细化,直至开发人员进行详细设计。
------解决方案--------------------
【项目内部】
我所经历的项目无一例外,均是按功能模块进行划分。
当然,相互review、改BUG是必不可少的,这也是为了避免人员流动带来的麻烦。
------解决方案--------------------
不同的人之间如何进行沟通? 
——沟通成本巨大,需要架构师,以便减少沟通成本。

需要一个类似于架构师或者设计师这样的角色么? 
——绝对需要,理由同上。

把本次迭代周期中的类和接口设计出来么? 
如果这样,类或者接口要设计的详细到什么程度? 
而且,架构师或者设计师的工作量是不是太大了? 
一般的多人参与的复杂系统开发是怎么分工的? 
——要回答这些问题,请先弄清你自己所处的情况。简而言之,你的项目是外包还是从无到有的新产品?如果是外包项目,对不起,我真看不出来有多复杂。老外不会把核心的东西外包,而且外包项目发包方都有严格的管理要求,不管CMM什么的都好,你照做就行了,详细到什么程度,怎样分工有文档。
如果是从无到有的新产品,还是从原型做起;我在美国公司打工,正式员工,参与核心代码,这个我非常清楚。这时候就不要相信什么CMM,什么瀑布模型之类的狗屁了。架构师或者核心开发人员(这时候应该没有设计师)绝对是宝贝,只能靠他们。所以比尔曾说,如果在微软的钱和50位核心开发人员中二选一,他绝对会选那50位核心开发人员。
------解决方案--------------------
探讨
不同的人之间如何进行沟通?
——沟通成本巨大,需要架构师,以便减少沟通成本。

需要一个类似于架构师或者设计师这样的角色么?
——绝对需要,理由同上。

把本次迭代周期中的类和接口设计出来么?
如果这样,类或者接口要设计的详细到什么程度?
而且,架构师或者设计师的工作量是不是太大了?
一般的多人参与的复杂系统开发是怎么分工的?
——要回答这些问题,请先弄清你自己所处的情况。简而言之,你的项目是外包还是从无到有的新产品?如果是外包项目,对不起,我真看不出来有多复杂。老外不会把核心的东西外包,而且外包项目发包方都有严格的管理要求,不管CMM什么的都好,你照做就行了,详细到什么程度,怎样分工有文档。
如果是从无到有的新产品,还是从原型做起;我在美国公司打工,正式员工,参与核心代码,这个我非常清楚。这时候就不要相信什么CMM,什么瀑布模型之类的狗屁了。架构师或者核心开发人员(这时候应该没有设计师)绝对是宝贝,只能靠他们。所以比尔曾说,如果在微软的钱和50位核心开发人员中二选一,他绝对会选那50位核心开发人员。

------解决方案--------------------
复杂的业务逻辑需要很多类配合来实现。 这些类当然不给由一个人来完成。 
【sammer】这个自然,或者他一人拿全部工资,也可以考虑的

可是每个人写若干个类, 那么,不同的人之间如何进行沟通? 
【sammer】用嘴巴沟通。我想这是团队活动中最为重要的,任何设计文档都代替不了。沟通中了解彼此的设计习惯,编码习惯,思考问题的方式,最终形成一个团队的风格。那设计文档算什么?只是一个载体,用来为以后翻看用的。不过最好用一定的方式比如UML去表达一些框架以及如何使用框架。这样在看代表钱彼此都会有一个基本的印象。

需要一个类似于架构师或者设计师这样的角色么? 
【sammer】需要。架构师决定了一个系统的风格和走向。他决定MVP,那整个系统就是MVP,每一个场景都会有对应的类。他决定整个系统要允许plug-in,那就得让框架支持这一特性,并且这一特性会影响到后期的CM工具,以及如何打包,如何安装。。。

把本次迭代周期中的类和接口设计出来么? 
【sammer】不涉及到架构的接口不需要定义。到了项目中期,应该框架基本稳定了,那些业务接口基本和实际应用对应好的,是很明确的。不需要那么费事的定义一遍。除非公司有硬性规定,比如那些CMMIX的公司。

如果这样,类或者接口要设计的详细到什么程度? 
【sammer】我觉得为了后来人,只需要记录架构和框架相关的类和接口,同时辅以一个具体的例子用来验证你这个框架是可以正常运作的。就足够了。软件大于复杂文档。

而且,架构师或者设计师的工作量是不是太大了? 
【sammer】架构师的工作是保证整个系统的开发风格始终一致,并且在关键问题上提出指导意见。最关键的是他的想法得让每个人都理解和接受。

一般的多人参与的复杂系统开发是怎么分工的
【sammer】怎么分工不要紧,但是最好让你的任务划分为可以演示的。每个任务都会有一个leader。由他负责去实现他可以根据需要从资源池里面选择合作对象。他负责最后的提交和演示。

个人意见,笼统回答一下。复杂系统简单化是关键。

文章评论

Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
老程序员的下场
老程序员的下场
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
如何成为一名黑客
如何成为一名黑客
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
那些争议最大的编程观点
那些争议最大的编程观点
中美印日四国程序员比较
中美印日四国程序员比较
一个程序员的时间管理
一个程序员的时间管理
代码女神横空出世
代码女神横空出世
程序员必看的十大电影
程序员必看的十大电影
程序员和编码员之间的区别
程序员和编码员之间的区别
 程序员的样子
程序员的样子
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员都该阅读的书
程序员都该阅读的书
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员的鄙视链
程序员的鄙视链
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
总结2014中国互联网十大段子
总结2014中国互联网十大段子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
漫画:程序员的工作
漫画:程序员的工作
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
旅行,写作,编程
旅行,写作,编程
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
我的丈夫是个程序员
我的丈夫是个程序员
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
鲜为人知的编程真相
鲜为人知的编程真相
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
为什么程序员都是夜猫子
为什么程序员都是夜猫子
Java程序员必看电影
Java程序员必看电影
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
编程语言是女人
编程语言是女人
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有