搜档网
当前位置:搜档网 › 简述模块划分的原则

简述模块划分的原则

简述模块划分的原则

一般来说,模块划分主要有以下几个原则:

(1)功能完整性原则:一个模块的功能是封装的,必须是功能完整的,不依赖于其

它模块,与外部系统或模块能实现零接触,能独立实现任务,就可以把任务放入该模块中。

(2)特征单一原则:一个模块只实现一项功能,可以适当增加相关的子功能,但是

一般来说,功能越多,模块本身及其内部功能之间会存在关联性,影响系统的稳定性和安

全性,所以减少功能有利于程序的可维护性,提升程序的质量。

(3)接口明确原则:模块之间的通信要求接口明确,程序的功能可以通过入口、出

口完成,模块的入口及出口要详细清楚,在调用及使用过程中才不容易产生错误等。

(4)可靠性原则:一个好的模块应该实现设计要求,要有可靠性,即能正确、有效

地完成任务;并且模块的代码逻辑简洁、易于理解,使用者也即能方便、容易地使用它。

(5)独立性原则:模块之间的耦合度要尽可能的低,模块间应当尽可能少的耦合,

以此增强独立性,使模块间可以独立运行,便于维护和修改改进,同时也便于系统的并发

性扩展。

(6)通用性原则:原则上,模块要满足通用性、可重用性的设计需求,它不应该是

为特定的软件系统而设计,而是用来完成特定的功能的通用的模块,它可以在其它的软件

系统中重复使用。

软件模块划分原则

模块划分的重要性 所谓软件的模块划分是指在软件设计过程中,为了能够对系统开发流程进行管理,保证系统的稳定性以及后期的可维护性,从而对软件开发按照一定的准则进行模块的划分。根据模块来进行系统开发,可提高系统的开发进度,明确系统的需求,保证系统的稳定性。 在系统设计的过程中,由于每个系统实现的功能不同,所以每个系统的需求也将会不同。也就导致了系统的设计方案不同。在系统的开发过程中,有些需求在属性上往往会有一定的关联性,而有些需求之间的联系很少。如果在设计的时候,不对需求进行归类划分的话,在后期的过程中往往会造成混乱。 软件设计过程中通过对软件进行模块划分可以达到一下的好处: (1) 使程序实现的逻辑更加清晰,可读性强。 (2) 使多人合作开发的分工更加明确,容易控制。 (3) 能充分利用可以重用的代码。 (4) 抽象出可公用的模块,可维护性强,以避免同一处修改在多个地方出现。 (5) 系统运行可方便地选择不同的流程。 (6) 可基于模块化设计优秀的遗留系统,方便的组装开发新的相似系统,甚至一个全新的系统。 模块划分的方法 很多人都参与过一些项目的设计,在很多项目设计过程中对于模块划分大多都是基于功能进行划分。这样划分有一个好处,由于在一

个项目的设计过程中,有着诸多的需求。而很多需求都可以进行归类,根据功能需求分类的方法进行模块的划分。可以让需求在归类上得到明确的划分,而且通过功能需求进行软件的模块划分使得功能分解,任务分配等方面都有较好的分解。 按照任务需求进行模块划分是一种基于面向过程的划分方法,利用面向过程的思想进行系统设计的好处是能够清晰的了解系统的开发流程。对于任务的分工、管理,系统功能接口的制定在面向过程的思想中都能够得到良好的体现。 按任务需求进行模块划分的主要步骤如下: (1) 分析系统的需求,得出需求列表; (2) 对需求进行归类,并划分出优先级; (3) 根据需求对系统进行模块分析,抽取出核心模块; (4) 将核心模块进行细化扩展,逐层得到各个子模块,完成模块划分。在很多情况下,在划分任务需求的时候,有些需求和很多个模块均有联系,这个时候,通过需求来确定模块的划分就不能够降低模块之间的耦合了。而且有些模块划分出来里面涉及的数据类型多种多样,显然这个时候根据系统所抽象出来的数据模型来进行模块划分更加有利。 在系统进行模块划分之前,往往都会有一个数据模型的抽象过程,根据系统的特性抽象出能够代表系统的数据模型。根据数据模型来进行模块划分,可以充分降低系统之间的数据耦合度。按照数据模型进行模块的划分,降低每个模块所包含的数据复杂程度,简化数据

