当前位置:文档之家› 《软件工程》实验讲义

《软件工程》实验讲义

《软件工程》实验讲义
《软件工程》实验讲义

信息学院

本科实验教学讲义(实验)课程名称:软件工程概论

贵州财经学院教务处制

2011年 8 月

目录

实验项目一软件的问题定义及可行性分析 (4)

一、实验内容、目标及要求 (4)

(一)实验内容 (4)

(二)实验目标 (4)

(三)实验要求 (4)

二、实验准备 (4)

(一)运行环境说明 (4)

(二)基础数据设置及说明 (5)

三、实验基本操作流程及说明 (5)

(一)系统界面及说明 (5)

(二)操作步骤 (5)

四、实验测评与考核 (5)

实验项目二数据流图设计实验 (6)

一、实验内容、目标及要求 (6)

(一)实验内容 (6)

(二)实验目标 (6)

(三)实验要求 (6)

二、实验准备 (6)

(一)运行环境说明 (6)

(二)基础数据设置及说明 (7)

三、实验基本操作流程及说明 (7)

(一)系统界面及说明 (7)

(二)操作步骤 (7)

四、实验测评与考核 (8)

实验项目三系统需求分析实验 (10)

一、实验内容、目标及要求 (10)

(一)实验内容 (10)

(二)实验目标 (10)

(三)实验要求 (10)

二、实验准备 (10)

(一)运行环境说明 (10)

(二)基础数据设置及说明 (11)

三、实验基本操作流程及说明 (11)

(一)系统界面及说明 (11)

(二)操作步骤 (11)

四、实验测评与考核 (11)

实验项目四软件的总体设计 (13)

一、实验内容、目标及要求 (13)

(一)实验内容 (13)

(二)实验目标 (13)

(三)实验要求 (13)

二、实验准备 (14)

(一)运行环境说明 (14)

(二)基础数据设置及说明 (14)

三、实验基本操作流程及说明 (14)

(一)系统界面及说明 (14)

(二)操作步骤 (14)

四、实验测评与考核 (14)

实验项目五熟悉UML工具Rational Rose实验 (16)

一、实验内容、目标及要求 (16)

(一)实验内容 (16)

(二)实验目标 (16)

(三)实验要求 (16)

二、实验准备 (16)

(一)运行环境说明 (16)

(二)基础数据设置及说明 (17)

三、实验基本操作流程及说明 (17)

(一)系统界面及说明 (17)

(二)操作步骤 (18)

四、实验测评与考核 (18)

附录软件项目示例 (19)

题目一“教务管理系统之子系统——分院内课程安排” (19)

题目二、“学校教材订购系统” (19)

题目三、“机票预订系统” (20)

题目四:“学校内部工资管理系统” (21)

题目五、“实验室设备管理系统” (21)

题目六、学生学籍管理系统 (22)

实验项目一软件的问题定义及可行性分析

一、实验内容、目标及要求

(一)实验内容

1.选定需模拟开发的软件课题。

2.对选定的课题进行问题定义。

3.对选定的课题进行可行性分析。

(二)实验目标

1.了解软件项目的基本框架;

2.掌握软件的需求的获取, 分析和澄清问题的定义及可行性的分析;

3.进一步研究探讨问题定义阶段所确定的问题是否有可行的解。

(三)实验要求

查阅提供的资料,各小组在组长的带领下讨论问题的可行性,书写项目的可行性分析报告。

二、实验准备

(一)运行环境说明

(二)基础数据设置及说明

三、实验基本操作流程及说明

(一)系统界面及说明

(二)操作步骤

1.以小组为单位,选择附录中的软件项目,认真分析项目的要求。

2.按照可行性报告分析方法,对该项目进行可行性分析,并撰写报告。四、实验测评与考核

主要根据项目组成员完成的任务,即实验报告的质量及评审提问,项目组成员回答的情况综合评定。主要考核内容为“项目可行性研究报告”。

优秀:能很好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行全面、系统的总结,并能运用学过的理论知识对某些问题加以分析,在考核时能比较圆满地回答问题,并有某些独到见解。

良好:能较好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行比较全面、系统的总结。考核时能较圆满地回答问题。

中等:达到实验大纲中规定的主要要求,实验报告能对实验内容进行比较全面的总结,在考核时能正确地回答主要问题。

及格:实验态度基本端正,完成了实验的主要任务,达到实验大纲中规定的基本要求,能够完成实验报告,内容基本正确但不够完整、系统,考核中能回答主要问题。

不及格:未达到实验大纲中规定的基本要求,实验报告马虎潦草或内容有明显错位;考核时不能回答主要问题或有原则性错误。

实验项目二数据流图设计实验

一、实验内容、目标及要求

(一)实验内容

请根据以下描述画出‘定货合同管理’子系统的第0层和第1层数据流图:该子系统共有三个加工:

1)首先是“建立订货合同台帐”:从客户的订货合同和材料检验单及客户文件输入数据、输出形成合同台帐文件;

2)然后是“分类合并”:从合同台帐文件输入数据,排序合并后形成合同分类文件;

3)最后“打印”加工单元从合同分类文件打印出合同分类表给合同管理员。(二)实验目标

1.巩固数据流图的概念及数据流图各分层之间的关系;

2.掌握通过文字描述画出数据流图的方法;

(三)实验要求

1)数据流图中的所有符号:数据加工、数据存储、数据流和数据源或终点实体都必须定义名称;

2)第0层和第1层数据流图之间必须保持平衡。

二、实验准备

(一)运行环境说明

Windows XP, Microsoft Visio等。

(二)基础数据设置及说明

Visio是一个图形化管理软件,它可以将管理活动以图形的方式展示出来,便于跟踪管理。Visio 专门提供给工程技术人员或一般商业人士使用,是一种快速的绘图软件,能够轻松做出专业化、高质量的图形或图表。

三、实验基本操作流程及说明

(一)系统界面及说明

(二)操作步骤

