软件系统分析与设计实训教程

软件系统分析与设计实训教程

张家浩, 编著

出版社:清华大学出版社

年代:2016

定价:45.0

书籍简介:

本课程以“软件系统的分析与设计”的体验与实际动手能力培养为目标,在学生已经或正在学习“软件系统分析与设计”相关课程(主课程)的同时或之后,通过本课程的辅助、补充、强化,实际体验软件系统分析与设计的基本概念和常用技术方法。

书籍目录:

第1章软件架构设计实训课程导论1

1.1实训课程的培养目标1

1.1.1架构师是软件开发的“老兵”2

1.1.2架构师的知识与能力积累3

1.1.3课程目标: “架构意识”的启蒙4

1.2实训课程的主要内容5

1.2.1实训课程的主要内容和课时安排5

1.2.2传统主课程的知识结构和内容安排6

1.2.3《软件架构设计实践教程》的知识结构和内容安排6

1.2.4与《软件架构设计实践教程》的互补性7

1.2.5如何使用本教程8

1.3实训课程计划与考核9

1.3.1软件逻辑体验实训课程计划9

1.3.2树莓派系统开发与集成实训课程计划10

1.3.3企业级系统分析与二次开发实训课程11

1.3.4考试方法与成绩评定12

1.3.5实训课程考核的思路12

1.4实训课程的课程资源14

1.4.1课程资源14

1.4.2参考书目14

1.5实训课程的难点与关键点14

1.5.1大系统与小系统的区别15

1.5.2引进大型系统的难度15

1.6构建完整的实训课程体系17

1.6.1构建完整实训体系的目标与指导思想17

1.6.2主课程改革的三阶段总体设计18

1.6.3配套进行的实训课程三阶段设计20

1.6.4实训课程的企业本质20第2章软件的逻辑与思维训练22

2.1从代码到架构的逻辑思维层次22

2.1.1逻辑与程序逻辑23

2.1.2程序逻辑与算法逻辑25

2.1.3超越程序和算法的系统逻辑26

2.1.4逻辑架构与架构逻辑29

2.2逻辑思维训练的实训设计31

2.2.1本次实训课程的目标31

2.2.2本次实训课程的时机安排32

2.2.3本次实训的二次开发项目选择32

2.2.4本次实训课程的授课方法33

2.2.5项目二次开发的意义 33

2.2.6平台选择34

2.2.7实训课程的意义和价值检验34

2.2.8课程要求35

2.2.9动手能力基础35

2.2.10师傅带徒弟式的教学方法36

2.3理解程序逻辑36

2.3.1读懂别人程序的办法37

2.3.2看什么不看什么38

2.3.3万年历代码的模块抽取38

2.3.4归纳出程序的逻辑流程图41

2.3.5增加农历的具体实现步骤分解42

2.3.6计算农历的代码42

2.3.7显示农历的代码43

2.3.8课程小结44

2.4从程序到算法44

2.4.1修改程序44

2.4.2简单改进需求的实现45

2.4.324点计算的第一次优化47

2.4.4更复杂的情况 49

2.4.5课程小结49

2.5从算法到业务逻辑50

2.5.1五子棋程序的系统构成50

2.5.2模块划分与子系统设计54

2.5.3添加“人机对弈”功能的系统实现方案 55

2.5.4智能机器人58

2.5.5课程总结61

2.6感受架构逻辑思维62

2.6.1推箱子游戏的新需求介绍62

2.6.2系统层面的新需求分析 64

2.6.3推箱子程序的主程序代码分析66

2.6.4推箱子的move模块代码分析 67

2.6.5推箱子模块的修改70

2.6.6关键质量属性需求 71

2.6.7推箱子的关键机制分析73

2.6.8课程小结 75第3章基于Arduino的前端开发77

3.1从“码工”到架构师77

3.1.1“系统级”应用的概念78

3.1.2从“码工”到架构师的沉淀80

3.1.3“企业级”系统学习与实践的缺失81

3.2小型系统开发与集成实训82

3.2.1本次实训课程的目标83

3.2.2本次实训课程的课时计划84

3.2.3实验设备配置86

3.2.4本次实训的二次开发项目选择87

3.2.5本次实训课程的授课方法88

