内容简介
第1章 软件架构设计实训课程导论
1.1 实训课程的培养目标
1.1.1 架构师是软件开发的“老兵”
1.1.2 架构师的知识与能力积累
1.1.3 课程目标:“架构意识”的启蒙
1.2 实训课程的主要内容
1.2.1 实训课程的主要内容和课时安排
1.2.2 传统主课程的知识结构和内容安排
1.2.3 《软件架构设计实践教程》的知识结构和内容安排
1.2.4 与《软件架构设计实践教程》的互补性
1.2.5 如何使用本教程
1.3 实训课程计划与考核
1.3.1 软件逻辑体验实训课程计划
1.3.2 树莓派系统开发与集成实训课程计划
1.3.3 企业级系统分析与二次开发实训课程
1.3.4 考试方法与成绩评定
1.3.5 实训课程考核的思路
1.4 实训课程的课程资源
1.4.1 课程资源
1.4.2 参考书目
1.5 实训课程的难点与关键点
1.5.1 大系统与小系统的区别
1.5.2 引进大型系统的难度
1.6 构建完整的实训课程体系
1.6.1 构建完整实训体系的目标与指导思想
1.6.2 主课程改革的三阶段总体设计
1.6.3 配套进行的实训课程三阶段设计
1.6.4 实训课程的企业本质
第2章 软件的逻辑与思维训练
2.1 从代码到架构的逻辑思维层次
2.1.1 逻辑与程序逻辑
2.1.2 程序逻辑与算法逻辑
2.1.3 超越程序和算法的系统逻辑
2.1.4 逻辑架构与架构逻辑
2.2 逻辑思维训练的实训设计
2.2.1 本次实训课程的目标
2.2.2 本次实训课程的时机安排
2.2.3 本次实训的二次开发项目选择
2.2.4 本次实训课程的授课方法
2.2.5 项目二次开发的意义
2.2.6 平台选择
2.2.7 实训课程的意义和价值检验
2.2.8 课程要求
2.2.9 动手能力基础
2.2.10 师傅带徒弟式的教学方法
2.3 理解程序逻辑
2.3.1 读懂别人程序的办法
2.3.2 看什么不看什么
2.3.3 万年历代码的模块抽取
2.3.4 归纳出程序的逻辑流程图
2.3.5 增加农历的具体实现步骤分解
2.3.6 计算农历的代码
2.3.7 显示农历的代码
2.3.8 课程小结
2.4 从程序到算法
2.4.1 修改程序
2.4.2 简单改进需求的实现
2.4.3 24点计算的第一次优化
2.4.4 更复杂的情况
2.4.5 课程小结
2.5 从算法到业务逻辑
2.5.1 五子棋程序的系统构成
2.5.2 模块划分与子系统设计
2.5.3 添加“人机对弈”功能的系统实现方案
2.5.4 智能机器人
2.5.5 课程总结
2.6 感受架构逻辑思维
2.6.1 推箱子游戏的新需求介绍
2.6.2 系统层面的新需求分析
2.6.3 推箱子程序的主程序代码分析
2.6.4 推箱子的move模块代码分析
2.6.5 推箱子模块的修改
2.6.6 关键质量属性需求
2.6.7 推箱子的关键机制分析
2.6.8 课程小结
第3章 基于Arduino的前端开发
3.1 从“码工”到架构师
3.1.1 “系统级”应用的概念
3.1.2 从“码工”到架构师的沉淀
3.1.3 “企业级”系统学习与实践的缺失
3.2 小型系统开发与集成实训
3.2.1 本次实训课程的目标
3.2.2 本次实训课程的课时计划
3.2.3 实验设备配置
3.2.4 本次实训的二次开发项目选择
3.2.5 本次实训课程的授课方法
3.2.6 实训课程的意义、价值与检验
3.3 树莓派应用开发与参赛
3.3.1 树莓派与物联网
3.3.2 树莓派与云计算
3.3.3 树莓派与大数据
3.4 应用平台选择与体验
3.4.1 物联网应用系统的逻辑与物理架构
3.4.2 物联网应用系统的逻辑和运行架构
3.4.3 配置树莓派
3.4.4 实现树莓派的远程登录
3.4.5 让树莓派成为samba文件服务器
3.4.6 让树莓派成为Web服务器
3.4.7 让树莓派成为媒体服务器
3.4.8 课程小结
3.5 用树莓派GPIO控制LED
3.5.1 认识树莓派的GPIO
3.5.2 GPIO接口编程体验
3.5.3 使用函数库实现GPIO接口控制
3.6 了解Arduino开发平台
3.6.1 Arduino平台介绍
3.6.2 Windows环境下的Arduino IDE
3.6.3 树莓派环境下的Arduino IDE
3.6.4 树莓派与Arduino IDE通信
3.7 用DHT11获取温度
3.7.1 DHT11温湿度传感器简介
3.7.2 DHT11传感器的技术指标
3.7.3 连接电路
3.7.4 DHT11的时序
3.7.5 硬件接线
3.7.6 DHT11传感器信息采集软件
3.7.7 编译运行
3.8 用四位数码管显示温度
3.8.1 四位共阴数码管介绍
3.8.2 数码管接口说明
3.8.3 74HC595的控制逻辑
3.8.4 数码管的片选与刷新
3.8.5 代码说明
3.9 课程小结
第4章 基于树莓派的开发与集成
4.1 树莓派平台集成的需求
4.2 选择树莓派上的PyQt界面框架
4.3 显示树莓派CPU温度的界面
4.4 前端Arduino与树莓派通信集成
4.5 实现温度显示与控制的集成
4.6 课程小结
第5章 物联网服务器的开发与集成
5.1 与Yeelink服务器集成
5.1.1 物联网服务器Yeelink的功能与局限
5.1.2 Yeelink的接入设备与存储数据类型
5.1.3 在Yeelink上创建自己的设备和传感器
5.1.4 HTTP协议简介
5.1.5 有关Requests
5.1.6 有关JSON库
5.1.7 上传数据到Yeelink
5.1.8 Yeelink服务器的客户端APP
5.2 开发自己的云服务器应用
5.2.1 搭建苏宁云服务器环境
5.2.2 把应用搬到云服务器上去
5.2.3 开发自己的Web应用
5.2.4 树莓派与Web服务器交互
5.2.5 搭建一个Web网站
5.2.6 在云上直接控制树莓派点亮LED
5.3 将本例改造成电梯群控系统
5.3.1 电梯群控的物理架构与系统集成
5.3.2 电梯群控的运行架构与功能边界划分
5.3.3 电梯群控的逻辑架构与系统信息交互
5.3.4 电梯群控的可行性分析
5.4 参加物联网创意大赛
5.4.1 参赛的项目层面考虑
5.4.2 从获奖项目中了解参赛的机会与目标
5.4.3 关注数据来源
5.4.4 关注数据采集方式
5.4.5 关注数据应用
5.5 阶段课程小结
第6章 STKUI的总体架构分析
6.1 软件系统分析的基本概念
6.1.1 软件系统分析的目标与过程
6.1.2 软件架构的五个基本架构描述方法
6.1.3 软件架构分析的UML描述方法
6.1.4 基于架构的软件系统分析
6.1.5 软件系统的逆向分析
6.1.6 应用系统的关键需求与架构
6.1.7 基于软件工程过程文档的系统分析
6.1.8 理解企业级应用系统的基础与应用框架
6.2 股票软件的功能与实现要点
6.2.1 股票软件功能及其软件实现概述
6.2.2 股票行情功能及其软件实现
6.2.3 股票指标分析功能及其软件实现
6.2.4 股票交易功能及其软件实现
6.3 STKUI系统的物理架构分析
6.3.1 STKUI的物理架构
6.3.2 STKUI物理架构分析的意义
6.4 STKUI系统的开发架构分析
6.4.1 STKUI系统的9个开发工程包
6.4.2 STKUI开发架构分析与综述
6.4.3 理解软件系统开发架构的意义和作用
6.5 STKUI系统的运行架构分析
6.5.1 系统登录与数据接口界面
6.5.2 STKUI的功能层次结构
6.5.3 STKUI菜单、工具条按钮与功能窗口
6.5.4 STKUI运行架构的评价与改进
6.6 STKUI系统的逻辑架构分析
6.6.1 理解MFC的应用程序框架
6.6.2 从菜单追踪到代码
6.6.3 逻辑架构分析中的继承关系与调用关系
6.6.4 STKUI的类与继承关系
6.6.5 STKUI的类与调用关系
6.6.6 STKUI的全局变量
6.7 STKUI系统的数据架构分析
第7章 STKUI的基本功能分析与二次开发
7.1 股票软件系统的分析与二次开发实训
7.1.1 本次实训课程的目标
7.1.2 本次实训课程的课时计划
7.1.3 本次实训的二次开发项目选择
7.1.4 实训课题的意义、价值与检验
7.2 股票用户图形界面的实现分析与二次开发
7.2.1 MFC文档与视图的简单回顾
7.2.2 STKUI所使用的第三方用户界面框架
7.2.3 STKUI的窗口实现
7.2.4 STKUI的菜单与工具条实现
7.2.5 Qt5及其用户界面开发
7.2.6 基于Qt5+VS 2010的STKUI用户界面二次开发
7.2.7 STKUI移植的可行性实验
7.2.8 STKUI的移植开发
7.3 股票分时行情显示的实现分析与二次开发
7.3.1 STKUI的行情功能
7.3.2 STKUI的分时曲线绘制及其软件实现
7.3.3 STKUI行情功能的二次开发
7.4 股票指标分析的实现分析与二次开发
7.4.1 股票指标分析算法概述
7.4.2 股票指标分析的软件实现
7.4.3 股票指标分析的二次开发
7.5 STKUI数据接口的实现分析与二次开发
7.5.1 有关接口的概念
7.5.2 STKUI的数据接口分析
7.5.3 从接口到硬盘
7.5.4 通过接口获得实时数据
7.5.5 有关数据接口的二次开发
7.6 STKUI数据存储结构的实现分析
7.6.1 STKUI的数据存储
7.6.2 STKUI的数据获取过程
7.6.3 数据的使用方法
7.7 课程小结
第8章 STKUI的扩展功能分析与二次开发
8.1 策略模型的建立与模拟交易分析
8.1.1 策略及其意义
8.1.2 STKUI策略系统的功能实现分析
8.1.3 STKUI策略的实现代码分析
8.1.4 STKUI策略实现的改进与二次开发
8.2 基于策略模拟的程序化交易实现
8.2.1 STKUI的程序交易
8.2.2 一个程序交易程序的DEMO
8.2.3 程序交易接口的概念
8.2.4 通达信程序化交易接口
8.2.5 程序交易的实现方案
8.2.6 从策略模拟到量化投资
8.3 基于盘口的数据技术分析
8.3.1 什么是“盘口”
8.3.2 盘口数据与Level2
8.3.3 基于盘口Level2的数据分析软件
8.3.4 盘口数据程序来源于接口
8.3.5 基于盘口数据的二次开发
8.4 股票的大数据分析与应用
8.4.1 大数据技术的基本概念
8.4.2 股市舆情的大数据分析
8.4.3 热点股票的大数据舆情分析
8.4.4 “百度股市通”软件
8.4.5 第三维看股
8.5 课程小结
第9章 面向服务的STKUI架构再造
9.1 面向服务的系统新需求
9.1.1 机构可提供的股票服务
9.1.2 面向股票服务的新需求
9.2 面向服务需求与架构关系分析
9.2.1 STKUI功能与架构的关系
9.2.2 面向服务的关键质量需求
9.2.3 D-Alpha系统的架构蓝图参考
9.3 FB2K的架构设计新思路与参考
9.3.1 FB2K的用户界面框架样式
9.3.2 FB2K界面框架与插件的载入与使用设置
9.3.3 架构师眼中的FB2K插件逻辑
9.3.4 面向对象设计模式的工厂方法
9.3.5 FB2K SDK工厂方法的运用
9.3.6 SDK部分代码分析
9.4 轻量级行业框架的系统架构设计
9.4.1 框架与行业应用框架的概念
9.4.2 轻量级框架的概念
9.4.3 面向股票的行业框架与轻量化方案
9.5 轻量级框架下的插件开发
9.5.1 业务插件的分类
9.5.2 业务插件的加载方式
9.5.3 加载业务插件的呈现
9.5.4 业务插件的接口标准
9.5.5 业务插件的开发实现
9.6 面向服务的SOA架构分析
9.6.1 服务提供的架构和机制
9.6.2 面向服务的SOA架构
9.6.3 SOA架构的实现机制
9.6.4 基于SOA的应用案例需求
9.6.5 基于SOA特色的应用案例实现
9.7 基于SOA的公式自定义设计与实现
9.7.1 股票软件公式的自定义
9.7.2 华泰专业版Ⅱ的公式自定义功能
9.7.3 STKUI的公式自定义功能实现
9.7.4 面向服务的公式自定义设计与实现
9.8 阶段课程小结
参考文献