??xml version="1.0" encoding="utf-8" standalone="yes"?>久久国产成人亚洲精品影院 ,在线看亚洲十八禁网站,国产成A人亚洲精V品无码http://m.tkk7.com/leekiang/category/30806.htmlMDA/MDD/TDD/DDD/DDDDDDDzh-cnSun, 11 Dec 2011 20:50:14 GMTSun, 11 Dec 2011 20:50:14 GMT60千万Upv高性能高ƈ发网站架构与设计(?http://m.tkk7.com/leekiang/archive/2011/12/11/366106.htmlleekiangleekiangSun, 11 Dec 2011 13:43:00 GMThttp://m.tkk7.com/leekiang/archive/2011/12/11/366106.htmlhttp://m.tkk7.com/leekiang/comments/366106.htmlhttp://m.tkk7.com/leekiang/archive/2011/12/11/366106.html#Feedback0http://m.tkk7.com/leekiang/comments/commentRss/366106.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/366106.html
如果把来访用h作来犯的"敌h"Q我们一定要把他们挡?00里地以外Q即不能让他们的h一下打到我们的指挥部(指挥部就是数据库?qing)分布式存储Q?br />
如:(x)能缓存在用户?sh)脑本地的,׃要让他去讉KCDN?能缓存CDN服务器上的,׃要让CDN去访问源Q静(rn)态服务器Q了(jin)。能讉K?rn)态服务器的,׃要去讉K动态服务器。以此类推:(x)能不讉K数据库和存储׃定不要去讉K数据库和存储?br />
    说v来很LQ实际做h却不Ҏ(gu)Q但只要E加努力是可以做到的QGoogle的日独立IPq亿不也做到?jin)么Q我们这几千万的PV站比起Google不是 屋见大屋了(jin)。我们还是先从我们的屋搭v吧!哈哈Q下面内容的介绍L(fng)是千万别的PV站,也可以支持亿UPV的网站架构?br />
高性能高ƈ发高可扩展网站架构访问的几个层次Q?br />
有h?x)问Q我们老是说把用户对业务的讉K往前推Q到底怎么推啊Q推到哪呢?下面Q老男孩就为大家一一道来?br />
W一层:(x)首先在用h览器端,使用Apache的mod_deflate压羃传输Q再比如Qexpires功能、deflate和expires功能利用的好Q就?x)大大提升用户体验效果?qing)减少|站带宽Q减后端服务器的压力。当?dng)?gu)q有很多Q这里不一一l谈?jin)?br />
提示Q有兛_~传输及(qing)expires功能nginx/lighttpd{Y件同样也有?br />
W二层:(x)面元素Q如囄/js/css{或?rn)态数据htmlQ这个层面是|页~存?比如CDNQ效果比公司自己部vsquid/nginx要好Q他? 更专业,h低廉Q比如快|?CC{(h80?M/月甚x低)(j)而且覆盖的城?jng)节?gu)多)(j)Q自己架设squid/nginx cache来做型CDN是次?大规模的公司可能会(x)考虑风险问题实行自徏加购买服务结?Q除非是为前端的CDN提供数据源服务,以减d端我们的? 务器数据?qing)存储压力,而不是直接提供cache服务l最l用戗taobao的CDN曄因ؓ(f)一部分囄的次寸大而导致CDN压力大的情况Q甚臛_囄? 寸大的来改小Q以辑ֈ降低量?qing)带宽的作用?br />
提示Q我们也可以自己架设一层cache层,Ҏ(gu)们购买的CDN提供数据源服务,可用的Y件有varnish/nginx/squid {cacheQ以减轻W三层静(rn)态数据层的压力。在q层的前端我们也可以架设DNS服务器,来达到跨机房业务拓展?qing)智能解析的目的?br />
    W三层:(x)?rn)态服务器层一般ؓ(f)囄服务器,视频服务器,?rn)态HTML服务器。这一层是前面~存层和后面动态服务器层的q接U带Q大公司发布新闻{内容直接由 发布人员分发到各cache节点Qsina,163{都是如此)(j)Q这和一般公司的业务可能不一栗所以,没法直接的参考模仿,比如Zh的SNS?br />
我们可以使用Q队列方式实现异步的分发访问,同时把动态发布数据(数据库中的数据)(j)?rn)态化存储。即攑ֈ本层讉KQ或通过其他办法发布到各cache节点Q? 而不是直接让所有用户去讉K数据库,不知道大家发C(jin)没有Qqq.com门户的新闻评论多的有几十万条Q如果所有用户一看新d加蝲所有评论,那数据库? 挂才怪。他们的评论需要审核(其名约Q实际是异步的方式,而且Q评论可能都是静(rn)态化的或cM的静(rn)态化或内存cache的方式)(j)Q这点可能就是需? 51cto.comq样站点学习(fn)的,你们打开51CTO的一博文,׃(x)发现下面的评Z直都昄出来?jin),也可能是分页的。不q,应该都是直接d的,一 旦访问量大,数据库压力大是必然。这里不是说51cto|站不好Q所有的|站都是从类似的E序架构开始发展的。CU也可能是如此?br />
提示Q我们可以在?rn)态数据层的前端自己架设一层cache层,Ҏ(gu)们购买的CDN提供数据源服务,可用的Y件有varnish/nginx/squid {cache。在q层的前端我们也可以架设DNS服务器,来达到跨机房业务拓展?qing)智能解析的目的?br />
W四层:(x)动态服务器层:(x)php,java{,只有透过?jin)前?层后的访问请求才?x)到q个层,才可能会(x)讉K数据库及(qing)存储讑֤。经q前三层的访问过滤能到这层访问请求一般来说已非常了(jin)Q一般都是新发布的内容和新发布内容第一ơ浏览如Q博文(包括微博{)(j)QBBS帖子?br />
特别提示Q此层可以在E序上多做文章,比如向下讉Kcache层,memcache,memcachedb,tc,mysql,oracleQ在E序U别 实现分布式访问,分布式读写分,而程序别分布式讉K的每个db cache节点Q又可以是一l业务或者一l业务拆分开来的多台服务器的负蝲均衡。这L(fng)架构?x)?f)后面的数据库和存储层大大的减压力,那么q里呢,相当? 指挥部的外层?jin)?br />
W五层:(x)数据库cache层,比如Qmemcache,memcachedb,tc{等?br />
Ҏ(gu)不同的业务需求,选择适合具体业务的数据库。对于memcache、memcachedb ttserver?qing)相关nosql数据库,可以在第四层通过E序来实现对本层实现分布式访问,每个分布式访问的节点都可能是一l负载均衡(数十台机器)(j)?br />
W六层:(x)数据库层Q一般的不是大站点都会(x)用mysqlMl构Q如Q?63,sina,kaixin都是如此Q程序层做分布式数据库读写分,一主(? 双主Q多从的方式Q访问大?jin),可以做q的M?qing)环状的多主多从Q然后,实现多组负蝲均衡Q供前端的分布式E序调用Q如果访问量在大Q就需要拆业务?jin),? 如:(x)我再l某企业做兼职时Q发现类似的51cto的一个站点,把www服务,blog服务Qbbs服务都放一个服务器上,然后做主从。这U情况,当业务访 问量大了(jin)Q可以简单的把www,blog,bbs服务分别各用一l服务器拆分开Q这U方式运l都?x)的没啥隑ֺ。当然访问量在大?jin),可以l箋针对某一个服? 拆分如:(x)www库拆分,每个库做一l负载均衡,q可以对库里的表拆分。需要高可用可以通过drbd{工具做成高可用方式。对于写大的Q可以做M或多ȝ MYSQL REP方式Q对于ORACLE来说Q来几组oracle DGQ?master多salve方式Q就够了(jin)Q?1G的DG可以象mysql rep一P支持d分离?jin)。当然可选的Ҏ(gu)q有Qmysql cluster 和oracle 的RACQ玩mysql cluster和oracle RAC要需要更好更多的g?qing)部|后的大量维护成本,因此Q要l合考虑Q到q里讉K量还很大Q那恭喜了(jin)Qv码是几千万以上甚至上亿的PV?jin)?br />
象百度等巨型公司除了(jin)?x)采用常规的mysql?qing)oracle数据库库外,?x)在性能要求更高的领域,大量的用nosql数据库,然后前端在加DNSQ负载均衡,分布式的d分离Q最后依然是拆业务,拆库Q。。。逐步l化Q然后每个点又可以是一l或多组机器?br />
特别提示Q数据库层的g好坏也会(x)军_讉K量的多少Q尤其是要考虑盘I(y)O的问题,大公司往往在性h(hun)比上做文章,比如核心(j)业务采用g netapp/emc?qing)san光纤架构Q对于资源数据存储,如图片视频,?x)采用sas或固态ssd盘,如果数据大Q可以采取热点分取分存的Ҏ(gu)Q如Q最 常访问的10-20%使用ssd存储Q中间的20-30%采用sas盘,最后的40-50%可以采用廉h(hun)的sata?br />
W七层:(x)千万UPV的站如果设计的合理一些,1Q?个NFS SERVERp够了(jin)。我所l护Q兼职)(j)或经历过的上千万PV的用NFS?qing)普通服务器做存储的q有大把Q多一些磁盘,如SAS 15K*6的,或者用dell6850Q搞几组 NFS存储Q中网站够了(jin)。当然可以做成drbd+heartbeat+nfs+a/a的方式?br />
如果能达到本文设计要求的Q中{规模网站,后端的数据库?qing)存储压力?x)非常了(jin)?象门L(fng)站别,如sina{, ?x)采用硬件netapp/emc{等g存储讑֤或是san光纤同道Q甚臛_性h(hun)比上做文章,比如核心(j)业务采用gnetapp/emc?qing)san光纤? 构,对于资源数据存储Q如囄视频Q会(x)采用sas或固态ssd盘,如果数据到Q可以采取热点分取分存的Ҏ(gu)Q如Q最常访问的10-20%使用ssd? 储,中间?0-30%采用sas盘,最后的40-50%可以采用廉h(hun)的sata?br />
象百度等巨型公司?x)采用hadoop{分布式的存储架构,前端在加上多层CACHE?qing)多及(qing)的负蝲均衡Q同样会(x)Ҏ(gu)业务q行拆分Q比如爬虫层存储Q烦(ch)引层存储Q服务层存储。。。可以更l更l。。。ؓ(f)?jin)应付压力,什么手D都用上?jin)?br />
    Ҏ(gu)业务Q如ZhQ开?j)网Q包括门L(fng)站的评论Q微博,大多都是异步的写入方式,x写,q发讉K数据库都是非常少量的?br />
    以上1-7层,如果都搭好了(jin)Q这h|到W四层动态服务器层的讉KQ就不多?jin)。一般的中等站点Q绝对不?x)对数据库造成太大的压力。程序层的分布式讉K是从千万?qing)PV向亿UPV的发展,当然Ҏ(gu)的业?q需要特D架构,来合理利用数据库和存储?br />
