- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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网关收到前端的请求,会从服务根据当前请求,
来获取对应的服务配置,随后通过服务配置再调用已的服务。当后端微服务存在多个实
例时,将采取负载均衡的方式调用。后端微服务
您可能关注的文档
最近下载
- 2023年5月青少年软件编程等级考试Scratch三级真题试题及答案.pdf VIP
- 居民参与实训考试3.doc VIP
- 2023年12月青少年软件编程等级考试Scratch三级真题及答案.pdf VIP
- 大学生创新创业精品成品.pptx VIP
- 采购部门规划.pptx VIP
- 中国历史文化知识题库100道精品【含答案】.docx
- JT∕T 722-2023 公路桥梁钢结构防腐涂装技术条件.pdf
- 内蒙古民族大学《心理学研究方法》期末考试试卷及标准答案.docx
- 2024年3月青少年软件编程等级考试Scratch三级真题(试题及答案).pdf VIP
- 2024年中考语文试题分类汇编:散文、小说阅读(第03期)含答案及解析.pdf VIP
文档评论(0)