软件工程实验(四个实验)

软件工程实验(四个实验)
软件工程实验(四个实验)

武汉轻工大学软件工程实验报告

院系:数学和计算机学院

班级:软件工程1504

姓名:赵佳璐

学号:1508100065

实验一结构化分析实验

1实验目的:

通过此实验了解结构化分析的特点和步骤,以及结构化分析所采用的基本图形工具。

2.实验内容:

假设你在一所职业高中工作,负责该校信息系统的建设和维护。财务科长请你研究用学校拥有的pc机生成工资明细表和各种财务报表的可能性。

3.实验要求:

1.问题定义:请在这个阶段描述你需要解决的问题。包括用户面临的问题和预期的项目规模。最后生成一份问题定义报告书。

2.可行性研究:在这个阶段产生处理工资事务的大致过程,画出高层逻辑模型,并且画出相应的数据流图,建立数据字典。

3.对此系统进行成本效益分析。

4.实验步骤:

4.1问题定义报告书

1.项目名称:工资支付

2.问题描述:

该校一直由会计人工计算工资并编制财务报表,随着学校规模扩大工作量也越来越大。目前每个月都需要两名会计紧张工作半个月才能完成,不仅效率低而且成本高。今后学校规模将进一步扩大,人工计算工资的成本还会进一步提高。

3.项目目标:

1)研究开发费用较低的新工资支付系统的可能性。

4项目规模:

1)开发成本应该不超过7.2万元

5.初步设想:

1)用学校自己的计算机系统生成工资明细表和财务报表

6.可行性研究:

为了更全面地研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。这个研究的成本不超过4000元。

4.2可行性研究:

1.处理工资事务的大致过程:

1)每月月末教师把他们当月实际授课时数登记在课时表上,由各系汇总后交给

财务科,职工把他们当月完成承包任务的情况登记在任务表上,汇总后交给财务科。

2)两名会计根据这些原始数据计算每名教职工的工资,编制工资表、工资明细

表和财务报表。然后,把记有每名教职工工资总额的工资表报送银行。3)由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职

工。

2高层逻辑模型:

3.数据流图:

4.数据字典:

1)

名字:授课情况登记表

别名:

描述:记录每个教师的当月完成的课时及任务。

定义:授课情况登记表=教职工编号+姓名+职务+职称+基本工资+生活补贴+书报费+交通费+洗理费

位置:输出到打印机

2)

名字:教职工编号

别名:

描述:唯一的标识一个教职工

定义:教职工编号=8{字符}8

位置:授课情况登记表

3)

名字:每个人当月的实发工资数

别名:

描述:记录每个教师当月应发的工资数

定义:每个人当月的实发工资数=课时费+岗位津贴-个人所得税-住房公积金-保险费位置:工资明细表

4)

名字:工资明细表

别名:

描述:记录每个教职工每个月应得的和应扣除的费用

定义:工资明细表=每个人当月的实发工资数+课时费+岗位津贴+个人所得税+住房公积金+保险费

位置:输出到打印机

4.3成本效益分析:

1.低成本系统:

解决方案:

把每月发一次工资改为每两个月发一次工资,则人工计算工资的成本大约可减少一半,即每年可节省1.2万元。除了已经进行的可行性研究的费用外,不再需要新的投资。

优缺点:

1)违反常规;

2)教职工反对;

3)不能解决根本问题,随着学校规模扩大,人工处理工资事务的费用也将成比例地增加。

2.中等成本系统:

解决方案:

1)建议基本上复制现有系统的功能:课时表和任务表交到处理工资事务的专用

机房,操作员把这些数据通过终端送入计算机

2)数据收集程序接收并校核这些事务数据,把它们存储在磁盘上。

3)然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工资,打印

出工资表、工资明细表和财务报表。

优缺点:

1)效率介于高成本系统与低成本系统之间,开发成本也是如此。

2)仍然需要专门人员来操作管理系统,每年仍要在这方面耗费人力,资力。从长久利益来

看,效益不佳。

3.高成本系统:

1)建立一个中央数据库,为开发完整的管理信息系统做好准备,并且把工资支

付系统作为该系统的第一个子系统。

2)这样做开发成本大约将增加到12万元,然而从工资支付这项应用中获得的

经济效益并不变。

最佳方案:

实验二结构化设计实验

1.实验目的:

能够通过结构化分析的结构进行设计,了解设计过程中的模块化原理。

2.实验内容:

在上一次实验已经用结构化分析方法详细地分析了这个工资支付系统,请从结构化分析所得到的结果(完整数据流图),判断为事务流或是变换流,采用模块化的方法,设计工资支付系统的结构。最终生成一个工资支付软件结构。

3.实验要求:

写出设计过程、画出工资支付软件结构,用层次图表现

4.实验步骤:

4.1设计过程:

1.供选择的方案

1)低成本系统:把每月发一次工资改为每两个月发一次工资,则人工计算

工资的成本大约可减少一半,即每年可节省1.2万元。除了已经进行的

可行性研究的费用外,不再需要新的投资。

2)中成本系统:

i.建议基本上复制现有系统的功能:课时表和任务表交到处理工资事

务的专用机房,操作员把这些数据通过终端送入计算机ii.数据收集程序接收并校核这些事务数据,把它们存储在磁盘上。

iii.然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工资,打印出工资表、工资明细表和财务报表。

