现代软件工程作业
软件工程作业1

软件工程作业1一、选择题:1.开发软件所需高成本和产物的低质量之间有着锋利的矛盾,这种现象称做〔C〕。
2.瀑布模型本质上是一种〔A 〕模型。
3.瀑布模型存在的问题是〔B 〕。
A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和〔A〕结合起来的软件开发模型。
A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于〔A〕系统。
A.需求不确定性高的 B.需求确定的C.打点信息 D.实时6.以下有关软件工程的尺度,属于国际尺度的是(D )7.布局化方法是一种基于〔D〕的方法。
A.数据布局B.程序布局C.算法D.数据流8.软件可行性研究本色上是要进行一次( A)需求阐发、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是〔D〕A、阐发开发系统的必要性B、确定系统建设的方案C、阐发系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为〔C〕。
A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在〔A〕之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的〔C〕。
A、1%B、20%C、8%D、50%13.我国正式发布实施的〔B〕对计算机病毒的定义具有法律性、权威性。
A.计算机软件庇护条例B.中华人民共和国计算机信息系统安然庇护条例C.中华人民共和国著作权法D.计算机病毒防治打点方法14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性阐发B、需求阐发C、概要设计D、详细设计15.需求规格说明书的作用不包罗〔D〕A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义〔D〕中的各个成份的具体含义的。
《现代软件工程》作业.

《现代软件工程》作业作业一:(一)名词解释1.软件危机2.数据流图3.数据字典4.变换流5.事务流6.耦合性7.内聚性8.程序设计语言(PDL)(二)填空题1. 在信息处理和计算机领域内,一般认为软件是_____、_____ 和_____ 。
2. 数据流图的基本组成部分有_____、_____、_____、_____。
3. 数据流图和数据字典共同构成了系统的_____模型,是需求规格说明书的主要组成部分。
4. 数据流图一般可分为_____和_____两类。
5. 结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为_____数据流图。
6. PDL是描述处理过程“_____ ”的细节,结构化语言是描述加工“_____ ”的。
(三)选择题1. 软件工程的概念是哪年提出的( )。
A. 1988B. 1968C. 1948D. 19282. 影响输入输出风格的因素不包括( )。
A. 数据状态B. 通信环境C. 用户经验D. 输入/输出设备3. 符合数据说明顺序规范的是( )。
A. 全程量说明、局部量说明、类型说明、常量说明B. 全程量说明、局部量说明、常量说明、类型说明C. 类型说明、常量说明、全程量说明、局部量说明D. 常量说明、类型说明、全程量说明、局部量说明4. 瀑布模型的关键不足在于( )。
A. 过于简单B. 各个阶段需要进行评审C. 过于灵活D. 不能适应需求的动态变更5. 以下哪一项不是软件危机的表现形式( )。
A. 开发的软件不满足用户需要B. 开发的软件可维护性差C. 开发的软件价格便宜D. 开发的软件可靠性差6. 软件可行性研究实质上是要进行一次( )需求分析、设计过程。
A. 简化、压缩的B. 详细的C. 彻底的D. 深入的7. 结构化设计是一种面向( )的设计方法。
A. 数据流B. 模块C. 数据结构D. 程序8. 与确认测试阶段有关的文档是( )。
现代软件工程作业一

