应急预案
我 要 找
标题 内容 作者
工程管理技术资料订阅工程管理资料信息
软件工程思想(4)-机电之家网工程管理网
当前位置:机电之家-->工程管理资料栏目首页-> 工程论文 -> 软件工程论文 --> 软件工程思想(4)
软件工程思想(4)
评职称,发论文,找机电之家帮忙
收藏此信息 打印该信息 添加:未知 来源:未知

class=MsoNormal style="TEXT-INDENT: 21.25pt">19995月,G先生又来找我请教另一个问题。

他说:“小林啊,你上次说得很有道理,我接受了教训。”

我说:“那是好事,不论年龄大小,知错就改总是好孩子嘛。”

他叹了一口气:“最近几个月,Y经理又花了我100万元。”

我当时差点给噎死,气凶凶地训G先生:“我早跟您讲过,Y经理不是好东西,叫你关闭公司你不听,你老说钱没问题,亏你200万元活该。”

老先生象犯了错误的小孩子:“Y经理每一次向我要钱时,都拍拍胸脯保证下个月就有利润,所以我一而再、再而三地掏钱给他,希望能救活软件公司。现在该怎么办?”

一个有20名职员的软件公司,程序员只有三四个,连“十羊九牧”都不如。200万元的财务报表中,有100多万元用于吃喝玩乐和行贿。这种公司完全无药可救。台湾的李敖曾说过:“当你没法扶一个人上马时,也许应该拉他下马”。从5月份到8月份,我行侠仗义,替G先生清理软件公司,根除Y经理这些败类。

可是难哪,因为G先生投资的公司根本不把G先生放在眼里,又岂能让我插手。就在我想方设法卡住Y经理的脖子时,Y经理总能从G先生那里挖出钱。G先生就象被吸血鬼附身,却仍存幻想:“如果吸血鬼能治好我的病,就让它再吸些血吧。”

Y经理又和一个来自深圳的骗子H想了注意,教唆G先生再投资100万元新建一个“指纹”公司,说利润将比环保信息的应用开发更加可观(估计要用亿来度量)。就在他们准备鉴合同之际,我偶而路过,发现异常,便强行阻止。

G先生是个好人,但太顽固。好几次我气极想撒手不管,但又不忍心好人被坏人欺负。我曾请求G先生:“我求您别再说钱没有问题,您的私人财产会被人骗光。请让我把这漏洞堵住吧,好让我安心地回学校做完博士学位论文。”

8月份,我和G先生的两个儿子,伙同黑社会的朋友,强行把那个软件公司搬回G先生的工厂中,辞退所有员工。现在那个软件公司被别人接管,仍然半死不活,好在每月亏损不过几万元,G先生承受得起,我就不再去碰G先生的伤疤。

我以前从未玩过与人勾心斗角的游戏,此三个月的经历让我疲惫不堪。那个软件公司的员工曾透露,Y经理的英国文凭大约是在上海或杭州某个大专培训班里混来的,《围城》中的方鸿渐买美国克莱顿大学博士文凭尚知羞耻,而Y经理却趾高气扬。害得我平白无故为英国教育界担心,回想起英国鬼子曾打劫过中国,倍感耻辱。

G先生是正人君子,不防小人,实在不是现代的商人。我和他成了忘年交。G先生第一次见到我时问我工资几何,我答曰:“300元,够买几本书。”G先生甚为着急:“这样的条件怎么能生活?你就搬到我家来住吧,我家条件好,你可以安心地学习,将来可为国家多作贡献。”后来他几次相邀,我就看在国家的份上住入他家。自从读中学以来,我第一次享受食来张嘴,不用洗衣的奢侈。唯一的麻烦是我得向很多朋友解释:“我不是被别人养起来了,是为了国家的利益,不得已才这么做的。G先生是男的不是女的,并且没有待出嫁的女儿。”

 

4.3 需求分析为什么困难

 

有几种原因使需求分析变得困难:(1)客户说不清楚需求;(2)需求自身经常变动;(3)分析人员或客户理解有误。

 

