第四章需求获取.docx

上传人:b****7 文档编号:9766870 上传时间:2023-02-06 格式:DOCX 页数:20 大小:338.47KB
下载 相关 举报
第四章需求获取.docx_第1页
第1页 / 共20页
第四章需求获取.docx_第2页
第2页 / 共20页
第四章需求获取.docx_第3页
第3页 / 共20页
第四章需求获取.docx_第4页
第4页 / 共20页
第四章需求获取.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

第四章需求获取.docx

《第四章需求获取.docx》由会员分享,可在线阅读,更多相关《第四章需求获取.docx(20页珍藏版)》请在冰豆网上搜索。

第四章需求获取.docx

第四章需求获取

【习题】

三、选择填空

四、问答题

1、在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。

试问:

什么是当前系统?

当前系统的物理模型与逻辑模型有什么差别?

所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。

当前系统的物理模型客观地反映当前系统实际的工作情况。

但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。

所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的。

2、软件需求分析是软件工程过程中交换意见最频繁的步骤。

为什么交换意见的途径会经常阻塞?

软件需求分析过程中,由于最初分析员对要解决的问题了解很少,用户对问题的描述、对目标软件的要求也很凌乱、模糊,再加上分析员和用户共同的知识领域不多,导致相互间通信的需求。

但是由于分析员和用户之间需要通信的内容相当多,业务知识上的不足,表达方式的不足,可能对某些需求存在错误解释或误解的可能性,造成需求的模糊性。

另外,用户和分析员之间经常存在无意识的“我们和他们”的界限,不是按工作需要组成统一的精干的队伍,而是各自定义自己的“版图”,并通过一系列备忘录、正式的意见书、文档,以及提问和回答来相互通信。

历史已经证明,这样会产生大量误解。

忽略重要信息,无法建立成功的工作关系。

3、你认为一个系统分析员的理想训练和基础知识是什么?

请说明理由。

系统分析员处在用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。

一方面要协助用户对所开发的软件阐明要求,另一方面还要与高级程序员交换意见,探讨用户所提要求的合理性以及实现的可能性。

最后还要负责编写软件需求规格说明和初步的用户手册。

 

为能胜任上述任务,分析员应当具备如下的素质:

(1)能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。

(2)善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整理成为各种逻辑成分,并给出简明、清晰的描述。

(3)善于从相互冲突或混淆的原始资料中抽出恰当的条目来。

(4)善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件。

(5)能够倾听他人的意见,注意发挥其它人员的作用。

(6)具有良好的书面和口头交流表达能力。

4、可行性研究主要研究哪些问题?

试说明之。

可行性研究主要做4个方面的研究:

经济可行性:

进行成本∕效益分析。

从经济角度判断系统开发是否“合算”。

技术可行性:

进行技术风险评价。

从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。

法律可行性:

确定系统开发可能导致的任何侵权、妨碍和责任。

方案的选择:

评价系统或产品开发的几个可能的候选方案。

最后给出结论意见。

5、信息和信息结构有什么区别?

有没有不存在信息流的系统?

有没有不存在信息结构的系统?

信息是宇宙三要素(物质、能量、信息)之一。

它是现实世界各种事物在人们头脑中的反映。

此外,人们通过科学仪器能够认识到的也是信息。

信息的特征为:

可识别、可存储、可变换、可处理、可传递、可再生、可压缩、可利用、可共享。

信息域就是对信息的多视角考虑。

信息域包含3个不同的视图:

信息内容和关系、信息流和信息结构。

为了完全理解信息域,必须了解每一个视图。

信息结构:

它是信息在计算机中的组织形式。

一般表示了各种数据和控制对象的内部组织。

数据和控制对象是被组织成n维表格,还是组织成有层次的树型结构?

 在结构中信息与其它哪些信息相关?

 所有信息是在一个信息结构中,还是在几个信息结构中?

 一个结构中的信息与其它结构中的信息如何联系?

 这些问题都由信息结构的分析来解决。

信息流:

表示数据和控制在系统中传递时的变化方式。

输入对象首先被变换成中间信息(数据或控制),然后再变换成输出结果信息。

沿着变换路径,可能从已有的数据存储(如磁盘文件或内存缓冲区)中引入附加的信息。

对数据进行变换是程序中应有的功能或子功能。

两个变换功能之间的数据传递就确定了功能间的接口。

所以,没有信息流的系统相当于没有功能的系统,这样的系统的存在是毫无意义的。

而没有信息结构的系统是没有信息的系统,这样的系统不是计算机能够处理的系统。

6、有人说:

软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。

对否?

请解释你的回答。

软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。

这个说法是对的。

