软件工程第02章
- 格式:ppt
- 大小:1.03 MB
- 文档页数:193


第三章 软件工程基础
经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是软件生命周期、软件设计的基本原理,软件测试的目的、软件调试的基本概念,读者应对此部分进行重点学习。
详细重点学习知识点:
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.系统响应时间
系统响应时间是许多交互式系统用户经常抱怨的问题。系统响应时间有两个重要属性,分别是长度和易变性。如果响应时间过长用户就会感到紧张和沮丧;响应时间过短,会迫使用户加快操作节奏,从而可能犯错误。
第 1 页 共 6 页 第四章习题
一、单项选择题(每题1分)
1.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。
A.需求不确定性高的
B.需求确定的
C.管理信息
D.实时
2.原型化方法是一种_______型的设计过程。
A.自外向内
B.自顶向下
C.自内向外
D.自底向上
二、填空题(每题2分)
1.在JSP方法中解决结构冲突的具体办法是__________________。
2、 两个模块都是用同一张表,这种耦合称为____________。
3、 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为_______。
4、 一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为________。
5、软件项目计划是可行性研究阶段的结果产品。但由于可行性研究是在高层次进行系统分析,未能考虑软件系统开发的细节情节,因此_________一般在需求分析阶段完成后才定稿的。
6、_______指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。
7、 同一个类中的共享是指同一个类中的对象有着相同的_______和相同的_______。
8、 通过____,可以确定组成软件的过程实体。通过______,可以定义和实施对模块的过程细节和局部数据结构的存取限制。
9、 ______图描述分层图中一个模块的输入、输出和处理内容。
10、 基于IDEF0图的设计也是结构化设计技术之一,它以系统的功能模型和信息结构为基础设计______。
11、 ________图是描述物理模型的传统工具,用图形符号表示系统中各个元素,表达了系统中各种元素之间的信息流动情况。
12、 _____是用来代替被测试模块所调用的模块,它的作用是返回被测模块所需的信息。
中加计算机132 13416410 刘超
1
软件工程 作业三
1、 简述软件设计阶段的主要工作内容。
答:(1)概要设计:将软件需求转化为系统结构(程序结构、接口)和数据结构。通过仔细分析软件需求规格说明,确定组成系统的模块及各模块之间的关系,设计出完成预定功能的模块结构(软件结构),并建立接口。
(2)详细设计:详细地设计每个模块,即确定完成每个模块功能所需要的算法和数据结构。
2、 软件设计过程中,如何运用模块化原理?
答:用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
3、 什么是模块独立性?软件设计中,如何提高模块独立性?
答:含义:模块独立性是指模块内部各部分之间、以及模块之间关系的一种度量标准。模块软件结构中的每个模块完成一个相对独立的特定子功能,并且和其它模块的接
口是简单的。
提高方法: 改进软件结构,通过分解或合并模块,降低耦合、提高内聚。
4、 简述结构化程序的基本特征。
答:一个程序的代码块仅仅通过顺序、选择和循环三种控制结构进行连接;并且每个代码块只有一个入口和一个出口。
5、商场商品信息管理系统的主要功能为:库房管理员负责商品的存储,及时录入商品的入/出库信息,系统处理商品的变更情况并保存到相关文件,系统定期打印库房商品的库存清单给采购部。 前台销售员负责商品销售,录入商品销售信息,系统处理并保存商品销售信息、为顾客打印购货清单。销售经理可以查询商品销售情况、商品库存情况,并得到相应的统计报表。
下面是表示商品信息管理系统功能的数据流图,请分析数据流图的类型,设计软件结构图并简述相应的设计步骤。