分享
 
 
 

软件系统分析的方法和策略

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

摘要:对一个软件项目进行系统分析首当其冲。过去,人们将“软件”与“程序”、“开发软件”与“编程序”划等号,粗略地进行估计和设计软件产品势必会影响软件的质量和生产效率。现在,随着信息化产业的发展、软件企业的增多,尤其是当面对一些大中型的软件项目,对软件生命周期的各个环节进行系统具体的分析将更加重要。开发者首先要考虑其可行性,是否能果断当前问题或是将来是否能有更大的发展,还要有具体的规划和设计、以及形成书面的文档记录,以便开发员之间的交流;其次要害的是能否满足用户的需求,因为判定开发出来的软件是否成功的标准之一就是看它有无实用性。

当一个软件项目摆在人们面前时,进行系统的分析是首当其冲的,正如我们的一句古语:三思而后行。因此,无论做任何事都应考虑是否有意义以及它的可行性。在过去,人们将“软件”与“程序”、“开发软件”与“编程序”划等号,粗略的进行估计和设计软件产品势必会影响软件的质量和生产效率。然而现在,随着信息化产业的发展,软件企业的增多,尤其是当面对一些大中型的软件项目,对软件生命周期的各个环节进行系统具体的分析将更加重要,而且会提高软件的质量和效率。

一、软件系统开发

无论动物、植物,作为一个完整的事物,都有它的生命周期、或者说它的轨迹。作为先进高科技的产物---软件产品,自然也不例外。这期间,要经过一系列的过程,例如,开发者首先要考虑它的可行性,是否能果断当前问题或是将来是否能有更大的发展,当然要有具体的规划和设计,要形成书面的文档记录下来,以便开发员之间的交流。其次要害的是能否满足用户的需求,因为判定开发出来的软件是否成功的标准之一就是看它有无实用性。之后便是一系列的实施,例如程序设计,系统测试,以及接下来的后续工作---维护与修改工作。

软件生命周期的各个环节将软件系统开发大致分为四个阶段,用图示的方式表现出来即通常所说的“瀑布模型”,如图:

二、系统分析

系统分析是软件生命周期的一个要害环节,其目标是将对计算机应用系统的需求转化成实际的物理实现。然而实际面太多,增加了软件分析的复杂度,那么究竟在系统分析的过程中需要考虑那些因素呢?

1、系统目的。在考虑系统目的时,应更多的侧重于系统的最终目标考虑,因为一个系统不可能在最初就是完美的,要为系统留些余地。

2、系统参与者。在整个项目中,要考虑有哪些方面参与了系统,这些参与者人可能在系统建设中起重要作用,他们采取什么样的态度将会对系统有一定的影响。另外,还要了解各参与者的初衷是什么。

3、明确的评价标准。最好从参与的各方面都进行考虑,要知道他们对这个系统是否有一个明确的评价标准。

4、系统开发计划的完善度。计划表要有明确的阶段,每一阶段要有具体的完成计划,以及对阶段完成情况进行的评价。

当然还有很多因素值得考虑,可以根据面对的项目的不同而改变,譬如与软件开发人员的交流等等。

三、开发内容

开发软件系统最为困难的部分,就是准确说明开发什么。这就需要在开发的过程中不断的与用户进行交流与探讨,使系统更加详尽,准确到位。这就需要确定用户是否需要这样的产品类型以及获取每个用户类的需求。需求类型包括三个:

1、业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目的要求,它们在项目视图与范围文档中予以说明。

2、用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。

3、功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

总之,无论是商业性或非商业目的的产品,都应具备完整的说明书,以避免发生状况时引起不必要的损失。

四、分析设计和系统方案

在考虑完各方面的实际因素后,就要对项目进行总体的分析设计。简单的讲,总体设计需要确定的内容应当包括:

1、系统需要实现哪些功能;

2、开发使用什么软件,在什么样的硬件环境;

3、需要多少人,多少时间;

4、需要遵循的规则和标准有哪些。

一般情况下,在总体设计出来后,就需要给客户一个系统的方案。假如在客户需求不是十分明确的情况下提交方案,往往和实际制作后的结果会有很大差异。所以应该尽量取得客户的理解,在明确需求并总体设计后提交方案,这样对双方都有益处。而方案则应包括以下几个部分:

1.客户情况分析;

2.系统需要实现的目的和目标;

3.系统各个模块与结构;

4.使用软件,硬件和技术分析说明;

5.开发时间进度表;

6.维护方案;

7.制作费用。

总之,总体设计阶段是以比较抽象概括的方式提出了解决问题的办法;而具体设计阶段的任务,也就是把解法具体化。具体设计主要是针对程序开发部分来说的,但这个阶段的不是真正编写程序,而是设计出程序的具体规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,例如:程序界面、表单、需要的数据等,程序员可以根据它们写出实际的程序代码;而至于后续的工作,就有程序员来完成编写程序,系统测试员来完成测试,还有之后的维护和修改。

五、运用策略

伟人有治国的策略,商人有致富的财路,巧妇有理家的本领,鹤发童颜的老人有长生的秘诀。在进行软件开发系统分析时,也要本着一些策略:

1.“简单—复杂—简单”。 这是技术型分析人员经常碰到的情况,认为分析出错综复杂的关系,花哨的图表才能显示出分析水平高,其实,分析经常要经历"简单-复杂-简单"的过程,前一个简单表现为分析人员"认为简单";随着分析的深入,原以为简单的问题会越来越复杂;最后,经过概括、消化、分解,使得需求简单明了。

2.软件复用技术。新开发的软件,要从一开始就考虑其可演化性,以便以后的再工程和构件提取。随着软件复用技术的不断发展,从头开始的软件大量减少,使用的遗产系统相应增多,这就避免了重复的工作,使得已完善的模块遗传下去。

3.模块化概念。模块化可以增强系统的独立性,使耦合度降低,实现“高内聚-松耦合”。对于模块的内部,使其高度集中,而模块与模块间的联系相对减少,这样使系统各模块独立的进行运转。

任何雄才伟略的人都能纵观全局,有一览众山小之气势。若想有出色的成果必然要有对事物进行总的分析的能力,这就包括是否着眼于长远利益,是否能对其很好的治理掌控。系统并不是简单的计算机代替手工劳作的一种方式,它是一种高于现实的治理模式。因此,系统分析是软件开发过程中必不可少的一个环节,它为高质量软件产品的开发奠定了基础。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有