- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
201021131602_概要设计_V1
小组编号小组XX系统概要设计
编制时间:2011-04-13
编制人员:冯士乘 董巧 牟函斯
版本号:V1.0
1 用户界面设计
动画方式
//图形方式给出界面的布局设计,说明界面中各输入框和按钮的作用,说明如何使用界面元素完成程序要求的功能
文件方式
就是一系列的呼叫和目标。输入可以采用两种方法:
a.以键盘输入呼叫和目标。例如我们可以设定如下:当敲击键1、2、3、4、5、6、7、8、9时表示电梯内有乘客按目标按钮,指定相应目标楼层。当敲击键Q、W、E、R、T、Y、U、I时表示8层到1层有上行呼叫请求。当敲击键A、S、D、F、G、、H、J、K时表示9层到2层有下行呼叫请求。
b.将呼叫和目标写入一个正文文件,然后程序读取这些呼叫和目标数据后可以在没有人工干预的情况下模拟电梯运行情况。其中一个呼叫/目标占一行,格式如下:
操作时间[空格]呼叫目标[回车]
操作时间,表示呼叫请求的发生时间,是以程序启动时刻为参照的相对时间。以四位的数字字符串表示,从0000开始,单位秒。
呼叫目标,和键盘输入的设定一致,占1个字节。
1、2、3、4、5、6、7、8、9时表示电梯内有乘客按目标按钮;
Q、W、E、R、T、Y、U、I时表示8层到1层有上行呼叫请求;
A、S、D、F、G、H、J、K时表示9层到2层有下行呼叫请求;
每个数据项之间用一个空白字符隔开。不必考虑检查数据的正确性。
//如果从文件输入或者输出到文件,则在此对输入输出文件进行说明,使人能看懂这些文件,
要说明文件中各个数据项的含义、取值范围以及各个取值的含义
自动机模型(状态转换图)
//绘制状态转换图,如果无法从状态名称理解状态的含义,则还需要对状态辅以文字说明
高层数据结构设计
常量定义
//定义接近0的常量
#define EXP 0.000001//
//电梯运行方向常量设置
#define UP 1
#define DOWN 2
#define STOP 3
#define FREE 0
3.2 全局变量定义
struct Lift Custom;电梯的结构
int floorNO[9]={1,2,3,4,5,6,7,8,9};//楼层号
数据结构的定义
电梯的结构体:
struct Lift
{
HEGG body;
int *state;
int *beforestate;
int loc;
}
包括电梯对应的图形显示(body),电梯的状态(statue),电梯的前状态(beforestate),电梯所在楼层(loc)。
4 系统模块划分
软件结构图
本系统程序部分划分为main.c,liftDraw.c,Lift-status.c,Writemessage.c,Getinput.c,Control.c,Time-count.c七个模块。各模块功能如下:
1.模块名称:main.c
模块功能简要描述:主函数,主要是运行各个界面绘画程序,运行计算机控制的电梯的运行情况和用户控制的电梯运行状况(接受人工输入)。
2.模块名称:liftDraw.c
模块功能简要描述:用egg绘画电梯界面。
3.模块名称:Lift-status.c
模块功能简要描述:计算电梯状态在这一时刻的变化,例如到达某层,就要设定为已经完成了该层的目标,同时将电梯停下来等。
模块名称:Writemessage.c
模块功能简要描述:输出信息(包括动画)。
5.模块名称:Getinput.c
接收当前时刻的新输入(包括新目标和新呼叫)。
模块名称:Control.c
模块功能简要描述:调用控制策略程序决定电梯该如何运动。
7.模块名称:Time-count.c
模块功能简要描述:推进仿真时间,假定每一秒电梯进行上述操作一次。
软件结构图如图所示。
二、文件及函数设计
源文件 源文件说明 函数名 功能 Initialize.c 初始化过程 void main() 电梯的初始状态 Lift_status.c 计算电梯状态在这一时刻的变化,例如到达某层,就要设定为已经完成了该层的目标,同时电梯停下来 int status_judge()
(返回值1,2,3,0各表示电梯在上升,下降,停靠,空闲) 当电梯处于停靠或空闲时,判断电梯运行方向,并使电梯向该方向运行 void Lift_status() 检测电梯目前的运行状态,做出相应的处理 Writemessage.c 输出楼梯当前的运输状态 void main() 输出楼梯当前的运输状态 Getinput.c 接受时刻的新输入(包括新目标和新呼叫) void input_inside(int []) 接受电梯内部的输入请求 void input_
您可能关注的文档
最近下载
- 煤矿复工复产方案及安全技术措施.docx VIP
- 教师资格证考试《保教知识与能力(幼儿)》考点精讲汇总.pdf
- (新版)水利水电工程施工企业“三类人员”安全生产考核题库-(单选多选题库).docx VIP
- YAMAHA PSR-420 PSR-320 用户手册说明书.pdf
- 事业单位聘用教师合同范本(2024版).docx
- 300T履带吊安装、拆除安全专项施工方案.docx
- 汽车维修-钥匙大师使用说明书.pdf
- 2025春节主题班会(精品)课件《庆新年,迎新春》.pptx
- 2024年医院营养护理工作计划.pptx VIP
- 2024年幼儿教师资格考试《保教知识与能力》重点背诵(速记方法).pdf
文档评论(0)