




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、抽奖程序设计说明书1 概述1.1 系统简述学院将举行庆元旦暨迎新春联欢晚会,其中有抽奖活动,需要一个抽奖程序。抽奖程序在联欢会由抽奖活动主持人,输入奖票号码范围,并指定获奖等级后,在给定的号码范围内产生一个随机号码,作为该获奖等级的一个中奖号码。如果产生的中奖号码与已产生的中奖号码重复,则给出明确的提示,由操作人员选择中奖号“有效”(即中奖规则允许一个奖票重复获奖),或者是“无效” (即不允许一个奖票重复获奖)。可随时显示或打印抽奖结果。1.2 软件设计目标121、程序功能:1.输入中奖规则:输入最小奖票号码,输入最大奖票号码,输入是否允许重复获奖。2.产生中奖号码:产生一个界于最小奖票号和最
2、大奖票号之间的数。并且判定该数是否为一个有效的中奖号。3.显示中奖信息:以表格的形式显示到目前为止所有抽出的中奖奖票号码和中奖等级。4.更新中奖记录:将中奖奖票号和中奖等级写入“LuckyRecord”文件。5.打印中奖记录:以表格形式打印“LuckyRecord”文件的内容。122运行环境和用户1设备需求:学校工会的手提电脑(P3 CPU,256M内存)。2操作系统:WINDOWS2000。无需其它支撑软件。3用户界面:WINDOWS风格界面。4 使用者可以是抽奖的操作人员,兑奖人员。 外部接口1 系统输入:从用户界面输入抽奖规则2 系统输出:存放“中奖信息”的文本文件。3 硬件接口:一般的
3、PIII机或更高档微机或手提电脑4 软件接口:Windows2000或以上版本1.3 参考资料见抽奖程序需求规格说明书1.4 修订版本记录抽奖程序设计说明书,第1版,设计者:06软件游戏2-2 2 术语表见抽奖程序需求规格说明书数据字典3 用例图1 抽奖程序细化的用例图1、抽出中奖号码用例:它产生一个有效的中奖号码,它包含查询中奖情况用例。2、打印中奖记录用例:从连接的打印设备上以表格形式打印中奖记录,它包含显示中奖记录用例。3、显示中奖记录用例:以表格的形式在屏幕上显示中奖记录。4、查询中奖情况用例:对用户输入的奖票号,搜索中奖记录,如果该给定的奖票号在中奖记录中,则给出中奖等级,否则,给出
4、没有中奖的信息。4 设计概述 抽奖程序采用面向对象的方法进行需求捕获、分析与设计,用面向对象的程序设计语言C+实现,系统主要的算法是产生中奖号码的算法,查询中奖信息的算法,显示中奖信息的算法。由于程序适用的范围是局部的,要求不高,采用随机函数产生中奖号码。查询中奖情况由于中奖记录不多,采用顺序查询。显示中奖记录方式按中奖记录顺序逐个显示。整个程序很小是一个整体,没有子系统,没有构架的太多考虑。采用UML对系统进行建模。4.3 系统界面在抽奖程序需求规格说明书中已经对用户界面有了初步的设想,这里给出用户界面具体的设计,总共有八个界面。图2 抽奖程序界面 图3抽奖程序界面间的转换(界面流)4.4
5、约束和假定1 用户期望程序的界面是Windows风格。界面设计已满足。2 用户期望中奖信息显示成表格形式。因此设计决定在显示中奖记录用例中采用网格控件。3 抽奖和打印中奖信息分开在不同时间完成,所以中奖信息必须以文件形式保存在硬盘里。4 抽奖程序将安装在工会的一台手提电脑(配置:PIII CPU,256内存,Windows2000操作系统)上运行。经分析,抽奖程序无需复杂的构架设计,系统中所有构件都驻留一台电脑内可行。5 本程序只限于内部使用,考虑到工会部门人员的操作水平,工会的手提电脑上不一定有数据库支持环境,所以采用文本文件来记录“中奖信息”。因为用文本文件记录中奖奖信息,工会的工作人员,
6、尤其是兑奖人员,可以直接用Windows自带的记事本打开中奖信息和打印中奖信息,方便工作。将网格控件中显示的信息存入文本文件,每个字段间插入空格,每条中奖记录中间插入一个空行,将文本文件的内容按顺序显示在网格控件中,技术上可行。可以实现第2条和本条限制。6 因为是院内娱乐性活动,没有严格的法律公证,奖票的有效性验证也只是增加趣味性。7 抽奖规则(Rule)是系统的初始化信息,它应该包含所有初始化信息,但是用户要求将中奖等级,每个等级中奖的人数,是否允许重复中奖三个规则留给主持者现场人工控制以增加抽奖的趣味性。设计时,在整个系统中只有Chooser类使用最大号码和最小号码两个属性,按信息封装原则
7、,将它们划归Chooser类,去掉初步类图中的Rule 类。5 对象模型5.1 系统对象模型 图4抽奖程序类图6 对象描述 chooser类:只能产生一个对象,它是一个临时对象 属性1:MinNumber,int,限定:界于120000之间,如果为空则取1 属性2:MaxNumber,int,限定:界于120000之间,如果为空则取1000 方法:choose() ,返回值:int Choose()算法描述:利用随机函数,产生一个介于最大奖票号码和最小奖票号码范围内的一个随机数据,作为预备中奖号码,查询中奖情况,如果该号码重复中奖,显示重复号处理对话框由主持人现场决定该号有效或无效,如选择有效
8、,则增加一条记录,如选择无效,则返回等待中奖号码产生界面。 Ticket类:可产生多个对象,它是一个临时对象属性1:Number,int ,限定界于120000之间Records类:只能产生一个对象,它是一个持久对象 属性1:继承Ticket类的Number属性。 属性2:Lever, int ,如果没有给定则“等待中奖号码产生”界面中的“选定中奖号码按钮”无效。方法1:Add(),正常执行,无返回值。如果发生错误,显示操作系统返回的出错提示。Add():打开LuckyRecord.txt文件,在文件最未尾增加一条中奖记录。写入信息按中奖号码,空格,中奖等级,回车换行符的顺序写入文本文件末尾,
9、关闭LuckyRecord.txt。方法2:Printing()Printing():打开LuckyRecord.txt文件,在屏幕上逐条显示中奖记录,等待用户点击“打印中奖信息”按钮后逐条打印中奖信息,关闭LuckyRecord.txt。方法3:Searching()Searching():打开LuckyRecord.txt文件,逐条读出LuckyRecord.txt文件的中奖记录,比较中奖记录中的奖票号与查询奖票号,如果奖票号在LuckyRecord.txt中,则显示“中奖号码,中奖等级”,否则显示“没有中奖”,关闭LuckyRecord.txt。测试用例: 测试用例1:MaxNumber
10、 = 5 MinNumber = 1,抽出10个号码,分别选定允许重复,不允许重复,当选择不允许重复时,没法产生10个中奖号码,因为最大号和最小号中间只有5个数,测试打印中奖信息,测试查询中奖情况。测试用例2:MaxNumber = 1000 MinNumber = 1,五个中奖等级,特等奖1名,一等奖3名,二等奖8名,三等奖8名,没有其它的奖,不允许重复。抽出20个中奖人数,测试抽奖情况与实际是否相符,测试打印功能,测试查询功能。7 动态模型有三个场景:抽出一个中奖号码,显示中奖记录并打印中奖记录,查询中奖情况7.1 场景1:抽出一个中奖号码场景 图5 抽出一个中奖号码场景顺序图图6 抽出一个中奖号码场景用户界面间的转换7.2场景2:显示中奖记录并打印中奖记录场景图7 显示并打印中奖记录场景顺序图图8 显示并打印中奖记录场景用户界面间的转换7.3场景3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新疆客运资格证实操试题
- 2025年创新创业管理专业研究生入学考试试题及答案
- 未来的生活想象想象并描写细节类作文(6篇)
- 小品(卖药之八仙过海)剧本
- 某超市讲解服务制度
- 2025年柔性制造单元(FMC)项目提案报告
- 运动场馆设计与运营合作协议
- 2025年压缩天然气项目申请报告
- 2025年电梯司机(中级)电梯设备维护保养与故障排除测评试题
- 2025年物流师(初级)职业技能鉴定试卷物流企业人力资源战略规划
- 地裂缝、地面塌陷地质灾害危险性评估课件
- 电力拖动自动控制系统-运动控制系统(第5版)习题答案
- 禾川x3系列伺服说明书
- 细胞生物学(全套1047张课件)
- 鱼丸生产加工项目可行性研究报告
- 架空乘人装置专项设计(一采区运输下山)
- 六年级下册“快乐读书吧”练习题试题及答案
- ★教导型组织-行动管理模式(三)
- 朗文英语2B英语复习资料
- 固定资产报废情况说明
- 精装修验房流程及标准(课堂PPT)
评论
0/150
提交评论