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

上传人:壹****1 文档编号:471755971 上传时间:2023-07-11 格式:DOC 页数:22 大小:1.24MB
返回 下载 相关 举报
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计_第1页
第1页 / 共22页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计_第2页
第2页 / 共22页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计_第3页
第3页 / 共22页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计_第4页
第4页 / 共22页
利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计》由会员分享,可在线阅读,更多相关《利用“4+1”视图建模方法进行“网上选课系统”软件体系结构设计(22页珍藏版)》请在金锄头文库上搜索。

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

2、视图处理视图物理视图4:林能可忡綁性安装和部署需求功能需求叮股期腕性可护展性可讯用性可替植性站即解性毙测试性图1运用4+1视图方法针对不同需求进行架构设计场景视图:场景视图关注案例描述,即对案软件需求的功能描述和非功能描述;对应于UML建模中的用例建模。逻辑视图:逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的辅助功能模块;它们可能是逻辑层、功能模块等。开发视图:开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到

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

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

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

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

7、susesusesuses登录老师管理员uses查询课程uses学生管理uses选课学生图64.扩展用例将所有操作保存的用例扩展为数据库。査询成绩提交成细登录数据.匝谍程管理朝师学牛:管理教师管理河上逸谍系统学工骨理员图75.用例图优化査询成缢月户数揣!车提空虚缢O学牛.管理抽取用户角色,实现统一登录;抽取课程管理用例,与学生信息管理、教师信息管理等用例并列网上选课眾纨图86.用自然语言和事件流编写网上选课用例脚本(1)用户登陆脚本:1)运行程序,弹出登录界面;2)在登陆界面输入用户名、密码和用户类型;3)提交信息进行验证;A1:用户信息验证异常4)进入操作界面。A1:用户信息验证异常3a)提

8、示用户用户名或密码或用户类型错误3b)重新输入用户名、密码和用户类型3c)转到3)老师的选课脚本:一、(1)运行程序,弹出登陆界面,(2)在登陆界面输入用户名、密码和用户类型;(3)提交信息进行验证;A:用户信息验证异常(4)进入操作界面。A:用户信息验证异常1、提示用户用户名或密码或用户类型错误2、重新输入用户名、密码和用户类型3、转到(3)二、(1)登陆成功后,在选课界面进行选课;(2)选择课程,单击完成,系统进行验证;A1:课程信息异常,重新进行选课;(3)选课成功;(4)退出程序;老师的提交成绩脚本如下:(1)用户登陆界面后输入用户名、密码和用户类型;(2)提交信息进行验证:如果信息异

9、常系统将退出,用户需重新登陆(3)用户登陆成功后进入学生成绩界面,并提交学生的成绩,因此显示选课学生的姓名、学号、班级、成绩;(4)系统确认输入的信息完整没有缺失或错误;(5)系统将输入的学生成绩存储建档;(6)用户提交成绩成功后退出程序。若提交失败将退回(3);学生的选课教本:(1)用户登陆界面后输入用户名、密码和用户类型;(2)提交信息进行验证:如果信息异常系统将退出,用户需重新登陆(3)用户登陆失败将返回(1),登陆成功后进入学生选课系统;(4)学生选择所要选择的课程后提交,系统将确认改门课程是否已满;A:若所选课程人数已满,选课失败,返回(3)重新选课;若选课成功,则系统将会把改课程添

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

11、证:如果信息异常系统将退出,用户需重新登陆;(3)用户登陆失败将返回(1),登陆成功后进入管理员主页;(4)管理员在主页上进行学生的信息管理操作;(5)用户推出程序;管理员的教师信息教本:(1)用户登陆界面后输入用户名、密码和用户类型;(2)提交信息进行验证:如果信息异常系统将退出,用户需重新登陆;(3)用户登陆失败将返回(1),登陆成功后进入管理员主页;(4)管理员在主页上进行课程管理界面进行相应的操作;(5)用户推出程序;7.绘制用例图根据分析与描述,本网上选课系统的用例图如下登陆US教师信息管理extends数据库老师usIexteus学生信息管理用户课程管理选课查询课程extendsX

12、extendsextends选择课程uses-提交成绩学生网上选课系统图10三、网上选课系统逻辑视图逻辑视图:逻辑视图对应于功能需求,设计满足功能需求的架构。逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的辅助功能模块;它们可能是逻辑层、功能模块等。首先根据功能需求进行初步设计,进行大粒度的职责划分。根据用例描述,将系统划分为6层,如图?所示。图?网上选课系统架构的逻辑视图四、网上选课系统开发视图开发视图:开发视图对应于开发期质量属性,设计满足开发期质量属性的架构,包括扩展性、可重用性、可移植性、易理解性和易测试性等。开发视图关注程序包,不仅包括要编写的源程序,还包括

13、可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。软件架构的开发视图应当为开发人员提供切实的指导。任何影响全局的设计决策都应由架构设计来完成,这些决策如果漏到了后边,最终到了大规模并行开发阶段才发现,可能造成程序员碰头儿临时决定的情况大量出现,软件质量必然将下降甚至导致项目失败。其中,采用哪些现成框架、哪些第三方SDK、乃至哪些中间件平台,都应该考虑是否由软件架构的开发视图确定下来。图*展示了网上选课系统的(一部分)软件架构开发视图:应用层Struts表示层会话层Sprin

14、g商务逻辑层持久层与连通层(DAO)Hibernate数据库层图*网上选课系统架构的开发视图在说说约束性需求。约束应该是每个架构视图都应该关注和遵守的一些设计限制。例如,考虑到一部分开发人员没有嵌入式开发经验这条约束情况,架构师有必要明确说明系统的目标程序是如何编译而来的:图*展示了整个系统的桌面部分的目标程序pc-moduel.exe、以及嵌入式模块rom-module.hex是如何编译而来的。这个全局性的描述无疑对没有经验的开发人员提供了实感,利于更全面地理解系统的软件架构。图*网上选课系统架构的开发视图五、网上选课系统过程视图处理视图:处理视图,即过程视图,设计满足运行期质量属性的架构,对应于运行期质量属性,包括易用性、性能、可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号