2005年09月14日

当我还是学生时,羡慕住豪华酒店的商务人士;当我住进酒店后,羡慕在学校嘻嘻哈哈的学生。

 我的初恋女友初恋时19岁. 
 我的现任女友初恋时16岁. 
 
 我的初恋女友是我的大学同学. 
 我的现任女友是我在泡吧时认识的. 
 
 我连哄带骗花半个月后与我初恋女友发生了关系. 
 我与现任女友认识的当天就在一起. 
 
 我和初恋女友发生关系的地点在我们宿舍. 
 我和现任女友在四星的酒店开房. 
 
 第一次和初恋女友约会.吃的是二块钱一碗的刀削面.她说吃不 
 了还夹了一大半给我. 
 第一次和现任女友约会,吃的是八十八元一份的西式牛排.完了 
 她还要了一份水果沙拉. 
 
 第一次走路送初恋女友回家,她神采飞扬.笑个不停 
 第一次走路送现任女友回家,她说我小气,怎么不打的. 
 
 送初恋女友一个“史卢比“她高兴好几天,不停得向她室友 
 炫耀. 
 送现任女友一个铂金戒子.她看了两眼,放近抽屉.原来是 
 嫌它小了. 
 
 初恋女友买衣服时,逛的大型批发市场 
 现任女友买衣服时,逛的是品牌专卖店 
 
 与初恋女友吵架,她边抽泣边小声问到:“你不爱我了吗?“ 
 与现任女友吵架,她坐在沙发上指着我骂道:“你们男人没一个 
 好东西“ 
 
 与初恋女友在一起时,她把家里每个月寄给她的生活费存到我 
 的食堂饭卡上. 
 与现任女友在一起时,我每个月的工资存到她的存折上. 
 
 与初恋女友在一起,早上我醒来时候,她已经买好了早餐等我起 
 来吃. 
 与现任女友在一起,她躺在床上对我说:“老公,我饿!去给我买 
 早餐.“ 
 
 初恋女友下课后在我教室门口等我一起去食堂吃饭.甚至有时 
 打了饭送来给我吃. 
 现在我经常下班了回来买菜做饭等现任女友回来吃.甚至有时 
 还得给她送过去. 
 
 初恋女友经常坐在我身边陪我上网到天亮,最后她伏在桌子上 
 睡着了. 
 现任女友经常打麻将打天亮 ,我坐在旁边看着,最后我坐在凳 
 子上睡着了. 
 
 初恋女友听见我和死党们说黄色笑话会脸红. 
 现任女友经常把她手机里的黄色短信转发给我. 
 
 第一次牵我初恋女友的手,她的手心在冒汗.呆呆的她任由我牵 
 着(准确说应该是任由我拖着) 
 第一次牵我现任女友的手,她自然的把手指反扣过来,牵着我 
 
 第一次与初恋女友接吻,她全身发麻.傻傻站着,发不出声音. 
 第一次与现任女友接吻.她把自己的舌头伸向我的口中. 
 
 第一次隔着衣服摸初恋女友的胸脯,她啊的一声大叫.跳着跺开 
 吓的全身出汗 
 第一次摸现任女友的胸脯,发现她乳头已经硬了起来. 
 
 第一次与初恋女友发生关系时,她迟迟不肯脱衣上床. 
 第一次与现任女友发生关系时,我们一起洗的“鸳鸯浴“ 
 
 第一次与初恋女友**时,她傻傻的躺在床上,嘴里叫着: 
 “轻点……痛“ 
 第一次与现任女友**时,她双手抱着我的背,双腿夹着我 
 的腰,嘴里叫着:“恩……快点“ 
 第一次与初恋女友**时,她出的是血. 
 第一次与现任女友**时,她出的是水 
 。。。。。。
 
 我现在好想说:“曾经有一份。。。”
 
 一声叹息中。。。。

2005年09月11日

有人对我说,到处跑就应改有个小资的相机,就像那种时尚的卡片机,记录一路的一路。

我即不小资,也不专业,只是希望在有机会记录的时候记录,因为很多时候不是你想记录就能记录的哈。

比如晚上去的MIX.

相机+256MSD卡+发票=2550

2005年09月10日

又来到春熙路上,已不是5年前那条拥挤的,充斥着杂物的小街,转而成为了这个城市的标志性街道,但却不见当年的成群美女,有的大多是外地游客,LIKE ME.

似乎慢慢变成了北京王府井给我的感觉,已经不能真正体现出这个城市的特色。

2005年07月18日

现在的时间是凌晨三点四十分,我坐在西双版纳联通大楼的二楼机房。

工作就从倒版纳的出差开始了,今天是加的第二个夜班,没事干,只有等待。

西双版纳是旅游城市,对于我们这种来工作的人而言,却总部觉得身在其中。

唯一感受到的就是晚上的夜店。

2005年06月21日

我不是一个喜欢记录生活的人,觉得会对记录的事情印象深刻,无法忘怀。

对于印象深刻的事情,喜欢拿来和现实比较,结果总是让自己活在过去,为了让自己前进,只有拒绝记录。

大学四年,还有6天。今天看了SR的BLOG,发现原来别人大学经历了这么多,而我呢? 也许早已忘记。

从进大学的第一天,就为这一天而打算,现在的情形也许非常符合最初的梦想,虽然它曾经在不断改变,但结果又turn back。

日子是一个小圈,生活是一个大圈,生命还是一个圈,最后我们总是回到原地。

2005年02月16日

CDMA系统技术的特性和优势

作者:晓林    转贴自:久久网络 

