论软件构件管理及其应用
软件构件是软件复用的重要组成部分,为了达到软件复用的目的,构件应当是高内聚的,并具有稳定的对外接口。同时为了使构件更切合实际、更有效地被复用,构件应当具备较强的适应能力,以提高其通用性。而存在大量的、可复用的构件是有效使用复用技术的前提。对大量构件进行有效管理,以方便构件的存储、检索和提取,是成功复用构件的必要保证。
请围绕“软件构件管理及其应用”论题,依次从以下三个方面进行论述。
请围绕“软件构件管理及其应用”论题,依次从以下三个方面进行论述。
1.简要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细说明构件管理中常见的构件获取方法,以及构件组织分类的常见方法。
3.结合你具体参与管理和开发的实际项目,说明在项目中如何获取和组织构件,以及如何进行构件组装 。
存在大量的、可复用的构件是有效地使用复用技术的前提。对大量的构件进行有效的管理,以方便构件的存储、检索和提取,是成功复用构件的必要保证。
1.构件的获取
在基于构件的软件开发中,可以通过多种不同的途径来获取构件:
(1)从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可复用的构件。
(2)通过遗留工程(legacy engineering),将具有潜在复用价值的构件提取出来,得到可复用的构件。
(3)从市场上购买现成的商业构件,即COTS(Commercial Off-The-Shell)构件。
(4)开发新的符合要求的构件。
企业或项目组在进行以上决策时,必须考虑到不同方式获取构件的一次性成本和以后的维护成本(直接成本和间接成本),然后做出最优的选择。在项目实践中,可以使用决策树来帮助选择,有关这方面的知识,请阅读2.11.3节。
2.构件的组织
当企业获取了数量众多的构件之后,就需要建立构件库。为了给复用者在查询构件时提供方便,同时也为了更好地复用构件,必须对获取的构件进行分类,并置于构件库的适当位置。构件的分类方法及相应的结构对构件的检索和理解有极为深刻的影响。可复用技术对构件库组织方法的要求是:
(1)支持构件库的各种维护动作,例如,增加、删除或修改构件,尽量不要影响构件库的结构。
(2)不仅要支持精确匹配,还要支持相似构件的查找。
(3)不仅能进行简单的语法匹配,而且能够查找在功能或行为方面等价或相似的构件。
(4)对应用领域具有较强的描述能力和较好的描述精度。
(5)库管理员和用户容易使用。
目前,已有的构件分类方法大致可以归纳为三大类,分别是关键字分类法、刻面(facet)分类法和超文本组织方法。
(1)关键字分类法。关键字分类法将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构,每个概念用一个描述性的关键字表示。当在构件库中加入新的构件时,库管理员必须对构件的功能或行为进行分析,在浏览已有关键字分类结构的同时,将新构件置于最合适的原子级关键字之下。如果无法找到构件的属主关键字,则可以扩充现有的关键字分类结构,引进新的关键字。
(2)刻面分类法。刻面分类法定义若干用于刻画构件特征的“刻面”,每个面包含若干概念,这些概念描述构件在刻面上的特征。刻面可以描述构件执行的功能、被操作的数据、构件应用的语境或其他特征。描述构件的刻面集合称为刻面描述符,一般而言,刻面描述符不超过7个刻面。关键字分类法和刻面分类法都是以数据库系统作为实现背景的,虽然可以选用关系型数据库,但面向对象数据库更适合于实现构件库,因为其中的复合对象和多重继承等机制与表格相比,更适合描述构件及其相互关系。
(3)超文本方法。与基于数据库系统的构件库组织方法不同,超文本方法基于全文检索技术,其主要思想是:所有构件必须辅以详尽的功能或行为说明文档;说明中出现的重要概念或构件以网状链接方式相互连接;检索者在阅读文档的过程中可按照人类的联想思维方式任意跳转到包含相关概念或构件的文档;全文检索系统将用户给出的关键字与说明文档中的文字进行匹配,实现构件的浏览式检索。超文本组织方法为开发和复用构件提供了直观的多媒体方式。由于网状结构比较自由、松散,因此,超文本方法比前两种方法更易于修改构件库的结构。
一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )
在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。
有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()
在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。
在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。
Pinging 59.74.111.8 with 32 bytes of data:
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Ping statistics for 59.74.111.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 4ms
在ISO OSF/RM参考模型中,七层协议中的__(1)__利用通信子网提供的服务实现两个用户进程之间端到端的通信。在这个模型中,如果A用户需要通过网络向B用户传送数据,则首先将数据送入应用层,在该层给它附加控制信息后送入表示层;在表示层对数据进行必要的变换并加头标后送入会话层;在会话层加头标送入传输层;在传输层将数据分解为__(本题)__后送至网络层;在网络层将数据封装成__(3)__后送至数据链路层;在数据链路层将数据加上头标和尾标封装成__(4)__后发送到物理层;在物理层数据以__(5)__形式发送到物理线路。B用户所在的系统接收到数据后,层层剥去控制信息,把原数据传送给B用户。
在OSI/RM中,解释应用数据语义的协议层是()。
在TCP/IP协议栈中,ARP协议的作用是(),RARP协议的作用是(请作答此空)。
在地址 http://www.dailynews.com.cn/channel/welcome.htm 中,www.dailynews.com.cn 表示( ),welcome.htm 表示(请作答此空)。
在电子表格软件Excel中,假设A1单元格的值为15,若在A2单元格输入“=AND(15<A1,A1<100)”,则A2单元格显示的值为 ()