3.2.6实训课程的意义、价值与检验88

3.3树莓派应用开发与参赛89

3.3.1树莓派与物联网89

3.3.2树莓派与云计算92

3.3.3树莓派与大数据 93

3.4应用平台选择与体验95

3.4.1物联网应用系统的逻辑与物理架构95

3.4.2物联网应用系统的逻辑和运行架构96

3.4.3配置树莓派97

3.4.4实现树莓派的远程登录101

3.4.5让树莓派成为samba文件服务器105

3.4.6让树莓派成为Web服务器108

3.4.7让树莓派成为媒体服务器110

3.4.8课程小结112

3.5用树莓派GPIO控制LED113

3.5.1认识树莓派的GPIO113

3.5.2GPIO接口编程体验117

3.5.3使用函数库实现GPIO接口控制121

3.6了解Arduino开发平台125

3.6.1Arduino平台介绍126

3.6.2Windows环境下的Arduino IDE127

3.6.3树莓派环境下的Arduino IDE131

3.6.4树莓派与Arduino IDE通信131

3.7用DHT11获取温度135

3.7.1DHT11温湿度传感器简介135

3.7.2DHT11传感器的技术指标136

3.7.3连接电路136

3.7.4DHT11的时序137

3.7.5硬件接线138

3.7.6DHT11传感器信息采集软件138

3.7.7编译运行140

3.8用四位数码管显示温度141

3.8.1四位共阴数码管介绍141

3.8.2数码管接口说明141

3.8.374HC595的控制逻辑142

3.8.4数码管的片选与刷新143

3.8.5代码说明143

3.9课程小结146第4章基于树莓派的开发与集成147

4.1树莓派平台集成的需求147

4.2选择树莓派上的PyQt界面框架148

4.3显示树莓派CPU温度的界面150

4.4前端Arduino与树莓派通信集成153

4.5实现温度显示与控制的集成155

4.6课程小结156第5章物联网服务器的开发与集成158

5.1与Yeelink服务器集成159

5.1.1物联网服务器Yeelink的功能与局限159

5.1.2Yeelink的接入设备与存储数据类型160

5.1.3在Yeelink上创建自己的设备和传感器161

5.1.4HTTP协议简介162

5.1.5有关Requests 164

5.1.6有关JSON库167

5.1.7上传数据到Yeelink168

5.1.8Yeelink服务器的客户端APP170

5.2开发自己的云服务器应用170

5.2.1搭建苏宁云服务器环境171

5.2.2把应用搬到云服务器上去175

5.2.3开发自己的Web应用178

5.2.4树莓派与Web服务器交互178

5.2.5搭建一个Web网站179

5.2.6在云上直接控制树莓派点亮LED184

5.3将本例改造成电梯群控系统186

5.3.1电梯群控的物理架构与系统集成187

5.3.2电梯群控的运行架构与功能边界划分187

5.3.3电梯群控的逻辑架构与系统信息交互188

5.3.4电梯群控的可行性分析189

5.4参加物联网创意大赛190

5.4.1参赛的项目层面考虑191

5.4.2从获奖项目中了解参赛的机会与目标192

5.4.3关注数据来源194

5.4.4关注数据采集方式195

5.4.5关注数据应用195

5.5阶段课程小结195第6章STKUI的总体架构分析197

6.1软件系统分析的基本概念197

6.1.1软件系统分析的目标与过程198

6.1.2软件架构的五个基本架构描述方法201

6.1.3软件架构分析的UML描述方法202

6.1.4基于架构的软件系统分析204

6.1.5软件系统的逆向分析205

6.1.6应用系统的关键需求与架构206

6.1.7基于软件工程过程文档的系统分析206

6.1.8理解企业级应用系统的基础与应用框架208

6.2股票软件的功能与实现要点209

6.2.1股票软件功能及其软件实现概述209

6.2.2股票行情功能及其软件实现212

6.2.3股票指标分析功能及其软件实现214

6.2.4股票交易功能及其软件实现215

6.3STKUI系统的物理架构分析216

6.3.1STKUI的物理架构216

6.3.2STKUI物理架构分析的意义216

6.4STKUI系统的开发架构分析217

6.4.1STKUI系统的9个开发工程包217

