《抽奖系统需求分析(共10页).doc》由会员分享,可在线阅读,更多相关《抽奖系统需求分析(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上抽奖系统需求分析 1引言11编写目的我们希望编写需求规格说明书来了解此次抽奖的程序,抽出中奖号码并打印此中奖号码,交给主持人,以此更好的来完成抽奖的游戏。1.2术语介绍图形用户界面(GUI),记录员(Recorder),抽奖者(Chooser),奖票(Ticket),中奖信息(Records),公证人(Checking),查询员(Searching),打印员(Printing),抽奖规则(Rule)1.3抽奖规则活动前,制定抽奖规则,准备奖票,准备奖品,发放奖票给所有的参与者,一般一人一票。活动进行时由主持人自己或者邀请一位代表抽出一个中奖号码。公证人进行公证,确认抽
2、奖有效。记录员纪录中奖信息。如果中奖人员足够,抽奖完成,否则,继续抽出下一组中奖号码。抽奖规则具体内容如下:共设几个中奖等级,每个等级中奖人数,奖品。以今年的安排为例,一般设为五个等级:特等奖,一等奖,二等奖,三等奖,鼓励奖。每个等级获奖人数:特等奖2名、一等奖20名、二等奖50名、三等奖100名,剩下的是鼓励奖。1.4参考资料一些书面现有的资料:软件工程与UML课本上课课件网上资料实际的实践:通过市场调查和一些有关人员的谈论2任务概述21目标通过抽奖程序的介绍了解抽奖这个游戏,以更好的进行抽奖。而且要能通过测试来让这个需求规划更好的体现,完成它能够做到的关于这个游戏的一切。22用户的特点现在
3、市面上出现的一些奖票:每个用户都可以参与抽奖,机会均等,并且这些用户能重复的来抽奖,没有限制一直到这个游戏的结束。特定场所一次性的奖票:如果这个游戏是一些学校或公司在庆祝一些活动的有奖趣味的抽奖,那就不能重复的抽取,要一次性的,在编程的时候就要在里面设置不能重复的抽取。2.3分析属性在设计的时候要用到一些类和属性:Ticket类只有一个属性,即票号(Number)。Records类是Ticket类的继承类,增加一个属性,即中奖等级(Lever);还有中奖记录的方法(AddRecord),打印中奖记录的方法(Printing),中奖情况的方法(Searching),删除(Checking)。3总
4、体分析3.1系统功能划分3.11抽奖程序的UML图下面两幅图是基本用例图和细化图: 描述了大体的基本的流程.显示中奖记录include查询中奖情况include抽奖程序细化的用例图抽奖程序细化的类图抽奖程序的三个活动图三个活动的泳道图抽奖程序的包图3.1.2抽奖程序的流程图抽奖程序的系统的顶层DFD(概图)抽奖程序系统0层DFD(概图)3.2系统的数据构件。需求分析阶段已得到系统中有一个存放中奖信息的数据文件,取名为LuckyRecord.txt,之所以选择文本文件来存放中奖信息,是因为这个程序本身很简单,没有必要使用数据库。LuckyRecord.txt=Records.Number+Rec
5、ords.LeverRecords.Number:110000的整数Records.Lever:115的整数3.3系统的软件构件Choose():利用随即函数,产生一个介于最大奖票号码和最小奖票号码范围内的一个随机数据,作为预备中奖号码,查询中奖情况,如果该号码重复中奖,显示重复号码处理对话框由主持人现场决定该号码有效或无效。如选择有效,则增加一条记录;如选择无效,则返回等待中奖号码产生界面。AddRecord():打开LuckyRecord.txt文件,在文件最末尾增加一条中奖纪录(中奖号码,中奖等级),关闭LuckyRecord.txt.Printing():打开LuckyRecord.t
6、xt文件,在屏幕上逐条显示中奖纪录,等待用户单击“打印中奖信息”按钮后逐条打印中奖信息,关闭LuckyRecord.txt。Searching():打开LuckyRecord.txt文件,逐条读出LuckyRecord.txt文件的中奖纪录,比较中奖纪录中的奖票号与查询奖票号,如果奖票号在LuckyRecord.txt中,则显示“中奖号码,中奖等级”,否则显示“没有中奖”,关闭LuckyRecord.txt。这个程序非常简单,用自然语言也可以清楚地描述方法的实现步骤.如果是一个大型的系统,应该用活动图或活动图+状态图来描绘方法的实现步骤.3.4界面设计 系统显然要包括一组用户界面,在需求分析中
7、初步确定的界面包是可行的,现对它进行细化和微小的调整,得到下面所示的界面设计图.职业技术学院的抽奖请输入最大奖票号,最小奖票号,再单击“开始抽奖”按钮。最小奖票号:XXXXXX 最大奖票号:XXXXXX开始抽奖显示或打印中奖记录查询中奖信息结束程序初始界面 职业技术学院的抽奖确认抽奖等级, 单击“选定中奖号码” 按钮得到一个中奖号正在抽取: XXXXXXX等奖中奖号码:XXXXXXXXX选定中奖号码返回初始界面中奖号码产生的界面 中奖号重复,请选定有效,还是丢弃?有效丢弃重复号处理界面 职业技术学院的抽奖 又有一个幸运者中奖中奖号码:XXXXXX中奖等级:X确定 产生了一个中奖号界面 职业技术
8、学院的抽奖中奖记录打印中奖记录返回初始界面结束程序中奖等奖 奖票号码X XX XXXXXX XXXXXXXX XXXXXXX显示中奖记录界面 职业技术学院的抽奖请输入奖票号码:再单击“查询” 按钮 奖票号:XXXXXX查询查询中奖情况界面 职业技术学院的抽奖奖票号:XXXXXX恭喜你中了X奖确定查询中奖情况界面之一 职业技术学院的抽奖奖票号:XXXXXX不好意思,您这次运气不太好没中奖!确定查询中奖情况界面之二界面间转换流程图如下:产生一个中奖号码等待中奖号码产生初始界面单击“开始抽奖”按钮单击“返回初始界面”按钮单击“选定中奖号码”按钮单击“确定”按钮 单击“显示或打印中奖记录” 按钮初始界
9、面显示中奖记录 单击“返回初始界面” 按钮 ” (A)单击“查询”按钮单击“确定”按钮初始界面查询中奖情况界面之二查询中奖信息查询中奖情况界面之一单击“查询中奖信息”按钮单击“确定”按钮 (B) 抽奖程序界面流4.设计测试用例 设计测试用例是按照需求所确定的用例模型,设计一组输入数据,一组预期的输出数据,供测试阶段程序的功能是否满足用户需求. 测试用例1 : MaxNumber=5,MinNumber=1,抽出10个号码,分别选定允许重复、不允许重复、测试打印中奖信息、测试查询中奖情况. 测试用例2: MaxNumber=1000,MinNumber=1,五个中奖等级,特等奖1名,一等奖3名,二等奖8名,三等奖8名,没有其他的奖, 不允许重复.抽出20个中奖人数,测试抽奖情况与实际是否相符,测试打印功能,测试查询功能. 系统的分析与设计工作,不再获得更进一步的信息,这时可暂时停止这个工作.从这个简单的分析与设计实例中可以看出,在统一软件开发过程中,需求捕获、分析与设计三个核心工作流相互的联系是无缝的.从处始阶段到细化阶段,系统分析人员和设计人员对待开发系统的了解越来越深入,需求捕获、分析与设计等工作流也经过了多次迭代.专心-专注-专业
限制150内