软件工程里面的“接口”到底是什么意思?
展开全部 软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够 得到的最好的技术方法结合起来,这就是软件工程。
软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
...
BUS接口,什么含意?
展开全部 ??是USB还是BUS?USB的资料:一、什么是USB? USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。
它是一种应用在PC领域的新型接口技术。
早在1995年,就已经有PC机带有USB接口了,但由于缺乏软件及硬件设备的支持,这些PC机的USB接口都闲置未用。
1998年后,随着微软在Windows 98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB接口才逐步走进了实用阶段。
这几年,随着大量支持USB的个人电脑的普及,USB逐步成为PC机的标准接口已经是大势所趋。
在主机(host)端,最新推出的PC机几乎100%支持USB;而在外设(device)端,使用USB接口的设备也与日俱增,例如数码相机、扫描仪、游戏杆、磁带和软驱、图像设备、打印机、键盘、鼠标等等。
USB设备之所以会被大量应用,主要具有以下优点: 1、可以热插拔。
这就让用户在使用外接设备时,不需要重复“关机à将并口或串口电缆接上à再开机”这样的动作,而是直接在PC开机时,就可以将USB电缆插上使用。
2、携带方便。
USB设备大多以“小、轻、薄”见长,对用户来说,同样20G的硬盘,USB硬盘比IDE硬盘要轻一半的重量,在想要随身携带大量数据时,当然USB硬盘会是首要之选了。
3、标准统一。
大家常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了USB之后,这些应用外设统统可以用同样的标准与PC连接,这时就有了USB硬盘、USB鼠标、USB打印机,等等。
4、可以连接多个设备。
USB在PC上往往具有多个接口,可以同时连接几个设备,如果接上一个有4个端口的USB HUB时,就可以再连上4个USB设备,以此类推,尽可以连下去,将你家的设备都同时连在一台PC上而不会有任何问题(注:最高可连接至127个设备)。
但是,为什么又出现了USB2.0呢?它与USB1.1又有何区别?请别急,下面就会谈到了。
二、什么是USB 2.0? 目前USB设备虽已被广泛应用,但比较普遍的却是USB1.1接口,它的传输速度仅为12Mbps。
举个例子说,当你用USB1.1的扫描仪扫一张大小为40M的图片,需要4分钟之久。
这样的速度,让用户觉得非常不方便,如果有好几张图片要扫的话,就得要有很好的耐心来等待了。
用户的需求,是促进科技发展的动力,厂商也同样认识到了这个瓶颈。
这时, COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC和PHILIPS这7家厂商联合制定了USB 2.0接口标准。
USB 2.0将设备之间的数据传输速度增加到了480Mbps,比USB 1.1标准快40倍左右,速度的提高对于用户的最大好处就是意味着用户可以使用到更高效的外部设备,而且具有多种速度的周边设备都可以被连接到USB 2.0的线路上,而且无需担心数据传输时发生瓶颈效应。
所以,如果你用USB 2.0的扫描仪,就完全不同了,扫一张40M的图片只需半分钟左右的时间,一眨眼就过去了,效率大大提高。
而且,USB2.0可以使用原来USB定义中同样规格的电缆,接头的规格也完全相同,在高速的前提下一样保持了USB 1.1的优秀特色,并且,USB 2.0的设备不会和USB 1.X设备在共同使用的时候发生任何冲突。
另外,在软件方面,Windows是完整的支持USB 1.X,对于USB 2.0,系统可以认出,而且能够正常工作,但是USB 2.0并不能充分发挥其性能优势,系统检测到USB 2.0的设备后,会提示说你的USB设备需要优化。
现在还没有完全支持USB 2.0的WINDOWS系统,而LINUX、MACOS、BEOS到是走到了前面,都有了相关的软件支持或者系统程序包。
不过可以肯定的是,当带有USB 2.0规格的产品出现的时候,Windows会非常快的跟上的。
现在WINDOWS XP已经会完全支持USB 2.0设备,不过当系统主板一但支持USB 2.0的时候微软将会很快推出USB 2.0的补丁。
所以我们可以说,由于得到INTEL和微软的支持,USB2.0标准已成为下一代周边设备接口的重要趋势。
BUS还不太清楚。
软件的确切定义,需要说明软件的意义
展开全部 软件[software](中国大陆及香港用语,台湾作软体)是一系列按照特定顺序组织的计算机数据和指令的集合,按照特定顺序组织的电脑数据和指令的集合。
一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中介软件。
其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
软件并不只是包括可以在计算机上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。
简单的说软件就是程序加文档的集合体。
软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响。
系统软件系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。
系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。
应用软件应用软件是为了某种特定的用途而被开发的软件。
它可以是一个特定的程序,比如一个图像浏览器。
也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。
也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。
较常见的有文字处理软件 如Office、WPS等 信息管理软件 如Assces数据库 辅助设计软件 如AutoCAD、Photoshop 实时控制软件 教育与娱乐软件 图形图像 coreldraw ,painter,GIMP(linux下),3DS MAX,MAYA,softimage|xsi,lightwave,cineme 4d,Houdini 后期合成软件 after effects,combustion,digital fusion,shake,flame 杀毒软件 如卡巴斯基、瑞星等操作系统软件操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。
操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。
操作系统也提供一个让使用者与系统交互的操作接口。
BeOS BSD DOS Linux Mac OS OS/2 QNX UnixWindows 软件开发软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。
软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。
软件一般是用某种程序设计语言来实现的。
通常采用软件开发工具可以进行开发。
软件:具有一定功能的各种电脑程序,称为软件。
HDMI是什么意思啊!
展开全部 高清晰度多媒体接口(英文:High Definition Multimedia Interface,HDMI)是一种数字化视频/音频接口技术,是适合影像传输的专用型数字化接口,其可同时传送音频和影音信号,最高数据传输速度为5Gbps。
同时无需在信号传送前进行数/模或者模/数转换。
HDMI可搭配宽带数字内容保护(HDCP),以防止具有著作权的影音内容遭到未经授权的复制。
HDMI所具备的额外空间可应用在日后升级的音视频格式中。
而因为一个1080p的视频和一个8声道的音频信号需求少于4Gbps,因此HDMI还有很大余量。
这允许它可以用一个电缆分别连接DVD播放器,接收器和PRR。
目录产生背景规范标识功能特点接头分类测试规范连接电脑A卡与N卡的区别软件设置图片观看接收端(Rx)测试源端测试(Tx)HDMI1.4产生背景 规范标识 功能特点 接头分类 测试规范 连接电脑 A卡与N卡的区别 软件设置图片观看 接收端(Rx)测试 源端测试(Tx)HDMI1.4展开 编辑本段产生背景 2002年4月,日立、松下、飞利浦、Silicon Image、索尼、汤姆逊、东芝等7家公司共同组建了HDMI高清多媒体接口接口组织HDMI Founders(HDMI论坛),开始着手制定一种符合高清时代标准的全新数字化视频/音频接口技术。
经过半年多时间的准备工作,HDMI founders在2002年12月9日正式发布了HDMI 1.0版标准,标志着HDMI技术正式进入历史舞台。
HDMI技术的推出,并不是这些厂家一时兴起的冲动行为,相反,在HDMI技术推出的背后,还有这更多的深层次原因。
1999年4月份,为了满足数字化时代高质量图形影像的要求,DDWG(Digital Display Working Group)数字显示工作组以美国Silicon Image公司的专利技术为蓝本,推出了一种名为DVI(Digital Visual Interface)的接口,旨在统一新时代数字显示接口标准。
这一技术并且得到了IT业内以Intel、DELL、HP、IBM、微软等多个大企业的广泛支持。
经过3年多的推广,DVI技术在计算机显示输出领域得到了迅速运用,但是伴随着数字高清影音技术的发展,DVI接口也开始逐渐暴露出种种问题,甚至在一定程度上成为数字影像技术进步的瓶颈。
DVI接口存在的主要问题有: * DVI接口考虑的对象是PC,对于平板电视的兼容能力一般。
* DVI接口对影像版权保护缺乏支持。
* DVI接口只支持计算机领域的RGB数字信号,而对数字化的色差信号无法支持。
* DVI接口只支持8bit的RGB信号传输,不能让广色域的显示终端发挥最佳性能。
* DVI接口出于兼容性考虑,预留了不少引脚以支持模拟设备,造成接口体积较大,效率很低。
* DVI接口只能传输图像信号,对于数字音频信号的支持完全没有考虑。
由于以上种种缺陷,DVI接口已经不能更好的满足整个行业的发展需要。
因此,无论是IT厂商,平板电视制造商,还是好莱坞的众多出版商,都迫切需要一种更好的能满足未来高清视频行业发展的接口技术,也正是基于这些原因,才促使了HDMI标准的诞生。
编辑本段规范标识 HDMI Licensing, LLC于2010年3月4日代表HDMI原始开发成员发布HDMI规格版本1.4a,其中特色包括3D应用的关键增强功能,加入了用于广播内容的强制3D格式,以及称为Top-and-Bottom的3D格式。
由于“HDMI 1.4”的说法过于宽泛,无法显示该设备的具体支持技术,因此在此次的规范中完全禁止使用“HDMI 1.4版”这样的版本号标识方法。
根据发布的新版“商标和Logo使用规范”,HDMI线缆制造商在销售和宣传HDMI 1.4版标准线缆时,从即日起禁止使用版本号标识,旧版线缆则应在一年内去除所有用版本号标识的标签、说明、包装等。
除线缆以外的其他HDMI设备,应在2012年1月1日前去除所有版本号标识。
在此之前,厂商应在明确显示所使用技术的前提下应用版本号标识,如“"HDMI v.1.4 with Audio Return Channel and HDMI Ethernet Channel”(HDMI 1.4版支持ARC音频回授通道和HEC以太网通道),但严禁使用笼统的“HDMI v.1.4 compliant”(兼容HDMI 1.4)。
中文规范名称 HDMI 1.4版线缆共有5种类型,今后规范的标识方式分别为: Standard HDMI Cable 中文规范名称:标准HDMI线(最高支持1080/60i) Standard HDMI Cable with Ethernet 标准以太网HDMI线 Standard Automotive HDMI Cable 标准车用HDMI线 High Speed HDMI Cable 高速HDMI线 (支持1080p、DeepColor、3D) High Speed HDMI Cable with Ethernet 高速以太网HDMI线编辑本段功能特点 HDMI不仅可以满足1080P的分辨率,还能支持DVD Audio等数字音频格式,支持八声道96kHz或立体声192kHz数码音频传送。
HDMI支持EDID、DDC2B,因此具有HDMI的设备具有“即插即用”的特点,信号源和显示设备之间会自动进行“协商”,自动选择最合适的视频/音频格式。
与DVI相比HDMI接口的体积更小,DVI的线缆长度不能超过8米,否则将影响画面质量,而HDMI最远可传输15米。
只要一条HDMI缆线,就可以取代最多13条模拟传输线,能有效解决家庭娱乐系统背后连线杂乱纠结的问题。
编辑本段接头分类 HDMI AType HDMI脚位配置 Pin定义 1 TMDS Data2+ 2 TMDS Data2 Shie...
接口和抽象类
展开全部 学JAVA必须知道:抽象类与接口的区别abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。
abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。
其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。
本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。
一、理解抽象类 abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法,请读者注意区分)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢? 在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是 这样。
并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类往往用来表征我们在对问题领 域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、三角形 这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。
正是因为抽象的概念在问题 领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。
在面向对象领域,抽象类主要用来进行类型隐藏。
我们可以构造出一个固定的一组行 为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。
这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。
模块可 以操作一个抽象体。
由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的;同时,通过从这个抽象体派生,也可扩展此模块的行为功能。
熟悉OCP的读 者一定知道,为了能够实现面向对象设计的一个最核心的原则OCP(Open-Closed Principle),抽象类是其中的关键所在。
二、从语法定义层面看abstract class和interface 在语法层面,Java语言对于abstract class和interface给出了不同的定义方式,下面以定义一个名为Demo的抽象类为例来说明这种不同。
使用abstract class的方式定义Demo抽象类的方式如下: abstract class Demo { abstract void method1(); abstract void method2(); … } 使用interface的方式定义Demo抽象类的方式如下: interface Demo { void method1(); void method2(); … } 在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface方式的实现中,Demo只能够有静态的 不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。
从某种意义上说,interface是一种特殊 形式的abstract class。
从编程的角度来看,abstract class和interface都可以用来实现"design by contract"的思想。
但是在具体的使用上面还是有一些区别的。
首先,abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。
但是,一个类却可以实现多个interface。
也许,这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑吧。
其次,在abstract class的定义中,我们可以赋予方法的默认行为。
但是在interface的定义中,方法却不能拥有默认行为,为了绕过这个限制,必须使用委托,但是这会 增加一些复杂性,有时会造成很大的麻烦。
在抽象类中不能定义默认行为还存在另一个比较严重的问题,那就是可能会造成维护上的 麻烦。
因为如果后来想修改类的界面(一般通过abstract class或者interface来表示)以适应新的情况(比如,添加新的方法或者给已用的方法中添加新的参数)时,就会非常的麻烦,可能要花费很多的时 间(对于派生类很多的情况,尤为如此)。
但是如果界面是通过abstract class来实现的,那么可能就只需要修改定义在abstract class中的默认行为就可以了。
同样,如果不能在抽象类中定义默认行为,就会导致同样的方法实现出现在该抽象类 的每一个派生类中,违反了"one rule,one place"原则,造成代码重复,同样不利于以后的维护。
因此,在abstract class和interface间进行选择时要非常的小心。
三、从设计理念层面看abstract class和interface 上面主要从语法定义和编程的角度论述了abstract class和interface的区别,这些层面的区别是比较低层次的、非本质的。
本文将从另一个层面:abstract class和interface所反映出的设计理念,来分析一下二者的区别。
作者认为,从这个层面进行分析才能理解二者概念的本质所在。
前面已经提到过,abstarct class在Java语言中体现了一种继承关系,要想...
什么是软件基础架构
软件架构 软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
软件架构是一个系统的草图。
软件架构描述的对象是直接构成系统的抽象组件。
各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。
在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
软件体系结构是构建计算机软件实践的基础。
与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。
软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。
特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
在“软件构架简介”中,David GArlan 和 Mary Shaw 认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。
结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
”[GS93] 但构架不仅是结构;IEEE Working Group on Architecture 把其定义为“系统在其环境中的最高层概念”[IEEE98]。
构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。
它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
在 Rational Unified ProcESs 中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互。
从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。
一个软件架构师需要有广泛的软件理论知识和相应的经验来事实和管理软件产品的高级设计。
软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。
软件和硬件的区别?
展开全部 硬件:主机(主要部分)、输出设备(显示器)、输入设备(键盘和鼠标)三大件组成。
而主机是电脑的主体,在主机箱中有:主板、CPU、内存、电源、显卡、声卡、网卡、硬盘、软驱、光驱等硬件。
其中,主板、CPU、内存、电源、显卡、硬盘是必须的,只要主机工作,这几样缺一不可。
一般来讲软件被划分为系统软件、应用软件,其中系统软件包括操作系统和支撑软件(包括微软发布的嵌入式系统,即硬件级的软件,使电脑及其它设备运算速度更快更节能)软件是用户与硬件之间的接口界面。
用户主要是通过软件与计算机进行交流。
软件是计算机系统设计的重要依据。
为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须全局考虑软件与硬件的结合,以及用户的要求和软件的要求。
1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。
2.程序能够满意地处理信息的数据结构。
3.描述程序功能需求以及程序如何操作和使用所要求的文档.以开发语言作为描述语言,可以认为: 软件=数据结构+算法。
转载请注明出处51数据库 » 需求设计 软件接口是什么意思