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