软件工程作业题及答案
(完整word版)软件工程习题及答案解析

软件工程习题及答案一、选择题:1。
为了提高测试的效率,应该。
A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据2. 与设计测试数据无关的文档是。
A、需求说明书B、设计说明书C、源程序D、项目开发设计3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构4。
概要设计的结果是提供一份。
A、模块说明书B、框图C、程序D、数据结构5。
需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。
A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档6。
注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。
A、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者10。
数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是.A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开发中,有利于发挥集体智慧的一种做法是.A、设计评审B、模块化C、主程序员制D、进度控制13. 在开发软件时, 可用来提高程序员的工作效率.A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的。
软件工程试题及答案

软件工程一、填空题(每题2分,共20分)1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。
2、成本效益分析的目的是从( )角度评价开发一个项目是否可行。
3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( ) 。
4、在JSP方法中解决结构冲突的具体办法是( )。
5、详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。
6、所有软件维护申请报告要按规定方式提出,该报告也称( )报告。
7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条( )的边的路径。
8、设计任何一个人机界面,一般必须考虑()四个方面。
9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为()测试法。
10、()是对软件结构中模快间关联程度的一种度量。
三、判断题(每题2分,共20分)1. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
()2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
()3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
()4. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
()5. 流程图也称为程序框图是最常用的一种表示法。
6. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。
()7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。
()8. 数据输入的一般准则中包括尽量增加用户输入的动作。
()9. 用穷举测试是较现实的测试方法。
()10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。
软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
软件工程期末考试参考题及答案

一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
《软件工程》11套考试复习练习题、作业题(含答案)

作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
软件工程试卷及参考答案

