软件工程课后习题参考答案
软件工程 刘强 课后习题参考答案

7.
(
)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过
程,它包括方法、工具和过程三个要素。(D)
A. 软件产品
B. 软件过程
C. 软件测试
D. 软件工程
8.
软件工程的基本要素包括方法、工具和(
A. 软件系统
B. 硬件环境
C. 过程
D. 人员
)。(C)
9.
软件工程师在从事软件工作时应使用下面的(
系统的交互; y 原型评价:由用户或客户对该原型进行评价,需要的话再进一步细化待开发软件的需求,
并继续调整原型直至需求确定下来为止。
3. 对于下列每一个过程模型,分别列举一个可以适用的具体软件项目,并说明在开发中如何应 用该模型。 (1) 瀑布模型 (2) 快速原型模型 (3) 增量模型 (4) 形式化方法模型 (5) 基于组件的开发模型
)。(D)
11. 下面的(
)不是 RUP 模型的阶段。(D)
A. 启动阶段
B. 精化阶段
C. 构造阶段
D. 确认阶段
[练习题]
1. 请简要说明软件过程的概念和基本元素。 答案要点:
软件过程是软件工程人员为了获得软件产品在软件工具支持下实施的一系列软件工程活动,它 应该明确定义以下元素:
y 过程中所执行的活动及其顺序关系 y 每一个活动的内容和步骤 y 团队人员的工作和职责
y 系统需求分析:由于该系统是现有系统的扩展,因此首先可以经过一个简单的需求分析阶
段,从而确定新系统的需求。 y 遗留系统分析:在需求确定的基础上,开发人员分析遗留系统并研究新系统的总体结构,
(3) 增量模型 项目举例:某公司开发一个通用 CAD 软件产品,产品需求是逐步完善的,某些需求在一定 范围内是明确的,某些需求需要进一步细化,但是迫于市场竞争的压力产品需要尽快上市。 选用分析:通用 CAD 软件产品具有一定的成熟度,总体需求和软件系统结构是可以确定的,
《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
软件工程 刘强 课后习题参考答案

答案要点: 在螺旋模型中,软件开发是在风险等级的指导下进行的。首先确定该阶段的目标,完成这些目 标的选择方案及其约束条件;其次从风险角度分析方案的开发策略,努力排除各种潜在的风险,在 需求不适当的情况下可能需要建造原型系统;如果某些风险不能排除,该方案可能立即终止,否则 继续启动下一步的软件开发和验证工作,并再次通过风险分析规定过程遵循的策略;最后,评价该 阶段的结果,并规划下一个迭代。 从上述过程中可以看出,风险分析的作用是通过识别项目中的高风险问题,使开发人员制定适 当的开发策略消除这些风险。 5. 某大学准备开发一个新的学生注册选课系统,以替换一个现有的系统。请设计一个适用于该 系统开发的过程模型,并进一步描述该模型。 答案要点: 假设原有的学生注册课程系统是由学生手工提交书面选课单,教师手工提交成绩单,教务管理 人员在客户端录入学生选课结果和课程成绩;而在新的选课系统中,所有用户在自己的计算机上通 过 Internet 访问和操作该系统,该软件系统需要更新服务器和数据库等系统,并扩充一些新功能和 提高系统性能。 从该系统的具体情况来看,系统的需求是比较容易明确的,整个系统的结构需要重新设计,但 是原有的遗留系统中有些部分是可以重用的,因此我们可以采用组件模型实施软件开发: y 系统需求分析: 由于该系统是现有系统的扩展, 因此首先可以经过一个简单的需求分析阶
软件工程的基本要素包括方法、工具和( A. B. C. D. 软件系统 硬件环境 过程 人员
9.
软件工程师在从事软件工作时应使用下面的( A. B. C. D. E. 从来不为个人获利而窃取数据 从来不散布或出售项目中自己工作的信息
)准则。 (E)
从来不故意毁坏或修改别人的程序、文件或数据 从来不侵犯个人、小组或组织的隐私 以上所有选项
《软件工程》课后习题答案

1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。
2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。
3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。
4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。
6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。
7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。
可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。
8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。
重视用户界面的设计,不断的采用新理论和新技术。
软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。
9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。
10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。
11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。
12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。
13、详细描述处理过程常用三种描述工具:图形、表格和语言。
14、数据流图中,每个加工至少有一个输入流和一个输出流。
15、结构化设计以数据流为基础映射成软件结构。
16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。
17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。
18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。
软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程课后习题答案

第一章1.1举出至少5个例子来说明“意外效应法则”在计算机软件方面的应用。
答:典型的例子包括使用“数字汽车仪表板”的软件,赋予高科技,高品质的图像的软件;如广泛的消费类电子产品的软件;个人电脑,工业仪器仪表和机器的软件。
软件分化出的在电子商务方面的应用。
1.2举例说明软件对社会的影响(包括正面影响和负面影响)。
答:这是一个很好的课堂讨论问题(如果时间允许),而不是专注于老生常谈的(但很重要)隐私问题,生活质量等问题。
您可能想要讨论关于”技术恐惧“方面的问题,软件也许会使它恶化但也可能减少”技术恐惧“。
另一个有趣的方面是使用诺依曼的“风险”列在SEN中做重点讨论。
你也可以考虑基于软件的“现金”经济,新模式的互动娱乐,虚拟现实,电子商务等方面来思考软件对社会的影响。
1.3针对1.1节提出的5个问题,请给出你的答案,并与同学讨论。
答:软件需要如此长的开发时间:a)设施不上线b)开发工具并不如预期般运作c)客户提出的新要求,需要重新设计和返工d)产品依赖于政府的规定,被意外更改。
e)严格的要求,与现有系统的兼容性需要超过预期更多的测试,设计和实现。
f)多个操作系统下运行的任务需求比预期需要更长的时间。
g)软件项目风险管理比预期需要更多的时间。
h)依赖的技术仍处于开发阶段,从而延长日程安排。
开发成本高:a)比当时预期低得令人无法接受的质量,需要进行更多的测试,设计和实施工作。
b)制定了错误的软件功能需要重新设计和实施。
c)开发错误的用户界面,而导致重新设计和实施。
d)开发了不需要的额外的软件功能而延长了开发日程安排。
在将软件交付顾客使用之前,我们无法找到所有错误:a)产品依赖于政府监管,意外而改变。
b)产品技术标准草案,会意外更改。
c)有时会在项目后期添加新的开发人员。
d)因为团队内的冲突有时会导致沟通不畅,而产生糟糕的设计。
e)破坏高效调度产生的项目管理成果和无效的规划f)有时装备部件质量差,导致额外的测试,设计和集成工作和管理额外的客户关系。
软件工程课后习题答案

