- 浏览: 92674 次
- 性别:
- 来自: 长春
最新评论
-
masuweng:
:i总结的很好dea:
客户需求及骨头与肉的分工方法 -
夜神月:
DAO这个东西想象很美丽
Dao的作用 -
eyesmore:
"比如某连接池中有2个连接对象。有两个线程分别占用了 ...
数据库连接池死锁的原因和处理方法 -
gdpglc:
呵呵... 这例子很有启发。我说的情况是对已有对象加入新功能时 ...
OO的环境下,需要控制对象 -
悲剧了:
比如在web开发里,登录用户信息存放到session里面,需要 ...
OO的环境下,需要控制对象
文章列表
最近有时间看看书补补理论。
看了一些软件体系结构(software architecture)的资料。终于理解了Spring的基本思想。
Spring是在CBD思想指导下开发的轻量级构件模型。
为什么会把spring和ejb进行比较呢?原因很简单,因为spring和ejb都是java的构件标准。都适用于CBD开发方法。
还有一些其他的构件标准:COM/DCOM/COM+、CORBA
我们平常采用的web程序结构:action->service->dao 其实背后的原理是CBD。
在实际的开发中CBD只是提供了开发思想,落地时会有很多的具体问题。比如,CBD并不会规定,web ...
一般软件开发可分为如下阶段。
1.需求分析
2.概要设计
3.详细设计
4....
其中概要设计,我觉得起到的作用,就是从需求过度到详细设计阶段的一个中间过程。这种划分方式,不是从软件开发本身的需要出发的,而是按实际的项目过程控制需要划分的。因为不同的项目,需求在理解难度上、抽象程度上,千差万别。因此到达实际的产品功能设计和程序设计(即详细设计),所需要的信息,也差别很大。需求分析阶段侧重于从用户那获取原始需求。而所谓概要设计,就是要把到达详细设计中间缺少的信息补全。
所以,所谓概要设计文档,内容是五花八门的,没有确定性质的内容。有人还在找概要设计的模板,这实在可笑。而后文列举的一些原因将导 ...
多子系统项目架构与人员管理
- 博客分类:
- 而立
大型项目会涉及到多个子系统。每个子系统的开发工作的管理和控制和单个系统的研发有很大区别。不能简单的将单系统的研发经验直接应用在多子系统的项目里。其中的区别如下:
对于单系统的情况:
1.系统的业务和技术相对单一,并且系统内是具有强关联性的,各部分必须严格一致。
2.需求规模有限,可以被一个人完全掌控。
3.用户需求可由一个人与用户协调确定。
但对于多子系统的情况,比如:有展现、有监控、有大数据
此时:
1.各个子系统的技术都很复杂,难以由一个人来全面掌握,系统间具有协作关系。
2.需求规模巨大,难以由一个人控制所有细节。
3.每个子系统的需求,需要由各子系统的负责人和用户沟通确认。
这 ...
软件开发必须过程化,必然需要文档的辅助。需要写文档是毋庸置疑的,这包括:需求分析文档、设计文档等。但没搞过这个的项目团队,往往抓不住重点,走入一些误区。
1.没有大而全的模板
没有大而全的文档模板,能照着模板写文档。软件开发本身是一个认知和设计的过程。文档的内容就是认知和设计的结果。怎么可能在认知和设计没发生的情况下,就事先有一个模板告诉你该写什么。
模板最多提供一个固定的文档形式。但该有什么内容、如何组织这个是写文档的人的事。形式是为内容服务的。
文档模板可以起到一点提醒作用,但这也是次要的。关键在于内容。
如果能够把握住要写的内容,模板显然没有大用处。
2.评审的重点是内容
评 ...
一、代码复查的作用:
1.查找bug。
逻辑上的bug,从代码层面最容易发现。一些对需求的不理解,手误等也很容易发现。
2.查设计一致性。
软件的功能组织、数据表示、公用代码等每一个软件都会形成自己的实现模式。新加入项目的程序员由于不熟悉原有软件的设计约定,很可能会按自己的方式编写功能,从而导致软件设计不一致。
这对于无MVC框架的OO程序这是致命的,最终会导致软件的各种功能实现,纵横交错,五花八门,无法理解和管理。
3.查一般代码规范、命名规范
4.快速提高开发人员的能力、帮助开发人员养成良好的开发习惯
二、代码复查方法:
SVN 对比,增量复查。
新手代码和复杂逻辑代码重点 ...
注意初级人员无项目意识
- 博客分类:
- 灵台渐明
初级人员的工作认识很局限,常常以为完成分配的任务就行了,其他的就不管了。
项目经理一定要注意子任务的对接。初级人员无法意识到任务完成后,需要做的协同工作,造成任务不能对接,却常常给项目经理造成任务完成的假象。
一个需求牵扯到不同技术的工作人员,明确任务的负责人,是一个可用的方法。
最近为公司招人,连续招了5个,最后仅仅留下一个。为项目带来了很大影响。现在的开发人员很不稳定。我原来小看了招聘这件事,只是以为,公司有强大的技术和资金,足以招揽人员。
但实际情况是:
1.应届生没有经验,不能通过公司的技术实力,向其展现公司实力。这时公司的形象更起作用。
2.有一定经验的,可以理性的进行选择。
3.应届研究生,工作能力弱,选择多(比如:海外读博)。能否稳定要看人,得注意观察。
因为研究生的自身定位,要混日子多半去大的单位。在小单位不图名,不图利的混日子,那就是没安好心了。
因此,招人绝不是靠:坦诚相待、和技术实力,就行的。
现在的从业人员,别有用心的很多。从业者常常把 ...
什么是通用化产品:
在我看来,需要具有以下特性:
1.功能全面,具有前瞻性
用户没想到的有用功能有很多,这些功能都是产品功能应该覆盖的。产品的功能是全面总结现在的用户需求,并要包括未来用户的需求。这和在现场 ...
hibernate的Map,有些问题
- 博客分类:
- 灵台渐明
Hibernate 的Map 用起来的确方便,但是对字段的命名,可能是 aj_key和aj_value,这样不好。
另外发现,hibernate3,不能根据map的key查value。不得不把Map都查出来,在内存里查找。
hql="select elements(p1.variablesEncode) from ProcessInstance p1 where p1.dbId = 145 and index(p1.variablesEncode)='"
+ AutojobConstants.$BusiPathHasErr$ + "'"
生成 ...
从2012年到现在使用spring已有4个年头。
记得当时发了个贴http://www.iteye.com/topic/865387
还吵来吵去的。
现在再看看这些框架的作用,其实我所用到的其实是简单的思想,即:
积木式的程序设计
我一直研究OO方法,现在可以确认,m ...
突然想到软件的领域可以用一幅图来表示。 在软件中的领域,其实是已明确的。
在需求分析阶段要想明确用户的领域,需要抛开软件本身,理解用户的术语(有时用户的术语恰好和软件的术语混淆,那不如另选一个词)。比较头痛的事用户只能说出一个词却不知如何解释它。这时要需求分析人员引导用户,比如:用户说A,然后不说了。因为他知道A是什么,却不知如何解释。那要问A包括什么,用户如何使用这个概念等,把用户口中的概念弄清楚。有时用户说的概念的含义是含糊的,只能在上下文中理解,这时要让用户多举例子,从多个例子中分析把握住这个词的意思,可用其他明确的术语进行定义。
最近做项目对于产品开发过程控制有了新认识,先暂记如下,以后再研究。
需求分析与设计是按主题划分的
基本上一个研发类项目可按如下主题划分:
1.业务与问题主题 分析需求和问题、得出产品构想。
2 解决方案主题 需求 ...
文化是什么,真的以为很高深,以下是摆渡出来的内容:
文化(culture)是人与人、人与自然、人与观念之间关系的意义系统(罗红光,2014)。与自然界的存在不同,文化特指所有“人为的事实”,它可以传承、传播,是 ...
Spring DI 的作用
- 博客分类:
- 灵台渐明
1.取代程序中的 new、工厂和单粒 无需接口2.支持aop 有接口时使用java的proxy技术3.支持mock 需要接口4.支特受保护变化 需要接口5.隔离软件的不同组件 需要接口