转自Qhttp://bbs.chinaunix.net/thread-3626937-1-1.html


leekiang 2011-12-11 21:43 发表评论
]]>
Case1-分库分表-传统关系数据??http://m.tkk7.com/leekiang/archive/2011/07/10/354012.htmlleekiangleekiangSat, 09 Jul 2011 16:24:00 GMThttp://m.tkk7.com/leekiang/archive/2011/07/10/354012.htmlhttp://m.tkk7.com/leekiang/comments/354012.htmlhttp://m.tkk7.com/leekiang/archive/2011/07/10/354012.html#Feedback0http://m.tkk7.com/leekiang/comments/commentRss/354012.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/354012.htmljava 代码
 

   1. 以前用hibernate主要是做一些表的映、关联,更深层的应用没有了(jin)Q所以也没什么经验,拿个具体的情冉|分析一下吧。? 
   2.   
   3. 目前主要数据库是mysqlQ由于数据库存储限制Q? 
   4. 1、通常?x)把用户名和密码放一个库(负蝲相对较少Q但也要依赖cache)。? 
   5. 2、用户基本资料拆开多台DB按用户名或ID hashQ用h展信息也拆开多台。? 
   6. 3、用L(fng)分因为太敏感Q甚至用了(jin)oracle来保证效率和E_?事实证明它比mysql慢。。它的C++l定也更不稳?。? 
   7. 4、用户发帖是保存在文件的Q数据库只保存文仉接发帖h{简单信息。? 
   8. 5、用户之间的消息是放数据库的Q当然也是按用户名hash到多収ͼq时候要查询我给别h的消息和别hl我的消息,得?个表里面查,因ؓ(f)你给别h的消息是按别人的用户名hash到某一CQ别人给你的是按你的用户名hash的,所以增加一条消息就得往2个库各写一条。? 
   9.   
  10. 以上列D?jin)一部分应用Q当然由于库拆得比较散,基本上每个库都会(x)有冗余字Dc(din)? 
  11.   
  12. 上面q种情况下,能不能分析一下hibernate和ActiveRecord用得比较舒服的部分?   
  13.   
  14. 我在用rails的时候,ActiveRecord对于多数据库支持q不好,即是有q样的方案也是非方的技巧。分表情况下表之间的兌基本上没法做Q如果没有关联,ActiveRecord的意义只是帮我们生成SQLQ? 
  15.   
  16. 多目录不是最大的问题Q也不是ȝ性能的问题,俺只x个最后的理由把RoR不适用q个目说得更充分些。。? 

 

谢谢你能够提供更多的信息来参与讨论, 针对你提到的2Q,q样的情况下Q按照我的理解,现有的java的orm框架无法针对不同库的表作映射?activeRecord应该也没有考虑到这U情c(din)?br />
不知道你们作出的分库的依据是什么,我觉得更合理的分库依据应该根据负载压力和模块独立性来分离Q比如你提到的消息发送应该是l一的模块,按照用户名hashC同的库的话,对于业务层开发带来一定的复杂度?br />
分表的话Qjava的orm有些{略可以l着解决Q比如用l承{略来解冟뀂但是也是比较别扭?不过Q我更想?jin)解的是你们作出的分表的依据是什么?

q样的情况下Q模型的兌映射在现有的orm框架下确实太牵强?jin),即用?jin)Q收到的效果也是很小的,模型也会(x)随之退化到单实?基本cd外键的维护上来,如果让我选择的话Q基本上也是选择spring的jdbcTemplate?jin)?br />
如果觉得java orm是促(j)q开发效率的一个基本前提的话,那么在系l架构选择上,特别是数据库架构设计上,可能q要更慎重一些,因ؓ(f)不同于数据库底层开发,orm对于数据库的要求?x)有一些苛刅Rؓ(f)?jin)最大化获得模型映射的效果,有一些徏议不知道是否合理Q?br />
*  在考虑讉K压力的情况下Q尽量按照耦合紧密的原则分库,使得某一个库的表兌能够作充分的模型映射Q而对于少数的外库兌仍然需要做手工的维护,不过已经化到最?br />
*  因ؓ(f)数据量大而分表的话,可以采用多态映关联来做和多表的关联?br />

基本上分库主要原因都是和定w或性能有关Q上亿用P每个用户只保存一个用户名和密码,也有好几G的数据?br />
Z(jin)d部分效率考虑Q用户名和密码拆C个库中,因ؓ(f)q部分读取ƈ不是特别频繁Q所以目前用d方式Q备的目的是L掉至不?x)让用户无法dQ顶多无法注册而已?br />
用户的基本资料字D|固定的,但容量有些大Q访问也比较频繁。之前用h有中间层Q所以拆库来提高效率。现在有中间层,拆库的意义也变了(jin)Q领g希望M一台机器故障媄(jing)响到所有用P影响部分用户q是勉强可接受的。实际上随着用户的不断增加,即便是用中间层也会(x)有压力,毕竟中间层只是帮数据库挡?jin)读取的压力Q而读写比例通常情况下是10:1左右?br />
用户扩展信息Q这个是一对多的,一个用户可自定义不同的字段Q通常是用h修改时更C下,d压力q不大,同样是因Z间把把读取压力都挡掉?jin),但容量非常大?br />
当然也考虑q如果有中间层,是不是数据库不用拆得q么l,目前也做q一些合q工作,不过意义q不大,因ؓ(f)所有数据库定w加v来以T计,不管是备份还是扩容甚至修复硬件故障都?x)?jing)响用户很长时_(d)现在拆得q么l,通常一个点的故障只?x)?jing)响一部分用户的一部分功能。目前硬件故障还是会(x)l常有的Q比如某国外品牌的服务器故障率非帔R。扩容也是经怼(x)有的Q文件每天上传量pq?TQ每月都增加存储。数据库差不多每3?6月都要重新拆分一ơ,因ؓ(f)定w?br />

分库分表最?jng)_践大ȝ
一、随着企业业务的增长,讉K量和用户{数据的增加Q传l的关系数据库已l不能满需?

分表分库成?jin)节省成本、和良好扩展性的必然选择

|上也有很多开源的分表分库的Y?也公司自己开发实?

而终其原理和步骤都无外乎三步:

  ?strong>首先sql解析路由Q再Ҏ(gu)路由定分片Q然后结果集合ƈ

  所遇到的分表分库的大都是对分布式事务的支持Q?strong>分片后的分页

和排?/strong>{?

二、实现方式大都在两个层面Q?

卛_应用?代表?strong>hibernate shards,ibatis shards,guzz {?

?在jdbc之下 对应用层完全透明??strong>amoeba


三、那么企业在分表分库的实践中该如何选择呢?

假如(zhn)是一开始就惛_新的分表分库 公司没打做自己的分表分库框Ӟ那么推荐用guzz,

q个cM于hibernate ?ibatis的框?很多|站都在?~点是技术团队需要重新学?fn)一套框?

跟旧的系l很隑օ容;


假如(zhn)的pȝ很ؕQ分表分库规则很单,q且数据库是mysql

推荐用amoeba Q虽然有oracle版本Q但目前不是很成熟;


假如(zhn)的技术团队一直用hibernate ,或企业现在的很多目现在都用hibernate做的

那么推荐?strong>hibernate shardsQ这个类似hibernateQ学?fn)成本低Q能?

hibernate兼容

目前国内有在hibernate  shards上封装的成功案例,

~点是list查询旉历所有数据片Q而不是根据sql规则定的数据片?