1.用visio绘制出如下定货系统的SFD(系统流程图)的模型。

2.用visio绘制定货系统的DFD图的顶层模型、第一层模型和第二层模型。3.用visio绘制如下图所示的取款手续的数据流图。

4.结合目前的银行柜台取款手续,对上图的取款数据流图进行改进,绘制其顶层和第一层数据流图。

四、实验测评与考核

主要根据项目组成员完成的任务,即实验报告的质量及评审提问,项目组成员回答的情况综合评定。主要考核内容为实验报告。

优秀:能很好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行全面、系统的总结,并能运用学过的理论知识对某些问题加以分析,在考核时能比较圆满地回答问题,并有某些独到见解。

良好:能较好地完成实验任务,达到实验大纲中规定的全部要求,实验报告

能对实验内容进行比较全面、系统的总结。考核时能较圆满地回答问题。

中等:达到实验大纲中规定的主要要求,实验报告能对实验内容进行比较全面的总结,在考核时能正确地回答主要问题。

及格:实验态度基本端正,完成了实验的主要任务,达到实验大纲中规定的基本要求,能够完成实验报告,内容基本正确但不够完整、系统,考核中能回答主要问题。

不及格:未达到实验大纲中规定的基本要求,实验报告马虎潦草或内容有明显错位;考核时不能回答主要问题或有原则性错误。

实验项目三系统需求分析实验

一、实验内容、目标及要求

(一)实验内容

用结构化数据流分析技术进行软件系统需求分析,分析项目的业务流程图,绘制数据流图,功能分析图,编写数据字典,数据加工处理的描述,软件系统流程设想图(新系统模型),需求规格说明书。具体内容:

1.确定对系统的综合要求

2.分析系统的数据要求

3. 导出系统的逻辑模型

4.实现最后的分析报告,主要是数据流图和数据字典。

(二)实验目标

1.根据所选定题目进行需求分析工作;

2.通过实例掌握结构化数据流分析技术;

3.进行业务需求分析、用户需求、功能需求、非功能需求分析;

4.写出需求规格说明书(含数据流图)

(三)实验要求

要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图和数据字典,数据流图的基本处理的个数不得少与5 个。

二、实验准备

(一)运行环境说明

Windows XP, Microsoft Visio等。

(二)基础数据设置及说明

机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。

三、实验基本操作流程及说明

(一)系统界面及说明

(二)操作步骤

1.到相关单位进行需求分析。

2.综合利用Internet 网和相关书籍整理并完善需求分析。

3.画出系统数据流图(分清系统是事务型还是加工型)。

4.得出系统数据字典。

四、实验测评与考核

主要根据项目组成员完成的任务,即实验报告的质量及评审提问,项目组成员回答的情况综合评定。主要考核内容为“需求分析说明书”。

优秀:能很好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行全面、系统的总结,并能运用学过的理论知识对某些问题加以分析,在考核时能比较圆满地回答问题,并有某些独到见解。

良好:能较好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行比较全面、系统的总结。考核时能较圆满地回答问题。

中等:达到实验大纲中规定的主要要求,实验报告能对实验内容进行比较全

面的总结,在考核时能正确地回答主要问题。

及格:实验态度基本端正,完成了实验的主要任务,达到实验大纲中规定的基本要求,能够完成实验报告,内容基本正确但不够完整、系统,考核中能回答主要问题。

不及格:未达到实验大纲中规定的基本要求,实验报告马虎潦草或内容有明显错位;考核时不能回答主要问题或有原则性错误。

实验项目四软件的总体设计

一、实验内容、目标及要求

(一)实验内容

主要解决实现该系统需求的程序模块设计问题。(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。)熟悉功能结构图设计,软件处理流程设计,输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计)。具体内容:

1.首先进行系统设计,从数据流图出发设想完成系统功能的合理物理方案2.软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。

3. 利用层次图和结构图描绘软件结构。

(二)实验目标

1.建立初始结构图;

2.对初始结构构图进行改进、优化;

3.掌握软件的总体设计报告的书写方法和技术要求。

(三)实验要求

用面向数据流的软件设计技术,对上一实验的数据流图和数据字典,进行总体设计;要求做到对上一实验的软件需求进行软件结构设计,模块数不少于四个。

二、实验准备

(一)运行环境说明

Windows XP, Microsoft Visio等。

(二)基础数据设置及说明

三、实验基本操作流程及说明

(一)系统界面及说明

(二)操作步骤

1.首先确定系统总体设计方案(分清系统是事务型还是加工型)。

2.完成系统的模块结构图及模块的功能说明

3.完成系统的接口设计

4.完成系统的数据结构设计

四、实验测评与考核

主要根据项目组成员完成的任务,即实验报告的质量及评审提问,项目组成员回答的情况综合评定。主要考核内容为“项目概要设计说明书”。

优秀:能很好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行全面、系统的总结,并能运用学过的理论知识对某些问题加以分析,在考核时能比较圆满地回答问题,并有某些独到见解。

良好:能较好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行比较全面、系统的总结。考核时能较圆满地回答问题。

中等:达到实验大纲中规定的主要要求,实验报告能对实验内容进行比较全面的总结,在考核时能正确地回答主要问题。

及格:实验态度基本端正,完成了实验的主要任务,达到实验大纲中规定的

基本要求,能够完成实验报告,内容基本正确但不够完整、系统,考核中能回答主要问题。

不及格:未达到实验大纲中规定的基本要求,实验报告马虎潦草或内容有明显错位;考核时不能回答主要问题或有原则性错误。

实验项目五熟悉UML工具Rational Rose实验

一、实验内容、目标及要求

(一)实验内容

使用Rational rose 2003进行简单用例图的设计。

(二)实验目标

1.熟悉Rational rose 2003的工作环境及组成;

2.能够根据系统的功能分析系统的用例组成。

3.正确确定用例图中的角色。

4.能够分析系统的用例、活动者以及它们之间的关系。

