4 1模型学生信息管理系统分析与设计.docx
4+1"模型学生信息管理系统分析与设计"4+1”模型概述Kruchten在1995年播出了“4+广禄图模乳“4+1”视图模型从5个不同的视角包括逻辑视圄、进程视图、物理视图、开发视图和场景视图来描述软,牛体系结构.每一个视图只关切系玩的一个I®面,5个视圄结合在一起才能反映系统的软件体系结构的全部内容.1,逻辑视图逻辑视图。gicview)主要支持系抗的功能需求,即系统供应应最终用户的服务.在逻辑视图中,系统分解成一系列的功能抽象.这些抽软主要来自问Sg领域.这种分解不但可以用来进行功能分析,而且可用作标识在整介系统的各个不同部分的通用机制和设计元素。在面对对象技术中,通过抽象、封装和继承,可以用对舞模型来代表逻辑视图,用类图(classdiagram)来描述逻辑视图.可以从Booch标记法中导出逻辑观图的标记法,只是从体系结构级的做!来考虑这些符号,用RationalRose进行体系结构设计。类图用于表示类的存在以及类与类之间的相互关系,是从系统构成的角度来描述正在开发的系统.一个类的存在不是孤立的,类与类之间以不同的方式相互合作,共同完成某些系统功能.关联关系表示两个类之间存在若某种语义上的联系,翼正含义要有附加在横线之上的一个短语来予以说明.在表示包含关系的图符中,带有实心圆的一端表示整体,相反的一端表示部分.在表示运用关系的图符中,带有空心圆的一端连恳求服务的类,相反的T连接供应服务的类。在表示继承关系的图符中,箭头由子类指向基类。逻辑视图中运用的风格为面对对然的风格,遗辑视图设计中要留意的主要问是要保持一个单一的、内聚的对软模型贯穿整个系统.对于规模更大的系统来说,体系结构级中包含数十甚至数百个类.开发视图(developmentVieW)也称模块视图(moduleview),主要侧重于软件模块的组织和管理.软件可以通过程序库或子系统进行组织,这样,对于一个软件系统,就可以由不同的人进行开发.开发视图要考虑软件内部的需求,如软件开发的简单性、软件的重用和软件的通用性,要充分考虑由于详细开发工具的不同而带来的局限性.开发视图通过系统输入输出关系的模型图和子系统图来描述.可以再确定了软件包含的全部元素之后描述完整的开发角度,也可以在确定每个元素之前,列出开发试图原则.与逻辑视图一样,可以运用BooCh标记法中某些符号来表示开发视图.在开发视图中,展好采纳4-6层子系疣,而且每个子系统仅仅能与同层或更低层的子系统通讯,这样可以使每个层次的接口既完备又精练,避开了各个模块之间很困难的依靠关系。而且设计时要充分考虑,对于各个层次,层次越低,通用性越强,这样,可以保证应用程序的需求发生变更时,所做的改动且小。开发视图所用的风格通常是层次结构风格.3 .迸程视图进程视图(PrOCeSSVieW)侧重于系统的运行特性,主要关注一些三两能性的需求,例如系统的性能和可用性.迸程视图强调并发性、分布性、系统集成性和容错实力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作详细是在哪一个线程(thread)中植执行的.进程视图可以描述成多层抽象,每个级别分别关注不同的方面.在最高层抽敛中,进程结构可以再作是构成一个执行单元的一组任务.它可看成一系列独立的,通过逻辑网络相互通信的程序。它们是分布的,通过总线或局域网、广域网等硬件资源连接起来。通过进程视图可以从进程测量一个目标系统最终的执行状况.通过犷展B。Ch对Ada任务的表示法,来表示进程视图。4 ,物理视图物理视图(PhySiCalVieW)主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、牢充性等。解决系统拓扑结构.系统安装、通讯等问题。当软件运行于不同的节点上时,各视图中的构件都干施间接地对应于系统的不同节点上.因此,从软件到节点的映射要有较高的敏捷性,当环境变更时,对系统其他视图的影响最小.大型系统的物理视图可能会变得非常混乱,因此可以与进程视图的映射一道,以多种形式出现,也可单独出现.5,场景场景(SCenarioS)可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象.在开发体系结构时,它可以帮助设计者找到体系结构的构件和它们之间的作用关系.同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的.场残可以用文本表示,也可以用图形表示。6,小结逻辑视图和开发视图描述系统的睁态结构,而迸程视图和物理视图描述系统的动态结构.对于不同的软件系统来说,侧重的角度也有所不同。对于学生管理信息系统来说,比较侧重于从逻辑视图和开发视图来描述系统,而对于实时限制系统来说,则比较留意于从迸程视图和物理视图来描述系统.