q个bug?qing)在hibernate shards上如何扩展问题我已解?附g是解决的架构图,

需要源代码的或详细可以联系我;


ibatis shards?strong>hibernate shardscMQ也可借鉴本h所设计的架?

思想 Ƣ迎有志之士详聊


?
一、hibernate shards
优点Q?
1、实现跟其他成熟框架的集成如spring
{?
2、能利用公司现有的hibernate的技术优?
3、目前国内有成功案例在hibernate  shards上封?
的商业Y?
4、能够快速开?
~点:
1、暂不支持垂直分?
2、list查询遍历所有表分片



leekiang 2011-07-10 00:24 发表评论
]]>
可扩展性与可׾~?/title><link>http://m.tkk7.com/leekiang/archive/2011/03/23/346895.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 23 Mar 2011 15:11:00 GMT</pubDate><guid>http://m.tkk7.com/leekiang/archive/2011/03/23/346895.html</guid><wfw:comment>http://m.tkk7.com/leekiang/comments/346895.html</wfw:comment><comments>http://m.tkk7.com/leekiang/archive/2011/03/23/346895.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/leekiang/comments/commentRss/346895.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/leekiang/services/trackbacks/346895.html</trackback:ping><description><![CDATA[我的理解Q?br />可׾~性是指系l通过增加或减硬件水q从而提升或降低pȝ性能的难易程度。可伸羃性分为scale up和scale out。scale up是指提高单台服务器的g水^来提高系l的整体处理能力Q可以调整的有CPUQ存储,内存{;scale out是指通过增加pȝ的处理节点的方式来提高系l的整体处理能力?br />可扩展性是软gpȝ应对需求增加或需求变化的能力?br /><br />参考:(x)<br /><a target="_blank" >软gpȝ的可伸羃性(scalabilityQ设计ȝ</a><br /><img src ="http://m.tkk7.com/leekiang/aggbug/346895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/leekiang/" target="_blank">leekiang</a> 2011-03-23 23:11 <a href="http://m.tkk7.com/leekiang/archive/2011/03/23/346895.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库拆?/title><link>http://m.tkk7.com/leekiang/archive/2010/12/12/340379.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 11 Dec 2010 16:55:00 GMT</pubDate><guid>http://m.tkk7.com/leekiang/archive/2010/12/12/340379.html</guid><wfw:comment>http://m.tkk7.com/leekiang/comments/340379.html</wfw:comment><comments>http://m.tkk7.com/leekiang/archive/2010/12/12/340379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/leekiang/comments/commentRss/340379.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/leekiang/services/trackbacks/340379.html</trackback:ping><description><![CDATA[ <strong> </strong>在前面“应用拆分”主题中Q我们提C(jin)一个大型互联网应用需要进行良好的拆分Q而那里我们仅仅说?jin)”应用别”的拆分Q其实我们的互联|应用除?jin)? 用别的拆分以外Q还有另外一个很重要的层面就是存储如何拆分的。因此这个主题主要涉?qing)到如何对存储系l,通常是所说的RDBMSq行拆分?p>定?jin)这个小节的主题之后Q我们回一下,一个互联网应用从小变大的过E中遇到的一些问题,通过遇到的问题来引出我们拆分RDBMS的重要性?/p><p>pȝ刚开始的时候,因ؓ(f)pȝ刚上U,用户不多Q那个时候,所有的数据都放在了(jin)同一个数据库中,q个时候因为用户少压力,一个数据库完全可以应付? ?jin),但是随着q营那些哥们辛苦的呐喊和拼命的推q以后,H然有一天发玎ͼoh,god,用户数量H然变多?jin)v来,随之而来的就是数据库q哥们受不了(jin)Q它l? 于在某一天大安和惬意的时候挂掉啦。此Ӟ׃搞技术的哥们Q就ȝ看究竟是啥原因,我们查了(jin)查以后,发现原来是数据库d压力太大?jin),此时׃都清? 是到?jin)读写分ȝ时候,q个时候我们会(x)配置一个server为master节点Q然后配几个salve节点Q这样以来通过d分离Q得读取数据的压力? 摊到?jin)不同的salve节点上面Q系l终于又恢复?jin)正常,开始正常运行了(jin)。但是好景还是不长,有一天我们发现masterq哥们撑不住?jin),它负载老高?jin)? 汗流背Q随旉有翘掉的风险Q这个时候就需要咱们垂直分区啦Q也是所谓的分库Q,比如商品信息,用户信息Q交易信息分别存储到不同的数据库中,同时 q可以针对商品信息的库采用masterQsalve模式QOKQ通过分库以后Q各个按照功能拆分的数据库写压力被分担到?jin)不同的server上面Q这? 数据库的压力l于有恢复到正常状态。但是是不是q样Q我们就可以高枕无忧?jin)呢QNO,q个NOQ不是我说的Q是前辈们通过l验ȝ出来的,随着用户量的? 断增加,你会(x)发现pȝ中的某些表会(x)变的异常庞大Q比如好友关p表Q店铺的参数配置表等Q这个时候无论是写入q是dq些表的数据Q对数据库来说都是一个很 耗费_֊的事情,因此此时需要我们进行“水q_区”了(jin)Q这是俗话说的分表Q或者说shardingQ?/p><p>上面说了(jin)很多Q无非就是告诉大家一个事实“数据库是系l中最不容易scale out的一层”,一个大型的互联|应用必然会(x)l过一个从单一DB server,到Master/salve,再到垂直分区Q分库)(j)Q然后再到水q_区(分表QshardingQ的q程Q而在q个q程中,Master /salve 以及(qing)垂直分区相对比较Ҏ(gu)Q对应用的媄(jing)响也不是很大Q但是分表会(x)引v一些棘手的问题Q比如不能跨多个分区join查询数据Q如何^衡各个shards? 负蝲{等Q这个时候就需要一个通用的DAL框架来屏蔽底层数据存储对应用逻辑的媄(jing)响,使得底层数据的访问对应用透明化?/p><p>出处:<a target="_blank" >大型B2C|站高性能可׾~架构技术探U?/a></p><a rel="permalink">又拍|架构中的分库设?/a><img src ="http://m.tkk7.com/leekiang/aggbug/340379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/leekiang/" target="_blank">leekiang</a> 2010-12-12 00:55 <a href="http://m.tkk7.com/leekiang/archive/2010/12/12/340379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何成ؓ(f)优秀的系l分析员http://m.tkk7.com/leekiang/archive/2009/11/26/303829.htmlleekiangleekiangThu, 26 Nov 2009 15:59:00 GMThttp://m.tkk7.com/leekiang/archive/2009/11/26/303829.htmlhttp://m.tkk7.com/leekiang/comments/303829.htmlhttp://m.tkk7.com/leekiang/archive/2009/11/26/303829.html#Feedback0http://m.tkk7.com/leekiang/comments/commentRss/303829.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/303829.htmlNetReptile推荐 [2005-2-1]
出处Q来自网?/font>
作者:(x)truely,bylsfboy{?/font>
 

truelyg的设计定义:(x)设计的过E就是将事务处理抽象成计机模型的过E?
1. 首先要明白设计远比编E重要?
2. qx注重训练自己的思维严}性和从全局考虑问题的能力。徏立冷?rn)思考问题的处事态度?
3. 设计Ӟ其是数据库设计Ӟ(j)不要完全被规矩约束,设计好比作诗Q懂得韵律是对的Q但完全被韵 律所束缚(x)Q就作不出好诗了(jin)?
4. 多做设计Q经常ȝ自己的不之处和成功之处Q向他hh?
5. 专门L别h设计的漏z和不Q也是提高自p计水q的重要手段?
Q记住:(x)q个好方法不要顺便外传,自己知道p?jin),d-:Q?
6. l验是重要的Q但如果观念老化而不善于ȝ提高Q所谓的l验成为束~自p步的枷锁?
7. 学好数学特别是理论数学如数学分析、运{学、数学模型等。多玩策略性经营游戏也是有益的。推?《帝国时代》和《模拟首?000》以?qing)《大富翁4》。(但不要沉陷在里面Q?
8. Ҏ(gu)目情况和开发^台工L(fng)特点定最佳的设计Ҏ(gu)。模块化设计Ҏ(gu)和面向对象设计。两U设 计方法的l合使用?
9. 复杂无序的q程用模块化的方法进行分解,但要注重事务间的联系Qƈ且用开攄眼光去设计?
10. 设计时对严}性、灵zL、开发效率、客戯求四个方面做衡量取舍?
11. 设计时还要根据整个工E的q度安排和客户对软g的要求而决定是否设计得_灉|和严谨?
12. 复杂而无条理是最p的设计Q简单实用ƈ不一定是最好的Q但一定不是最坏的。(不要说我h哟)(j)
13. 训练自己良好的表达能力,能用清晰明确而且单的描述表达?gu)q基本思\?
14. 在一个项目中建立l一的系l分析模式和文档模板Q同Ӟ一个项目中必须臛_有一个hҎ(gu)个系l?设计q行(g)查和q行全局的考虑?


再谈如何成ؓ(f)一个好的系l分析员Q?

bylsfboy

pȝ分析员基本功Q?

