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

上传人:白大夫 文档编号:5423212 上传时间:2020-05-05 格式:PDF 页数:15 大小:149.91KB
返回 下载 相关 举报
软件工程实验(四个实验).pdf_第1页
第1页 / 共15页
软件工程实验(四个实验).pdf_第2页
第2页 / 共15页
软件工程实验(四个实验).pdf_第3页
第3页 / 共15页
软件工程实验(四个实验).pdf_第4页
第4页 / 共15页
软件工程实验(四个实验).pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《软件工程实验(四个实验).pdf》由会员分享,可在线阅读,更多相关《软件工程实验(四个实验).pdf(15页珍藏版)》请在三一文库上搜索。

1、. . 武汉轻工大学 软件工程实验报告 院系:数学和计算机学院 班级:软件工程 1504 姓名:赵佳璐 学号: 1508100065 . . 实验一结构化分析实验 1 实验目的: 通过此实验了解结构化分析的特点和步骤,以及结构化分析所采用的基本图 形工具。 2. 实验内容: 假设你在一所职业高中工作,负责该校信息系统的建设和维护。财务科长请 你研究用学校拥有的pc 机生成工资明细表和各种财务报表的可能性。 3. 实验要求: 1问题定义:请在这个阶段描述你需要解决的问题。包括用户面临的问题和预 期的项目规模。最后生成一份问题定义报告书。 2可行性研究: 在这个阶段产生处理工资事务的大致过程,画出

2、高层逻辑模型, 并且画出相应的数据流图,建立数据字典。 3对此系统进行成本效益分析。 4. 实验步骤: 4.1 问题定义报告书 1. 项目名称:工资支付 2. 问题描述: 该校一直由会计人工计算工资并编制财务报表,随着学校规模扩大工作量也 越来越大。目前每个月都需要两名会计紧张工作半个月才能完成,不仅效率低而 且成本高。今后学校规模将进一步扩大,人工计算工资的成本还会进一步提高。 3. 项目目标: 1)研究开发费用较低的新工资支付系统的可能性。 4 项目规模: 1)开发成本应该不超过7.2 万元 5. 初步设想: 1)用学校自己的计算机系统生成工资明细表和财务报表 6.可行性研究: 为了更全面

3、地研究工资支付项目的可能性,建议进行大约历时两周的可行性 研究。这个研究的成本不超过4000 元。 . . 4.2 可行性研究: 1.处理工资事务的大致过程: 1)每月月末教师把他们当月实际授课时数登记在课时表上,由各系汇总后交给 财务科,职工把他们当月完成承包任务的情况登记在任务表上,汇总后交给 财务科。 2)两名会计根据这些原始数据计算每名教职工的工资,编制工资表、工资明细 表和财务报表。然后,把记有每名教职工工资总额的工资表报送银行。 3)由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职 工。 2高层逻辑模型: 会计 D1: 课 时 表 和 任务表 1.1 审核数据 1

4、.2 加工事务数据 事务数据 D2 :工资明细表 D 事务数据 2 汇总数据 事务数据 D2:财务报表 银行 3. 数据流图: 教师 1.1 登记 D1:课时表 授课时数 1.2 汇总 D2:任务表 承包任务完成情况 2.1 计算工资 2.2 编制表格 课时表 任务表 D3:工资表 D4:工资明细表 D5:财务报表 银行 3 发工资 职工 3 分发工资明细表 职工 教师 4. 数据字典 : 1) 名字:授课情况登记表 别名: 描述:记录每个教师的当月完成的课时及任务。 定义:授课情况登记表=教职工编号 +姓名+职务+职称 +基本工资 +生活补贴 + 书报费+交通费 +洗理费 位置:输出到打印机

5、 2) . . 名字:教职工编号 别名: 描述:唯一的标识一个教职工 定义:教职工编号 =8字符8 位置:授课情况登记表 3) 名字:每个人当月的实发工资数 别名: 描述:记录每个教师当月应发的工资数 定义:每个人当月的实发工资数=课时费 +岗位津贴 - 个人所得税 - 住房公积金 - 保险 费 位置:工资明细表 4) 名字:工资明细表 别名: 描述:记录每个教职工每个月应得的和应扣除的费用 定义:工资明细表 =每个人当月的实发工资数+课时费 +岗位津贴 +个人所得税 +住 房公积金+保险费 位置:输出到打印机 4.3 成本效益分析: 1. 低成本系统 : 解决方案: 把每月发一次工资改为每两

6、个月发一次工资,则人工计算工资的成本大约可 减少一半, 即每年可节省 1.2 万元。除了已经进行的可行性研究的费用外,不再 需要新的投资。 优缺点: 1)违反常规; 2)教职工反对; 3)不能解决根本问题,随着学校规模扩大,人工处理工资事务的费用也将成比例地增加。 2. 中等成本系统: 解决方案: 1)建议基本上复制现有系统的功能:课时表和任务表交到处理工资事务的专用 机房,操作员把这些数据通过终端送入计算机 2)数据收集程序接收并校核这些事务数据,把它们存储在磁盘上。 3)然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工资,打印 出工资表、工资明细表和财务报表。 优缺点: 1)效率

