4+1模型学生信息管理系统分析与设计

更新时间:2023-05-20 15:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

“4+1”模型学生信息管理系统分析与设计

“4+1”模型概述

Kruchten在1995年提出了“4+1”的视图模型。

“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。

每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。

1, 逻辑视图

逻辑视图(logic view)主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。 在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图(class diagram)来描述逻辑视图。可以从Booch标记法中导出逻辑视图的标记法,只是从体系结构级的范畴来考虑这些符号,用Rational Rose进行体系结构设计。

类图用于表示类的存在以及类与类之间的相互关系,是从系统构成的角度来描述正在开发的系统。一个类的存在不是孤立的,类与类之间以不同的方式互相合作,共同完成某些系统功能。关联关系表示两个类之间存在着某种语义上的联系,其真正含义要有附加在横线之上的一个短语来予以说明。在表示包含关系的图符中,带有实心圆的一端表示整体,相反的一端表示部分。在表示使用关系的图符中,带有空心圆的一端连请求服务的类,相反的一端连接提供服务的类。在表示继承关系的图符中,箭头由子类指向基类。

逻辑视图中使用的风格为面向对象的风格,逻辑视图设计中要注意的主要问是要保持一个单一的、内聚的对象模型贯穿整个系统。

对于规模更大的系统来说,体系结构级中包含数十甚至数百个类。

2,开发视图

开发视图(development view)也称模块视图(module view),主要侧重于软件模块的组织和管理。软件可以通过程序库或子系统进行组织,这样,对于一个软件系统,就可以由不同的人进行开发。开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。

开发视图通过系统输入输出关系的模型图和子系统图来描述。可以再确定了软件包含的所有元素之后描述完整的开发角度,也可以在确定每个元素之前,列出开发试图原则。

与逻辑视图一样,可以使用Booch标记法中某些符号来表示开发视图。

在开发视图中,最好采用4-6层子系统,而且每个子系统仅仅能与同层或更低层的子系统通讯,这样可以使每个层次的接口既完备又精练,避免了各个模块之间很复杂的依赖关系。而且设计时要充分考虑,对于各个层次,层次越低,通用性越强,这样,可以保证应用程序的需求发生改变时,所做的改动最小。开发视图所用的风格通常是层次结构风格。

3,进程视图

进程视图(process view)侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程(thread)中被执行的。

进程视图可以描述成多层抽象,每个级别分别关注不同的方面。在最高层抽象中,进程结构可以看作是构成一个执行单元的一组任务。它可看成一系列独立的,通过逻辑网络相互通信的程序。它们是分布的,通过总线或局域网、广域网等硬件资源连接起来。通过进程视图可以从进程测量一个目标系统最终的执行情况。

通过扩展Booch对Ada任务的表示法,来表示进程视图。

4,物理视图

物理视图(physical view)主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。当软件运行于不同的节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因

此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小。

大型系统的物理视图可能会变得十分混乱,因此可以与进程视图的映射一道,以多种形式出现,也可单独出现。

5,场景

场景(scenarios)可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系结构时,它可以帮助设计者找到体系结构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。场景可以用文本表示,也可以用图形表示。

6,小结

逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。对于不同的软件系统来说,侧重的角度也有所不同。对于学生管理信息系统来说,比较侧重于从逻辑视图和开发视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。

本文来源:https://www.bwwdw.com/article/ks44.html

Top