3)高成本系统:建立一个中央数据库,为开发完整的管理信息系统做好准

备,并且把工资支付系统作为该系统的第一个子系统。

2.最佳方案

低成本系统存在的问题:

4)违反常规;

5)教职工反对;

6)不能解决根本问题,随着学校规模扩大,人工处理工资事务的费用也将

成比例地增加。

高成本系统:

开发成本大约将增加到12万元,然而从工资支付这项应用中获得的经济效益并不变。

所以,中等成本系统是最佳方案,成本居于高成本与低成本之间,而效益不次于高成本系统。

3.功能分解

1)取数据

a)收集事务数据

b)审核事务数据

2)计算工资

a)计算正常工资

b)计算超额工资

c)更新年度报表

3)打印表格

4.2工资支付软件结构:

实验三软件测试实验(2学时)

一、实验目的:

了解软件测试的基本概念,以及黑盒、白盒测试的基本过程。

二、实验内容:

1.设计测试下列函数的测试方案:

函数Search(somearray,size,value)的功能是,在一个整数数组somearray 中搜索一个值为value的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1。数组的长度由参数size指定。假定数组第一个元素的下标为1。

三、实验要求

1.采用黑盒测试的方法,写出相应的测试用例

2.用c语言实现此函数,并且由此设计白盒测试方案(选做)。

四、实验步骤:

1.采用黑盒测试的方法,写出相应的测试用例(假定数组中的值为:5,

8,-56,235,-65,449)

1)等价划分:

a)有效输入的等价类:

●一个正整数

输入:10

预期的输出:-1

●一个负整数

输入:-56

预期的输出:3

b)无效输入的等价类:

●一个非数字符号

输入:S

输出:错误——无效输入

●一个浮点型数字

输入:23.1

预期的输入:错误——无效的输入

●若干个空格

输入:‘’

预期的输出:错误——无效的输入

●空输入

输入:

预期的输出:错误——没有输入

●数字和非数字符号的组合

输入:5#

预期的输出:错误——无效的输入

●负号与最高位数字之间有空格

输入:- 56

预期的输出:错误——无效的输入

c)合法输入的等价类:

●在计算机能表示的最小负整数和零之间的负整数。

输入:-10000

预期的输出:-1

●零

输入:0

预期的输出:-1

●在零和计算机能表示的最大整数之间的正整数

输入:10000

预期的输出:-1

d)非法输入的等价类:

●比计算机能表示的最大正整数还大的正整数。

输入:132767

预期的输出:错误——无效的输入

●比计算机能表示的最小负整数还小的负整数。

输入:-47561

预期的输出:错误——无效的输入

2)边界值分析:

●使输出刚好等于最小的下标

输入:5

预期的输出:1

●使输出刚好等于最大的下标

输入:449

预期的输出:6

●使输出不是数组的下标(这里为-1)

输入:500

预期的输出:-1

2.用c语言实现此函数,并且由此设计白盒测试方案(选做)。#include

intSearch(intsomearray[],intsize,int value) {

for(inti=1;i<=size;i++)

{

if(sonearray[i]==value)

return i;

}

return -1;

}

void main()

{

int size=6;

int value;

int array[size]={5,8,-56,235,-65,449}; do{

printf(“请输入一个整数:”);

scanf(“%d”,&value);

}while(int(value)!=value);

if(int(value)==value)

Search(array,size+1,value);

}

1)语句覆盖:

value=8,覆盖路径:abcdefgifghj 2)判定覆盖:

Value=8.,覆盖路径:abcdefgifghj Value=8.5,覆盖路径:abckb Value=10,覆盖路径:abcdefgifk

实验四面向对象分析(2学时)

实验目的:

通过采用面向对象的方法对问题进行分析,建立系统的对象模型和功能模型。动态模型为选作内容。

实验内容:

某医生开了一家牙科诊所。他有一个牙科助手、一个牙科保健员和一个接待员。医生需要一个软件系统来管理预约。

当病人打电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊治。如果病人同意建议的就诊时间,接待员将输入约定时间和病人的名字。系统将核实病人的名字并提供纪录的病人数据,数据包括病人的病历号等。在每次治疗或清洗后,助手或保健员将标记相应的预约诊治已经完成,如果有必要,安排病人下一次再来。

系统能够按病人姓名和日期进行查询,能够显示记录的病人数据和预约信息。接待员可以取消预约,可以打印出前两天预约尚未接诊的病人清单。系统可以从病人记录中获知病人的电话号码。接待员还可以打印出关于所有病人的每天和每周的工作安排。

实验要求:

1.建立牙科诊所管理系统的对象模型

2.用数据流图建立牙科诊所管理系统的功能模型。

3.写出牙科诊所管理系统的脚本(选作)。

4.画出牙科诊所管理系统状态图(选作)。

实验步骤:

1.建立牙科诊所管理系统的对象模型

2.用数据流图建立牙科诊所管理系统的功能模型。

3.写出牙科诊所管理系统的脚本(选作)。

4.画出牙科诊所管理系统状态图(选作)。

预约管理系统的正常情况脚本

●系统请接待员输入病人预约信息

●系统查询该病人是否已预约过

●如果预约过,且时间冲突,提示接待员建议一个合适的时间

●[病人接受建议的时间]or如果没有预约过,系统提示会诊时间

●病人会诊中,系统记录相关病人数据

