模拟数字式微波炉应用程序
摘 要
计算机软件仿真技术在当今社会中具有越来越重大的意义和价值。本文主要介绍了使用统一过程的敏捷方法迭代开发一个微波炉模型。在.NET平台下,利用C#程序设计语言对一个现实世界中的数字式微波炉进行模拟。通过对数字式微波炉模型从业务建模,需求分析,到设计实现的一系列过程,深入探讨了运用统一过程的敏捷方法迭代开发软件的方法以及如何运用GRASP和GoF相关设计模式优化软件结构。在软件的整个开发过程中,运用了大量的UML工具以辅助设计。
关键词:计算机软件仿真 统一过程 敏捷方法 UML 设计模式 数字式微波炉
The Stimulate Application of a Microwave Oven
ABSTRACT
Computer software-stimulation technology(CSST) has been becoming an more and more important role in modern society. This passage introduces a process, using Unified Process and Agile Methods to develop stimulate application of a digital microwave oven. The author applies an application, which was developed by C# basing on .Net framework, to stimulate the behaviors and the states of a digital microwave oven in reality. The developing process goes through a series of courses: business modeling, requirement analysis, designing and implement. With the process above, the author discusses the technique of utilizing Unified Process and Agile Methods to analyze the system as well as the approaches of applying Design Pattern to improve the structure of the application. Moreover, the author adopts a great deal of UML Tools to assist the developing process.
Key words: CSST Unified Process Agile Methods UML Design Patterns Digital microwave oven
目 录
摘要 I
ABSTRACT II
1引言 1
1.1统一过程 1
1.1.1统一过程的概念 1
1.1.2统一过程的四个主要阶段与科目 1
1.1.3案例项目与统一过程 1
1.2迭代和进化式开发 1
1.2.1迭代和进化式开发的概念 1
1.2.2案例项目与迭代和进化式开发 2
1.3敏捷建模 2
1.4GRASP 2
1.4.1GRASP的概念 2
1.5GoF 3
1.5.1GoF的概念 3
1.6本案例项目所用到的模式 3
2案例概述与可行性研究 5
2.1问题定义 5
2.2一般性描述 5
2.3案例的开发工具与开发技术简介 5
2.4案例可行性解决方案分析 6
2.4.1解决方案1:设计控制器类 6
2.4.2解决方案2:具有高度耦合的责任分配模式 6
2.4.3解决方案3:使用观察者机制分配对象职责 7
2.5案例研究的意义 8
3需求分析 9
3.1需求 9
3.2业务用例 9
3.2.1详述用例文本 9
3.2.2用例图 10
4系统分析与设计 12
4.1领域模型的创建 12
4.1.1寻找概念类 12
4.1.2寻找概念类的关联和属性 12
4.1.3领域模型的UML图 13
4.2系统顺序图 14
4.2.1主成功场景系统顺序图 15
4.2.2扩展场景:取消烹饪系统顺序图 16
4.2.3 扩展场景:中断烹饪系统顺序图 17
4.2.4扩展场景:追加时间系统顺序图 18
4.3状态模型 19
4.3.1微波炉模型的状态机图 19
4.3.2微波炉模型用例执行顺序的状态机图 19
4.4操作契约 20
4.4.1契约CO1:openDoor 20
4.4.2契约CO2:closeDoor 20
4.4.3契约CO3:pressTimeSetButton 21
4.4.4契约CO4:pressStartContinueButton 21
4.4.5契约CO5:pressStopPauseButton 22
4.5逻辑架构的设计 22
4.5.1微波炉模型的逻辑架构和包图 23
4.6识别责任 23
4.6.1根据发布—预定模式进行设计 23
4.6.2根据适配器模式进行设计 26
4.6.3根据单实例类模式进行设计 26
4.6.4设计类的CRC卡 26
4.7动态对象建模 33
4.7.1主成功场景交互图 34
4.7.2扩展场景:按键暂停烹饪交互图 35
4.7.3扩展场景:开门暂停烹饪交互图 36
4.7.4扩展场景:取消烹饪交互图 37
4.7.5扩展场景:追加时间交互图 38
4.8静态对象建模 38
4.8.1Beeper类的设计类图 38
4.8.2Button类的设计类图 39
4.8.3Display类的设计类图 39
4.8.4Door类的设计类图 39
4.8.5Light类的设计类图 39
4.8.6PowerTube类的设计类图 40
4.8.7Timer类的设计类图 40
5将设计映射成代码 41
5.1将Timer类映射成代码 41
5.2将Display类映射成代码 43
5.2将Display类映射成代码 43
5.3将微波炉各部件类与适配器进行初始化连接 45
6用户接口设计 47
6.1用户控件设计 47
6.1.1按键设计 47
6.1.2显示屏设计 47
6.2微波炉界面设计 48
6.2.1微波炉门关闭且微波炉灯管没有打开状态图 48
6.2.2微波炉门关闭且微波炉灯管打开状态图 48
6.2.3微波炉门打开且微波炉灯管打开状态图 49
6.3用户接口(UI)层与应用逻辑层的连接 49
7微波炉模型软件测试 51
7.1基本流程测试 51
7.2扩展流程测试 53
7.2.1在烹饪过程中打开炉门 53
7.2.2在烹饪过程中按一次停止键暂停烹饪 53
7.2.3在烹饪过程中按两次停止键取消烹饪 54
8总结与展望 55
8.1总结 55
8.2展望 55
参考文献 56
附录 57
1源程序清单 57
谢辞 59
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>