软件工程课后练习答案

第一章软件工程概述 软件工程的基本原则是什么? 1,抽象:采用分层次抽象,自顶向下逐层细化的办法控制软件开发过程的复杂性。 2,模块化:模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。 3,信息隐蔽:将模块化设计成“黑箱”,实现的细节隐蔽在模块内部,不让模块的使用直接访问,这就是信息封装。 4,局部化:保证模块之间具有松散的耦合,模块内部具有较强的内聚,这有助于控制模块的复杂性 5,一致性:整个软件系统使用一致的概念符号和术语。 6,完整性:软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。 7,不可验证性:易于检查、测试、评审,确保系统的正确性。 第二章可行性研究 选择题 1,研究开发所需要的成本和资源属于可行性研究中(经济可行性)研究的一方面。 2,可行性分析研究的目的是(项目值得开发与否)。 3,软件分析的第一步要做的工作在于(分析系统开发的可行性)。 4,可行性研究目的主要在于(用最小的代价确定问题定义阶段所确定的目标和规模是否可实现,可解决)。 5,软件可行性分析是着重确定系统的目标和规模。对功能,性能及约束条件的分析应属于下列(技术可行性分析)。 简答题 简述可行性研究的步骤?

1,复查系统规模和目标 2,研究目前正在使用的系统 3,导出新系统的高层逻辑模型 4,重新定义问题 5,导出和评价供选择方案 6,推荐一个方案并说明理由 7,推荐行动方针 8,书写计划任务书 9,提交审查 应用题 设计一个软件的开发成本为5万元,寿命为3年。未来3年的每年收益预计为22000元,24000元,26620元,银行年利率为10%。试对此项目进行成本效益分析,以决定其经济可行性。 答:设银行的年利率是10%,则下列出每年的收益 第一年:22000/1.1=20000 第二年:24000/1.21=19834.71 第三年:26620/1.331=20000 因此:现有值收益为20000+19834.71+20000=59834.71 投资回收期2+10165/20000=2.51 纯收入59835-50000=9834.71

-原理、方法及应用课后习题(2)

