软件系统概念结构的立体分析法-stereo analysis method of software system conceptual structure.docxVIP

软件系统概念结构的立体分析法-stereo analysis method of software system conceptual structure.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件系统概念结构的立体分析法-stereo analysis method of software system conceptual structure

因此,对于一个软件系统,我们应该有着一种立体景象。自然的,我们也应该从立体的视角,顺着垂直与水平两个构造纬度,构造或者分析软件系统。构造或者分析从认识的角度在内容上并无根本区别,只不过二者获取内容的过程是相反的。2.1分类和层次在认识,分析,设计软件系统的过程中,我们的头脑里会出现一系列的概念,比如模块,类,函数,变量等等。这些概念以及相互之间的关系需要得到反思。分类是对软件概念的最基本的反思。分类的过程是将若干软件概念归为一些集合的过程。因为观察角度的不同,同一个概念可能被划分到不同的集合中。但是相互正交的分类却是值得我们要追求的一种状态。因为那样意味着清晰和简明,虽然这往往是做不到的。分类的最重要结果是形成了原有概念的集合,这个集合本身将作为一个新的概念出现在我们的概念结构中。事实上这种将现有概念进行分类,并得到若干作为新概念的集合的过程就是抽象过程。抽象是软件工程中最重要的设计活动之一。分类和抽象在概念之间建立了一种层次结构。这是一种多对一的,有序的垂直结构。我们将集合标签称为上层,而分类里的元素称作下层。如下图所示抽象上层下层分类可以在某种意义上将许多的概念区分开来,因为经过分类,许多概念已经属于不同的集合,而各自的集合标签就是一种最自然的区分。但是这种区分往往不能让我们对系统结构里的理解更加深入,比如一个函数使用了一个全局变量,而函数与变量通常是属于不同的类,而如果我们将这个变量和这个函数划分在某一个集合时就可能让我们对结构有着更好的理解。这里就使我们有下面分伙和交织的阐述。2.2分伙和交织分类的依据是因为在若干个元素之间存在的共同的操作,性质等因素,而分伙是因为在这些元素之间存在这功能上的关联,也就是性质,状态等因素的互动。也就是说如果一个元素的某个性质或者状态的变动会导致另外一个元素的性质或者状态的变动,那么我们就往往将他们分成一伙。当然分伙的依据总是有些混杂的,因为一个元素可能同若干个元素存在互动,而一些元素又通过若干个元素达成间接互动,这些现象在软件系统中都是普遍存在的。但是分伙跟分类存在同样的效果,也就是形成一个集合。但是这个集合标签与元素之间的关系通常是被忽略的,至少是不像如分类那样形成一种明显的垂直关系。分伙的效果主要是突出了在集合的元素之间互动以及不同或伙之间的互动。这使我们对系统的认识得到了简化,归结,因为这时对系统的研究将主要是对不同伙之间互动的研究,而伙的数量显然常常比原有系统中个体的数量少了许多。分伙体现的是系统状态变化上不同个体间的交织,这是一个平面的解析。如下图伙交织2.3概念结点我们在系统的观点下来研究软件系统的结构,也就是将系统看作各种结点的网络,并且我选择成熟的图理论作为深入研究的工具。图中最基本的一个方面就是结点,就我们而言就是概念结构。前面我们已经对概念结构有了初步的认识,在这一节我们将软件系统中概念结构的具体形式进行分析,这里的顺序是从大概念到小概念。概念结点在水平分析下是被看作其它概念结点通过合作构造动力交织起来的。同时抽象构造动力又将概念结点形成了一种有顺序的层次。综合这两种分析,我们将概念结点区分为6层,每层都是更下层实体的交织。2.3.1自治系统自治系统是能够独立的完整某项功能,自主掌握硬件资源的集成的,是被解析出的系统部分的最粗粒度。比如一台电脑主机。2.3.2可执行程序和服务是操作系统内一道被调度来使用系统资源为完成某个任务的运行的实体。这包括二进制形式与文本形式。组件和模块是可被用来作为一个部件被加入到其它程序中,能够完成某个专业功能的实体。比如一个web服务或者封装了一个相关函数(或者数据)集合的模块。这包括二进制形式与文本形式。算法和函数是提供输入输出介面的一个实现。这包括二进制形式与文本形式。如C语言中的函数。基块是指具有唯一出口与入口的顺序执行的指令序列。这包括二进制形式与文本形式。例如下面给出了一种用中间代码形式表示的两个基块序列。a=f(2);D.1708=2;gotoD.1709;D.1709:returnD.1708;指令和数据是指机器的一条指令或者机器所能识别的一个原始数据,比如一个寄存器所表示的整数或者标准的浮点数据。这包括二进制形式与文本形式。这是在软件系统中所能水平解析的最底层概念结点。总结在立体的分析法下,概念结点被解析出垂直构造中的6个层次。这6个层次是其它分析的工场,也就是其它分析活动所在的场所。通常我们关注于第3、4层。因为第5、6层中概念结点数目将非常庞大,而其中的相互交织关联却是直接简单的。自治系统软件世界程序和服务组件和模块算法和函数基块指令和数据2.4交织关联正如一般图中类似,边是用来表示结点之间关系的。一般的边是用来表示同级结点之间的关系。相应于前面6个层面的概念结点,每个层面内的概念结点的关联都存在着特有的关联内涵,而且

您可能关注的文档

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档