●会诊完毕,系统更改预约信息中预约诊治是否完成信息

●系统增加新的预约登记表

预约管理系统的异常情况脚本

●系统请接待员输入病人预约信息

●系统查询该病人是否已预约过

●如果预约过,且时间冲突,提示接待员建议一个合适的时间

●如果病人接受建议的时间,系统审核输入信息正确与否

●输入病人信息有误,提示重新输入

●系统审核输入信息正确与否

●[输入信息正确]or如果没有预约过,系统提示会诊时间

●病人会诊中,系统记录相关病人数据

●会诊完毕,系统更改预约信息中预约诊治是否完成信息

●系统增加新的预约登记表

软件工程报告面向对象设计

软件工程报告面向对象设计 在分析阶段之后,使用面向对象设计(OOD)将概念模型进一步发展为面向对象模型。在OOD中,将分析模型中与技术无关的概念映射到实现类上,确定约束并设计接口,从而形成解决方案领域的模型。简而言之,构建了详细的说明,指定如何在具体技术上构建系统 面向对象设计的阶段可以标识为- ●系统上下文的定义 ●设计系统架构 ●识别系统中的对象 ●设计模型的构建 ●对象接口规范 系统设计 面向对象的系统设计涉及定义系统的上下文,然后设计系统的体系结构。 ●上下文-系统的上下文具有静态和动态部分。使用整个系统的简单框图设计 系统的静态上下文,该框图被扩展为子系统的层次结构。子系统模型由UML 包表示。动态上下文描述了系统如何与其环境交互。它使用用例图建模 ●系统架构-系统架构是根据系统上下文根据架构设计和领域知识设计的。通 常,系统分为几层,每层分解以形成子系统。 面向对象的分解 分解意味着按照分而治之的原则,将一个大型的复杂系统划分为具有较小复杂性的较小组件的层次结构。系统的每个主要组成部分都称为子系统。面向对象的分解可识别系统中的各个自治对象以及这些对象之间的通信。 分解的优点是- ●各个组件的复杂度较低,因此更易于理解和管理。 ●它可以使具有专业技能的劳动力分工。 ●它允许替换或修改子系统,而不会影响其他子系统。 识别并发 并发允许多个对象同时接收事件,并允许同时执行多个活动。并发在动态模型中标识并表示。

为了启用并发,每个并发元素都分配有单独的控制线程。如果并发处于对象级别,则为两个并发对象分配两个不同的控制线程。如果单个对象的两个操作本质上是并发的,则该对象将在不同的线程之间拆分。 并发与数据完整性,死锁和饥饿问题相关。因此,无论何时需要并发,都需要制定明确的策略。此外,并发需要在设计阶段本身进行识别,并且不能留给实施阶段。 识别模式 在设计应用程序时,针对某些类别的问题采用了一些公认的解决方案。这些是设计模式。模式可以定义为可以在某些类型的应用程序开发问题中使用的一组文档化的构建基块。 一些常用的设计模式是- ?外墙图案 ?模型视图分离模式 ?观察者模式 ?模型视图控制器模式 ?发布订阅模式 ?代理模式 控制事件 在系统设计期间,需要识别并适当处理可能发生在系统对象中的事件。 事件是具有时间和空间位置的重大事件的说明。 可以建模的事件有四种类型,即- 信号事件-被一个对象抛出并被另一个对象捕获的命名对象。 呼叫事件-表示操作调度的同步事件。 时间事件-代表时间流逝的事件。 更改事件-表示状态更改的事件。 处理边界条件 系统设计阶段需要解决整个系统以及每个子系统的初始化和终止问题。记录的不同方面如下- ●系统的启动,即系统从非初始化状态到稳态的过渡。 ●系统终止,即关闭所有正在运行的线程,清理资源以及要发送的消息。

软件工程综合实践报告

专业资料 软件工程综合实践 报告 企业用电管理系统设计 专业 学生姓名 班 级 学号 指导教师 完成日期 信息工程学院

目录 1.项目名称:企业用电管理系统......................................... 错误!未定义书签。 1.1编写目的..................................................................... 错误!未定义书签。 1.2背景说明..................................................................... 错误!未定义书签。 1.3开发环境..................................................................... 错误!未定义书签。 2. 软件介绍.......................................................................... 错误!未定义书签。 2.1目标 ............................................................................ 错误!未定义书签。 2.2用户的特点 ................................................................. 错误!未定义书签。 2.3假定与约束 ................................................................. 错误!未定义书签。 3. 需求分析.......................................................................... 错误!未定义书签。 3.1对功能的规定.............................................................. 错误!未定义书签。 3.2对性能的规定.............................................................. 错误!未定义书签。 3.2.1精度 ......................................................................... 错误!未定义书签。 3.2.2时间特性要求........................................................... 错误!未定义书签。 3.2.3灵活性...................................................................... 错误!未定义书签。 4. 软件的基本结构............................................................... 错误!未定义书签。 4.1数据管理能力要求....................................................... 错误!未定义书签。5.详细设计......................................................................... 错误!未定义书签。 6.部分编码 ........................................................................... 错误!未定义书签。 6.1企业信息查询代码 ....................................................... 错误!未定义书签。 6.2企业用电信息查询代码: ............................................ 错误!未定义书签。 6.3删除企业用电信息代码: ............................................ 错误!未定义书签。 6.4删除用电企业信息代码: ............................................ 错误!未定义书签。 7. 软件核心技术,存在问题等 ............................................. 错误!未定义书签。

