软件工程课程记录


一、系统架构

A.系统架构要求

  1. 高可用:
    大的系统中实现高可用是非常复杂的,我们的作业差不多只需要设置一主一备就可以了。
  2. 可扩展性(一定范围内)
    比如我们的疫情系统:要添加一个特殊的功能
    面向对象、面向切面、设计模式、模板引擎
    在刚刚开始编程的时候就需要考虑可扩展性,方法论:
    (1)正确预测变化
    不必每个点都考虑可扩展性,不能完全不考虑。
    (2)完美封装变化
    接口是封装变化的编程实现。
    分层:变化层、稳定层
    变化层的接口设计是非常困难的,接口就是对外的稳定层。
  3. 低成本
    低成本的困难之处在于:往往只有“创新”才能达到低成本目标。且低成本往往与高可用冲突。
  4. 高性能
  5. 规模
    系统的功能多、逻辑分支多,即使没有高性能要求、高可用要求、扩展性,也会很复杂。
  6. 读写分离、业务分库、分表

B.架构设计原则:

“合适优于业界领先”
“简单优于复杂
”:先理解得很复杂很详细,再化繁为简
“演化优于一步到位”:淘宝京东的例子,教务系统的例子:演化最经济的方法反而是能买就买

C.课后任务:

考虑疫情填报系统的架构,包括扩展性、高并发性,怎样适应用户的需求。

二、建模

  1. 画UML图,类图、时序图,复杂的时候需要状态图。获得类:语法分析经验
  2. 编程习惯:不要省略花括号、变量名、异常处理(80%程序解决20%的问题,核心在细节)、if 语句后面是否使用else if 还是 if
  3. 面向对象的程序设计,思考复用,封装代码,逻辑和输入输出不能揉在一起;以后需要修改、扩展是否可以?

感觉学了个寂寞,全是理论,没有实践。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值