《软件工程》课件-32架构设计基础_第1页
《软件工程》课件-32架构设计基础_第2页
《软件工程》课件-32架构设计基础_第3页
《软件工程》课件-32架构设计基础_第4页
《软件工程》课件-32架构设计基础_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年3月8日架构设计基础知识大数据技术BIGDATA2026年3月8日章节内容1软件架构概念2软件架构目标3软件架构过程2026年3月8日架构设计基础知识软件架构概念2026年3月8日1.架构设计概念1.1概念

软件架构是软件部件、部件属性及客观实体之间相互作用的集合,描述软件系统的基本属性和限制条件,是一系列相关的抽象模式,用于指导各种软件系统各个方面的设计,是构建计算机软件实践的基础。软件架构是一个系统草图描述的对象是直接构成系统的抽象组件。在系统实现环节,抽象组件会被细化为现实的组件,如可以是具体的某个类或者是对象。软件架构为软件系统提供了一个结构、行为和属性的高级抽象:由构件的描述、构件的相互作用、指导构件集成的模式以及这些模式的约束组成。软件架构不仅显示了软件需求和软件结构之间的对应关系,而且指定了整个软件系统的组织和拓扑结构,提供了一些设计决策的基本原理。2026年3月8日1.架构设计概念1.1通俗化理解原定义核心通俗理解及示例软件部件、属性及相互作用集合系统的“核心模块+模块间规则”例:图书馆系统=读者模块(办卡/挂失)+图书模块(库存/信息)+借阅模块(借还/超期)+统计模块(报表),且“借阅前需先查读者状态(读者模块)和图书库存(图书模块)”抽象模式、系统草图指导开发的“骨架蓝图”例:先确定“读者、图书、借阅、统计”四大模块的分工和交互方式,再写具体代码(像先规划实体图书馆的功能区域,再装修运营)结构、行为、属性的高级抽象决定“系统怎么搭才好用”例:架构定了“借阅模块只负责借还逻辑,不直接改图书库存”,后续加“电子图书”功能时,只需扩展图书模块,不用动借阅模块2026年3月8日架构设计基础知识软件架构目标2026年3月8日2.软件架构设计2.1主要目标可扩展安全性可伸缩可用性可定制可靠性可维护市场时机2026年3月8日2.软件架构设计2.2目标场景化理解架构目标图书馆图书管理系统场景化理解反例(架构不良导致后果)优先级(★越多越重要)可用性系统“借还高峰期不崩”例:开学季每天500人借图书,系统能正常操作借还时频繁闪退,学生只能线下登记,图书馆效率低★★★★★可维护改规则“不牵一发动全身”例:把“学生最多借5本”改成“6本”,只改读者模块,不用动借阅模块改借阅上限时,发现要同时改读者、借阅、统计3个模块,改完后统计报表出错★★★★★安全性数据“不泄露、不篡改”例:学生只能看自己的借阅记录,不能改超期罚款金额随便改数据库就能删除超期记录,图书馆损失管理费★★★★☆可扩展轻松加新功能例:新增“电子图书借阅”功能,只需扩展图书模块(加电子图书类型),借阅模块复用原有借还逻辑加电子图书时,发现借阅模块没预留“图书类型判断”,要重构整个借阅逻辑★★★★☆可定制按身份调细节例:学生登录看到“个人借阅记录”,管理员登录看到“统计报表”“罚款管理”所有用户登录后看到的功能都一样,学生能误操作管理员功能★★★☆☆可伸缩应对临时用户量暴涨例:毕业季退书高峰,用户从500人增至1000人(临时暴涨),系统仍不卡顿毕业季退书时系统崩溃,只能延长退书期限★★☆☆☆(初步了解)2026年3月8日架构设计基础知识软件架构过程2026年3月8日软件架构过程3.1主要步骤确定影响整体技术方案的因素选择软件架构样式利用可重用资产子系统划分和接口定义优化设计2026年3月8日软件架构过程3.2主要步骤操作指引与案例步骤操作指引图书馆图书管理系统案例1.确定影响整体技术方案的因素输出《架构影响因素分析表》,聚焦3个核心维度:・业务:明确用户规模、核心功能,以及角色权限等关键规则;・技术:优先用团队已熟练的开发语言、数据库和框架,降低学习成本;・资源:结合团队人数和开发周期,判断方案是否能按时落地分析结论:・业务:1万用户(含学生、教职工),需实现读者管理、图书管理、借还操作、数据统计,且学生与管理员权限不同;・技术:团队掌握Java、MySQL、SpringBoot,前端会用Vue;・资源:3人小组,2周开发周期;2.选择软件架构样式按场景匹配架构,不盲目追求复杂:・单体架构:适合中小型系统(如校内管理系统),开发快、维护简单;・MVC架构:适合界面需频繁调整的系统,前后端逻辑分离;・微服务架构:仅作概念了解,适用于大型分布式系统(如电商平台)选择结果:采用“单体架构+MVC分层”:・单体架构:3人2周能快速开发完所有功能,不用额外处理服务通信;・MVC分层:后续改借阅页面样式时,不会影响借还核心逻辑3.利用可重用资产复用三类资源,减少重复开发:・代码资产:复用通用工具类(如数据库连接)、成熟业务函数(如身份校验);・框架资产:用熟悉框架的自带组件(如Vue表格组件);・文档资产:参考同类系统的架构文档,复用模块划分思路复用落地:・代码:复用之前写的MySQL连接工具类、用户身份校验函数;・框架:用SpringBoot快速定义接口,用Vue组件做借阅记录页面;・文档:参考校园考勤系统,按“用户-资源-业务”拆分模块4.子系统划分和接口定义按“高内聚、低耦合”设计:・模块划分:每个模块只负责一类功能(如“读者管理”和“数据统计”分开);・接口定义:明确入参格式、出参字段和返回状态,避免模糊模块与接口设计:・模块:拆为读者(办卡/校验)、图书(信息/库存)、借阅(借还/提醒)、统计(报表)4大模块;・核心接口:-借阅→读者:入参“读者ID(10位字符串)”,出参“角色、剩余可借数量、是否挂失”;-借阅→图书:入参“图书ID(8位数字)”,出参“书名、作者、库存状态”5.优化设计针对风险和效率问题优化:・风险优化:异常场景兜底(如断网时暂存数据,联网后同步);・效率优化:解决卡顿(如分页查询、定时预计算数据)优化落地:・风险:借阅模块加断网缓存,断网借还的记录先存本地,联网后自动同步到数据库;・效率:统计模块凌晨定时生成报表,管理员早上查看时直接加载结果,不卡顿2026年3月8日软件架构过程3.3常见误区架构越复杂越厉害忽略接口与需求的匹配不复用现有资产忽略异常场景设计✅✅✅✅匹配“用户规模+开发周期”场景,选择适

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论