完整性:系统处理物理干扰、非法操作的好坏。

  可靠性:系统故障的额度。

  (2)修改。

  可维护性:定位错误、修复的难易度。

  灵活性:扩充新特性的难易度。

  可测试性:测试系统的容易程度。

  (3)转移。

  互操作性:系统与其他系统协同工作的难易度。

  可移植性:移植系统到新硬件平台或新软件的难易度。

  可重用性:把部分软件用于其他系统的难易度。

  (二)需求分析

  这个阶段将对已收集的需求进行提炼、分析和审查,也是对问题的分析和方案的综合,确保所有的需求含义都被理解,并找出可能错误、遗漏或不足的地方。

  (1)对需求进行提炼:分析员从数据流和数据结构出发,对系统功能逐步细化,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求、性能需求、运行环境需求等。剔除不合理的部分,增加其需要的部分,终综合成系统的解决方案,给出目标系统的详细逻辑模型。

  (2)对需求进行分析:分析和综合的工作必须反复进行,即分析员对问题和期望进行分析,综合出解决方案,再检查它是否符合要求,再进行修改,这样反复进行,直到双方(分析员和用户)都满意为止,即有把握正确制定出软件的规格说明书。

  (3)需求分析方法:常用的分析方法有而向数据流图的结构化分析方法(SA)、面向数据结构的Jackson方法(JSD)、面向对象的分析方法(OOA)、用于建立动态模型的状态迁移图或Petri网等,这些方法以图文结合的方式直观地描述了软件的逻辑模型。

  (三)制定规格说明书

  经过分析,下一步应该把分析的结果用正式的文档准确、清晰地记录下来,也是需求规格说明书。说明书必须有对系统的功能和性能的描述,对系统的数据及处理数据的算法也应简略地描述;同时,还需要制定数据要求说明书和编写初步的用户手册.以便确切表达用户对软件的输入输出要求,着重反映被开发软件的用户界面和用户使用的具体要求。此外对所开发项目的成本与进度,可做出更准确的估计,从而修改、完善与确定软件开发实施计划。

  (四)评审

  这个阶段是对需求分析阶段工作的复查,应该对功能的正确性、完整性、清晰性给予评价。评审应有专人负责,评审结束后负责人签署评审意见,意见中通常可包括一些修改意见,分析人员需按这些意见对软件进行修改,再评审,通过才可以进入设计阶段,以此保证软件需求定义的质量。