ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:340.46KB ,
资源ID:9569294      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9569294.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业设计 基于构件的软件自动组装技术.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

毕业设计 基于构件的软件自动组装技术.docx

1、毕业设计 基于构件的软件自动组装技术海 南 大 学毕 业 论 文(设计)题 目:基于构件的软件自动组装技术学 号: 姓 名: 年 级: 学 院:信息科学技术学院 系 别: 专 业: 指导教师 完成日期:20年 月 日 摘 要如今基于构件的软件复用和开发被认为是提高软件生产率和软件质量的有效途径。一般来说,基于构件的软件复用包括三个相关的过程:构件的开发,构件的管理和基于构件组装的系统开发。在基于构件的软件开发中,系统开发的重点从系统设计变成构件组装。本文研究的就是这种基于构件的软件自动组装技术。开发该系统,我使用面向对象的可视化开发工具Visual Basic 6.0,运用计算机软件技术和面向

2、对象的软件开发方法。首先制作出用于模拟构件的芯片(芯片的部分内部功能由指导老师提供),其次设计出一个相对比较简单的连接件(因连接件的开发另有同学研究),最后采用事件触发的方法,运用连接件实现模拟构件(芯片)间的组装,同时,实现功能芯片间的模拟防真。通过该系统的研究开发,使我获益匪浅,不但对基于构件的软件自动组装技术有了更深刻的认识,而且对开发工具Visual Basic 6.0有了更全面的掌握。当然,限于作者水平,本系统难免有疏漏和不完善之处,敬请各位老师不吝指正。关键词:构件;软件构件;连接件;软件复用;构件组装AbstractNow component-based software reu

3、se and development is considered as an effective and efficient approach to improve the productivity and quality of software development. Generally, component-based software reuse includes three processes: component development, component management and system development which is based on component

4、composition. In the component-based software development, the emphasis of system development has been turned to component composition from system design. This text is studying the technology of component-based software composition automatically.In order to develop this system, I used the objected-or

5、iented visual tool Visual Basic 6.0 , computer software technology and the method of objected-oriented software development .Firstly, I developed the chips whose some interior functions were offered by the teacher to simulate components. Secondly, I developed a simple connective-ware , because there

6、 was another student studied it specially. Finally, I let the system come true with the method of event-driven and connective-ware, simultaneity, these chips could simulate the truth.By developing this system, I benefit a lot, not only understand the technology which component-based software composi

7、tion automatically even more, but also master the tool Visual Basic 6.0 to develop software even more comprehensive. Certainly, limited to the author, this system was hard to avoid oversights and faultiness, please every teacher point out unstinted.Keywords:component; software component; connective-

8、ware; software reuse; component composition目 录1引言 (1)1.1研究的必要性 (1)1.2高级语言的选择 (1)2相关知识 (1)2.1构件 (2)2.1.1构件的背景知识 (2)2.1.2什么是构件 (2)2.1.3什么是软件构件 (2)2.2连接件 (3)2.2.1连接件背景知识 (3)2.2.2什么是连接件 (3)2.3面向对象与软件复用 (3)2.3.1面向对象的软件开发 (3)2.3.2软件复用 (4)2.3.3面向对象的软件开发与软件复用的关系 (4)2.4 CBSD与传统软件开发的区别(5)3系统分析 (5)3.1总论 (6)3.2

9、设计难点 (6)4构件开发与设计 (6)4.1芯片设计 (6)4.1.1芯片外形设计 (6)4.1.2芯片功能设计 (7)4.1.3芯片功能实现 (9)4.2连接件的设计 (9)4.2.1外形设计 (10)4.2.2功能设计 (10)4.3用于改变构件形状大小的用户控件 (11)4.3.1外形设计 (11)4.3.2功能设计 (12)5系统设计 (12)5.1系统界面设计 (12)5.1.1系统界面图 (12)5.1.2主窗体设计 (13) 5.2系统功能设计 (13)5.2.1新建对象 (13)5.2.2删除对象 (14)5.2.3组装 (14)5.2.4系统初始化 (15)6系统调试与实现