4.3.1 客户说不清楚需求

有些客户对需求只有朦胧的感觉,当然说不清楚具体的需求。例如全国各地的很多政府机构在搞网络建设,这些单位的领导和办公人员大多不清楚计算机网络有什么用,反而要软件系统分析人员替他们设想需求。这类工程的需求是如此的主观,以致产生很多贪污腐败现象。

有些客户心里非常清楚想要什么,但却说不明白。读者可能很不以为然。就举日常生活的事例吧,比如说买鞋子。我们非常了解自已的脚,但没法说清楚脚的大小和形状。只能拿鞋子去试,试穿时感觉到舒服才会买鞋(居然也有神通广大的售货员,看一眼客户的手,就知道应该穿什么样的鞋)。

如果客户本身就懂软件开发,能把需求说得清清楚楚,这样的需求分析将会非常轻松、愉快。如果客户全不懂软件,但信任软件开发方,这事也好办。分析人员可以引导客户,先阐述常规的需求,再由客户否定不需要的,最终确定客户真正的需求。最怕的就是“不懂装懂”或者“半懂充内行”的客户,他们会提出不切实际的需求。如果这些客户甚至觉得自己是上帝的爸爸,那么沟通和协商都会很困难。

 

4.3.2 需求自身经常变动

唐僧曾说:“妖要是有了仁慈之心,就不再是妖,是人妖。”(《大话西游之大圣娶亲》)

连妖都会变心,别说人了。所以喜新厌旧乃人之常情,世界也因此变得多姿多彩。

软件的需求会变化吗?

答:据历史记载,没有一个软件的需求改动少于三次。唯一只改动需求两次的客户是个死人。这个可怜的家伙还是在运送第三次需求的路上被车子撞死的。[Cline 1995]

让我们先接受“需求会变动”这个事实吧,免得在需求变动时惊慌失措。明白“需求会变动”这个道理后,在进行需求分析时就要留点神:

1)尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求。以便在进行系统设计时,将软件的核心建筑在稳定的需求上,否则将会吃尽苦头。

2)在合同中一定要说清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。要防止象韩复渠那样,在别人请他喝酒吃饭时他什么都点头(人家就更加献殷勤),吃完了他就宣布刚才答应的事都不算数,便扬长而去。

 

4.3.3 分析人员或客户理解有误

有个外星人间谍潜伏到地球刺探情报,它给上司写了一份报告:“主宰地球的是车。它们喝汽油,靠四个轮子滚动前进。嗓门极大,在夜里双眼能射出强光。……有趣的是,车里住着一种叫作‘人’的寄生虫,这些寄生虫完全控制了车。”

软件系统分析人员不可能都是全才。客户表达的需求,不同的分析人员可能有不同的理解。如果分析人员理解错了,可能会导致开发人员白干活,吃力不讨好。我读中学时候最怕写作文逃题,如果逃题了,不管作文写得多长,总是零分。所以分析人员写好需求说明书后,要请客户方的各个代表验证。如果问题很复杂,双方都不太明白,就有必要请开发人员快速构造软件的原型,双方再次论证需求说明书是否正确。

由于客户大多不懂软件,他们可能觉得软件是万能的,会提出一些无法实现的需求。有时客户还会把软件系统分析人员的建议或答复给想歪了。

有一个软件人员滔滔不绝地向客户讲解在“信息高速公路上做广告”的种种好处,客户听得津津有味。最后,心动的客户对软件人员说:“好得很,就让我们马上行动起来吧。请您决定广告牌的尺寸和放在哪条高速公路上,我立即派人去做。”

为什么软件系统分析员的工资要比普通程序员高?就是因为需求分析困难嘛。

 

4.4 如何进行需求分析

上一节诉说了需求分析的困难,本节要知难而进。

进行需求分析不象情人之间的浪漫做法——“让我摸摸你的头发,感觉它是什么颜色。”我们要围绕两个核心问题开展需求分析:(1)应该了解什么?(2)通过什么方式去了解?

 