5.使用Rose 软件能正确画出用例图,并说明每一个用例的事件流。

(三)实验要求

1.要求能够熟练运用Rational rose 2003 软件所提供的菜单、工具、模型等;2.初步掌握使用使用Rational rose 2003进行设计的基本思路。

3.根据需求文档确定每一个用例的名称、参与执行者(活动者)、前置条件、主事件流、辅事件流和后置事件流。

二、实验准备

(一)运行环境说明

Rose 是用UML 快速开发应用程序的工具之一,支持用例图、活动图、协作图、状态图、组件图和布局图,通过正向和逆向转出工程代码的特性,可以支持C++、Java、Visual Basic 和XML DTD 等代码生成和逆向转出工程代码。

(二)基础数据设置及说明

三、实验基本操作流程及说明

(一)系统界面及说明

Rose2003 的界面由 6 个部分组成,分别是菜单、浏览器、文档窗口、框图窗口、日志窗口和工具栏。

菜单:集成了系统中几乎所有的操作。包括File、Edit、View、Add.Ins、Window、Help 几大项。选择其中一项,又会弹出相应的子菜单。

浏览器:用于在Rose 模型中迅速漫游。图所示为浏览器的画面图。可以看到,UML 的视图包括用例视图(use case view)、逻辑视图(logicalview)、组件视图(component view)和布局视图(deployment view)。

文档窗口:用于查看或更新模型元素的文档。

工具栏:用于迅速访问常用命令。

图窗口:用于显示和编辑一个或几个UML 图。

日志窗口:用于查看错误信息和报告各个命令的结果。

(二)操作步骤

1.系统需求分析

2.确定事件流

3.用Rose 画出用例图

四、实验测评与考核

主要根据项目组成员完成的任务,即实验报告的质量及评审提问,项目组成员回答的情况综合评定。主要考核内容为“实验报告”。

优秀:能很好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行全面、系统的总结,并能运用学过的理论知识对某些问题加以分析,在考核时能比较圆满地回答问题,并有某些独到见解。

良好:能较好地完成实验任务,达到实验大纲中规定的全部要求,实验报告能对实验内容进行比较全面、系统的总结。考核时能较圆满地回答问题。

中等:达到实验大纲中规定的主要要求,实验报告能对实验内容进行比较全面的总结,在考核时能正确地回答主要问题。

及格:实验态度基本端正,完成了实验的主要任务,达到实验大纲中规定的基本要求,能够完成实验报告,内容基本正确但不够完整、系统,考核中能回答主要问题。

不及格:未达到实验大纲中规定的基本要求,实验报告马虎潦草或内容有明显错位;考核时不能回答主要问题或有原则性错误。

附录软件项目示例

题目一“教务管理系统之子系统——分院内课程安排”

1.系统简介

每学期的期中,学校教务处分别向各个分院发出下学期的教学计划,包括课程名、课时、班级类别(本科、专科、高职)、班号等;分院教学主管人员根据教学任务和要求给出各课程的相关限制(如:任课教师职称、和班数、最高周学时数等);任课教师自报本人授课计划,经所在教研室协调确认,将教学计划上交分院主管教学计划的主任,批准后上报学校教务处,最终有教务处给出下学期全系分院教师的教学任务书。假设上述排课过程全部为人工操作,现要求改造为能利用计算机实现的自动处理过程。

2.限定条件

(1)每位教师的主讲门数不超过2 门/学期:讲师以下职称的教师不能承担系定主课的主讲任务。

(2)分院干部的主讲课时不能超过4 学时/周。

(3)本学期出现严重教学事故的教师不能承担下学期的主讲任务。

(4)本系统的输入项至少应包含3 个:教务处布置的教学计划、分院教师自报的讲课计划和系定的有关讲课限制条件。

(5)本系统的输出项至少应包含2 个:教务处最终下达的全分院教师教学任务书和分院各教学班一学期的课程表(可不包含上课地点)。

题目二、“学校教材订购系统”

1、系统简介

本系统可细化为两个子系统:销售系统和采购系统销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入

库后,即发进书通知给教材发行人员以上的功能要求在计算机上实现。

2、技术要求和限制条件

(1)当书库中的各种书籍数量发生变化(包括领书和进书时),都应修改相关的书库记录,如库存表或进/出库表。

(2)在实现上述销售和采购的工作过程时,需考虑有关单据的合法性验证(3)系统的外部项至少包含三个:教师、学生和教材工作人员。

(4)系统的相关数据存储至少包含 6 个:购书表、库存表、缺书登记表、待购教材表、进/出库表。

题目三、“机票预订系统”

1、系统简介

航空公司为给旅客乘机提供方便,需开发一机票预定系统。各旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入到该系统,系统为旅客安排航班。当旅客交付了预定金后,系统印出取票通知和帐单给旅客,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统核对无误即印出机票给旅客。此外航空公司为随时掌握各航向飞机的乘载情况,需定期进行查询统计,以便适当调整。

2、技术要求及限定条件

(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知、交款发票等)。

(2)对于本系统还应补充以下功能:

(1)旅客延误了取票时间的处理

(2)班机取消后的处理

(3)旅客临时更改机票班次的处理

(3)系统的外部项至少包含三个:旅客、旅行社和航空公司。

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件工程实验教案网络

课程教案 课程名称:软件工程实验 任课教师:陈利平 所属院部:计算机与信息科学学院 教学班级:计科1301-02网络1301-03 教学时间:2015-2016 学年第2 学期 湖南工学院

课程基本信息