10、 (15)6.1新建对象 (15)6.2构件组装(接线) (16)6.3初始化芯片 (16)6.4运行 (17)6.5文件保存与读取 (18)7总结 (21)致 谢 (22)参考文献(23)附录A.(24)1引言1.1研究的必要性现如今,随着软件系统的复杂性不断增长、软件人员的频繁流动和软件行业的激烈竞争等因素的出现,软件企业迫切需要提高软件质量、积累和固化知识财富,并尽可能地缩短软件产品的开发周期。于是集软件复用、分布式对象计算、企业级应用开发等技术为一体的基于构件的软件开发(CBSD,Component Based Sortware Development)应运而生,这种技术以软件架构为组

11、装蓝图,以可复用软件构件为组装模块,以连接件为组装纽带,支持组装式软件的复用,从而大大提高了软件生产效率和软件质量。这正是研究本课题的意义所在。1.2高级语言的选择根据本课题的特点,我选择了一种面向对象的高级语言Visual Basic 6.0。选用Visual Basic 的原因:Visual Basic是一种可视化的,采用面向对象的编程技术,利用事件驱动编程机制的结构化程序设计语言。它提供了可视化开发工具,把Windows界面设计的复杂性“封装”起来。开发人员不必为界面的设计而编写大量的程序代码,只需按照设计的要求,用系统提供的工具在屏幕上画出各种对象即可。Visual Basic通过事件

12、来执行对象的操作。当触发某一对象会产生一个事件,产生该事件时执行一段程序,实现指定的操作。在用Visual Basic设计应用程序时不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,有用户操作引发某个事件来驱动完成某个特定的功能,或者由事件驱动程序调用过程来执行指定的操作。Visual Basic还提供大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效地提高了应用程序的运行效率和可靠性。而我所研究的这一课题,恰恰需要用控件来制作模拟构件。2相关知识在该系统中,要用到很多关于构件,软件构件,连接

13、件,软件复用和面向对象的概念,以下作简单介绍。2.1构件2.1.1构件的背景知识程序员们一行行编写代码的时代已经延续了30多年,现在已经有了很大的变革。我们现在只需要组装已有的功能模块就可以完成应用的开发工作了。这已有的功能模块就是我们通常所说的构件。形象一点说就像是我们小时候玩过的积木,用各种积木块可以搭出一座我们满意的城堡来。2.1.2什么是构件构件(component,也译为组件)简单地说是可复用的软件组成成份,可被用来构造其他软件。而可复用构件(Reusable component)是指具有相对独立的功能和可复用价值的构件。它可以是被封装的对象类、类树、一些功能模块、软件框架(fram

14、ework)、软件构架(或体系结构Architecture)、文档、分析件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件。可复用构件应该具备以下几个属性:有用性(Usefulness):构件必须提供有用的功能;可用性(Usability):构件必须容易理解和使用;质量(Quality):构件及其变形,必须能够正确工作;适应性(adaptability):构件应易于通过参数化等方式在不同语境中进行配置;可移植性(Portability):构件应能够在不同的硬件运行平台和软件环境中工作。2.1.3什么是软件构件软件

15、构件(也称软件组件)是软件系统内可标识的、符合某种标准要求的构成成分,类似于传统工业中的零部件。软件构件有两个特征:有用性,指构件完成的功能是有用的,也就是其功能可出现在很多应用软件中;易用性,指构件要有很好的包装,能很方便地使用它。一般来讲,构件的包装要符合一定的标准。 软件构件是软件复用的基本单元。软件构件技术使得软件人员在应用开发时可以使用其他人的劳动成果,为软件产业进行大规模专业化分工与合作形成了前提。由于目前讨论的软件构件主要着眼于其复用的意义,因此,软件构件主要是指可复用软件构件(Reusable software component)。2.2连接件2.2.1连接件背景知识随着计算

