📚 EL2311 – 软件开发2 完整课程课件结构汇总 (Week 1 - Week 23)

Week 2 - 编程语言与面向对象基础 (Languages and OO Basics) — 18页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第2周 - 编程语言与面向对象基础
2 编程语言 Languages 语言选择、优缺点、适用场景、权衡取舍
3 编程范式 Programming Paradigms 四大范式:过程式、函数式、逻辑式、面向对象
4 函数式与逻辑式编程 Functional and Logic 函数式编程特点、不可变数据、Lisp/Haskell/Scala/F#
5 逻辑式编程 Logic Programming 基于公理和推理、Prolog、AI应用、非通用编程
6 过程式(命令式)编程 Procedural (Imperative) C/Pascal/Fortran/BASIC、控制结构、状态变化
7 过程式编程特点 Procedural Features 指令式布局、程序结构(开始-中间-结束)、循环
8 面向对象编程 Object Oriented Programming (OOP) 对象模型、属性与方法、封装继承多态、GUI适用
9 OOP语言分类 OO Languages 纯OO语言(Ruby/Smalltalk)、混合语言(Java/C#/Python)、C++特殊性
10 其他语言差异 Other Language Differences 编译型语言、可执行文件、编译过程、机器码
11 C#的特殊性 C# Strangeness CLR通用语言运行库、.NET框架、JIT及时编译
12 C#跨平台特性 C# Cross-platform .NET版本、Windows兼容性、与C程序对比
13 解释型代码 Interpreted Code 脚本语言、解释器、无需编译、跨机运行需解释器
14 解释型语言 Interpreted Languages Perl/Python/Ruby/JS、Java字节码/JVM、语言分组方式
15 面向对象原则 Object Oriented Principles 对象概念、属性与方法、机器人臂示例、Accessor/Mutator
16 C#中的OO原则 OO Principles in C# RobotArm类代码示例、属性定义、访问器
17 实例化与构造器 Instantiation new关键字、构造函数、属性访问(get/set)
18 下周预告 Next Week… 更多面向对象编程内容

Week 3 - 面向对象原则 (Object Oriented Principles) — 17页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第3周 - 面向对象原则
2 面向对象原则 Object Oriented Principles 本周主题:抽象、构造器、封装、继承、多态
3 抽象 Abstraction 模块化设计、信息隐藏、定义做什么而非如何做
4 抽象(续) Abstraction C#文本框示例、底层实现不可见、关注整体问题
5 封装 Encapsulation 数据与方法组合、机器人臂类示例、同一对象调用
6 构造器 / 析构器 Constructors / Destructors 构造器定义、签名差异、默认构造器
7 示例 Examples 三个重载构造器代码示例、对象默认值表格
8 析构器 Destructors 对象删除、C++内存释放、C#垃圾回收
9 罕见例外 Rare exceptions 非托管代码、高资源类、系统运行不可直接调用
10 继承 Inheritance 核心思想、属性行为继承、具体→通用
11 继承(续) Inheritance 机器人臂制造商示例、FanUC/Kuka特定类
12 继承 - 代码示例 Inheritance - Example RobotArm/KukaArm/FanUCArm代码、继承关系
13 继承说明 Inheritance - Example 粗体为继承属性、子类不继承超类构造器
14 多重继承 Multiple Inheritance 多来源继承、C++/Python支持、C#/Java不支持
15 致命菱形 Deadly Diamond of Death 移动机器人/机器人船/轮式机器人/无人机继承冲突
16 多态 Polymorphism 一个名字多种形式、方法重载、继承重载
17 多态(续) Polymorphism goHome()方法重写、同名不同实现

Week 4 - 接口与API (Interfaces and APIs) — 11页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第4周 - 接口与API
2 接口与API Interfaces and APIs 本周主题:接口、保护、API;与上周内容关联
3 接口 Interfaces 接口定义、只含签名不含实现、多接口继承
4 接口代码示例 Interfaces robot/roboCar/roboArm接口继承代码示例
5 接口说明 Interfaces 相同签名不同实现、类+多接口继承
6 多接口继承代码 Interfaces robot/fanucRobot/drillingRobot多接口代码
7 接口继承详解 Interfaces fanucDrillingRobot继承说明、接口继承接口
8 保护 Protection 信息隐藏概念、保护属性/方法
9 访问修饰符 Protection Public/Internal/Protected/Private四级访问控制
10 保护代码示例 Protection topLevel/subLevel/Form1访问修饰符代码示例
11 应用程序编程接口 Application Programming Interfaces API定义、程序间通信、文档说明

Week 5 - 软件方法论 (Software Methodologies) — 16页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第5周 - 软件方法论
2 软件方法论 Software Methodologies 开发困难性、方法论定义、四大类型介绍
3 瀑布方法 Waterfall Methods 五阶段:需求分析→设计→实现→测试→运维;优点
4 瀑布方法 Waterfall Methods 缺点:难以适应变化;适用性:需求明确时
5 瀑布方法 Waterfall Methods (图示页)
6 进化式方法 Evolutionary Methods 敏捷/极限编程、尽早发布频繁发布、原型迭代
7 进化式方法 Evolutionary Methods 缺点:缺乏可见性、结构不良;适用性:中小型系统
8 进化式方法 Evolutionary Methods (图示页)
9 形式化方法 Formal Methods 数学概念、规格说明转换、安全关键组件
10 形式化方法 Formal Methods 缺点:不适用大规模、开发时间长;适用性:专业领域
11 形式化方法 Formal Methods (图示页)
12 重用方法 Re-Use Methods 系统重用、内部组件/COTS商用现成组件、优点
13 重用方法 Re-Use Methods 适用性:通用问题、Microsoft Office示例
14 重用方法 Re-Use Methods (图示页)
15 软件方法论概述 Software Methodologies in General 五阶段总结、大型组织分工、小型项目建议
16 注意! Beware! 警示:说做某事不等于真的在做

Week 6 - 需求与分析 (Requirements & Analysis) — 15页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第6周 - 需求与分析 1
2 需求与分析 Requirements and Analysis 五步骤回顾、本周聚焦前两个步骤
3 需求与分析 Requirements and Analysis 需求定义、用户需求vs系统需求、需求冲突
4 用户需求 User Requirements 自然语言风格、高级视图、故意模糊、非技术用户问题
5 用户需求 User Requirements 用户需求的四种问题、解决方法、内部文档风格
6 系统需求 System Requirements 技术性文档、ATM示例(UR→SR转换)
7 系统需求 System Requirements 三类需求:功能/非功能/领域需求
8 功能需求 Functional Requirements 服务、输入输出、系统行为、完备性与一致性
9 功能需求 Functional Requirements 完备性(Completeness)与一致性(Consistency)目标
10 非功能需求 Non-Functional Requirements 可用性、准确性、成本、安全性、性能
11 非功能需求 Non-Functional Requirements 与功能需求冲突、测试指标定义
12 领域需求 Domain Requirements 领域特定要求、外部强加、文档完整性
13 系统需求文档 Systems Requirements Document 结构化文档、IEEE/ANSI 830-1998标准
14 IEEE 830-1998 IEEE 830-1998 标准说明页
15 参考文献 References Sommerville (2008) 软件工程第7版

Week 7 - 需求分析与设计示例实验课 (Requirements Analysis & Design Example Lab) — 12页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第7周 - 需求分析与设计示例实验课
2 从上周的实验课 From Last Week's Lab Session 自动化加油泵系统案例、信用卡支付、汽油/柴油/LPG
3 油泵需求 Pump Requirements 三类需求回顾:功能/非功能/领域需求
4 油泵功能需求 Functional Pump Requirements 客户加油、信用卡支付、用户需求功能
5 油泵非功能需求 Non-Functional Pump Requirements 支付系统接口、安全性、性能、收据打印
6 油泵非功能需求 Non-Functional Pump Requirements 燃油输送限制、最小/最大量、储罐液位处理
7 油泵非功能需求 Non-Functional Pump Requirements 具体指标:5秒验证、加密通信、£5-£99限制
8 油泵领域需求 Domain Pump Requirements 非领域专家、车辆加满检测、停止输送
9 用例图 Use Case Diagram 系统用例图示
10 序列图(支付) Sequence Diagram (Payment) 支付流程序列图
11 序列图(加油) Sequence Diagram (Fuelling) 加油流程序列图
12 类图 Class Diagram 系统类图

Week 7 - 测试与调试 (Testing and Debugging) — 20页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第7周 - 测试与调试 1
2 测试与调试 Testing and Debugging Kernighan名言、错误不可避免、测试必要性
3 测试与调试 Testing and Debugging 单元测试与系统测试、本周聚焦单元测试
4 单元测试 Unit Testing 语法错误与逻辑错误、IDE检测
5 Visual Studio 示例 Visual Studio Example 错误下划线、悬停信息、运行时错误
6 语法错误 Syntax Errors IDE信息谨慎对待、错误影响vs原因
7 语法错误 Syntax Errors 多语言切换、参考书与速查表
8 语法错误 Syntax Errors C#代码示例(除零、类型转换问题)
9 逻辑错误 Logical Errors 更难发现、代码正确但行为不符、三种原因
10 逻辑错误 Logical Errors 逻辑错误比编译错误更危险
11 逻辑错误 Logical Errors 追踪方法:文本框/消息框、断点概念、F9设置
12 VS 断点 VS Breakpoints 断点图示
13 VS 断点 VS Breakpoints 断点执行、鼠标悬停查看变量、步进选项
14 步进功能 Stepping Functions Step Into/Over/Out详解
15 步进功能 Stepping Functions 代码行号示例、F10/F11/Shift+F11应用
16 异常 Exceptions 不可预测错误、外部输入、可恢复性
17 Try, Catch, Finally Try, Catch, Finally 异常处理框架、三种语句作用
18 异常类型 Exception Types 常见异常:Format/InvalidCast/DivideByZero
19 异常类型 Exception Types catch(Exception ex)代码示例、AccessViolation
20 异常的使用 Usage of Exceptions 仅用于异常情况、不替代控制语句、性能代价

Week 8 - 系统测试 (System Testing) — 18页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第8周 - 测试与调试 2
2 测试 Testing 单元测试后进入系统测试、测试团队、黑盒/白盒测试
3 测试 Testing 三部分:集成测试、发布测试、性能测试
4 集成测试 Integration Testing 组件组合测试、API/接口测试、从小单元构建
5 发布测试 Release Testing 交付前测试、验收测试、黑盒测试、满足需求
6 性能测试 Performance Testing 压力测试、负载下的可靠性/正常运行时间/性能
7 性能测试 Performance Testing 极限负载下的错误发现、维护与升级规划
8 系统测试 vs 单元测试 Systems vs Unit Testing 为何不同团队、开发者视角vs测试者视角
9 系统测试 vs 单元测试 Systems vs Unit Testing 发现错误=成功、测试不应作为绩效衡量
10 测试用例设计 Test Case Design Whittaker原则:错误消息/缓冲区溢出/重复输入
11 等价域示例 Equivalence Domain Example 边界条件测试(3,4,10,11)、常规输入(7)、极端值
12 序列测试 Sequence Tests 多值序列输入、特定范围序列问题
13 序列测试 Sequence Tests Sommerville建议:单值序列、不同大小序列、边界访问
14 测试设计 Test Design 测试计划先行、测试模板记录输入与预期结果
15 测试表格 Test Table 两整数相加测试用例表(0-100范围、边界、无效输入)
16 真实世界系统 Real World System 为何有缺陷系统、测试困难、经济现实、罕见错误
17 真实世界系统 Real World System 权衡:按时发布vs无错误发布、补丁更新、伦理考量
18 参考文献 References / Bibliography Whittaker (2002)、Sommerville (2004)

Week 9 - 多线程 (Multithreading) — 19页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第9周 - 多线程
2 多线程 Multithreading 顺序执行vs并发、芯片设计哲学变化、多核处理器
3 多线程 Multithreading 适用领域:数学函数、UI解耦、大数据、多用户、中断
4 多少线程? How many threads? misconception:线程数≠核心数、内存限制、上下文切换
5 多少线程? How many threads? 线程优先级、队列插队、快速切换模拟并行
6 线程的问题 Problems with threads 设计谨慎、执行顺序不可控、同一代码多次运行结果不同
7 线程的问题 Problems with threads 颠簸、资源分割、竞争条件、算法设计、顺序操作
8 颠簸 Thrashing 上下文切换成本、线程饥饿、频繁切换导致CPU只做切换
9 颠簸 Thrashing 线程数量控制、硬件/其他任务影响
10 资源分割/共享 Resource Splitting/Sharing CPU时间共享、磁盘/通信/内存访问冲突、多线程收益有限
11 竞争条件 Race Condition 两进程同时访问同一资源、结果取决于先后顺序
12 竞争条件 Race Condition 银行转账示例:存款£100 vs 取款£80、顺序影响结果
13 算法设计 Algorithm Design 并行算法与顺序算法差异、数据分割、独立性、偏差
14 算法设计 Algorithm Design 并行算法效率、数据量阈值、小规模数据顺序更快
15 顺序操作 Sequential Actions 某些操作本质顺序:均值计算示例、分线程计算错误
16 顺序操作 Sequential Actions 正确方法:跟踪数量和总和、最后汇总计算
17 线程解决方案 Threading Solutions 锁、优先级、线程安全结构、线程关联性、死锁/活锁
18 C#中的线程 Threads in C# BackgroundWorker(单任务后台)、ThreadPool、Thread
19 C#中的线程 Threads in C# 三种线程对比:控制级别、UI交互、前台/后台线程

Week 10 - 并发 (Concurrency) — 17页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第10周 - 并发
2 并发 Concurrency 线程之外的多进程访问、硬盘/数据库/串口/内存
3 处理并发 Dealing with Concurrency 锁的概念、共享锁和排他锁、读共享/写排他
4 锁示例 Lock Example 数据库两事务同一账户、丢失更新问题(无锁)
5 锁示例 Lock Example 实现锁后的正确事务处理
6 Locks 锁粒度:单元/行/列/表/整个数据库、可用性影响
7 锁的问题 Lock Problems 死锁:两进程各持资源等待对方释放
8 死锁 Deadlock 解决方案:中止重启、超时/预防/检测恢复
9 死锁 Deadlock 活锁:与死锁类似但持续请求资源、高CPU占用
10 超时 Timeouts 最简单死锁处理、等待时间限制、可能误判
11 死锁预防 Deadlock Prevention 时间戳优先级、Wound/Wait与Wait/Die策略
12 死锁预防 Deadlock Prevention Wound/Wait和Wait/Die策略对比表格
13 死锁检测与恢复 Deadlock Detection and Recovery 允许死锁发生、Wait-For-Graphs监控、循环检测
14 死锁检测与恢复 Deadlock Detection and Recovery 选择牺牲进程:效率、复杂度、饥饿问题
15 等待图示例 Wait For Graph Example 进程资源锁定等待表、有向图绘制、循环识别
16 死锁检测与恢复 Deadlock Detection and Recovery WFG图示、P5-P2-P4和P2-P3-P6-P7-P5循环、最佳中止候选
17 参考文献 References / Bibliography Connelly & Begg (2004)、Tanenbaum & Van Steen (2013)

Week 11 - 并行与分布式 (Parallel and Distributed) — 10页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第11周 - 并行与分布式
2 并行与分布式处理 Parallel and Distributed Processing 线程与并发回顾、系统级别对比、重叠与争论
3 并行计算 Parallel Computing 共享资源(内存/处理器)、多核处理器、专用语言历史
4 并行计算 Parallel Computing 通信成本低、内存共享、多种硬件架构
5 并行架构 Parallel Architecture 共享内存:所有处理器访问所有数据、并发控制、昂贵
6 并行架构 Parallel Architecture 独立内存:各处理器控制、数据请求昂贵、更便宜
7 并行架构 Parallel Architecture 混合架构:私有+共享内存、复杂数据模型、昂贵且难设计
8 分布式计算 Distributed Computing 网络通信、廉价商品组件、大数据/云计算/IoT
9 大数据 Big Data 分布式商品硬件、Hadoop框架、容错与故障重路由
10 共同问题 Common Issues 负载均衡、数据分配、存储位置、复制问题

Week 12 - 数据 (Data) — 12页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第12周 - 数据
2 数据 Data 系统最重要部分、数据收集/格式/存储/处理、数据vs信息
3 数据格式 Data Formats 传输考虑、文本格式优势、四种常见格式
4 纯文本 Plain Text 人类生成、邮件/文档、难以机器处理、正则表达式
5 纯文本 Plain Text 正则表达式示例、科学计数法检查、自然语言处理(NLP)
6 结构化文本 Structured Text CSV/制表符分隔、分隔符区分值、机器人信息示例
7 结构化文本 Structured Text 易于构建解码、需预知布局、空值处理、搜索费力
8 XML XML 可扩展标记语言、标准化数据表示、机器人信息XML示例
9 XML XML 版本头、根元素、父子元素关系、C#本地库支持
10 XML XML C#处理方式:XML Reader/XML Document、搜索优势
11 JSON JSON JavaScript对象表示法、类似XML、机器人信息JSON示例
12 JSON JSON XML vs JSON争论、紧凑性/可读性/采用度、.NET 4.5支持

Week 13 - 数据存储1 (Data Storage 1) — 14页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第13周 - 数据存储1
2 数据存储 Data Storage 长期持久存储、平面文件vs数据库、选择依据
3 平面文件存储 Flat File Storage 一次性读写、追加困难、XML/JSON格式、适用场景
4 平面文件存储 Flat File Storage 单用户、大数据量操作、很少更新、日志系统
5 数据库系统 Database Systems DBMS处理访问/安全/并发、关系数据库最常见
6 数据库系统 Database Systems Oracle/MySQL/SQLServer/Access/PostgreSQL/DB2
7 关系数据库系统 Relational Database Systems Codd发明、元组与属性、第一范式、主键
8 关系数据库系统 Relational Database Systems 索引、外键、数据完整性、表拆分
9 示例关系 Example Relations Inventory表和Supplier表、组件与供应商信息
10 数据库语言 Databases Languages DDL数据定义语言、DML数据操纵语言、SQL统一
11 数据库语言 Databases Languages SQL查询、与编程语言集成、ANSI/ISO标准
12 为何RDBMS流行 Why are RDBMs so Popular? ACID属性:原子性、一致性、隔离性、持久性
13 为何RDBMS流行 Why are RDBMs so Popular? 原子性详解:全有或全无、回滚/撤销、事务日志
14 为何RDBMS流行 Why are RDBMs so Popular? 一致性、隔离性、持久性详解

Week 14 - 数据存储2 (Data Storage 2) — 22页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第14周 - 数据存储2
2 数据存储 Data Storage RDBMS弱点、非关系型数据库、替代存储技术
3 数据存储 Data Storage OLTP联机事务处理 vs OLAP联机分析处理
4 数据存储 Data Storage 行存储vs列存储、物理磁盘存储方式
5 数据存储 Data Storage 行存储示例:按行顺序存储、查询整行快
6 数据存储 Data Storage 列存储示例:按列顺序存储、单列查询快
7 数据存储 Data Storage 列存储优缺点、范围查询、行信息重构
8 面向对象数据库 Object Oriented Databases OO模型存储、继承等特性、与OOP语言无缝集成
9 面向对象数据库 Object Oriented Databases 语言绑定限制、宿主语言查询、无索引
10 图数据库 Graph Databases 复杂数据模式、节点与边、时空关联、RDBMS困难
11 图数据库 Graph Databases 查询速度扩展性、存储效率、独特查询语言、一致性
12 NoSQL NoSQL 背景:云计算/分布式/大数据/IoT、海量/快速/非结构化数据
13 NoSQL NoSQL NoSQL家族、不同解决方案、"No SQL" vs "Not only SQL"
14 Hadoop Hadoop 分布式计算框架、HDFS文件系统、128MB块大小
15 Hadoop Hadoop 块概念、无法更新删除、只能DROP表、无法Join
16 HDFS数据库 HDFS Databases Apache Hive:默认存储、HiveQL、OLAP、数据仓库
17 HDFS数据库 HDFS Databases Apache Hbase:OLTP、键值对、CQL、Phoenix SQL层
18 HDFS数据库 HDFS Databases Apache Cassandra:Facebook开发、去中心化复制
19 键值数据库 Key / Value Databases 键值对概念、值可拆分为列、基于键的分布存储
20 其他NoSQL数据库 Other NoSQL Databases Redis:内存键值、极快、RAM限制、股票/遥测
21 其他NoSQL数据库 Other NoSQL Databases MongoDB/CouchDB:文档存储(JSON)、分片、一致性模型
22 结论 Conclusions RDBMS未消亡、替代方案有缺点、SQL仍是数据访问语言

Week 15 - 云计算 (Cloud Computing) — 16页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第15周 - 云计算
2 云计算 Cloud Computing 远程服务替代本地IT设备、旧概念新实现、虚拟化技术
3 云计算 Cloud Computing 用户端桌面PC、云端商品服务器、虚拟机映像
4 云计算层次结构 Cloud Computing Hierarchy 三种服务类型:SaaS/PaaS/IaaS、用户控制vs提供商提供
5 SaaS SaaS (Software as a Service) 软件即服务、无需安装、低硬件要求、提供商维护
6 SaaS SaaS (Software as a Service) 缺点:不拥有软件、需一直在线、订阅费/按量付费、示例
7 PaaS PaaS (Platform as a Service) 平台即服务、OS+开发框架、创建在线应用、托管环境
8 PaaS PaaS (Platform as a Service) 缺点:工具限制、切换困难、依赖托管公司、定价模式
9 IaaS IaaS (Infrastructure as a Service) 基础设施即服务、提供硬件、用户设置软件、最基础级别
10 IaaS IaaS (Infrastructure as a Service) 故障替换而非恢复、按量付费(CPU/内存/存储/传输)、示例
11 云计算问题 Issues With Clouds 安全性、加密传输/存储、用户密码问题、信息集中风险
12 云计算问题 Issues With Clouds 工业部门问题、数据物理位置、美国vs欧盟法律、区域选择
13 云计算问题 Issues With Clouds 私有云:OpenStack、公司完全控制、内部维护备份
14 云计算问题 Issues With Clouds 混合云:敏感数据留本地、日常处理上云端
15 云计算问题 Issues With Clouds 云迁移困难、数据传输昂贵、可用性问题、停机风险
16 云计算应用 Cloud Applications 大数据 analytics、IoT/IoE传感器通信、协作项目、云制造

Week 16 - 物联网 (Internet of Things / Everything) — 17页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第16周 - 物联网
2 物联网/万物互联 Internet of Things / Everything 云计算应用、传感器嵌入设备、P2P或客户端/服务器
3 物联网 Internet of Things 设备架构图:多设备→云端平台→数据链路
4 IoT vs M2M IoT vs M2M 机器对机器通信、M2M短距离/封闭/昂贵/可靠、IoT松散集合
5 标准组织 Standards Organisations OASIS:IBM/Microsoft创立、RESTful/JSON/Web Services
6 标准组织 Standards Organisations IIC:OMG设立、IBM/AT&T/Cisco/Intel创始成员、IEEE等
7 协议标准 Protocol Standards 数据传输标准化重要性、应用和服务决定协议
8 协议标准 Protocol Standards 四大主协议:MQTT/MQTT-SN、DDS、AMQP、XMPP
9 MQTT / MQTT-SN MQTT / MQTT-SN 消息队列遥测传输、客户端/服务器、TCP/IP、低功耗
10 MQTT / MQTT-SN MQTT / MQTT-SN MQTT-SN放弃TCP-IP改用UDP、简单性、云提供商支持
11 DDS DDS 数据分布服务、高速实时、P2P和C/S、多协议兼容、OMG维护
12 AMQP AMQP 高级消息队列协议、C/S、银行起源、中介控制、TSL安全
13 XMPP XMPP 可扩展消息传递和到场协议、HTTP over TCP、IPv6、RESTful
14 实现 Implementation 从零构建或使用现成方案、ARM embed IoT平台、以太网套件
15 实现 Implementation Microsoft Azure IoT:事件中心、TCP/IP或AMQP、流分析
16 实现 Implementation 数据收集、流数据收集、存储与分析挑战
17 实现 Implementation 远程控制、断开后果、安全性、故障检测、自动驾驶示例

Week 18 - 数据处理1 (Data Processing 1 - Data Preparation) — 15页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第18周 - 数据处理1 (数据准备)
2 数据处理 Data Processing 数据是系统最重要部分、数据格式/存储/处理、数据vs信息
3 数据生命周期 Data Lifecycle KDD知识发现生命周期、数据准备→操作→反馈
4 数据生命周期 Data Lifecycle 数据来源、清洗收集、中央存储(数据仓库)
5 数据生命周期 Data Lifecycle 数据准备、操作阶段、结果反馈系统
6 数据清洗 Data Cleansing 移除/修正错误条目、缺失值/错误/异常值处理
7 数据清洗 Data Cleansing 缺失值处理(留空/插值)、噪声过滤、异常值棘手
8 异常值 Outliers 超出预期范围的值、错误vs罕见事件、忽略或保留
9 异常值 Outliers 罕见事件检测、医学排查、臭氧消耗、数据挖掘 revisit
10 数据脱敏 Data Sanitisation 移除敏感数据、匿名化数据集、医学/商业敏感信息
11 数据脱敏 Data Sanitisation 脱敏困难性、匿名数据集可重新识别、研究引用
12 数据仓库 Data Warehousing 多源数据合并、数据汇总、中间汇总数据、大数据例外
13 数据仓库 Data Warehousing 规格化:不同来源数据统一格式(英寸→厘米)
14 数据仓库 Data Warehousing 数据集市(处理子集)、数据湖(原始数据)、数据孤岛(独立存储)
15 参考文献 References Montjoye et al (2013)、Hern (2018)

Week 19 - 数据处理2 (Data Processing 2 - Data Mining) — 26页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第19周 - 数据处理2 (数据挖掘)
2 数据处理 Data Processing 数据准备后处理、应用依赖、简单检查到复杂操作
3 控制数据处理 Data Processing for Control 及时处理、实时/近实时、流数据、内存驻留算法
4 控制数据处理 Data Processing for Control 移动窗口统计、移动总计、时间周期/观测数
5 复杂数据处理 More Complex Data Processing 数据挖掘、商业智能、机器学习、模式搜索
6 复杂数据处理 More Complex Data Processing 分类、聚类、关联、特性化、趋势与偏差分析、模式导向分析
7 分类 Classification 基于分类属性识别数据集、预测 unseen 示例类别
8 分类 Classification 车辆油耗示例、ANN/决策树/统计分析
9 聚类 Clustering 相似数据关联、文档分析、最大化簇内相似性
10 聚类 Clustering 距离/概率相似度、k-means/最近邻/自组织映射
11 关联 Association 发现规则、支持度和置信度、非交换性
12 关联 Association 组件过热→故障示例、支持度/置信度计算
13 其他类型 Other Types 特性化:归纳总结对比、趋势与偏差分析
14 其他类型 Other Types 模式导向分析:用户指定模式、大数据集搜索
15 数据挖掘过程 Data Mining Process 数据仓库→数据准备→算法实施
16 数据准备 Data Preparation 采样代表性、数据分割、保持特征一致
17 数据准备 Data Preparation 训练集/验证集/测试集、数据集互不重叠
18 数据挖掘过程 Data Mining Process 监督学习:训练→验证→测试、模型准确性
19 数据挖掘过程 Data Mining Process 测试集防止验证数据过拟合、无监督算法给全部数据
20 问题与问题 Issues and Problems 过拟合:训练集参数学习太好、 peculiarities、小训练集
21 问题与问题 Issues and Problems 欠拟合:模型无法建模、数据不足/过多冲突
22 问题与问题 Issues and Problems 维数灾难:参数增加→示例需求剧增、SVM边界条件
23 问题与问题 Issues and Problems 稀少事件:训练集罕见、从不诊断癌症"优秀"结果
24 问题与问题 Issues and Problems 商店销售示例:游戏/DVD交叉销售、概率分析错误
25 问题与问题 Issues and Problems 结论:仔细思考输出、数据准备/算法选择/输出理解
26 有用链接 Useful Links WEKA、RapidMiner免费数据挖掘工具

Week 20 - 数据处理3 (Data Processing 3 - Big Data) — 12页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第20周 - 数据处理3 (大数据)
2 大数据背景 Big Data Background 行业术语、Laney 3V:Volume/Velocity/Variety、Hadoop/MapReduce
3 MapReduce MapReduce 编程模型、Map函数、Key-Value对、集群分布
4 MapReduce MapReduce 按键分布、Reduce算法、主节点收集、看似简单
5 MapReduce示例 MapReduce Example 运输公司车队传感器、每月行驶最远卡车、Map操作
6 MapReduce示例 MapReduce Example Reduce操作:每月最大距离、主节点整理结果
7 流数据 Streaming Data 批处理传统、Storm/Spark Streaming/Flink实时分析
8 流数据 Streaming Data Storm单值处理、Spark微批内存快、Flink双通道真流式
9 大数据挑战 Big Data Challenges 算法并行化、分布式计算、采样、分布时间、数据清理
10 大数据挑战 Big Data Challenges 集群节点vs性能、不同思维方式、挖掘潜力
11 参考文献 References Dean & Ghemawat (2004)、Laney (2001)、Woo (2012)

Week 22 - Web服务 (Web Services Part 1) — 21页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第22周 - Web服务 第1部分
2 Web服务 Web Services 服务器软件、互联网协议、IIS/Apache/nginx、控制分割
3 Web服务 Web Services 用户通过端点(URL)连接、浏览器或专用程序访问
4 Web服务考虑因素 Web Service Considerations 服务类型、无状态vs基于会话、安全、API设计
5 Web服务 Web Services 会话服务:提供ID、跟踪客户端、复杂维护、逐渐失宠
6 Web服务 Web Services 无状态服务:RESTful、不跟踪客户端、易于实现、WWW即RESTful
7 RESTful Web服务 RESTful Web Services 表述性状态转移、GET/POST/PUT/DELETE四大命令
8 RESTful Web服务 RESTful Web Services 主要用GET和POST、原因说明
9 RESTful示例 Simplified RESTful Example 控制机器人移动:客户端-服务器交互流程
10 RESTful示例 Simplified RESTful Example 步骤1-3详解:GET可用性→POST坐标→GET位置轮询
11 RESTful示例 Simplified RESTful Example 轮询行为取决于控制方式、目标坐标或动态移动
12 API API (Application Programming Interface) 发布API描述交互、服务端点、代码库调用
13 API API 服务端等待输入、API更新维护、过期但有效调用处理
14 安全快速入门 VERY quick ideas about security 安全深度不足、访问类型影响、RESTful无会话ID
15 安全快速入门 VERY quick ideas about security 用户名/密码存储、初始分发问题、潜在解决方案
16 安全快速入门 VERY quick ideas about security 工程师应留给领域专家、安全影响解决方案
17 客户端访问 Client side access 两种方式:浏览器 vs 应用代码、浏览器限制与优势
18 客户端访问 Client side access 服务器端语言框架、Java/C/C++/PHP/.NET、HTTP消息请求
19 GET困难 GET difficulties C#本地客户端无安全问题、PHP服务器端无安全问题
20 GET困难 GET difficulties Javascript客户端运行、跨域安全限制、JSONP解决方案
21 GET困难 GET difficulties JSONP安全性:服务器需知函数签名、同源确认

Week 23 - Web服务2 (Web Services 2) — 37页

页码 中文标题 英文标题 核心内容
1 EL2311 – 软件开发2 Software Development 2 第23周 - Web服务 第2部分
2 远程访问代码 Remote Access Code 回顾Web服务理论、两种访问方式:Web前端/代码
3 数据格式 Data Formats 纯文本、XML、JSON、数据发送格式定义
4 远程访问代码 Remote Access Code ADMT绘图演示案例、HTML/Javascript→RESTful C#服务
5 数据格式 Data Formats XML发送机器人位置数据、2D数组插入、服务器解析
6 数据格式 Data Formats JSON等效格式、版本/位置节点
7 数据传递 Data Passing RESTful请求:GET/POST/DELETE/PUT、POST代码示例
8 数据传递 Data Passing XMLHttpRequest对象、POST请求初始化、URL端点
9 数据传递 Data Passing setRequestHeader设置Content-type为application/xml
10 数据传递 Data Passing send方法发送请求、服务器处理返回响应
11 Web服务 Web Services HTML/Javascript/AJAX标准、服务器端更多选择
12 服务器端服务代码 Server side service code ADMT示例、WCF .NET 4.0框架、C#实现
13 服务器端服务代码 Server side service code WCF文件:Global.asax.cs/SampleItem.cs/Service1.cs/Web.config
14 Global.asax.cs Server side code – Global.asax.cs ASP应用可选文件、处理应用和会话级事件、路由传入流量
15 Global.asax.cs Server side code – Global.asax.cs RouteTable路由配置、移除Service1术语、多服务指定
16 Web.config Server side code – Web.config XML格式设置、httpProtocol允许POST/GET/OPTIONS、跨域启用
17 Service1.cs Server side code – Service1.cs 端点定义、DataContract、imageStatus类、WebGet/WebInvoke
18 WebGet Server side code – WebGet 处理GET请求、UriTemplate定义URL、变量参数
19 WebGet Server side code – WebGet IP:端口/imageload/zzzzz格式、变量可用性检查
20 WebInvoke Server side code – WebInvoke 处理其他HTTP请求、Method参数、允许任何操作
21 WebInvoke Server side code – WebInvoke 无PUT/DELETE实现则失败、检查OPTIONS、操作方法判断
22 SampleItem.cs Server side code – SampleItem.cs 示例处理类、可添加多个类、DrawingItems.cs全局变量
23 客户端C# Client Side C# HTTPClient类、GET请求示例、XML响应解析
24 客户端C# Client Side C# HttpClient创建、HttpRequestMessage GET请求、Accept头
25 客户端C# Client Side C# Send发送请求、EnsureStatusIsSuccessful检查状态、ReadAsString
26 客户端C# Client Side C# XmlReader解析XML、MoveToContent、ReadToFollowing读取ready值
27 客户端C# Client Side C# XmlReader解析详解、ready元素内容读取
28 服务器端 Client Side C# (server side) DataContract、handlingGet类、ready/error成员、WebGet处理
29 客户端C# Client Side C# 客户端发送GET、XML解析ready值、服务器端WebGet响应
30 客户端C# Client Side C# 跨域脚本仅浏览器需要、应用代码无需担心
31 客户端C# Client Side C# URL变量检查、status返回true、其他返回错误
32 客户端C# Client Side C# GET应用代码比浏览器更简洁、同时服务浏览器和应用
33 客户端C# Client Side C# HTTPClient POST示例、XML位置数据、strurl目标地址
34 客户端C# Client Side C# HttpContentExtensions.CreateXmlSerializable转换、HttpClient发送
35 客户端C# Client Side C# Post方法发送、EnsureStatusIsSuccessful检查成功
36 .NET版本变化 Changes between .net versions ADMT示例针对WCF .NET 4.0、4.5重大变化
37 .NET版本变化 Changes between .net versions WCF与ASP.NET Web API分路、库调用更新、向后兼容

📊 课程总览统计

周次 主题 页数 核心知识领域
Week 1 课程介绍 13页 C#与VS环境、语法基础、学习资源
Week 2 编程语言与OO基础 18页 四大编程范式、编译vs解释、OO基础概念
Week 3 面向对象原则 17页 抽象、封装、构造器/析构器、继承、多态
Week 4 接口与API 11页 接口定义与实现、访问修饰符、API概念
Week 5 软件方法论 16页 瀑布/进化/形式化/重用四大方法论
Week 6 需求与分析 15页 用户需求/系统需求、功能/非功能/领域需求
Week 7 需求分析与设计实验 12页 加油泵案例、UML图(用例/序列/类图)
Week 7 测试与调试 20页 语法/逻辑错误、断点、步进、异常处理
Week 8 系统测试 18页 集成/发布/性能测试、测试用例设计、等价类
Week 9 多线程 19页 线程概念、上下文切换、竞争条件、C#线程类型
Week 10 并发 17页 锁机制、死锁/活锁、超时、预防、检测恢复
Week 11 并行与分布式 10页 并行架构、分布式计算、Hadoop、负载均衡
Week 12 数据 12页 数据格式:纯文本/CSV/XML/JSON、NLP
Week 13 数据存储1 14页 平面文件、RDBMS、SQL、ACID属性
Week 14 数据存储2 22页 行/列存储、OODB、图数据库、NoSQL、Hadoop/Hbase/Cassandra
Week 15 云计算 16页 SaaS/PaaS/IaaS、公有/私有/混合云、安全与迁移
Week 16 物联网 17页 IoT/M2M、MQTT/DDS/AMQP/XMPP协议、Azure IoT
Week 18 数据处理1 15页 KDD生命周期、数据清洗、异常值、数据仓库/湖/集市/孤岛
Week 19 数据处理2 26页 数据挖掘:分类/聚类/关联、过拟合/欠拟合/维数灾难
Week 20 数据处理3 12页 大数据3V、MapReduce、流数据Storm/Spark/Flink
Week 22 Web服务1 21页 RESTful、GET/POST/PUT/DELETE、API设计、跨域JSONP
Week 23 Web服务2 37页 WCF服务、Global.asax/Web.config、WebGet/WebInvoke、C# HTTPClient
总计 22周 338页

课程知识脉络:

  • 基础编程 (Week 1-4):C#语法 → 编程范式 → OO原则 → 接口与API
  • 软件工程 (Week 5-8):方法论 → 需求分析 → 测试调试 → 系统测试
  • 高级编程 (Week 9-11):多线程 → 并发控制 → 并行分布式
  • 数据管理 (Week 12-14):数据格式 → 传统存储 → NoSQL/NewSQL
  • 云与物联网 (Week 15-16):云计算层次 → IoT协议与实现
  • 数据处理 (Week 18-20):数据准备 → 数据挖掘 → 大数据技术
  • 网络服务 (Week 22-23):RESTful理论 → WCF实现细节
posted @ 2026-07-20 12:14  kkman2000  阅读(1)  评论(0)    收藏  举报