实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成; 2.掌握用Visio软件绘制图表的基本操作; 3.能熟练全用Visio软件绘制各种较复杂的专业图表; 4.掌握各种图表文档创建方法. 二、实验环境 1.安装有Microsoft Visio 2010软件的计算机系统; 2.准备将使用Microsoft Visio 2010绘制图。 三、实验内容 1.熟悉Microsoft Visio 2010的建模环境; 2.根据教材和实验老师的演示,从教材或实验指导书中找到一个数据流图,用Microsoft Visio将它画出。可以使用实验指导书的图1-5所示的数据流图. 3.根据教材和实验老师的演示,从教材或实验指导书中找到一个状态图,用Microsoft Visio将它画出。可以使用实验指导书的图1-9所示的状态图。 4.根据教材和实验老师的演示,从教材或实验指导书中找到一个E-R图,用Microsoft Visio将它画出。可以使用实验指导书的图1-19所示的实体关系图。 四、实验注意事项 在实验过程中,要注意观察Microsoft Visio相关操作的实现。 五、实验成果 完成实验后,每人提供一份实验报告,简述Microsoft Visio的使用、特点、组成及安装要点,重点说明其建模环境及使用,至少包含三个已绘制的Microsoft Visio文件。 六、实验思考 1.反复练习Microsoft Visio绘制各种图。 实验后记: 实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成;

软件工程复习资料2012秋(1)

软件工程复习题一 一、选择题,请从四个可选项中选择正确答案。 1.以下哪一项不是软件危机的表现形式() A.成本高 B.生产率低 C.技术发展快 D.质量得不到保证 2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。() A.演化模型 B.喷泉模型 C.原型模型 D.螺旋模型 3.可行性研究的目的不包括() A.分析开发系统的必要性 B.确定系统建模的方案 C.分析系统风险 D.确定是否值得开发系统 4.可行性分析研究的费用大约是项目总经费的()。 A.2% B.8% C.20% D.50% 5.在E-R 模型中,包含以下基本成分()。 A.数据、对象、实体 B.控制、联系、对象 C.实体、联系、属性 D.实体、属性、联系 6.软件需求分析产生一个重要文档是()。 A.软件维护说明书 B.需求规格说明书 C.可行性报告 D.初步用户手册 7.内聚程度较低的是()。 A.通信内聚 B.过程内聚 C.顺序内聚 D.时间内聚 8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是() A.把软件划分成模块 B确定模块之间的调用关系 C.确定各个模块的功能 D.设计每个模块的伪代码 9.UML 语言支持的建模方式不包括有()。 A.静态建模 B.动态建模 C.模块化建模 D.功能建模 10.以下哪一项不是面向对象的特征。() A.多态性 B.继承性 C.封装性 D.过程调用 11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了() A.软件危机 B.软件工程 C.程序设计革命 D.结构化程序设计

12.瀑布模型的关键不足在于() A.过于简单 B.不能适应需求的动态变更 C.过于灵活 D.各个阶段需要进行评审 13.可行性研究的四大要素是()。 A.经济、技术、法律和社会环境 B.经济、技术、开发组织能力和领导者水平 C.经济、技术、计算机硬件环境和网络带宽 D.经济、技术、软件开发工具和人员的稳定性 14.经济可行性研究的主要内容包括() A.开发过程 B.开发工具 C.风险分析 D. 效益分析 15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是()。 A.要求软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率如何 D.要求软件具有什么样的结构 16.DFD中的每个加工至少需要() A.一个输入流 B.一个输出流 C.一个输入或输出流 D.一个输入流和一个输出流 17.PDL是描述处理过程()。 A.做什么 B.为什么做 C.怎么做 D.对谁做 18.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合 B.公共耦合 C.标记耦合 D.内容耦合 19.按照模块独立性,耦合程度由弱至强正确的顺序是()。 A.数据耦合、控制耦合、外部耦合、内容耦合 B.控制耦合、数据耦合、内容耦合、外部耦合 C.内容耦合、外部耦合、控制耦合、数据耦合 D.外部耦合、内容耦合、数据耦合、控制耦合 20.UML 中,包图是一种()。 A.集合 B.数据结构 C.分组机制 D.对系统的动态描述

软件工程方法与实践 期末考试复习资料(江理)

软件工程的定义:软件工程是一门研究如何用系统化、规范化、数量化等工程化思想和方法去进行软件开发、维护和管理的学科。软件危机的定义:软件开发和维护过程中所遇到的如软件规模越来越大,复杂度不断增加,软件的需求量日益增大等的严重问题我们称之为软件危机。 软件工程有哪些基本的思想:a.推迟实现的观点b.逐步求精的观点c.分解与抽象的观点d.信息隐蔽的观点e.质量保证的观点 CMM(Capability Maturity Model)能力成熟度模型,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。 极限编程(Extreme Programming , XP)是一种软件工程方法学是敏捷软件开发中最富有成效的几种方法学之一。它的的核心有四个要点:交流、简单、反馈、勇气 软件生命周期模型:通常把软件生命周期中各项开发活动的流程用一个合理的框架——开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型。 软件需求分类:功能需求、非功能需求和领域需求 结构化分析(Structured Analysis, SA) 结构图(Structure Chart ,SC) 面向对象的一些概念:类是具有相同或相似性质的对象的抽象。实例是类的具体化。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。消息是指对象间相互联系和相互作用的方式 数据流类型:变换型数据流、事务型数据流、混合型数据流 Jackson图:Jackson图是Jackson方法分析和设计最有效的表达手段,用它既可以描述问题的数据结构,也可以描述软件的程序结构。Jackson图的优点是便于表示层次结构,利于结构自顶向下分解,形象直观,可读性好。Jackson方法用某种形式的伪码给出程序的过程性描述。伪码一般采用结构化形式的英语描述,例如,用”select”语句描述选择结构,用”until”或”while”语句描述重复结构。

软件工程数据结构实验教案

