软件工程课件第四章
- 格式:ppt
- 大小:566.55 KB
- 文档页数:65


第三章 软件工程基础
经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是软件生命周期、软件设计的基本原理,软件测试的目的、软件调试的基本概念,读者应对此部分进行重点学习。
详细重点学习知识点:
1.软件的概念、软件生命周期的概念及各阶段所包含的活动
2.概要设计与详细设计的概念、模块独立性及其度量的标准、详细设计常用的工具
3.软件测试的目的、软件测试的4个步骤、
4.软件调试的任务
3.1软件工程基本概念
考点1 软件定义与软件特点
考试链接:
考点1在笔试考试中,是一个经常考查的内容,考核的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件的定义,特点及其分类。
软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。数据是使程序能正常操纵信息的数据结构。文档是与程序的开发、维护和使用有关的图文资料。可见,软件由两部分组成:
(1)机器可执行的程序和数据;
(2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。
软件的特点:
(1)软件是逻辑实体,而不是物理实体,具有抽象性;
(2)没有明显的制作过程,可进行大量的复制;
(3)使用期间不存在磨损、老化问题;
(4)软件的开发、运行对计算机系统具有依赖性;
(5)软件复杂性高,成本昂贵;
(6)软件开发涉及诸多社会因素。
根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)。
小提示:应用软件是为解决特定领域的应用而开发的软件;系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;支撑软件是介于两者之间,协助用户开发软件的工具性软件。
考点2 软件工程过程与软件生命周期
考试链接:
考点2在笔试考试中,在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件生命周期 的定义,主要活动阶段及其任务。
《软件工程模拟试题及参考答案》(一)
一、单向选择题(四选一、每小题3分,共18分)
1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。
对应
映射
反映
反射
2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。0802
流程图
框图
判定表
N-S图
3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。1001
程序
数据
逻辑
物理
4、人机界面的风格大致经过了(B)代的演变。
三
四
五
六
5、以下不属于白盒测试技术的是(D)1402
逻辑覆盖
基本路径测试
循环覆盖测试
等价类划分
6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。1501
纠错性维护
适应性维护
改善性维护
预防性维护
二、填空题(每空2分,共18分)
1. 文档—一种数据媒体和其上所记录的(数据)。0101
2. 机器语言、汇编语言:依赖于机器,面向(机器)0101
3. 软件有效性,指软件系统的时间和(空间)效率。0103
4. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。0103
5. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。0103
6. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。0402
7. 一个软件的深度是指其控制的(层数)。0801
8. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。1301
9. 软件维护是软件生命周期的(最后)一个阶段。1501
三、判断题(每小题2分,共24分,错误打X、正确打√)
1. 缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一。(√)0102
第四章——软件需求工程
1.软件需求的定义:
a)用户为解决某一问题或为达到某个目标所需要的条件或能力。(需方)
b)系统或系统部件为满足合同、标准、规格说明或其他正式的强制性文档所必须具有的条件或能力。(供方)
对在a) 和b) 中所描述的条件或能力的文档化说明。
2.软件需求的层次:
软件需求包括 3 个不同的层次:业务需求、用户需求、功能需求和非功能需求。
3.软件需求工程的过程:
1)获得当前系统的具体物理模型。
2)抽象出当前系统的逻辑模型。
3)建立目标系统的逻辑模型。
4)转化为目标系统的物理模型。
4.需求获取的任务
1)发现和分析问题:发现问题症结,并分析问题的原因/结果关系。
2)使用调查研究的方法收集信息。
3)遵循需求获取框架,按照数据、过程和接口这三个成分观察问题的不同侧面。
4)需求文档化:以草稿形式将调查结果制成文档。
5.需求获取的过程
1)开发高层的业务模型
2)定义项目的视图和范围
3)寻求需求的来源
4)识别用户类和用户代表
5)确定目标系统的业务工作流
6)需求的整理与描述
6.逆向沟通:就是在需求调研的过程中,除了了解用户的情况外,同时还要向用户反馈。提出一些建议,供用户参考。
逆向沟通主要考虑如下几个方面:
1)所提出的业务需求是否符合行业的规范
2)展望系统发展环境,留有适当的扩展接口
3)探索适合于信息化的工作流程
4)合理使用批处理方式
5)留有操作痕迹以便于回溯
6)重要流程有校验的功能
7.传统的分析建模方法: 常用的分析模型有数据建模、功能建模和过程建模。
数据建模,E-R 图的建立步骤:
1)在捕获需求的过程中。要求用户列出应用或业务过程涉及的所有“事物”。这些事物将来可能会演变为一系列的输入/输出数据实体以及生产和消费信息的外部实体。
2)一次考虑一个数据实体。分析人员和用户共同确认这个实体,并考虑与其他实体之间是否存在连接。
3)当存在连接时,分析员和用户应创建一个或多个对。
中加计算机132 13416410 刘超
1
软件工程 作业三
1、 简述软件设计阶段的主要工作内容。
答:(1)概要设计:将软件需求转化为系统结构(程序结构、接口)和数据结构。通过仔细分析软件需求规格说明,确定组成系统的模块及各模块之间的关系,设计出完成预定功能的模块结构(软件结构),并建立接口。
(2)详细设计:详细地设计每个模块,即确定完成每个模块功能所需要的算法和数据结构。
2、 软件设计过程中,如何运用模块化原理?
答:用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
3、 什么是模块独立性?软件设计中,如何提高模块独立性?
答:含义:模块独立性是指模块内部各部分之间、以及模块之间关系的一种度量标准。模块软件结构中的每个模块完成一个相对独立的特定子功能,并且和其它模块的接
口是简单的。
提高方法: 改进软件结构,通过分解或合并模块,降低耦合、提高内聚。
4、 简述结构化程序的基本特征。
答:一个程序的代码块仅仅通过顺序、选择和循环三种控制结构进行连接;并且每个代码块只有一个入口和一个出口。
5、商场商品信息管理系统的主要功能为:库房管理员负责商品的存储,及时录入商品的入/出库信息,系统处理商品的变更情况并保存到相关文件,系统定期打印库房商品的库存清单给采购部。 前台销售员负责商品销售,录入商品销售信息,系统处理并保存商品销售信息、为顾客打印购货清单。销售经理可以查询商品销售情况、商品库存情况,并得到相应的统计报表。
下面是表示商品信息管理系统功能的数据流图,请分析数据流图的类型,设计软件结构图并简述相应的设计步骤。