从技术上分析, CDMA2000 1X系统采用了反向导频、相干解调、前向快速功控、 Turbo码、分集发射、长交织和辅助导频等技术,与IS-95A/B系统相比,极大地提高了系统总容量和系统性能。

系统技术特性

在反向链路上, CDMA2000 1X提供反向导频信道,从而可进行相干解调,比IS-95A/B系统反向信道所采用的非相干解调技术提高3dB增益。在前向链路上,采用前向快速功控、分集发射技术(OTD或STS),比IS-95A/B 系统前向信道提高3dB增益。同时, CDMA2000 1X高速数据业务信道采用Turbo码,又比IS-95A/B采用的 Convolutional编码提高了约2dB的增益。

而对于话音用户而言,系统增益提高3dB,相应的话音用户容量的增加为IS-95A/B系统的两倍,对于高速数据用户而言,系统增益提高约5dB,其相应的数据用户容量可增加为IS-95A/B系统的3倍。因此, CDMA2000 1X系统相对于IS-95cdma系统的技术优势是不容置疑的。另一方面,CDMA2000 1X系统核心技术基带处理ASIC采用先进的制造工艺,具有更高的集成度和更低的成本。

最关键的是,无论从网络侧还是从移动终端侧来看, CDMA2000 1X系统(IOS4.1以上版本)提供了2G和3G兼容的标准接口,同时支持电路交换和分组交换即支持话音业务和电路、分组数据业务,具有向3G第二阶段平滑演进的能力。 IS-95A/B系统也必须以CDMA2000 1X系统为桥梁向3G第二阶段演进。 CDMA2000 1X提供了完备的数据解决方案,各设备生产厂商在提供设备的同时,还为运营商描绘了一个美好的应用前景。

探索新发展

随着国内的运营企业逐渐市场化,对于投资的回报已经是运营商考虑的首要的问题。所以运营商需要建设一个满足用户的要求,能够为用户提供很好的应用和服务的网络,而不是建设一个在技术上十分超前的网络。目前,虽然3G的呼声很高,但是成熟的系统、终端产品以及真正的应用还是与我们有一定的距离。所以,由于 CDMA2000 1X可以提供丰富的应用,而且从系统、终端产品、解决方案都比较成熟,相信CDMA2000 1X是从窄带到宽带的一个好的过渡桥梁。

CDMA2000在探索新技术方面是较活跃的,也是迄今为止吞吐率最高的无线通信技术。为进一步加强 CDMA2000 1X的竞争力,3GPP2从2000年开始在CDMA2000 1X基础上制定1X的增强技术,即1XEV的标准。目前1XEV分为两个阶段。

第一阶段: CDMA2000 1XEV-DO(Data Only) ,采用与话音分离的信道传输数据,高通公司提出的HDR(High Data Rate)技术已成为该阶段的技术标准,支持平均速率为650kbit/s ,峰值速率为2.4Mbit/s的高速数据业务;第二阶段: CDMA2000 1XEV-DV(Data and Voice),数据信道与话音信道合一。目前有多种候选方案,如1XTREME 、LAS-CDMA等。1XEV-DV可提供5M甚至更高的吞吐量。目前普遍认为1XEV-DO已具备商用化条件,而1XEV-DV还不成熟。

增强系统

CDMA2000 1X在无线接口性能上较IS-95系统有了很大的增强,其中:(1)采用了前向快速功控,提高了前向信道的容量;(2)可采用发射分集方式OTD或STS,提高了信道的抗衰落能力;(3)提供反向导频信道,使反向相干解调成为可能,反向增益较IS-95提高3dB,反向容量提高1倍;(4)业务信道可采用比卷积码更高效的Tubro码,使容量进一步提高;(5)引入了快速寻呼信道,减少了移动台功耗,提高了移动台的待机时间。此外,新的接入方式减少了移动台接入过程中的干扰;(6)仿真结果表明, CDMA2000 1X系统的话音业务容量是IS-95 系统的2倍,而数据业务容量是IS-95的3.2倍。

从传输速率来看,IS-95标准的速率集是 CDMA2000 1X速率集的一个子集(RC1、RC2)。同时, CDMA2000提供增强速率集:前向RC3-RC9 、反向 RC3-RC6 ,从而在满足第三代移动通信高速分组数据业务的同时实现了从IS-95的平滑过渡。

CDMA2000能实现对CDMA(IS-95)系统的完全兼容,技术延续性好,可靠性较高。同时也使CDMA2000成为从第二代向第三代移动通信过渡最平滑的选择。由于所采用的基本技术始终为CDMA,单个载波信道占用的带宽始终为1.25MHz ,因此cdmaOne 、 CDMA2000 1X 、 CDMA2000 1XEV 、 CDMA2000 3X的演进路线是清晰的。无论移动终端还是基站均能够前、后向兼容,均是真正意义的平滑过渡。 CDMA2000与cdmaOne标准上的兼容性使其基站的升级十分容易。以ZTEcdma One基站为例,在cdmaOne基站的基础上只需更换一种单板(信道板),再更新部分软件即可升级为CDMA2000的基站。

由于空中接口标准的兼容及载频的重合, cdmaOne的终端可以漫游到CDMA2000 1X及1XEV系统, CDMA2000 的终端在cdmaOne的系统中也能够正常使用。对用户来说,购买终端的投资得到了最大程度的保护。

