网站大量收购闲置独家精品文档,联系QQ:2885784924

论软件架构建模技术与应用.pdfVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

论软件架构建模技术与应用

2019年3月,我单位联合某高校研发了《程序评测比赛考试系统》。系统以程序代

码提交自动评测功能为,分为题库模块、评测机模块、实验作业模块、考试模块、

比赛模块、判定模块、用户管理模块等,支持对接教务平台。在项目中我担任系统架构

师,负责架构设计工作。

本文以该系统为例,主要论述了软件架构建模技术在项目中的具体应用,重点从4+1视图

模型的场景视图、逻辑视图与视图三个方面介绍。场景视图以UML用例图对系统主要

用户角色与涉及用例进行分析;逻辑视图通过UML包图从前端Web保障服务、

业务服务三个层次对系统功能进行建模;视图使用UML部署图对微服务在硬件环境的

具体部署方法进行描述。最终系统顺利上线,获得用户一致好评。

正文

笔者在一个专为高校建设计算机专业智能教学平台的单位任职,过往成果有《计算

机组成原理仿真实验系统》等。2019年3月,我单位联合某大学研发了《程序评测比

赛考试系统》项目(以下简称为“OJ系统”),以取代原有传统的编程上机考试平台。

系统以程序代码的提交自动评测功能为,主要分为题库模块、评测机模块、实验

作业模块、考试模块、比赛模块、判定模块、用户管理模块等。题库模块主要负责试题

和测试用例的管理,用户根据试题要求编写程序代码提交到系统,系统将测试用例与程序代

码发送给评测机模块,由评测机自动编译、执行、判分,并将结果发送给其他相关模块进行

统计;实验作业模块用于布置作业,从题库中选取试题,设置截止日期等要求;考试模

块用于学生考试,按预先设置的参数自动从题库随机抽题生成试卷,以及向教务平

台上传考试成绩;比赛模块主要用于ACM竞赛的培训;判定模块用于鉴定代码与他人

代码率;用户管理模块负责用户信息的管理。在这个项目中,我担任了系统架构师的职

务,主要负责系统的架构设计相关工作。

4+1视图模型从5个视角来描述软件架构,分别为:逻辑视图、视图、进程视图、开

发视图和场景视图。逻辑视图主要描述系统的功能需求,将系统分解为一系列的功能抽象,

可用对象模型来代表,用类图来描述;开发视图主要侧重于软件模块的组织和管理,考虑软

件的需求;进程视图侧重于系统的运行特性,主要关注非功能需求,强调并发性、分布

性、系统集和容错能力,以及逻辑视图中的功能抽象如何适应进程结构,定义了具体线

程执行的操作;视图主要考虑软件向硬件的映射,解决系统的拓扑结构、安装和通信问

题。场景视图可看做重要系统活动的抽象,使其他4个视图有机联系。

OJ系统使用微服务架构开发,基于4+1视图建模,建模工具为RationalRose,描述语言为

UML,这里着重从场景视图、逻辑视图、视图三个方面展开介绍。

1.场景视图

场景视图使用UML模型中的用例图来进行建模。OJ系统功能主要面向高校学生程序设计

语言的学习、考试、比赛,我们经过分析,结合用户的需求,在系统中划定了四类用户

角色,这些角色分别为:在校学生、任课、系统管理员、校外人员。在校学生用户是OJ

系统学生端的主要使用者,学生涉及的主要用例有:登录系统、提交代码、自由练习、参加

考试、提交实验作业、参加比赛、信息、查看系统帮助、交流讨论等;任课用户属

于OJ系统的管理者,涉及的主要用例有:登录系统、信息、班级管理、助教管理、

学生管理、考试管理、题库管理、实验作业管理、比赛管理、代码查重、管理等;系统

管理员拥有OJ系统最高的系统权限,在具备学生与所有用例的基础上,还增加了

管理、评测机管理、系统管理、服务器管理等用例。校外人员用户主要面向社会以及其他高

校的编程学习者,仅具备登录系统、提交代码、自由练习、参加比赛、查看系统帮助五

种用例。

2.逻辑视图

逻辑视图使用UML模型中的包图来进行建模。我们经过分析,决定采用微服务架构风格

开发,将系统分为前端Web保障服务、业务服务三部分。前端Web服务由负载

过发起http请求来和后端交互。API网关收到前端的请求,会从服务根据当前请求,

来获取对应的服务配置,随后通过服务配置再调用已的服务。当后端微服务存在多个实

例时,将采取负载均衡的方式调用。后端微服务

文档评论(0)

cra12138 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档