实验教案实验一栈和队列 重点: 1.掌握如何使用STL中的栈 2.掌握如何自己编写栈的代码 难点: 用数组实现栈的原理,并能用c++描述 具体实验讲解如下: 本实验是要通过几段代码的编写,熟悉栈和队列的编写和应用 在实验指导书中有4个题目,其中题目1、2、3是关于栈的,题目4是关于队列的。其中题目1难度小,题目2和题目3是有联系的,经过努力可以做出,但是题目4难度大些,属于选作内容 1.题目一(STL中的栈) 读懂实验指导书中的Task1中的程序(使用栈进行序列的顺序反转),并编译运行,通过此了解如果要实现一个栈类,里面需要的基本的成员函数。这个程序在书上也有。 (1)由于程序是用了STL(标准模板库,可以简单的看成是一个函数库,在其中有各种有用的类、函数和算法),栈在其中有实现。栈在STL中的实现用到了类模板,也就是说其栈是独立于类型的,模板提供参数化类型,也就是能将类型名作为参数传递给接收方来建立类或函数。比如stack numbers;中就是声明了一个栈,这个栈中存放的数据类型为double。 (2)注意要使用c++的输入输出需要加上几行语句如下,因为cout和cin是在命名空间std中的: #include using namespace std; 2.题目二、题目三(自己编写栈) 这里可以把题目二和题目三合成一个题目,在一个程序中完成就可以了。 合并后的题目如下:自己编程程序实现一个简单的栈,并用于替换题目1中对标准模板库中的栈的使用,同时对自己实现的栈的功能进行扩充,添加实现如下几个函数 (a) clear (b) full (c) size。 使用新添加的栈函数,显示在进行数字序列反转时输入的十进制数的个数。 注意: (1)实验题目文档中已经把大部分的代码都给出来了。栈可以用链表或者数组实现,这里是 用数组实现。 (2)实验题目中给出的仅仅是部分的代码,自己还需要在看懂的前提下,进行修改补充,才 可以达到具体的要求,不明白的地方也可以参考书上这一部分。 一些补充代码如下:

软件工程讲义

课程概述 一、软件工程学科介绍 二、学习目标 三、部分参考资料 四、课程特点和学习的注意事项 五、教材简介 六、课程考核方式 一、软件工程学科介绍 软件程学科发展历史 三个阶段:概念提出、学科雏形、学科确立 第一阶段:概念提出 1968 年NATO 会议(北大西洋公约组织的计算机科学家的国际会议)提出“软件工程”概念。 当时对“软件工程”代表性定义:为了经济地获得在真实机器上可靠工作的软件而制定和使用的合理工程原则和方法。 1972 年IEEE 学会的计算机分会IEEE 一CS 第一次出版了“软件工程学报” 第二阶段:学科雏形 上世纪70 年代末,美国将软件工程教程列入研究生教育计划。 1980 年代末和1990 年代初,软件工程教育得到卡内基一梅隆大学软件工程研究所(CMU / SEI )的支持。 1991 年,“软件工程”被ACM (美国计算机协会)和IEEE / CS 列为计算学科的九个知识领域之一。 1993 年,IEEE 一CS 和ACM 为了把软件工程建设成为一个专业,建立了IEEE 一CS / ACM 联合指导委员会。 第三阶段:学科确立 2004 年8 月,IEEE 一CS 和ACM 给出: 软件工程知识体(SWEBOK , Software Engineering Body of Knowledge ) 软件工程教育知识体(SEEK ) 最终版,标志着软件工程学科在世界范围正式确立。 软件工程、计算机科学、计算机工程、信息系统、信息技术并列成为计算学科下的独立学科。 软件工程知识体(SWEBOK ) :全面描述了软件工程实践所需的知识。 SWEBOK (软件工程知识体》10 个领域 ●软件需求 ●软件设计 ●软件构造 ●软件测试 ●软件维护 ●软件配置管理 ●软件工程管理 ●软件工程过程

软件工程实验指导书(2016年修订)

数学与信息学院(软件学院) 《软件工程实验》指导书 编写:梁早清朱凯严尚维林毅申 完成人信息 学号姓名主要角色和任务比重 朱凯2016年修订 分组至少3人至多4人。 备注:此文档仅作为《软件工程》实验指导用,其他课程的文档模板请根据其他老师提供的模板撰写。

软件工程实验课实验说明 本实验指导书是数学与信息学院、软件学院《软件工程实验》课程的指导书,目的在于让同学们通过这些实验,体会软件开发的过程(从需求分析到设计和测试计划)。老师们试图通过一个较为简单的易实现的软件系统,让同学们分阶段完成需求分析、体系结构设计、部件级设计等设计和功能测试的工作,并完成相应的文档。同学们之间根据规范相互评审每一阶段的文档,过后老师再统一评讲。以此让同学们加深对结构化分析与设计、功能测试的方法的理解。(特别指出:因课时所限,软件工程中面向对象的设计与分析方法不在本实验课上讨论,学院另外开设有《面向对象的设计与分析》课程。) 题目如下: 一、软件系统需求的文本描述 《课程成绩管理系统》提供一个方便我校任课老师管理学生成绩的小型软件系统。该系统为教师提供方便的成绩管理功能,也为学生提供查询成绩的功能。系统描述如下:学生的成绩包含以下4个部分:课堂点名成绩、课堂考试成绩、课后作业成绩和期末考试成绩。各成绩评判标准和在总成绩中所占比例如下: 1.课堂点名3次,每次点名没有到的不得分(即记0分),到了的100分。第一次点 占总成绩的1%,第二次和第三次各占总成绩的2%,课堂点名占总成绩的5%; 2.课堂考试3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占 总成绩的7%,第三次占总成绩的6%,共20%; 3.课后作业3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占 总成绩的8%,第三次占总成绩的9%,共25%; 4.期末考试试卷满分100分,占总成绩的50%。 教师能通过成绩管理软件来管理学生的成绩,包含添加、删除、修改、查看、统计学生的成绩。各个功能具体描述如下: 1.添加学生成绩:填写学号,点击添加,然后在添加界面上录入对应学生的第一次点 名、第二次点名、第三次点名、第一次课堂考试、第二次课堂考试、第三次课堂考 试、第一次课后作业、第二次课后作业、第三次课后作业,期末考试卷面成绩。点

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

软件工程实验指导书71436

软件工程实验指导书 南昌航空大学信工学院 2010年01月

目录 实验1 用PowerDesigner建模工具绘制数据流图 (3) 1 实验环境 (3) 2 实验目的 (3) 3 实验内容 (3) 4 实验要求 (3) 5 实验步骤 (3) 实验2 用PowerDesigner建模工具设计数据库 (5) 1 实验环境 (5) 3 实验内容 (5) 4 实验要求 (6) 5 实验步骤 (6) 实验3 用Microsoft Visio工具设计用户界面 (10) 1 实验环境 (10) 2 实验目的 (10) 3 实验内容 (10) 4 实验要求 (10) 5 实验步骤 (10) 实验4 用Rational Rose绘制用例图 (14) 1 实验环境 (14) 2 实验目的 (14) 3 实验内容 (14) 4 实验要求 (14) 5 实验步骤 (15) 实验5 用Rational Rose工具绘制类图 (18) 1 实验环境 (18) 2 实验目的 (18) 3 实验内容 (18) 4 实验要求 (18) 5 实验步骤 (18)

实验1 用PowerDesigner建模工具绘制数据 流图 1 实验环境 Windows 2000、Sybase公司的Power Designer应用软件 2 实验目的 1)了解Power Designer工具软件的组成及功能 2)掌握Power Designer中的Process Analyst(PA)模块的建 模方法及其工具的使用方法 3 实验内容 1)设计数据流图(DFD) 2)利用外部实体、过程处理、数据流及数据存储绘制数据流图。 4 实验要求 建立一个PAM(Process Analyst Model)的应用实例。 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位,身份证号码、旅行时间、施行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭取票通知单和帐单交款取票,系统校对无误即印出机票给旅客。 绘制该机票预定系统的数据流图。注意:功能分解的细化程度视具体情况而定。该实验中分解到第三层止。 5 实验步骤 数据流图是系统处理模型的主要组成部分。其中心问题是把功能逐层分解为多个子功能。 1)建立根处理模型 S1:在Windows桌面上双击Process Analyst程序图标,打开Process Analyst应用程序。 S2:建立一个处理过程P1。单击工具栏中的Process工具,在模型工作区内单击会出现一个处理过程的符号,它是建立的第一个处理过程。单击鼠标右键释放Process工具,再双击新建立的处理过程符号,出现特性对话框,对