好的pȝ分析员都是从优秀的程序员中生的Q坚实的~程功底、丰富的l验是今后做pȝ分析的基?
没有对系l本w进行过透彻剖析q,很难领会(x)到其中一些难以言q的_֍。但q不{于好的E序员就能够 成ؓ(f)好的pȝ分析员?

? 理的知识l构。语a能力、文字表达能力、技术的全面性等是对pȝ分析员的基本要求。比如说c/s? 层开发,如果仅仅对netscape公司的品熟(zhn)还不够Q还需要了(jin)解比如微软等产品Qƈ且要?jin)解他们中? 生历?发展思\Q技术优劣,以应付各U穷q猛打的提问。但更重要的是,q是你ؓ(f)应用定制技术要?的前提?

pȝ分析员思想Q?

? 局观念是系l分析员必须具备的观c(din)如果系l分析员设计时太注重l节Q往往?x)陷入在某个问题上? ~不清的泥潭。(93q_(d)我论文指D师的一席话影响?jin)我随后几年对Y件开发的理解----今后计算Z(x) 来快Q多写几行代码少写代码无关紧要,最重要的是整体Q一开始就错了(jin)Q某个部份编得再好,也是 没有用的Q?

d隑ֺ的预能?

p? l分析员要具备快速的d隑ֺ预测能力以及(qing)具备快速确定开发小lh员构成和d划分的能力。(? 这条归为思想Q而不是能力)(j)昆虫自然?x)长出翅膀Q而思想却需要长期的润。要做到q点Q需要大? 的思考、学?fn)。设计远比编E重要。当今Y件业的发展,各种开发工L(fng)出现Q编E已l不是什么问题, E序员的工作某种E度上讲是将别h现成的东西拼凑堆砌v来。系l分析员要清楚的认识刎ͼ现在大多? E序员没有学?x)怎么L体的?jin)解一个系l,有些甚至不了(jin)解编E(q不是说他们不会(x)写代码)(j)。可视化 的开发工具加五花八门的控ӞE序员可以偷Ҏ(gu)?jin)。(q可不是夸大Q我好几q的理工作Q接触过? 量的E序员)(j)Z技术,跛_框架。基于现有技术结合用户需求思考问题,设计时蟩出框架?

pȝ分析员思想Q?

pȝ分析 员要有面向用L(fng)思想。系l分析员应当有能力将自己扮演成用P来了(jin)解要交付的项目看h 想什么样式,感觉想什么,从而了(jin)解用L(fng)xq挑选出合理部䆾d发。从q个意义上说Q系l分析员 才能获得有意义的见解dg的开发组成员。系l分析员头脑中要寚w目结局有一个清楚的认识Qƈ? 证项目不偏离方向。系l分析员要有Ҏ(gu)于技术,高于技术思考问题的思想。纯_的E序员通常Ҏ(gu)l结 果考虑的不是很多,当一U新的技术在?jng)场上出现时Q他们对能否按时交付的考虑比较少Q而强烈希? 他们的计划能够徏立在新的技术之上。因此,pȝ分析员的x和行动要象一个用P又要能够站在技?的高度,成ؓ(f)真正的用戗程序员之间的代a人?

pȝ分析员的关键

获得信Q。系l分析员最重要的素质是获得信QQ这是成ZUpȝ分析员的关键。成熟最为关键。成?可以为整个项目组提供正确的支?能够理解技术怎样才能解决用户的需求?

pȝ分析员的准备工作

l? 一的各U文档模式,q其中包括今后Y件变量、字D命名规则。我推荐用pb制定的规则做基础Q通过? 造成为适合自n实用的标准。统一的文档管理。统一的分析Y件。比如说roseQuml太规范,国内的Y? 理水^Ҏ(gu)用不上,只不q尽量应用,你自己对pȝ分析的理解有好处Q? Ҏ(gu)是思想的放映,在具体方法上׃多说?jin)。我托h从u$a弄到几本书,用于面向对象pȝ开发的? 用》、《面向对象的分析》、《项目管理》等都是很不错的Q推荐大家看看?

我在拙作"在中国没有h懂计机"里发?jin)点牢?d)Q听说挨?jin)部份hQ习(fn)惯性的Q骂。其实,bbs本来是 发泄的地方,在这里从来就|有有内容的文章?

? ?l纳?登陆深圳后,大家更着g从宏观看中国的it业了(jin)。中国itq棵树(wi)Q说实在的,长到今天 实在是不Ҏ(gu)。一些h提出?反对微Y霸权"的口P不少人呼唤中?谷"的出现。微软的成功不是技 术的成功Q更多的是商业运作的成功。中国itq棵?wi)能长多高,取决于他所植根于的土壤。而现在的事实是,q片土壤实在是太贫瘠?jin)!如果按我们现在的思\? 搞法Q是长不成大?wi),更别指望能结???Q?谷"q样丰硕的果实。如果说Q我们的软g技术落后美国十q_(d)我们的硬件制造技术则落后国 二十q_(d)我们的管理水q后美国至三十年。而最l决定发展速率的恰恰是我们的死I──低劣的管? 水^。低劣的理水^的Ş成的原因有着深厚的背景和多方面的原因?

pȝ分析工作是解决一个问题的工作,目标是将一个对计算机应用系l的需求{化成实际的物理实?其中 复杂复杂在实际的面太多.在系l分析过E之中注意问以下的问?可能?x)所q行的系l分析设计工作有 帮助.

1)(zhn)所完成的系l目的是什?注意不是功能要求,而是目的.也就是ؓ(f)什么要、ؓ(f)什么要C?

2Q?zhn)所完成的系l有哪些斚w参与Q各斚w的初h什么?那些人可能在pȝ中v重要作用Q他??x)采取什么样的态度Q你对他们有多少影响力?

3Q?zhn)的系l是否有一个明的评h(hun)标准Q最好从参与的各斚w都进行考虑?

4Q你的系l设计思想是什么?是否能够得到各方面的认可?

5Q你对参与系l设计开发的人员?jin)解吗?他们的特长在哪里Q是否愿意与你合作,Z么?你对他们?_的媄(jing)响力吗?

6Q你的系l开发计划是否完善?你的计划表有明确的阶D吗QQ何一阶段都应该怎样完成Q如何对q一 阶段完成的情况进行评P

7Q你Ҏ(gu)采用的系l开发方法以?qing)工h否熟(zhn)?你的夥伴是否熟?zhn)Q?

8Q你所完成的系l是否有原型Q计机的或者物理的?

以上的几个问题都是在pȝ分析以及(qing)pȝ规划时涉?qing)到的,供各位参考?

pȝ分析工作是解决一个问题的工作,目标是将一个对计算机应用系l的需求{化成实际的物理实?其中 复杂复杂在实际的面太多.在系l分析过E之中注意问以下的问?可能?x)所q行的系l分析设计工作有帮助

1)(zhn)所完成的系l目的是什?注意不是功能要求,而是目的.也就是ؓ(f)什么要、ؓ(f)什么要C。在考虑pȝ目的Ӟ我更多的侧重于系l的最l目标考虑Q因Z个系l不可能一下子完美Qؓ(f)pȝ留些 余地?

2Q? (zhn)所完成的系l有哪些斚w参与Q各斚w的初h什么?那些人可能在pȝ中v重要作用Q他? ?x)采取什么样的态度Q你对他们有多少影响力?中国it行业的失败之一是?太年?Q一定要有领导的 支持Q否则完蛋。不要认己对他们?x)有多少影响力,即便有,也要可能的认?f)是决{者再影响? 们。在中国Q一个技术员Q你老几Q说到这里我很?zhn)哀。哪些h在系l中起重要作用ƈ弄清楚他们的?度,q点十分关键?

3Q?zhn)的系l是否有一个明的评h(hun)标准Q最好从参与的各斚w都进行考虑。不知道q样说对不对Q在p?l徏设之前,对你的程序员、对你的领导要有臛_不同的两U评仗?

4Q你的系l设计思想是什么?是否能够得到各方面的认可。如果高明,寚w对{对E序员都采用引导Q?得到认可的最好办法,是让他们认可他们自qx。(我力图这样做Q但做得不好Q系l分析员有一 点要学会(x)韬光LQ忍Q?

5Q你对参与系l设计开发的人员?jin)解吗?他们的特长在哪里Q是否愿意与你合作,Z么?你对他们?_的媄(jing)响力吗?软g发展C定的E度Q不是编E,不是数学Q而是理?

6Q你的系l开发计划是否完善?你的计划表有明确的阶D吗QQ何一阶段都应该怎样完成Q如何对q一 阶段完成的情况进行评P

7Q? 你对所采用的系l开发方法以?qing)工h否熟(zhn)?你的夥伴是否熟?zhn)Q事实上Q不是每U好的工具都? 使用Q也q不一定都要他们熟l掌握。提醒诸位一句,当你方案做得可以不依赖某个E序员,你在E序 员面前就无信daQ因Z此程序员受到更大的生存压力。我坚决不在公司使用rose?

8Q你所完成的系l是否有原型Q计机的或者物理的?

以上的几个问题都是在pȝ分析以及(qing)pȝ规划时涉?qing)到的,供各位参考?

