目录

  • 1 软件工程与软件设计
    • 1.1 课程教学大纲和教学日历
    • 1.2 软件工程
    • 1.3 软件的生存周期
    • 1.4 软件开发过程模型
    • 1.5 软件设计
    • 1.6 软件体系结构
    • 1.7 本章课件
    • 1.8 课堂笔记
    • 1.9 作业
  • 2 统一建模语言UML
    • 2.1 UML概述
    • 2.2 面向对象开发方法
    • 2.3 UML2.0结构建模
    • 2.4 UML2.0行为建模
    • 2.5 本章课件
    • 2.6 课堂笔记
    • 2.7 作业
  • 3 软件设计基础
    • 3.1 软件设计的基本概念
    • 3.2 软件设计过程
    • 3.3 软件设计质量
    • 3.4 软件体系结构设计
      • 3.4.1 软件体系结构设计一般过程
        • 3.4.1.1 软件体系结构设计步骤
    • 3.5 高可信软件
    • 3.6 软件设计规格说明及软件设计评审
    • 3.7 本章课件
    • 3.8 本章作业
    • 3.9 第三章课堂笔记一
    • 3.10 第三章课堂笔记二
    • 3.11 课程引导单
  • 4 第4章
    • 4.1 整体概述
    • 4.2 基于UML的分析与设计过程
    • 4.3 用例分析与设计
    • 4.4 概念模型与顶层架构设计
    • 4.5 用户界面设计
    • 4.6 数据模型设计
    • 4.7 设计精化
    • 4.8 类设计
    • 4.9 部署模型设计
    • 4.10 本章课件
    • 4.11 本章作业
    • 4.12 第四章课堂笔记一
    • 4.13 第四章课堂笔记二
    • 4.14 课程引导单
  • 5 第5章 面向数据流的软件设计方法
    • 5.1 略讲
  • 6 第6章 用户界面设计
    • 6.1 界面设计的基本原则
    • 6.2 设计良好界面的主要途径
    • 6.3 用户界面的分析与设计过程
    • 6.4 用户界面分析
    • 6.5 用户界面设计
    • 6.6 用户界面原型
    • 6.7 界面设计的评估
    • 6.8 本章小结
    • 6.9 课程引导单
    • 6.10 本章课件
    • 6.11 本章作业
    • 6.12 课堂笔记1
    • 6.13 课堂笔记2
  • 7 体系结构风格与设计模式
    • 7.1 体系结构概念、描述、风格
    • 7.2 设计模式基础 代码资源
      • 7.2.1 基础回顾视频
    • 7.3 设计模式-工厂方法
    • 7.4 设计模式-抽象工厂
    • 7.5 设计模式-单件
    • 7.6 设计模式-组合 迭代器 观察者
    • 7.7 本章课件
    • 7.8 本章作业
    • 7.9 课堂笔记
  • 8 基于分布构件的体系结构
    • 8.1 8.1 EJB分布构件
    • 8.2 8.2 DCOM分布构件
    • 8.3 8.3 CORBA分布构件
    • 8.4 本章课件
    • 8.5 本章作业
    • 8.6 课堂笔记
  • 9 软件体系结构评估
    • 9.1 软件体系结构评估概述
      • 9.1.1 课件
      • 9.1.2 视频
    • 9.2 软件体系结构评估方法
      • 9.2.1 课件
      • 9.2.2 视频
    • 9.3 实例分析
      • 9.3.1 课件
      • 9.3.2 视频
    • 9.4 作业
    • 9.5 9.1-9.2课堂笔记
    • 9.6 9.3课堂笔记
  • 10 软件设计的进化
    • 10.1 遗留系统
      • 10.1.1 课件
      • 10.1.2 视频
    • 10.2 软件的进化策略
      • 10.2.1 课件
      • 10.2.2 视频
    • 10.3 软件再工程
      • 10.3.1 课件
      • 10.3.2 视频
    • 10.4 软件体系结构的进化
      • 10.4.1 课件
      • 10.4.2 视频
    • 10.5 代码重构和数据重构、软件移植
      • 10.5.1 课件
      • 10.5.2 视频
    • 10.6 作业
    • 10.7 10.1-10.3课堂笔记
    • 10.8 10.4-10.5课堂笔记
  • 11 实验
    • 11.1 实验教学大纲
    • 11.2 实验PPT
    • 11.3 实验讲解视频
    • 11.4 实验2 UML类图设计
    • 11.5 实验3 编程视频 代码下载
    • 11.6 实验3 简易写法
    • 11.7 实验4 工厂方法复习视频
    • 11.8 实验4 协作图 类图 代码
    • 11.9 实验4 适配器模式
    • 11.10 拓展内容5 后续改进
    • 11.11 实验参考资料
    • 11.12 实验报告模板
    • 11.13 实验报告提交
    • 11.14 软件常见功能模块
本章作业

随着第三方网络后台的发展,比如聚合数据,智能物联网后台,EJB和CORBA的分布构件,很少使用。

主要面向windows、使用C++语言编写DCOM构件,很少使用。

分布构件的底层原理基于计算机网络技术。建议复习TCP socket连接、监听、收发数据过程。

对大二知识的解惑

java用虚拟机,不需要windows注册表。但是java访问mysql数据库,不需在哪注册一下驱动程序吗?

Class.forName(“com.mysql.jdbc.Driver”);
String url = “jdbc:mysql://localhost:3306/dbname?user=root&password=123456″;
Connection con = DriverManager.getConnection(url);

阅读第一句com.mysql.jdbc.Driver的源码:

public class Driver extends NonRegisteringDriver implements java.sql.Driver {

      static {

        try {           DriverManager.registerDriver(new Driver());

        } catch (SQLException var1) {

            throw new RuntimeException("Can't register driver!");

        }

    }

}

大二课程中“加载驱动”的含义:Class.forName触发了 DriverManager.registerDriver。java自带一个类DriverManager,相当于注册表的部署功能,只有第一句注册成功,才可以第二句连接成功。


分布构件的新发展:

了解第三方聚合数据平台。

了解小米、百度第三方物联网平台。

一、拓展思考:

    用外观模式封装socket网络编程,模拟实现分布构件技术。需要计算机网络socket编程、多线程编程,以及java反射机制。

了解网站插件市场,比如微信小程序插件、广告插件、推送插件、PHP网站插件技术。

由于网络卡顿,消息队列中间件技术有了新的发展。

二、了解微服务架构Serverless:

两个通用功能正在发展为Serverless. 增删改查,和用户注册、登录(微信QQ登录接口)。

用户数据也在发展为Serverless:比如统一的微信用户在各种小游戏上的行为数据、游戏积分。

更多的业务功能,也在变为通用的第三方组件。比如完整的电商模板、后台管理模板、多种用户类型的权限管理、工作事务流的管理(正常流程、复杂流程、事务产生的单据管理和审批)。

微信小程序后台,提供第三方接口:保存和读取微信小游戏用户得分、用户在某个群内的排行榜,用户在好友之间的排行榜。用户和用户好友、所在群的信息,怎样加入验证机制,不被轻易盗取。

参考资料:https://www.jianshu.com/p/83f581645352

https://www.jianshu.com/p/92632d6c2269

在获取用户积分后,根据不同的等级,输出不同的头衔、称谓。

技术新发展

越来越多的功能,变为通用构件。

细化的功能模块,变为灵活配置的插件。比如论坛积分管理插件、发红包插件、第三方支付插件、积分促销插件、打卡签到补签插件。