(科软)高级软件工程课程总结

一、总结与体会

本学期很荣幸选修了的高级软件工程课程。孟老师的课程在软件工程基本概念的基础上,由近及远、由浅入深、全面的讲解了代码中的软件工程的内容。立足于实践,多学多练,有针对性的训练了同学们作为未来程序员的基本功。本课程主要分为:工欲善其事,必先利其器、工程化的编程实战、从需求分析到软件设计、软件科学基础概论、软件危机和软件过程五个部分。

工欲善其事,必先利其器

  • Typing
  • VSCode
  • Git
  • Vim
  • 正则表达式

工程化的编程实战

  • 代码规范和代码风格
  • 编写高质量代码的基本方法
  • 模块化软件
  • 接口
  • 可重入函数和线程安全
  • 软件质量

从需求分析到软件设计

  • 获取需求
  • 需求分析和建模
  • 面向对象分析
  • 关系数据模型软件设计

软件科学基础概论

  • 软件是什么
  • 设计模式
  • 软件架构
  • 软件质量

软件危机和软件过程

  • 软件危机
  • 软件过程模型
  • PSP和TSP
  • CMM/CMMI
  • 敏捷方法
  • DevOps

二、重要知识总结

  • 1.高质量需求的特点:
    正确的、一致的、无二义性、完整的、可行的、无与主要目标不相关的需求、可描绘的、可测试的

  • 2.有哪些需求类型:
    功能需求:根据所需活动描述所需行为
    质量需求或非功能性需求:描述软件必须具备的一些质量特征
    设计约束:设计决策,例如平台或接口组件的选择
    过程约束:对可用于构建系统的技术或资源的限制

  • 3.需求分析的两类基本方法:
    原型化方法(Prototyping)和建模的方法(Modeling)是整理需求的两类基本方法。
    1)原型化方法可以很好地整理出用户接口方式(UI,User Interface),比如界面布局和交互操作过程。
    2)建模的方法可以快速给出有关事件发生顺序或活动同步约束的问题,能够在逻辑上形成模型来整顿繁杂的需求细节。

  • 4.用例满足的四个必要条件:
    必要条件一:它是不是一个业务过程?
    必要条件二:它是不是由某个参与者触发开始?
    必要条件三:它是不是显式地或隐式地终止于某个参与者?
    必要条件四:它是不是为某个参与者完成了有用的业务工作?

  • 5.统一过程的核心要义是什么:
    统一过程(UP,Unified Process)的核心要义是用例驱动(Use case driven)、以架构为中心
    (Architecture centric)、增量且迭代(Incremental and Iterative)的过程。

  • 6.模块化的基本原理
    模块化(Modularity)是在软件系统设计时保持系统内各部分相对独立,以便每一个部分可以被独
    立地进行设计和开发。
    背后的基本原理:关注点分离:

  • 7.本地化外部接口是什么含义
    使用本地化外部接口来提高代码的适应能力, 将我们的代码接口分离出来,写成本地化的外部接
    口,能更好的帮助我们分离业务之间的关联性,使得代码开发更加高效。

  • 8.接口的5个基本要素:
    接口的目的;
    接口使用前所需要满足的条件,一般称为前置条件或假定条件;
    使用接口的双方遵守的协议规范;
    接口使用之后的效果,一般称为后置条件;
    接口所隐含的质量属性。

  • 9.通用接口定义的基本方法:
    参数化上下文
    移除前置条件
    简化后置条件

  • 10.依赖倒置原则的含义及其应用价值
    依赖倒置原则的定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。其核心思想是:要面向接口编程,不要面向实现编程。应用于:模块化设计

  • 11.MVC架构为什么更灵活以及MVVM架构为什么更智能
    MVC: Mod

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值