在1970年代,GTE、TRW和IBM等三家公司对此问题做了独立研究,最后它们得到相似的结论:

 从表中可以看出,在需求分析阶段检查和修复一个错误所需的代价只有编码阶段所需代价的1/5到1/10,而在维护阶段做同样的工作所付出的代价却是编码阶段的20倍。

7、软件需求分析的操作性原则和需求工程的指导性原则是什么?

软件需求分析的操作性原则指所有的需求分析方法都与一组操作性原则相关联:

必须理解和表示问题的信息域。

必须定义软件将完成的功能。

必须表示软件的行为(作为外部事件的结果)。

必须对描述信息、功能和行为的模型进行分解,能够以层次方式揭示其细节。

分析过程应当从要素信息转向细节的实现。

通过使用这些原则,分析员可以系统地处理问题。

首先检查信息域以便更完整地理解目标软件的功能,再使用模型以简洁的方式表达目标软件的功能和行为,并利用自顶向下、逐层分解的手段来降低问题的复杂性。

在这些处理过程中,因处理需求带来的逻辑约束和因其它系统元素带来的物理约束需要通过软件要素和视图的实现加以检验和确认。

Davis建议了一组针对“需求工程”的指导性原则:

在开始建立分析模型之前应当先理解问题。

如果问题没有很好理解就急于求成,常常会产生一个解决错误问题的完美的软件。

强力推荐使用原型。

这样做可以使用户了解将如何与计算机交互,而人们对软件质量的认识常常是基于对界面“友好性”的切身体会。

记录每一个需求的起源和原因。

这是建立对用户要求的可追溯性的第一步。

使用多个视图,建立系统的数据、功能和行为模型。

这样做可帮助分析员从多方面分析和理解问题,减少遗漏,识别可能的不一致之处。

给需求赋予优先级。

因为过短的时限会减少实现所有软件需求的可能性。

因此,对需求排定一个优先次序,标识哪些需求先实现,哪些需求后实现。

注意消除歧义性。

因为大多数需求都是以自然语言描述,存在叙述的歧义性问题,造成遗漏和误解。

采用正式的技术评审是发现和消除歧义性的好方法。

遵循以上原则,就可能做好软件需求规格说明,为软件设计奠定基础。

8、数据流图的作用是什么?

它有哪些基本成份?

数据流图可以用来抽象地表示系统或软件。

它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。

因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。

数据流图的基本成份有4种:

9、Petri网可以描述计算机软件系统的执行。

现有一个程序如下(类似于Pascal语言)

L:

 S1;

  WHILE P1 DO

   BEGIN     

IF P2 THEN S2

          ELSE S3;

     COBEGIN

       S4;

       S5;

       S6;

     COEND

     END;

  GOTO L;

S6是单个执行语句,COBEGIN和COEND是并行执行开始和并行执行结束(即S4,S5和S6语句并行执行)。

试用Petri网描述这段程序的执行过程。

采用条件∕事件网(C∕E网,C―Condition,E―Event)式Petri网。

10、数据词典的作用是什么?

它有哪些基本词条?

分析模型中包含了对数据对象、功能和控制的表示。

在每一种表示中,数据对象和控制项都扮演一定的角色。

为表示每个数据对象和控制项的特性,建立了数据词典。

数据词典精确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。

在数据词典的每一个词条中应包含以下信息:

名称:

数据对象或控制项、数据存储或外部实体的名字。

别名或编号。

分类:

数据对象?

加工?

数据流?

数据文件?

外部实体?

控制项(事件∕状态)?

描述:

描述内容或数据结构等。

何处使用:

使用该词条(数据或控制项)的加工。

11、软件需求分析说明书主要包括哪些内容?

软件需求规格说明是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。

软件需求规格说明的框架如下:

12、考务处理系统的分层数据流图如下图所示。

该考务处理系统有如下功能:

对考生送来的报名表进行检查;

对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;

填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;

按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。

(1)图(c)中,加工1.1的输入数据流是( A ②),输出数据流是( B ⑤),图(b)中,加工2的输出数据流是( C ① ),它是由( D ⑥)和( E ⑧ )组成。

供选择的答案:

A~E. ①统计分析表 ②报名表  ③准考证  ④考生通知单 ⑤合格报名表 ⑥难度分析表 ⑦错误成绩表 ⑧分类统计表

(2)图(d)中的文件“试题得分表”是否在图(b)中漏掉了?

回答是( F ②)。

供选择的答案:

F:

①“试题得分表”没有在图(b)中画出,是错误的。

②“试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。

③“试题得分表”是多余的。

应注意的问题:

①适当地为数据流、加工、文件、数据的源∕汇点命名。

名字应反映该元素的实际含义,避免空洞的名字。

如数据、信息处理、计算等名字都不好。

②画数据流时不要夹带控制流。

数据流图中各种数据的加工没有考虑时序关系,引入控制流后,加工之间就有了时序关系,这与画数据流图不考虑实现细节的初衷相违背。