6.4.2STKUI开发架构分析与综述221

6.4.3理解软件系统开发架构的意义和作用222

6.5STKUI系统的运行架构分析222

6.5.1系统登录与数据接口界面223

6.5.2STKUI的功能层次结构223

6.5.3STKUI菜单、工具条按钮与功能窗口226

6.5.4STKUI运行架构的评价与改进228

6.6STKUI系统的逻辑架构分析230

6.6.1理解MFC的应用程序框架231

6.6.2从菜单追踪到代码235

6.6.3逻辑架构分析中的继承关系与调用关系239

6.6.4STKUI的类与继承关系240

6.6.5STKUI的类与调用关系244

6.6.6STKUI的全局变量245

6.7STKUI系统的数据架构分析245第7章STKUI的基本功能分析与二次开发247

7.1股票软件系统的分析与二次开发实训247

7.1.1本次实训课程的目标247

7.1.2本次实训课程的课时计划249

7.1.3本次实训的二次开发项目选择249

7.1.4实训课题的意义、价值与检验250

7.2股票用户图形界面的实现分析与二次开发250

7.2.1MFC文档与视图的简单回顾250

7.2.2STKUI所使用的第三方用户界面框架252

7.2.3STKUI的窗口实现255

7.2.4STKUI的菜单与工具条实现257

7.2.5Qt5及其用户界面开发260

7.2.6基于Qt5+VS 2010的STKUI用户界面二次开发264

7.2.7STKUI移植的可行性实验266

7.2.8STKUI的移植开发271

7.3股票分时行情显示的实现分析与二次开发271

7.3.1STKUI的行情功能271

7.3.2STKUI的分时曲线绘制及其软件实现273

7.3.3STKUI行情功能的二次开发276

7.4股票指标分析的实现分析与二次开发277

7.4.1股票指标分析算法概述277

7.4.2股票指标分析的软件实现281

7.4.3股票指标分析的二次开发294

7.5STKUI数据接口的实现分析与二次开发298

7.5.1有关接口的概念298

7.5.2STKUI的数据接口分析300

7.5.3从接口到硬盘306

7.5.4通过接口获得实时数据308

7.5.5有关数据接口的二次开发309

7.6STKUI数据存储结构的实现分析311

7.6.1STKUI的数据存储311

7.6.2STKUI的数据获取过程315

7.6.3数据的使用方法320

7.7课程小结322第8章STKUI的扩展功能分析与二次开发323

8.1策略模型的建立与模拟交易分析324

8.1.1策略及其意义 324

8.1.2STKUI策略系统的功能实现分析328

8.1.3STKUI策略的实现代码分析 332

8.1.4STKUI策略实现的改进与二次开发336

8.2基于策略模拟的程序化交易实现338

8.2.1STKUI的程序交易338

8.2.2一个程序交易程序的DEMO340

8.2.3程序交易接口的概念341

8.2.4通达信程序化交易接口342

8.2.5程序交易的实现方案349

8.2.6从策略模拟到量化投资352

8.3基于盘口的数据技术分析354

8.3.1什么是“盘口”355

8.3.2盘口数据与Level2355

8.3.3基于盘口Level2的数据分析软件358

8.3.4盘口数据程序来源于接口364

8.3.5基于盘口数据的二次开发368

8.4股票的大数据分析与应用370

8.4.1大数据技术的基本概念370

8.4.2股市舆情的大数据分析372

8.4.3热点股票的大数据舆情分析373

8.4.4 “百度股市通”软件374

8.4.5第三维看股374

8.5课程小结376第9章面向服务的STKUI架构再造377

9.1面向服务的系统新需求377

9.1.1机构可提供的股票服务378

9.1.2面向股票服务的新需求379

9.2面向服务需求与架构关系分析380

9.2.1STKUI功能与架构的关系380

9.2.2面向服务的关键质量需求382

9.2.3DAlpha系统的架构蓝图参考384

9.3FB2K的架构设计新思路与参考385

9.3.1FB2K的用户界面框架样式386

9.3.2FB2K界面框架与插件的载入与使用设置388

9.3.3架构师眼中的FB2K插件逻辑390

9.3.4面向对象设计模式的工厂方法392