7、介于高成本系统与低成本系统之间,开发成本也是如此。 2)仍然需要专门人员来操作管理系统,每年仍要在这方面耗费人力,资力。 从长久利益来 看,效益不佳。 3. 高成本系统: 1)建立一个中央数据库,为开发完整的管理信息系统做好准备,并且把工资支 . . 付系统作为该系统的第一个子系统。 2)这样做开发成本大约将增加到12 万元,然而从工资支付这项应用中获得的 经济效益并不变。 最佳方案: 综合以上三个系统的优缺点,中成本系统是最适合的。草拟开发计划如下: 阶段需要用的时间(月) 可行性研究0.5 需求分析1.0 概要设计0.5 详细设计1.0 实现2.0 总计5.0 . . 实验二结构化设计实验

8、 1. 实验目的: 能够通过结构化分析的结构进行设计,了解设计过程中的模块化原理。 2. 实验内容: 在上一次实验已经用结构化分析方法详细地分析了这个工资支付系统,请从 结构化分析所得到的结果(完整数据流图),判断为事务流或是变换流,采用模 块化的方法,设计工资支付系统的结构。最终生成一个工资支付软件结构。 3. 实验要求: 写出设计过程、画出工资支付软件结构,用层次图表现 4. 实验步骤: 4.1 设计过程: 1.供选择的方案 1)低成本系统:把每月发一次工资改为每两个月发一次工资,则人工 计算工资的成本大约可减少一半,即每年可节省1.2 万元。除了已经进 行的可行性研究的费用外,不再需要新

9、的投资。 2)中成本系统: i.建议基本上复制现有系统的功能:课时表和任务表交到处理工资事 务的专用机房,操作员把这些数据通过终端送入计算机 ii.数据收集程序接收并校核这些事务数据,把它们存储在磁盘上。 iii.然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工 资,打印出工资表、工资明细表和财务报表。 3)高成本系统:建立一个中央数据库,为开发完整的管理信息系统做好准 备,并且把工资支付系统作为该系统的第一个子系统。 2.最佳方案 低成本系统存在的问题: 4)违反常规; 5)教职工反对; 6)不能解决根本问题,随着学校规模扩大,人工处理工资事务的费用也将 . . 成比例地增加。 高

10、成本系统: 开发成本大约将增加到12 万元,然而从工资支付这项应用中获得的经济 效益并不变。 所以,中等成本系统是最佳方案,成本居于高成本与低成本之间,而效 益不次于高成本系统。 3.功能分解 1)取数据 a)收集事务数据 b)审核事务数据 2)计算工资 a)计算正常工资 b)计算超额工资 c)更新年度报表 3)打印表格 4.2 工资支付软件结构: 计算教职工工资 取数据计算工资 印表格 收集事务数据审核事务数据计算正常工资计算超额课时费更新年度数据 . . 实验三软件测试实验( 2 学时) 一、实验目的: 了解软件测试的基本概念,以及黑盒、白盒测试的基本过程。 二、实验内容: 1.设计测试下

11、列函数的测试方案: 函 数 Search(somearray,size,value)的 功 能 是 , 在 一 个 整 数 数 组 somearray 中搜索一个值为value 的整数,如果数组中有这个数,则函数值 等于该数的下标,否则函数值等于-1 。数组的长度由参数size指定。假定 数组第一个元素的下标为1。 三、实验要求 1采用黑盒测试的方法,写出相应的测试用例 2用 c 语言实现此函数,并且由此设计白盒测试方案(选做)。 四、实验步骤: 1.采用黑盒测试的方法, 写出相应的测试用例(假定数组中的值为: 5, 8,-56,235,-65,449) 1) 等价划分: a) 有效输入的等价

12、类: 一个正整数 输入: 10 预期的输出: -1 一个负整数 输入: -56 预期的输出: 3 b) 无效输入的等价类: 一个非数字符号 输入: S . . 输出:错误 无效输入 一个浮点型数字 输入: 23.1 预期的输入:错误 无效的输入 若干个空格 输入: 预期的输出:错误 无效的输入 空输入 输入: 预期的输出:错误 没有输入 数字和非数字符号的组合 输入: 5# 预期的输出:错误 无效的输入 负号与最高位数字之间有空格 输入: - 56 预期的输出:错误 无效的输入 c) 合法输入的等价类: 在计算机能表示的最小负整数和零之间的负整数。 输入: -10000 预期的输出: -1 零