③一个加工的输出数据流不要与该加工的输入数据流重名,即使它们的组成成分相同。

例如图(c)中加工1.1的输入数据流“报名表”与输出数据流“合格报名表”。

④允许一个加工有多个数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。

⑤保持父图与子图的平衡。

就是说,父图与它的子图的输入数据流与输出数据流应当在数量与名字上都相同。

特别的是,如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,但子图中这几个数据流中的数据项合起来正好是父图中的那个数据流,这时它们还算是平衡的。

例如,图(b)中加工2的输出数据流“统计分析表”是由“难度分析表”和“分类统计表”组成,那么图(b)与图(d)仍满足父图与子图平衡的条件。

⑥在自顶向下的分解过程中,若一个文件首次出现时只与一个加工有关,那么这个文件应作为这个加工的内部文件而不必画出。

例如,图(d)中的文件“试题得分表”就是图(b)中加工的内部文件,所以在图(b)中没有画出。

⑦保持数据守恒。

就是说,一个加工的所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工产生的数据。

13、阅读下列关于开发人事管理系统的交互式工作方式的叙述,再回答问题。

某大企业最近决定采用高性能微机开发人事管理系统,将四台联机终端分置于人事处的三个科室。

该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。

人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。

该企业有3000多个工人、干部和技术人员,大体可分成机关科室、生产车间、后勤服务和开发研制部门等几类部门。

厂领导决定由计算机应用科来负责协调和开发应用系统。

计算机应用科科长指示系统工程师张某负责进行系统分析。

考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,计算机应用科决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。

系统工程师张某通过调查收集到如下10条意见:

(1) 某程序员认为:

系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。

(2) 某操作人员认为:

在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP功能。

(3) 某操作人员认为:

既然是交互式会话,那么对所有的输入都应当作出响应,不应出现击键后,计算机没有任何反应的情况。

(4) 某操作人员认为:

在出错的时候,交互式会话系统应当给出出错信息,并且尽可能告诉我们出错的性质和错在什么地方。

(5) 某程序员认为:

终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。

(6) 教育科干部甲认为:

应当对操作员进行一些必要的培训,让他们掌握交互式会话系统的设计技巧,有助于提高系统的使用效率。

(7) 教育科干部乙认为:

尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。

(8) 某程序员认为:

由于本企业中有很多较大的文件,文件的查找很费时间,交互式会话系统在响应时间较长时应给予使用者以提示信息。

(9) 人事处干部丙认为:

我们企业的人事资料相当复杂,格式非常之多,希望交互式系统使用十分清晰的格式,并容易对输入数据中的错误进行修改。

(10) 人事处干部丁认为:

人事管理系统应当具有相当的保密性和数据安全性,因此在屏幕上显示出的信息应该含混一些,以免泄密。

系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的10条意见中有3条意见是不能接受的,写出编号并各用40字以内叙述理由。

不能接受的3条意见是(5)、(6)、(10)。

人机交互界面首先考虑的是用户如何使用起来方便,与编程习惯、设计技巧无关。

此外,屏幕上信息应很清晰易懂,安全保密与屏幕显示无关。

14、工资计算系统中的一个子系统有如下功能:

计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;

计算奖金部分—根据职工的出勤情况计算出奖励金;

计算工资总额部分—由工资总额中计算出应扣除各种税金;

生成工资表—根据计算总额部分和计算税金部分传递来有关职工工资的详细信息生成工资表

根据要求画出该问题的数据流程图。

15、Pleasemapthefollowingdataflowdiagram(DFD)tostructurechart(SC)usingtransformanalysis.Theafferentpath,transformcenterandefferentpatharelabeledintheDFD.

第1步复查基本系统模型。

第2步复查并精化数据流图。

第3步确定数据流图具有变换特性还是事务特性。

第4步确定输入流和输出流的边界,从而孤立出变换中心。

第5步完成“第一级分解(firstlevelfactoring)”。

第6步完成“第二级分解”。

第7步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。

 

 

16、Pleasemapthefollowingdataflowdiagram(DFD)tostructurechart(SC)usingtransformanalysis.Theafferentpath,transformcenterandefferentpatharelabeledintheDFD.

 

第1步复查基本系统模型。

第2步复查并精化数据流图。

第3步确定数据流图具有变换特性还是事务特性。

第4步确定输入流和输出流的边界,从而孤立出变换中心。

第5步完成“第一级分解(firstlevelfactoring)”。

第6步完成“第二级分解”。

第7步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。

 

 

 

17、某培训中心要研制一个计算机管理系统。

它的业务是:

将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,并开出发票给学生。

注:

一个学生可选多门课程

要求:

1.画出E-R图

2.对以上问题画出数据流图。

 

3.画出系统的用例图。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1