16、机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,于是连接件在这个环境下应运而生。2.2.2什么是连接件连接件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。连接件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯。连接件是一类软件,而非一种软件;连接件不仅仅实现互连,还要实现应用之间的互操作;连接件是基于分布式处理的软件,

17、定义中特别强调了其网络通讯功能。2.3面向对象与软件复用2.3.1面向对象的软件开发它有四个特点:抽象,面向对象的软件开发方法的主要特点之一,就是采用数据抽象的方法来构建程序的类,对象和方法;封装,封装就是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过包裹在数据外面的被授权的操作,才能与这个抽象数据类型交流和交互;继承;多态。同时有以下几个优点:可重用性,可重用性是面向对象软件开发的一个核心思想,事实上,前面所介绍的面向对象程序设计的四大特点,都或多或少地围绕着可重用性这个核心并为之服务。我们知道,应用软件是由模块组成的。可重用性就是

18、指一个软件项目中所开发的模块,能够不仅限于在这个项目中使用,而是可以重复地使用在其他项目中。在面向对象的程序设计中,这种可重用模块就是类和对象。严格地说,是类定义了可重用模块的摸板,而对象则是由这个模板制造出来的可以在各种场合,环境中重复利用的摸板;可扩展性;可管理性。2.3.2软件复用软件复用就是将已有的软件成分用于构造新的软件系统。可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可称作复用。软件复用使人们在软件开发中不必“重新发明轮子”或“一切从零开始”,提高了软件生产率和质量,缩短开发周期,降低开发成本。软件的重用

19、中没有材料的消耗,而且软件通过多次重用后其质量和可靠性越来越高。据统计,软件系统的开发中若复用程度达到50%,则其生产率提高40%,开发成本降低约40%,软件出错率降低近50%。 软件工程专家Bohem认为,近十年来软件复用已成为解决软件危机、提高软件生产率和质量的最有效、最具潜力的手段。软件复用的两种方法:产品复用:复用已有的软件构件,通过集成(组装)得到新系统。过程复用:复用已有的软件开发过程,使用可复用的应用生成器来自动或半自动来生成系统。产品复用是目前现实的、主流的途径。2.3.3面向对象的软件开发与软件复用的关系面向对象的软件开发和软件复用之间的关系是相辅相成的。支持软件复用是人们对

20、面向对象方法寄托的主要希望之一,也是这种方法受到广泛重视的主要原因之一。面向对象方法之所以特别有利于软件复用,是由于它的主要概念及原则与软件复用的要求十分吻合。一方面,OO方法的基本概念、原则与技术提供了实现软件复用的有利条件;另一方面,软件复用技术也对面向对象的软件开发提供了有力的支持。在面向对象的软件开发中,类库是实现对象类复用的基本条件。类库可以看作一种特殊的可复用构件库,它为在面向对象的软件开发中实现软件复用提供了一种基本的支持。存储和管理以类为单位的可复用构件,不能保存其它形式的构件;但是它可以更多地保持类构件之间的结构与连接关系。构件库中的可复用构件,既可以是类,也可以是其它系统单

21、位;其组织方式,可以不考虑对象类特有的各种关系,只按一般的构件描述、分类及检索方法进行组织。在面向对象的软件开发中,可以提炼比对象类粒度更大的可复用构件,例如把某些结构或某些主题作为可复用构件;也可以提炼其它形式的构件。这些构件库中,构件的形式及内容比类库更丰富,可为面向对象的软件开发担供更强的支持。2.4 CBSD与传统软件开发的区别CBSD在重用元素、开发方法上都与传统的软件开发过程有很大的不同。虽然面向对象技术促进了软件重用,但是,只实现了类和类继承的重用,在整个系统和类之间还存在很大的缺口。在软件开发方法上,CBSD引导软件开发从应用系统开发转变为应用系统集成。建立一个应用系统需要重用