9.3.5FB2K SDK工厂方法的运用396

9.3.6SDK部分代码分析399

9.4轻量级行业框架的系统架构设计403

9.4.1框架与行业应用框架的概念403

9.4.2轻量级框架的概念404

9.4.3面向股票的行业框架与轻量化方案405

9.5轻量级框架下的插件开发406

9.5.1业务插件的分类407

9.5.2业务插件的加载方式407

9.5.3加载业务插件的呈现408

9.5.4业务插件的接口标准409

9.5.5业务插件的开发实现409

9.6面向服务的SOA架构分析411

9.6.1服务提供的架构和机制411

9.6.2面向服务的SOA架构413

9.6.3SOA架构的实现机制415

9.6.4基于SOA的应用案例需求416

9.6.5基于SOA特色的应用案例实现418

9.7基于SOA的公式自定义设计与实现 423

9.7.1股票软件公式的自定义423

9.7.2华泰专业版Ⅱ的公式自定义功能425

9.7.3STKUI的公式自定义功能实现427

9.7.4面向服务的公式自定义设计与实现430

9.8阶段课程小结432参考文献433

内容摘要:

本教程是与计算机软件工程专业学生“软件体系结构”课程配套的实训教材,包括三个各为3~5周的实训课程。 全书共9章,分别是:第1章软件架构设计实训课程导论,第2章软件的逻辑与思维训练,第3章基于Arduino的前端开发,第4章基于树莓派的开发与集成,第5章物联网服务器的开发与集成,第6章STKUI的总体架构分析,第7章STKUI的基本功能分析与二次开发,第8章STKUI的扩展功能分析与二次开发,第9章面向服务的STKUI架构再造。其中第2章、第3~5章、第6~9章分别为三个完整的实训课程,因为篇幅关系,分在各章中。 三个实训课程在软件架构知识、学生认知能力、系统与项目开发规模与综合体验的复杂程度上,是三个递进、迭代层次,目标分别是系统逻辑思维训练、小系统开发与集成实训、大型“企业级”应用系统分析与二次开发实训。可根据学生情况和课程需要,分别或持续组织教学实施。 由于是实训课程教材,因此,教程仅仅在需要的地方,简单回顾软件架构设计有关的相关知识点和内容,全书重点是围绕三个实训的若干个项目,让读者从项目开发实践中体会软件架构设计的深度和广度。 教程配有全部PPT和项目源代码,方便老师和学生使用。本书主要用作软件工程相关专业的“软件体系结构”课程的配套实训课程,也可作为其他相关专业的教学用书,或作为从事软件开发的科技人员的参考书、培训教材等。

编辑推荐:

从软件企业中的“码农”成长为一名架构师,是不少IT人的“职业追求”,也是职业生涯中十分巨大的“成长跨越”。学校没有合适的“教科书”,企业没有合适的导师指导,很多时候只能靠自己的自发努力和悟性,成功率很低,希望本书内容可以帮到你。
与一般理论课程不同,本书完全以实战形式设计课程中的项目开发目标、需求、开发过程、验收标准,并结合学生实际情况教学和讲解,包括作为二次开发基础的项目背景与系统代码、架构分析、二次开发的需求与实现技术方案设计与分析等。学生在这个基础上完成实训课程要求的二次开发任务,掌握相关知识,获得相关训练。
本教程以架构师培养为目标,安排了软件逻辑思维训练、小型系统集成实训、企业级应用系统分析与二次开发实训等三个不同认知和能力层次的实训项目。三个项目在软件架构知识深度,学生认知能力水平,系统与项目开发规模、复杂性,架构分析与设计综合性等方面是三个递进、迭代的层次,版主读者通过实际开发训练获得架构设计体验,提升能力。

书籍规格:

书籍详细信息
书名软件系统分析与设计实训教程站内查询相似图书
9787302435631
如需购买下载《软件系统分析与设计实训教程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)45.0语种简体中文
尺寸26 × 19装帧平装
页数印数

书籍信息归属:

软件系统分析与设计实训教程是清华大学出版社于2016.出版的中图分类号为 TP311.5 的主题关于 软件设计-高等学校-教材 ,软件工程-系统分析-高等学校-教材 的书籍。