【第五组】开发文档(用例文档+功能说明书+技术说明书)
用例文档
用例名 | 趣味决策 |
角色 | 使用HK软件的用户 |
前置条件 |
用户已经安装软件 |
后置条件 | 用户在某一个菜品上点击”满意“按钮 |
基本事件流 |
1.用户点击HK软件登录之后进入主界面(B1) 2.用户点击主页的趣味决策按钮进入趣味决策页面 3 .1 用户对页面左侧的口味卡片进行选择 3.1.1用户点击某一个卡片 3.1.2页面弹出一个赞同按钮和一个反对按钮这两个按钮都可以点击 3.1.3点击赞同按钮后卡片变成红色,点击反对按钮后卡片变成绿色 3. 2 用户对口味卡片不进行任何操作。 4. 系统根据用户的从前的使用记录以及在口味卡片上的选择在转盘上显示出若干道菜品。(B2) 5.1 用户点击更新菜品按钮,系统根据用户选择的口味从数据库选择一些同口味的不同的菜品。(B3) 5.2 用户不进行任何的操作 6 . 用户点击开始选择按钮,转盘开始旋转 7.转盘停止之后停在某个菜品上,在转盘的右侧显示该到菜品的详细信息。(B4) 8.1 用户点击详细信息下的满意按钮,趣味决策流程结束,跳转到主页面。 8.2 用户点击开始选择,转盘再次开始旋转,用户多次旋转盘,直到选择到用户满意的菜品为止,用户点击满意按钮之后跳转到主页面。 |
备选事件流 |
|
功能说明书
1 : 用户点击HK图标进入到HK软件。
2:用户进行登录操作。(输入用户名和密码)
3:用户进入主页面之后点击左侧按钮之中的趣味决策按钮,然后软件跳转到趣味决策页面。
4:趣味决策的页面共分成三个部分,左侧是决策卡片,中间时决策转盘,右侧是菜品的详细信息。在这个界面用户需要从左到右进行操作。
5:首先在决策卡片上进行操作,可不进行操作,还可根据自己的口味点击相应的卡片,点击之后会弹出两个三角形,一个是向上的,另一个是向下的,点击向上的三角形说明喜欢这种口味;点击向下的说明用户讨厌这种口味。若对该卡片不尽兴操作,那么说明可以接受该口味。
6 : 用户在决策卡片模块进行选择之后,可以在转盘模块进行操作,转盘模块是一个九宫格,外围的八个分别是根据刚刚用户在决策卡片中的选择而得到的一些菜品,中间有两个按钮,分别是更新转盘和选择菜品,其中更新转盘按钮是用来选择一些不同于该转盘上的菜品从而对转盘上的菜品进行更新;点击菜品功能按钮可以使转盘上外围的八个块依次进行闪烁,闪烁的时间是不固定的,最终会停在一个块上。
7:右侧的模块是显示菜品的具体信息,显示的菜品是在转盘上选择出的。详细信息包括菜品的图片,剩余的菜量,菜品的具体位置,用户的评价等等。用户若是对其满意可以点击最下方的满意按钮。
技术说明书
趣味决策页面主要分成三个部分,左侧是一个卡片组以及其下方的按钮,中间是一个转盘,右侧是一个菜品的基本信息界面。
利用10*2的Button组合来表示选择卡片,下面有一个较长的button,content为确定,利用两个int型的数字count和countt来记录用户的选择。左侧的十个按钮的content是按钮所代表的口味,右侧的十个button的FontFamliy为Segoe MDL2 Assets,content都为 ;Visibility为Collapsed。因此用户在开始的时候只能够点击左侧的10个按钮,点击某一个按钮之后,其FontFamliy变为Segoe MDL2 Assets,content变为 ;同时其右侧的按钮的Visibility为visible。然后两个按钮都可以进行点击操作。点击左侧的按钮之后右侧按钮的Visibility变为Collapsed,左侧按钮的background变为Red,同时左侧按钮的content与FontFamliy变为最初的样子,count 的相应位置变成1;点击右侧的button与点击左侧的button效果基本相同,唯一的不同是左侧button的background变为Green,另外countt的响应位置变成1。用户可以选择任意多的按钮进行操作,选择结束之后,点击下面的“确定按钮”,传递“count”和“counttt”两个数字到服务器端,然后在服务器端对数字进行分析,最后从数据库中随机取出与用户选择相符合的8个菜品信息,并将其放在转盘上。
利用一个grid来实现转盘,grid分为3行3列,每一个小格中放一个stackpanel,每一个stackpanel的Orientation="Vertical",stackpanel中放一个Image和一个textblock,中间的stackpanel中放两个button,上面的content为“开始选择”,下面的content为“更新转盘”,点击上面的button,设置好的storyboard开始启动,storyboard的效果是将每个格子的background由blue变为AliceBlue,Duration为0:0:0.2,同时启动一个定时器,定时器的时间用一个2000到3000之间的随机数,定时器的时间为毫秒,定时器定是结束后将storyboard暂停。然后通过计算随机数的值来判断选中的是哪一个格子。再次点击“开始选择”button之后,转盘继续开始旋转。停止的方式与上面相同。每一次停止之后,右侧的菜品详情都会更新。
点击“更新转盘”按钮,将count与countt传入服务器中,跟新转盘的方法与“确定按钮”相同。
菜品详情页面是有一个stackpanel实现的。其Orientation="Vertical",从上到下放置一个Image,以及若干个Textblock;其形式为上面的textblock的content为下面要显示的信息,下面来显示信息。在所有的textblock后面放置一个button,其content为“满意”,点击button,将当前显示详细信息的菜品的ID于用户名上传到服务器上,然后记录在数据库中,为推荐算法提供基础数据。