2005年01月26日
网络银行对传统货币理论的影响
[ 作者:佚名    转贴自:本站搜集    点击数:191    文章录入:admin
网络银行在给中国的银行业带来新的生机和活力的同时,也对传统银行理论带来一定的冲击,如网络银行条件下的网络货币就将打破传统的货币理论。

  (一)货币的演变及其意义

  在商品经济中,货币作为一般等价物的本质是不变的,但货币的形式却随着生产和交换的发展而不断地演变。翻开货币发展的历史,我们会看到:1.实物货币。是人类最早的货币形态。各种商品如米、布、木材、贝壳、家畜等,都曾在不同时期内扮演过货币的角色。2.金属货币。其形态有一个从称量货币到铸币的过程,在质地上有一个从贱金属到贵金属的转变过程。铸币的产生,是人类货币史上的一次重大变革,打上官方烙印的金属才能成为货币,贵金属垄断了货币的地位。3.代用货币。是在贵金属货币流通的制度下,代替金属货币流通的货币符号——纸币,是货币形式的飞跃。4.信用货币。即充当流通手段和支付手段的信用凭证。如商业票据、现钞和支票完全依靠政府信用和银行信用而流通。5.网络货币的出现。伴随着现代信息技术在金融业的应用,电子商务的出现,电子支付手段应运而生。借助于电子信息网络技术而产生的电子货币、数字货币统称为网络货币。网络货币将随着信息网络技术的日益发展及其在金融业和商品交换过程中的广泛应用而不断发展,尤其是在网络银行出现后,网络货币将成为一种重要的货币形式而发挥其在商品经济活动中举足轻重的作用。在未来的网络时代中,网络银行将使货币变为一串我们永远不可以见到实物的数字。在货币的演变过程中,货币越来越轻,越来越虚化。

  随着货币形式的进一步演变及网络货币的出现,货币的本质也越来越清楚地呈现出来。货币的本质纯价值体是在社会交换过程和流通过程中被提炼、净化出来的,正如马克思所说:“流通成了巨大的社会蒸馏器,一切东西抛到里面去,再出来时都成为货币的结晶。”马克思正确地意识到货币的本质是价值体,但是他还没有能够把它从金币的物质价值体中进一步提炼出来。这是历史的局限性所致。经过第二次和第三次技术革命,“社会蒸馏器”借助于电力推动和印刷技术的进步,终于将货币价值体从币材的物质价值体中分离出来,提炼到纸币的形式。就纸币来说,尽管它还有币材价值体,但人们已经清楚地看到这两个完全可以成为分离之物了。用最新信息技术装备起来的现代化“社会蒸馏器”,进一步蒸发提炼得到几乎完全透明的纯价值体——数字货币、电子货币。现在人们终于可以清楚地看到了货币的本质就是从一切商品价值体中提炼出来的纯价值体,人类同质量劳动的结晶体。

  (二)网络银行条件下,网络货币对传统货币理论提出了挑战

  伴随着货币发生的根本变化,一些与货币有关的诸如货币理论、货币政策以及诸如通货膨胀之类的传统经济概念都将发生重大变化。

  一是数字货币、电子货币使传统的货币理论体系受到了冲击。传统的货币理论体系将货币等同于商品或实物资产,所以货币应该有价格。其实,货币本身不能像其他商品那样具有惟一的价格,它的价格表现为与无穷种类的商品以及不同货币之间的兑换比率。此传统理论认为货币金融体制严格受法律限制和政府管理,货币是法律的产物,但在网络货币时代,电子货币、数字货币不再具有商品或实物形态,不过它本身作为一种纯价值体,可和其他商品相交换,它的价格是它与无穷类商品之间的兑换比例,这因此又回到了物质直接交换时期,但这不是历史的单纯复归,而是货币的一种更高形态,而且或许是终结形态。另外,由于网络货币——电子货币、数字货币是一种纯价值体,它发挥的作用是完全自发的,而不像现行的纸币制度,货币的发行流通必须依靠国家强制力。

  二是网络货币将促使货币结构和货币内涵有所改变。在金融电子化的推动下,货币出现了新的形态,如信用卡、电子货币等,这些都是新货币形态产生的前奏,这是一种依托全球和网络银行产生的虚拟的无货币实体的数字符号。网络货币是货币在计算机网络中的存在形式。网络货币随着网络银行产生而产生,随着网络银行的发展而发展。将对传统的货币结构和货币内涵产生深远影响,甚至某种意义上改变其意义。其一,网络货币将部分替代流通中货币的作用使得传统的货币定义特别是基础货币的定义受到了挑战,基础货币通常是指创造存款货币作用的商业银行在中央银行的存款准备金与流通在银行体系之外的通货这两者的总和。而网络货币的出现,使货币实物形态虚拟化,商业银行自己实现了部分货币发行,在实质上部分弱化了中央银行垄断发行货币的特权;其二,网络货币对流通中部分通货的替代作用,使得传统意义的基础货币的作用受到影响,商业银行作为直接货币供给,其进行创造存款货币的存贷活动,提供货币供给的数量,都建立在基础货币上,基础货币及其增减变化直接决定着商业银行准备金的增减,从而决定着商业银行创造存款货币的数量。而网络货币对流通中通货的替代作用使得这种能量减弱,再加上网络货币是商业银行自发地创造的,且具有快速的瞬息万变的特点和颇具信用风险,也使得网络货币创造货币能力与传统的存款货币能力不同。

  三是网络货币对货币供给和货币需求产生重大影响。网络货币部分替代流通中的通货,部分通货以数字化、虚拟化形式出现,而中央银行发行的用于流通的通货是整个货币供给的一部分,因此对流通中通货的影响会直接影响到货币供给。影响最大的是狭义货币M1。M1=流通中的通货+活期存款。流通中的通货在M1中占比重较大,所以网络货币虚拟和替代部分通货,就较大程度上影响了狭义货币M1,其主要表现是:其一由于货币数字化、虚拟化,流通中的通货数量会减少而影响M1;其二是由于虚拟化、数字化、电子化的网络货币存在形式的不稳定性,对商业银行的存款也会带来不稳定性,从而会改变商业银行在中央银行的准备金数量,影响M1;其三是通过货币乘数对M1产生影响。作为货币供给之源的基础货币,可以引出数倍于自身的货币供给量把货币供给量与基础货币相比,其比值就是乘数。网络货币既影响基础货币也影响货币供给量,自然其比值关系也要受到影响,从而影响M1。

  网络货币对货币需求方向的影响,主要表现在网络货币部分替代流通中的通货,加快了货币的流通速度,从而对货币的需求会减少。另外,网络货币中如信用卡、电子货币还有信用创造的作用,也使得对货币的需求处于不稳定状态,从而导致利率波动,利率的波动又反过来导致货币需求的不稳定。货币需求的波动加大,就会降低利率作为货币政策传导机制的传导作用。

  四是伴随网络银行产生的网络货币向中央银行发出了挑战。由于网络货币对传统货币理论体系,对货币的结构、内涵及货币供给和货币需求均带来了冲击,作为货币当局的中央银行自然受到严重挑战。试想,如果中央银行不能控制网络货币的发行,基础货币的供给、需求无法科学有效地进行掌握、控制和根据经济运行情况进行调节,货币政策的操作也就不可能,网络银行条件下的网络货币形态很可能将这种情况变为现实。那么,作为货币当局的中央银行的三大职能——发行的银行、银行的银行、政府的银行也就会受到削弱甚至无效。另外,网络货币是全球一体化经济的交易媒介,因此,各国货币之间的价值关系——汇率也似乎会变得无存在之意义。

十四顶帽子与ERP

ERP实施的成功,靠的是实施顾问和实施企业的共同努力。其中,最为关键的,实施企业必须具有明确的实施目的。如果盲目地依赖实施顾问,图得一时便宜,最后的结果必定是苦涩的。所以,实事求是地量体裁衣,按需而做,才是明智的选择。记住,在资源一定的情况下,切忌向裁缝索取不切实际的帽子。

十四顶帽子

从前,有个人买了块布,去找裁缝做一顶帽子。他说:用这块布做一顶帽子。裁缝看了看布,说:没问题。那人听裁缝回答的干脆,又看了看布,觉得做一顶帽子还有很多,就问裁缝:那如果做两顶呢?裁缝又看了看布,回答,:可以。那人听裁缝这么回答,越发觉得布多,又问:那么做三顶呢?裁缝又回答:可以。”……最后那人留下布,裁缝答应做十四顶帽子。交货的日子到了,那人来取帽子。裁缝如约拿出了十四顶帽子,只是这十四顶帽子一般大小,都只能戴在手指头上。那人骂裁缝:我要的帽子是能戴在头上的,你做得那么小,让我怎么戴?裁缝苦着脸说:这么一块布,要做十四顶帽子,当然只能戴在手指头上了。这是一个老段子。时间又过了五百年……裁缝变成了ERP实施顾问。那人这次准备了一笔钱,请顾问在他的公司实施ERP系统。裁缝(这时应该称作ERP实施顾问了)看了看这笔钱,说:没问题。

那人说:对于ERP我们公司是重视的,只是公司的第一把手,第二把手,第三第四把手……这些老总们都日理万机,所以具体问题你们可以和业务人员一起决定,大问题可以等到每月项目进度会上向X总汇报。

评语:第二顶帽子。根据北美地区的调查,ERP项目实施成功的首要因素是公司高层的支持。注意:这里的支持是指实际上的支持。ERP的表象是一套软件,但这仅仅是表象而已,其实质是企业新的业务流程。如果你已经忘记了当初选择实施ERP的原因,那么现在最好回忆一下:是快速增长的业务?是捉襟见肘的管理?是日益高涨的成本和库存?是部门间日益困难的直辖市和沟通?还是因为厌倦了救火大队长的角色?或者笼统地说是为了提升企业的竞争力?如果原因和这些情况有关,那么现在,在ERP实施中给予快速而具体的高层决策,以及公开表明的态度是完全值得的。试想如果企业高层对于企业将来的内部管理流程吝啬时间,那究竟还有什么是值得关注的呢?把ERP实施中的决策丢给你的项目组和裁缝,或者让他们来猜测你的意图,或者企业高层本身对项目持有保留或观望的态度,这些做法都是对ERP项目最为有害的第二顶帽子。另外,即使是因为什么别的原因选择了ERP,如果还想让它成功的话,请不要把它丢给你的项目组和裁缝因为这将使他们陷入孤立的境地和不公平的待遇,而企业也将失去一次飞跃的机会。

那人说:我们的人手很紧,业务骨干都已身负重任,所以关键用户只能很少,而且都不能是全职搞ERP,或者我可以找一些新招的毕业生,让他们边学业务边学ERP

评语:第三顶帽子。业务骨干之所以为骨干,是因为他们了解公司的动作,经验丰富,踏实肯干。还有什么人比他们更适合担负ERP关键用户(Key User)的重任?不要等到系统上线前才发现流程不对,这时你不得不使用他们,而返工永远更为吃力。把关键用户的责任推到顾问这一边,是否真占了便宜?其实只是第三顶帽子而已。而且一旦项目结束,你边一去管理新平台动作的队伍都还没有建立起来。

那人说:我们公司向来人员跳槽频繁,所以项目关键用户和业务骨干会经常变化。

评语:第四顶帽子。第四顶帽子麻烦可不小了。很多心血付诸东流,而实施服务方对此是无能为力的。虽然人员流动的损失可以靠合理的知识管理弥补。但是想办法让你的关键用户队伍保持稳定,这可以大大节省顾问们的重复劳动,除了不断培训新人,他们还有很多更重要的事要做。

那人说:我们认为ERP对公司的将来很重要,所以项目必须要有很好的文档管理,比如当前流程、业务蓝图、系统配置文档、系统开发文档、测试脚本、培训教材、会议记要……这些文档都应当由实施服务方完成。

评语:第五顶帽子。文档管理真的很重要,但并不是所有的文档都一样重要。不要把自己定位成一个挑剔的看客。有些重要的文档应当和顾问一想完成,因为将来使用这此文档的是你而不是他。还有一些文档完全可以由关键用户和项目秘书承担。在有些项目中你会发现顾问们的专长好像是Office,而不ERP。这时应当反省一下你是否在让他们忙于做第五顶帽子。

那人说:我们发现ERP中还有这些,这些,这些……的功能,我还有这样,这样,这样……的想法。你们应该都实施进去。

评语:根本意义上的第六顶帽子。现代ERP软件涵盖了企业动作的各个方面,功能之丰富难以想象,而项目必须有合理的范围(Scope)控制。随便找一本项目管理的书,它会告诉你失控的范围像森林大火一样可怕。一个人吃饭都会眼大肚子小,企业的消化能力更是往往比管理层期望的小。

那人说:组织结构变动在我们公司是司空见惯的,如果在项目过程中发生的话,项目内容也必须做相应的调整,无论是人员上还是系统设置和数据准备上。

评语:第七顶帽子。不变的企业是死亡的企业,但很多企业也是给不停的变动折腾死的。ERP本身是灵活的,对于企业结构的变化有很强的适应力,但这并不等于说在项目中不应该控制企业的变动。对于这个问题应当分两方面看,首先,ERP项目的立意要高,要高到和公司的组织结构规划一致,两个问题当一个问题来看。其次,就像人在有能力适应社会变化之前,会经历襁褓期,在ERP项目实施中(ERP的襁褓期)应当减少不必要的震荡,使项目快速地成功地完成和长大。

那人说:我们公司有80000种物料和产品,5000个客户,3000个供应商,10000项固定资产… …都还没有统一的编码和主记录。不过各个部门手头倒是有自己的一套资料,我们也想借ERP把这个问题解决一下。

评语:第八顶帽子。如果把ERP系统设置比做骨骼,主数据就是血肉。本来在大型企业中像物料等主数据的编码和管理可以单独作为一个项目来实施。但是由于ERP中提供了很好的主数据管理工具,而且ERP中的主数据有专门的数据结构和逻辑关系,所以将主数据的整理工作直接作为ERP项目的一个部分对于企业业说是很有好处的。但是对于实施服务方来说,主要责任是确定主数据的分类、字段选择、提供资料搜集格式和帮助导入系统。而具体的搜集和整理工作毫无疑问应当由客户方完成。当然顾问应当对整理工作的组织和计划提供经验和帮助。但是事实往往出乎意料:在有些项目中,企业内部竟然对数据的收集和质量负责,你会看到顾问成了各部门间的协调者,顾问在催各部门提供资料,顾问在电子表格中整理数据。你在庆幸又让裁缝多做了一顶帽子时,是否想过:奇怪,他怎么知道财务部的广西糖业有限公司就是销售部的广西经销部……”

那人说:我们关键用户少,所以最张用户的培训应当由实施服务方来做。而且我们公司人多,工作任务重,出差的又多,所以最好多办几趟,有些人可能还需要开些小灶。

评语:第九顶帽子。这个问题是第三顶帽子的必然结果。前面讲过管理高层的支持是ERP实施的第一要素,那么培训就是排在第二的影响因素。但是关键用户的培训和最终用户(End User)的培训是不同的。由关键用户培训最终用户至少有以下一些好处:<1>语言上不存在障碍。同样一个流程或者操作,最终用户一般更能接受关键用户的讲法,顾问的语言往往带有太多的ERP术语,而用户行业用语太少。<2>更容易组织。由于顾问们属企业的外部人员,他们的威慑力或者面子往往不够大,对企业各部门的协调能力往往流于形式。<3>自然培养起企业内部的支持路径,而且和直接询问顾问相比,最终用户在询问关键用户前往往会用更多时间先思考一下。<4>锻炼了关键用户。

那人说:财务部有套旧系统,是信息部编的。信息部目前人手不够,不可能将期初数据整理成你们需要的格式。最好你们自己直接从旧系统中导出来整理。

评语:第十顶帽子。很荒谬吧,但是确实存在这样的情况。理论上实施服务方不具备客户旧系统的技能,所以应先由客户旧系统的技能,所以应先由客户负责将期初数据整理成一定的格式,再由项目组把数据导入新系统。但是系统上线好比一场战役的总攻,日子在一天天地过去,业务凭证发越积越多,越拖越难追,这时你的友邻部队突然消失了,你必须在延迟总攻和分散兵力支持友邻上做出选择。

那人说:我们要求新旧系统并行相当一段时间,但是这样各个部门都已经是民怨鼎沸了,特别是财务部,所以两套系统的对账工作只能由你们来做了。

评语:第十一顶帽子。本来,很多企业都没有并行系统对账的经验,特别是和ERP系统的并行对账,顾问会设计对账的方案,培训用户和开发一些工具和报表,也可以直接由顾问组织整个对账工作,但是如果你看到凭证堆满了项目室,全部是顾问在对账,情况就不太正常了——他们正在做第十一顶帽子。

那人说:报表应该都是你们来做,我们有很多报表需求,有些有格式,不过数据的逻辑关系和来源不太清楚,有些目前格式还没有,只有一人些想法。

评语:第十二顶帽子。尽量使用ERP的标准报表,因为标准报表反映了ERP中的管理思想。自定义的报表有难有易,难往往不是难在报表的编写上,而是难在数据的逻辑关系的来源选取上,而这又决定于你到底想要这个报表做什么。对于这些问题的分析能力是需要培养的。仅从这一点,客户方也应当参与报表的制定过程。更何况今后企业本身和报表需求都会变化,那时学比现在学可紧张多了。

那人说:我们信息部人少,所以有些用户网络连不上、病毒等诸如些类的问题可能也会来问你们,反正都和电脑有关,你们一并支持一下。另外,现在系统备份、权限管理的工作还是你们来做,等你们走了,我们再找人做。

评语:第十三顶帽子。例如有个公司的网络流行一种病毒,客户一着急就打电话向顾问抱怨ERP登陆不上了。顾问们哭笑不得,只得埋头做第十三顶帽子。

那人说:我们突然得了一种怪病,只要你们在,我们自己的专业知识好像突然都忘了。

评语:第十四顶帽子。很多人抱怨ERP难,但是他们的问题往往和ERP无关,有些纯粹是自己专业的问题。只是当依赖成了习惯,思考就变得无足轻重了。

……



ERP
实施服务一般可以有两种定价方式: 按人天计价(Time & Material)和固定价格(Fixed Price)。从全球范围看,主要是前者居多。原因很简单,ERP实施顾问是帮助一个企业把它的运作整合以后搬上一个电脑平台。但是每个公司的情况千差万别,实施服务方显然承担了自己无法控制的风险。

但是在我国,由于种种原因却是采用固定价格为多。两种定价方式孰是孰非,不是本文所要讨论的。

本文想说明的是在采用固定价格这种现实的背景下,客户方的有些情况是会对服务方和项目的质量造成损害的。有些是无意识的,有些则是所谓的自助餐效应造成的。但是无论哪种情况,我们应当记住一点:ERP项目是一个艰苦的历程,它的结果只有两种:双赢或者双输。正视这些问题,借助双方的诚意和决心,我们才能实现目标,完成企业的管理革命。

另外打个关于顾问角色的比方:顾问应该是探索新领域的向导,而不是拉雪橇的狗。

2005年01月21日

 

一、 填空题(25小题,共50分)
(以下每小题1分,共10分)
 1 C++中,函数的参数有两种传递方式,它们是值传递和 地址或指针或引用传递
 2 当一个成员函数被调用时,该成员函数的 this指针 指向调用它的对象。
 3 在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有 作用域分隔符限定时 ,对此数据成员的访问将出现歧义。
 4 拷贝构造函数使用 引用 作为参数初始化创建中的对象。
 5 在公有继承的情况下,基类数据成员在派生类中的访问权限 保持不变
 6 描述命题“A小于B或小于C”的表达式为 A<B||A<C 。
 7 new申请某一个类的动态对象数组时,在该类中必须能够匹配到 没有形参的或缺省参数 构造函数,否则应用程序会产生一个编译错误。
 8 静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象 共享
 9 为了避免可能出现的歧义,C++if…else语句配对规则规定为:else总是与 与最近的if 配对。
 10 “int a=3,b=4,c=5;”,表达式a+b>c&&b==c”的值是 0

(以下每小题2分,共20分)
 11. 面向对象的程序设计有四大特征,它们是抽象、封装、
继承多态
 12. 在Visual C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型
不同 ;在基类和派生类中,成员函数的覆盖是指 派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同
 13. 构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、
析构函数没有参数析构函数可以定义为虚函数
 14. 动态联编要满足两个条件,它们是
被调用的成员函数是虚函数用指针或引用调用虚函数
 15. 在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为
抽象类 ,定义该类至少具有一个 纯虚函数
 16. 在C++类中,const关键字可以修饰对象和成员函数,const对象不能
被修改const成员函数不能 修改类数据成员
 17. 举出C++中两种用户自定义的数据类型:
枚举
 18. C++中没有字符串类型,字符串是通过
字符数组 来表示的,每一个字符串都有一个结尾字符 \0
 19. C++中没有输入输出语句,输入输出是通过
输入输出库 实现的, 写出一条打印整型变量n的输出语句:cout<<n;
 20. 举出C++中两种代码复用的方式:
继承 复用

(以下每小题4分,共20分)
 21. 下面程序的运行结果是
 3 
 #include <stdio.h>
 void main()
 {
  char a=’a',b=’j';
  float x;
  x=(b-a)/(‘F’-'A’);
  printf(“%d\n”,(int)(3.14*x));
 }

 22. 下面程序的运行结果是
2 5 8 11 14
 #include “iostream.h”
 void main( )
 {
  int i=1;

  while (i<=15){
   i++;
   if (i%3!=2) continue;
   else cout <<”i=”<<i<<endl;
  }
 }

 23. 下面程序的运行结果是________。
 #include “iostream.h”
 class test
 {
 private:
  int num;
  float fl;
 public:
  test( );
  int getint( ){return num;}
  float getfloat( ){return fl;}
  ~test( );
 };

 test::test( )
 {
  cout << “Initalizing default” << endl;
  num=0;fl=0.0;
 }

 test::~test( )
 {
  cout << “Desdtructor is active” << endl;
 }

 void main( )
 {
  test array[2];
  cout << array[1].getint( )<< ” ” << array[1].getfloat( ) <<endl;
 }

 Initalizing default
 Initalizing default
 0 0
 Desdtructor is active
 Desdtructor is active

 24. 下面程序的运行结果是________。
 #include <iostream.h>
 class A
 {
 public:
  A(){cout<<”A::A() called.\n”;}
  virtual ~A(){cout<<”A::~A() called.\n”;}
 };

 class B:public A
 {
 public:
  B(int i){
  cout<<”B::B() called.\n”;
  buf=new char[i];}
  virtual ~B()
  {
   delete []buf;
   cout<<”B::~B() called.\n”;
  }
 private:
  char *buf;
 };

 void fun(A *a)
 {
  delete a;
 }

 void main()
 {
  A *a=new B(15);
  fun(a);
 }
 A::A() called.
 B::B() called.
 B::~B() called.
 A::~A() called.

 25 下面程序的运行结果是________
 #include <stdio.h>
 int a[ ]={1,3,5,7,9};
 int *p[ ]={a,a+1,a+2,a+3,a+4};
 void main( )
 {
  printf(“%d\t%d\t%d\n”,a[4],*(a+2),*p[1]);
  printf(“%d\t%d\t%d\n”,**(p+1)+a[2],*(p+4)-*(p+0),*(a+3)%a[4]);
 }
 9 5 3
 8 4 7

二、 问答题(每小题5分,共20分)

 1 若程序员没有定义拷贝构造函数,则编译器自动生成一个缺省的拷贝构造函数,它可能会产生什么问题?
解答要点:当对象含有指针数据成员,并用它初始化同类型的另一个对象时,缺省的拷贝构造函数只能将该对象的数据成员复制给另一个对象,而不能将该对象中指针所指向的内存单元也复制过去。这样,就可能出现同一内存单元释放两次,导致程序运行出错。

 2 简述成员函数、全局函数和友元函数的差别。
  解答要点:以下几点必须说清楚:
  成员函数是在类内部定义的,作用域在类的内部,成员函数可以访问类的数据成员(公有、保护和私有数据成员),可以调用该类的其它成员函数(公有、保护和私有成员函数),可以调用全局函数。如果友元函数是另一个类的公有成员函数,则该类的成员函数也只能通过那个类的对象调用,不能调用那个类的保护和私有成员函数。非本类成员函数(其它类成员函数或全局函数)可以通过该类的对象访问该类的公有数据成员和调用该类的的公有成员函数。
  不是在类中定义的成员函数都是全局函数。
  如果某一个函数(全局函数或类的成员函数)定义为另一个类的友元函数,需要在那个类中用friend关键字声明,友元函数并不是类的成员,它的定义自然是在那个类的外面。

 3 简述结构化的程序设计、面向对象的程序设计的基本思想。
  解答要点:结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的,面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,它能够较好地支持程序代码的复用。

 4 结构struct和类class有什么异同?
  解答要点:structclass都可以定义类,但是缺省访问权限说明时,struct的成员是公有的,而class的成员是私有的。在C++中,struct可被class代替。

三、找出下面程序(或程序段)中的语法错误,并予以纠正(每小题4分,共8分)

1)程序功能是倒序输出各给定的字符串。
 #include <stdio.h>
 void main()
 {
  char str[5][ ]={“First”,”Second”,”Third”,”Forth”,”Fifth”};
  char *cp[ ]={str[4],str[3],str[2],str[1],str[0]};
  int i;

  while(i<=5)
  {
   printf(“%c “,*(cp+i));
   i++;
  }
 }
 
① “char str[5][ ]={“First”,”Second”,”Third”,”Forth”,”Fifth”};”应为
  ”char str[5][10 ]={“First”,”Second”,”Third”,”Forth”,”Fifth”};”
 ② “while(i<=5)”应为”while(i<5)”
 ③ “printf(“%c “,*(cp+i));”应为”printf(“%s”,*(cp+i));”
 ④ “int i;”应为”int i=0;”

2)程序功能是将各个平方根值放入数组中。
 #include <stdio.h>
 void main()
 {
  int max,a,i;
  scanf(“%d%d”,max,a);
  double x[max];

for (i=0;i<max;i++)
   x[i]=sqrt(a*i);
 }
 ① 增加”#include <math.h>”
 ② “scanf(“%d%d”,max,a);”应为”scanf(“%d%d”,&max,&a);”
 ③ “double x[max];”改为:
 ”double *x=new double[max];”
  …
 ”delete []x;”

