软考找老孙
软考找老孙guoruankao.com
付费第16讲 / 共72讲

【2027版】第16讲:给"智慧邻里2.0"画"施工图":软件工程与架构

更新于

【虚构案例声明】 本课程中的"美好家园"物业集团、"清华园社区"、"智慧邻里2.0"项目及全部人物均为教学所用的虚拟项目与虚构人物,详见第 01 讲首次声明。

一、上节作业讲评

1.1 二期平台选什么架构

上一讲的核心作业:方姐提了两个方案,集中式把所有小区的系统统一部署在集团云上,面向服务的架构把门禁、停车、报修、缴费拆成服务各小区按需组合;赵副总担心集中式"一挂全挂",李经理担心面向服务"太复杂谁来维护"。要你用教材表 4-3 的"什么时候使用"和"治理模式与架构匹配"两个标准给意见。

先用表 4-3 量一遍。集中式的使用条件是"当需要系统易于管理时;当业务本身高度集中的时候"。美好家园的业务是集中的吗?集团统管标准和平台,但五十个小区各自有业主服务,业务是"统分结合",不是高度集中。面向服务的使用条件是"当希望系统成为敏捷架构,可重用性和组件化利于创造新应用;当业务对新应用和快速设计迭代要求较高时"。二期要的正是这个:门禁、停车、报修先做成服务,三期增值服务再组合,每个小区可以按需开通模块。所以表 4-3 指向面向服务的架构。

再用治理模式量一遍。第 15 讲说过教材把架构选型和治理挂钩:集中式架构适合高度集中式治理,分布式提供多中心化的治理机制。美好家园的治理是集团定标准、区域做执行,这种混合治理和"集团提供服务、区域组合使用"的面向服务架构最匹配。

结论:二期集团平台按面向服务的架构建,但业主主数据和人脸库这两类核心数据集中存储、集中治理,服务可以分散,数据源必须唯一。这一句既回答了赵副总,服务之间隔离,一个服务挂不影响其他服务,也回答了李经理,区域公司不维护服务,只使用服务,维护在集团。

再看这个选择对模块二三讲的影响。对第 11 讲的运维方案:配置管理数据库里的配置项从"一套系统"变成"十几个服务和它们的接口关系",服务级别要按服务分别定,门禁服务 99.9%、增值服务 99.5%。对第 12 讲的数据治理:权威数据源落在集团的业主主数据服务上,各服务只引用不存储,这正是面向服务架构天然支持的。对第 13 讲的等保定级:等保对象是"集团平台"这个整体,不是每个服务单独定级,服务拆分不降低等级,人脸库作为数据资源单独列为对象。

这道作业最值钱的一句是"架构是给谁选的"。架构不是给程序员选的,是给组织选的,它要匹配治理模式、运维能力、数据责任和合规要求。这就是今天要讲的教材 5.1.1 节里那句话:架构的选择往往会成为一个系统设计成败的关键。

二、从管系统到建系统:本讲目标

2.1 施工图是什么

模块二讲的是集团怎么管信息系统,模块三讲信息系统怎么建。教材第 5 章叫"信息系统工程",四节:软件工程、数据工程、系统集成、安全工程。模块三七讲按这四节走,本讲讲软件工程。

建房子先有施工图,建系统先有架构。周总批了二期一千万,方姐的团队进场,第一件事不是写代码,是拿出一套"施工图":系统由哪些构件组成、构件之间怎么连、用什么风格、怎么评估这个架构好不好、代码怎么管、怎么测、怎么上线、乙方的过程能力够不够。这些问题全在教材 5.1 节里。

高项考这一节,综合知识每年两到三道,2024 年上半年第 1 批第 45、49 题考了 CMMI 和软件过程能力成熟度模型的能力域,2025 年上半年第 12、48 题考了文档分类和黑盒测试,2026 年上半年第 1 批第 8 题考了配置管理的角色;案例分析偶尔出判断题,2025 年上半年第 2 批案例的判断题就有一条"人工检查代码属于黑盒测试"。

本讲要拿下三件事:

第一,教材 5.1.1 和 5.1.3 的架构与设计:软件工程三要素、架构定义、五类架构风格、评估三方式、场景三要素、敏感点和权衡点、结构化设计与面向对象设计、七条设计原则、三类设计模式。

第二,教材 5.1.4 到 5.1.6 的实现、交付与过程:配置管理六活动、编码四方面、静态动态测试与覆盖标准、持续交付与持续部署、部署原则和两种部署方式、CSMM 与 CMMI。

第三,把这些变成"智慧邻里2.0"二期的施工图:架构风格、评估场景、设计原则落到报修模块、测试计划、部署方案,以及给乙方的过程能力要求。

2.2 本讲任务地图

任务 教材位置 考试形态 项目落点
软件工程三要素、架构定义与风格 5.1 开头、5.1.1 三要素不属于、风格归类 二期架构说明书
架构评估 5.1.1 三方式、三场景法、敏感点权衡点 架构评审会
结构化与面向对象设计、设计模式 5.1.3 高内聚低耦合、七原则、模式归类 报修模块设计
配置管理、编码、测试 5.1.4 六活动、静态动态、白盒黑盒 乙方开发规范
部署交付 5.1.5 持续交付优势、部署原则、蓝绿金丝雀 上线方案
过程管理 5.1.6、20.5.1 CSMM 四域五级、CMMI 四类别 乙方资质要求

三、核心内容精讲:软件架构

3.1 软件工程三要素与软件架构的定义

教材口径:软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。软件工程由方法、工具和过程三个部分组成。

三要素各一句:方法是完成软件工程项目的技术手段,支持整个软件生命周期;工具是人们在开发软件的活动中智力和体力的扩展与延伸;过程贯穿于软件开发的各个环节,管理人员要对质量、进度和成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成本估算、质量保证和配置管理等。你会发现"过程"这一要素就是项目经理的活,这也是为什么软件工程放在高项教材里。

软件工程知识地图

教材口径:软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。软件架构研究的主要内容涉及软件架构描述、软件架构风格、软件架构评估和软件架构的形式化方法等。解决好软件的复用、质量和维护问题,是研究软件架构的根本目的。

架构定义里四个词:构件、连接件、模式、约束。用二期平台说:门禁服务、报修服务、主数据服务是构件;服务之间的接口调用是连接件;"所有服务通过统一网关调用、通过主数据服务取业主信息"是模式;"任何服务不得自存业主手机号"是约束。架构的根本目的三个词:复用、质量、维护,考试出"研究软件架构的根本目的"就答这三个。

3.2 软件架构五类风格

以上为部分预览,完整内容请登录后查看
微信扫码登录

登录查看完整内容

本讲属于"高项精品图文课程"课程内容。微信扫码登录后,系统会自动识别你的课程权限并直接返回本页。

使用微信扫描二维码,授权后自动登录并返回本页

二维码未显示?点此打开
🎬

本讲配套视频版

图文不够直观时看视频, 老孙亲讲讲透
高项精品视频课程

【2027版】第16讲:软件工程与架构

点击跳转 →

相关推荐

继续深入学习「高项精品图文课程」其他课时

回到顶部咨询