软件系统设计与体系结构 实验报告
2016-2017学年第一学期 软件学院 指导老师:张俊楷 实验名称: “4+1”视图系统建模 实验日期: 2016-11-2 班级: 学号: 姓名:
要求:班级、学号、姓名不能打印,必须手写。否则,实验报告作废
一.实验目的和要求
通过对实际案例进行软件设计来掌握软件体系架构模式的选择应用以及典型4+1视图软件架构设计方法的应用,并能熟练掌握如何利用Rational Rose软件进行软件架构设计。
二.实验内容和步骤
1、 根据“学生选课系统”需求描述,利用“4+1”视图建模方法进行软件体系结构设计。
2、 “学生选课系统”需求描述:管理员通过系统管理界面进入,建立本学期要开设的各门课程,将课程信息保存到数据库中,并可以对课程进行一定的改动和删除操作。学生通过浏览器可以查询已选课程信息并进行选课,教师可以选择所要上的课程并提交所选课程的成绩。管理员同时负责维护各项信息。以上信息统一保存到数据库中。
^`
1. 选课系统场景建模
场景视图:场景视图关注案例描述,即对案软件需求的功能描述和非功能描述;对应于UML建模中的用例建模。
2. 选课系统逻辑视图
逻辑视图:逻辑视图对应于功能需求,设计满足功能需求的架构。逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的\"辅助功能模块\";它们可能是逻辑层、功能模块等。
^`
3. 系统开发视图
开发视图对应于开发期质量属性,设计满足开发期质量属性的架构,包括扩展性、可重用性、可移植性、易理解性和易测试性等。开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。
软件架构的开发视图应当为开发人员提供切实的指导。任何影响全局的设计决策都应由架构设计来完成,这些决策如果\"漏\"到了后边,最终到了大规模并行开发阶段才发现,可能造成\"程序员碰头儿临时决定\"的情况大量出现,软件质量必然将下降甚至导致项目失败。
^`
其中,采用哪些现成框架、哪些第三方SDK、乃至哪些中间件平台,都应该考虑是否由软件架构的开发视图确定下来。
4. 选课系统过程视图
^`
过程视图,即进程视图,设计满足运行期质量属性的架构,对应于运行期质量属性,包括易用性、性能、可伸缩性、持续可用性、鲁棒性和安全性等。处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题。
^`
^`
^`
^`
5. 选课系统物理视图
物理视图:物理视图,是和部署相关的架构决策,对应于安装和部署需求。物理视图关注\"目标程序及其依赖的运行库和系统软件\"最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。
软件最终要驻留、安装或部署到硬件才能运行,而软件架构的物理视图关注\"目标程序及其依赖的运行库和系统软件\"最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。
^`
因篇幅问题不能全部显示,请点此查看更多更全内容