1、软件需求分析实验教学大纲适用专业: 软件工程课程类别: 专业限选课课程性质: 专业课实验类别: 专业基础实验一、 学时与学分1.课程总学时: 642.课程总学分: 43.实验学时: 10( 分为5次实验) 4.实验学分: 1二、 实验教学目标与基本要求四人或五人一组。目标: 1) 实验内容达到教学大纲要求; 2) 实验报告内容详实, 公正, 态度认真。基本要求: 严格按照实验报告格式编写。三、 内容简介: 序号实验项目名称实验内容提要实验项目1软件功能描述与确认针对常见软件, 描述软件功能, 确认描述的正确性学生自己选择实验对象软件( 如Office Word,PowerPoint,Excel
2、等) , 对其常见的软件功能进行描述。实验描述与内容格式见实验报告-1。 2从程序设计看软件功能需求针对给定的程序设计题目,或根据给定的可视控件人机界面设计, 提炼/补充软件功能需求和非功能需求1.C语言程序设计中的软件功能需求和用户需求的提炼。2.用户界面( 可视控件) 的软件功能需求和用户需求提炼。以上项目见实验指导文件: 从程序设计看软件需求实验描述与内容格式见实验报告-2。3软件需求分析( 业务需求) 自选小型软件( 网站) 描述( 含建模) 业务需求注: 也可结合学生兴趣,选择一人机交互系统/嵌入式系统软件,如手机,PDA等。实验描述与内容格式见实验报告-3。4软件需求分析( 用户需
3、求) 自选小型软件( 网站) 描述( 含建模) 用户需求实验描述与内容格式见实验报告-4。5软件需求分析( 功能需求) 自选小型软件( 网站) 描述( 含建模) 功能需求实验描述与内容格式见实验报告-5。最后, 实验3, 4, 5汇总为需求说明文档文档格式见实验总结文件格式软件需求分析文档。四、 参考教材: 实验1: 1.美Maureen Sprankle, 问题求解与编程概念( 第6版) , 清华大学出版社, 11月 张晓明 邓劲生译实验2: 1.实验指导文件: 从程序设计看软件需求( 教师自编) 实验35: 1.( 美) Karl E.Wiegers, 软件需求( 第2版) , 清华大学出
4、版社, -11-1( Software Requirements,Second Edition) , 【译者】 刘伟琴 刘洪涛 2.本课程软件需求分析参考文档。五、 考核方式: 提交书面实验报告( 按规定格式) or每组选一人讲解实验报告。详见本课程教学大纲六、 实验设备及器材配置: 个人计算机, Office软件, Visio绘图软件, 全部每生一套。七、 实验项目一览: 适用专业、 年级1.软件工程专业3年级第2学期总学时/实验学时64/10序号实验项目名称实验内容提要学时实验要求实验类型每组人数面向专业编号备注1软件功能描述与确认针对常见软件( Word) , 描述软件功能, 确认描述的
5、正确性( 至少10个功能) 2必做验证452从程序设计看软件功能需求针对给定的程序设计题目,或根据给定的可视控件人机界面设计, 提炼/补充软件功能需求和非功能需求2必做综合设计453软件需求分析( 业务需求) 推荐/自选小型软件( 网站) 描述( 含建模) 业务需求分析2必做综合设计454软件需求分析( 用户需求) 推荐/自选小型软件( 网站) 描述( 含建模) 用户需求分析2必做综合设计455软件需求分析( 功能需求) 推荐/自选小型软件( 网站) 描述( 含建模) 功能需求分析2必做综合设计45软件需求文档编写最后, 对实验3, 4, 5, 报告进行汇总、 加工, 编写出xxx软件需求文档
6、必做每生独立注: 1.实验要求分必做和选做两种; 实验类型为验证型、 设计型、 综合型、 综合设计型等。 2.独立设课的实验不需填写”课程总学时”与”课程总学分”。大纲执笔人: 大纲审定人: 年 月 日教学进度计划表学 年: 至 年度 秋 季学期部门名称: 计算机科学学院 课程名称: 软件需求分析 课程代码: 11100700 课程性质: 专业限选 授课班级: 计算机科学学院软件工程 专业 09级 班 班级人数: 135 主讲教师: 齐连永 职称: 讲师 教材名称: 软件需求最佳实践, 电子工业出版, -04 名称总时数讲课实验上机习题课程设计周学时考试/考查机动计划时数645410本课程教学
7、目的与要求: 经过本课程的教学使学生知道、 了解和理解软件需求工程的各个阶段( 需求获取阶段、 需求分析阶段、 编写需求规格说明阶段、 需求确认阶段和需求管理阶段) , 有效的需求获取技术等, 培养学生的专业意识, 建立专业知识体系, 为后续的毕业设计工作打下良好的基础必读书籍和参考书籍: 英Ian Sommerville著, 程成等译, 软件工程 6th Edition, 机械工业出版社, 中信出版社 1月所需教学设备: 个人计算机, 投影仪任课教师签名: 系( 教研室) 主任签名: 主管教学院长( 主任) 签名: 院( 部) 签章 年 2 月 24 日教务处制周次起止日期周学时教学内容安排
8、( 章、 节扼要内容) 目的和要求教学形式及其手段作业( 包括实习、 实验习题) 、 辅导12月25日2月29 日4课程介绍( 含教学大纲, 实验大纲等) 第一部分软件需求初步知识和体验第1章软件需求基础知识经过课堂理论教学, 课下关于常见软件的体验和理解, 使学生建立软件需求的初步知识。要求认真完成实验。讲授, 提示型教学方法知识整理, 资料阅读, 实验准备23月3 日3月7日2第2章客户眼中的需求同上讲授, 提示型教学方法33月10 日3月14 日4第3章,第4章需求工程的推荐方法需求分析员同上讲授, 提示型教学方法完成实验12学时43月17 日3月21 日2第二部分软件需求理论知识与方法
9、第5章确定产品前景与项目范围经过课堂及实验教学, 课下的阅读和理解, 使学生建立关于软件需求的基础理论与实践知识, 了解软件需求基本方法要求认真完成实验。讲授, 提示型教学方法知识整理, 资料阅读, 实验准备53月24 日3月28 日4第二部分软件需求理论知识与方法第6章,第7章,第8章获取客户的需求聆听客户的需求理解用户需求同上讲授, 提示型教学方法完成实验22学时63月31 日4月4 日2第9章,第10章遵守规则编写需求文档同上讲授, 提示型教学方法知识整理, 资料阅读, 实验准备74月7 日4月11 日4案例介绍: 自助食堂订餐系统同上讲授, 提示型教学方法完成实验32学时84月14 日
10、4月18 日2第三部分软件需求分析实践与文档写作第11章,第12章一图胜千言软件质量属性经过课堂及实验教学, 课下的实践与应用, 使学生初步掌握软件需求文档的写作方法, 重点掌握业务需求和用户需求的编写方法。要求认真完成实验。讲授/讨论, 共同解决问题型教学方法知识整理, 资料阅读, 实验准备94月21 日4月25 日4第13章,第14章经过制作原型减少项目风险设定需求优先级同上讲授/讨论, 共同解决问题型教学方法104月28 日5月2 日2案例介绍: 自助食堂订餐系统同上讲授/讨论, 共同解决问题型教学方法完成实验42学时115月5 日5月9 日4第四部分软件需求管理初步第15章,第16章需
11、求确认需求开发面临的特殊难题本部分为提高部分, 经过课堂教学和课下阅读, 使学生对软件工程中的需求管理具有初步的了解。要求认真完成实验。讲授/讨论, 共同解决问题型教学方法125月12 日5月16 日2第17章,第18章超越需求开发需求管理的原则和实践同上讲授/讨论, 提示型教学方法知识整理, 资料阅读, 编制需求文档准备135月19 日5月23 日4第19章,第20章变更管理需求链中的联系链国内外软件公司的需求分析文档介绍同上讲授/讨论, 提示型教学方法145月26 日5月30 日2第21章需求管理工具同上讲授/讨论提示型教学方法156月2 日6月6 日4第22章,第23章改进需求过程软件需
12、求与风险管理同上讲授/讨论, 提示型教学方法完成实验52学时166月9 日6月13 日2案例介绍: 自助食堂订餐系统同上讲授/讨论, 共同解决问题型教学方法176月16 日6月20 日4l 复习, 需求文档写作指导要求认真完成软件需求文档写作讲授/讨论, 共同解决问题型教学方法完成软件需求文档写作186月23 日6月27 日2l 复习, 需求文档写作指导要求认真完成软件需求文档写作讲授/讨论, 共同解决问题型教学方法考试, 评定成绩软件需求分析实 验 指 导 书软件工程系曲阜师范大学 计算机科学学院 10月课程编号: 11100700 课程类别: ( 专业限选课) 适用专业: 计算机科学与技术
13、、 软件工程、 网络工程课程总学时: 64 实验学时: 10开设实验项目数: 5个目录实验1: 软件功能描述与确认( 验证性实验2学时) 4一、 实验目的与要求4二、 实验环境4三、 实验预习与准备4四、 实验内容和步骤4五、 实验报告要求5六、 实验注意事项5七、 思考题5实验2: 从程序设计看软件需求( 综合设计性实验, 2学时) 6一、 实验目的与要求6二、 实验环境6三、 实验预习与准备6四、 实验内容和步骤6五、 实验报告要求13六、 实验注意事项14七、 思考题14实验3: 软件需求分析( 业务需求) ( 综合设计性实验, 2学时) 15一、 实验目的与要求15二、 实验环境15三
14、、 实验预习与准备15四、 实验内容和步骤15五、 实验报告要求16六、 实验注意事项17七、 思考题17实验4: 软件需求分析( 用户需求) ( 综合设计性实验, 2学时) 18一、 实验目的与要求18二、 实验环境18三、 实验预习与准备19四、 实验内容和步骤19五、 实验报告要求19六、 实验注意事项22七、 思考题22实验5: 编写软件需求说明书( 综合设计性实验, 2学时) 23一、 实验目的与要求23二、 实验环境23三、 实验预习与准备23四、 实验内容和步骤23五、 实验报告要求24六、 实验注意事项25七、 思考题25附件26参考文献26格式说明26实验1: 软件功能描述与
15、确认( 验证性实验2学时) 一、 实验目的与要求针对常见软件( 如Word) , 描述软件功能, 确认描述的正确性( 至少10个功能) 要求: 1.四人或五人一组。2.严格按照实验报告格式编写; 3.实验报告内容详实, 公正, 态度认真。二、 实验环境1.个人计算机2.常见工具软件: MS Office 3.CASE软件: Visio 三、 实验预习与准备1.组成实验小组2.复习课堂教学内容3.选择实验对象, 查阅有关资料4.熟悉实验指导书内容5.实验报告、 实验记录用纸等四、 实验内容和步骤每实验小组自己选择实验对象软件( 如Office Word, PowerPoint, Excel等)
16、, 对其常见的软件功能进行描述。任选一组或两组功能, 总共不少10个子功能, 边确认边用文字描述其功能。例如: 在Word字处理软件的功能分类中有: 1. 文本格式化选择文本的显示方式。2. 文本编辑和更正更改已经输入的文本内容。3. 文件操作实现文本的保存、 打印、 输出及做其它操作。4. 工具添加列、 表格、 图片、 对数据排序、 检查拼写等等。5. 宏允许用户合并多个任务。6. 视图功能使用多种方式查看文档。7. 通信从外部资源中获得信息。五、 实验报告要求 实验对象及实验内容、 结果等信息按照下列表格填写。功能大分类: 实验小组成员: 班级: 序号功能名称功能描述是否非功能需求你希望的
17、功能实验者签名实验操作与记录要求示例Word 软件的”保存文档”功能 从菜单上操作, 有保存、 另存为。基本功能是: 把当前文件保存到指定的文件夹内。保存1) 新建文件, 缺省情况下, 提示用户保存到我的文档, 在提示窗口下, 用户可选择其它任意路径下的任何文件夹( 可新建文件夹) ; 2) 既有文件, 缺省情况下, 直接保存到该文件所在的文件夹内。3) 保存操作完的表现: 正常情况下无任何显示, 如文件较大, 则保存操作的进度由进度条表现。异常情况下, 显示信息通知。另存为1) 系统显示提示窗口, 用户可选择任意路径下的任何文件夹( 可新建文件夹) ; 2) 保存操作完的表现: 正常情况下无
18、任何显示, 如文件较大, 则保存操作的进度由进度条表现。异常情况下, 显示信息通知。六、 实验注意事项1. 必须保证有足够的实验工作量。2. 试验中要开展组内的讨论。3. 实验结果记录要严谨, 有条理。七、 思考题1. 你认为上述功能中,哪些功能属于否非功能需求?为什么?2. 你认为利用上述格式描述软件需求有何好处, 上表的格式还能够如何改进? 3. 总结一下你在做这个实验的过程和方法。实验2: 从程序设计看软件需求( 综合设计性实验, 2学时) 一、 实验目的与要求针对给定的程序设计题目,或根据给定的可视控件人机界面设计, 提炼/补充软件功能需求和非功能需求。要求: 1.四人或五人一组。2.
19、严格按照实验报告格式编写; 3.实验报告内容详实, 公正, 态度认真。二、 实验环境1.个人计算机2.常见工具软件: MS Office 3.CASE软件: Visio 三、 实验预习与准备1.组成实验小组2.复习课堂教学内容3.选择实验对象, 查阅有关资料4.熟悉实验指导书内容5.实验报告、 实验记录用纸等四、 实验内容和步骤4-1 语言程序的软件功能需求分析说明: 本实验为从C语言程序设计中提炼出软件功能需求( 含非功能需求) 。按照教学进度, 当前学生已普遍知道软件用户需求和功能需求( 含非功能需求) , 基本含义如下: l 用户需求: 业务信息处理需求, 交互需求等。l 功能需求: 软
20、件如何处理数据l 非功能需求: 包括异常处理, 界面友好, 软件易用性等现有一些C语言程序设计题目, 各题目描述的需求层次不一。要求: 每实验小组从下列题目中至少选择2个, 考察原题目的需求描述,判断属于上述3类需求的哪一层次, 在表中填写题目未描述的其它需求。示例如下表2-1所示。表2-1 C语言程序设计题目原题目: 输入一组整数, 当输入负数时停止, 求和。用户需求功能需求非功能需求为计算一组人员年龄的平均值, 先求出所有人员的年龄总和。求和开始的标志是: 有一负数输入。输入一组整数, 当输入负数时停止,求和。1. 该软件应为用户提供方便的输入方式, 输入错误时, 应放弃计算, 并以错误信
21、息提示用户。2. 所有输入数据必须为整数, 否则作为异常处理。3. 最初两个输入数据不能为负值, 否则作为异常处理。4. 假定各输入整数上限为120, 大于者作为异常处理。5. 异常处理: 中断程序执行, 返回代表上述3种情况的整数, 并用错误信息提示用户。实验题目: 1.输入一组整数,当输入负数时停止,求其中最小者。2.求 1-999 中能被 3 整除的数,并求它们的和。3.由键盘输入一个班50个学生的一门功课的成绩, 求这门功课全班的平均成绩。4.编制一个运动会百米测验统计名次的程序。5.输入一组学生的姓名和成绩, 从中找出成绩最高人的姓名, 并打印出她们的姓名和成绩。6.编写程序, 从键
22、盘输入6名学生的5门成绩, 分别统计出每个学生的平均成绩。7.设有5个学生, 每个学生考4门课, 编写程序能检查这些学生有无考试不及格的课程。若某一学生有一门或一门以上课程不及格, 就输出该学生的序号( 序号从0开始) 和其全部课程成绩。8.编写程序计算10名学生1门课成绩的平均分。4-2 用户界面( 可视控件) 的软件需求分析说明: 本实验为用户界面( 可视控件) 的软件需求提炼。要求: 对于下列16组控件界面图, 每实验小组至少选择3组, 用文字描述: 该组各图的用户需求和功能需求。示例: 示例-1用户需求: 开发一学生成绩管理系统, 其功能要求之一是: 对数学、 英语、 语文三门课程的学
23、生成绩( 每生总分及平均分) 用列表显示。功能需求: 建立一独立窗体, 从数据库中取得制定班级的三门课程成绩在窗体中的表格中显示; 表格右边两列分别显示三门课程的总成绩和平均分数( 精度为2位小数, 第三位小数四舍五入) 。示例-2用户需求: 开发一客房管理系统, 其功能要求之一是: 快捷浏览每个房间的详细信息, 是否已预订, 如已有预定, 要求显示预定期间、 客人姓名; 列表显示所有房间的等级及其价格、 有无空房。功能需求: 建立一独立窗体, 从数据库中客房信息一览表, 该表含有客房类型、 单价、 空房间数等; 该窗体中应提供方便的图形界面交互方式, 快速显示已经预订的房间信息, 包括房间号
24、、 房间类型、 单价、 预定时间等; 另, 应能够经过客人姓名快速检索已定客房信息。实验题目用户界面( 可视控件) 的软件需求分析可选题目如下: 图1-1图1-2图2-1图2-2图3-1图3-2图4-1图4-2图5-1图5-2图6-1图6-2 图7-1图7-2 图8-1图8-2 图9-1图9-2图10-1图10-2图11-1图11-2图12-1图12-2图13-1图13-2图14-1图14-2图15-1图15-2图16-1图16-2五、 实验报告要求要求本实验结果按照下列表格格式填写。其中: 实验对象描述, 指C语言程序描述; 在选择控件界面设计图为实验对象时, 需将图形文件贴于此处。实验对象
25、编号及其描述软件功能需求提炼1.用户需求: 功能需求: 非功能需求: 2.用户需求: 功能需求: 非功能需求: 3.用户需求: 功能需求: 非功能需求: 六、 实验注意事项1.注意分析实验对象的非功能需求2.注意提高自己的文字表示能力3.注意总结对软件功能需求及非功能需求的认识七、 思考题1. 上述需求分析的结果中, 有没有相互矛盾的情况? 为什么? 2. 你认为本次实验的意义( 价值) 如何? 3. 总结一下你在做这个实验的过程和方法。实验3: 软件需求分析( 业务需求) ( 综合设计性实验, 2学时) 一、 实验目的与要求业务需求( Business requirement) , 描述了组
26、织为什么要开发一个系统, 即组织希望达到的目标。组织的目标指超越软件本身的较高层次的目标。软件的业务需求任务是: 定义项目范围。本课程规定: 业务需求的描述, 采用前景和范围( vision and scope) 文档来记录。详细的内容见教材第4章。本实验的设计依据, 来自本课程第3章给出的需求过程推荐方法中的第一布, 即知识方法。经过获取软件客户的业务知识, 建立起软件客户的业务需求框架。实验目的: 针对某小型软件产品( 含小型网站) 的开发, 收集、 获取客户的业务知识, 分析其业务需求, 描述出: 1) 客户经过该软件项目预期达到的业务目标; 2) 客户为达到预期业务目标所实施的软件项目
27、范围; 3) 将客户业务知识经整理、 汇总后作为本实验报告的附件( 可选) 。要求: 1.四人或五人一组。2.严格按照实验报告格式编写; 3.实验报告内容详实, 公正, 态度认真。二、 实验环境1.个人计算机2.常见工具软件: MS Office 3.CASE软件: Visio 三、 实验预习与准备1.组成实验小组2.复习课堂教学内容3.选择实验对象, 查阅有关资料4.熟悉实验指导书内容5.实验报告、 实验记录用纸等四、 实验内容和步骤1. 每个小组自选一个小型软件( 或网站) , 经小组成员讨论后确定其名称; 2. 利用各种渠道获取该软件的相关组织的业务知识。主要是: ( 1) 业务领域及其
28、产品( 服务) 的内容、 获利方式等; ( 2) 组织结构与主要业务人员角色; ( 3) 业务流程及相关术语; ( 4) 其它知识。3. 绘制基于该软件构思的”业务-软件系统关联图”( 参照教材4-27中的上下文图) ; 4. 按照本课程规定的”前景和范围文档”模板格式( 见下表3-1, 作为实验记录纸的内容) , 描述基于预期软件作用下的业务需求; 5. 学生自主讨论, 教师指导、 答疑。五、 实验报告要求 5-1.实验记录业务需求模板本实验报告主要内容须按照下属格式填写。表3-1: 业务需求描述模板( 前景和范围文档, 参照教材表4-6、 4-7) 题目: xxx软件( 网站) 业务需求(
29、 补充内容: 对题目的选择给予简要说明) 1. 背景、 业务机会和客户需要2. 业务目标和成功标准BO-1: BO-2: BO-3: SC-1: SC-2: 3.业务风险RI-1: RI-2: 内容说明: 1.背景、 业务机会和客户需要。( 1) 背景。概述新产品的来由与背景。对历史和现状进行概括性的描述, 说明为什么决定开发该产品。( 2) 业务机遇。对于软件企业, 描述该预期软件产品( 网站) 可能得到的市场机遇或其产品的竞争能力; 对于为某组织开发的信息系统软件, 描述的预期将要解决的业务问题或将要改进的业务流程; 还应对产品或解决方案简要描述其优点和作用。作为限制条件, 能够描述需要哪
30、些其它的技术、 过程或资源。2.业务目标和成功标准。用量化和可衡量的方式概述该软件产品( 网站) 提供了哪些重要的业务利益; 如是社会公益性项目, 可采取定性的描述语句说明其社会管理、 社会服务等方面给受益群体带来的好处。要按照结构化的要求描述, 即将业务目标描述为BO-1、 BO-2的形式, 将成功标准描述为SC-1、 SC-2形式。3.业务风险。概述与该软件产品( 网站) 开发相关的主要风险。包括可能出现的市场竞争问题、 时间问题、 用户认可、 实现问题以及其它可能对业务造成的负面影响。5-2 实验数据处理( 选做) 对于”实验内容及步骤”实施的结果, 回到上述的步骤2和3, 按照下表3-
31、2所示格式, 仔细分析、 对照、 检查业务需求描述内容与客户业务知识的符合程度, 修改、 精炼、 完善业务需求。表3-2 业务需求实验信息处理表业务需求描述-1( 实验内容与步骤的结果) 业务需求描述-2( 修改与完善后的结果) 修改原因1.背景、 业务机会和客户需要2.业务目标和成功标准3.业务风险另: 1) 本次实验不要求有关软件版本的内容。2) 在本实验中, 不要求使用用例图。用例方法在实验4中要求必做。六、 实验注意事项本课程的实验3, 4, 5, 为同一个软件( 网站) 的三部分需求, 即业务需求、 用户需求和功能需求。学生务必以注意保持三个实验报告和记录的连续性, 以便最终完成一个
32、完整的软件需求说明文档。七、 思考题针对表3-2 中的”修改原因”进行分析, 并笔答下列问题: 1.你的修改原因是怎样发现的? 2.对修改前后对比, 你认为你的业务需求实验结果发生了怎样的变化? 3.总结一下你在做这个实验的过程和方法以及对业务需求文档描述工作的认识。实验4: 软件需求分析( 用户需求) ( 综合设计性实验, 2学时) 一、 实验目的与要求用户需求( user requirement) , 描述的是用户使用预期软件系统所要达到的功能性目标及非功能性要求。一般, 用户需求描述的是软件使用者( 用户) 使用系统能够完成什么业务任务或信息处理工作。具体内容是用例描述。场景描述不要求。
33、本课程规定: 用户需求的描述, 采用用例( user case) 文档来记录。详细的内容见教材第8章。用例方法, 主要用于发现必要的功能性需求。对于不太复杂的用例, 只要求写出一个简略的描述, 然后, 推导出角色执行该用例( 包括分支过程和异常处理) 需要的所有功能性需求。实验目的针对某小型软件产品( 含小型网站) 的开发, 在业务需求文档( 前景范围文档) 的基础上, 进一步收集、 获取用户的业务知识( 重点是人机交互、 任务的输入、 任务功能、 输出信息及业务任务的结果等) , 建立起用例模型, 描述: 1) 用户业务任务的用例图( 参见教材图8-1) 2) 用户业务任务的用例列表( 示例
34、见表4-1) 3) 若干个具体的用例。即从用例出发推导部分功能需求和非功能需求, 并明确说明。异常处理单独描述。( 示例见表4-2) 4) 用户完成业务任务中需遵循的业务规则( 可选) 说明: 上述”若干个”具体的用例描述, 指实验小组的每个成员至少从本组的软件( 网站) 的业务主干过程中选择一个用例进行规范描述。要求: 1.四人或五人一组。2.严格按照实验报告格式编写; 3.实验报告内容详实, 公正, 态度认真。二、 实验环境1.个人计算机2.常见工具软件: MS Office 3.CASE软件: Visio 三、 实验预习与准备1.组成实验小组2.复习课堂教学内容3.选择实验对象, 查阅有
35、关资料4.熟悉实验指导书内容5.实验报告、 实验记录用纸等四、 实验内容和步骤在学生自选的小型软件( 或网站) 的业务需求文档的基础上, 实施以下实验内容: 1.深入获取业务知识, 描绘用例图。2.编写用例列表。3.分工编写各自负责的用例描述。4.学生自主讨论, 教师指导、 答疑。五、 实验报告要求 5-1 实验报告模板用例分析的结果, 应按照下述示例的表格形式填写。表4-1 用例列表( 示例: 自动订餐系统, 教材附录D.2) 主要参与者用 例顾客1.订餐2.变更订单3.取消订单4.查看菜单5.注册从工资中扣除餐费的付费方式6.取消注册的从工资中扣除餐费的付费方式7.订购标准餐8.修改所订的
36、标准餐9推翻所订的标准餐菜单经理10.创立菜单11.修改菜单12.定义特色菜自助食堂工作人员13.准备餐14.生成付费请求15.请求送货16.生成系统使用报告送餐人员17.送餐18.记录送餐情况19.打印送餐说明表4-2 用例描述( 示例: 自动订餐系统的订餐用例, 教材附录D.2) 用例ID号UC-1用例名称订餐创立者Karl Wiegerss最后更新者Jack McGillicutty创立日期 10月21日最后更新日期 11月7日参与者顾客描述顾客从公司内联网或从家里访问”自助食堂订餐系统”, 随意查看某一天的菜单, 选择自己想要的食物, 提交订单并要求在特定的时间窗口( 15分钟) 内送
37、货到指定的地点前置条件1.顾客登录到”自助食堂订餐系统” 2.顾客注册的付费方式是从工资中扣除后置条件1.订单在”自助食堂订餐系统”中的存储状态是”已接受”2.根据这一订单的食物条目来更新食物存货3.根据这一次的送货请求, 对请求的时间窗口更新剩余的送货能力主干过程1.0 订一份餐1.顾客要求查看某一天的菜单2.系统显示有效食物菜单和当日特色菜3.顾客从菜单中选择一种或多种食物4.顾客表明订餐完成5.系统显示所订菜单条目、 单价和总价格, 包括应交纳的税和送货费用6.顾客确认订餐订单或请求修改订餐订单( 回到第3步) 7.系统显示那一天中有效的送餐时间8.顾客选择送餐时间和指定送餐地点9.顾客
38、指定付费方式10.系统确认接收订单11.系统向顾客发送电子邮件, 确认订单细节、 价格和送餐说明12.系统将订单存储在数据库中, 并发送电子邮件通知自助食堂工作人员, 将食物信息发送给自助食堂库存系统, 并更新有效的送餐时间分支过程1.1 订多份餐( 第4步之后分支出来) 1.顾客要求预订另一份餐2.返回到第2步1.2 同样的餐订多份( 第3步之后分支出来) 1.顾客请求预订指定数量的同样食物的多份餐2.返回到第4步1.3 订当日特色菜( 第2步之后分支出来) 1.顾客从菜单中订当日特色菜2.返回到第5步异常1.0.E.1 订单截止时间在当前时间之前( 第1步) 1.系统通知顾客今天订餐已太晚
39、了2a.顾客取消订单2b.系统终止用例3a.顾客请求选择另一个日期3b.系统重新启动用例1.0.E.2 没有有效的送餐时间( 第1步) 1.系统通知顾客送餐日已没有有效的送餐时间2a.顾客取消订单2b.系统终止用例3.顾客请求在自助食堂选择订单( 跳过第7步和第8步) 1.0.E.3 不能完成指定数量的同样食物的多份餐( 第1步) 1.系统通知顾客它所能提供的同样食物曲多份餐的最大数量2 顾客变更所订的同样食物的份数, 或者取消订单包含无优先级高使用频率大约400名用户, 平均每天使用一次业务规则BR-1, BR-2, BR-3, BR-4, BR-8, BR-11, BR-12, BR-33
40、特别需求1.顾客在确认订单之前的任何时间都能够取消订单2.顾客能查看自己前6个月的全部订餐, 并能够重复其中的任一次订餐作为新的订餐, 只要所有食物在请求送餐日的菜单中都有效。( 优先级为中) 假设1.假设30%的顾客会订当日特色菜( 来源: 根据前6个月的自助食堂数据所得) 注意和问题1.如果客户在今天的截止时间之前使用系统, 那么默认的日期是当前日期。否则, 默认日期是自助食堂的下一个营业日2.如果顾客不要求送餐, 那么”请求注册付费方式是从工资中扣除”这一前置条件就不适用3.这一用例的峰值使用负载是当地时间早晨8点到10点5-2 需求描述基本要求按照上述模板描述的用户需求( 包括推导出的
41、功能需求) 、 非功能需求, 需参照下列要求认真编写。其中( 1) 、 ( 2) 、 ( 3) 和( 4) 是必须满足的基本要求; 对于( 7) , 参照5-3进行用例测试。( 1) 完整性不能缺少某些信息。( 2) 正确性需求之间不应发生冲突。( 3) 可行性避免不可实现的需求。( 4) 必要性必须是用户的真正需要( 5) 有优先次序在产品的某一版本中的重要程度。( 6) 无歧义 一项需求只有一种一致的解释。( 7) 可验证性用检查或演示能够判断产品是否正确实现了需求。5-3 用例测试选择23个主要用例, 按照下面的例子, 进行用例测试, 填写下表4-3。意图是明确该用例的若干条可能的执行路径及其处理过程( 含异常) 。表4-3 用例测试示例用例名称: 查看定单用户输入系统输出期望的结果问题与分析用户输入要查看的定单号定单存在, 表明该用户提交了定单显示定单的详细情况定单不存在显示消息”很抱歉, 定单找不到! 定单存在, 但不是该用户提交的定单。显示消息”很抱歉, 这不是您的定单! ”。5-4 实验数据检查与分析要求: 学生自主检查自己的实验记录( 用例列表和用例描述) ,