13、 输入: 0 预期的输出: -1 在零和计算机能表示的最大整数之间的正整数 输入: 10000 预期的输出: -1 d) 非法输入的等价类: 比计算机能表示的最大正整数还大的正整数。 输入: 132767 预期的输出:错误 无效的输入 比计算机能表示的最小负整数还小的负整数。 输入: -47561 预期的输出:错误 无效的输入 2) 边界值分析: 使输出刚好等于最小的下标 输入: 5 预期的输出: 1 使输出刚好等于最大的下标 输入: 449 预期的输出: 6 使输出不是数组的下标(这里为-1) 输入: 500 预期的输出: -1 . . 2.用 c 语言实现此函数,并且由此设计白盒测试方案(

14、选做) 。 #include int Search(int somearray,int size,int value) for(int i=1;i=size;i+) if(sonearrayi=value) return i; return -1; void main() int size=6; int value; int arraysize=5,8,-56,235,-65,449; do printf(“ 请输入一个整数: ” ); scanf( “ %d ” , while(int(value)!=value); if(int(value)=value) Search(array,siz

15、e+1,value); . . 开始 输入一个整数 value value 是整数 吗? Search(soneArray,size+1,value) 是 否 int i=1 i=size吗? 是 sonearrayi=v alue吗? return i 是 i+ 否 结束否 1)语句覆盖: value=8 ,覆盖路径:abcdefgifghj 2)判定覆盖: Value=8. ,覆盖路径:abcdefgifghj Value=8.5 ,覆盖路径:abckb Value=10 ,覆盖路径:abcdefgifk . . 实验四面向对象分析( 2 学时) 实验目的: 通过采用面向对象的方法对问题进

16、行分析,建立系统的对象模型和功能模型。动 态模型为选作内容。 实验内容: 某医生开了一家牙科诊所。他有一个牙科助手、一个牙科保健员和一个接待 员。医生需要一个软件系统来管理预约。 当病人打电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间 与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊 治。如果病人同意建议的就诊时间,接待员将输入约定时间和病人的名字。系统 将核实病人的名字并提供纪录的病人数据,数据包括病人的病历号等。 在每次治 疗或清洗后, 助手或保健员将标记相应的预约诊治已经完成,如果有必要, 安排 病人下一次再来。 系统能够按病人姓名和日期进行查询,能够显示

17、记录的病人数据和预约信 息。接待员可以取消预约, 可以打印出前两天预约尚未接诊的病人清单。系统可 以从病人记录中获知病人的电话号码。接待员还可以打印出关于所有病人的每天 和每周的工作安排。 实验要求: 1建立牙科诊所管理系统的对象模型 2用数据流图建立牙科诊所管理系统的功能模型。 3写出牙科诊所管理系统的脚本(选作) 。 4画出牙科诊所管理系统状态图(选作) 。 实验步骤: 1.建立牙科诊所管理系统的对象模型 . . +打电话预约 () : void +是否接受建议 () : bool -姓名 : string 病人 +接听电话 () : void +查阅预约登记表() : bool +建议就

18、诊时间 () : object +预约登记 () : void +取消预约 () : bool +打印预约尚未接诊的病人清单() : void +打印工作安排 () : void -姓名 : string 接待员 -姓名 : string -预约时间 : object -病历号 : int 预约登记表 1 1 * 1 +核实病人名字 () : bool +提供病人数据 () : int +查询预约信息 () : void +显示信息 () : void -病历号 : int -病人姓名 : string -预约日期 : object -病人联系方式 : string 诊所管理系统 * 1 +标

19、记预约诊治已完成() : bool +安排病人下次会诊() : void -姓名 : string 牙科助手 +标记预约诊治已完成() : bool +安排病人下次会诊() : void -姓名 : string 牙科保健员 OR 1*1* 2.用数据流图建立牙科诊所管理系统的功能模型。 . . 病人 1 预约 2.1 接收预 约信息 接待员 预约信息 2.2 建议就 诊时间 D1 :预约登记表 预约信息 就诊时间 3 同意就 诊时间 就诊时间 4 输入约定时间 和病人姓名 预约系统 5.1 核实病 人姓名 5.2 提供病 人数据 D1 :预约登记表 牙科助手 牙科保健员 预约系统 D1:预约

20、登记表 6.1 标记预约诊 治已完成 6.2 安排病人 下次会诊 3.写出牙科诊所管理系统的脚本(选作) 。 4.画出牙科诊所管理系统状态图(选作) 。 预约管理系统的正常情况脚本 系统请接待员输入病人预约信息 系统查询该病人是否已预约过 如果预约过,且时间冲突,提示接待员建议一个合适的时间 病人接受建议的时间 or 如果没有预约过,系统提示会诊时间 病人会诊中,系统记录相关病人数据 会诊完毕,系统更改预约信息中预约诊治是否完成信息 系统增加新的预约登记表 预约管理系统的异常情况脚本 系统请接待员输入病人预约信息 系统查询该病人是否已预约过 如果预约过,且时间冲突,提示接待员建议一个合适的时间

21、 如果病人接受建议的时间,系统审核输入信息正确与否 输入病人信息有误,提示重新输入 系统审核输入信息正确与否 输入信息正确 or 如果没有预约过,系统提示会诊时间 病人会诊中,系统记录相关病人数据 会诊完毕,系统更改预约信息中预约诊治是否完成信息 系统增加新的预约登记表 单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善 . . 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。 单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1