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