天津理工大学软件工程实验报告I

天津理工大学 计算机科学与工程学院 实验报告 2017 至2018 学年第一学期

添加操作者与用例之间的关系,完成用例图:

附录(可包括源程序清单或其它说明) 心得体会: 第一次上机,对软件的使用有明显的不熟,在老师的帮助和上网查找,逐渐对软件熟悉起来,通过两节课的努力,最后终于完成了实验。 描述系统中重要用例的基本事件流(正常情况)和备选事件流(异常情况)。一、查询图书信息用例 主要描述:顾客查询系统中的图书信息; 主要参与者:顾客; 前置条件:顾客登录系统 主事件流 1.顾客进入登录界面 2.系统提示输入用户名和密码 3.顾客输入用户名和密码 4.进入系统,开始查询图书 5.显示预订信息 6.顾客可预订图书 备选事件流和异常: 3.1系统验证用户名或密码失败 3.2系统显示失败原因,提示重新输入或取消输入 3.3根据顾客需求退出系统或返回事件2 二、维护订单信息用例 主要描述:顾客管理自己的订单; 主要参与者:顾客; 前置条件:顾客已登录; 主事件流: 1更新订单 1.1 顾客点击修改订单 1.2 系统显示可以更改的订单信息 1.3 顾客选择要修改的订单 1.4 系统显示订单信息 1.5 顾客可以修改当前订单的信息 1.6 顾客保存当前信息 1.7 系统保存当前状态 2 删除订单 2.1 顾客点击删除订单 2.2 系统显示可以操作的订单信息 2.3 顾客选择删除 2.4 系统要求确认 2.5 顾客确认 2.6 系统保存当前状态 3.增加订单 3.1顾客点击增加订单 3.2系统显示可以购买的图书信息

3.3顾客选择添加 3.4系统要求确认 3.5顾客确认 3.6系统保存当前状态; 备选事件流和异常: 1顾客保存订单 顾客可以选择保存订单而不提交订单,系统保存当前状态,让顾客随时提交. 2浏览订单 2.1工作人员点击浏览订单 2.2系统检索并显示当前订单 3增加一个订单需求系统检索订单的先决条件,若符合则将订单发送到仓库管理系统,否则提示工作人员错误信息.发送过的订单标记为”已发送” 4不满足先决条件或无库存 系统检索顾客的先决条件,如果不满足或者没有库存,则给出提示信息. 5.没有权限提示 当工作人员常看订单时,若先决条件不满足,则给出提示信息 6.没有发现订单 工作人员查看订单时,当前没有订单,给出提示信息. 7.仓库管理系统不可用和仓库管理系统无法对话时,给出提示信息 三、维护员工信息用例 主要描述:管理员对工作员工的信息的维护; 主要参与者:管理员; 前置条件:管理员已登录系统; 主事件流 1添加员工信息 1.1提供员工的信息,如姓名、地址、邮政编码和身份证号码等。 1.2系统存储员工信息 2删除员工 2.1提供员工的信息 2.2查询员工 2.3查询员工的借阅记录 2.4从系统中删除员工的信息,以及员工的预定记录 3更改员工 3.1提供员工的信息 3.2查询并显示员工信息,修改相应的信息 3.3更新系统中员工的信息 备选事件流和异常流 1若员工已存在,系统显示提示信息,用例终止 2若查询不到员工,系统显示提示信息,用例终止 3若存在借阅记录,系统显示提示信息,用例终止

软件与软件工程-面向对象设计

第9章面向对象设计

9.1 面向对象设计与结构化设计 与结构化的设计相比,面向对象的设计更符合复杂的、随机性较强和考虑并发性的系统软件设计,而不适合逻辑性很强的系统软件设计。结构化软件设计一般从系统功能入手,按照需求将系统功能分为若干个子功能模块。但是,用户的需求是在不断变化的。需求的改变往往会对功能模块产生影响,从而对整个系统产生影响,而面向对象的设计基于类、对象、封装、继承等概念,相比之下,需求的变化对系统的局部影响并不容易扩展到全局。因此,面向对象设计方法比结构化设计方法更具有优势,使用范围更广。 由于在类中封装了属性和方法,因此在面向对象的类设计中已经包含了面向过程中的过程设计。此外,与面向过程中的数据设计所不同的是,面向对象设计中的数据设计并不是独立进行的,面向对象设计中的

9.2 面向对象设计与面向对象分析的关系 设计阶段的任务是及时把分析阶段得到的需求转变成符合各项要求的系统实现方案。与传统的软件工程方法不同的是,面向对象的方法不强调需求分析和软件设计的严格区分。实际上,面向对象的需求分析和面向对象的设计活动是一个反复迭代的过程,从分析到设计的过渡,是一个逐渐扩充、细化和完善分析阶段所得到的各种模型的过程。严格的意义上来讲,从面向对象分析到面向对象设计不存在转换问题,而是同一种表示方法在不同范围的运用。面向对象设计也不仅仅是对面向对象分析模型进行细化。 面向对象分析到面向对象设计是一个平滑的过渡,即没有间断没有明确的分界线。面向对象分析建立系统的问题域对象模型,而面向对象设计是建立求解域的对象模型。

