“4+1”视图模型
摘要:“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。逻辑视图:标记符号:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。(感觉就是类和类服务)在面向对象技术中,通过抽象,封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,逻辑视图设计
阅读全文
posted @
2013-06-30 13:58
QI XIN
阅读(33768)
推荐(3)
软件体系结构描述
摘要:描述方法:(1)图形表达工具(2)模块内连接语言(3)基于软构件的系统描述语言(4)软件体系结构描述语言(5)基于UML对体系结构进行建模软件体系结构描述语言:ADL(Architecture Description Language)是一种形式化描述语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基本元素:构件,连接件,体系结构配置
阅读全文
posted @
2013-06-17 20:29
QI XIN
阅读(682)
推荐(0)
软件体系结构模型
摘要:(1)结构模型(2)框架模型(3)动态模型(4)过程模型(5)功能模型"4+1"视图模型(1)逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。(2)开发视图(模块视图):主要侧重于软件模块的组织和管理。(3)进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。(4)物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能,规模,可靠性等。(5)场景:可以看作是那些重要活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。逻辑视图和开发视图描述系统的静态结构,进程视图和物理视图描述系统的动态结构。
阅读全文
posted @
2013-06-17 20:11
QI XIN
阅读(581)
推荐(0)
软件体系结构发展史
摘要:(1)“无体系结构”设计阶段。以汇编语言进行小规模应用程序开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表。(4)高级阶段。以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模型与传统软件结构的界限,以“4+1”为标志。
阅读全文
posted @
2013-06-17 19:50
QI XIN
阅读(1433)
推荐(0)
软件危机表现,原因及解决方法
摘要:表现:(1)软件成本日益增长(2)开发进度难以控制(3)软件质量差(4)软件维护困难原因:(1)用户需求不明确(2)缺乏正确的理论指导(3)软件规模越来越大(4)软件复杂度越来越高解决方法:用现代工程的概念,原理,技术和方法进行计算机软件的开发,管理和维护,由此诞生了软件工程。软件工程是用工程,科学和数学的原则与方法来研制,维护计算机软件的有关技术及管理方法。软件工程包括3要素:方法,工具和工程。
阅读全文
posted @
2013-06-17 19:44
QI XIN
阅读(8714)
推荐(0)
软件体系结构概念和几种不同的定义
摘要:软件体系结构的概念:(1)软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件,数据构件和连接构件。(2)软件体系结构是软件设计过程中的一份层次,这一层次超越计算过程中的算法设计和数据结构设计。(3)软件体系结构有四个角度,它们从不同角度对系统进行描述:概念角度描述系统的主要构件及它们之间的关系 模块角度包含功能分解与层次结构 运行角度描述了一个系统的动态结构 代码角度描述了各种代码和库函数在开发环境中的组织(4)软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接,接口和关系。(5)软件体系结构是一个程序/系统各构件的结构,它们之间的相互关系以
阅读全文
posted @
2013-06-17 19:23
QI XIN
阅读(1858)
推荐(0)
面向对象设计
摘要:从OOA到OOD不是转换,是调整和增补。根据实现条件对OOA模型进行补充与调整作为OOD模型的问题域部分。OOA主要针对问题域。OOD主要解决与实现有关的问题。两者都可用于瀑布模型,螺旋模型,增量模型,喷泉模型设计OOD模型的五个部分:(1)问题域部分的设计(2)人机交互的设计(3)控制流管理部分的设计(4)数据管理部分的设计(5)构件部署设计前四个不强调顺序,构件部署设计要在前四个部分完成后进行。
阅读全文
posted @
2013-06-17 00:02
QI XIN
阅读(166)
推荐(0)
二.面向对象分析
摘要:面向对象分析(运用面向对象的方法进行系统分析):OOA强调运用面向对象的方法,对问题域和系统责任进行分析与理解,找出描述问题域和系统责任所需要的对象,定义对象的属性,操作以及对象之间的关系,目标是建立一个符合问题域,满足用户功能需求的OOA模型。问题域:被开发系统的应用领域,即在现实世界中这个系统所涉及的业务范围。系统责任:被开发系统应该具备的职能。OOA模型:(1)需求描述:用况图捕获与描述用户需求,从而建立系统的需求模型。(2)基本模型:类图,静态模型,描述系统的结构特征对象层:反映问题域与系统责任的对象。特征层:每个类的属性与操作。关系层:各个类之间的关系。(3)辅助模型动态模型(状态/
阅读全文
posted @
2013-06-16 16:30
QI XIN
阅读(358)
推荐(0)
一.面向对象概论
摘要:在20世纪60年代之前,当时开发的软件系统是比较小的,且相对简单。人们认为软件开发是依赖个人技巧和技术能力的。软件开发中崇尚个人技能,没有用什么方法开发,代码难以维护,问题比较多。随后产生了多种开发方法:(1)功能分解法(以系统需要提供的功能为中心来开发系统):基本思想:先定义顶层功能,然后分解成子功能,同时定义功能之间的接口,一直分解到可给出明确的定义。优点:模块化思想与模块化编程相结合,使得软件维护更加有效。缺点:开始容易深入难,对需求变化的适应能力差。(2)结构化方法(包括结构化需求分析,设计,编程和测试方法):基本思想:结构化需求分析使用数据流图,加工说明和字典元素等构造系统的需求分析
阅读全文
posted @
2013-06-16 15:14
QI XIN
阅读(261)
推荐(0)
部署图
摘要:用部署图对系统的网络拓扑结构建模,也可用来展示部署在节点上的构件。节点是运行时存在并代表一项计算资源的物理元素,一般拥有存储空间和执行代码能力。构件与节点的区别:(1)构件是系统运行的事物,而节点是运行构件的事物。(2)构件代表逻辑元素的物理打包,而节点可用于描述构件的物理部署情况。节点间最常见的关系就是关联关系,用来表示节点之间的物理连接。
阅读全文
posted @
2013-06-16 14:05
QI XIN
阅读(307)
推荐(0)
构建图
摘要:构建图是描述构件,构件的内部结构和构件之间关系的图。构件含义:(1)一个构件是系统的一个模块,而且是一个自包含的单元,它封装了其内部成分。(2)构件通过它的供接口和需接口展现行为。(3)构件是可替换的单元,在设计时和运行时依据接口的兼容性,若一个构件能提供另一个构件所具有的功能,则前者可以替换后者。(4)构件起类型的作用,这意味着构件是可实例化的。(5)构件是可组装的。接口由一组操作组成,它指定了一个契约,这个契约必须由实现和使用这个接口的构件所遵循。构件的供接口是构件实现的接口,这意味着构件的供接口是用于为其他构件提供服务的。构件的需接口是构件使用的接口,即构件向其他构件请求服务时要遵循的接
阅读全文
posted @
2013-06-16 12:47
QI XIN
阅读(448)
推荐(0)
辅助模型——包图
摘要:包图是描绘对模型元素分组以及分组之间依赖的图,其中要用到的包是对模型元素进行分组的机制。包内可以有包,包之间有层次关系。一个包形成了一个命名空间,这意味着一个包的语境中同一种元素的名字必须是唯一的。在一个包中不同种类的元素可以有相同的名字。包中元素的可见性可为公共的,私有的,受保护的或包范围的。包间的关系有拥有关系,引入依赖和访问依赖。引入依赖相当于把提供者的包的内容附加到客户包的公共命名空间中。访问依赖相当于把提供者的包的内容附加到客户包的私有命名空间中。
阅读全文
posted @
2013-06-16 10:50
QI XIN
阅读(214)
推荐(0)
辅助模型——状态机图
摘要:状态机图描述了一个对象在其生存期内因响应事件所经历的状态序列以及对这些事件所做出的反应。一般意义上来说,事件是指所发生的在时间和空间上可以定位并具有实际意义,值得注意的事情。在OO中,事件是对一件事情的规格说明,这种事情的发生可能引发对象的状态转移。事件可分为信号事件,调用事件,时间事件和改变事件等。状态是对象在其生存期中满足某一状态,进行某种活动或等待某一事件的条件或状况。转移分两种:状态间的转移和状态内的转移。转移格式:事件触发器[(用逗号分隔的参数表)[监护条件]]/[动作表达式]组合状态是由两个或多个子状态构成的状态,其中的子状态还可以是组合状态。
阅读全文
posted @
2013-06-16 10:36
QI XIN
阅读(184)
推荐(0)
辅助模型——活动图
摘要:活动图是描述动作,动作的执行顺序以及动作的输入和输出的图,它由节点和边这两种基本元素构成。动作是行为规范的基础单元,用以描述系统中的活动,它是原子的和即时的。活动是由一系列的动作构成的(也称为动作表达式),用以描述系统的一项行为,它在执行中可以被事件中断。控制流是指当前动作结束时,马上进入下一个动作。在控制流中可含有对象,用以描述动作间输入与输出的数据。在对业务过程建模时,可以把动作分成组,每组由特定的履行者来执行。履行者可为人员,组织或其它业务实体。把每个组称为一个泳道。
阅读全文
posted @
2013-06-16 10:23
QI XIN
阅读(188)
推荐(0)
辅助模型——通信图
摘要:通信图是一种强调发送和接收消息的对象结构组织的图,用以展示围绕对象以及它们之间的连接器而组织的交互。连接器是有关联实例化的链以及通过过程参数,局部变量或全局变量而产生的对象之间的临时连接。建立通信图:(1)设置交互的语境。(2)通过识别对象在交互中扮演的角色,将它们作为图的顶点放在通信图中,较重要的对象放在图的中央。(3)如果对象的类之间有关联或依赖,可能就要在对象之间建立连接器,以说明这些对象之间是有关联的。(4)从引起这个交互的消息开始,将随后的每个消息以及相应的箭线附到适当的连接器上,并设置其顺序号。(5)如果需要展示消息的循环或分支,就使用相应的表示法。(6)如果需要对时间或空间进行说
阅读全文
posted @
2013-06-15 00:10
QI XIN
阅读(207)
推荐(0)
辅助模型——顺序图
摘要:顺序图是一种详细描述对象之间以及对象与参与者之间交互的图,它由一组相互协作的对象和参与者以及它们之间可发送的消息组成,它强调消息之间的顺序。对象生命线表示对象在一段时间内的存在。执行规约是一个对象执行一个操作的时期,该操作在执行时可能还调用了本对象或其它对象中的操作。消息是对象之间的通信的规格说明,这样的通信用于传输将发生的活动所需要的消息。信号是对象之间的异步通信的规格说明,按如下格式定义信号: 信号名(用逗号分隔的参数列表)参数格式: 参数名:类型表达式顺序图中的控制操作符:(1)可选执行(标签是opt)。(2)条件执行(标签是alt)。(3)并行执行(标签是par)。(4)循环(迭代)执
阅读全文
posted @
2013-06-14 23:58
QI XIN
阅读(347)
推荐(0)
建立基本模型——类图
摘要:对象是具有明确语义边界并封装了状态和行为的实体,由一组属性和作用在这组属性上的一组操作构成;它是构成系统的一个基本单位。类是对具有相同属性和操作的一组对象的抽象描述,也就是说它为属于该类的全部对象提供了统一的抽象描述,对象是类的实例。识别对象和类的方法:(1)考虑问题域(2)考虑系统边界(3)考虑系统责任(4)利用名词,代词和名词短语主动对象是具有主动行为的对象,在设计阶段是拥有线程或进程并能够启动控制活动的对象。主动类是其实例为主动对象的类。属性: 属性是用来描述对象静态特征的一个数据项。 若类的一个属性对于一个类的任何对象,它的值都是相同的,则称该属性为类属性。操作:操作是类的对象被要求执
阅读全文
posted @
2013-06-14 23:46
QI XIN
阅读(354)
推荐(0)
建立需求模型——用况图
摘要:用况图用于对系统的功能以及与系统进行交互的外部事物建模。系统边界是一个系统所包含的所有系统成分与系统之外各种事物的分界线。这里的系统是指正在开发的系统。如果使用了一个已经存在的系统(系统此时不需要再开发),这个系统对于正在开发的系统来说是外系统。每一个子系统的开发者都将其它的子系统当作是外系统,子系统的边界以内只包括它所负责的那部分功能。参与者可为人员,外部系统或设备。参与者之间可能存在继承关系。一个用况是描述系统的一项功能的一组动作序列,这样的动作序列表示参与者与系统间的交互,系统执行该动作序列要为参与者产生结果。参与者和用况之间的关系有双向关联和单向关联。用况之间的关系有三种:包含(基用况
阅读全文
posted @
2013-06-14 23:25
QI XIN
阅读(814)
推荐(0)
python的中文编码问题
摘要:感觉python的中文支持上做的不是很好(我用的是python2.7.3,至于python3以后的就不知道了)。刚学python的时候,一般程序上解决python识别中文的方法就是在程序的第一行(没错,就是第一行)写上#coding=utf-8(注释的其中一个功能就是解决编码问题),然后就可以了,代...
阅读全文
posted @
2013-06-12 00:13
QI XIN
阅读(159)
推荐(0)
sniffer实验1
摘要:网关实质上是一个网络通向其他网络的IP地址。比如有主机A和主机B,主机A的IP地址为“192.168.1.1”,子网掩码为255.255.255.0;主机B的IP地址为“192.168.2.1”,子网掩码为255.255.255.0。在没有路由器的情况下,两个主机之间是不能进行TCP/IP通信的,因为两者之间的网络是不同的,即使是两个主机连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个主机处在不同的网络里。而要实现这两个主机之间的通信,则必须通过网关。如果主机A发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发
阅读全文
posted @
2013-06-01 00:05
QI XIN
阅读(420)
推荐(0)