软件工程复习资料

1、下列哪一模型是软件的基础模型 A.瀑布模型 B.快速原型 C.增量模型 D.螺旋模型 2、划分软件生存周期的阶段时所应遵循的基本原则是 A.各阶段的任务尽可能相对独立 B.各阶段的任务在时间上连续 C.各阶段的任务尽可能相关性 D.各阶段的任务在时间上相对独立 3、下列哪个办法不属于解决软件危机的途径之一 A.采用软件工程的解决途径 B.研制新一代智能计算机 C.采用面向对象的软件设计方法 D.大力扶持软件企业 4、下列哪个不属于软件工程的内涵之一 A.扶持培养软件高手的学院 B.开发既可靠又能有效运行的软件 C.应用完善的科学与工程原理 D.经济地开发软件 5.造成大型软件开发困难的根本原因在于 A.开发人员缺乏足够的开发经验 B.项目开发进度不合理 C.软件系统的复杂性 D.对软件开发的资金投入不足 6.软件会逐渐退化而不会磨损,其原因在于 A.软件备件很难订购 B.不断的变更使组件接口之间引起错误 C.软件错误在经常使用之后会逐渐增加 D.软件通常暴露在恶劣的环境下 7.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制

9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。 B.软件质量是由产品的功能、性能、易用性等外在特性决定的。 C.运行正确的软件就是高质量的软件。 D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。 11、可行性研究主要包括哪几项? A.技术可行性、经济可行性和操作可行性 B.技术可行性、经济可行性和道德可行性 C.技术可行性、法律可行性和操作可行性 D.技术可行性、操作可行性和法律可行性 12、成本/效益分析的目的是帮助()正确地作出是否投资于这项开发工程的决定。 A.系统分析员 B.客户组织的负责人 C.项目经理 D.软件开发人员 13、在进行成本/效益分析的时候,需要考虑() A.开发成本 B.运行费用 C.系统带来的经济效益 D.系统使用寿命 14、数据流图和数据字典共同定义了新系统的逻辑模型。 A.错 B.正确 15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。 A. 正确 B.错误 16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。 A.正确 B.错误 17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是 A.功能模型 B.数据模型 C.行为模型 D.动态模型 18、下列叙述中,()不属于数据字典的作用。 A.为用户与开发人员之间统一认识 B.为需求分析阶段定义各类条目

软件工程测试实验

淮海工学院计算机科学系实验报告书 课程名:《软件工程》 题目:软件测试实验 班级:软件121 学号:2012122722 姓名:朱德坤

软件测试验报告要求 1目的与要求: 1)系统学习和理解结构化软件工程实现阶段的基本概念、原理、技术和方法; 2)掌握软件测试的基本技术和方法,特别是白盒测试与黑盒测试技术和方法; 3)通过实验,要逐步提高白盒测试与黑盒测试技术的实际应用能力; 4)熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5)按照实验题目要求独立完成本次试验任务,严禁拷贝、抄袭他人设计成果; 6)认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试结果分析等),并于5月5日以前提交。 2 实验内容或题目 1.选择结构化详细设计试验中自己设计的某一具有代表性控制结构模块(含有分支和循环结 构),并用C语言实现(提前准备好,每种测试用例分别写在作业本上,上机时带上检查),而后分别完成下述2、3、4各题测试用例设计和测试结果分析; 2.采用白盒测试技术中逻辑覆盖方法(至少包含语句覆盖、判定覆盖、条件覆盖、条件组合 覆盖)设计测试用例,完成测试(测试屏幕截图)和测试结果分析; 3.采用白盒控制结构测试技术的基本路径测试和边界测试方法设计相应测试用例,并完成测 试和测试结果分析; 4.采用黑盒测试技术中的等价类划分方法设计相应测试用例(可重选适合黑盒测试技术的模 块),并完成程序测试和测试结果分析; 3 实验步骤与源程序 程序流程图:

流图:

程序: //拥有超级用户superuser,密码zdk #include #include #include #include #include using namespace std; int PD; //全局判断执行码 void SetPos(int i,int j) //界面光标位置函数{ COORD pos= {i-1,j-1}; HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);

软件工程讲义名词解释

1.软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2.软件危机的典型表现:1)对软件开发成本和进度的估计常常很不正确; 2)用户对“已完成”的软件系统不满意的现象经常发生; 3)软件产品的质量往往靠不住; 4)软件常常是不可维护的 5)软件通常没有适当的文档资料 6)软件成本在计算机系统总成本中所占的比例逐年上升 7)软件开发生产率提高的速度,跟不上计算机应用的普及深入趋势 3.产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关; 1)是计算机系统中的逻辑部件而不是物理部件 2)显著特点:规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升 4.解决软件危机:既要有技术实施(方法与工具),又要有必要的组织管理措施。 5.软件工程:是指导计算机软件开发和维护的一门工程学科;采用工程的概念、原理技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它 6.软件工程方法学包含3个要素:方法、工具和过程。 7.传统方法学也称为生命周期方法学式结构化范型 8.软件生命周期:由软件定义、软件开发和运行维护3个时期组成, 1)软件定义时期通常进一步划分为3个阶段:问题定义、可行性研究和需求分析; 2)开发时期由4个阶段组成:总体设计、详细设计、编码和单元测试,综合测试(前两个称为系统设计,后两个阶段称为系统实现); 3)维护时期不用划分时期,花费时间最多。 第2章1、可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决 2、可行性研究的任务回答能不能做,可不可以做。【最短时间内找出方法】 3.至少从下述3个方面研究每种解法的可行性: 1)技术可行性:使用现有的技术能实现这个系统吗? 2)经济可行性:这个系统的经济效益能超过它的开发成本吗? 3)操作可行性:系统的操作方式在这个用户组织内行得通吗? 4.数据字典:关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 5.数据流图和数据字典共同构成系统的逻辑模型。 6.数据字典由下列4类元素的定义组成:数据流、数据流分量、数据存储处。 第3章1需求分析基本任务是准确地回答“系统必须做什么?”这个问题(即注明系统功能) 第5章: 1、总体设计(又叫概要设计)由两个主要阶段组成系统设计阶段,确定系统的具体实现方案;结构设 计阶段确定软件结构。 2、模块化:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成 起来构成一个整体,可以完成指定的功能满足用户的需求。 3、局部化:指把一些关系密切的软件元素、物理地放得彼此靠近。 4、模块的独立程度可由两个定性标准度量:内聚(衡量一个模块内各个元素,彼此结合的紧密程度),耦合(衡量不同模块彼此间互相依赖链接的紧密程度) 5、模块包含的语句数不可超过30 6、模块接口复杂是软件发生错误的一个主要原因 7、结构化设计方法(5D方法)是基于数据流的设计方法

13级软件工程实验指导书最新版

《软件工程》 课程实验指导书 华北水利水电大学 信息工程学院计算机科学与技术专业 2016年5月

《软件工程》课程实验指导书 一、实验选题与要求 自由选择题目,但每个班级的选题按照学号尾数为0、5选第1题,尾数为1、6选第2题,尾数为2、7选第3题,尾数为3、8选第4题,尾数为4、9选第5题。 1、单科学生成绩管理系统 任务:对在校某班学生一门课程的平时成绩与考试成绩进行统一管理。每个学生记录包括学号、姓名、每次习题(按16次计)、测验(按3次计)、考试成绩和总评成绩等信息,以学号为序存放。 要求:(1)一个文件按以班为单位存储学生记录。 (2)将允许的操作分为四种,以A、B、C、D为标志(若设置菜单操作更佳): A:插入一个新的学生记录; B:登记某次成绩(可以是每次习题、测验、考试成绩); C:修改某次成绩(可以是每次习题、测验、考试成绩); D:删除一个学生记录。 (3)计算学生的最终成绩,各项成绩权重为:习题10%、测验20%、考试70%。 (4)按学号排序打印全班成绩表,表格内容包括习题、测验、考试、总评成绩,前三项为百分制,总评成绩为加权计算结果值。 设置教师和学生两种登录系统身份,每个用户应有自己的口令; 教师身份可以完成上述基本要求的功能,学生可以通过输入学号查询个人成绩。 2、飞机航班订票系统 任务:通过此系统可以实现如下功能: (1)录入:录入航班信息(数据可以存储在一个数据文件中) (2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; (3)订票:(订票情况可以存在一个数据文件中) 可以订票,如果该航班已经无票,可以提供相关可选择航班; (4)退票:可退票,退票后修改相关数据文件; 订票的客户信息有姓名,证件号,订票数量及航班,订单要有编号。 (5)修改航班信息:当航班信息改变可以修改航班数据文件。 3、宾馆管理信息系统 任务:入住或预订客房时,用户要对客户管理模块或预订管理模块进行核对审查,并进行登记;客户换房时,要对换房信息进行查询和更新;客户退房时,要进行结算,并对更新客房信息。 主要功能模块: (1)登录模块:对用户身份进行验证,只有合法用户才能进入系统;

软件工程复习资料-完整版

一、选择题: 1、用例图中,用来表示用例的符号为(B)。 A B. C. D. 2、协作图中包含的元素包括(A)。 A. 对象 B. 链 C. 激活 D. 消息 3、在类图中,哪种关系表达整体与部分的关系(D)。 A.泛化 B. 实现 C. 依赖 D. 聚合 4、下列各种图形符号中,用来表示组成关系的符号为(B)。 A. B. C. D. 5、(A)工具在软件的详细设计中不能使用。 A.DFD B. N-S图 C. 流程图 D. PDL 6、“软件危机”是指(C)。 A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。

A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。 A. 对象 B. 参与者 C. 消息 D. 激活 9、下列UML图形中,(ABCD)属于UML的动态视图。 A. 协作图 B. 状态图 C. 活动图 D. 顺序图 10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。 A. 数据库设计 B. 数据通信 C. 数据关系描述 D. 数据定义 11、详细设计与概要设计衔接的图形工具是(D)。 A. DFD图 B. 程序图 C. PAD图 D. SC图 12、UML中,大多数建模者把节点分为(AC) A. 设备 B. 构件 C. 处理器 D. 显示器 13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。 A.时间图 B. 流程图 C. 活动图 D. 状态图 14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。 A. 状态图 B. 序列图 C. 协作图 D. 活动图 15、下列特点属于描述用例的特点的是(D)。 A. 相对独立:不需要与其他用例交互,即功能是完备的

软件工程复习资料完整版

、选择题: 、用例图中,用来表示用例的符号为() 、协作图中包含的元素包括() 、在类图中,哪种关系表达整体与部分的关系() 。 ?泛化 ?实现 ?依赖 ?聚合 F 列各种图形符号中,用来表示组成关系的符号为 ()。 、()工具在软件的详细设计中不能使用。 、从严格意义上讲,下列个选项中属于顺序图的元素是() 。 ?对象 ?参与者 ?消息 ?激活 、下列图形中,()属于的动态视图。 ?协作图 ?状态图 ?活动图 ?顺序图 、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是() ?数据库设计 ?数据通信 ?数据关系描述 ?数据定义 、详细设计与概要设计衔接的图形工具是 ()。 ?图 ?程序图 ?图 ?图 、中,大多数建模者把节点分为() A ?设备 ?构件 ?处理器 ?显示器 、()是一种特殊形式的状态机,用于对计算流程和工作流程建模。 ?时间图 ?流程图 ?活动图 ?状态图 、()描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。 ?状态图 ?序列图 ?协作图 ?活动图 下列特点属于描述用例的特点的是() 。 相对独立:不需要与其他用例交互,即功能是完备的 用例的执行结果是可观测有意义的 ?用例由参与者发起(不能自启动,或者由其他用例启动) ? 一个用例是一个单元(需求单元、分析单元、设计单元、开发单元、测试单元、部署单元 ) 、在图书管理系统中,读者与书籍之间的“借阅”关系的多重性是() 、我希望能够支持跨行业务; 我插入卡片输入密码后可以让我选择是取钱还是存钱; 为了方 便,可以设置一些默认的存取金额按钮; 我可以修改密码,可以挂失; 我希望可以缴纳电话 费、水费、电费等;为安全起见,应该有警示小心骗子的提示条,有摄像头;如果输入三次 密码错误,卡片应当可以自动吞没;下列那些是有效的用例() {Constrain} 对象 ?链 激活 ?消息 “软件危机”是指()。 计算机病毒的出现 ? ?流程图 利用计算机进行经济犯罪活动 软件开发和维护中出现的一系列问题 人们过分迷恋计算机系统 、快速原型是利用原型辅助软件开发的一种新思想, 它是在研究()的方法和技术中产生的。 需求阶段 设计阶段 测试阶段 ?软件开发的各个阶段 Use Case

《软件工程》复习资料

1,什么是软件,软件的性质 软件是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。软件=程序+数据+文档。 软件的内在性质是:软件具有高度的抽象性和严密的逻辑性。 软件的外在性质是:软件是一种逻辑信息产品,是用文字、符号表达的智力产物。 2,什么是工程化工程化的软件开发方法与早期的程序设计方法的不同点在哪里? 将成熟工程领域的方法应用于软件开发。工程化的方法包括如下四个方面: ⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境 ⑶.具备统一的工程规范⑷.管理和控制 3,软件工程研究的内容 软件项目的管理 软件工程的知识体系包括如下内容 过程:软件开发的步骤。方法:软件开发各步骤所用到的技术。管理:控制软件开发按照过程和方法顺利完成的技术和措施。工具:辅助人们贯彻过程和方法,并实施管理 1,可行性分析包含哪些内容,它们的含义是什么? 答:⑴.经济上可行性:论证系统有没有经济效益或社会效益?多长时间能回收成本? ⑵.技术上可行性:实现新系统需要哪些技术,现有技术能否解决,难点?建议采用的技术先进程度怎样?新技术的应用是否存在风险?是否能够找到胜任该系统的熟练的技术人员?等等⑶.操作上可行性:系统的操作方式在用户所在的组织内是否可行,特别是对原有系统扩展会不会引起矛盾。⑷.法律上可行性:会不会引起侵权、会不会引起其他的社会问题。 2,下列哪些工作中需要估算软件成本? I)软件可行性研究II)软件计划III)软件需求分析IV)软件运行和维护 三 1,结构化分析方法的三种描述手段 数据流图,掌握数据流图中的基本符号,大题要求给出一个需求能够画出多层数据流图 数据字典 加工说明的三种描述工具是:结构化语言、判定树和判定表来表示 2,结构化方法的特点:自顶向下,逐层分解,抽象和分解 3,用户需求: ?某学校需要开发一套基于Web的研究生招生管理系统,用户需求如下: –考生可以登录系统提交报名信息,报名信息经过格式确认存入数据库;信息提交成功后能够网上在线支付报名费并记录交费信息;交费成功的考生可以打印 报名表。 –各院系教务员能够查看和审核考生提交的报名信息,确定信息是否准确有效,最后给出审核是否通过的标志。教务员还能够打印报名考生清单。 –招生办公室管理员能够查询有效的报名考生信息和打印统计报表;能够生成报名考生数据文件上报到上级单位(教育部)。 题目要求: ?请用SA方法对它进行分析,画出分层数据流图。(只要求数据流图,不要求数据字典和 报名信息库

相关主题
文本预览
相关文档 最新文档