⑨信息项 ⑩信息行为 D~E:①连接 ②接口 ③中间 ④通讯 ⑤联系
5、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。它从用户界面的开发入手,首先形成( B ),用户( C ),并就( D )提出意见,它是一种( E )型的设计过程。 供选择的答案:A.① B.③ C.④ D.① E.①
A. ①需求不确定性高的 ②需求确定的 ③管理信息 ④决策支持
B. ①用户界面使用手册 ②用户界面需求分析说明书 ③系统界面原型 ④完善的用户界面 C. ①改进用户界面的设计 ②阅读文档资料 ③模拟用户界面的运行 ④运行用户界面原型
D. ①同意什么和不同意什么 ②使用和不使用哪一种编程语言 ③程序的结构 ④执行速度是否满足要求 E. ① 自外向内 ② 自顶向下 ③ 自内向外 ④ 自底向上
四、问答题
1、在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别? 答:所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。当前系统的物理模型客观地反映当前系统实际的工作情况。但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的。
2、软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞?
答:软件需求分析过程中,由于最初分析员对要解决的问题了解很少,用户对问题的描述、对目标软件的要求也很凌乱、模糊,再加上分析员和用户共同的知识领域不多,导致相互间通信的需求。首先,由于分析员和用户之间需要通信的内容相当多,业务知识上的不足,表达方式的不足,可能对某些需求存在错误解释或误解的可能性,造成需求的模糊性。其次,用户和分析员之间经常存在无意识的“我们和他们”的界限,不是按工作需要组成统一的精干的队伍,而是各自定义自己的“版图”,并通过一系列备忘录、正式的意见书、文档,以及提问和回答来相互通信。历史已经证明,这样会产生大量误解。忽略重要信息,无法建立成功的工作关系。
3、你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。
答:系统分析员处在用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。一方面要协助用户对所开发的软件阐明要求,另一方面还要与高级程序员交换意见,探讨用户所提要求的合理性以及实现的可能性。最后还要负责编写软件需求规格说明和初步的用户手册。
为能胜任上述任务,分析员应当具备如下的素质:
(1) 能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。 (2) 善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整 理成为各种逻辑成分,并给出简明、清晰的描述。
(3) 善于从相互冲突或混淆的原始资料中抽出恰当的条目来。
(4) 善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件。 (5) 能够倾听他人的意见,注意发挥其它人员的作用。 (6) 具有良好的书面和口头交流表达能力。 4、可行性研究主要研究哪些问题?试说明之。
答:可行性研究主要做4个方面的研究:经济可行性 :进行成本?效益分析。从经济角度判断系统开发是否“合算”。技术可行性 :进行技术风险评价。从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。法律可行性 :确定系统开发可能导致的任何侵权、妨碍和责任。方案的选择 :评价系统或产品开发的几个可能的候选方案。最后给出结论意见。
5、信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系统?
答:什么是信息?广义地讲,信息就是消息。宇宙三要素(物质、能量、信息)之一。它是现实世界各种事物在人们头脑中的反映。此外,人们通过科学仪器能够认识到的也是信息。信息的特征为:可识别、可存储、可变换、可处理、可传递、可再生、可压缩、可利用、可共享。我们通常讲的信息域就是对信息的多视角考虑。信息域包含3个不同的视图:信息内容和关系、信息流和信息结构。为了完全理解信息域,必须了解每一个视图。
信息结构:它是信息在计算机中的组织形式。一般表示了各种数据和控制对象的内部组织。数据和控制对象是被组织成n维表格,还是组织成有层次的树型结构? 在结构中信息与其它哪些信息相关? 所有信息是在一个信息结构中,还是在几个信息结构中? 一个结构中的信息与其它结构中的信息如何联系? 这些问题都由信息结构的分析来解决。
信息流:表示数据和控制在系统中传递时的变化方式。输入对象首先被变换成中间信息(数据或控制),然后再变换成输出结果信息。沿着变换路径,可能从已有的数据存储(如磁盘文件或内存缓冲区)中引入附加的信息。对数据进行变换是程序中应有的功能或子功能。两个变换功能之间的数据传递就确定了功能间的接口。 所以,没有信息流的系统相当于没有功能的系统,这样的系统的存在是毫无意义的。而没有信息结构的系统是没有信息的系统,这样的系统不是计算机能够处理的系统。
6、软件需求分析的操作性原则和需求工程的指导性原则是什么? 答:所有的需求分析方法都与一组操作性原则相关联: · 必须理解和表示问题的信息域。
· 必须定义软件将完成的功能。
· 必须表示软件的行为(作为外部事件的结果)。
· 必须对描述信息、功能和行为的模型进行分解,能够以层次方式揭示其细节。 · 分析过程应当从要素信息转向细节的实现。
通过使用这些原则,分析员可以系统地处理问题。首先检查信息域以便更完整地理解目标软件的功能,再使用模型以简洁的方式表达目标软件的功能和行为,并利用自顶向下、逐层分解的手段来降低问题的复杂性。在这些处理过程中,因处理需求带来的逻辑约束和因其它系统元素带来的物理约束需要通过软件要素和视图的实现加以检验和确认。 除此以外,Davis建议了一组针对“需求工程”的指导性原则:
· 在开始建立分析模型之前应当先理解问题。如果问题没有很好理解就急于求成,常常会产生一个解决错误问题的完美的软件。
· 强力推荐使用原型。这样做可以使用户了解将如何与计算机交互,而人们对软件质量的认识常常是基于对界面“友好性”的切身体会。
· 记录每一个需求的起源和原因。这是建立对用户要求的可追溯性的第一步。
· 使用多个视图,建立系统的数据、功能和行为模型。这样做可帮助分析员从多方面分析和理解问题,减少遗漏,识别可能的不一致之处。
· 给需求赋予优先级。因为过短的时限会减少实现所有软件需求的可能性。因此,对需求排定一个优先次序,标识哪些需求先实现,哪些需求后实现。
· 注意消除歧义性。因为大多数需求都是以自然语言描述,存在叙述的歧义性问题,造成遗漏和误解。采用正式的技术评审是发现和消除歧义性的好方法。
遵循以上原则,就可能开发出较好的软件需求规格说明,为软件设计奠定基础。 7、数据流图的作用是什么?它有哪些基本成份?
答:数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。 数据流图的基本成份有4种:
8、考务处理系统的分层数据流图如下图所示。
该考务处理系统有如下功能:
① 对考生送来的报名表进行检查;
②对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;
③对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者; ④填写考生通知单(内容包含考试成绩及合格?不合格标志),送给考生;
⑤按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。
(1) 图(c)中,加工1.1的输入数据流是( A ),输出数据流是( B ),图(b)中,加工2的输出数据流是( C ),它是由( D )和( E )组成。
供选择的答案:答:A. ② B. ⑤ C. ① D. ⑥ E. ⑧ F. ②其中,D与E的答案可互换。 A~E. ①统计分析表 ②报名表 ③准考证 ④考生通知单
⑤合格报名表 ⑥难度分析表 ⑦错误成绩表 ⑧分类统计表
(2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了? 回答是( F )。 供选择的答案:
F. “①试题得分表”没有在图(b)中画出,是错误的。
“ ②试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。 “ ③试题得分表”是多余的。 应注意的问题:
①适当地为数据流、加工、文件、数据的源?汇点命名。名字应反映该元素的实际含义,避免空洞的名字。如数据、信息处理、计算等名字都不好。
②画数据流时不要夹带控制流。数据流图中各种数据的加工没有考虑时序关系,引入控制流后,加工之间就有了时序关系,这与画数据流图不考虑实现细节的初衷相违背。
③一个加工的输出数据流不要与该加工的输入数据流重名,即使它们的组成成分相同。例如图(c)中加工1.1的输入数据流“报名表”与输出数据流“合格报名表”。
④允许一个加工有多个数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。
⑤保持父图与子图的平衡。就是说,父图与它的子图的输入数据流与输出数据流应当在数量与名字上都相同。特别的是,如果父图的一个输入(或输出)数据流对应于子图中几个
相关推荐: