收藏 分享(赏)

利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计.doc

上传人:scg750829 文档编号:7710384 上传时间:2019-05-24 格式:DOC 页数:19 大小:1.42MB
下载 相关 举报
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计.doc_第1页
第1页 / 共19页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计.doc_第2页
第2页 / 共19页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计.doc_第3页
第3页 / 共19页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计.doc_第4页
第4页 / 共19页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、 利用 “4+1”视图建模方法进行 “网 上 选课系统”软件体系结构设计所学专业: 软件工程 年级班级: 2010 级软工-2 班 所属小组: 第六组 组负责人: 耿奇云 组内成员: 耿奇云 郜振南 杨建威 成员学号: 1010107041 1010107040 1010107054 河南农业大学信息与管理科学学院2012 年 12 月 19 日一、 引言(一) 运用 4+1 视图方法:针对不同需求进行架构设计要开发出用户满意的软件并不是件容易的事,软件架构师必须全面把握各种各样的需求、权衡需求之间有可能的矛盾之处,分门别类地将不同需求一一满足。Philippe Kruchten 提出的 4+

2、1 视图方法为软件架构师 “一一征服需求“提供了良好基础,如图 1 示。图 1 运用 4+1 视图方法针对不同需求进行架构设计场景视图:场景视图关注案例描述,即对案软件需求的功能描述和非功能描述;对应于 UML 建模中的用例建模。逻辑视图:逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块 “;它们可能是逻辑层、功能模块等。开发视图:开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方 SDK 和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。

3、处理视图:处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题。物理视图:物理视图关注“目标程序及其依赖的运行库和系统软件“ 最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个 IT 系统相互影响的架构视图。(二) 软件需求分类需

4、要架构设计的多重视图方法,从根本上来说是因为需求种类的复杂性所致。软件需求包括功能需求和非功能需求。非功能需求包括质量属性和约束条件。质量属性包括运行期质量属性和开发期质量属性。软件需求分类如图 2 所示。图 2 软件需求分类(三) 网上选课需求1网上选课系统需求描述管理员通过系统管理界面进入,建立本学期要开设的各门课程,并将课程信息保存到数据库中,并可以对课程进行一定的改动和删除操作。学生通过浏览器可以查询已选课程信息并进行选课,教师可以选择所要上的课程并提交所选课程的成绩。管理员同时负责维护各项信息。以上信息统一保存到数据库中。2网上选课系统需求表 1 网上选课系统:需求种类分析非功能需求

5、约束 运行期质量属性 开发期质量属性功能需求项目预算有限用户平均电脑操作水平偏低开发人员分散在不同地点要求能在 Windowsall 系统上运行 高性能易用性易理解模块间松散耦合实现不同用户所要执行的不同功能提高不同用户的操作效率保证数据库中数据的一致性和完整性二、 网上选课系统场景建模场景视图:场景视图关注案例描述,即对案软件需求的功能描述和非功能描述;对应于 UML 建模中的用例建模。(一) 用例建模与分析步骤根据网上选课系统需求概述进行用例建模与分析。用例建模与分析步骤如图 3 示。1.确定网上选课系统的边界范围,找出系统外部的参与者和外部系统2.确定各个参与者应有的系统行为,并命名为用

6、例3. 把系统中公共的系统行为分解为新的用例,供其它用例引用4. 把系统中一些变更的行为分解为扩展用例5. 编制用例的脚本6. 绘制系统的用例图7. 把系统用例中特殊情况的用例画成单独的子用例图(二) 用例建模具体过程1. 确定系统边界范围,找出参与者系统参与者包括:管理员、学生和老师图 4管理员学生老师系 统2. 确定每一个参与者所希望的系统行为管理员:登陆、课程管理、学生管理和老师管理学生:登录、选课、查询课程老师:登录、查询课程、提交成绩图 53. 把公共系统行为分解为新的用例将管理员、学生和老师的登陆抽取为公共用例;管理员学生系 统老师课程管理学生管理登录老师管理查询课程提交成绩选课图

7、 64. 扩展用例将所有操作保存的用例扩展为数据库。图 75. 用例图优化抽取用户角色,实现统一登录;抽取课程管理用例,与学生信息管理、教师信息管理等用例并列图 86. 用自然语言和事件流编写网上选课用例脚本(1)用户登陆脚本:1)运行程序,弹出登录界面;2)在登陆界面输入用户名、密码和用户类型; 3)提交信息进行验证;A1:用户信息验证异常4)进入操作界面。A1:用户信息验证异常3a)提示用户用户名或密码或用户类型错误3b)重新输入用户名、密码和用户类型3c)转到 3)老师的选课脚本:一、(1)运行程序,弹出登陆界面,(2)在登陆界面输入用户名、密码和用户类型; (3)提交信息进行验证;A:

8、用户信息验证异常(4)进入操作界面。A:用户信息验证异常1、提示用户用户名或密码或用户类型错误2、重新输入用户名、密码和用户类型3、转到(3 )二、 (1)登陆成功后,在选课界面进行选课;(2)选择课程,单击完成,系统进行验证;A1:课程信息异常,重新进行选课;(3)选课成功;(4)退出程序;老师的提交成绩脚本如下:(1) 用户登陆界面后输入用户名、密码和用户类型;(2) 提交信息进行验证:如果信息异常系统将退出,用户需重新登陆(3) 用户登陆成功后进入学生成绩界面,并提交学生的成绩,因此显示选课学生的姓名、学号、班级、成绩;(4) 系统确认输入的信息完整没有缺失或错误;(5) 系统将输入的学

9、生成绩存储建档;(6) 用户提交成绩成功后退出程序。若提交失败将退回(3) ;学生的选课教本:(1) 用户登陆界面后输入用户名、密码和用户类型;(2) 提交信息进行验证:如果信息异常系统将退出,用户需重新登陆(3) 用户登陆失败将返回(1) ,登陆 成功后进入学生选课系统;(4) 学生选择所要选择的课程后提交,系统将确认改门课程是否已满;A:若所选课程人数已满,选课失败,返回(3)重新选课;若选课成功,则系统将会把改课程添加到学生的课程表里;(5) 用户退出程序;学生的查询课程教本:(1) 用户登陆界面后输入用户名、密码和用户类型;(2) 提交信息进行验证:如果信息异常系统将退出,用户需重新登

10、陆;(3) 用户登陆失败将返回(1) ,登陆 成功后进入学生主页查询课程;(4) 用户退出程序管理员的教师信息教本:(1)用户登陆界面后输入用户名、密码和用户类型;(2)提交信息进行验证:如果信息异常系统将退出,用户需重新登陆;(3)用户登陆失败将返回(1) ,登陆成功后进入管理员主页;(4)管理员在主页上进行教师的信息管理操作;(5)用户推出程序;管理员的教师信息教本:(1)用户登陆界面后输入用户名、密码和用户类型;(2)提交信息进行验证:如果信息异常系统将退出,用户需重新登陆;(3)用户登陆失败将返回(1) ,登陆成功后进入管理员主页;(4)管理员在主页上进行学生的信息管理操作;(5)用户

11、推出程序;管理员的教师信息教本:(1)用户登陆界面后输入用户名、密码和用户类型;(2)提交信息进行验证:如果信息异常系统将退出,用户需重新登陆;(3)用户登陆失败将返回(1) ,登陆成功后进入管理员主页;(4)管理员在主页上进行课程管理界面进行相应的操作;(5)用户推出程序;7. 绘制用例图根据分析与描述,本网上选课系统的用例图如下管理员登陆学生查询课程选课老师选择课程提交成绩网 上 选 课 系 统教师信息管理数据库学生信息管理课程管理用户学号姓名日期图 10三、 网上选课系统逻辑视图逻辑视图:逻辑视图对应于功能需求,设计满足功能需求的架构。逻辑视图关注功能,不仅包括用户可见的功能,还包括为实

12、现用户功能而必须提供的“辅助功能模块“ ;它们可能是逻辑层、功能模块等。首先根据功能需求进行初步设计,进行大粒度的职责划分和逻辑视图设计如下。应用层:负责设备状态的显示,提供模拟控制台供用户发送调试命令表示层:使用通讯层和嵌入层进行交互会话层:负责在 RS232 协议之上实现一套专用的“应用协议”逻辑层:当应用层发送来包含调试指令的协议包时,由通讯层负责按RS232 协议将之传递给嵌入层持久连通层:当嵌入层发送来原始数据时,由通讯层将之解释成应用协议包发送给应用层数据库层:嵌入层负责对调试设备的具体控制,以及高频度地从数据采集器读取设备状态数据,设备控制指令的物理规格被封装在嵌入层内部,读取数

13、据采集器的具体细节也被封装在嵌入层内部数 据 库 层持 久 层 与 连 通 层 ( D A O )商 务 逻 辑 层会 话 层表 示 层应 用 层网上选课系统架构的逻辑视图四、 网上选课系统开发视图开发视图:开发视图对应于开发期质量属性,设计满足开发期质量属性的架构,包括扩展性、可重用性、可移植性、易理解性和易测试性等。开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方 SDK 和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。软件架构的开发视图应当为开发人员提供切实的指导。任何

14、影响全局的设计决策都应由架构设计来完成,这些决策如果“漏 “到了后边,最终到了大规模并行开发阶段才发现,可能造成“程序员碰头儿临时决定“ 的情况大量出现,软件质量必然将下降甚至导致项目失败。其中,采用哪些现成框架、哪些第三方 SDK、乃至哪些中间件平台,都应该考虑是否由软件架构的开发视图确定下来。下图展示了网上选课系统的(一部分)软件架构开发视图: 数 据 库 层持 久 层 与 连 通 层 ( D A O )商 务 逻 辑 层会 话 层表 示 层应 用 层S t r u t sS p r i n gH i b e r n a t e图* 网上选课系统架构的开发视图图* 网上选课系统架构的开发视