试卷(一)1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性2、软件维护产生的副作用,是指( )A、开辟时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作3、软件详细设计的主要任务是确定每一个模块的( )A、算法和使用的数据结构B、外部接口C、功能D、编程4、为了提高模块的独立性,模块内部最好是( )A、逻辑内聚B、时间内聚5、软件是一种( )A、程序B、数据C、功能内聚C、逻辑产品D、通信内聚D、物理产品6、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A、纠正性维护B、适应性维护C、完善性维护D、预防性维护7、惟独单重继承的类层次结构是( )层次结构。
A、网状型B、星型C、树型D、环型8、下列属于维护阶段的文档是( )A、软件规格说明B、用户操作手册C、软件问题报告D、软件测试分析报告9、不适合作为科学工程计算的语言是( )A 、Pascal B、 C C、Fortran D、 Prolog10、研究开辟所需要的成本和资源是属于可行性研究中的( )研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性11、中级结构性成本模型 COCOMO 是一个( )A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型12、PAD 图为( )提供了有力的工具。
A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件13、下列关于JSP 方法不正确的说法是( )A、JSP 方法主要用于规模不大的数据处理系统B 、JSP 方法不明确的划分软件概要设计和详细设计的两个阶段C、JSP 方法合用于输入数据和输出数据之间有对应关系的问题求解D、JSP 方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段14、在详细设计阶段,时常采用的工具有( )A 、PADB 、SA C、SCD 、DFD15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( )A、集成测试B、恢复测试C、验收测试D、单元测试16、盒图(N-S 图)为( )提供了有力的工具。
软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)如何维护数量不断膨胀的已有软件。
这些问题具体表现在以下几个方面:
(1) 用户对开发出的软件很难满意。
(2) 软件产品的质量往往靠不住。
(3) 一般软件很难维护。
(4) 软件生产效率很低。
(5) 软件开发成本越来越大。
(6) 软件成本与开发进度难以估计。
(7) 软件技术的发展远远满足不了计算机应用的普及与深入的需要。
工具。数据流图画法总结
(1). 先找出数据源点和汇点。它们是外部实体,由它们确定系统与外界的接口。
(2). 找出外部实体的输出数据流与输入数据流。画出顶层数据流图。
(3). 从顶层加工出发,逐步细化,画出所需子图。
(4). 分析系统的主要处理功能, 把每一个处理功能作为一个加工, 并且确定它们之间的数据
复零次或一次)
16、 软件设计的原则有哪些?
模块化、抽象与逐步求精、信息隐藏于局部化,模块独立。
17、耦合与内聚分别有哪些?如何定义?如何区分? 耦合衡量不同模块彼此间互相依赖 ( 连接 ) 的紧密程度
内聚衡量一个模块内部各个元素
彼此结合的紧密程度
耦合的种类 :
数据耦合:如果两个模块间的通讯信息是若干参数,其中每一个参数都是一个数据元素,
型:包括增量模型、 RAD 模型。 4.烟花过程模型:包括 原型开发模型、螺旋模型、协同开
发模型。 5.专用过程模型:包括 机遇构建的开发模型、形式化方法模型、面向方面的软件
开发模型。
6、 什么是软件生命周期?
一个软件从定义、开发、使用和维护,知道最终被废弃,要经历一个毛长的时期,通常把软
件经历的这个漫长的时期成为生命周期。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概
念、 原理、 技术和方法来开发与维护软件, 把经过时间考验而证明正确的管理技术和当前
能够得 到的最好的技术方法结合起来
4、 两种软件工程方法学开发软件时要建立哪些模型?
瀑布模型(需求稳定,而且可以预先指定)
原型模型(需求模糊或者随时间变化)
软件工程作业题
简答题
1、 什么叫软件?
软件是计算机系统中与硬件相互依存的另一部分, 它是包括程序, 数据及其相关文档的完整
集合
2、 什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
包括两点:
(1) 如何开发软件,以满足对软件日益增长的需求;
---- 宽度越大系统越复杂。
模块的扇出指一个模块拥有的直属下级模块的个数,一般扇出数控制在
7 以内,平均为 3
或 4。
模块的扇入是指一个模块的直接上级模块的个数。
22、 软件测试的目的是什么?
软件测试是为了发现错误而执行程序的过程 ;
测试是程序的执行过程,目的在于发现错误;
软件测试绝对不是要证明程序的正确性 , 也证明不了程序的正确性。
与硬 件相比有明显差异。 软件是开发, 硬件是制造 软件是自定的, 硬件是组装的 软
件不会磨损,硬件存在机械磨损问题
12、 软件需求分析的任务是什么?
需求分析的任务是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清
晰、 具体的要求。一般说来,需求分析的任务包括下述几方面:
(1). 确定对系统的综合要求 (主要有: 功能需求、 性能需求、 运行需求、 将来可
为 内容耦合。
功能内聚: 如果一个模块内部的各组成部分的处理动作全都为执行同一个功能而存在,
并
且 功能内聚: 只执行一个功能, 则称为功能内聚。判断一个模块是不是功能内聚,
只要
看这个模块是“做什么” 是完成一个具体的任务,还是完成多任务。
顺序内聚: 如果一个模块内部的各个组成部分执行的几个处理动作有这样的特征:
23、 单元测试有那些内容?
单元测试主要针对模块的以下五个基本特征进行测试:
1. 模块接口 2. 局部数据结构 3.
重要的执行路径 4. 错误处理 5. 边界条件
24、 什么是集成测试?非渐增式和渐增式有什么区别?渐增式如何组装模块?
集成测试 : 将模块组合起来成为一个完整的系统对其进行测试。
非渐增式是将模块先进行单元测试然后组装在一起进行测试。
增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)
螺旋模型(将瀑布模型与原型化模型结合起来 , 并加入了风险分析)
喷泉模型(使开发过程具有迭代性和无间隙性)
5、 软件过程模型有哪些?简述它们的特点。
过程模型分为五大类: 1.管理过程模型。 2.瀑布模型(又称为生命周期模型) 。3.增量过程模
能提出的需求。 )
(2). 分析系统的数据要求
(3). 导出系统的逻辑模型:数据流图、实体 - 联系图、状态转换图、数据字典、算法流程
等 (4). 修正系统开发计划
13、 瀑布模型与原型模型分别适用于开发哪些软件?
瀑布模型与原型模型分别适用于开发哪些软件瀑布模型适合于需求稳定,
而且可以预先指定
的大型系统工程项目。
他 们都受同一个控制流支配, 决定他们的执行次序,称为过程内聚。
暂时内聚 (时间内
聚):如果一个模块内的各组成部分的处理动作和时间有关,则称为暂时
: 内聚。暂时
内聚模块的处理动作必须在特定的时间内完成。
----- 指在一个特定的时间范围内
完成,
但完成次序不重要。例如:程序设计中的模块的初始化。
逻辑内聚: 如果一个模块内部的各组成部分的处理动作在逻辑上相似,
3、 什么叫软件工程?
版本 1:软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、
技术和方法来开发和维护软件; 它将管理技术与当前经过时间考验的而证明是正确的技术方
法结合起来; 它强调使用生存周期方法学和结构分析和结构技术;
经过人们长期的努力和探
索,围绕着实现软件优质高产这个目标 , 从技术到管理两个方面做了大量的努力 , 逐渐形成
了”软件工程学”这一新的学科。
版本 2: 1968 年在第一届 NATO 会议上的早期定义: “建立并使用完善的工程化原则,
以 较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”
。
1993 年 IEEE 的定义: “①软件工程是:把系统的、规范的、可度量的途径应用于软
件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途经
分为总体设计和详细设计两个阶段。
总体设计包括系统设计 (划分出组成系统的程
序、 文件、 数据库、人工过程和文档等物理元素)和结构设计(确定系统中每个程序是
由哪些模块组成 的,以及这些模块相互间的关系,不涉及模块内部算法流程)
11、 软件与硬件的区别是什么?
软件是一种逻辑部件,而不是具体的物理部件。软件在开发、生产、使用、维护等方面
子 集。 存在判断调用的模块, 次相隔太 远 ---- 越近越好。
所在层次不要与那些属于判断作用范围的模块所在的层
D. 力争降低模块接口的复杂程度。模块接口复杂是软件发生错误的一个主要原因。应该
仔 细设计模块接口, 使得信息传递简单并且和模块的功能一致。 接口复杂或不一致 (即看
起来 传递的数据之间没有联系) ,是紧耦合或低内聚的征兆, 应该重新分析这个模块的
流 入、流出关系,画出第一层数据流图。
(5). 对流图中的每个加工进行细化,画出所需的子图,直到加工不需再分解为止。
(6). 按照前面给出原则检查和修改每一层数据流图和子图
15、 什么叫数据字典?如何写数据字典?
数据字典是描述数据流图中数据的信息的集合 (描述内容包括: 数据流图、 状态转换图、 数
公共耦合: 如果两个或多个模块都和同一个公共数
据域有关, 则称为公共耦合。 公共耦合 公共耦合是一种不良的耦合关系, 它给模块的维
护和修改带来困难。 如果两个模块共享的数据很多, 都通过参数传递很不方便时, 可以利
用公共耦合。
内容耦合:如果一个模块和另一个模块的内部属性(即运行程序和内部数据)有关,则称
独立性。
E. 设计单入口单出口的模块:
防止出现内容耦合 --- 多入口 (多种处理功能) 意味着
内容耦合。
F. 模块功能应该可以预测 ----- 模块是黑合子,输入相同则输出相同,其内部数据结构和接
口 受到限制。 模块的功能应该能够预测, 但也要防止模块功能过分局限。 过分局限将导致
模块 灵活性太差,会出现使用现场的修改。
7、 软件生命周期有哪几个阶段和步骤?
软件开发过程——生命周期各个阶段的基本任务
1) 软件定义
(1) 问题定义
(2) 可行性研究
(3) 需求分析——系统必需完成哪些任务
2) 软件开发
(1) 总体设计――概括地说,系统如何实现
(2) 详细设计
(3) 编码和单元测试
(4) 综合测试
3) 软件维护
(1) 改正性维护
前一个
处 顺序内聚:理动作所产生的输出数据是后一个处理动作的输入数据,
称为顺序内聚。 顺
序内聚维护起来不如功能内聚方便,
要修改模块中的一个功能, 会影响到同一个模块中
的 其他功能。
通讯内聚: 如果一个模块内各组成部分的处理动作都使用相同的输入数据或产生相同的
输 通讯内聚 出数据,称为通讯内聚。
过程内聚:如果一个模块内部的各个组成部分的处理动作各不相同,彼此也没有联系,但
但功能都彼此不同
或 逻辑内聚: 无关, 则称为逻辑内聚。 一个逻辑内聚模块往往包括若干个逻辑相似的动
作,使用时可以选 用一个或几个功能。例如:把编辑各种输入数据的功能放在一个模块
中。 机械内聚(偶然内聚) : 如果一个模块的内部各组成部分的处理动作彼此没有任