?9.3.1 面向对象设计的过程 面向对象的设计过程一般进行以下几个步骤。 (1)建立软件体系结构环境图 在软件体系结构设计开始的时候,设计应该定义与软件进行交互的外部实体(其他系统、设备和人员等)以及交互的特性。一般在分析建模阶段可以获得这些信息,并使用软件体系结构环境图对环境进行建模,描述系统的出人信息流、用户界面和相关的支持处理。一旦建立了软件体系结构的环境图,描述出所有的外部软件接口,软件架构师就可以通过定义和求精实现软件体系结构的构件来描述系统的结构。这个过程可一直迭代,直到获得一个完善的软件体系结构。在设计的初始阶段,软件架构师用软件体系结构环境图对软件与外部实体交互的方式进行建模。

软件工程实验报告最终版

合肥师范学院实验报告册 2012 / 2013 学年第一学期 系别计算机科学与技术系 实验课程软件工程 专业计算机科学与技术 班级2010级计算机应用 姓名马军福董国运李思贤 学号1010411024 1010411008 1010411076 指导教师范庆春

实验一:结构化方法建模的基本应用 1.实验目的 (1)了解Visio工具软件的功能特色、安装、工作环境和基本操作等基本知识; (2)掌握应用Visio工具的基本使用方法和基本绘图操作; (3)熟悉结构化分析建模的基本应用。 2.实验内容 (1)使用Visio 建立期刊管理系统的实体-关系图; (2)使用Visio 建立期刊管理系统的数据流图。 3. 实验要求 使用Visio 建立期刊管理系统的实体-关系图、数据流图。数据流图要绘 制三层。 4.实验结果和体会 (1)需求陈述 在图书管理系统中,管理员要为每个读者建立借阅账户,,账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员借阅、归还期刊,读者可通过互联网或图书馆内查询终端查询期刊信息和个人借阅情况,以及续借期刊。 借阅期刊时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还期刊时,输入读者借阅卡号和期刊号,系统显示读者和期刊的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或期刊淘汰处理。然后提交还书请求,系统接受后删除借阅纪录,并登记修改可借阅期刊的数量。 期刊管理系统包括:1.读者信息管理a:借阅请求b归还请求c:查询请求d:修改自身信息2.期刊管理a:修改书目、出版日期、编辑b:增加书目数据、删除书目数据。3.期刊借阅a:增加所借读者信息b:删除所借读者信息4.期刊查询a:已借出图书列表b:未借出图书列表5.期刊的征订6.期刊内容登记题目、作者姓名、作者单位7.期刊内容查询

软件工程概要设计说明书模板

概要设计说明书模版 摘要 大家在平时的系统开发中需要编写一些文档模板,这是 ISO软件工程模板标准贴出,供大家参考。 1.引言 1.1编写目的 [说明编写这份概要设计说明书的目的,指出预期的读者。] 1.2背景 a.[待开发软件系统的名称;] b.[列出本项目的任务提出者、开发者、用户。] 1.3定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。] 1.4参考资料 [列出有关的参考资料。] 2.总体设计 2.1需求规定 [说明对本系统的主要的输入输出项目、处理的功能性能要求。包括] 2.1.1系统功能 2.1.2系统性能 2.1.2.1精度 2.1.2.2时间特性要求 2.1.2.4可靠性 2.1.2.5灵活性 2.1.3输入输出要求 2.1.4数据管理能力要求 2.1.5故障处理要求 2.1.6其他专门要求 2.2运行环境 [简要地说明对本系统的运行环境的规定。] 2.2.1设备 [列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。]

2.2.2支持软件 [列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。] 1 2.2.3接口 [说明该系统同其他系统之间的接口、数据通信协议等] 2.2.4控制 [说明控制该系统的运行的方法和控制信号,并说明这些控制信号的来源。] 2.3基本设计概念和处理流程 [说明本系统的基本设计概念和处理流程,尽量使用图表的形式。] 2.4结构 [给出系统结构总体框图(包括软件、硬件结构框图),说明本系统的各模块的划分,扼要说明每个系统模块的标识符和功能,分层次地给出各模块之间的控制与被控制关系。] 2.5功能需求与系统模块的关系 [本条用一张矩阵图说明各项功能需求的实现同各模块的分配关系。] [系统模 块1] [系统模 块2] [……] [系统模 块m] [功能需 求1]  √ [功能需 求2] √ [┇] [功能需 求n] √ √  2.6人工处理过程 [说明在本系统的工作过程中不得不包含的人工处理过程。] 2.7尚未解决的问题 [说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。] 3.接口设计 3.1用户接口 [说明将向用户提供的命令和它们的语法结构,以及相应的回答信息。]

软件工程实验报告_学生成绩管理系统

软件工程实验报告 学生成绩管理系统的设计与实现 学生姓名 学号 班级 成绩 指导教师 年月日