q文章很好,我的话是Q?需求分析实际应该是问题分析"。含义是pȝ要解决的是问题。而不是用h?的需求。经常发现系l完成后Q客戯"我的问题q没有解?。可是,需求分析稿上的目标都搞定了(jin)?

既然是问题分析,所以,熟?zhn)目标pȝ的知识就是必要的。甚臻I可以_(d)一个好的系l分析员也应该是 好的业务专家?

? 很高兴在q里遇到许多分析高手Q可以交分析中的问题。我赞同从来的观炏V在中国作分析重要的? 人气Q因Z国的企业U信息系l的在很大程度上可以说ƈ非确有需求,而是q于某种压力。用户在 很多时候考虑的不是系l的长远发展Q而只是短期的成果Q要求开发单位在很短的时间内完成一个很大的 pȝ的开发,没有旉对系l进行周密的分析Q在q种情况下,很多开发商׃(x)_分析,_设计,快q? 入编码阶D,q样的系l的生命周期肯定不会(x)很长。说?jin)这么多Q只是想_(d)pȝ分析员确实应是业务和 理专家Qƈ且需要有很好的语al织能力Q他需要根据问题域中存在的问题d力说服用P引导用户 需求,毕竟Q我们是专家Q如果让用户늝d赎ͼpȝ不会(x)是成功的pȝ。(当然?jin),q要建立在用?是可引导的前提下Q本人拙见?

在理解和分析用户的需求时Q应说服用户明白Q徏立计机应用pȝq不是简单地用计机代替手工?
作,它更应该是管理思想的一ơ革命,是现用户模式的一ơ升华和提高。如果系l不能高于现实,开发的pȝ长期陷入需求的反复修改Q其软g的生命周期也短了(jin)?

针对我对(zhn)的问题的理?试着作如下一般?理论性的回复:

需求分?(zhn)可以采用usecasedriven的方法进行需求分?在明需求分析的基础?定需要采用的pȝ分析Ҏ(gu)(l构?面向对象/构g?应用(zhn)的开发团队所定采用的分?设计Ҏ(gu),q行pȝ分析.Ҏ(gu)(zhn)所采用的分析方?依次或反复进行系l设?建模.

http://www.sawin.cn/doc/SA/SATech/NetReptile14.htm



leekiang 2009-11-26 23:59 发表评论
]]>
E序员与pȝ分析?/title><link>http://m.tkk7.com/leekiang/archive/2009/11/26/303828.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 26 Nov 2009 15:56:00 GMT</pubDate><guid>http://m.tkk7.com/leekiang/archive/2009/11/26/303828.html</guid><wfw:comment>http://m.tkk7.com/leekiang/comments/303828.html</wfw:comment><comments>http://m.tkk7.com/leekiang/archive/2009/11/26/303828.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/leekiang/comments/commentRss/303828.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/leekiang/services/trackbacks/303828.html</trackback:ping><description><![CDATA[作?一?br /> 来源Qhttp://go5.163.com/ <br /><br /> 软g开发需要综合考虑pȝ模型,环境因素,软g工程,|络q接,用户界面,数据和|络。?br /><br /> 开发即为写E序且写到非常熟l吗?E序设计也许是永q的基本技能和高度艺术,但今后决不是开发者的M。?br /><br /> 真正需要的乃是搭积木式的系l构{和l护,故必d各个U木块进行深入了(jin)解。作Z个程序员不算是最辛苦,最辛苦的是pȝ分析员。最辛苦的不是设计和搭出 多少个系l?而是d不止的知识获取和吸收。学?fn)和研究已成为当今开发h员最为坚苦的一工? pȝ的概念也已深如h? <br /><br /> q世界变化得真快,当我q在埋头查阅 NT4.0巨大的文档时,w旁有h很是令我?j)惊地说了(jin)一?" 别折腾了(jin),留点儿体力给 NT5.0 ?!"<br /><br /> 老实?每当面对q样的现?我L有一U气喘吁吁的感觉。自从我开始接触计机,仿佛(jng)每一天都在不停地奔跑,都在卖力地追赶。但l果L?x)落?在我q没有完全从?? 扑֛感觉?我在|上又发C(jin)??的踪q?时,我感觉自己没希望?jin)。?br /><br /> 开发是一U思\,利用别h的成果才是最高的境界,在设计时应尽量多找一些已有的核心(j)代码。在开发中U篏的应该是寚w题之分析能力,对出错情况之诊断能力, 对结构之设计能力, 而不仅仅是编写代码的能力? 打好基础Q计机评讄的都是基课。学?fn)其他技术的基础没有q时不过时之_(d)现在一些新技术往往华而不?不能告诉你本质的东西,对大家不?x)有质的? 高。?br /><br /> 一呌用工?多叫程序员,IT许多行业需要理解和融会(x)贯通的理论?qing)技术。开发工具只是辅助性的,掌握开发的思想和理论精华才是一名程序员向高层次发展的真正Q?否则只有一辈子当代码工Z(jin)! 说系l分析员~程弱恐怕有失偏颇?gt; <br /><br /> 可以说大多数好的pȝ分析员都是从优秀的程序成长v来的。很难想象一个对~程不甚?jin)解的h可以划分好模?更不要说较准的估计出工作量和工作进度的? 可以说系l分析是建立在程序编写上的一U学问。也 可以说是一U宏~程。我x们不应该把做软工和做E序员对立v来。Q何事物在不同的阶D都有它的表现Ş式。同样一个h,开始工作的一q他是程序员,一q后 他就是系l分析员?jin)。干的活其实差别不大,只是把注意力和精力从l节转移到宏观上|了(jin)? 我老是有一U比较天真的xQ那是:软g工程是需要创造性思维的。?br /><br /> 换句话说,好的软gl不仅仅是漂亮的代码。不ZU计机技术角度来? q是其他的角度也?没有qh的想法都是不行的。写E序不应该只考虑? 一D代码如何。思\宽广 是一个相当重要的素质? 但是,~程~得多了(jin),往往?x)自己闭塞自q思\,把自己限制在一个比较狭的范围内。系l分析员也许写代码根本就很弱,但是思\宽广,l筹全局的能力一? 要有,一定要看到很多E序员考虑不到的地斏V因?用户在意的往往不是某些E序员孜孜以求的东西。比?某个Button攄位置不好, l常比较~慢的执行速度{等?x)更令用户不满?br />http://www.sawin.cn/doc/SA/SATech/sp2sa.htm<br /><img src ="http://m.tkk7.com/leekiang/aggbug/303828.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/leekiang/" target="_blank">leekiang</a> 2009-11-26 23:56 <a href="http://m.tkk7.com/leekiang/archive/2009/11/26/303828.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pȝ分析、设计——你合格吗?http://m.tkk7.com/leekiang/archive/2009/11/26/303827.htmlleekiangleekiangThu, 26 Nov 2009 15:52:00 GMThttp://m.tkk7.com/leekiang/archive/2009/11/26/303827.htmlhttp://m.tkk7.com/leekiang/comments/303827.htmlhttp://m.tkk7.com/leekiang/archive/2009/11/26/303827.html#Feedback0http://m.tkk7.com/leekiang/comments/commentRss/303827.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/303827.html出处QJava夜无?/span>
作者:(x)蔡学?/span>