四、(8分)下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数
 class shape{
   public:
   virtual float area( )=0;
   };
  
 float total(shape *s[ ],int n)
   {
   float sum=0.0;
   for(int i=0;i<n;i++)
   sum+=s[i]->area( );
   return sum;
  }
 class Triangle:public Shape
 {
 public:
  Triangle(double h,double w){H=h;W=w;}
  double Area() const{return H*W*0.5;}
 private:
  double H,W;
 };

 class Rectangle:public Shape
 {
 public:
  Rectangle(double h,double w){H=h;W=w;}
  double Area()const{return H*W;}
 private:
  double H,W;
 };

五、(6分)完成顺序查找函数f_seq( )。其过程是:从表头开始,根据给定的模式,逐项与表中元素比较。如果找到所需元素,则查找成功,并打印出它在表中的顺序号。如果查找整个表仍未找到所需对象,则查找失败
 #include <stdio.h>
 void f_seq(char *list[],char *object,int len)
 //list 指针数组,指向字符串
 //object 模式串
 //len 表的长度
 {
  char **p;
  int strcmp(char *s,char *t);

  p=list;
  while (_____①______) //
p<list+len
   if (strcmp(*p,object)==0)
    break;
   else ______②_______; //
p++
   if (p<list+len)
    printf( “Success! **% d\n”,p-list);
   else printf(“Unsuccess!\n”);
 }
 int strcmp(char *s,char *t)
 {
  for (;*s==*t; s++,t++)
   if (*s==’\0′)
    return(0);
    return(_____③______); //
s-t或*s-*t或1
 }

