免费智能真题库 > 历年试卷 > 系统集成项目管理工程师 > 2009年上半年 系统集成项目管理工程师 上午试卷 综合知识
  第8题      
  知识点:   软件需求分析与定义   软件需求   软件需求说明书   需求分析   需求分析阶段   需求说明书
  关键词:   分析阶段   软件需求说明书   信息系统   需求分析   需求        章/节:   信息系统建设与开发       

 
信息系统的软件需求说明书是需求分析阶段最后的成果之一,(8)不是软件需求说明书应包含的内容。
 
 
  A.  数据描述
 
  B.  功能描述
 
  C.  系统结构描述
 
  D.  性能描述
 
 
 

 
  第15题    2017年上半年  
   58%
常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA)。( )不是结构化分析方法的图形工具。
  第8题    2009年下半年  
   59%
典型的信息系统项目开发的过程为:需求分析、概要设计、详细设计、程序设计、调试与测试、系统安装与部署。(8)阶段拟定了系统的目..
  第14题    2016年上半年  
   64%
常用的需求分析方法有:面向数据流的结构化分析方法(SA)、面向对象的分析方法(OOA)。(14)不是结构化分析方法的图形工具。
   知识点讲解    
   · 软件需求分析与定义    · 软件需求    · 软件需求说明书    · 需求分析    · 需求分析阶段    · 需求说明书
 
       软件需求分析与定义
               概念
               软件需求分析与定义过程用于了解客户需求和用户的业务,为客户、用户和开发者之间建立一个对于待开发的软件产品的共同理解,并把软件需求分析结果编写成《软件需求规格说明书》。
               软件需求是针对待解决问题的特性的描述。软件需求具有如下特征:
               .可验证性:所定义的需求必须可以被验证。
               .优先级:在资源有限时可以通过优先级对需求进行权衡。
               需求分析的目的
               .检测和解决需求之间的冲突。
               .发现软件的边界,以及软件与其环境的交互。
               .详细描述系统需求,以导出软件需求。
               需求分析的任务
               需求分析需要准确地定义未来系统的目标,确定为了满足用户需求待建系统必须做什么,并用需求规格说明书规范地表达用户的需求。需求分析有两个主要任务:
               .建立分析模型。
               .编写需求规格说明书。
 
       软件需求
        在进行需求获取之前,首先要明确需要获取什么,也就是需求包含哪些内容。软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,并预先估计以后系统可能达到的目标。此外,还需要注意其他非功能性的需求。具体内容如下。
        (1)功能需求。
        (2)性能需求。
        (3)用户或人的因素。
        (4)环境需求。
        (5)界面需求。
        (6)文档需求。
        (7)数据需求。
        (8)资源使用需求。
        (9)安全保密要求。
        (10)可靠性要求。
        (11)软件成本消耗与开发进度需求。
        (12)其他非功能性要求。
               需求分析的任务
               需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。具体来说有下面几点。
               (1)确定软件系统的综合要求,包括系统界面、功能、性能、安全性、保密性、可靠性、运行等方面的要求。
               (2)分析软件系统的数据要求,包括基本数据元素、数据元素之间的逻辑关系、数据量、峰值等。
               (3)导出系统的逻辑模型,在结构化方法中可用数据流图来描述;在面向对象分析方法中可以用类模型来描述。
               (4)修正项目开发计划。
               (5)如有必要,可开发一个原型系统以验证用户的需求。
               软件需求的分类
               下面介绍软件需求的分类。
               (1)功能需求。所开发的软件必须具备什么样的功能。
               (2)非功能需求。它是指产品必须具备的属性或品质,如可靠性、性能响应时间、容错性和可扩展性等。
               (3)设计约束。其也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。
               软件需求分析方法
               需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成。它定义了表示系统逻辑视图和物理视图的方式。大多数的需求分析方法是由数据驱动的,数据域具有数据流、数据内容和数据结构3种属性。通常一种需求分析方法总要利用其中一种或几种属性。
 
       软件需求说明书
        软件需求说明书(Software Requirements Specification, SRS)是需求开发阶段的成果,代表用户和开发人员对软件系统的共同理解,是软件项目后期开发和维护的基础。不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。SRS需要把用户对软件的功能需求和非功能需求进行详细记录和准确描述,它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。除了设计和实现上的限制,软件需求说明不应该包括设计、构造、测试或工程管理的细节,也不应该包括对算法的详细过程描述。
        可以使用以下3种方法编写SRS。
        (1)用好的结构化和自然语言编写文本型文档。
        (2)建立图形化模型,这些模型可以描述转换过程、系统状态和它们之间的变化、数据关系、逻辑流或对象类和它们的关系。
        (3)编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。
        由于形式化规格说明具有很强的严密性和精确度,因此,所使用的形式化语言只有极少数软件开发人员才熟悉,更不用说客户了。虽然结构化的自然语言具有许多缺点,但在大多数软件工程中,它仍是编写需求文档最现实的方法。包含了功能和非功能需求的基于文本的软件需求规格说明已经为大多数项目所接受。图形化分析模型通过提供另一种需求视图,增强了软件需求的规格说明。
 
       需求分析
        需求分析的方法种类繁多,不过如果按照分解的方式不同,可以很容易地划分出几种大类型:
        (1)结构化分析方法。本节后续内容将详细讨论SA的内容。
        (2)面向对象分析方法。将在10.3节中进行详细介绍。
        (3)面向问题域的分析(Problem Domain Oriented Analysis, PDOA)方法。PDOA更多地强调描述,而少强调建模。它的描述大致分为关注问题域和关注解系统的待求行为这两个方面。问题框架是PDOA的核心元素,是将问题域建模成为一系列相互关联的子域。也可以把问题框架看作是开发上下文图,但不同的是上下文图的建模对象是针对解系统,而问题框架则是针对问题域。也就是说,问题框架的目标就是大量地捕获更多有关问题域的信息。PDOA方法现在还在研究阶段,并未广泛应用。
               业务流程分析
               业务流程分析的目的是了解各个业务流程的过程,明确各个部门之间的业务关系和每个业务处理的意义,为业务流程的合理化改造提供建议,为系统的数据流程变化提供依据。
               业务流程分析的步骤如下:
               (1)通过调查掌握基本情况。
               (2)描述现有业务流程(绘制业务流程图)。
               (3)确认现有业务流程。
               (4)对业务流程进行分析。
               (5)发现问题,提出解决方案。
               (6)提出优化后的业务流程。
               在业务流程图中使用的基本符号如下图所示。
               数据流图
               DFD是结构化分析中的重要方法和工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD还可被认为是一个系统模型,在信息系统开发中,一般将它作为需求说明书的组成部分。
               
               业务流程图符号
               DFD从数据传递和加工的角度,利用图形符号通过逐层细分地描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,DFD的主要作用如下:
               (1)DFD是理解和表达用户需求的工具,是系统分析的手段。由于DFD简明易懂,理解它不需要任何计算机专业知识,因此通过它同客户交流很方便。
               (2)DFD概括地描述了系统的内部逻辑过程,是系统分析结果的表达工具,因而也是系统设计的重要参考资料,是系统设计的起点。
               (3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。
               在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。下图是一个典型的DFD示例。
               
               办理取款手续的DFD
               为了表达数据处理过程中的数据加工情况,用一个DFD是不够的。稍微复杂的实际问题,在DFD中常常出现十几个甚至几十个加工。这样的DFD看起来很不清楚。层次结构的DFD能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层的DFD反映这种结构关系,能清楚地表达整个系统。
               下图给出分层DFD的示例。数据处理S包括3个子系统1、2、3。顶层下面的第一层DFD为DFD/L1,第二层的DFD/L2.1、DFD/L2.2及DFD/L2.3分别是子系统1、2和3的细化。对任何一层数据流图来说,它的上层图称为父图,在它下一层的图则称为子图。
               
               分层数据流图
               概括地说,画DFD的基本步骤,就是“自顶向下,逐层分解”。检查和修改的原则如下:
               (1)DFD中的所有图形符号只限于前述4种基本图形元素。
               (2)顶层DFD必须包括前述4种基本元素,缺一不可。
               (3)顶层DFD中的数据流必须封闭在外部实体之间。
               (4)每个加工至少有一个输入数据流和一个输出数据流。
               (5)在DFD中,需按层给加工框编号。编号表明了该加工处在哪一层,以及上下层的父图与子图的对应关系。
               (6)规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
               (7)可以在DFD中加入物质流,帮助用户理解DFD。
               (8)图上每个元素都必须有名字。
               (9)DFD中不可夹带控制流。
               数据字典
               数据字典是关于数据的信息的集合,也就是对DFD中包含的所有元素的定义的集合。DFD和数据字典共同构成系统的逻辑模型。没有DFD,数据字典难以发挥作用;没有数据字典,DFD就不严格。只有把DFD和对DFD中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
               数据字典的设计包括:数据流设计、数据元素字典设计、数据处理字典设计、数据结构字典设计和数据存储设计。这些设计涵盖了数据的采集和范围的确定等信息。在数据字典的每一个词条中应包含以下信息:名称、别名或编号、分类、描述、何处使用。
               对加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言、判定树及判定表。
               (1)结构化语言:介于自然语言和形式语言之间的一种半形式语言,在自然语言基础之上加了一些限度,使用有限的词汇和有限的语句来描述加工逻辑。结构化语言是受结构化程序设计思想启发而扩展出来的。结构化程序设计只允许3种基本结构。结构化语言也只允许3种基本语句,即简单的祈使语句、判断语句和循环语句。与程序设计语言的差别在于结构化语言没有严格的语法规定,与自然语言的不同在于它只有极其有限的词汇和语句。结构化语言使用3类词汇:祈使句中的动词、数据字典中定义的名词及某些逻辑表达式中的保留字。
               (2)判定树:若一个动作的执行不只依赖一个条件,而与多个条件有关,那么这项策略的表达就比较复杂。如果用结构化语言的判断语句,就有多重嵌套,层次一多,可读性就会下降。用判定树来表示,可以更直观一些。
               (3)判定表:一些条件较多、在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁、无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。
 
       需求分析阶段
        . 确定软件的可靠性目标;
        . 分析可能影响可靠性的因素;
        . 确定可靠性的验收标准;
        . 制定可靠性管理框架;
        . 制定可靠性文档编写规范;
        . 制定可靠性活动初步计划;
        . 确定可靠性数据收集规范。
 
       需求说明书
        设计人员在需求分析的基础上对网络应用系统进行设计并形成需求说明书,在此基础上,用户、需求分析人员和设计人员要对之进行评审,确定设计的正确性与否的同时,验证网络需求的全面性、精确性和一致性,并使用户和网络设计人员对需求说明书的理解达成一致,另外还会根据实际情况对需求分析进行修订。
        需求说明书是由设计人员经需求分析后形成的网络设计文档,其内容更为系统、精确和全面,因为它必须服务于以下目标:
        (1)便于用户、分析人员和网络设计人员理解和交流。用户通过需求说明书在分析阶段即可初步判定目标网络系统能否满足其原来的期望,网络设计人员则将需求说明书作为网络设计的基本出发点。
        (2)支持目标网络系统的确认。网络系统建设的目标是否完成不应由网络测试阶段的人为因素决定,而应根据需求说明书中确定的可测试标准来决定。
        (3)控制系统进化过程。在需求分析完成后,如果用户追加需求,那么需求说明书将用于确定是否为新需求。
        需求说明书的主体包括功能与行为需求的描述及非行为需求描述两部分。功能与行为需求描述说明网络数据包的产生、传送和接收过程中各结点之间的相互关系。非行为需求是指网络系统在运作时应具备的各种属性,包括传输时间、带宽利用率、吞吐量、延迟等指标。
        为使需求说明书更加简洁易懂,其他内容不应写入需求说明书,如人员需求、成本预算、进度安排、网络设计方案等就不应写进去。
        完成需求说明书之后,要制订确认测试计划,其中主要内容有网络系统说明、进度安排、条件、测试资料、测试对象、人员培训、测试设计(系统容量、功能、性能、对应用的支持程度)、标准评价(范围、尺度、数据整理)。
   题号导航      2009年上半年 系统集成项目管理工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第8题    在手机中做本题