{
temp1 = temp0 + col_j;
grad_x =
grayImg.data[temp1 - width + 1]
+ 2 * grayImg.data[temp1 + 1]
}
}
for (int row_i = 1; row_i < height - 1; row_i += 1)
{
for (int col_j = 1; col_j < width - 1; col_j += 1)
{
int grad_y =
-grayImg.data[(row_i - 1) * width + col_j - 1]
{
if (NULL == grayImg.data)
{
cout << "image is NULL." << endl;
return SUB_IMAGE_MATCH_FAIL;
}
int width = grayImg.cols;
int height = grayImg.rows;
{
cout << "image is NULL." << endl;
return SUB_IMAGE_MATCH_FAIL;
}
int width = gradImg_x.cols;
int height = gradImg_x.rows;
for (int row_i = 1; row_i < height - 1; row_i++)
软件工程作业1

软件工程作业1在当今数字化的时代,软件工程已经成为了推动科技发展和社会进步的重要力量。
从我们日常使用的手机应用到复杂的企业级系统,软件工程都在其中发挥着关键作用。
软件工程是一门研究如何用系统化、规范化、可定量的方法来开发、运行和维护软件的学科。
它不仅仅是编写代码,还涵盖了从需求分析、设计、编码、测试到维护的整个软件生命周期。
在需求分析阶段,软件工程师需要与客户或用户进行深入的沟通,了解他们的期望和需求。
这就像是建筑师在设计大楼之前,要先明白住户的居住需求一样。
工程师们要仔细倾听,捕捉每一个细节,将模糊的想法转化为清晰的、可衡量的需求规格说明书。
这个过程中,可能会遇到用户需求不明确、需求变更频繁等问题。
这就需要工程师具备良好的沟通能力和应变能力,能够引导用户明确需求,并合理管理需求的变更。
设计阶段则是在需求明确的基础上,构建软件的架构和模块。
这就好比是为大楼搭建框架,确定每个房间的布局。
好的设计能够提高软件的可扩展性、可维护性和性能。
在这个阶段,工程师要考虑软件的整体结构、模块之间的关系、数据的存储和处理方式等。
同时,还要选择合适的设计模式和算法,以满足软件的功能和性能要求。
编码阶段就是将设计转化为实际的代码。
这就像是建筑工人根据设计图纸进行施工。
在编码过程中,工程师要遵循编程规范,确保代码的可读性、可维护性和可重用性。
同时,还要注意代码的效率和安全性,避免出现漏洞和错误。
测试是软件工程中不可或缺的环节。
就像大楼建成后需要进行各种质量检测一样,软件也要经过严格的测试,以确保其功能的正确性和稳定性。
测试包括单元测试、集成测试、系统测试和用户验收测试等。
通过测试,可以发现软件中的缺陷和问题,并及时进行修复。
维护阶段则是在软件交付使用后,对其进行持续的改进和优化。
随着用户需求的变化和技术的更新,软件需要不断地进行升级和维护。
这就要求工程师能够快速响应问题,有效地解决故障,并对软件进行持续的优化,以提高用户体验。
软件工程作业

软件工程-作业一、判断(共计50分,每题2.5分)1、测试计划、测试用例和有关的分析报告一般不用长期保存。
()A. 正确B. 错误参考答案:B2、类封装比对象封装更具体,更细致。
()A. 正确B. 错误参考答案:B3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
()A. 正确B. 错误参考答案:B4、面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。
()A. 正确B. 错误参考答案:A5、数据流图是结构化设计的最基本的工具。
()A. 正确B. 错误参考答案:B6、良好的面向对象程序设计风格,既包括传统的程序设计风格,也包括为适应而面向对象方法所特有的概念(如继承性)而必须遵循的一些新准则。
()A. 正确B. 错误参考答案:A7、模块化程序设计中,模块越小,模块化的优点越明显。
()A. 正确B. 错误参考答案:B8、软件测试的目的是证明软件是正确的。
()A. 正确B. 错误参考答案:B9、在软件开发中采用原型系统策略的主要困难是成本问题。
()A. 正确B. 错误参考答案:A10、结构化分析是面向数据流进行需求分析的方法。
()A. 正确B. 错误参考答案:A11、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。
()A. 正确B. 错误参考答案:A12、白盒测试无需考虑模块内部执行过程和程序结构,只要了解模块的功能即可。
()A. 正确B. 错误参考答案:B13、软件测试目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。
()A. 正确B. 错误参考答案:B14、UML是一种面向对象的建模方法。
()A. 正确B. 错误参考答案:B15、类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。
()A. 正确B. 错误参考答案:B16、开发一个软件项目总存在某些不确定性,即存在风险。
有些风险如果控制得不好,可能导致灾难性的后果。
()A. 正确B. 错误参考答案:A17、软件维护的目的就是修改程序中的错误。
软件工程三、四、五次作业(精选五篇)

软件工程三、四、五次作业(精选五篇)第一篇:软件工程三、四、五次作业第三次作业:1、已知某定货系统的需求分析阶段得到的DFD图如下,请按SD 方法的设计步骤画出其程序结构图。
2、某校的课酬计算方案如下:(l)基本课酬为每节课10元;(2)如果班级人数超过40人,课酬增加:基本课酬×0.1;(3)如果班级人数超过60人,课酬增加:基本课酬×0.2;(4)如果教师是副教授,课酬增加:基本课酬×0.1;(5)如果教师是教授,课酬增加:基本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬减少:基本课酬×0.1。
请用判定表表达上述计算方案。
第四次作业:1、右图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag了吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序2、一个正文文件由若干个记录组成,每条记录是一个字符串。
要求统计每条记录中大写字母、小写字符以及非字母字符的个数,要求输出数据格式是:每复制一行输入字符串后,输出这个字符串中的大写字母个数、小写字母个数、非字母字符个数。
用Jackson方法,按照步骤,导出该系统的程序结构图。
开始FTgqTpF停止第五次作业1、设计下列伪码程序的语句覆盖和路径覆盖测试用例:START INPUT(A, B, C)IF A>5THEN//判定表达式1X=10ELSEX=1 END IF IFB>10 THEN//判定表达式2Y=20 ELSEY=2 END IF IF C>15THEN//判定表达式3Z=30 ELSEZ=3 END IF PRINT(X, Y, Z)STOP3.假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解)。
现代软件工程第9章作业

1.填空题(1)软件产品在交付使用之前一般要经过4步测试: 、、、。
(2)在单元测试中,测试一个模块是,需要设计。
(3)动态测试指通过发现错误。
对软件产品进行动态测试时,使用法。
静态测试是指不在机器上运行,而是采用和的手段对程序进行检测。
(4)白盒测试是测试,黑盒测试是测试。
(5)用白盒技术设计测试用例时,追求程序逻辑覆盖程度的几种常用覆盖技术为、、、、和。
(6)黑盒法把测试对象看成一个测试人员完全不考虑程序的和。
只在软件的处进行测试。
(7)采用黑盒技术设计测试用例的方法一般有、、、等四种。
(8)使用边界值分析方法设计测试用例时一般与结合起来。
但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取、或边界值的测试数据。
(9)用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和。
(10)软件测试的目的是,调试的目的是并,因此调试也成为。
2.选择题(1)软件测试的主要特点是()A.软件测试的开销大B.软件测试要依靠工具C.软件不能进行“穷举”测试D.软件测试要依靠人工(2)整体测试又称为组装测试,其主要内容包括()A.对整体的性能进行测试B.用白盒法设计测试用例进行测试C.确定组装策略和次序D.对组装过程进行测试(3)渐增式是将模块一个一个地连入系统,每连入一个模块()。
A.只需要对新连入的模块进行测试B.都不需要再进行测试C.要对新子系统进行测试D.都要进行回归测试(4)静态测试是以人工的、非形式化的方法对程序进行分析和测试。
常用的方法有()A.运行程序并分析运行结果B.桌前检查与代码会审C.数据流分析图D.调用图(5)集成过程的()A.按照模块的大小集成B.尽早测试包含I/O的模块C.尽早测试关键模块D.按照“输入-处理-输出”的次序进行集成(6)关于白盒法覆盖程度的论述中正确的是()A.语句覆盖:选择测试用例使程序中每条语句至少被执行一次B.判定覆盖: 选择测试用例使程序中每个判定至少获得一次“真”值和一次“假”值C.条件覆盖:选择测试用例使每个条件都满足D.条件组合覆盖:将所有的判定条件都组合起来执行(7)软件测试的基本原则是()A.关键是注重选择高效的测试用例B.选择尽可能多的测试用例C.尽量不由程序设计者进行测试D.充分注意测试中的群集现象(8)等价分类法的关键是()A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分(9)调试的目的是为了()A.证明软件符合设计要求B.发现软件中的错误和缺陷C.改善软件的功能和性能D.发掘软件的潜在能力(10)①实现阶段进行,它所依据的功能模块描述和内部细节及测试方案就在②阶段完成,目的是发现编程错误。
现代软件工程第3章作业.

1.填空题(1在进行可行性研究和计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入阶段。
(2需求分析的基本任务是要准确地定义,为了满足用户的需要,回答系统必须的问题。
(3在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括、、、。
另外还有可靠性、安全性、保密性、可维护性等方面的需求。
(4需求分析的困难主要表现在4个方面:问题的复杂性、、、需求易变性。
(5数据流图有4个基本成分:、、、。
(6数据词典中的加工逻辑主要描述该加工的,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变量变换为输出数据流的。
(7SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书的主要部分。
这些描述工具是、、、、。
(8数据词典就是用来定义数据流图中的的。
它和数据流图共同构成了系统的,是的主要组成部分。
(9加工逻辑也称“小说明”,常用的加工逻辑的描述工具有:、、。
三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用描述。
对于存在多个条件复杂的判断问题,用和。
(10传统的SA方法主要用于的问题,主要工具DFD图体现了系统的功能,但它仅是一个,没有处理的顺序,即。
2.选择题(1需求分析是(A.要回答“软件必须做什么”B.可概括为“理解、分解、表达”六个字C.要求编写需求规格说明书D.以上都对(2进行需求分析可使用多种工具,但(是不适用的。
A.数据流图B.判定表C.PAD图D.数据词典(3需求分析阶段研究的对象是软件项目的(。
A.用户需求B.合理要求C.模糊要求D.以上都对(4数据词典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( .A.对象B.解释C.符号D.描述(5在结构化分析方法中,用以表达系统内部数据的运行情况工具有(。
A.数据流图B.数据词典C.结构化英语D.判定树与判定表(6在软件需求分析中,开发人员要从用户那里最重要的问题是(A.要让软件做什么B.要给该软件提供哪些资源C.要求软件工作效率怎样D.要让软件具有何种结构(7需求分析的最终结果是产生(A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书(8SA方法用DFD图描述(A.系统的控制流图B.系统的数据结构C.系统的基本加工D.系统的功能(9需求分析阶段不适于描述加工逻辑的工具是(A.结构化语言B.判定表C.判定树D. 流程图(10SA方法的基本思想是(A.自底向上逐步抽象B.自底向上逐步分解C.自顶向下逐步分解D.自顶向下逐步抽象3.简答题(1需求分析阶段的基本任务是什么?需求分析的难点主要表现在哪几个方面?(2画数据流图的步骤是什么?画数据流图应该注意什么事项?(3描述加工逻辑有哪些工具?(4什么是结构化分析方法?该方法使用什么描述工具?具有什么样的优缺点?(5传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型化开发模型的主要优点是什么?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)名词解释1.软件:软件是计算机程序、数据以及相关的各种文档的集合。
2.软件危机软件危机是在软件发展第二阶段末期的规模较大的项目开发中,出现了与当初的计划推迟交工、费用比预算大幅度上升、不能满足用户要求、可靠性低、维护困难等问题,导致了软件危机。
3.数据流图数据流图是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
4.数据字典、数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
5.变换流变换流指数据流图(简称DFD)具有明显的输入、变换和输出界面。
6.事务流事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。
7.耦合性耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。
8.内聚性内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
9.程序设计语言(PDL)程序设计语言(简称PDL),又称伪码,它是一种用于描述模块算法设计和处理细节的语言。
(二)填空题1. 在信息处理和计算机领域内,一般认为软件是_程序____、__文档___ 和__数据___ 。
2. 数据流图的基本组成部分有_数据流__、_加工_、_数据存储_、_数据源点或终点_。
3. 数据流图和数据字典共同构成了系统的__逻辑_模型,是需求规格说明书的主要组成部分。
4. 数据流图一般可分为_变换型_和_事务型_两类。
5. 结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为_事务型_数据流图。
6. PDL是描述处理过程“_怎么做_ ”的细节,结构化语言是描述加工“_做什么_ ”的。
(三)选择题1. 软件工程的概念是哪年提出的(B )。
A. 1988B. 1968C. 1948D. 19282. 影响输入输出风格的因素不包括(A )。
A. 数据状态B. 通信环境C. 用户经验D. 输入/输出设备3. 符合数据说明顺序规范的是(D )。
A. 全程量说明、局部量说明、类型说明、常量说明B. 全程量说明、局部量说明、常量说明、类型说明C. 类型说明、常量说明、全程量说明、局部量说明D. 常量说明、类型说明、全程量说明、局部量说明4. 瀑布模型的关键不足在于(D )。
A. 过于简单B. 各个阶段需要进行评审C. 过于灵活D. 不能适应需求的动态变更5. 以下哪一项不是软件危机的表现形式(C )。
A. 开发的软件不满足用户需要B. 开发的软件可维护性差C. 开发的软件价格便宜D. 开发的软件可靠性差6. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A. 简化、压缩的B. 详细的C. 彻底的D. 深入的7. 结构化设计是一种面向(A )的设计方法。
A. 数据流B. 模块C. 数据结构D. 程序8. 与确认测试阶段有关的文档是(A )。
A. 需求规格说明书B. 概要设计说明书C. 详细设计说明书D. 源程序9. 软件开发的需求活动,其主要任务是(D)。
A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型10. 需求分析阶段的研究对象是(A)。
A. 用户要求B. 分析员要求C. 系统要求D. 软硬件要求11. 可自动生成程序的详细设计方法是(D )。
A. 流程图B. IPO图C. 盒图D. PAD图12. 可行性研究采用(B)概括说明软件系统的物理模型。
A. 数据字典B. 系统流程图C. 数据流图D. 成本-效益分析(四)简答题1. 简述瀑布模型的阶段划分和各阶段的主要任务以及瀑布模型存在的问题。
1. 瀑布模型的阶段划分和各阶段的任务为:(1) 需求分析和定义根据系统的使用者(需方)需求进行具体分析,制定系统应完成的功能、目标、各项服务和限制,确定工作范围和所花费的代价。
并且以用户和软件开发人员都能理解的形式加以定义和明确。
(2) 系统和软件设计先把用户的需求分成硬件需求和软件需求,在此基础上确定整个系统的结构。
在软件设计中,进一步把用户的要求和系统的目标在软件系统的各项功能中表现出来,并分别使之达到能够进行程序设计的程度。
(3) 编程和单元测试在这个阶段中,软件的设计已经以程序集合或单元程序的形式完成,并包含了验证各个单元程序是否满足式样要求的单元测试。
(4) 综合测试和系统测试把各个单元程序和程序组结合起来,作为一个完整的系统进行测试。
在这种测试中,一方面要发现和排除系统或程序中的错误,更重要的是要确认已完成的系统是否满足用户和设计者的要求。
测试后,把这个软件提供给用户。
(5) 运行和维护运行和维护是软件生存期中需要时间较长的一个阶段,在这一阶段,系统被实际装入并实际应用,那些在软件开发初期没有被发现的错误,或者是用户提出新的要求,都需要在这一阶段加以解决。
瀑布模型的问题之一是对软件工程中的反复性质认识不足,另外还有一个缺点是在开发工程的初期,就必须把规格式样确定下来,而在有些情况下,由于用户的需求不明确,某些规格式样开始是不太好确定的。
软件工程是复杂的、多变的工程,用单纯的线性模型很难完全表示出来。
2. 简述SA方法的优缺点。
SA方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种分析方法。
较适用于开发数据处理类型软件的需求分析。
利用图形等半形式化工具表达需求,简明、易读,也易于使用。
但也存在一些弱点,表现如下:SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程,因此,不适合描述实时控制系统。
SA方法使用DFD在分析与描述“数据要求”方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。
DFD不适合描述人机界面系统的要求、如一些人机交互较频繁的软件系统。
SA方法要与形式化方法结合起来,才能更精确地描述软件需求。
要借助需求分析工具,提高需求分析的质量及效率。
3. 变换分析设计与事务分析设计有什么区别?简述其设计步骤。
变换分析设计是一个顺序结构,由输入、变换和输出三部分组成,其工作过程有3步:取得数据、变换数据和给出数据。
事务分析设计是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行。
二者区别:变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。
变换分析设计步骤:①确定DFD中的变换中心、逻辑输入和逻辑输出:从物理输入端开始,沿着数据流方向向系统中心寻找,直到有这样的数据流,它不能再被看做是系统的输入,则它的前一个数据流是系统的逻辑输入。
从物理输出端开始,逆数据流方向向中间移动,可以确定系统的逻辑输出。
介于逻辑输入和逻辑输出之间的加工就是变换中心,即主加工。
②设计软件结构的顶层和第一层——变换结构:顶层即主模块,主要完成所有模块的控制。
第一层至少有3个功能模块:输入、输出和变换模块,即为逻辑输入设计一个输入模块,其功能是为顶层模块提供相应数据,为逻辑输出设计一个输出模块,其功能是输出顶层模块的信息,为变换中心设计一个变换模块,其功能是将逻辑输入进行变换加工,然后逻辑输出。
③设计中、下层模块。
对第一层的输入、变换、输出模块自顶向下逐层分解。
输入模块下属模块的设计:可设计两个下属模块,一个接收,一个转换。
输出模块下属模块的设计:可设计两个下属模块,一个转换,一个发送。
变换模块下属模块的设计:按照模块独立性原则来组织其结构,一般对每个基本加工建立一个功能模块。
④设计的优化:输入部分求精:为每个物理输入设置专门模块,其他输入模块与转换数据模块可适当合并。
输出部分求精:为每个物理输出设置专门模块,其他输出模块与转换数据模块可适当合并。
变换部分求精:根据设计准则,对模块进行合并或调整。
事务分析设计步骤:①确定DFD的事务中心和加工路径:当数据流图中每个加工将一个输入数据分解成多个发散的输出数据流时,该加工就是事务中心,从事务中心辐射出去的数据流为各个加工路径。
②设计软件结构的顶层和第一层——事务结构。
顶层是一个全控模块,有两个部分:接收分支(与变换型DFD的输入部分设计方法相同)和发送分支(即调度模块,它控制管理所有下层的事务处理模块)。
③设计中、下层模块、优化等工作,与变换分析设计相同。
(五)应用题某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过50平方米后:在本人住房标准面积以内每平方米1500元,其中住房标准为:教授105平方米,副教授90平方米,讲师75平方米;标准面积以外每平方米4000元。
请用判定表和判定树表示各条件组合与费用之间的关系。
S表示住房面积,M表示住房费用。
条件取值表超标与否超标未超标CWM4=2判定表123456789101112住房面积L L B B L L B B L L B B 职务P P P P F F F F J J J J 超标与否C W C W C W C W C W W C 费用=1000*S√√√√√√费用=1000*50+(S-50)*1500√√费用=1000*50+(105-50)*1500+(S-105)*4000√费用=1000*50+(90-50)*1500+(S-90)*4000√费用=1000*50+(75-50)*1500+(S-75)*4000√判定树参考答案:(一)名词解释1. 软件是计算机程序、数据以及相关的各种文档的集合。
2. 软件危机是在软件发展第二阶段末期的规模较大的项目开发中,出现了与当初的计划推迟交工、费用比预算大幅度上升、不能满足用户要求、可靠性低、维护困难等问题,导致了软件危机。
3. 数据流图是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
4. 数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
5. 变换流指数据流图(简称DFD)具有明显的输入、变换和输出界面。
6. 事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。
7. 耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。
8. 内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
9. 程序设计语言(简称PDL),又称伪码,它是一种用于描述模块算法设计和处理细节的语言。