15、图五、 网上选课系统过程视图处理视图:处理视图,即过程视图,设计满足运行期质量属性的架构,对应于运行期质量属性,包括易用性、性能、可伸缩性、持续可用性、鲁棒性和安全性等。处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题。性能是软件系统运行期间所表现出的一种质量水平,一般用系统响应时间和系统吞吐量来衡量。为了达到高性能的要求,软件架构师应当针对软件的运行时情况进行分析与设计,这就是我们所谓的软件架构的处

16、理视图的目标。处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。下图展示了网上选课系统架构的处理视图。可以看出,架构师为了满足高性能需求,采用了多线程的设计: 应用层中的线程代表主程序的运行,它直接利用了 MFC 的主窗口线程。无论是用户交互,还是串口的数据到达,均采取异步事件的方式处理,杜绝了任何“忙等待“ 无谓的耗时,也缩短了系统响应时间。 通讯层有独立的线程控制着“上上下下“ 的数据,并设置了数据缓冲区,使数据的接收和数据的处理相对独立,从而数据接收不会因暂时的处理忙碌而停滞,增加了系统吞吐量。 设备调试系统架构的处理视图用户登录时序图:管理员时序图: 管理员屏

17、 数据库用户验证类1 . 1 a / 选择用户添加进入用户添加界面 : 提示用户输入数据输入用户名 、 密码和用户类型创建用户验证类连接数据库连接成功f a l s et r u e连接不成功连接失败提示用户 , 连接数据库失败判定用户名是否存在存在不存在提示存在提示用户已存在提示用户重新输入数据提示 f a l s e将用户名 、 密码和用户类型写入数据库写入不成功写入成功消息 1消息 2消息 3消息 4消息 5消息 6老师序列图:提交成绩界面数据库f a l s e老师登陆界面选择用户类型进入用户选择界面 , 提示用户输入相关数据创建用户验证类用户验证类连接数据库 , 验证权限验证失败验证

18、失败提示用户验证失败t r u e验证成功提示用户登陆成功录入学生成绩将学生成绩写入数据库f a l s e提交失败提示用户提交失败t r u e提交成功提示用户提交成功输入用户名 , 密码 , 用户类型学生示意图:六、 网上选课系统物理视图物理视图:物理视图,是和部署相关的架构决策,对应于安装和部署需求。物理视图关注“目标程序及其依赖的运行库和系统软件“ 最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT 系统相

19、互影响的架构视图。软件最终要驻留、安装或部署到硬件才能运行,而软件架构的物理视图关注“目标程序及其依赖的运行库和系统软件“ 最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。图所示的物理架构视图表达了网上选课系统软件和硬件的映射关系。可以看出,嵌入部分驻留在调试机中,而 PC 机上是常见的桌面可执行程序的形式。网上选课系统架构的物理视图 I我们还可能根据具体情况的需要,通过物理架构视图更明确地表达具体目标模块及其通讯结构,如下图所示。网上选课系统架构的物理视图 II七、 小结所谓本立道生。深入理解软件需求分类的复杂性,明确区分功能需求、约束、运行期质量

20、属性、开发期质量属性等不同种类的需求就是“本“,因为各类需求对架构设计的影响截然不同。本文通过具体案例的分析,展示了如何通过RUP 的 4+1 视图方法,针对不同需求进行架构设计,从而确保重要的需求一一被满足。本文通过比较系统地描述网上选课系统的用例图的一步步操作完成过程和相关的用户时序图以及更加深入的“4+1”视图中的逻辑视图、开发视图、进程视图、物理视图和场景视图的绘制描述,并对涉及到的软件架构模式进行了简单明了的解释说明,直接深入地描述展示了软件需求开发过程中包括非功能和功能方面的各种需要要求,展示说明了软件体系结构设计在软件开发和程序设计中的重要地位。参考文献1. Philippe K

21、ruchten 著,周伯生等译. Rational 统一过程引论(原书第 2版). 机械工业出版社,2002.2. Karl E. Wiegers 著,刘伟琴等译. 软件需求(第 2 版). 清华大学出版社,2004.3. 刘寅虓. 系统分析之路 (平装,第一版). 电子工业出版社,2005. 张友生.软件体系结构的现状和发展方向.程序员,2002(6):35384. P.Kruchten. Architectural blueprintsthe “4+1” view model of software architecture. IEEE Software,1995(6):42505. 周莹新,艾波.软件体系结构建模研究.软件学报,1998(11):8668726. 张友生.软件体系结构的描述方法.程序员,2002(11):44467. 蒋慧,吴礼发,陈卫卫.UML 设计核心技术.北京:希望电子出版社,2001.1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报