文本“计算机二级《信息管理》2017重点:结构化生命周期方法”由出国留学网计算机等级考试栏目整理,希望对考生有所帮助。
结构化生命周期方法
结构化分析与设计方法在软件工程中应用已很普遍,并且越来越成熟。有许多大、中型项目都采用了这种方法进行开发并取得了显著的成果。
按B.W.Boehm的描述,瀑布模型的的软件生命周期可划分七个阶段:系统需求分析、软件需求分析、概要设计、详细设计、编码、测试和运行维护。
系统需求
“系统需求”包括:问题定义、可行性研究及软件计划。
1.问题定义
软件开发的第一步就是进行问题定义。问题定义阶段必须回答的关键问题:“软件要解决的问题是什么?”如果不知道问题是什么就试图解决这个问题,显然是盲目的,只会白白浪费时间和金钱,最终得出的结果很可能是毫无意义的。尽管确切地定义问题的必要性是十分明显的,但是在实践中它却可能是最常被忽视的一个步骤。这里所说的问题,就是指用户的基本要求。说得通俗些,问题定义实际上就是了解用户到底要建立什么系统,并确定分析员下一步应该做什么。因此,问题定义的来源是用户。
通过问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。这一阶段的分析员应尽可能站在较高的角度去抽象、概括所要干的事情,不要拘泥于问题实现的细节。尽管用户可能总是习惯于这样做,但分析员在这一阶段必须超脱出来,居高临下鸟瞰系统的全貌。通过对系统的实际用户和使用部门负责人的访问调查,分析员扼要地写出他对问题的理解,并在使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不清的地方,改正理解不正确的地方,最后得出一份双方都满意的文档。
当用户的要求不是很多并且不太复杂时,一两个分析员用上一两天就可以完成这一工作了。但当系统比较大,且复杂时,恐怕就要组织一个问题定义小组,花上一两个星期,甚至数月来定义用户的问题。
如果分析员和用户及使用部门的负责人对所要解决的问题取得完全一致的看法,而且使用部门的负责人同意开发工程继续进行下去,那么开发工程将转入生命周期的下一个阶段———可行性研究。
2.可行性研究
并不是所有问题都有简单明显的解决办法,事实上,许多问题不能在预定的系统规模之内解决。如果问题没有可行的解,那么花费在这项开发工程上的任何时间、资源、人力和经费和都是无谓的浪费。
可行性研究的目的在于用最小的代价确定在问题定义阶段所确定的系统的目标和规模是否现实,所确定的问题是否可以解决,系统方案在经济上、技术上和操作上是否可以接受。可行性研究着重对如下具体方案考虑:
(1)经济可行性。估计开发费用以及新系统可能带来的收益,将两者进行权衡,看结果是否可以接受。
(2)技术可行性。对要求的功能、性能以及限制条件进行分析,是否能够做成一个可接受的系统。所考虑的因素通常还应包括开发的风险,是否能够得到需要的软件和硬件资源和一个熟练的有能力的开发队伍,与系统开发有关的技术是否足以支持系统的研制。技术可行性的估计,需要有经验的人员去完成。
(3)操作可行性。判断系统的操作方式在该用户组织内是否可行。
分析、设计人员应以新系统的目标和作用范围为依据提出一种以上的设计方案,从技术可行性、经济可行性、操作可行性等方面进行比较,并选择出综合最优的方案。
Examda提示: 根据可行性研究结果要做出的决定是:是否继续按预定目标进行这项开发工程,可行性分析人员必须清楚地表明他对这个关键性决定的建议。如果认为值得继续进行这项开发工程,则应提供选择一种最好的解法并说明理由。可行性分析是在问题的目标和约束之间的一种权衡,还可能有的结果则是修改目标或放宽约束。
3.软件计划
分析人员应该为推荐的系统草拟一份软件计划,其中描述的是为了成功地进行一个软件项目,其所需要做的工作、需要的资源、需要的工作量和费用以及应遵循的进度安排。
软件计划由两项任务组成:分析和估算。分析是对系统内各软件功能的界限的划定。估算是指根据已有的定性数据和已往的经验对系统开发的资源、费用和进度进行定量的估计。
软件开发项目的进度安排可以从两种观点来考虑:一是项目的交付日期已定,负责开发工作的软件机构被限制在一个规定的时间范围内分配其工作量。二是项目最后的交付日期由软件机构自已确定,可以从最佳的利用各种资源的角度出发来分配工作量,项目最后的交付日期经过对软件各部分仔细分析后才确定。在多数项目中,遇到的往往是第一种情况。
软件计划的阅读者可以包括软件主管部门、用户和技术人员。所确定的成本与进度可供主管部门复审。它同时也给出了整个软件生命周期的基本成本预算的进度安排。