软件工程第07章
- 格式:ppt
- 大小:264.50 KB
- 文档页数:77


第三章 软件工程基础
经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是软件生命周期、软件设计的基本原理,软件测试的目的、软件调试的基本概念,读者应对此部分进行重点学习。
详细重点学习知识点:
1.软件的概念、软件生命周期的概念及各阶段所包含的活动
2.概要设计与详细设计的概念、模块独立性及其度量的标准、详细设计常用的工具
3.软件测试的目的、软件测试的4个步骤、
4.软件调试的任务
3.1软件工程基本概念
考点1 软件定义与软件特点
考试链接:
考点1在笔试考试中,是一个经常考查的内容,考核的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件的定义,特点及其分类。
软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。数据是使程序能正常操纵信息的数据结构。文档是与程序的开发、维护和使用有关的图文资料。可见,软件由两部分组成:
(1)机器可执行的程序和数据;
(2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。
软件的特点:
(1)软件是逻辑实体,而不是物理实体,具有抽象性;
(2)没有明显的制作过程,可进行大量的复制;
(3)使用期间不存在磨损、老化问题;
(4)软件的开发、运行对计算机系统具有依赖性;
(5)软件复杂性高,成本昂贵;
(6)软件开发涉及诸多社会因素。
根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)。
小提示:应用软件是为解决特定领域的应用而开发的软件;系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;支撑软件是介于两者之间,协助用户开发软件的工具性软件。
考点2 软件工程过程与软件生命周期
考试链接:
考点2在笔试考试中,在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件生命周期 的定义,主要活动阶段及其任务。
1 教学内容 备注
第五章 详细设计
5.1 结构程序设计
5.1.1 结构化程序设计的概念
所谓结构化程序,就是采用以逐步降低算法抽象级为中心的一套程序设计方法而得到的具有良好结构的程序,其主要特征是逐步降低算法的抽象级,简单地说,就是按模块设计,按层次数据,严格限制goto语句的使用等。通常认为,一个比较好的结构程序在结构方面应具有一下两个特点:
(1) 大型程序按照其功能进行模块划分。
(2) 每一个基本程序单元具有的特征:
5.1.2 结构化程序设计的步骤与原理
结构化程序是为适应能力软件质量的要求而提出来的,而要确保达到这些质量标准,程序的设计必须遵循一个规范的过程,必须以一些基本原理为指导,按照一定的设计方法,使用相应的工具。设计与研制工作的步骤和原理如下所述。
(1) 结构化程序的设计步骤
(2) 结构化程序设计的原理
归纳起来,结构化程序设计的原理主要有:抽象、分解(子目标)、模块化、局部化和信息隐蔽、一致性、完成性和可验证性等。完整性原理要求一个程序系统不丢失任何重要成分,系统无缺省而独立。独立意义的完整性指的是一个系统相对完备,除最基本的运行环境外,不涉及其他系统,可验证性原理则指出分解系统和构造模块时应遵守的另一标准是使各模块和整个系统都能方便测试,从而也利于维护和修改。
5.2 人机界面设计
人机界面设计是接口设计的一个重要组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程一样重要。
5.2.1 设计问题
在设计人机界面的过程中,几乎总会遇到下述4个问题:系统响应时间、用户帮助设施、出错信息处理和命令交互。下面就分别讨论这4个问题。
1.系统响应时间
系统响应时间是许多交互式系统用户经常抱怨的问题。系统响应时间有两个重要属性,分别是长度和易变性。如果响应时间过长用户就会感到紧张和沮丧;响应时间过短,会迫使用户加快操作节奏,从而可能犯错误。
中加计算机132 13416410 刘超
1
软件工程 作业三
1、 简述软件设计阶段的主要工作内容。
答:(1)概要设计:将软件需求转化为系统结构(程序结构、接口)和数据结构。通过仔细分析软件需求规格说明,确定组成系统的模块及各模块之间的关系,设计出完成预定功能的模块结构(软件结构),并建立接口。
(2)详细设计:详细地设计每个模块,即确定完成每个模块功能所需要的算法和数据结构。
2、 软件设计过程中,如何运用模块化原理?
答:用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
3、 什么是模块独立性?软件设计中,如何提高模块独立性?
答:含义:模块独立性是指模块内部各部分之间、以及模块之间关系的一种度量标准。模块软件结构中的每个模块完成一个相对独立的特定子功能,并且和其它模块的接
口是简单的。
提高方法: 改进软件结构,通过分解或合并模块,降低耦合、提高内聚。
4、 简述结构化程序的基本特征。
答:一个程序的代码块仅仅通过顺序、选择和循环三种控制结构进行连接;并且每个代码块只有一个入口和一个出口。
5、商场商品信息管理系统的主要功能为:库房管理员负责商品的存储,及时录入商品的入/出库信息,系统处理商品的变更情况并保存到相关文件,系统定期打印库房商品的库存清单给采购部。 前台销售员负责商品销售,录入商品销售信息,系统处理并保存商品销售信息、为顾客打印购货清单。销售经理可以查询商品销售情况、商品库存情况,并得到相应的统计报表。
下面是表示商品信息管理系统功能的数据流图,请分析数据流图的类型,设计软件结构图并简述相应的设计步骤。
沈 阳 工 业 大 学 共 4 页 第 1页
软件工程 试 题
(2009 / 2010 学年 第 1学期)
一 二 三 四 五 六 七 八 九 十 总分
一、填空提(20分,每空1分)
1、在软件项目进度安排及跟踪方面,常常使用两种图。一种是用来定义任务网络的,做作PERT图;另外一种是用来定义项目时间进度的,叫做( 甘特图 )。
2、结构化分析方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。这些描述工具是:数据字典;( DFD );描述加工逻辑的结构化语言PDL,( 判定表 )和( 判定树 )。
3、在UML中类被表示为一个三栏的矩形,类的(名称 )列在第一栏中,类的( 属性 )列在第二栏中,类的( 方法 )列在第三栏中。
4、( 聚合 )和( 组合 )用于描述事物间“整体/部分”的特殊结构关系,其中( 组合 )使用实心菱形符号。
5、 在用例模型中,若用例A的执行必然激活用例B,则二者之间应定义为( 扩展 )关系,若用例A的执行在某个条件点上激活用例B,二者之间应定义为( 包含 )关系。
6、可用于需求收集和用户通信的主要技术手段包括( 访谈 )、(调查表 )、( 实际观察 )、构造原型、JAD等等。
7、一个模块的( 扇入 )是指能直接控制该模块的模块数。
8、结构化的系统分析方法中,对目标系统的功能域建模主要使用(数据流 )图;对行为域建模主要使用(状态迁移 )图,对数据域建模主要使用(实体关系)图。
9、软件测试阶段的主要依据是( SRS )。
二、选择题(20分,每题2分)