软件工程——原理、方法与应用 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 5.什么是软件工程环境?谈谈你对环境重要性的认识。 答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。 (1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。 什么是软件? 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据以及有关描述程序操作和使用的文档,简而言之“软件=程序加文档”。 什么是软件工程? 软件工程师一种用科学知识和技术原理来定义开发和维护计算机的一门学科。 目标:能用较低的成本来开发软件且软件的性能。 软件生存周期与软件过程 1.什么是软件生存周期?把生存周期划分为阶段的目的是什么? 答:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。 2.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特点? 答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。 4.什么是快速原型法?其快速表现在哪里? 答:首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。然后将原型改进,最终建立完全符合用户要求的新系统。它的快速表现在能够缩短开发周期的语言和工具,能在短时间内提供出成品,但不包括成品中的细节,然后让客户进行对比。 6.比较增量模型和螺旋模型的特点,有什么不同和相似的地方? 答:增量模型是瀑布模型的顺序特征与快速原型法的迭代特征相结合的产物。螺旋模型是一种迭代模

系统功能模块设计

系统功能模块设计 引言 系统功能模块设计是开发一个软件系统的关键步骤之一。通过合理的功能模块设计,可以确保系统具备所需的功能,并且模块之间的关系清晰明确。本文将探讨系统功能模块设计的相关内容,包括需求分析、模块划分、模块之间的接口设计等。 需求分析 在进行系统功能模块设计之前,首先需要进行需求分析。通过与用户充分沟通,了解用户的需求和期望,可以确定系统的功能范围和需求。需求分析可以通过访谈用户、观察用户行为、研究竞争产品等方式进行。 模块划分 根据需求分析的结果,我们可以将系统的功能划分为不同的模块。每个模块负责实现系统的一个或多个功能。模块的划分应该遵循高内聚、低耦合的原则,即将具有相似功能的代码划分到同一个模块中,模块之间尽量减少相互依赖。 模块A 模块A负责实现系统的功能A。在模块A中,我们可以进一步划分为以下子模块: 子模块A1 子模块A1负责实现功能A的子功能1。在子模块A1中,我们需要实现以下几个子 功能: 1.子功能1.1:实现xxx操作 2.子功能1.2:实现yyy操作 子模块A2 子模块A2负责实现功能A的子功能2。在子模块A2中,我们需要实现以下几个子 功能:

1.子功能 2.1:实现zzz操作 2.子功能2.2:实现www操作 模块B 模块B负责实现系统的功能B。在模块B中,我们可以进一步划分为以下子模块: 子模块B1 子模块B1负责实现功能B的子功能1。在子模块B1中,我们需要实现以下几个子功能: 1.子功能1.1:实现xxx操作 2.子功能1.2:实现yyy操作 子模块B2 子模块B2负责实现功能B的子功能2。在子模块B2中,我们需要实现以下几个子功能: 1.子功能 2.1:实现zzz操作 2.子功能2.2:实现www操作 模块之间的接口设计 在进行模块划分的同时,还需要设计模块之间的接口。接口定义了模块之间交互的方式和规则。良好的接口设计能够提高模块间的可组合性和可测试性。 接口A 模块A提供给其他模块使用的接口可以定义如下: 1.接口A1:用于接收其他模块传递的数据参数,并进行相应的处理 2.接口A2:用于向其他模块提供数据或结果,供其使用 接口B 模块B提供给其他模块使用的接口可以定义如下:

模块化程序的设计原则

模块化程序的设计原则 随着软件系统的不断发展和复杂化,模块化程序的设计变得越来越重要。模块化设计能够使软件系统更易于维护、扩展和重用,提高开发效率和软件质量。本文将介绍模块化程序的设计原则,以帮助开发人员设计出高质量的模块化软件。 一、单一职责原则 单一职责原则是模块化设计的基础原则之一。它要求一个模块只负责一个功能,即一个模块应该只有一个引起它变化的原因。这样做可以使模块的职责清晰明确,便于理解和修改。如果一个模块承担了多个职责,那么当其中一个职责发生变化时,可能会影响其他职责的实现,导致代码的混乱和不稳定。 二、高内聚低耦合原则 高内聚低耦合原则是模块化设计的另一个重要原则。高内聚指的是一个模块内部的元素之间联系紧密,共同完成一个明确的功能。低耦合指的是模块与其他模块之间的依赖关系尽量弱化,模块之间的耦合度要尽量降低。高内聚低耦合的设计可以使模块更加独立,易于测试和维护,也可以提高代码的重用性和可扩展性。 三、开闭原则 开闭原则是指一个模块应该对扩展开放,对修改关闭。也就是说,

当需要添加新功能或修改功能时,应该尽量通过扩展已有的模块来实现,而不是修改已有的代码。这样做可以减少对已有功能的影响,提高代码的稳定性和可维护性。开闭原则可以通过使用接口和抽象类来实现,将变化的部分抽象出来,以便于扩展和替换。 四、迪米特法则 迪米特法则又称为最少知识原则,它要求一个模块只与其直接的朋友进行通信。直接的朋友指的是模块内部的成员、参数、返回值等。迪米特法则的目的是减少模块之间的依赖关系,降低耦合度,提高模块的独立性和可维护性。迪米特法则可以通过使用接口和封装来实现,将模块对外公开的接口尽量减少,只暴露必要的操作。 五、接口隔离原则 接口隔离原则要求一个模块不应该依赖它不需要的接口。也就是说,一个模块应该只依赖于它需要的接口,而不应该依赖于整个接口集合。接口隔离原则可以避免不必要的依赖,减少模块之间的耦合度,提高模块的内聚性和可维护性。接口隔离原则可以通过将接口拆分为更小的接口来实现,每个模块只实现其需要的接口。 六、依赖倒置原则 依赖倒置原则是指模块之间的依赖关系应该是抽象依赖于具体,而不是具体依赖于抽象。也就是说,模块之间应该依赖于抽象类或接

单元设计--附件3系统功能模块划分原则

系统功能模块设计原则 一、模块分解的原则和依据 系统逻辑模型中数据流图中的模块是逻辑处理模块,模型中没有说明模块的物理构成和实现途径,同时也看不出模块的层次分解关系,为此在系统结构设计中要将数据流图上的各个逻辑处理模块进一步分解,用模块结构图确定系统的层次结构关系,并将系统的逻辑模型转变为物理模型。 1.“耦合小,内聚大”的基本原则 在结构化设计中,采用自顶向下,逐步细化的方法将系统分解成为一些相对独立、功能单一的模块。如何度量模块之间的独立性呢? 在一个管理信息系统中,系统的各组成部分之间总是存在着各种联系的,将系统或子系统划分成若干模块,则一个模块内部的联系就是块内联系,而穿越模块边界的联系就是块间联系。由于模块之间的互相联系越多,模块的独立性就越少,因此,引入模块耦合和内聚的概念。 耦合表示模块之间联系的程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。 内聚表示模块内部各成分之间的联系程度。 一般说来,在系统中各模块的内聚越大,则模块间的耦合越小。但这种关系并不是绝对的。耦合小使得模块间尽可能相对独立,从而各模块可以单独开发和维护。内聚大使得模块的可理解性和维护性大大增强。因此,在模块的分解中应尽量减少模块的耦合,力求增加模块的内聚。 2.对子系统或模块进行划分的依据 一个合理的子系统或模块划分,应该是内部联系强,子系统或模块间尽可能独立,接口明确、简单,尽量适应用户的组织体系,有适当的共用性。也就是上面所说的“耦合小,内聚大”。按照结构化设计的思想,对模块或子系统进行划分的依据通常有以下几种: (1)按逻辑划分,把相类似的处理逻辑功能放在一个子系统或模块里。例如,把“对所有业务输入数据进行编辑”的功能放在一个子系统或模块里。那么不管是库存、还是财务,只要有业务输入数据都由这个子系统或模块来校错、编辑。 (2)按时间划分,把要在同一时间段执行的各种处理结合成一个子系统或模块。 (3)按过程划分,即按工作流程划分。从控制流程的角度看,同一子系统或模块的许多功能都应该是相关的。

产品通用化、系列化、组合化(模块化)设计的基本理论

标准宣贯: 产品通用化、系列化、组合化(模块化)设计的基本理论 一、通用化 在新产品研制时,应优先采用继承型通用化形式。即先用同类或同系列现有设备中可继承的单元或要素,亦即最大限度地采用在功能上与尺寸上可互换的标准件、通用件、借用件、原材料及品种、规格、结构、尺寸要素等。 在不能采用继承型通用化形式时,可采用开发型通用化形式。即通过对未来发展需求的预测,有目标、有选择地研制某些通用化单元,这些单元的预期应用范围应该尽可能地被得到扩大,即可应用于同类或同系列的其他设备中。 二、系列化 1、概念 系列化:是同类型产品,按使用要求的规律,根据一定的技术经济原则,考虑目前和将来的发展,合理安排不同的尺寸、参数,使基本结构一致的产品,从小到大,由低到高,形成系列,以实现优质、高产、低消耗。 产品系列:具有相同的使用条件和结构特征,相同的设计依据,且基本尺寸、参数按一定规律排列的一组产品称为产品系列。 产品系列化工作:按产品系列的规律去设计制造和发展产品的工作,叫产品的系列化工作。 典型结构:适用范围最广,通用性最强,工艺性最好,适合大量生产,且结构、型状简单,便于组合,使用方便的结构。 基型产品:采用典型的结构(电路)设计的产品,它是该类产品中的基本(电路)型式。 变型产品:对基型产品某一部分结构(电路)进行了改变以适应某一方面的特殊需要,所设计出来的产品,与基型产品相比,主要表现在改变性能与规格。 基本系列:以基型产品构成的系列称为基本系列。系列内部各产品间,只是参数大小的变化,没有其它性能的改变。 派生系列:由变型产品所形成的系列称为派生系列。 2、系列化设计的任务与要求 系列化设计是以基型产品为基础,根据社会需要,分期、分批地设计出同一系列内的各种尺寸、参数产品系列。 一是在整顿老产品的基础上,淘汰落后及没有发展前途的产品,选择好的产品纳入产品系列进行生产;一是根据生产、技术的发展,采用先进技术,设计发展新的产品系列。 系列化设计应根据合理规划的产品型谱来逐步实现。系列设计中应认真贯彻与产品有关的各种标准。参数、尺寸的选择应符合优先数系的规定(只要在取值上不受已有标准限制,不受配套产品限制的情况下,应最大限度地采用优先数,GB/T 321-2005。)。在产品整顿时,应对品种规格杂乱,需要量较大的那些老产品,通过调查分析,从优先数系(或相应的标准规定)中选用合适的系列作为产

软件工程试卷及参考答案

试卷(一) 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、 Prolog 10、研究开辟所需要的成本和资源是属于可行性研究中的( )研究的一方面。 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 、PAD B 、SA C、S C D 、DFD 15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( ) A、集成测试 B、恢复测试 C、验收测试 D、单元测试 16、盒图(N-S 图)为( )提供了有力的工具。 A、系统分析 B、软件的自动化生成 C、自动分析数据 D、测试软件 17、 ( )是比较理想的可重用软构件。 A.子程序库 B.源代码包含文件 C.对象 D.类 18、需求分析阶段的任务是确定( ) A、软件开辟方法 B、软件开辟工具 C、软件开辟费 D、软件系统的功能 19、下列文档与维护人员有关的有( ) A、软件需求说明书 B、项目开辟计划 C、概要设计说明书 D、操作手册 20、程序的三种基本控制结构是( ) A、过程、子程序和分程序 B、顺序、选择和重复 C、递归、堆栈和队列 D、调用、返回和转移 21、软件生存周期中时间最长的是( )阶段。 A、总体设计 B、需求分析 C、软件测试 D、软件维护 22、为使得开辟人员对软件产品的各个阶段工作都进行精密的思量,从而减少返工,所以 ( ) 的编制是很重要的。 A、需求说明 B、概要说明 C、软件文档 D、测试计划 23、软件部件的内部实现与外部可访问性的分离,是指软件的( )。

Java框架的模块划分分析

Java框架的模块划分分析 在软件开发领域,Java语言无疑是最为热门和广泛使用的编程语言 之一。为了更好地进行Java应用程序的开发,开发人员通常会使用各 种框架来简化开发过程,并提供更高效的工具和库。然而,在一个庞 大的Java框架中,模块划分是至关重要的,它能够使得代码更加组织 有序、易于维护和可扩展。 本文将对Java框架的模块划分进行分析和讨论,并探讨不同的划分策略与注意事项。基于实际开发经验,我们将重点关注以下几个方面:模块划分的目的、常见的模块划分方式、划分的原则和最佳实践。 一、模块划分的目的 模块划分旨在将复杂的Java应用程序分解为更小、更简单的部分,以便于开发人员更好地理解和管理代码。通过模块化的设计,可以实 现以下几个目的: 1. 提高代码复用性:良好的模块划分可以使得代码更加模块化,不 同模块之间的功能独立并可以被多个应用程序共享,从而提高代码的 复用性。 2. 降低系统复杂度:将大型系统划分为多个模块可以降低整体系统 的复杂度。每个模块专注于一个特定的功能,开发人员只需要关注当 前模块的实现细节,减少了对整个系统的理解和掌握难度。

3. 提高开发效率:模块划分可以使得代码更加模块化,不同开发人 员可以分别负责不同模块的开发,提高开发效率。同时,模块划分也 方便并行开发和测试,缩短开发周期。 二、常见的模块划分方式 在Java框架的模块划分中,有几种常见的方式: 1. 功能划分:将Java应用程序按照不同的功能划分为不同的模块。比如,一个Web应用程序可以划分为控制器、服务、数据访问等模块,每个模块负责不同的功能。 2. 分层划分:将Java应用程序按照不同的层次划分为不同的模块。比如,一个Web应用程序可以划分为表示层、业务逻辑层和数据访问 层等模块,每个模块负责不同的层次。 3. 领域驱动设计:根据应用程序的业务领域,将Java应用程序划分为不同的领域模块。每个领域模块都有自己的业务逻辑和数据模型, 可以独立地进行开发和测试。 三、划分的原则和最佳实践 在进行Java框架的模块划分时,我们应该遵循一些原则和最佳实践,以确保划分结果的有效性和可维护性。 1. 单一职责原则:每个模块应该只负责一个功能或层次,不要将多 个功能或层次混合在一个模块中。这样可以使得模块的职责更加清晰,易于理解和维护。

产品通用化、系列化、组合化(模块化)设计的基本理论

产品通用化、系列化、组合化(模块化)设计的基本理论 标准宣贯: 产品通用化、系列化、组合化(模块化)设计的基本理论一、通用化 在新产品研制时,应优先采用继承型通用化形式。即先用同类或同系列现有设备中可继承的单元或要素,亦即最大限度地采用在功能上与尺寸上可互换的标准件、通用件、借用件、原材料及品种、规格、结构、尺寸要素等。 在不能采用继承型通用化形式时,可采用开发型通用化形式。即通过对未来发展需求的预测,有目标、有选择地研制某些通用化单元,这些单元的预期应用范围应该尽可能地被得到扩大,即可应用于同类或同系列的其他设备中。 二、系列化 1、概念系列化:是同类型产品,按使用要求的规律,根据一定的技术经济原则,考虑目前和将来的发展,合理安排不同的尺寸、参数,使基本结构一致的产品,从小到大,由低到高,形成系列,以实现优质、高产、低消耗。 产品系列:具有相同的使用条件和结构特征,相同的设计依据,且基本尺寸、参数按一定规律排列的一组产品称为产品系列。 产品系列化工作:按产品系列的规律去设计制造和发展产品的工作,叫产品的系列化工作。 典型结构:适用范围最广,通用性最强,工艺性最好,适合大量生产,且结构、型状简单,便于组合,使用方便的结构。 基型产品:采用典型的结构(电路)设计的产品,它是该类产品中的基本(电路) 型式。 变型产品:对基型产品某一部分结构(电路)进行了改变以适应某一方面的特殊需要,所设计出来的产品,与基型产品相比,主要表现在改变性能与规格。

基本系列:以基型产品构成的系列称为基本系列。系列内部各产品间,只是参数大小的变化,没有其它性能的改变。 派生系列:由变型产品所形成的系列称为派生系列。 2、系列化设计的任务与要求 系列化设计是以基型产品为基础,根据社会需要,分期、分批地设计出同一系列内的各种尺寸、参数产品系列。 一是在整顿老产品的基础上,淘汰落后及没有发展前途的产品,选择好的产品纳入产品系列进行生产;一是根据生产、技术的发展,采用先进技术,设计发展新的产品系列。 系列化设计应根据合理规划的产品型谱来逐步实现。系列设计中应认真贯彻与产品有关的各种标准。参数、尺寸的选择应符合优先数系的规定(只要在取值上不受已有标准限制,不受配套产品限制的情况下,应最大限度地采用优先数,GB/T 321-2005 。)。在产品整顿时,应对品种规格杂乱,需要量较大的那些老产品,通过调查分析,从优先数系(或相应的标准规定)中选用合适的系列作为产品的主要参数系列,从而简化品种规格,使产品走上标准化的轨道。设计中应按相似设计的原理,使系列产品的结构、电路及其零部件达到最大限度的通用化。 系列化设计要按照使用与生产的要求,统筹安排,注意技术上的先进性,考虑生 产上的合理性,使系列品种达到技术上从新、结构上从简、质量上从严,成本上从廉,用尽可能少的品种规格满足生产、使用部门的要求。 3、系列化设计的方法与步骤 (1)找到同类产品的共同规律按照产品的共同特征或共同特性,寻求同类产品的共同规律; (2 )确定典型结构(对新技术、新工艺、新材料应事先进行必要的试验)。典型结构应最大限度的采用标准件和通用件。典型结构的设计应以基型产品为主,并考虑到变型产品的需要。典型结构作为单独设计时,一定要经过试制、鉴定定型,经过反复试验、生产、使

计算机科学导论(第4版)习题答案-第7、8章

第7章软件工程 习题(答案) 一、选择题 1. D 2. B 3. C 4. B 5. A 6. C 7. A 8. D 9.C 10. B 11. C 12.C 13.D 二、简答题 1.什么叫软件危机? 答:随着计算机应用的普及和深化,计算机软件的数量、规模、复杂程度和开发所需的人力、物力等都在急剧增加,计算机发展初期个人编写小程序的传统方法,已不再适合现代大型软件的开发,用传统方法开发出来的许多大型软件甚至无法投入运行。同时,由于计算机应用领域和硬件技术得到丁飞速发展,软件的生产速度、质量和规模远远适应不了对软件的需求,造成大量人力、物力、财力的浪费,在软件开发和维护过程中出现了巨大的困难。计算机领域把大型软件开发和维护过程中遇到的一系列严重问题称为“软件危机”(Software Crisis)。 2.软件危机的表现形式是什么? 答:软件危机的表现形式: (1) 软件的质量难以保证 开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。这种不可靠的软件,轻者会影响系统正常工作,重者会发生事故,造成生命财产的重大损失。 (2) 软件开发成本和开发进度难以控制 经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计算很难制定。主观盲目制定的计算,执行起来和实际情况有很大差距,使得开发经费一再突破。由于对工作量和开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。 (3) 软件的维护非常困难 开发的软件可维护性差。开发过程没有统一的、公认的规范,软件开发人员按各自的风格工作,各行其事。开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行进发现错误也很难修改,导致维护性差。 (4) 用户对“已完成”的软件系统不满意 开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确

《会计信息系统》复习思考题及参考答案(修正版)

第一章 第二章 一、思考题 1.为什么会计人员和审计人员要参与会计信息系统的开发? 会计信息系统的建立是企业的一项重要财务活动。会计信息系统的开发如同企业产品的生产,会计信息系统是经过一系列复杂阶段活动产出的产品,这种产品也必须经过设计、授权和过程控制。会计人员应该关注会计信息系统开发过程的完整性。 会计信息系统用于向企业内部和外部提供会计信息,会计信息的质量直接取决于建立会计信息系统的开发活动。会计人员和审计人员参与会计信息系统的开发活动,能够使系统开发专业人员明确他们的问题和需求,确保会计信息系统遵循会计准则、财务会计制度和相关法律、法规的规定,并建立、健全、执行了恰当的控制,保证会计信息系统能够留有充分的审计线索。 2.什么是系统开发生命周期?分几个阶段?各阶段的主要任务和文档是什么? 广义上讲,任何系统均有其产生、发展、成熟、消亡或更新换代的过程,这个过程称为系统的生命周期(System Life Cycle)。任何系统开发工程基本上都要经历相同的系统开发生命周期的5个阶段:系统规划、系统分析、系统设计、系统实施和系统运行与维护。系统开发生命周期概念为计划和控制具体的开发活动提供了一个总体框架。各阶段的主要任务和文档如下表:

3.结构化方法、原型法和面向对象开发方法的优缺点和适用条件? (1)结构化系统开发方法是经典型的开发方法,强调在整体优化的前提下考虑具体的分析设计问题,开发过程规范,思路清楚,适合于开发大型、复杂的系统。采用这种开发模式,要求系统开发人员在调查中充分掌握用户需求、管理状况以及可预见未来可能发生的风险,开发的工作量很大,开发周期较长。 (2)采用原型化方法开发信息系统,有效地增进了用户与系统分析人员的沟通,在系

软件工程试卷及参考答案

试卷(一) 一、单项选择题 1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( ) 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、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 7、只有单重继承的类层次结构是( )层次结构。 A、网状型 B、星型 C、树型 D、环型 8、下列属于维护阶段的文档是( ) A、软件规格说明 B、用户操作手册 C、软件问题报告 D、软件测试分析报告 9、不适合作为科学工程计算的语言是( ) A、Pascal B、C C、Fortran D、 Prolog 10、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 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、PAD B、SA C、SC D、DFD 15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于() A、集成测试 B、恢复测试 C、验收测试 D、单元测试 16、盒图(N-S图)为()提供了有力的工具。 A、系统分析 B、软件的自动化生成 C、自动分析数据 D、测试软件 17、( )是比较理想的可重用软构件。 A.子程序库 B.源代码包含文件 C.对象 D.类 18、需求分析阶段的任务是确定() A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能 19、下列文档与维护人员有关的有( ) A、软件需求说明书 B、项目开发计划 C、概要设计说明书 D、操作手册 20、程序的三种基本控制结构是() A、过程、子程序和分程序 B、顺序、选择和重复 C、递归、堆栈和队列 D、调用、返回和转移 21、软件生存周期中时间最长的是()阶段。 A、总体设计 B、需求分析 C、软件测试 D、软件维护 22、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。 A、需求说明 B、概要说明 C、软件文档 D、测试计划 23、软件部件的内部实现与外部可访问性的分离,是指软件的()。

相关主题