4.4.1 应该了解什么

那怕是天下最无能的领导,都知道在作报告时要先从宏观上讲一、二、三、四、五,再从细节上讲ABCDE。需求分析不象侦探推理那样从蛛丝马迹着手。应该先了解宏观的问题,再了解细节的问题,如图4.1所示。

 

软件系统(S

 

 


D1    D2    D3       Dn

                问题域                                      对应于软件子系统

问题域Di

P1    P 2    P 3       P m

 

 

 

 


                 问题                                       对应于子系统的软构件

问题Pj

 

 

 


F1    F 2    F 3       F k

            行为(功能)                                     对应于软构件的接口

 

 

4.1 进行需求分析时要了解的内容

 

一个软件系统(记为 S)的涉及面可能很广,可以按不同的问题域(记为D)分类,每个问题域对应于一个软件子系统。

                       S = { D1D2D3,… Dn }

问题域Di 由若干个问题(记为P)组成,每个问题对应于子系统中的一个软构件。

                       Di = { P1P2P3,… Pm }

问题Pj有若干个行为(或功能,记为F),每个行为对应于软构件中的接口。

                       Pj = { F1F2F3,… Fk }

按图4.1结构写成的需求说明书,对于那些只想了解宏观需求的领导,和需要了解细节的技术员都合适。在写需求说明书时还应该注意两个问题:

1)最好为每个需求注释“为什么”,这样可让程序员了解需求的本质,以便选用最合适的技术来实现此需求。

2)需求说明不可有二义性,更不能前后相矛盾。如果有二义性或前后相矛盾,则要重新分析此需求。

 

4.4.2 通过什么方式去了解

了解需求的方式有好几种:

1)直接与客户交谈。如果分析人员生有足球评论员的那张“大嘴”,就非常容易侃出需求。

2)有些需求客户讲不清楚,分析人员又猜不透,这时就要请教行家。有些高手真的很厉害,你还没有开始问,他就能讲出前因后果。让你感到“听君一席言,胜读十年书。”

3)有很多需求可能客户与分析人员想都没有想过,或者想得太幼稚。要经常分析优秀的和蹩脚的同类软件,看到了优点就尽量吸取,看到了缺点就引以为戒。前人既然付了学费,后人就不要拒绝坐享其成。

 

4.5 

 

为了阐述可行性分析的四个要素:经济、技术、社会环境和人,本章讲了几个令人垂头丧气的案例。如果您学会了客观、科学的可行性分析,在作决策时就要果断,要学习热恋中的这个年青人——“倒底行还是不行?行就结婚,不行就离婚。”

本章并没有鼓吹需求分析的难度,不是在吓唬人。如果需求分析搞错了,麻烦大哩。[[几十年前,我们最最伟大的领袖毛主席说了一声“人多力量大”,导致现在中国人口蹦到13亿。他老人家辉煌地走了,后人却付出了沉重的代价。]] 几十年前,人们盲目信奉“人多力量大”,导致现在中国人口蹦到13亿,遗留了一大堆社会问题。

所以我们要认真地做好可行性分析和需求分析。

作者:未知 点击:[打印] [关闭] [返回顶部]
本文标签:软件工程思想(4)
* 由于无法获得联系方式等原因,本网使用的文字及图片的作品报酬未能及时支付,在此深表歉意,请《软件工程思想(4)》相关权利人与机电之家网取得联系。
电子样本

金泰钢塑复合管
:销售部
:028-7226200
:成都金泰管业有限公司
个人求购

闵华 【求购】  沼气燃烧..  2009-12-23
陈小姐 【求购】  五金配件  2009-12-23
丘双华 【求购】  钢质门  2009-12-23
周雷 【求购】  ACP配电..  2009-12-23
Tom 【求购】  无缝钢管  2009-12-23
冯银燕 【求购】  风机  2009-12-23
陈浩 【求购】  调制解调..  2009-12-23
王士平 【求购】  不锈钢材..  2009-12-23
最新供应

VIP公司推荐