软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1) 必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可7、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求 其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。
P248、有哪几种常用的初始需求发现技术答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
P269、简述需求规约的3种基本形式。
(1) 非形式化的需求规约。
非形式化的需求规约即以一种自然语言来表达需求规约,如同使用一种自然语言写了一篇文章。
(2) 半形式化的需求规约。
半形式化的需求规约即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约。
(3)形式化的需求规约。
形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。
P2910、简述软件需求规约的内容和作用。
答:软件需求规约的内容有:引言、总体描述、特定需求、附录、索引。
P28需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。
2)对于项目的其余大多数工作,需求规约是一个管理控制点。
3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。
4)需求规约是创建产品验收测试计划和用户指南的基础。
P3111、简述需求规约在项目开发中的基本作用。
答:需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。
2)对于项目的其余大多数工作,需求规约是一个管理控制点。
3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。
4)需求规约是创建产品验收测试计划和用户指南的基础。
P3112、简述需求规约和项目需求的不同。
答:需求规约和项目需求是两个不同的概念。
需求规约是软件开发组织和用户之间一份事实上的技术合同书,即关注产品需求,回答“交付给客户的产品/系统是什么”;而项目需求是客户和开发者之间有关技术合同——产品/系统需求的理解,应记录在工作陈述中或其他某一项目文档中,即关注项目工作与管理,回答“开发组要做的是什么”。
P3013、何谓模块耦合简述模块耦合的类型。
答:耦合是不同模块之间相互依赖程序的度量。
内容耦合:当一个模块直接修改或操作另一个模块的数据,或一个模块不通过正常入口而转入到另一个模块时;公共耦合:两个或两个以上的模块共同引用一个全局数据项;控制耦合一个模块通过气喘吁吁向另一个模块传递一个控制信息,接收信号的模块根据信号值进行适当的动作;标记耦合:若一个模块A通过接口向两个模块B和C传递一个公共参数;数据耦合:模块之间通过参数来传递数据。
14、何谓模块内聚简述模块内聚的类型。
答:指一个模块内部各成分之间相互关联程度的度量。
偶然内聚:一个模块的各成分之间基本不存在任何关系;逻辑内聚:几个逻辑上相关的功能被放在同一个模块中;时间内聚:一个模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素关联在一起;过程内聚:一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行;通信内聚:一个模块的所有成分都操作同一数据集或生成同一数据集;顺序内聚:一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入;功能内聚:最理想的内聚,模块的所有成分对于完成单一的功能都是基本的。
功能内聚的模块对完成其功能而言是充分必要的。
15、何谓模块的控制域和模块的作用域并举例说明答:控制域:模块本身以及所有直接或间接从属于它的模块的集合。
作用域:受该模块内的一个判定所影响的所有模块的影响16为了表达系统功能模型,结构化分析方法给出了哪些基本概念他们是如何表示的其基本作用是什么使用中应注意哪些问题答:给出的基本概念:数据流、加工、数据存储、数据源和数据潭。
表示方法:(注:表示方法都是图形,请按文字提示画图)数据流表示方法:方向向右的箭头;加工的表示方法:椭圆;数据存储表示方法:两条平行线;数据源表示方法:一个长方形;数据源和数据潭表示方法:两个并列的长方形。
作用:数据流:用于表达在分析中所使用的、用于表达“客体”的信号。
加工:用于表达在分析中所使用的、用于表达“处理”的信号。
数据存储:用于表达在分析中所使用的、用于表达“结构化客体”的信号。
数据源和数据潭:表示系统的环境,可以使用它们和相关数据流来定义系统的边界,表达系统/产品“边界”的信息。
17以结构化分析方法建立的系统功能模型由哪些部分组成每一部分的基本作用是什么答:组成部分:数据流、加工、数据存储、数据源和数据潭。
基本作用:(同上面第一小题里的“作用”)18解释结构符“+”、“|”、“{}”的含义,并举例说明。
答:顺序结构是指数据A是由数据B和数据C顺序构成的,记为“+”。
例:学生成绩=姓名+姓名+性别+学号+科目+成绩。
选择结构是指由数据A或是由数据B0或是有数据C定义的,即数据B 不可能同时是B 0 C 0,并记为“|”。
例:性别=男|女。
重复结构是指数据A 是由多个重复出现的数据B 构成,并记为“{}”。
例:学生成绩表={学生成绩}。
19就一个特定系统而言,系统功能模型与系统模型的主要区别是什么答:区别:系统功能模型分为数据流、加工、数据存储、数据源和数据潭这四部分组成。
系统模型分为两类:一类称为概念模型,描述了系统是什么;另一类系统称为软件模型,描述了实现概念模型的软件解决方法。
20简述结构化方法总体设计的任务及目标。
答:任务:在需求分析的基础上,定义满足需求所需要的结构。
目标:建立系统的模块结构。
21简述结构化方法详细设计的任务及目标。
答:任务:具体描述模块结构图中的每一模块,即给出实现模块功能的实施机制,包括一组例程和数据结构,从而精确地定义了满足需求所规约的结构。
目标:将总体设计阶段所产生的系统高层结构映射为以这些术语所以澳大的低层结构,也是系统的最终结构。
22简述变换设计与事务设计之间的区别。
答:区别:变换设计的目标是将变换型数据流图映射为模块结构图,而事务设计的目标是将事务型数据流图映射为模块结构图。
23简述启发式规则的基本原理。
答:启发式规则“基于高内聚低耦合的原理,采用一些经验性的启发式规则,对初始的模块结构图进行精化,形成最终的模块结构图”。
启发式规则包括:1)改进软件结构,提高模块独立性。
2)力求模块规模适中。
3)力求深度、宽度、扇出和扇入适中。
4)尽力使模块的作用域在其控制域之内。
5)尽力降低模块接口的复杂度。
6)力求模块功能可以预测。
24简述依据一个系统的DFD ,将其转换为MSD 的基本思路。
答:结构化设计方法在分类DFD的基础上,基于自顶向下、功能分解的设计原则,定义了两种不同的“映射”,即变换设计和事务设计。
其基本步骤是,首先将系统的DFD图首先转化为初始的模块结构图,再基于“高内聚低耦合”这一软件设计原理,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图(MSD)。
25为什么说结构化分析与结构化设计之间存在一条“鸿沟”答:从软件方法学习研究的角度,结构化方法仍然存在一些问题,其中最主要的问题是仍然没有“摆脱”冯·诺依曼体系结构的影响,捕获的“功能(过程)”和“数据”恰恰是客观失误的易变性质,由此建造的系统结构很难与客观实际系统的结构保持一致。
26.举例说明结构化方法给出的控制复杂性机制。
答:1上层数据流可以打包,实例研究数据流查询要求就是一个打包数据,并以*作一特殊标志。
上下层?数据流之间的对应关系通过数据字典予以描述。
2为便于理解,把一幅图中图元个数尽量控制在7加减2个?以内。
3检查与每个加工相关的数据流是否有太多的输入/输出数据流,并寻找可降低该加工接口复杂性?的,对数据流进行划分的方法。
4分析数据内容,确定是否所有的输入信息都用于产生输出信息,相应的?由一个加工产生的所有信息是否都能由进入该加工的信息导出。
27.试分析结构化方法在建造系统模型中存在的问题。
答:最主要的问题是没有摆脱冯·诺依曼体系结构的影响,捕获的功能过程和数据恰恰是客观事物的易变性质,由此建造的系统结构很难与客观实际系统的结构保持一致。
在某种意义上说就是这些问题促使面向对象方法学的产生和发展。
28.举例说明变换设计的步骤。
答:第一步,设计准备,复查并精化系统模型。
第二步,确定输入,变换,输出这三部分之间的边界。
第三步,第一级分解,系统模块结构图顶层和第一层设计。
第四步,第二级分解,自顶向下,逐步求精。
29.举例说明事务设计的步骤。
答:第一步,设计准备,复查并精化系统模型。
第二步,确定事务处理中心。
第三步,第一级分解,系统模块结构图顶层和第一层设计,以数据流图为基础,按自顶向下逐步细化的原则进行。
第二级分解自顶向下逐步求精。
30.一种软件开发方法学,应该由哪些基本部分组成?答:包括结构化分析方法、结构化设计方法、结构化程序设计方法31.为了表达客观事物,UML给出了哪些基本术语答:为了支持抽象分析和设计中的事物,UML给出了8个基本术语,即类、接口、协作、用况、主动类、构件、制品、结点,并给出了这些基本术语的一些变体。