1、系l分析是什么?

  pȝ分析工作是解决一个问题的工作,目标是将一个对计算机应用系l的需求{化成实际的物理实?其中复杂复杂在实际的面太多.在系l分析过E之中注意问以下的问?可能?x)所q行的系l分析设计工作有帮助?br />  
  1Q?zhn)所完成的系l目的是什?注意不是功能要求,而是目的.也就是ؓ(f)什么要、ؓ(f)什么要C?

  2Q?zhn)所完成的系l有哪些斚w参与Q各斚w的初h什么?那些人可能在pȝ中v重要作用Q他们会(x)采取什么样的态度Q你对他们有多少影响力?

  3Q?zhn)的系l是否有一个明的评h(hun)标准Q最好从参与的各斚w都进行考虑?

  4Q你的系l设计思想是什么?是否能够得到各方面的认可?

  5Q你对参与系l设计开发的人员?jin)解吗?他们的特长在哪里Q是否愿意与你合作,Z么?你对他们有够的影响力吗Q?

  6Q你的系l开发计划是否完善?你的计划表有明确的阶D吗QQ何一阶段都应该怎样完成Q如何对q一阶段完成的情况进行评P

  7Q你Ҏ(gu)采用的系l开发方法以?qing)工h否熟(zhn)?你的伙伴是否熟?zhn)Q?

  8Q你所完成的系l是否有原型Q计机的或者物理的?

  以上的几个问题都是在pȝ分析以及(qing)pȝ规划时涉?qing)到的,供各位参考?/font>

  “需求分析实际应该是问题分析”。我们的软gpȝ要解决的是问题。而不是用h出的需求。经常发现系l完成后Q客戯“我的问题还没有解决“。可是,需求分析稿上的目标都搞定了(jin)?

  既然是问题分析,所以,熟?zhn)目标pȝ的知识就是必要的。甚臻I可以_(d)一个好的系l分析员也应该是好的业务专家?

  在中国作分析重要的是人气Q因Z国的企业U信息系l的在很大程度上可以说ƈ非确有需求,而是q于某种压力。用户在很多时候? 虑的不是pȝ的长q发展,而只是短期的成果Q要求开发单位在很短的时间内完成一个很大的pȝ的开发,没有旉对系l进行周密的分析Q在q种情况下,很多开 发商׃(x)_分析,_设计,快q入~码阶段Q这L(fng)pȝ的生命周期肯定不?x)很ѝ说?jin)这么多Q只是想_(d)pȝ分析员确实应是业务和理专家Qƈ且需要有? 好的语言l织能力Q他需要根据问题域中存在的问题d力说服用P引导用户需求,毕竟Q我们是专家Q如果让用户늝d赎ͼpȝ不会(x)是成功的pȝ。(当然 ?jin),q要建立在用h可引导的前提下)(j)

 2、基本素?/strong>

  a、系l分析员基本?/font>

  好的pȝ分析员都是从优秀的程序员中生的Q坚实的~程功底、丰富的l验是今后做pȝ分析的基?

  没有对系l本w进行过透彻剖析q,很难领会(x)到其中一些难以言q的_֍。但q不{于好的E序员就能够成ؓ(f)好的pȝ分析员?

  合理的知识结构。语a能力、文字表达能力、技术的全面性等是对pȝ分析员的基本要求。比如说c/s?层开发,如果仅仅? netscape公司的品熟(zhn)还不够Q还需要了(jin)解比如微软等产品Qƈ且要?jin)解他们中生历?发展思\Q技术优劣,以应付各U穷q猛打的提问。但更重? 的是Q这是你为应用定制技术要求的前提?
 
  b、Q务难度的预测能力

  pȝ分析员要具备快速的d隑ֺ预测能力以及(qing)具备快速确定开发小lh员构成和d划分的能力。(我将q条归ؓ(f)思想Q而不是能力)(j)? 虫自然会(x)长出膀Q而思想却需要长期的润。要做到q点Q需要大量的思考、学?fn)。设计远比编E重要。当今Y件业的发展,各种开发工L(fng)出现Q编E已l不? 什么问题,

  E序员的工作某种E度上讲是将别h现成的东西拼凑堆砌v来。系l分析员要清楚的认识刎ͼ现在大多数程序员没有学会(x)怎么L体的?jin)? 一个系l,有些甚至不了(jin)解编E(q不是说他们不会(x)写代码)(j)。可视化的开发工具加五花八门的控ӞE序员可以偷Ҏ(gu)?jin)。(q可不是夸大Q我好几q的理? 作,接触q大量的E序员)(j)Z技术,跛_框架。基于现有技术结合用户需求思考问题,设计时蟩出框架。?

  c、系l分析员思想

  pȝ分析员要有面向用L(fng)思想。系l分析员应当有能力将自己扮演成用P来了(jin)解要交付的项目看h想什么样式,感觉想什么,从而了(jin) 解用L(fng)xq挑选出合理部䆾d发。从q个意义上说Q系l分析员才能获得有意义的见解dg的开发组成员。系l分析员头脑中要寚w目结局有一个清楚的 认识Qƈ保证目不偏L向。系l分析员要有Ҏ(gu)于技术,高于技术思考问题的思想。纯_的E序员通常Ҏ(gu)l结果考虑的不是很多,当一U新的技术在?jng)场上? 现时Q他们对能否按时交付的考虑比较少Q而强烈希望他们的计划能够建立在新的技术之上。因此,pȝ分析员的x和行动要象一个用P又要能够站在技术的 高度Q成为真正的用户、程序员之间的代a人?br />  
  d、系l分析员的关?/font>

  获得信Q。系l分析员最重要的素质是获得信QQ这是成ZUpȝ分析员的关键。成熟最为关键。成熟可以ؓ(f)整个目l提供正的支持,能够理解技术怎样才能解决用户的需求?/font>

3、葵花宝?

  设计的过E就是将事务处理抽象成计机模型的过E?/strong>

  1. 首先要明白设计远比编E重要?

  2. qx注重训练自己的思维严}性和从全局考虑问题的能力。徏立冷?rn)思考问题的处事态度?

  3. 设计Ӟ其是数据库设计Ӟ(j)不要完全被规矩约束,设计好比作诗Q懂得韵律是对的Q但完全被韵律所束缚(x)Q就作不出好诗了(jin)?

  4. 多做设计Q经常ȝ自己的不之处和成功之处Q向他hh?

  5. 专门L别h设计的漏z和不Q也是提高自p计水q的重要手段?/font>

  6. l验是重要的Q但如果观念老化而不善于ȝ提高Q所谓的l验成为束~自p步的枷锁?

  7. 学好数学特别是理论数学如数学分析、运{学、数学模型等。多玩策略性经营游戏也是有益的。推荐《帝国时代》和《模拟首?000》以?qing)《大富翁》。(但不要沉陷在里面Q?

  8. Ҏ(gu)目情况和开发^台工L(fng)特点定最佳的设计Ҏ(gu)。模块化设计Ҏ(gu)和面向对象设计。两U设计方法的l合使用?

  9. 复杂无序的q程用模块化的方法进行分解,但要注重事务间的联系Qƈ且用开攄眼光去设计?

  10. 设计时对严}性、灵zL、开发效率、客戯求四个方面做衡量取舍?

  11. 设计时还要根据整个工E的q度安排和客户对软g的要求而决定是否设计得_灉|和严谨?

  12. 复杂而无条理是最p的设计Q简单实用ƈ不一定是最好的Q但一定不是最坏的?

  13. 训练自己良好的表达能力,能用清晰明确而且单的描述表达?gu)q基本思\?

  14. 在一个项目中建立l一的系l分析模式和文档模板Q这其中包括今后软g变量、字D命名规则等。同Ӟ一个项目中必须臛_有一个hҎ(gu)个系l设计进行检查和q行全局的考虑?/font>

http://www.sawin.cn/doc/SA/SATech/blueski1178.htm



leekiang 2009-11-26 23:52 发表评论
]]>
软g开发论Ҏ(gu)?/title><link>http://m.tkk7.com/leekiang/archive/2009/09/30/296965.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 30 Sep 2009 00:22:00 GMT</pubDate><guid>http://m.tkk7.com/leekiang/archive/2009/09/30/296965.html</guid><wfw:comment>http://m.tkk7.com/leekiang/comments/296965.html</wfw:comment><comments>http://m.tkk7.com/leekiang/archive/2009/09/30/296965.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/leekiang/comments/commentRss/296965.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/leekiang/services/trackbacks/296965.html</trackback:ping><description><![CDATA[1,q代不是敏捷独有? q说明P代也是一U一般性的Ҏ(gu)<br />2,需求分析比设计更ؓ(f)重要?br />3,现实世界-->业务模型-->分析模型-->设计模型<br />  其中业务模型体现?jin)需求,是用例?br />  分析模型与具体语a的实现无?br />  设计模型以及(qing)与语a相关?br /><img src ="http://m.tkk7.com/leekiang/aggbug/296965.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/leekiang/" target="_blank">leekiang</a> 2009-09-30 08:22 <a href="http://m.tkk7.com/leekiang/archive/2009/09/30/296965.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>契约式设计Design by Contracthttp://m.tkk7.com/leekiang/archive/2009/09/03/293802.htmlleekiangleekiangThu, 03 Sep 2009 15:42:00 GMThttp://m.tkk7.com/leekiang/archive/2009/09/03/293802.htmlhttp://m.tkk7.com/leekiang/comments/293802.htmlhttp://m.tkk7.com/leekiang/archive/2009/09/03/293802.html#Feedback1http://m.tkk7.com/leekiang/comments/commentRss/293802.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/293802.html? 先验条g针对Ҏ(gu)(method)1Q它规定?jin)在调用该方法之前必Mؓ(f)真的条g?br />? 后验条g也是针对Ҏ(gu)Q它规定?jin)方法顺利执行完毕之后必Mؓ(f)真的条g?br />? 不变式针Ҏ(gu)个类Q它规定?jin)该cMQ何实例调用Q何方法时都必Mؓ(f)真的条g?br />断言应用某U编E语a写在代码里(而不是仅仅通过文档加以声明Q?只有q样Q?br />1)对于E序员而言,它们才有意义,同时能够提供优质?有用的文?
2)能够在运行时对它们进行检?更好地支持测试和调试工作.

charon的徏议。如果你Ҏ(gu)a/防错E序不怎么熟?zhn)Q而且也搞不到那本"~程_a(b)"。买《Design by Contract by Example》这本书看看。如果已l熟(zhn)了(jin)Q到书店看个半小时到一时够?例子只要挑个一个看Q多?jin)也没?Q权当扩充知识面?jin)。用的话,当断言?jin),讄若干前置条g后置条g够?jin),q样以有效提高对程序的|信度;什么不动点QFrame RulesQ那是理Z的东西,吃力不讨好,有闲工夫的才时候可以用用(得到的效果和付出的努力不成比例)(j)?br />
我的ȝQ开始看?jin)名字以为是按约定进行设计的意思,后来大概看了(jin)看,?jin)解了(jin)一点点Q但军_不再在上面花旉?jin),试驱动开发明显要更ؓ(f)成熟和实用?br />