目录 1 课题描述 (3) 2 可行性研究 (4) 2.1 编写目的 (4) 2.2 项目背景 (4) 2.3 定义(术语) (4) 2.4 数据流程和处理流程 (4) 2.5 可行性分析的前提 (5) 2.6 可行性分析 (5) 3 需求分析 (7) 3.1 学生成绩管理系统功能需求 (7) 3.2 学生成绩管理系统性能要求 (8) 3.3 数据流图 (8) 3.4 数据字典 (9) 3.5 学生信息管理系统逻辑结构图 (12) 3.6 用户信息实体关系图 (12) 4 概要设计 (13) 4.1 编写目的 (13) 4.2 项目背景 (13) 4.3 任务概述 (13) 4.4 总体设计 (13) 4.5接口设计 (17) 4.6数据结构设计 (17) 5 详细设计 (19) 5.1 系统程序流程图 (19) 5.2 界面设计 (21) 5.3 程序界面截图 (22) 5.4 程序源代码 (27) 6 软件测试 (58) 7 总结 (62)

1 课题描述 随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高高校的现代化管理水平,实现信息资源的共享。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面‘软件’质量。可以说它适用于每一所高校,因此很有开发价值。我们不敢说该产品是所有该系列产品中最好的,但是我们这里要强调的是它具有使用范围广,实用性强,使用简单,所花经费少等优点。我们可以肯定的说它将在高校的使用过程中其优点将得到最充分的体现。 主要功能有三方面: 管理员,登陆,进入系统,可以进行管理员操作,进行学生信息、教师信息、课程信息的编辑、查询、删除、修改、添加、打印等操作。 学生,登陆,进入系统,可以进行查询、修改、打印等操作。 教师,登陆,进入系统,可以进行查询、学生成绩录入、修改、打印等操作。 软件系统目标: (1)本系统具有很强的可靠行,可以对录入的学生信息进行效验,对数据进行修改、删除,规定各种权限。 (2)本系统中的模块具有很强的可续性,可以方便管理人员的修改与维护。 (3)本系统操作方便、灵活、简单。 (4)本系统可高效、快速的查询到学生的基本信息。

3面向对象软件工程笔试

面向对象软件工程笔试题 姓名班级学号 一、单项选择题(每题1.5分,计30分) 1. 在面向对象的系统中,系统责任的良好分配原则是()。 A. 在类之间均匀分配 B. 集中分配在少数控制类中 C. 根据时序图的消息进行分配 D. 根据个人喜好进行分配 2. 能够保证某些类在系统中只存在一个实例的模式是:() A.抽象工厂(Abstract Factory)模式B.单态(Singleton)模式 C.建筑者(Builder)模式D.工厂方法(Factory Method)模式 3. 在UML中,用于描述对象和对象之间的交互,并且将重点放在消息的顺序上,强调时间,描述消息是如何在对象间发送和接收的模型是:() A.类图B.用例图C.状态图D.时序图 4.()意味着一个操作在不同的类中可以有不同的实现方式。 A.多态性B.多继承C.类的复用D.封装 5.在UML中,类A的一个操作以类B作为参数,调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是()关系。 A.聚合B.泛化C.实现D.依赖 6. 在UML中,类A中持有着类B作为属性,那么类A和类B之间是()关系。 A.普通关联B.泛化C.实现D.依赖 7. 在下面的描述中,不属于用例模型所能回答的问题是() A.参与者执行的主要任务或功能是什么? B.参与者希望从系统中获取什么样的信息? C.用例所描述的功能是怎样实现的? D.参与者之间的泛化关系是什么样的? 8. 在面向对象设计中,下列那个设计处于最基础的地位:() A.责任设计B.消息设计C.类及对象设计D.子系统设计 9.能够“将抽象部分与实现部分分离,使它们都可以独立变化”的设计模式是:() A.组合(Composite)模式B.命令(Command)模式C.桥(Bridge) 10.在面向对象软件开发方法中,类与类之间的结构关系主要有:() A.继承和聚合B.继承和一般C.聚集和消息传递D.继承和方法调用 11.能够在不改变类层次结构的前提下,在运行时根据需要透明地为类层次结构上的各个类 动态添加新功能的模式是:() A.访问者(Visitor)模式B.职责链(Chain of Responsibility)模式 C.观察者(Observer)模式D.策略(Strategy)模式 12.将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象 的使用具有一致性的模式是:() A.组合(Composite)模式B.桥(Bridge)模式 C.命令(Command)模式D.适配器(Adapter)模式 13. 能够在运行时动态地为对象扩展功能的设计模式是:() A.代理(Proxy)模式B.装饰(Decorator)模式C.组合(Composite)模式D.桥(Bridge)模式

软件工程标准实验报告

南昌航空大学科技学院实验报告 年月日 课程名称:软件工程A 实验名称visio完成可行性研究的图形文档(数据流图) 班级:姓名:同组人: 指导教师评定:签名: 一、实验目的和要求 1.熟悉visio的工作环境; 2.明确软件工程中数据流图的基本结构,掌握数据流图的常见模式; 3.理解数据流图的控制结构。 二、实验内容和步骤(及流程图) 1、完成图3.10,3.27,4.9。 2、为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期,利息等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。 三、实验结果(及调试过程) 四、实验体会

南昌航空大学科技学院实验报告 年月日 课程名称:软件工程A 实验名称:visio完成需求分析中的图形文档 班级:姓名:同组人: 指导教师评定:签名: 一、实验目的和要求 1、熟悉visio的各种工具 2、模拟完成需求分析中所要使用的各种图形工具 3、能用visio完成不同行为的状态转换图 二、实验内容和步骤 1、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印 命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。用状态转换图描述复印机的行为。 2、请用状态转换图描述自己在A TM机上取款的行为过程。 三、实验结果 四、实验体会

软件工程概要设计报告模板