六、(8分)完成使链表逆置函数reverse,若有链表:


逆置后则变为:

链表结点的结构如下:

 struct node
 {
  int num;
  struct node *next;
 }
 struct node* reverse(struct node *head)
 //head 链表头结点
 {
  struct node *p,*temp1,*temp2;
  if(head==NULL____①____) return head; //
||head->next==NULL
  p=head->next;head->next=NULL;
  while(____②____) //
p!=NULL或p
  {
   temp1=head;
   ____③____; //
head=p;
   temp2=p;
   p=p->next;
   ____④____; //
temp2->next=temp1;或head->next=temp1;
   }//Match while statenment
   return head; //返回逆置后的链表的头结点
 }

 

-> C++期末考试题(一)<-


、 填空题(25小题,共50分)
(以下每小题1分,共10分)
1. 在C++中,函数的参数有两种传递方式,它们是值传递和

2. 当一个成员函数被调用时,该成员函数的
指向调用它的对象。
3. 在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有
,对此数据成员的访问将出现歧义。
4. 拷贝构造函数使用
作为参数初始化创建中的对象。
5. 在公有继承的情况下,基类数据成员在派生类中的访问权限

6. 描述命题”A小于B或小于C”的表达式为

7. 用new申请某一个类的动态对象数组时,在该类中必须能够匹配到
构造函数,否则应用程序会产生一个编译错误。
8. 静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象

