/* eslint-disable no-irregular-whitespace */ /** * 获取长markdown字符串 * @return {string} */ module.exports = () => { return `# 需求规格说明模板 @(项目1)

## 0. 目录 内容目录 |接口规范||| |:----|----|----| |DAFDSA|DAF|DFASDFSADFASDFSA| ||FDSAFAS|DFADSAFDSAFDSADFA| ||DFSAFSADF|DFASACASFDSA| 需求规格说明模板 1. 引言 1.1 目的\n\t\t1.2 范围\n\t\t1.3 参考文献\n\n\t2. 总体描述\n\t\t2.1 项目前景\n\t\t\t2.1.1 背景\n\t\t\t2.1.2 业务需求\n\n\t\t2.2 项目功能\n\t\t2.3 用户特征\n\t\t2.4 约束\n\t\t2.5 假设与依赖\n\n\t3. 详细需求描述\n\t\t3.1 对外接口需求\n\t\t\t3.1.1 管理员界面\n\t\t\t3.1.2 用户界面\n\t\t\t3.1.3 通信接口\n\n\t\t3.2 功能需求\n\t\t\t3.2.1 上架电影用例\n\t\t\t\t3.2.1.1 特征描述\n\t\t\t\t3.2.1.2 刺激响应序列\n\t\t\t\t3.2.1.3 相关功能需求\n\n\t\t\t3.2.2 统计预售电影的想看人数用例\n\t\t\t\t3.2.2.1 特征描述\n\t\t\t\t3.2.2.2 刺激响应序列\n\t\t\t\t3.2.2.3 相关功能需求\n\n\t\t\t3.2.3 查看电影详情\n\t\t\t\t3.2.3.1 特征描述\n\t\t\t\t3.2.3.2 刺激响应序列\n\t\t\t\t3.2.3.3 相关功能需求\n\n\t\t\t3.2.4 标记某电影为想看用\n\t\t\t\t3.2.4.1 特征描述\n\t\t\t\t3.2.4.2 刺激响应序列\n\t\t\t\t3.2.4.3 相关功能需求\n\n\t\t\t3.2.5 搜索电影并查看电影详情用例\n\t\t\t\t3.2.5.1 特征描述\n\t\t\t\t3.2.5.2 刺激响应序列\n\t\t\t\t3.2.5.3 相关功能需求\n\n\t\t\t3.2.6 管理人员注册和登陆\n\t\t\t\t3.2.6.1 特征描述\n\t\t\t\t3.2.6.2 刺激响应序列\n\t\t\t\t3.2.6.3 相关功能需求\n\n\t\t\t3.2.7 用户注册和登陆\n\t\t\t\t3.2.7.1 特征描述\n\t\t\t\t3.2.7.2 刺激响应序列\n\t\t\t\t3.2.7.3 相关功能需求\n\n\t\t3.3 非功能需求\n\t\t\t3.3.1 安全性\n\t\t\t3.3.2 可维护性\n\t\t\t3.3.3 易用性\n\t\t\t3.3.4 可靠性\n\t\t\t3.3.5 业务规则\n\t\t\t3.3.6 约束\n\n\t\t3.4 数据需求\n\t\t\t3.4.1 数据定义\n\t\t\t3.4.2 默认数据\n\t\t\t3.4.3 数据格式要求\n\t\t\t3.5 其他\n---------------------------------我是可爱的页面分割线-------------------------------------\n\n\n## 1. 引言\n\n### 1.1 目的\n\n\t本文档描述了影院影片管理系统的功能需求和非功能需求。开发小组的软件系统实验与验证都以此文档为依据。\n\n\t除特殊说明外,本文档所包含的需求都是高优先级需求。\n\n### 1.2 范围\n\n\t影院影片管理系统是为XXX电影院开发的业务系统,开发的目的是帮助该影院处理日常的影片管理业务,包括影片上架、影片统计,及其观众的影片信息业务,包括影片搜索、影片信息观察和影片标记。\n\n\t通过影院影片管理系统的应用,期望为XXX影院提高影片人员管理效率,降低人工管理成本,减少影片排片浪费、吸引观众并提高满意度、提高观看人数和利润。\n\n### 1.3 参考文献\n\n\t1)IEEE标准。\n\n\t2)连续商店管理系统MSCS用例文档V1.0。\n\n## 2. 总体描述\n\n### 2.1 项目前景\n\n#### 2.1.1 背景与机遇\n\n\tXXX影院据负责人刘钦的描述是一家即将倒闭的影院。影院缺少操作管理系统和自己的网站,这已经不能适应现代的观众业务需求。首先是随着计算机网络和移动互联网的发展,顾客网上了解电影和网上选择电影的需求大幅增长,传统影院运作方式效率低下,影院不能了解观众的具体需求,观众也不能方便地了解影院的影片内容,导致观众流失。其次是影院面临的竞争成本比以前更大,希望在降低管理成本、吸引观众、增强竞争力的同时,保持盈利水平。\n\n\n\t影院影片管理系统就是为满足XXX影院新的业务发展需求而开发的,它包括一个网页客户端和一个数据集中服务器。网站网页客户端实现系统用户层面的具体操作,完成日常任务,数据集中服务器将所有的数据存储起来进行维护。客户端与数据集中服务器采用实时通信的方式完成数据交换。\n\n\n#### 2.1.2 业务需求\n\n BR1: 在系统使用6个月之后,影片上座率提高50%。\n BR2:在系统使用3个月后,影片管理人员工作效率提高50%。\n BR3:在系统使用6个月之后,运营成本要降低15%。\n 范围:人力成本和影片放映成本\n BR4:在系统使用6个月后,影院盈利利润要提高20%。\n 最好情况:40%\n 最可能情况:20%\n 最坏情况:10%\n\n### 2.2 项目功能\n\n SF1:分析影片上座率,发现可能的影片影院排片浪费的现象。\n SF2:根据市场变化调整上映的电影。\n SF3:掌握员工变动和授权情况。\n SF4:处理影片的上架与下架。\n SF5:发展会员,增高观众对影院的依赖性。\n SF6:帮助观众了解影片相关信息。\n SF7:帮助观众搜索并选择希望观看的电影。\n\n### 2.3 用户特征\n\n| 参与者 | 特征 |\n| :--------------- | :---------------- |\n| 影院管理人员 | 影院有2~3个影院管理人员(包括经理和普通管理人员),他们每天都要统计影片的想看人数,处理即将上映的影片。他们平均每天上架或下架一部电影,并且根据影片的想看人数,调整影片的排片率。由于人工统计容易出错,所以他们对软件的依赖很大。影片管理人员的计算机操作能力较好。 |\n| 老板 | 影院有一个老板,他只负责管理影院管理人员的人事安排,包括入职、离职。他每个月一般只处理少于五个人事安排。老板计算机操作能力不好。 |\n| 观众 |\t影院的所有目标客户都可能成为观众,他们人数大概在几百到几千不等。他们需要通过软件来搜索影片、查找影片相关信息并且标记想看的电影。因为任何人都有可能成为观众,所以观众的电脑水平参差不齐,它们对软件的依赖性很大。他们无法也不需要进行复杂的软件操作。希望新系统尽可能帮他们设计操作简易的网页客户端。|\n\n### 2.4 约束\n\n\tCON1:系统将运行在通常HTML网页上。\n\tCON2:系统采用图形交互界面。\n\tCON3:项目要使用持续集成方法进行开发。\n\tCON4:在开发中,开发者要提交软件需求规格说明文档、设计描述文档和测试报告。\n\n### 2.5 假设与依赖\n\n\tAE1:在单个影片想看人数低于所有影片想看人数的10%之前,影片不会被下架。\n\tAE2:当前所有影片的排片率分布与上一批影片的排片率分布基本一致,影片排片情况比较稳定。\n\tAE3:观众不会对影片恶意刷想看率以影响排片。\n\n## 3. 详细需求描述\n\n### 3.1 对外接口需求\n\n#### 3.1.1 管理员界面\n\nUI1 上架:系统应该使用Form风格的界面,帮助管理员完成电影上架信息的录入。\n\n\tUI1.1 在管理人员开始上架电影命令时,系统应该进入包括各项输入框的“电影上架信息编辑”界面。\n\n\t\tUI1.1.1 在管理人员完成每项信息输入(快捷键Enter)时,系统应该检查信息输入的合法性:如果符合输入规范,则输入框背景变为绿色;如果输入不合法,输入框背景变为标识红色。\n\n\t\tUI1.1.2 在管理人员点击“保存”按钮后,系统应该弹出“确认电影上架”窗口。\n\n\t\t\tUI1.1.2.1 如果管理人员点击“确认”按钮,系统应该保存管理人员输入的上架电影信息并提示管理人员电影上架情况。\n\n\t\t\tUI1.1.2.2 如果管理人员点击“取消”按钮,系统应该关闭“确认电影上架”窗口,并返回“电影上架信息编辑”界面,允许管理人员继续编辑上架电影信息。\n\n\t\tUI1.1.3 在管理人员点击“取消”按钮后,系统应该弹出“确认退出电影上架”窗口。\n\n\t\t\tUI1.1.3.1 如果管理人员点击“确认”按钮,系统应该清空管理人员本次输入内容,并退出“电影上架信息编辑”界面。\n\n\t\t\tUI1.1.3.2 如果管理人员点击“取消”按钮,系统应该关闭“确认退出电影上架”窗口,并返回“电影上架信息编辑”界面,允许管理人员继续编辑上架电影信息。\n\nUI2 统计:系统应该使用大图标风格的界面,显示各项统计功能,帮助管理员完成统计任务。\n\n\tUI2.1 在管理员点击“统计预售电影的想看人数”时,系统应该显示包括预售影片列表和影片标识搜索框的界面。\n\n\t\tUI2.1.1 在管理人员完成输入影片标识(快捷键Enter)时,如果系统无法识别标识,则搜索框背景变为红色。\n\n\t\tUI2.1.2 在管理人员完成选择电影后,系统应在统计的同时显示一个包含一长串不停向右移动的原点的提示框;统计完成后,系统将统计人数显示在提示框内。\n\nUI5 管理人员注册:帮助管理员使用注册界面完成注册任务。\n\n\tUI5.1 管理人员输入工号时,系统应显示工号输入框。\n\n\t\tUI5.1.1 在管理员完成输入(快捷键Enter)时,如果工号格式不对,显示“工号格式错误”提示框;如果工号与已有工号重复,显示“工号重复”提示框。\n\n\tUI5.2 管理人员选择角色时,系统应显示经理和售票员两种角色图标。\n\n\t\tUI5.2.1 在管理员未选择就完成输入(快捷键Enter)时,显示“请选择角色”提示框。\n\n\tUI5.3 管理人员输入密码时,系统应显示密码输入框。\n\n\t\tUI5.3.1 在管理员不输入密码就完成输入(快捷键Enter)时,显示“密码为空”提示框。\n\n\tUI5.4 管理人员再次输入密码时,系统应显示密码输入框。\n\n\t\tUI5.7.1 输入的密码与之前的不一致,显示“密码不一致”提示框。\n\n\tUI5.5 老板输入密码时,系统应显示密码输入框。\n\n\t\tUI5.5.1 密码错误,显示“密码错误”提示框。\n\n\tUI5.6 管理人员登陆时输入工号和密码时,系统应显示工号和密码输入框。\n\n\t\tUI5.6.1 输入的工号不存在,显示“工号错误”提示框。\n\n\t\tUI5.6.2 输入的密码与工号不对应,显示“密码错误”提示框。\n\nUI6 管理人员登陆\n\n\tUI6.1 管理人员登陆时输入工号和密码时,系统应显示工号和密码输入框。\n\n\t UI6.1.1 输入的工号不存在,显示“工号错误”提示框。\n\n\t UI6.1.2 输入的密码与工号不对应,显示“密码错误”提示框。\n\n#### 3.1.2 用户界面\n\nUI1 标记电影为想看\n\n\tUI1.1 搜索结果列表中的每一个电影栏目右下方都有一个透明的心形标记。在用户点击标记时,心形由透明变红。\n\n\t\tUI1.1.1 用户再次点击取消“标记”时,心形由红变透明。\n\nUI2 搜索电影并查看电影详情\n\n\tUI2.1 观众开始搜索时,系统应在页面上方显示关键词搜索输入框,在页面下方“正在热映”、“即将上映”等列表。\n\n\t\tUI2.1.1 在观众完成输入框输入(快捷键Enter)时,如果关键词非法或不存在符合条件的结果,应当返回“无符合条件的电影”的提示框。\n\n\tUI2.2 观众通过搜索输入框完成搜索后,或点击“正在热映”、“即将上映”等列表后,系统应显示相应的结果列表。列表中每一个栏目都包含影片名称、缩略图、上映日期、心形标记。\n\n\tUI2.3 观众点击某栏目后,系统显示新的电影详情页面,包括上映日期、缩略图、简要介绍。\n\nUI3 用户注册\n\n\tUI3.1 用户输入用户名时,系统应显示用户名输入框。\n\n\t UI3.1.1 在用户完成输入(快捷键Enter)时,如果用户名与已有用户名重复,显示“用户名重复”提示框。\n\n UI3.1.2 在用户不输入用户名就完成输入(快捷键Enter)时,显示“用户名为空”提示框。\n\n\tUI3.2 用户输入密码时,系统应显示密码输入框。\n\n\t UI3.2.1 在用户名不输入密码就完成输入(快捷键Enter)时,显示“密码为空”提示框。\n\n\tUI3.3 用户再次输入密码时,系统应显示密码输入框。\n\n\t UI3.3.1 输入的密码与之前的不一致,显示“密码不一致”提示框。\n\nUI4 用户登陆\n\n\tUI4.1 用户登陆时输入用户名和密码时,系统应显示用户名和密码输入框。\n\n\t UI4.1.1 输入的用户名不存在,显示“用户名错误”提示框。\n\n\t UI4.1.2 输入的密码与用户名不对应,显示“密码错误”提示框。\n\n#### 3.1.3 通信接口\n\n\tCI: 客户端与数据集中服务器采用RMI的方式进行通信。\n\n### 3.2 功能需求\n\n#### 3.2.1 上架电影用例\n\n##### 3.2.1.1 特征描述\n\n\t当有电影需要上架时,一个经过验证的影院管理人员开始处理电影上架,完成电影信息录入、系统保存和更新。\n\t优先级=高\n\n##### 3.2.1.2 刺激/响应序列\n\n\t刺激:影院管理人员提出上架请求。\n\t响应:系统等待管理人员输入将要上架的电影信息。\n\t\n\t刺激:管理人员输入电影各项信息(名称,片长,类型,简介)。\n\t响应:系统暂存被输入的电影信息,并检查电影信息的输入。\n\t\n\t刺激:管理人员确认上架。\n\t响应:系统更新电影信息,关闭当前电影上架任务,开始下一次电影上架任务。\n\t\n\t刺激:管理人员取消电影上架任务。\n\t响应:系统关闭本次电影上架任务。\n\n##### 3.2.1.3 相关功能需求\n\n\n| 功能点 | 需求 |\n| --------------------------------- | ---------------------------------------------------------------------------- |\n| PutOnSale.Input | 系统应该允许管理人员在电影上架任务中进行键盘输入 |\n| PutOnSale.Input.Invalid | 在管理人员输入不合法的电影信息时,系统要显示输入无效 |\n| PutOnSale.End | 系统应该允许管理人员要求结束电影上架任务 |\n| PutOnSale.End.Timeout | 在电影上架任务开始30分钟后还没有接到管理人员请求时,系统取消电影上架任务 |\n| PutOnSale.End.Update | 在管理人员要求结束电影上架任务时,系统更新数据,参见PutOnSale.Update |\n| PutOnSale.End.Close | 在管理人员确认电影上架任务完成时,系统关闭电影上架任务,参见PutOnSale.Close |\n| PutOnSale.End.Return | 在管理人员撤销“结束电影上架任务”命令时,系统要允许管理人员回到原先的电影上架任务,再次编辑电影上架信息 |\n| PutOnSale.Update | 系统更新重要数据,整个更新过程组成一个事务,要么全部更新,要么全部不更新 |\n| PutOnSale.Update.Film | 系统更新电影上架信息 |\n| PutOnSale.Update.FilmsOnSaleItems | 系统更新上架电影清单 |\n| PutOnSale.Close.Show | 系统显示本次上架电影的信息 |\n| PutOnSale.Close.Next | 系统关闭本次电影上架任务,开始新的电影上架任务 |\n| PutOnSale.Cancel | 系统应该允许管理人员要求取消电影上架任务 |\n| PutOnSale.Cancel.Exit | 系统不保存本次管理人员输入的电影信息,关闭本次电影上架任务 |\n| PutOnSale.Cancel.Return | 在管理人员撤销“取消电影上架任务”命令时,系统要允许管理人员回到原先的电影上架任务,再次编辑电影上架信息 |\n\n#### 3.2.2 统计预售电影的想看人数用例\n\n##### 3.2.2.1 特征描述\n\n\t已经被识别和授权的管理人员想要统计某个/些预售电影的想看人数,完成影片标识输入和查看结果。\n\t优先级=高\n\n##### 3.2.2.2 刺激/响应序列\n\n\t刺激:管理人员提出预售影片的想看人数的统计请求。\n\t响应:系统显示预售影片列表。\n\t\n\t刺激:管理人员输入影片标识。\n\t响应:系统显示符合条件的结果列表。\n\t\n\t刺激:管理人员选择某预售的电影。\n\t响应:系统统计被选择电影的想看人数并显示。\n\n##### 3.2.2.3 相关功能需求\n\n|功能点|需求|\n| :------ | :------ |\n| Count.Input | 系统应该允许管理人员在预售影片列表中选择或在搜索框中输入 |\n| Count.Input.CountRequest | 在管理人员请求统计预售影片的想看人数时,系统要返回预售影片列表,参见Count.AdvanceSale |\n| Count.Input.Search | 在管理人员输入电影标识时,系统要返回搜索结果,参见Count.SearchResult |\n| Count.Input.Choose | 在管理人员选择某预售电影时,系统要统计某该电影的想看人数,参见Count.AddUp |\n| Count.AdvanceSale | 系统显示预售影片列表 |\n| Count.AdvanceSale.Null | 如果系统内部无预售电影,系统将提示无预售电影 |\n| Count.AdvanceSale.Sort | 如果管理人员选择了按字母顺序排序,系统对列表按字母顺序排序;如果管理人员选择了按上映时间顺序排序,系统对列表按上映时间排序 |\n| Count.SearchResult | 系统显示搜索结果 |\n| Count.SearchResult.Invalid | 如果系统找不到标识对应的影片,系统提示标识错误,3秒后提示消失 |\n| Count.AddUp | 系统统计想看人数 |\n| Count.AddUp.Amount | 系统把将某部电影标记为“想看”的用户人数全部加起来,计算总数 |\n| Count.AddUp.Null | 如果没有用户标记该电影,人数为“0”|\n\n#### 3.2.3 查看电影详情\n\n##### 3.2.3.1 特征描述\n\n\t用户完成搜索后,点击某部电影查看电影的各类信息(简要介绍,上映时间)。\n\t优先级=高\n\n##### 3.2.3.2 刺激/响应序列\n\n\t刺激:用户在搜索列表选择某部电影。\n\t响应:系统显示该电影的各类信息(简要介绍,上映时间)。\n\n##### 3.2.3.3 相关功能需求\n\n|功能点|需求|\n|:--|:--|\n| ViewDetails.Input.Choose | 在用户选择某部电影时,系统显示该电影的各类信息,参见ViewDetails.ShowDetails |\n| ViewDetails.Thumnail | 电影缩略图,256KB*128KB,PNG格式 |\n| ViewDetails.ShowDetails.Introduction | 电影简介,不超过100字 |\n| ViewDetails.ShowDetails.ReleaseDate.ViewDetails.ShowDetails.ReleaseDate.ViewDetails.ShowDetails.ReleaseDate | 电影上映日期,格式为YYYY-MM-DD |\n\n#### 3.2.4 标记某电影为想看用\n\n##### 3.2.4.1 特征描述\n\n\t用户了解完电影详情后,点击标记为想看。\n\t优先级=高\n\n##### 3.2.4.2 刺激/响应序列\n\n\t刺激:用户点击某电影的标记。\n\t响应:更新系统里的“想看电影”信息。\n\n##### 3.2.4.3 相关功能需求\n\n| 功能点 | 需求 |\n| :-------------------- | :---------------------------------------------------------- |\n| Tab.Input | 系统应该允许用户在标记某电影为想看中进行点击标记 |\n| Tab.Input.Click | 在用户点击某电影的标记时,系统要更改“想看电影”信息,参见Tab.Like |\n| Tab.Like.AddLikedMovie | 系统内部存储一条用户ID与电影的键值对 |\n\n\n#### 3.2.5 搜索电影用例\n\n##### 3.2.5.1 特征描述\n\n\t一个得到授权的观众用户,想要通过关键词(电影名称/上映时间)搜索特定的电影,并进行电影详情的查看。\n\t优先级=高\n\n##### 3.2.5.2 刺激/响应序列\n\n\t刺激:用户在搜索框中完整输入索引的关键词。\n\t响应:系统返回符合条件的电影列表。\n\t\n\t刺激:用户点击“正在热映”、“即将上映”等列表。\n\t响应:系统返回符合条件的电影列表。\n\n##### 3.2.5.3 相关功能需求\n\n| 功能点 | 需求 |\n| :-- | :-- |\n| Search.Input.Keyword | 在观众输入关键词时,只要不为空,系统对关键词不作任何要求。系统返回电影列表,参见Search.Showfilms |\n| Search.Input.Click | 在观众点击某一类列表时,系统返回电影列表,参见Search.Showfilms |\n| Search.Showfilms | 电影列表,每页显示8个电影 |\n| Search.Showfilms.Null | 如果系统通过关键词检索的结果电影数等于0,系统提示无符合条件的电影 |\n\n\n#### 3.2.6 管理人员注册和登陆\n\n##### 3.2.6.1 特征描述\n\n\t要能进行任何管理操作,必须注册为管理人员;管理人员进行操作前,必须登陆。\n\t优先级=高\n\n##### 3.2.6.2 刺激/响应序列\n\n\t刺激:管理人员输入自己的工号。\n\t响应:系统暂存管理人员的工号。\n\t\n\t刺激:管理人员选择自己的角色。\n\t响应:系统暂存管理人员的角色。\n\t\n\t刺激:管理人员输入自己的密码。\n\t响应:系统暂存管理人员的密码。\n\t\n\t刺激:管理人员再次输入自己的密码。\n\t响应:系统核对管理人员的密码。\n\t\n\t刺激:影院老板输入自己的密码确认注册。\n\t响应:系统存储该管理人员信息,包括工号、角色、密码。\n\t\n\t刺激:管理人员输入工号和密码试图登陆。\n\t响应:系统识别管理人员。\n\n##### 3.2.6.3 相关功能需求\n\n|功能点|需求|\n|:------|:------|\n| AdminRegister&Login.Input.EmployeeNumber | 在管理人员输入密码时,要检查工号格式和有效性,参见AdminRegister&Login.EmployeeNumberCheck |\n| AdminRegister&Login.Input.Actor | 在管理人员选择角色时,系统显示经理和售票员两种角色 |\n| AdminRegister&Login.Input.Password | 在管理人员输入密码时,只要不为空,系统对密码格式不作任何要求 |\n| AdminRegister&Login.Input.PasswordCheck | 在管理人员再次输入密码时,系统核对是否与之前输入的密码一致,不一致则提示,在管理人员再次输入一致的密码后才可进入下一步 |\n| AdminRegister&Login.Input.BossPassword | 在经理输入密码时,系统核对密码是否正确,不正确则提示,在经理输入正确的密码后才可完成管理人员注册 |\n| AdminRegister&Login.Input.Login | 在管理人员输入工号和密码并尝试登陆时,系统核对该管理人员信息,参见AdminRegister&Login.Indentify |\n| AdminRegister&Login.EmployeeNumberCheck.Format | 如果工号不符合格式,系统提示工号重复,具体格式参见AdminRegister&Login.EmployeeNumberFormat |\n| AdminRegister&Login.EmployeeNumberCheck.Repeat | 如果工号与系统已存储的工号重复,系统提示工号重复 |\n| AdminRegister&Login.EmployeeNumberFormat | 管理人员的工号应遵循格式XXYYYYMMDDNNNN |\n| AdminRegister&Login.EmployeeNumberFormat.XX | 格式中的xx代表职位。00表示老板,01表示经理,02表示售票员 |\n| AdminRegister&Login.EmployeeNumberFormat.YYYY | 格式中的YYYY代表年份 |\n| AdminRegister&Login.EmployeeNumberFormat.MM | 格式中的MM代表月份 |\n| AdminRegister&Login.EmployeeNumberFormat.MM | 格式中的DD代表日 |\n| AdminRegister&Login.EmployeeNumberFormat.NNNN | 格式中的MM代表当日入职的第MM个人 |\n| AdminRegister&Login.Indentify | 系统核对管理人员工号是否存在,然后核对输入的密码是否对应该工号 |\n| AdminRegister&Login.Indentify.WrongEmployeeNumber | 管理人员工号不存在,系统提示工号错误 |\n| AdminRegister&Login.Indentify.WrongPassword | 管理人员输入的密码与工号不一致,系统提示密码错误 |\n\n#### 3.2.7 用户注册和登陆\n\n##### 3.2.7.1 特征描述\n\n\t能进行电影信息的搜索、查看和标记,未得到授权且未注册的用户需要进行注册才能得到授权账号,已注册但未登陆的用户需要登陆才能得到授权进行操作。\n\t优先级=高\n\n##### 3.2.7.2 刺激/响应序列\n\t\n\t刺激:用户输入自己的用户名。\n\t响应:系统暂存用户的用户名。\n\t\n\t刺激:用户输入自己的密码。\n\t响应:系统暂存用户的密码。\n\t\n\t刺激:用户再次输入自己的密码。\n\t响应:系统核对用户的密码。\n\t\n\t刺激:用户确认自己的输入。\n\t响应:系统存储该用户信息,包括用户名、密码。\n\t\n\t刺激:用户输入用户名和密码试图登陆。\n\t响应:系统识别用户。\n\n##### 3.2.7.3 相关功能需求\n\n|功能点|需求|\n|:------|:------|\n| User&Login.Input.UserNumber | 在用户输入密码时,要检查用户名有效性,参见User&Login.UsernameRepeat |\n| User&Login.Input.Password | 在用户输入密码时,只要不为空,系统对密码格式不作任何要求 |\n| User&Login.Input.PasswordCheck | 在用户再次输入密码时,系统核对是否与之前输入的密码一致,不一致则提示,在用户再次输入一致的密码后才可进入下一步 |\n| User&Login.Input.Login | 在用户输入用户名和密码并尝试登陆时,系统核对该用户信息,参见User&Login.Indentify |\n| User&Login.UsernameRepeat | 如果用户名与系统已存储的用户名重复,系统提示用户名重复 |\n| User&Login.Indentify | 系统核对用户用户名是否存在,然后核对输入的密码是否对应该用户名 |\n| User&Login.Indentify.WrongUsername | 用户用户名不存在,系统提示用户名错误 |\n| User&Login.Indentify.WrongPassword | 用户输入的密码与用户名不一致,系统提示密码错误 |\n\n\n### 3.3 非功能需求\n\n#### 3.3.1 安全性\n\n\tSafety1: 系统应该只允许经过验证和授权的用户和管理员访问。\n\t\n\tSafety2: 系统中有2~3个管理员账号,该账号只允许管理员用户修改口令。\n\t\n\tSafety3:系统应该按照用户身份验证用户的访问权限。\n\n#### 3.3.2 可维护性\n\t\n\tModifinability1:如果系统要增加新的会员服务(例如赠送爆米花和影票打折等),要能够在1个人月内完成。\n\t\n\tModifinability2:如果系统要增加积分服务,要能够在2个人月内完成。\n\t\n\tModifinability3:如果系统要增加支付方式,要能够在025个人月内完成。\n\n#### 3.3.3 易用性\n\n\tUsability1:订票付款成功到出票成功,要在一分钟之内完成。\n\n#### 3.3.4 可靠性\n\t\n\tReliability1:在客户端与服务器通信时,如果网络故障,系统不能出现故障。\n\t\n\t​\tReliability1.1:客户端应该检测到故障,并尝试重新连接网络3次,每次15秒。\n\t\n\t \t\tReliability1.1.1:重新连接后,客户端应该继续之前的工作。\n\t\n\t​\t\tReliability1.1.2:如果重新连接失败,客户端应该等待5分钟后再次尝试重新连接。\n\t\n\t​\t\t\tReliability1.1.2.1:重新连接后,客户端应该继续之前的工作。\n\t\n\t​\t\t\tReliability1.1.2.2:如果重新连接仍然不成功,客户端报警。\n\n#### 3.3.5 业务规则\n\n\tBR1:适用(想看人数,日期)的电影排版规则。\n\t\n\t​\t(想看人数多)参照日期的该电影分布多点电影场次。\n\n#### 3.3.6 约束\n\t\n\tIC1: 系统要在网络上分布为一个服务器和多个客户端\n\n### 3.4 数据需求\n\n#### 3.4.1 数据定义\n\n\tData1:系统要存储六个月的电影想看人数数据。\n\t\n\tData2:系统删除之后的用户数据仍然要继续存储3个月的时间,以保证历史数据显示的正确性。\n\n#### 3.4.2 默认数据\n\n\t默认数据用于以下两种情况:\n\t\n\t*系统中新增加数据时。\n\t\n\t*编辑数据时不小心将相关内容清空。\n\t\n\tDefault1:用户想看电影的数量默认为0。\n\t\n\tDefault2:费用的数据默认为0。\n\t\n\tDefault3:用户的默认身份为观众。\n\t\n\tDefault4:时间默认为当天。\n\t\n\tDefault5:电影在列表下架原因默认为过了上映期。\n\n#### 3.4.3 数据格式要求\n\n\tFormat1:价格和费用的格式必须是大于等于0、精确到小数点后2位的浮点数,单位为元。\n\t\n\tFormat2:电影想看人数必须是整数。\n\t\n\tFormat3:日期的格式必须是YYYY-MM-DD。\n\n### 3.5 其他\n\n\t安装需求\n\t\n\tInstall1:在安装系统时,要初始化用户、电影信息等重要数据。\n\t\n\tInstall2:系统投入使用时,需要对管理人员进行三天的集中培训。\n`; };