22、很多已有的构件模块,这些构件模块可能是在不同的时间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程就变成对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。其主要难点是事务划分、构件的部署与开发环境配置。概括地说,传统的软件开发过程是串行瀑布式、流水线的过程;而CBSD是并发进化式,不断升级完善的过程。图1显示了它们的不同。3系统分析3.1总论基于构件的软件自动组装技术,这个课题重点在“自动组装”上,前提是“基于构件”的。简单来说就是构件是从构件库中提取(或已经做好的),接下来要做的就是运用计算机软件技术、基于构件的软件组装思想和面向对象的设计方法,设计一个连接件

23、,使这些构件组成一个系统。在本系统中,模拟构件是自己制作。我制作芯片来充当模拟构件,首先制作出芯片的外形,处理好芯片接口,但芯片的内部功能是由指导老师提供;其次设计出连接件,并且运用连接件实现构件(芯片)间的组装;最后,功能芯片能够模拟实际情况运行。3.2设计难点芯片端口事件及内部功能的设计;连接件的功能设计;用于改变构件形状大小的用户控件的设计;用连接件实现构件(芯片)间组装。4构件开发与设计4.1芯片设计4.1.1芯片外形设计因为大部分芯片外形基本相同,区别只是在引脚个数的多少,所以芯片的外形设计也基本相同。在本系统中我用到两个芯片,一是CPU8086,一是数据锁存DLM8286。在此我以

24、CPU8086为例来讨论芯片的外形设计。制作芯片外形所用控件Label1:Label 标签对象,用来显示芯片名称Port(i):Label 标签对象,用来模拟芯片引脚Line1, Line2, Line3, Line4:Line Line 对象,用来表现芯片外观Shape1, Shape2, Shape3:Shape Shape 对象,用来表现芯片外观芯片外形初始化Private Sub UserControl_Initialize() Dim i As IntegerDim Ct As Integer 芯片端口数 For i = 0 To Ct Port(i).ForeColor = RGB

25、(0, 0, 255) 引脚上数字颜色 Port(i).BackColor = RGB(0, 0, 0) 引脚上数字背景色 Port(i) = Trim(Str(i) 在引脚上注明引脚码NextEnd Sub改变构件尺寸后重画构件Private Sub UserControl_Resize()具体过程见附件End Sub芯片图形展示(见图2,图3) 图2 图34.1.2芯片功能设计芯片产生事件Public Event Change(ByVal PortIndex As Integer, Value As Byte) 运行模式下,点击端口,产生端口值变化事件Public Event Click(

26、ByVal PortIndex As Integer) 设计模式下,在端口单击鼠标时产生Public Event Move(X As Single, Y As Single) 设计模式下,移动元件时产生Public Event Down() 设计模式下,在元件上按下鼠标时产生Public Event Up() 设计模式下,在元件上释放鼠标时产生运行模式下,芯片端口颜色随端口值变化而变化Private Sub Port_Color(Index As Integer, Value As Byte) 根据引脚的值,给引脚改变颜色和注释引脚值 If Value = 0 Then 为低电平时引脚为绿色,

27、引脚号码为0 Port(Index).BackColor = RGB(0, 255, 0) Port(Index).Caption = 0 ElseIf Value = 1 Then 为高电平时引脚为红色,引脚号码为1 Port(Index).BackColor = RGB(255, 0, 0) Port(Index).Caption = 1 Else 其它,引脚号码不变 Port(Index).BackColor = RGB(0, 0, 0) Port(Index).Caption = Index End IfEnd Sub运行模式下,单击芯片引脚,改变芯片引脚值Private Sub Po

28、rt_Click(Index As Integer)Dim i As Byte Mode = 1 在运行模式下 i = IIf(PortValue(端口号) = 0, 255, 0) ChangePortValue Index, iEnd Sub运行模式下,初始化芯片引脚值Public Sub Init(Flag As Byte) 初始化芯片引脚(高电平为1,低电平为0)Dim i As Integer端口号 Mode = 1运行模式 ChangePortValue i, 高低电平值Mode = 0设计模式 ChangePortValue i, 255End Sub获取端口坐标 PortX = Port(index).Left + Por

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1