leekiang 2009-09-03 23:42 发表评论
]]>
pȝ分析员、系l架构师、项目经理的区别(?http://m.tkk7.com/leekiang/archive/2009/08/17/291400.htmlleekiangleekiangSun, 16 Aug 2009 19:34:00 GMThttp://m.tkk7.com/leekiang/archive/2009/08/17/291400.htmlhttp://m.tkk7.com/leekiang/comments/291400.htmlhttp://m.tkk7.com/leekiang/archive/2009/08/17/291400.html#Feedback1http://m.tkk7.com/leekiang/comments/commentRss/291400.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/291400.html上周从开发部转来一个刚毕业的小伙子Q要我面试一下看看是否适合质量部的相关工作。交谈中Q小伙子说大学里已经考过?jin)系l分析员Q于是我侉K他:(x)“系l分 析员主要做什么?? 伙子想?jin)一?x)说道?x)“系l分析员主要是l织、管理和规划pȝ”。于是我接着问道Q“如果负责组l、管理、规划的话,那和目l理的区别是什么?”小? 子想?jin)半天,l于摇着头说Q“不知道。?
      问这个问题倒不是ؓ(f)?jin)?f)隑ְ伙子Q主要是希望他能够明白,? 本上学来的东西必d实践联系hQ在开发也好在质量部也好,都离不开自己的主动学?fn)和思考,没有思考的学习(fn)只是在收集知识而已Q是不能够化为己用的。在 d学校的头两年里,大部分h是无法找到自q正的兴趣所在,我也是一P所以刚开始无论在哪个岗位都必M动学?fn)和思考,包括对自q有岗位的知识的学 ?fn),以?qing)׃不满而对岗位之外的知识的学习(fn)Q当然这是在工作之外Q,而不满正是思考的L(fng)。不q,正是因ؓ(f)无法扑ֈ真正的兴所在,需要坚守岗位,一? 面也许它?yu)是自己的兴所在,一斚w也ؓ(f)?jin)寻扄正的爱好而积蓄力量?/span>   
      额外的话说了(jin)不少Q还是回来看看,到底“系l分析员、架构师、项目经理”之间有着什么样的差别?下面按自q理解_略的整理了(jin)一下,也许q不全面Q绿色部分代表每一个角色主要需要参与考虑的活动(注:(x)下面所说的pȝ分析员؜合了(jin)设计的职责)(j)Q?
      首先看一下架构师和系l分析员的区别:(x) 1、系l分析员必须考虑自己所设计pȝ的方斚w面,他是pȝ实现的原始作者,也对pȝ能否满客户的技术要求以?qing)品成本是否可接受L(fng)最直接的作用? 2、架构师一般在软gl织内仅仅是数人,他们主要负责对品的架构q行评估以及(qing)子系l之间的接口批准上,评估的主要方面集中在pȝU的质量属性和成本 上,包括Q当前架构是否满_靠性要求、系l架构的可扩展性、可重用性、性能以及(qing)基础的公共功能等{。他们必dpȝ分析员设计出来的pȝq行最初的? 养I所以责任重大,也需要经验非怸富的人来承担。在公司其他部门和Ivar Jacobson的交中QJacobson明确的指出,架构委员?x)不是常讄l,通常都来源于团队的系l分析员Q唯一常设的职位通常只有一个主席,其他 的成员必M(f)时来源于pȝ开发的一U,只有他们最?jin)解pȝ开发的基本思想? 3、系l成本是架构师和pȝ分析员最Ҏ(gu)忽略的事情,而这个也是他们最基本的职责之一?
      接下来看看系l分析员和项目经理的差别Q? 1、一个不合理的计划往往被归咎于目l理Q但qƈ不是事实。计划的制定严重依赖于系l分析员所设计pȝ的部件完成工序,而唯一能对q个作出准确判断的只 有系l分析员。所以,计划的最初版本是来源于系l分析员而不是项目经理。项目经理在q方面的主要作用是协助系l分析员制定计划Q帮助考虑人员、资源方面的 投入情况Qƈ在项目的执行q程中严格监控项目的q度情况? 2、质量目标的制定和计划一P来源于系l分析员Q尤其是性能、可靠性等关键技术指标,而这些的W一跟踪M也是pȝ分析员。项目经理在其中的角Ԍ只是 协助pȝ分析员安排各U资源,完成q些目标的测试、跟t等zd? 3、成本是唯一的需要架构师、系l分析员以及(qing)目l理共同xq且严格控制的因素,原因很简单,q是大家靠着吃饭的来源? 4、项目其他的非技术方面的因素Q则基本都是由项目经理负责搞定,包括合同、h员沟通、采购等{?



我不认同,q样搞失败的几率很大.

你说? 目l理,pȝ分析?pȝ架构?
可以? 目l理,pȝ分析设计?来取?另外新增?首席业务分析师带队的业务支持l?Ua(b)的业务h?.

不管是大目q是项?不管目规模多大多小,我的观点和实践如?

1: 目l理 必须寚w目的范围(需?,包括要实现的功能和序?要有比Q何h都清晰的认识.

2: 目l理 要有q泛的技术背?q度和深度的技术眼?臛_要能支撑对要实现那些功能的定?实际上就是承?.

3: 目l理全局把控 pȝ?WBS, 局部的l节 WBS 可以让其他h员分? 但ƈ不代表自己对l节无法把握.

4: 一个项目的成功实施?虽然目l理不用自己写代?甚至不用自己亲自写文?但自己对整个目的技术包括细节都?jin)不指?q且又比目l其他h员更高度 的认?而且能够以ȝ的眼光找Z的地方,能够惛_新的改进的方? 在新的项目中d?对系l的功能和业务以?qing)流E进行ȝ分析,有意识的无Ş中提升自q解问题的能力.

5: 一个项目结束后,目l理 对团队徏讑֒理以及(qing)考评, 目计划以及(qing)执行, 各种变更以及(qing)H发或必ȝ历的事g 的处理能力都?x)有一个新的台阶的提升.q且能以ȝ的眼光有更高度的认识. 也就是管理能力的提升.

6:......

7: 更关键的一?是建立发展跟客L(fng)关系,增强客户的信d,?wi)立自己的个人品?q一步维护团队和公司的品质和品牌.客户对公司的认可,是徏立在公司执行具体d的团队的基础?对团队的认可是徏立在寚w目的满意度和目l理的认可上.


pȝ分析设计?是对业务有一定基(最好很熟?zhn)?,理解问题和解决问题能力特别突出的,技术广度和深度都非怼U的h员承?承担副项目经理的职责.
主要负责q行pȝ业务的分析和功能定义,接口定义,技术体pȝ制定,为项目量w定做的技术架?{职?

pȝ分析设计?领导 设计l组??开发组l长, 完成不同阶段的Q?

目l理直接领导 pȝ分析设计? 试l? 配置理l?

http://zhidao.baidu.com/question/108354211.html?fr=relateQuestion

pȝ架构设计师和pȝ分析师的区别与联p?br />
区别Q?br />pd比架构更贴近用户一点,主要是需求分析,业务分析?br />架构比系分更贴近技术一点,是技术专家、资深技术h员?br />
联系Q?br />都是高抽象U别Q同作ؓ(f)软g高职称资格Q是E序员和软g设计师的领导者和技术顾问。两个联pd于区别,一般系l分析师l和架构师组合作Q共同制定一个基技术框架?
pȝ架构偏向于技术方?包括设计

pȝ分析偏向业务,包括需求分?br />
它们也有共同之处和联p?两个职位要相互配合的.


leekiang 2009-08-17 03:34 发表评论
]]>
|站架构http://m.tkk7.com/leekiang/archive/2009/01/30/252726.htmlleekiangleekiangThu, 29 Jan 2009 18:58:00 GMThttp://m.tkk7.com/leekiang/archive/2009/01/30/252726.htmlhttp://m.tkk7.com/leekiang/comments/252726.htmlhttp://m.tkk7.com/leekiang/archive/2009/01/30/252726.html#Feedback0http://m.tkk7.com/leekiang/comments/commentRss/252726.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/252726.htmlhttp://blog.zhangjianfeng.com/article/743

2Q大型网站架构演变和知识体系
http://m.tkk7.com/BlueDavy/archive/2008/09/03/226749.html

3Q构建架构的思?br />http://www.esbzone.net/2008/08/15/think-architect/


leekiang 2009-01-30 02:58 发表评论
]]>
关于架构?/title><link>http://m.tkk7.com/leekiang/archive/2008/12/29/249012.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 29 Dec 2008 14:57:00 GMT</pubDate><guid>http://m.tkk7.com/leekiang/archive/2008/12/29/249012.html</guid><wfw:comment>http://m.tkk7.com/leekiang/comments/249012.html</wfw:comment><comments>http://m.tkk7.com/leekiang/archive/2008/12/29/249012.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/leekiang/comments/commentRss/249012.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/leekiang/services/trackbacks/249012.html</trackback:ping><description><![CDATA[1,<a >做h、做事,做架构师——架构师能力模型解析</a><br /><br />2Q?a >剑法三套Q程序员也能挣大?br /></a><br /><img src ="http://m.tkk7.com/leekiang/aggbug/249012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/leekiang/" target="_blank">leekiang</a> 2008-12-29 22:57 <a href="http://m.tkk7.com/leekiang/archive/2008/12/29/249012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UMLW记http://m.tkk7.com/leekiang/archive/2008/10/30/237698.htmlleekiangleekiangThu, 30 Oct 2008 13:51:00 GMThttp://m.tkk7.com/leekiang/archive/2008/10/30/237698.htmlhttp://m.tkk7.com/leekiang/comments/237698.htmlhttp://m.tkk7.com/leekiang/archive/2008/10/30/237698.html#Feedback0http://m.tkk7.com/leekiang/comments/commentRss/237698.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/237698.html   序列图按照时间次序,描述对象之间如何交互Q以?qing)交互时的消息。序列图是用例的_化表达。一个用例可以细化ؓ(f)一个或多个序列图?br />   用例有粒度之分,序列图也分粗l?br />