9. 为了避免可能出现的歧义,C++对if…else语句配对规则规定为:else总是与
配对。
10. 设”int a=3,b=4,c=5;”,表达式”(a+b)>c&&b==c”的值是

(以下每小题2分,共20分)
11. 面向对象的程序设计有四大特征,它们是抽象、封装、


12. 在C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型
;在基类和派生类中,成员函数的覆盖是指

13. 构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、


14. 动态联编要满足两个条件,它们是


15. 在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为
,定义该类至少具有一个

16. 在C++类中,const关键字可以修饰对象和成员函数,const对象不能
,const成员函数不能

17. 举出C++中两种用户自定义的数据类型:


18. C++中没有字符串类型,字符串是通过
来表示的,每一个字符串都有一个结尾字符

19. C++中没有输入输出语句,输入输出是通过
实现的, 写出一条打印整型变量n的输出语句:

20. 举出C++中两种代码复用的方式:


(以下每小题4分,共20分)
21. 下面程序的运行结果是

  #include <stdio.h>
  void main()
  {
   char a=’a',b=’j';
   float x;
   x=(b-a)/(‘F’-'A’);
   printf(“%d\n”,(int)(3.14*x));
  }
22. 下面程序的运行结果是

  #include “iostream.h”
  void main( )
  {
   int i=1;

   while (i<=15){
    i++;
    if (i%3!=2) continue;
    else cout <<”i=”<<i<<endl;
   }
  }
23. 下面程序的运行结果是

  #include “iostream.h”
  class test
  {
  private:
   int num;
   float fl;
  public:
   test( );
   int getint( ){return num;}
   float getfloat( ){return fl;}
   ~test( );
  };
  test::test( )
  {
   cout << “Initalizing default” << endl;
   num=0;fl=0.0;
  }
  test::~test( )
  {
   cout << “Desdtructor is active” << endl;
  }
  void main( )
  {
   test array[2];
   cout << array[1].getint( )<< ” ” << array[1].getfloat( ) <<endl;
  }
24. 下面程序的运行结果是

  #include <iostream.h>
  class A
  {
  public:
   A(){cout<<”A::A() called.\n”;}
   virtual ~A(){cout<<”A::~A() called.\n”;}
  };

  class B:public A
  {
  public:
   B(int i){
   cout<<”B::B() called.\n”;
   buf=new char[i];
  }
  virtual ~B(){
  delete []buf;
  cout<<”B::~B() called.\n”;
  }
  private:
   char *buf;
  };
  void fun(A *a)
  {
   delete a;
  }
  void main()
  {
   A *a=new B(15);
   fun(a);
  }
25. 下面程序的运行结果是

  #include <stdio.h>
  int a[ ]={1,3,5,7,9};
  int *p[ ]={a,a+1,a+2,a+3,a+4};
  void main( )
  {
   printf(“%d\t%d\t%d\n”,a[4],*(a+2),*p[1]);
   printf(“%d\t%d\t%d\n”,**(p+1)+a[2],*(p+4)-*(p+0),*(a+3)%a[4]);
  }

二、 问答题(每小题5分,共20分)
1. 若程序员没有定义拷贝构造函数,则编译器自动生成一个缺省的拷贝构造函数,它可能会产生什么问题?