第一篇:软件工程实验二
实验二:需求分析报告
实验学时:2
课后2学时
实验类型:技能性
一、目的与任务
目的:明确需求分析任务的重要性,掌握需求分析的主要具的使用方法和步骤,写出需求规格说明书。
二、实验安排
1、装有Offic软件,Visio 2010的微机系统.2、实验安排方式:本实验为开放实验,各组可同时进行实验,每组8-10人。
三、实验内容及步骤
1、选择一个管理系统(人事管理系统、工资管理系统、学生档案管理系统等)。
2、软件工程的原理对该系统的问题进行分析;
3、分析系统的数据需求获得当前系统的物理模型,然后抽象出当前系统的逻辑模型,再建立目标系统的逻辑模型;理出系统的数据流程图;
4、用Visio 2010画出该系统的数据流图,用结构化分析方法对整个系统进行分析细化,用数据流图描绘系统的逻辑模型,描绘信息在系统中流动和处理的情况;数据流图是分析和设计的工具,它主要描述系统完成的功能而不是系统的物理实现。
5、在Microsoft Word文档下写出该系统的数据字典,用数据字典对人们不了解的条目进行解释,对所有被加工引用的数据流和数据存储进行解释;
6、用小说明来描述最底层的基本加工逻辑,小说明并不描述具体的加工过程,而只是这个加工的输入数据和输出数据的逻辑关系。
7、用Visio 2007画出该系统的IPO图,它的基本形式是左边框中列出有关的输入数据,在中间的框中列出主要的处理,在右边的框中列出产生的输出数据;
8、用层次方框图或Warnier图对系统进行说明;层次方框图是由树型结构的一系列多层次的矩形框描绘数据的层次结构数型结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素。
四、思考题
1、软件需求分析在整个软件生存周期中的地位?
2、在软件需求分析中要完成哪些任务,所完成的资料在以后的工作中起什么作用?
3、做需求分析的过程中有没有做社会调研?
附录一:
实验要求
软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下:
1.班级按项目小组进行分组,每组不得超过10人 2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目
3.项目中的每项任务要落实到人且规定该任务的起止日期和时间
4.每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档
5.题目自定或采用附录二中的题目
6.软件开发的方法自定(结构化或面向对象的方法学)
附录二:
实验题目
题目一:“教务管理系统之子系统——学院课程安排” 1.系统简介
每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。
假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。2.限定条件
(1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。(2)学院中层干部的主讲课时不能超过4学时/周。
(3本学期出现严重教学事故的教师不能承担下各学期的主讲任务。
(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。
题目二:“学校教材定购系统” 1.系统简介
本系统可以细化为两个子系统:销售系统和采购系统 销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。
采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。
以上功能要求在计算机上实现。2.技术要求和限制条件
(1)当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。(2)在实现上述销售和采购的工作过程时,需考虑有关的合法性验证。
(3)系统的外部项至少包括:教师、学生和教材工作人员。(4)系统的相关数据存储至少包括:购书表、库存表、缺书登记表、待购教材表、进库表和出库表。
题目三:“机票预定系统” 1.系统简介
航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
2.技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。(2)对于本系统还应补充一下功能: 1.旅客延误了取票时间的处理 2.航班取消后的处理
3.旅客临时更改航班的处理(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。
题目四:“学校内部工资管理系统” 1.系统简介
假设学校共有教职工约1000人,10个行政部门和8个系。每个月20日前各个部门(包括系和部门)要将出勤情况上报人事处,23日前人事处将出勤工资、奖金及扣款清单送到财务处。财务处于每个月月底将教职工的工资表做好并将数据送银行。每个月3日将工资条发给每个单位。若由员工调入或调出、校内调动、离退休变化,则由人事处通知相关部门和财务处。
2.技术要求和限制条件
(1)本系统的数据存储至少包括:工资表、部门汇总表、扣税款表、银行发放表等。
(2)除人事处、财务处外,其他职能部门和系名称可以简化表示。
(3)工资、奖金、扣款细节由学生自定义。
题目五:“实验室设备管理系统” 1.系统简介
每学年要对实验室设备使用情况进行统计、更新。其中:(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。
2.技术要求及限制条件
(1)所有工作由专门人员负责完成,其他人不得任意使用。(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。
(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。
(4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。本系统的输出项至少包括:设备购买申请表、修理/报废设备资
金统计表
题目六:“校园代金卡系统” 1.系统简介
校园代金卡系统配套符合金融标准的金融设备——自助缴费机(带圈存功能),以银行卡为辅助,从真正意义上实现全方位的现代化校园管理,实现校园货币电子化。它以非接触式IC卡又称射频卡为操作手段,配合校园计算机网络,实现整个学校的全方位智能卡网络化管理,将先进的IC卡技术服务用于学校的教学、科研、管理和生活等方面。用IC卡取代借书证、餐票、计算机房的上机卡、通道出入证件等;并作为校园信息查询卡,使教师和学生可以轻松查询教学设备、教室情况、图书音像资料、校园活动等各类信息。整个系统的建成,为学校从各项日常管理事务到各种长期数据处理提供科学的解决方案,以节约学校的人力物力,在提高学校管理能力的基础上,亦能为学校带来一定的经济效益。师生手持一张智能卡就可以实现学校全部事务,实现学校的各种消费的无纸币流通。
2.校园代金卡系统功能要求 在代金卡系统的功能要求中,首先应该划分出系统必须完成的所有功能。
校园代金卡系统能够运用于解决学生和教职工的消费既管理问题,包括购物消费、购饭消费、迟到、早退学生登记、图书借阅、机房上机、学生成绩查询、校园综合信息查询、学生身份验证等。其中校园代金卡系统又分为一卡通中心平台、银行接口子系统、图书管理系统、消费管理系统、学生学籍管理系统、身份验证识别系统、门禁考勤系统等子系统,各个系统所实现功能也不相同,主要分为: 一卡通中心平台
校园代金卡的一卡通中心平台实现了对校园卡的发放、挂失、取消等管理,能够传输和处理数据系统,交易数据,结算清算各种费用,在没有工作人员参与的情况下自己也能进行一系列的工作,节省时间和人力。
银行接口子系统
校园代金卡的银行接口子系统能实现银行卡和学生校园卡帐号对应,两卡分离,学生家长持银行卡,学生持校园代金卡。家长使用银行系统的全国异地通存通兑业务,给学生银行卡中汇款。通过设在校园内的圈存机,可以实现银行卡到校园卡的电子钱包圈存并可自助查询银行帐户余额。这样学生不必从银行取出现金然后再对校园卡进行充值,节约了人力,方便了学生充值校园代金卡。
附录三:
软件开发文档指南 可行性研究报告
可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能先择的各种方案;说明论证所选定的方案。可行性研究报告的编写内容要求如下:
1.1 引言
1.1.1 编写目的 1.1.2 背景 1.1.3 定义
1.1.4 参考资料
1.2 可行性研究的前提
1.2.1 要求 1.2.2 目标
1.2.3 条件、假定和限制 1.2.4 进行可行性研究的方法 1.2.5 评价尺度
1.3 对现有系统的分析 1.3.1 数据流程和处理流程 1.3.2 工作负荷 1.3.3 费用开支 1.3.4 人员 1.3.5 设备 1.3.6 局限性
1.4 所建议的系统
1.4.1 对所建议系统的说明 1.4.2 数据流程各处理流程 1.4.3 改进之处 1.4.4 影响
1.4.4.1 对象设备的影响 1.4.4.2 对软件的影响
1.4.4.3 对用户单位机构的影响 1.4.4.4 对系统动行的影响 1.4.4.5 对开发的影响
1.4.4.6 对地点和设施的影响 1.4.4.7 对经费开支的影响 1.4.5 局限性
1.4.6 技术条件方面的可行性 1.5 可选择其他系统方案 1.5.1 可选择的系统方案1 1.5.2 可选择的系统方案2 ……
1.6 投资及收益分析 1.6.1 支出
1.6.1.1 基本建设投资 1.6.1.2 其他一次性支出 1.6.1.3 非一次性支出 1.6.2 收益
1.6.2.1 一次性收益 1.6.2.2 非一次性收益 1.6.2.3 不可定量的收益 1.6.3 收益/投资比 1.6.4 投资回收周期 1.6.5 敏感性分析
1.7 社会条件方面的可行性 1.7.1 法律方面的可行性 1.7.2 使用方面的可行性 1.8 结论 项目开发计划
编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下:
2.1 引言
2.1.1 编写目的 2.1.2 背景 2.1.3 定义
2.1.4 参考资料 2.2 项目概述 2.2.1 工作内容 2.2.2 主要参加人员 2.2.3 产品及成果 2.2.3.1 程序 2.2.3.2 文件 2.2.3.3 服务
2.2.3.4 非移交产品 2.2.4 验收标准
2.2.5 完成项目的最迟期限 2.2.6 本计划的审查者与批准者 2.3 实施总计划
2.3.1 工作任务的分解 2.3.2 接口人员 2.3.3 进度 2.3.4 预算
2.3.5 关键问题 2.4 支持条件
2.4.1 计算机系统支持 2.4.2 需要用户承担的工作 2.4.3 需由外单位提供的条件 2.5 专题计划要点 3 软件需求说明书
软件需求说明书的编制是为了使用户的软件开发者双方对该软件的起初规定有一个共同的理解,使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:
3.1 引言
3.1.1 编写的目的 3.1.2 背景 3.1.3 定义
3.1.1 参考资料 3.2 任务概述 3.2.1 目标
3.2.2 用户的点 3.2.3 假定与约束 3.3 需求规定
3.3.1 对功能的规定 3.3.2 对性能的规定 3.3.2.1 精度
3.3.2.2 时间特性要求 3.3.2.3 灵活性
3.3.3 输入输出要求
3.3.4 数据管理能力的要求 3.3.5 故障处理要求 3.3.6 其它的专门的要求 3.4 运行环境规定 3.4.1 设备
3.4.2 支持软件 3.4.3 接口 3.4.4 控制 数据需求说明书
数据要求说明书的编制目的是为了向整个开发时期提供关于处理数据的描述和数据采集要求的技术信息。编制数据要求说明书的内容要求如下: 引言
编写目的 背景 定义
参考资料
数据的逻辑描述 静态数据 动态输入数据 动态输出数据 内部生成数据 数据约定 数据的采集 要求和范围 输入的承担者 处理 影响 概要设计说明书
概要设计说明书可称作系统设计说明书,这里说的系统是指程序系统,编制的目的是说明对程序的系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制概要设计说明书的内容要求如下:
5.1 引言
5.1.1 编写目的 5.1.2 背景 5.1.3 定义
5.1.4 参考资料 5.2 总体设计 5.2.1 需求规定 5.2.2 运行环境
5.2.3 基本设计概念和处理流程 5.2.4 结构
5.2.5 功能需求与程序的关系 5.2.6 人工处理过程 5.2.7 尚未解决的问题 5.3 接口设计 5.3.1 用户接口 5.3.2 内部接口 5.3.3 外部接口 5.4 运行设计
5.4.1 运行模块组合 5.4.2 运行控制 5.4.3 运行时间
5.5 系统数据结构设计 5.5.1 逻辑结构设计要点 5.5.2 物理结构设计要点 5.5.3 数据结构与程序的关系 5.6 系统出错处理设计 5.6.1 出错信息 5.6.2 补救措施 5.6.3 系统维护设计 6 详细设计说明书
详细说明书可称作程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并概要设计说明书。对详细设计说明书的内容要不得要求如下:
6.1 引言
6.1.1 编写目的 6.1.2 背景 6.1.3 定义 6.1.4 参考资料
6.2 程序系统的组织结构
6.3 程序1(标识符)设计说明 6.3.1 程序描述 6.3.2 功能 6.3.3 性能 6.3.4 输入项 6.3.5 输出项 6.3.6 算法 6.3.7 流程逻辑 6.3.8 接口 6.3.9 存储分配 6.3.10 注释设计 6.3.11 限制条件 6.3.12 测试计划
6.3.13 尚未解决的问题
6.4 程序2(标识符)设计说明 …… 数据库设计说明书
数据库设计说明书的编制目的是对于设计中的数据库所有标识、逻辑结构和理结构作出具体的设计规定。其内容要求如下:
7.1 引言
7.1.1 编写目的 7.1.2 背景 7.1.3 定义
7.1.4 参考资料 7.2 外部设计
7.2.1 标识符和状态 7.2.2 使用它的程序 7.2.3 约定
7.2.4 专门指导 7.2.5 支持软件 7.3 结构设计
7.3.1 概念结构设计 7.3.2 逻辑结构设计 7.3.3 理结构设计 7.4 运用设计
7.4.1 数据字典设计 7.4.2 安全保密设计 8 用户手册
用户手册的编制是要使用非专门术语的语言,充分地描述该软件系统工程所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它。具体的内容要求如下:
8.1 引言
8.1.1 编写目的 8.1.2 背景 8.1.3 定义
8.1.4 参考资料 8.2 用途 8.2.1 功能 8.2.2 性能 8.2.2.1 精度 8.2.2.2 时间特性 8.2.2.3 灵活性 8.2.3 安全保密 8.3 运行环境 8.3.1 硬设备 8.3.2 支持软件 8.3.3 数据结构 8.4 使用过程
8.4.1 安装与初始化 8.4.2 输入
8.4.2.1 输入数据的现实背景 8.4.2.2 输入格式 8.4.2.3 输入举例 8.4.3 输出
8.4.3.1 输出数据的现实背景 8.4.3.2 输出格式 8.4.3.3 输出举例 8.4.4 文卷查询
8.4.5 出错处理与恢复 8.4.6 终端操作 9 操作手册
操作手册的编制是为了向操作人中提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。具体的内容要求如下:
9.1 引言
9.1.1 编写目的 9.1.2 背景 9.1.3 定义 9.1.2 参考资料 9.2 软件概述 9.2.1 软件的结构 9.2.2 程序表 9.2.3 文卷表
9.3 安装与初始化 9.4 运行说明 9.4.1 运行表 9.4.2 运行步骤
9.4.3 运行1(标识符)说明 9.4.3.1 运行控制 9.4.3.2 操作信息
9.4.3.3 输入-输出文卷 9.4.3.4 输出文段
9.4.3.5 输出文段的复制 9.4.3.6 启动恢复过程
9.4.4 运行2(标识符)说明 9.5 非常规过程 9.6 远程操作 10 模块开发卷宗
模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一级密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。具体的内容要求如下:
10.1 标题
10.2 模块开发情况表 10.3 功能说明 10.4 设计说明 10.5 源代码清单 10.6 测试说明 10.7 复审的结论 11 测试计划 11.1 引言
11.1.1 编写目的 11.1.2 背景 11.1.3 定义
11.1.4 参考资料 11.2 计划
11.2.1 软件说明 11.2.2 测试内容
11.2.3 测试1(标识符)11.2.3.1 进度安排 11.2.3.2 条件 11.2.3.3 测试资料 11.2.3.4 测试培训
11.2.4 测试2(标识符)……
11.3 测试设计说明
11.3.1 测试1(标识符)11.3.1.1 控制 11.3.1.2 输入 11.3.1.3 输出 11.3.1.4 过程
11.3.2 测试2(标识符)……
11.4 评价准则 11.4.1 范围
11.4.2 数据整理 11.4.3 尺度 测试分析报告
测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加发记载,具体的编写内容要求如下:
12.1 引言
12.1.1 编写目的 12.1.2 背景 12.1.3 定义 12.1.4 参考资料 12.2 测度概要
12.3 测试结果及发现 12.3.1 测试1(标识符)12.3.2 测试2(标识符)……
12.4 对软件功能的结论 12.4.1 功能1(标识符)12.4.1.1 能力 12.4.1.2 限制
12.4.2 功能2(标识符)……
12.5 分析摘要 12.5.1 能力
12.5.2 缺陷和限制 12.5.3 建议 12.5.4 评价
12.6 测试资源消耗 13 开发进度月报
开发进度月报的编制目的是及时向有关管理部门汇报项目开发的进展和情况,以便函及时发现或处理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以项目组为单位按月编写。具体的内容要求如下:
13.1 标题
13.2 工程进度与状态 13.2.1 进度 13.2.2 状态
13.3 资源耗用与状态 13.3.1 资源耗用 13.3.1.1 工时 13.3.1.2 机时 13.3.2 状态
13.4 经费支出与状态 13.4.1 经费支出 13.4.1.1 支持性费用 13.4.1.2 设备购置费 13.4.2 状态
13.5 下个月的工作计划 13.6 建议 项目开发总结报告
项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。具体的内容要求如下:
14.1 引言
14.1.1 编写目的 14.1.2 背景 14.1.3 定义 14.1.4 参考资料 14.2 实际开发结果 14.2.1 产品
14.2.2 主要功能和性能 14.2.3 基本流程 14.2.4 进度 14.2.5 费用
14.3 开发工作评价
14.3.1 对生产效率的评价 14.3.2 对产品质量的评价 14.3.3 对技术方法的评价 14.3.4 出错原因的分析
第二篇:软件工程实验
作业一
1.请画出由下列文字描述的系统流程图,请用Microsoft Visio 或Word软件画图
设某城市招干考试成绩统计系统。
考生分三个专业,不同专业考试科目不同:
法律专业---考政治、语文、法律
行政专业---考政治、语文、行政
财经专业---考政治、语文、财经学
每个考生在报名时登记姓名、地址、年龄和报考专业。报名后招干办公室根据专业考生专业及地址在市区或郊区来编排准考证号码和考场。考生参加考试后,输入每个考生的各门课程的成绩,并统计出每个考生三门课程的总成绩。按准考证号的顺序打印出考生考试成绩单,分发给每个考生。各专业分别将考生按成绩总分从高到低的次序排序,以便决定录取名单。
作业二
画考务处理系统的数据流图。
考务处理系统功能如下:
(1)对考生送来的报名单进行检查;(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;•3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;(4)制作考生通知单(含成绩及合格/不合格标志)送给考生;(5)按地区进行成绩分类统计和试题难度分析,产生统计分析表。
作业三
1、请为某仓库的管理设计一个ER模型。该仓库主要管理零件(包括零件编号、名称、颜色、重量)的定购和供应等事项。仓库向工程项目(包括项目编号、项目名称、开工日期)供应零件,并且根据需要向供应商(包括供应商编号、名称、地址)定购零件。
2、画复印机的状态转换图 复印机的工作过程大致如下: 未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;
如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;
如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
作业四
请将上列给出的具有变换型的DFD图导出它的软件结构SC图
作业五
某程序流程图如下图所示,请分别用N-S图和PAD图表示。
作业六
练习题:用判定表和判定树表示“检查订货单”伪码 IF 客户订货金额超过5000元 THEN IF 客户拖延未还赊欠钱款超过60天 THEN 在偿还欠款前不予批准
ELSE(拖延未还赊欠钱款不超过60天)发批准书,发货单 ENDIF ELSE(客户订货金额未超过5000元)IF 客户拖延未还赊欠钱款超过60天 THEN 发批准书,发货单,并发催款通知书 ELSE(拖延未还赊欠钱款不超过60天)发批准书,发货单 ENDIF ENDIF
作业七
设计下列伪码程序的语句覆盖和路径覆盖测试用例: START
INPUT(A,B,C)IF A>5 THEN X=10 ELSE X=1 END IF IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15 THEN Z=30 ELSE Z=3 END IF PRINT(X,Y,Z)STOP
实习
请参考机票预订系统实例 飞机票预订系统.zip
一、课程实践任务
学生自行分组选择一个项目,完成一个实际软件项目的分析、设计、开发、测试全过程,领会软件工程的基本思想,明晰各个阶段的主要任务,使用 MicroSoft Visio、Project、Rose、VSS、Power Designer 等计算机辅助软件工具,采用规范化的软件工程方法进行软件项目的研发。
二、课程实践的要求
第三篇:软件工程实验教学大纲
软件工程实验教学大纲
前 言
软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
通过实验训练,达到如下目的:
使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。
实验一:项目开发的准备工作
实验学时:2 实验类型:验证性
一、目的与任务
目的:确定课题,组织组员,合理分工,熟悉软件开发环境,培养团队精神。
任务:学习软件开发小组的组织和管理,合理分工,将项目开发各阶段的任务明确,并熟悉相应的软件开发环境。
二、内容、要求与安排方式
1、实验内容与要求:
根据各组选择的课题,实行项目经理制,各组推荐一名组长,统一管理整个项目的实施过程,并合理调整资源和负责项目全局;根据项目的难易合理分配组员的任务,对问题达成一致的看法;针对项目的实施,熟悉相应的软件开发工具的使用环境。
2、实验安排方式:
本实验为开放实验,各组可同时进行实验,每组4-6人。3.准备参考资料和阅读相关的国家有关软件开发的标准文档。
三、思考题
1、项目开发首先要做的事是什么?
2、你认为该软件应具备的最重要的特性是什么。
3、你认为怎样分工是最合理的?
实验二:系统分析过程
实验学时:4 实验类型:验证性
一、目的与任务
目的:确定项目的可实施性,在此基础上完成系统的逻辑功能模型的建立。
任务:采用不同的软件开发技术,完成对项目的分析过程,给出系统的逻辑功能模型,数据字典以及规格说明书。
二、内容、要求与安排方式
1、实验内容与要求:
明白项目的业务流程图,绘制数据流程图,功能分析图,编写数据字典,数据加工处理的描述,软件系统流程设想图(新系统模型),需求规格说明书。
2、实验安排方式:
本实验为开放实验,各组可同时进行实验,每组8-10人。
三、思考题
1、需求分析在软件开发中真的有那么重要吗?
2、分析系统流程图,流程图和数据流图的区别和各自的特点。
3、怎样写合乎规范的数据流图和数据词典?
4、怎样组织对该工作的评审?
实验三:系统设计过程
实验学时:4 实验类型:设计性
一、目的与任务
目的:在实验二基础上完成系统的体系结构的建立和系统详 2 细设计,并给出相应的规格说明书。
任务:认真分析实验二的结果,给出系统合理的体系结构,描绘系统结构图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。
二、内容、要求与安排方式
1、实验内容与要求:
功能结构图设计,软件处理流程设计,输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计),代码设计,程序设计说明书
2、实验安排方式:
本实验为开放实验,各组可同时进行实验,每组8-10人。
三、思考题
1.系统设计和需求分析的关系是什么?两者必须先后关联吗? 2.怎样描绘系统的体系结构? 3.怎样绘制复合规范的流程图。4.怎样组织对设计阶段工作的评审?
实验四:系统实现
实验学时:4 实验类型:设计性
一、目的与任务
目的:系统运行和软件后期制作,了解程序设计的风格。任务:编写源程序,正确书写软件说明书和用户手册,总结软件开发中的得失。
二、内容、要求与安排方式
1、实验内容与要求:
完善系统所涉及的程序框图,源程序,模拟运行数据,打印报表,软件使用说明书和用户手册等。
2、验安排方式:
本实验为开放实验,各组可同时进行实验,每组8-10人。
三、思考题
1、怎样合理选择软件开发的工具?
2、怎样进行用户说明手册和使用手册的编写。
3、总结项目实施中的得失。
实验五:软件测试
实验学时:4 实验类型:综合性
一、目的与任务
目的:在实验四的基础上,完成对系统的组装和测试。
任务:正确运用软件测试技术和方法,完成系统的单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法,并给出测试报告。
二、内容、要求与安排方式
1、实验内容与要求:
(1)能够正确运用软件测试的过程与方法,结合一个模拟课题,复习、巩固、软件工程中系统测试知识,提高软件测试的实践能力。
(2)熟悉单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法。
(3)树立正确的软件测试思想,培养分析问题、解决问题的能力,提高查询资料和撰写书面文件的能力。
2、验安排方式:
本实验为开放实验,各组可同时进行实验,每组8-10人。
三、思考题
1.怎样看待测试的重要性。2.怎样选择测试的技术和方案。
3.比较逻辑测试和基本路径测试的不同和联系。4.怎样组织对测试阶段工作的评审?
附录一:
实验要求
软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下:
1、班级按项目小组进行分组,每组不得超过6人
2、每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目
3、项目中的每项任务要落实到人且规定该任务的起止日期和时间
4、每个项目小组必须按照《软件工程实验教学大纲》附录中给定的文档规范标准提供项目文档
5、题目自定或采用附录二中的题目
6、软件开发的方法自定(结构化或面向对象的方法学)
附录二:
实验题目
题目一:“基于最小二乘法的公交车辆GPS补偿定位系统的研究” 1. 研究内容: 本项目主要研究智能公交调度系统中,在不增加硬件设备的基础上,通过软件来解决GPS在动态环境中信号失锁问题的方法。提出了基于最小二乘曲线拟合方法的GPS数据补偿算法,该算法将公交车辆的行驶线路数字化为一个曲线模型,并且在客观条件影响车载GPS设备无法接收到GPS信号时,利用对应线路的曲线模型模拟公交车辆的行驶,实现补偿定位。解决由于GPS失锁引起的三个问题。2. 研究意义: 城市智能公共交通管理系统公交车辆的定位跟踪、辅助导航、车辆调度指挥、动态发布公交信息以及出行者最佳路径查询等功能。通过建设智能公交管理系统可以大大提高城市公交车辆的综合管理和调度的智能化,从而有效缓解城市交通的压力。3. 研究方案:
针对公交行业中公交车辆的行驶路线相对固定的特点,根据车辆的历史定位数据,对该行驶线路进行曲线拟合,形成一条数字曲线模型。由于公交线路形状存在复杂和多样性,所以在拟合中采用分段拟合,将线路根据其形状分成几条分别拟合。在GPS无法接收到定位信号时,将最后一次获得的定位坐标投影到曲线模型上,以此为起点,在曲线模型上模拟车辆行驶并按原定GPS采样间隔发送曲线模型上的对应坐标值,作为车辆的定位数据信息,解决GPS的失锁问题。当GPS定位信号重新获取后,停止模拟行驶,以实际定位数据为准。本项目采用最小二乘二次曲线拟合。4. 研究成果:
本系统以公交业务三级调度模式为系统设计框架,集计算机控制技术、无线通信技术、全球卫星定位技术、地理信息技术为一体的公共交通系统。该系统基本上实现了公交调度业务的覆盖和公交调度的智能化的要求,是一款比较出色的智能公交调度系统,本项目所探讨的用最小二乘曲线拟合解决GPS失锁问题的方法将在将来的智能公交调度系统软件中得到实际应用。
题目二:物业小区“一站式” 收费终端系统的软件实现
1、研究内容:
在选择合适的终端设备及运行系统平台基础上,利用目前流行的的面向对象程序设计语言Visual Basic 6.0和SQL的底层数据库设计的软件支持,硬件采用触摸式液晶屏幕实现用户与终端交互,通过网络实现终端和银行的交互,预先模拟出收费企业、银行、小区住户三方的数据库信息(以银行为交易中心),当住户在小区的终端上刷卡消费时,终端将实时发送信息至银行,实现银行数据库相应企业账户和该刷卡用户账户信息的更改和刷新。软件实现功能暂定代缴水费、电费、煤气费、电话费(固定电话、移动手机用户、联通手机用户)。
2、研究意义:
随着现代都市生活节奏的加快,人们对生活的便捷性也随之提出了更高的要求。而日常生活中消费性资源的固定费用,如电话费,燃气费,水电费等的交纳也面临着越来越突出的矛盾:一方面,周末到银行交纳各项费用的用户剧增,加大了银行的工作量;另一方面,也使用户浪费了大量的时间在排队上,产生了一些负面影响;第三,虽然目前银行开通了在网上在线交费业务,但由于互联网的很多安全漏洞,用户无法安心的在网上进行交费。针对目前用户需要解决这种矛盾的迫切性,我们设计了“物业小区一站式收费终端系统”:该终端有点像银行的自动取款机,位于中间位置的是一个触摸式的液晶屏幕,在正常状态下,屏幕上播放着城市(合肥)的风光片等信息,用手指触摸后,直接进入首页。利用该终端可以使用储蓄卡交纳水气煤电等各项费用。该项目的开发可以很好的解决银行与用户之间的不协调性,不仅可以提高银行处理数据的能力,而且为用户节省了时间。目前合肥市的大部分小区还没有这种终端,因此市场前景广阔。
3、研究方案:
在选择合适的终端设备及运行系统平台基础上,预先模拟出收费企业、银行、小区住户三方的数据库信息(以银行为交易中心),当住户在小区的终端上刷卡消费时,终端将实时发送信息至银行,实现银行数据库相应企业账户和该刷卡用户账户信息的更改和刷新。软件实现功能暂定代缴水费、电费、煤气费、电话费(固定电话、移动手机用户、联通手机用户)。软件开发将以瀑布模型为主要依托,进行问题陈述、问题定义、需求分析、可行性研究报告,并配以相应E-R图、DFD图、SC图和数据字典等,然后用统一建模语言UML描述软件,再结合动态模型机制构造状态图、顺序图、协作图、活动图等,以文档为驱动逐步进行系统的整体设 6 计。在硬件上,主要在于如何选择合适的服务器、客户机、交换机、打印机及网络设备来构建完整安全的终端;软件方面,集中体现在操作系统、数据库系统、开发语言的选择。需要解决的关键问题还有终端液晶屏幕是采用什么触发方式(电容触发等方式),服务器平台用LINUX还是用Windows 2000 Server及更高版本等。
4、研究成果:
利用目前流行的的面向对象程序设计语言Visual Basic 6.0和SQL的底层数据库设计的软件支持,硬件采用触摸式液晶屏幕实现用户与终端交互,通过网络实现终端和银行的交互。当住户在小区的终端上刷卡消费时,终端将实时发送信息至银行,实现银行数据库相应企业账户和该刷卡用户账户信息的更改和刷新。软件实现功能暂定代缴水费、电费、煤气费、电话费。
题目三:“大型超市品类管理子系统的研究与开发” 1.系统简介
随着社会经济的飞速发展,我国的大型超市及连锁企业步入多元化,跨地区,高效率为特点的新阶段。随之而来的是对超市物品管理,人员管理,库存量统计及物品进出超市记录管理的需要。而由于统计量大,管理过程中会出现很多问题,市场就需要一个全面的,详细的品类管理子系统对超市进行管理工作。研究的内容包括:商品陈列、库存量、各类商品的销售数量、单价、利润及供求关系。首先,品类管理系统主要分为三个子系统:采购系统,销售系统和管理系统。采购系统的主要工作过程是:在数据库中统计库存量小于一定数目的物品,将需要采购的物品上报给采购人员。在新的物品进库后,对物品数量进行重新统计。销售系统的主要工作过程是:每一次采购将物品单备份并储存,以便在月末结帐时进行核对。管理系统的主要工作过程是:每隔固定时间或者是在系统需要时统计出物品进出量以及超市盈利。以上功能要求在计算机上实现。2.技术要求和限制条件
(1)在当超市物品库中的各种物品数量发生变化(包括进货和出货)时,都应修改相关的物品记录,如库存表或进/出库表。(2)正当出货或进货时不得对物品数量进行统计,只有在出,进货完成后才可以统计
(3)系统的外部项要包括超市服务人员,出货人员和进货人员
题目四:“基于感应式门禁的中小学家校通系统的设计与实现” 1.系统简介
目前,学生的在校管理工作越来越受到学校和家长的重视。管理的好坏将直接影响到学生的安全,以及学生的学习状况与水平。而传统的管理工具及方法有着很大的局限性,例如,学生离开家时,家长不能很好的了解到他们在学校的情况,而离开学校时,校方又不能了解到学生在校外的表现与行为。近几年来,孩子经常让家长担心的事情莫过于放学不回家,甚至逃课去网吧和游戏厅。时间一长,他们就可能会生成网瘾、游戏瘾。
本套系统的开发,就是在于加强校方和家长之间的交流与联系,让家长在校外就能了解到孩子在学校的表现,这样,更有助于家长对孩子的管理、孩子成绩的提高。
当学生离开家来上学时,一旦他们从学校大门经过,门禁系统的感应器将感应到该同学的到来,并记录下来。然后将记录传到校方服务器,由校方服务器与移动电话公司服务系统建立联系。这时,移动电话公司便会以短信的形式把“孩子已经到校”的信息告诉给家长。相反的,如果家长在孩子离开家来学校的很长时间后没有受到信息,那么家长就可以知道他的孩子没有来学校。这样 就实现了 学校与家长时时的管理孩子。2.研究方案:
系统的建设描述:第一,采集学生的信息。这主要包括学生的班级、姓名、年级、家长姓名、家长手机。特别的就是家长的手机,这是系统的关键信息所在。第二,建立校园内部网络;首先,在每个学生的学生证件上安装磁条,并保证磁条与学生的学号一一对应,每个磁条中存储着持卡学生的信息。在学校大门安装磁条感应器,并与校园主机相连接。这样可以把磁条所感应到的信息第一时间反馈给主机。第三,班主任将根据学生在学校的表现分成不同的等级,然后将它输入主机。第四,学生每次的模拟成绩或作业完成情况也将输入主机。第五,校方和移动电话公司或网络公司建立联系,校方把所要向学生家长公布的信息通过移动电话公司的短信息业务或网络公司的电子邮件业务发送给家长。
题目五:基于手机短信业务的银行信用卡消费告知系统
1、系统简介
据调查,目前越来越多的人们放弃使用固定电话,更愿意使用方便、快捷的移动通讯工具。为方便人们及时掌握消费情况,通讯商需要开发一个信用卡消费告知系统。通讯商把用户的基本资料(手机号码、信用卡帐号、开户银行等)输入系统中,并且事先与银行、消费场所的数据库建立连接。用户申请开通此项业务后,系 8 统随时与用户建立联系,消费场所通过终端机把顾客的消费信息映射到银行的数据库中,银行通过与通讯商之间的共享关系,由通讯商以短信息形式将消费信息发给用户。此外系统应定时检查更新数据库用户的基本资料及其他相关信息。
2、技术要求及限制条件
(1)在使用本系统时应考虑用户信息的合法性(如银行帐号、身份证号码)等。
(2)对于本系统还应补充如下功能:
用户要对应多个银行帐号; 用户取消此业务的处理; 用户更改手机号码的处理;
一个银行帐号对应多个手机号码的处理;
(3)外部输入项至少包括:手机运营商、银行、消费场所。
第四篇:软件工程实验日志
软件工程实验日志
指导教师
实验时间:
年
月
日 学院
专业
班级
学号
姓名
实验室
实验题目: 实验目的: 实验要求:
实验主要步骤: 实验结果:
心得体会:
第五篇:软件工程实验总结
软件工程实验总结
经过这学期软件工程实验的学习,深深感到软件工程的重要性。虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。
之前一直认为软件就是程序,软件的开发就是编写程序,一个人,只要会编程,就能写软件,就是程序员;一个公司,只要招聘一些程序员,就能开发好的软件产品。只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。但是通过了《软件工程》这门课的学习,使我认识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。
同时也了解到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。通常用户和开发人员不自觉的都有一种“我们和他们”的想法,产生一种对立关系,把彼此放在对立面,每一方都定义自己的“边界”,只想自己的利益而忽略对方的想法。他们通过文档、记录和对话来沟通,而不是作为一个合作的整体去识别和确定需求完成任务。实践证明这样的方法是不正确的,不会给双方带来一点益处,良好的沟通关系没有建立导致了误解和忽略重要的信息。只有当双方参与者都明白要成功自己需要什么,同时也知道要成功对方需要什么时,才能建立起一种合作关系。
经过一学期的软工实验,深刻感到其重要性的同时也学到了不少的东西,这将对我在今后的软件开发过程中起极大的作用。同时也要感谢老师对我的帮助,指导我们做软件的作业,让我学到了好多东西,受益良多。