项目概要设计报告 软件工程 专业班级:软件工程专业1班 授课教师: 学号: 姓名: 手机: 项目名称:酒店管理系统概要设计

1.引言 1.1编写目的 通过软件开发,进一步掌握并加强软件工程的方法和技术,提高自己的软件开发实际能力,提高自己的创造能力、工程设计能力、解决问题能力、综合分析能力以及锻炼自己创造性的思维。 一个完善成熟的酒店管理系统,能让工作人员从烦琐的手工操作中解脱,它不仅仅记录着酒店客人的信息、提供查询、报表打印等一系列简单的工作,其管理系统本身就代表着一种管理方法,随着它的深入,将带动企业的运作,为管理和决策提供支持。 1.2项目背景 如今人们商务或休闲娱乐出行的频率上升,酒店的市场需求也随之增高。酒店管理系统的引入能使酒店内部集中管理,集中控制,快速反应其经营状况,大大降低工作人员的劳动强度,提高工作效率,给客户带来极大的便利,同时也带来良好的经济效益和社会效益。开发酒店管理系统的主要为了实现对酒店管理内部各种管理的电子化和自动化,提高酒店的办公效率,使其成为高效率高质量的酒店。 项目提出者: 项目开发者: 系统用户:酒店内工作人员及入住酒店客户

1.3定义 此文中提及的系统均指酒店管理系统 1.4参考资料 《软件工程导论》 《软件工程》 《C++面向对象程序设计》 2.任务概述 2.1目标 信息存储档案化、信息加载及时化、传递规范化、管理专业化 2.2设备 操作系统:Windows XP、Win8 开发工具:DevCpp、Visual Studio 数据库系统:SQL Server 2.3要求 为销售提供全面而准确的信息; 为客户提供更加周到快捷的服务,客户可提前挑选所需房型,更加贴心化; 为财务提供严密的财务系统; 将酒店封装得更加全面,多样、丰富、安全性得以提高。 2.4条件、假定和限制

软件工程实验报告(总)

信息工程学院软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft Visio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

面向对象的分析方法_软件工程实验_1245713131

面向对象的分析方法 专业:计算机科学与技术专业学号:1245713131 班级:计科1班 姓名:

一、概述 随着现代科学技术的发展和社会的进步,各大高校的图书馆规模也不断扩大,与此同时,图书的种类和数量以及有关图书的各种信息也迅速的增加,这一庞大的信息量也对图书馆的信息管理技术提出了更高的要求。为了避免图书管理上的混乱,降低管理费用,提高工作效率,给读者提供更方便、快捷的服务,图书管理系统必须引入信息化和自动化的管理方式,对图书资料进行集中、统一、高效率的管理。 二、问题的提出 随着Internet技术的飞速发展,现在各高校已经把计算机引入了图书馆,开始了信息化的管理方式,这给予了学生极大的便利,学生可通过图书馆可以获得丰富的文献资料。和传统的图书管理方式相比,计算机和 Internet的使用也大大提高了图书馆对书籍的管理效率,为读者提供了更方便、更快捷的服务。与此同时服务理念也由以书籍为中心变为以广大师生的信息需求为中心,但是图书馆的网络信息服务还远远没有跟上网络建设的步伐,所提供的服务也远远不能满足高校师生的信息需求。高校图书馆应当有着先进的现代信息设备,完善的管理和服务,并且有稳定和特定的高素质读者用户群,更应该深入开展图书馆多元化信息服务,以更好地满足高校师生不同的信息需求。 目前高校图书馆网络信息服务内容都是浅层次的,主要还是集中在资料的“提供”上,比如动态信息和催还信息的发布只是停留在计算机上,没有充分利用现在飞速发展的通讯技术,使借阅者不能及时得到相应的信息。高校图书馆存在的诸多问题,已经不能满足广大师生群体对信息的需求,因此使得资源的共享性受到相当大的限制。 三、需求分析 (一)用户提出的需求包括下列内容: ①这是一个图书馆支持系统。 ②图书馆将图书和杂志借给借书者。借书者已经预先注册,图书和杂志也预先 注册。 ③图书馆负责新书的购买。每一本图书都购进多本书。当旧书超期或破旧不堪 时,从图书馆中去掉。 ④图书管理员是图书馆的员工。他们的工作就是和读者打交道并在软件系统的 支持下工作。 ⑤借阅人可以预定当前没有的图书和杂志。这样,当他所预定的图书和杂志归 还回来或购进时,就通知预定人。当预定了某书的借书者借阅了该书后,预定就取消。或者通过显式的取消过程强行取消预定。 ⑥图书馆能够容易地建立、修改和删除标题、借书者、借阅信息和预定信息。 ⑦系统能够运行在所有流行的技术环境中,包括Unix, Windows和Linux,并应 有一个良好的人机交互图形用户界面(GUI)。

软件工程综合实践报告

软件工程综合实践 报告 企业用电管理系统设计 专业 学生姓名 班级 学 号 指导教师 完成日期 信息工程学院