参考资?
(1)用netbeans创徏序列囄教程
   http://hi.baidu.com/woxxf/blog/item/6ba2f6efed129b12fdfa3c15.html
(2)http://hi.baidu.com/haoyan665/blog/item/61717e3f9b21d5ee54e723c6.html
(3)http://ieagle.javaeye.com/blog/104956
(4)UML 中各U图形的重要性排?
(5)在线L序图:http://www.websequencediagrams.com。玩兗?br />

leekiang 2008-10-30 21:51 发表评论
]]>
架构设计斚w的笔?/title><link>http://m.tkk7.com/leekiang/archive/2008/06/21/209737.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 21 Jun 2008 15:24:00 GMT</pubDate><guid>http://m.tkk7.com/leekiang/archive/2008/06/21/209737.html</guid><wfw:comment>http://m.tkk7.com/leekiang/comments/209737.html</wfw:comment><comments>http://m.tkk7.com/leekiang/archive/2008/06/21/209737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/leekiang/comments/commentRss/209737.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/leekiang/services/trackbacks/209737.html</trackback:ping><description><![CDATA[ <a target="_blank" >可׾~性最?jng)_践:(x)来自eBay的经?/a> <br /> <br />Z么对客户需求的理解l常变动Q那是因为没有抓住问题的本质Q没有分析出需求对应的领域模型<br />http://www.javaeye.com/topic/214489?page=2<br /><img src ="http://m.tkk7.com/leekiang/aggbug/209737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/leekiang/" target="_blank">leekiang</a> 2008-06-21 23:24 <a href="http://m.tkk7.com/leekiang/archive/2008/06/21/209737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库设计摘?/title><link>http://m.tkk7.com/leekiang/archive/2008/05/06/198790.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 06 May 2008 12:24:00 GMT</pubDate><guid>http://m.tkk7.com/leekiang/archive/2008/05/06/198790.html</guid><wfw:comment>http://m.tkk7.com/leekiang/comments/198790.html</wfw:comment><comments>http://m.tkk7.com/leekiang/archive/2008/05/06/198790.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/leekiang/comments/commentRss/198790.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/leekiang/services/trackbacks/198790.html</trackback:ping><description><![CDATA[1,  <a >http://www.javaeye.com/post/423268</a><br />把一个表分成N张相同的表是Z(jin)加速查询速度? <br />1,用数据库U的表分? 把数据分在不?的PV? 增加I(yng)O性能. (Oracle, DB2都有实现) <br />2,如果是DB2q有另一U方? 做数据库的Partition, 把数据散列到不同的单独节点供查询使用. 但这U方法只适合OLAP(虽然OLTP也有相应解决Ҏ(gu),但效果不?. <br />3,g说的, 做视? 但这U方法把动态表合在一h能也是一件很郁闷的事? <br />4,做物化视? 比动态视图访问数据的能力Z, 但数据冗余量又太? <br /><br />q有, (zhn)什么样的应用会(x)一下查询那么多的数据量? 一定是个OLAP业务? 如果? 量把它当做数据中心(j), 在它之上做个数据准备Z障时间维度一制? 按业务做不同业务的数据集?jng)供业务讉K. 那样各个数据集市(jng)的数据压力会(x)些. 数据查询l计的压力全部移到数据准备区? <p><span id="ritxawy" class="t18"></span> </p><img src ="http://m.tkk7.com/leekiang/aggbug/198790.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/leekiang/" target="_blank">leekiang</a> 2008-05-06 20:24 <a href="http://m.tkk7.com/leekiang/archive/2008/05/06/198790.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>是否应该建外键的讨论http://m.tkk7.com/leekiang/archive/2008/04/14/192910.htmlleekiangleekiangMon, 14 Apr 2008 12:44:00 GMThttp://m.tkk7.com/leekiang/archive/2008/04/14/192910.htmlhttp://m.tkk7.com/leekiang/comments/192910.htmlhttp://m.tkk7.com/leekiang/archive/2008/04/14/192910.html#Feedback0http://m.tkk7.com/leekiang/comments/commentRss/192910.htmlhttp://m.tkk7.com/leekiang/services/trackbacks/192910.html http://www.javaeye.com/topic/124612
http://www.javaeye.com/topic/2832
http://www.javaeye.com/topic/8283
http://www.javaeye.com/topic/151187
http://www.javaeye.com/topic/2312

http://www.itpub.net/viewthread.php?tid=510215&extra=&page=1

以下摘几个我自己认同的观?
1,
其实有一D|间我们的开发h员也有这U想法,以ؓ(f)E序可以控制?br /> 后来发现没有外键的表里经常有垃圾数据Q找不到父亲的孩子)(j)Q然后又把外键一一加上去,后面试才发现是应用的BUGQ在特定情况下才?x)发生的BUG?br /> 如果没有外键那数据库׃?x)报错,也就是说垃圾数据不能L?br />2,在复杂的业务逻辑下,E序来保证这个是极不可靠的,只有交给数据库从底层来保证才能避免出错?br /> 当然Q如果是E_的程序中把外键去掉会(x)怎么Pq又是另一回事?jin)?br /> 外键的存在对数据库的l护来说是有一些不方便的地斏V?br />3,我们以前做开发的时候,在开发、测试阶D,是所有业务逻辑需要的外键都加上的。数据量,q发,也无所谓什么性能什么的。等试和试q行一D|间后Q再外键去掉,以提高性能?br />4,怎么q么多h不用外键的,外键可是逻辑的约束啊Q说外键影响性能Q可以denormalize外键表啊Q但是插入更新必要W合U束啊,我觉得这是不可替代的?br /> Ҏ(gu)据的U束最好尽可能攑ֈdb里,集中理清晰准确Q以前吃q应用管理约束的亏,不过好好看看oracle sapq些范式做的都还不错啊,他们都这样做我想多少能说明点问题?br />5,你看看oraclepȝ数据表的设计,再看看大型数据库表的设计,
你就明白,外键U束无处不在.
6,该用的地方,׃定要用!前几天我们的应用E序发现一个bugQ后来我仔细一查,是׃没有使用外徏Q数据不匚wD的。教训深刻!
7,如果现在要我来选择Q我军_是要用的一定要用,q是pȝ设计的严谨性的要求Q不然生一堆垃圾数据,q是在一个好的系l中是不允许的?br />8,呵呵Q做q开发的QQ应该都?x)有q样的体?br /> 当统计报表中的数据不对的时候就知道什么叫问题严重?jin),要一点点数据L查?br />9,最好还是用数据库外键q个最直观的功能吧
至于性能不知有没有什么测试数据,I竟能慢C么程度,不要听说?x)慢׃用吧Q呵呵,从TQ݋的书里学到的Q?br />10,q要看是建立那中cd的数据库?br /> 如果是操作类型的数据?OLTP 面向应用?br /> 数据的规范化是很有必要的.. 该用外键的情况一定要?
如果是面向部?用于OLAP或徏立数据仓?
q种时?往往需要反规范?存取效率是首要因?br />
我自ql论:如果是做企业U的OLTP应用Qƈ且数据量不是非常大的话,一定要建外键。毕竟对于企业来_(d)保证数据的正性是最重要的。但如果l过长时间的q行证明代码可靠、ƈ且数据量已经很大Q这时也可以L外键以提高运行速度?/font>


leekiang 2008-04-14 20:44 发表评论
]]>
վ֩ģ壺 AVԴ߹ۿ| ձƵ߹ۿ| ˴ֳսŮ2021ƷƵ | ëƬ18ŮëƬ96| ˳ۺ߲| ѳ˸Ƶ| һ߹ۿ | ɫƵ߹ۿwww| һɫëƬ| žžžƷƵ| ˾þô߽ۺͼƬ| ߲ѹۿ| ɫһ| ٸ̫ˬ߹ۿƵ| ¼ۺͼƬ| ¸Ļ | ߹ۿ| 99ƷƵ| Ļɫͼ| ŮվɫƵѹ| ޵һseվ| ޳AƬ߹ۿWWW| ޾Ʒ| ޾ƷþþþþV| Av߲| ٸԼA | ߹ۿʮ| ޳Ļ| ҹʱ| Ļ߿Ӱȫ| ޾Ʒվ߹ۿ㶮| ƷƷþһʽ| 99Ʒһ | պƵ| þһ߹ۿ2020| xxxx18| ҹþþþ| ĻƵֻѿ| ѹվ߹ۿͼ| AVƷɫ| ѸӰ|