软件工程的主要原则包括哪些方面?它的基本要素有哪几项
软件工程的三要素:方法、工具和过程。
软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则: 第一条:围绕适宜的开发模型; 第二条:采用合适的设计方法; 第三条:提供高质量的工程支撑; 第四条:重视软件工程的管理。
(37) 下面不属于软件设计原则的是( )???
电气原理图设计 为满足生产机械及工艺要求进行的电气控制电路的设计 电气工艺设计 为电气控制装置的制造,使用,运行,维修的需要进行的生产施工设计 第一节 电气控制设计的原则和内容 一,电气控制设计的原则 1)最大限度满足生产机械和生产工艺对电气控制的要求 2)在满足要求的前提下,使控制系统简单,经济,合理,便于操作,维修方便,安全可靠 3)电器元件选用合理,正确,使系统能正常工作 4)为适应工艺的改进,设备能力应留有裕量 二,电气控制设计的基本内容 1.电气原理图设计内容 1) 拟定电气设计任务书 2)选择电力拖动方案和控制方式 3)确定电动机的类型,型号,容量,转速 4)设计电气控制原理图 5)选择电器元件及清单 6)编写设计计算说明书 2. 电气工艺设计内容 1)设计电气设备的总体配置,绘制总装配图和总接线图 2)绘制各组件电器元件布置图与安装接线图,标明安装方式,接线方式 3)编写使用维护说明书 第二节 电力拖动方案的确定和电动机的选择 一,电力拖动方案的确定 1,拖动方式的选择 2,调速方案的选择 3,电动机调速性质应与负载特性相适应 二,拖动电动机的选择 (一)电动机选择的基本原则 1)电动机的机械特性应满足生产机械的要求,与负载的特性相适应 2)电动机的容量要得到充分的利用 3)电动机的结构形式要满足机械设计的安装要求,适合工作环境 4)在满足设计要求前提下,优先采用三相异步电动机 (二)根据生产机械调速要求选择电动机 一般---三相笼型异步电动机,双速电机 调速,起动转矩大---三相笼型异步电动机 调速高---直流电动机,变频调速交流电动机 (三)电动机结构形式的选择 根据工作性质,安装方式,工作环境选择 (四)电动机额定电压的选择 (五)电动机额定转速的选择 (六)电动机容量的选择 1,分析计算法: 此外,还可通过对长期运行的同类生产机械的电动机容量进行调查,并对机械主要参数,工作条件进行类比,然后再确定电动机的容量. 第三节 电气控制电路设计的一股要求 一,电气控制应最大限度地满足生产机械加工工艺的要求 设计前,应对生产机械工作性能,结构特点,运动情况,加工工艺过程及加工情况有充 分的了解,并在此基础上设计控制方案,考虑控制方式,起动,制动,反向和调速的要求, 安置必要的联锁与保护,确保满足生产机械加工工艺的要求. 二,对控制电路电流,电压的要求 应尽量减少控制电路中的电流,电压种类,控制电压应选择标准电压等级.电气控制电 各常用的电压等级如表10-2所示. 三,控制电路力求简单,经济 1.尽量缩短连接导线的长度和导线数量 设计控制电路时,应考虑各电器元件的安装 立置,尽可能地减少连接导线的数量,缩短连接导线的长度.如图10-l. 2.尽量减少电器元件的品种,数量和规格 同一用途的器件尽可能选用同品牌,型号的产品,并且电器数量减少到最低限度. 3.尽量减少电器元件触头的数目.在控制电路中,尽量减少触头是为了提高电路运行 的可靠性.例如图10-2a所示. 4.尽量减少通电电器的数目,以利节能与延长电器元件寿命,减少故障.如图10-3a所示. 四,确保控制电路工作的安全性和可靠性 1.正确连接电器的线圈 在交流控制电路中,同时动作的两个电器线圈不能串联,两个电磁线圈需要同时吸合时其线圈应并联连接,如图10-4b所示. 在直流控制电路中,两电感值相差悬殊的直流电压线圈不能并联连接. 2正确连接电器元件的触头 设计时,应使分布在电路中不同位置的同一电器触头接到电源的同一相上,以避免在电器触头上引起短路故障. 3防止寄生电路 在控制电路的动作过程中.意外接通的电路叫寄生电路. 4.在控制电路中控制触头应合理布置. 5.在设计控制电路中应考虑继电器触头的接通与分断能力. 6,避免发生触头"竞争","冒险"现象 竞争:当控制电路状态发生变换时,常伴随电路中的电器元件的触头状态发生变换.由于电器元件总有一定的固有动作时间,对于一个时序电路来说,往往发生不按时序动作的情况,触头争先吸合,就会得到几个不同的输出状态,这种现象称为电路的"竞争". 冒险:对于开关电路,由于电器元件的释放延时作用,也会出现开关元件不按要求的逻辑功能输出,这种现象称为"冒险". 7.采用电气联锁与机械联锁的双重联锁. 五,具有完善的保护环节 电气控制电路应具有完善的保护环节,常用的有漏电保护,短路,过载,过电流,过电压,欠电压与零电压,弱磁,联锁与限位保护等. 六,要考虑操作,维修与调试的方便 第四节 电气控制电路设计的方法与步骤 一,电气控制电路设计方法简介 设计电气控制电路的方法有两种,一种是分析设计法,另一种是逻辑设计法. 分析设计法(经验设计法):根据生产工艺的要求选择一些成熟的典型基本环节来实现这些基本要求,而后再逐步完善其功能,并适当配 置联锁和保护等环节,使其组合成一个整体,成为满足控制要求的完整电路. 逻辑设计法:利用逻辑代数这一数学工具设计电气控制电路. 在继电接触器控制电路中,把表示触头状态的逻辑变量称为输人逻辑变量,把表示继电 器接触器线圈等受控元件的逻辑变量称为输出逻辑变量.输人,...
软件工程是学什么的,包括什么?
楼上的朋友们不要误导哦。
软件工程不是那么简单的编程。
现在学通信、电子的还学编程呢~~软件工程是一类工程。
工程是将理论和知识应用于实践的科学。
就软件工程而言,它借鉴了传统工程的原则和方法,以求高效地开发高质量软件。
其中应用了计算机科学、数学和管理科学。
计算机科学和数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量和成本的管理。
软件工程涉及了软件工程的目标、软件工程原则和软件工程活动。
目标:我的眼里只有“产品” 软件工程的主要目标是:生产具有正确性、可用性以及开销合宜的产品。
正确性意指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜性是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多问题有待解决,它们形成了对过程、过程模型及工程方法选取的约束。
软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。
主要包括需求、设计、实现、确认以及支持等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件体系结构,包括子系统、模块以及相关层次的说明、每一模块接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
支持活动包括修改和完善。
伴随以上活动,还有管理过程、支持过程、培训过程等。
框架:四项基本原则是基石 软件工程围绕工程设计、工程支持以及工程管理,提出了以下四项基本原则: 第一,选取适宜开发范型。
该原则与系统设计有关。
在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。
因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。
第二,采用合适的设计方法。
在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。
合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
第三,提供高质量的工程支持。
“工欲善其事,必先利其器”。
在软件工程中,软件工具与环境对软件过程的支持颇为重要。
软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
第四,重视开发过程的管理。
软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。
因此,仅当软件过程得以有效管理时,才能实现有效的软件工程。
这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性;实施一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程支撑,要实行开发过程的有效管理;软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、支持过程以及过程管理。
根据软件工程这一框架,软件工程学科的研究内容主要包括:软件开发范型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE) 及软件经济学等。
作用:高效开发高质量软件 自从软件工程概念提出以来,经过30多年的研究与实践,虽然“软件危机”没得到彻底解决,但在软件开发方法和技术方面已经有了很大的进步。
尤其应该指出的是,自80年代中期,美国工业界和政府部门开始认识到,在软件开发中,最关键的问题是软件开发组织不能很好地定义和管理其软件过程,从而使一些好的开发方法和技术都起不到所期望的作用。
也就是说,在没有很好定义和管理软件过程的软件开发中,开发组织不可能在好的软件方法和工具中获益。
根据调查,中国的现状几乎和美国10多年前的情况一样,软件开发过程没有明确规定,文档不完整,也不规范,软件项目的成功往往归功于软件开发组的一些杰出个人或小组的努力。
这种依赖于个别人员上的成功并不能为全组织的软件生产率和质量的提高奠定有效的基础,只有通过建立全组织的过程改善,采用严格的软件工程方法和管理,并且坚持不懈地付诸实践,才能取得全组织的软件过程能力的不断提高。
只有坚持软件工程的四条基本原则,既重视软件技术的应用,又重视软件工程的支持和管理,并在实践中贯彻实施,才能高效地开发出高质量的软件。
展开
计算机应用软件系统的用户界面设计的一般指导原则有哪些?
1)所有数据都应该隐藏在所在的类的内部。
(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。
(3)尽量减少类的协议中的消息。
(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。
(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。
如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。
(6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。
(7)类之间应该零耦合,或者只有导出耦合关系。
也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作。
(8)类应该只表示一个关键抽象。
包中的所有类对于同一类性质的变化应该是共同封闭的。
一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响 。
(9)把相关的数据和行为集中放置。
设计者应当留意那些通过get之类操作从别的对象中获取数据的对象。
这种类型的行为暗示着这条经验原则被违反了。
(10)把不相关的信息放在另一个类中(也即:互不沟通的行为)。
朝着稳定的方向进行依赖。
(11)确保你为之建模的抽象概念是类,而不只是对象扮演的角色。
(12)在水平方向上尽可能统一地分布系统功能,也即:按照设计,顶层类应当统一地共享工作。
(13)在你的系统中不要创建全能类/对象。
对名字包含Driver、Manager、System、Susystem的类要特别多加小心。
规划一个接口而不是实现一个接口。
(14)对公共接口中定义了大量访问方法的类多加小心。
大量访问方法意味着相关数据和行为没有集中存放。
(15)对包含太多互不沟通的行为的类多加小心。
这个问题的另一表现是在你的应用程序中的类的公有接口中创建了很多的get和set函数。
(16)在由同用户界面交互的面向对象模型构成的应用程序中,模型不应该依赖于界面,界面则应当依赖于模型。
(17)尽可能地按照现实世界建模(我们常常为了遵守系统功能分布原则、避免全能类原则以及集中放置相关数据和行为的原则而违背这条原则) 。
(18)从你的设计中去除不需要的类。
一般来说,我们会把这个类降级成一个属性。
(19)去除系统外的类。
系统外的类的特点是,抽象地看它们只往系统领域发送消息但并不接受系统领域内其他类发出的消息。
(20)不要把操作变成类。
质疑任何名字是动词或者派生自动词的类,特别是只有一个有意义行为的类。
考虑一下那个有意义的行为是否应当迁移到已经存在或者尚未发现的某个类中。
(21)我们在创建应用程序的分析模型时常常引入代理类。
在设计阶段,我们常会发现很多代理没有用的,应当去除。
(22)尽量减少类的协作者的数量。
一个类用到的其他类的数目应当尽量少。
(23)尽量减少类和协作者之间传递的消息的数量。
(24)尽量减少类和协作者之间的协作量,也即:减少类和协作者之间传递的不同消息的数量。
(25)尽量减少类的扇出,也即:减少类定义的消息数和发送的消息数的乘积。
(26)如果类包含另一个类的对象,那么包含类应当给被包含的对象发送消息。
也即:包含关系总是意味着使用关系。
(27)类中定义的大多数方法都应当在大多数时间里使用大多数数据成员。
(28)类包含的对象数目不应当超过开发者短期记忆的容量。
这个数目常常是6。
当类包含多于6个数据成员时,可以把逻辑相关的数据成员划分为一组,然后用一个新的包含类去包含这一组成员。
(29)让系统功能在窄而深的继承体系中垂直分布。
(30)在实现语义约束时,最好根据类定义来实现。
这常常会导致类泛滥成灾,在这种情况下,约束应当在类的行为中实现,通常是在构造函数中实现,但不是必须如此。
(31)在类的构造函数中实现语义约束时,把约束测试放在构造函数领域所允许的尽量深的包含层次中。
(32)约束所依赖的语义信息如果经常改变,那么最好放在一个集中式的第3方对象中。
(33)约束所依赖的语义信息如果很少改变,那么最好分布在约束所涉及的各个类中。
(34)类必须知道它包含什么,但是不能知道谁包含它。
(35)共享字面范围(也就是被同一个类所包含)的对象相互之间不应当有使用关系。
(36)继承只应被用来为特化层次结构建模。
(37)派生类必须知道基类,基类不应该知道关于它们的派生类的任何信息。
(38)基类中的所有数据都应当是私有的,不要使用保护数据。
类的设计者永远都不应该把类的使用者不需要的东西放在公有接口中。
(39)在理论上,继承层次体系应当深一点,越深越好。
(40)在实践中,继承层次体系的深度不应当超出一个普通人的短期记忆能力。
一个广为接受的深度值是6。
(41)所有的抽象类都应当是基类。
(42)所有的基类都应当是抽象类。
谁知道软件设计规约主要包括哪些内容
简要的来说我们设计软件需要遵守两大类(一)从设计层面来说1、严格按照程序语言编写顺序编写程序。
2、规范使用各各程序之间的名称3、编写代码需要有明显的结构性。
4、如果是多人完成的程序需要提供在程序中标注各各代码的作用。
做到这些能够为您的软件在编辑和修改当中提供方便,和提高效率。
(二)从用户体验来说我们设计软件的目的就是要给用户提供便利,所以需要注意以下几点1、界面设计。
我们设计软件需要简单移动的操作界面,这是设计软件最基本的原则,对于优质的软件我们还需要提供美观的界面和人性化如何常人正常逻辑思维的操作界面。
2、运行设计。
在我们设计软件的时候需要优化程序运行数度,越快的响应速度越能被用户喜欢。
而我们在网络传输的数据也是越精简越好,如果你短短的一个表情你都需要通过一串很长的代码来传输,那就会导致消息发送响应数度慢。
所以在图片中我们可以使用些如压缩技术来减少传输间的数据。
送达数据后解压来提高运行速度。
3、呈现优先设计,如我们通过可以优先选择文字优先呈现,图片后呈现的的顺序来为优化用户体验。
还有分区块呈现顺序,通过切割一整张内容,让最上方的内容优先呈现出来,而通过用户浏览的间隙来呈现接下来的内容。
这常常用在网页中,如手机端网页。
4、尽量使用最性的编程技术,通过编程技术的发展不断的为软件提供基础的优化方案。
比如HTML5的技术,就是提高网页响应速度。
而在我们所选择的编程中VB逐渐被市场所淘汰,而C C++ JAVA日益强大起来。