目录 1.项目名称:企业用电管理系统 ........................................... 错误!未定义书签。 1.1编写目的..................................... 错误!未定义书签。 1.2背景说明..................................... 错误!未定义书签。 1.3开发环境..................................... 错误!未定义书签。 2. 软件介绍 ............................................................................... 错误!未定义书签。 2.1目标......................................... 错误!未定义书签。 2.2用户的特点................................... 错误!未定义书签。 2.3假定与约束................................... 错误!未定义书签。 3. 需求分析 ............................................................................... 错误!未定义书签。 3.1对功能的规定................................. 错误!未定义书签。 3.2对性能的规定................................. 错误!未定义书签。 3.2.1精度....................................... 错误!未定义书签。 3.2.2时间特性要求............................... 错误!未定义书签。 3.2.3灵活性..................................... 错误!未定义书签。 4. 软件的基本结构 ................................................................... 错误!未定义书签。 4.1数据管理能力要求............................. 错误!未定义书签。5.详细设计 ............................................................................... 错误!未定义书签。 6.部分编码 ................................................................................. 错误!未定义书签。 6.1企业信息查询代码............................. 错误!未定义书签。 6.2企业用电信息查询代码:....................... 错误!未定义书签。 6.3删除企业用电信息代码:....................... 错误!未定义书签。 6.4删除用电企业信息代码:....................... 错误!未定义书签。 7. 软件核心技术,存在问题等 ............................................... 错误!未定义书签。 8. 实验心得 ............................................................................... 错误!未定义书签。

软件工程需求分析和概要设计SA实验实验报告

软件工程需求分析和概 要设计S A实验实验报 告 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

需求分析和概要设计实验报告 一.实验目的 1. 理解结构化分析和设计的软件工程范型; 2. 能运用常用的工具建立简单系统的分析模型和设计模型。 二.实验内容 图书管理系统的分析和设计。主要完成借书、还书、图书预定、图书查阅和图书管理等功能。要求建立系统的需求模型:DFD(data flow diagram)。 功能需求描述: 1. 借阅者可以通过网络查询书籍信息和预定书籍。 2. 借阅者能够借阅书籍和还书。 3. 图书管理员能够处理借阅者的借阅和还书请求,以及处理预定图书。三.实验结果 1.图书管理员处理借书第一层 图书管理员处理借书第二层 2.图书管理员处理还书第一层 3.图书管理员处理预定图书第一层 图书管理员处理预定图书第二层 四.实验分析 在本次实验中,我主要画出了图书管理员处理借书、还书以及预定图书的数据流程图。这是一个我们都很熟悉的环境,因此我们分析起来相对的会容易些,思路也会更加的清晰,在这个系统中,通过稍加细致的分析,我们可以了解到:

1. 图书管理员处理借书的时候,其主要过程是,先扫描读者信息,确认读者的合法性。接着,处理读者欲借阅的书。再接着,处理借书过程,同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 2. 图书管理员处理还书的时候,其过程相对的简单一些,只需直接处理读者欲还的书。同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 3. 图书管理员处理图书预定的时候,其主要过程是,先扫描读者信息,确认读者的合法性。接着,处理读者欲预定的书。再接着,处理预定图书过程,同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 在对这样的过程进行了分析后,再画数据流程图也就显得容易很多了。 通过本次的实验,我对数据流程图的重要性有了更加深刻的认识,数据流程图在我们设计系统过程中所扮演的角色是多么的重要,试想,如果一个系统在设计的过程中,不使用图的方式,而是将其用文字语言进行描述,这会是一个怎么样的情景。图的作用就是使我们对知识的理解非常的形象,易懂。一个非常复杂的问题,若是通过图形的方式向我们展示的话,会收到意想不到的结果。

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

面向对象软件工程 第二章 答案

Object-Oriented Software Engineering: Using UML, Patterns, and Java: Solutions to Exercises 2. Modeling with UML: Solutions 2-1 Consider an ATM system. Identify at least three different actors that interact with this system. An actor is any entity (user or system) that interacts with the system of interest. For an ATM, this includes:?Bank Customer ?ATM Maintainer ?Central Bank Computer ? Thief The last actor is often referred to as a “misactor” in the literature, because it is an actor that interacts with the system but shouldn’t. 2–2Can the system under consideration be represented as an actor? Justify your answer. The system under consideration is not external to the system and shouldn’t be represented as an actor. There are a few cases, however, when representing the system as an actor may clarify the use case model. These include situations where the system initiates uses cases, for example, as time passes (Check for Outdated Articles, Send Daily Newsletter). 2–3What is the difference between a scenario and a use case? When do you use each construct? A scenario is an actual sequence of interactions (i.e., an instance) describing one speci ?c situation; a use case is a general sequence of interactions (i.e., a class) describing all possible scenarios associated with a situation. Scenarios are used as examples and for clarifying details with the client. Use cases are used as complete descriptions to specify a user task or a set of related system features. 2–4Draw a use case diagram for a ticket distributor for a train system. The system includes two actors: a traveler, who purchases different types of tickets, and a central computer system, which maintains a reference database for the tariff. Use cases should include: BuyOneWayTicket , BuyWeeklyCard , BuyMonthlyCard , UpdateTariff .Also include the following exceptional cases: Time-Out (i.e., traveler took too long to insert the right amount), TransactionAborted (i.e., traveler selected the cancel button without completing the transaction), DistributorOutOfChange , and DistributorOutOfPaper . Figure 2-1Example solution to Exercise 2–4. BuyOneWayTicket BuyWeeklyCard UpdateTariff TransactionAborted DistributorOutOfChange DistributorOutOfPaper DistributorException <> <> <>

相关文档
最新文档