软件工程自考重点难点汇集.pdf
《软件工程自考重点难点汇集.pdf》由会员分享,可在线阅读,更多相关《软件工程自考重点难点汇集.pdf(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.软件工程串讲讲义软件工程串讲讲义 应考指导应考指导一、课程介绍一、课程介绍1 1、课程性质、课程性质软件工程是全国高等教育自学考试计算机及应用(独立本科段)的一门专业课。软件工程是研究软件开发的一门课程,其主要内容包括:软件开发所需要的过程、活动和任务,以及这些活动和任务的组织、实施和管理。2 2、指定教材、指定教材本课程指定教材为软件工程,全国高等教育自学考试指导委员会组编,王立福主编,机械工业出版社出版,2011 年版。新版教材与 2000 年版相比,无论是内容还是内容的组织,都有了很大的变化。整个知识体系、章节安排、内容选取都不一样,这是考生一定要注意的。新版教材的内容组织特点主要体现
2、在:基于对软件开发本质的认识,讲解软件工程的两大技术问题:一是开发逻辑,二是开发途径。开发逻辑涉及软件生存周期过程、软件生存周期模型(有关过程、活动和任务的组织框架)以及项目软件生存周期的规划与监控。开发途径涉及结构化方法和面向对象方法,以及支持软件评估所需要的软件测试技术等。3 3、章节体系、章节体系本课程共有 8 章:第 1 章:回答什么是软件开发的本质第 2 章:软件需求与软件需求规约第 3 章:结构化方法第 4 章:面向对象方法-UML第 5 章:面向对象方法-RUP第 6 章:软件测试。第 7 章:软件生存周期过程及管理第 8 章:集成化能力成熟度模型 CMMI二、考情分析二、考情分
3、析1.历年真题的分布情况由于教材刚刚经过改版,新教材刚经过 2011 年 10 月、2012 年 01 月、2012 年 10 月三次考试。通过对 2011 年 10 月、2012 年 01 月这两次真题的分析,各章所占分值的分布情况如下表所示:.年 份章名、题型一、绪论(单项、填空题)二、软件需求与软件需求规约三、结构化方法(单、填、简答、综合)四、面向对象方法-UML(单、填、简答)五、面向对象方法-RUP(单、填、简答)六、软件测试(单、填、简答、综合)七、软件生存周期过程及管理(单、填、简)八、集成化能力成熟度模型 CMMI2011-103 分925 分11 分12 分25 分10 分
4、2012-013 分1125 分11 分12 分23 分10 分55从上面的统计数据可以看出:主要的分值分布在第 3 章和第 6 章,分别占到总分的 25%左右。第 1 章和第 8 章的考核知识点相对较少。2.题型分析本课程的考试题型分为:(1)单项选择题,共 15 小题,每小题 2 分,共 30 分(2)填空题,共 20 个空,每空 1 分,共 20 分(3)简答题,共 6 小题,每小题 5 分,共 30 分(4)综合应用题,共 2 题,每题 10 分,共 20 分3.复习方法(1)以教学大纲为准绳。自学考试的原则是:考试范围既不超出大纲又不超出教材范围。所以考生一定根据教学大纲规定的考试内
5、容和考核要求,认真学习教材,要全面、系统了解教材中的基本概念、基本知识。(2)有的放矢。在学习的过程中,为了达到“事半功倍”,要学会“舍”。要用有限的时间去抓重点,对重点内容要进行深入细致的学习。(3)注意学习方法,理论联系实际,注重理解重视理论联系实际,训练并逐渐提高运用所学理论分析和解决实际案例的能力。考生应当注意在全面系统学习教材的基础上,尽可能多地了解和分析实际案例,以便更深刻地领会教材的内容,提高分析和解决实际问题的能力。(4)合理安排时间,抓住学习重点根据实际情况自己安排,利用平时空余时间观看网络课件,形成基本的了解。接下来认真.地做一些练习题,不清楚的地方再回过头去看看书,并注意
6、对不同的知识点进行比较,加深印象。第一章第一章绪论绪论复习建议:复习建议:本章内容较少,主要是让大家了解软件工程的提出的背景-软件危机以及软件工程研究的内容。考试题目类型主要是单项选择题、填空题,题量在 3%5%之间。第一节第一节 软件工程概念的提出与发展软件工程概念的提出与发展1.1.软件危机软件危机(1)速度速度:软件的发展水平远远滞后于硬件的发展水平,生产率低下,软件制造仍然是一种人工集约生产方式(2)质量质量:软件的质量低下,不能满足用户的需求、适应性差(3)成本成本:软件开发成本居高不下软件开发的速度、软件制品的质量、软件开发成本是软件工程的三个核心问题。2.2.软件工程的发展软件工
7、程的发展(1)20 世纪 6080 年代瀑布模型;过程化语言;支持工具(2)20 世纪 80 年代今软件复用技术;软件生产管理;面向对象语言(3)近几年软件复用技术:构件技术、平台技术、需求工程技术、领域分析技术、应用集成技术等。第二节第二节 软件开发的本质软件开发的本质1.1.软件软件软件=程序+文档2.软件开发的本质本质:“映射”,即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。3.3.系统建模系统建模运用所掌握的知识,通过抽象,给出系统的一个结构。.4.4.模型模型模型是一个抽象。模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对
8、系统内各模型元素以及它们之间关系的语义描述。5.系统模型的类型(1)概念模型:描述软件是什么(2)软件模型:实现概念模型的软件解决方案。包括设计模型、实现模型和部署模型。第二章 需求获取复习建议:复习建议:正确定义问题,是解决问题的基础。需求获取是软件开发的第一步,它的工作质量决定了整个软件开发工作的成败,因此本章的内容是考核的重点内容。考核的题目类型主要有:单项选择题、填空题、简答题,分值在10%左右。内容以基本概念、基本原理为主。第一节第一节 需求与需求获取需求与需求获取1.需求的定义定义一个需求是有关一个“要予构造”的陈述,描述了待开发产品/系统功能能力、性能参数或其它性质。2.需求的基
9、本性质基本性质(1)必要的(2)无歧义的(3)可测的(4)可跟踪的(5)可测量的3.需求的分类分类(1)功能需求,是整个需求的主体。(2)非功能需求:性能需求、外部接口需求、设计约束和质量属性需求。能够区分能够区分哪些是功能需求,哪些是性能需求。4.接口需求接口需求的类别(1)用户接口(2)硬件接口(3)软件接口.(4)通信接口(5)内存约束(6)运行(7)地点需求5.设计约束设计约束需求(1)法规政策(2)硬件限制(3)与其它应用的接口(4)并发操作(5)审计能力(6)控制功能(7)高级语言要求(8)握手协议(9)应用的关键程度(10)安全和保密6.质量质量属性(1)可靠性(2)存活性(3)
10、可维护性(4)用户友好性7.需求发现需求发现的技术(1)自悟(2)交谈(3)观察(4)小组会(5)提炼第二节第二节 需求规约(需求规约(SRSSRS)1.需求规约的定义定义是一个软件/产品/系统所有需求陈述的正式文档,它表达了一个软件/产品/系统的概念模型。2.需求规约的基本性质基本性质(1)重要性和稳定性程度:对需求进行分级(2)可修改的(3)完整的:没有被遗漏的需求(4)一致的:不存在互斥的需求.3.需求规约的格式格式IEEE 标准 830-1998(IEEE 1998)描述的需求规格说明书模板。4.需求规约(规格说明书)的表达表达(1)非形式化的需求规约(2)半形式化的需求规约(3)形式
11、化的需求规约.5.需求规约的作用作用(1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现(2)需求规约是一个管理控制点(3)对于产品/系统的而设计,需求规约是一个正式的、受控的起始点(4)需求规约是创建产品验收计划和用户指南的基础第三章 结构化方法复习建议:复习建议:自顶向下,逐步求精。本章是整个课程的重点内容,其基本思想、基本原理和基本方法是软件工程理论体系中最经典的内容,考核题型涉及单项选择题、填空题、简答题、综合应用题所有题目类型,占分值25%左右。建议考生在牢记基本概念、基本原理的基础上,对综合应用题多下工夫,多做练习。第一节 结构化需求分析1.需求分
12、析面临的挑战挑战(1)问题空间理解(2)人与人之间的通信,“有效沟通”(3)需求的变化性2.结构化分析中的基本术语及表示方法术语及表示方法(1)数据流(2)加工(3)数据存储(4)数据源和数据潭3.数据流图数据流图 DFDDFD 图图用于建立系统功能功能模型。.是一种描述数据变换的图形化工具,其中包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。4.建模过程(绘制流程图的过程)自顶向下、功能分解(1)建立系统环境图(2)0 层图:从 0 层图开始对流程图中的要素编号(3)1 层图(4)【例题】绘制数据流程图(2008 年 10 月真题)41.某个学生成绩管理系统的部分功能如下:(1)基
13、本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;(2)学生选课:学生根据教学执行计划进行选课;(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。请根据要求画出该问题的分层数据流图(要求画出顶层和0 层数据流图)。【解析】顶层图:只包含数据源/数据潭以及相关的数据流和一个处理。顶层图学期教学执行计划学生名单学生选课结果教师信息0 层图成绩录入基本信息处理学生选课任课安排选
14、课信息成绩单任课通知单学生教师成绩单教师任课通知单学生成绩成绩管理系统选课信息成绩单学生.要注意的问题:黑洞(black hole),即只有输入而没有输出。只有输出而没有输入。灰洞(gray hole),即输入不足以产生输出。灰洞是经常也是不易被察觉的错误。加工处理只用来表示数据的处理和变化,避免将计算机命令作为处理。数据流必须起于且/或止于处理,即每一个数据流必须有一个处理与之有关,数据流不能起于数据存贮且止于一个数据源/数据潭或另一个数据存贮;也不能起于某个实体且止于另一个数据源/数据潭或数据存贮。5.5.数据字典数据字典定义数据流程图中所有数据流和数据存储的数据结构。顺序结构:+选择结构
15、:|重复结构:子界:m.n6.加工加工的描述(1)判定表判断表(Decision Table)也称为决策表,是一个二维表,它说明了每一种条件组合所产生的结果。该表分为四个象限(quadrants)。a)左上限代表所有的条件b)左下限代表可能的结果c)右上限代表每一种条件的取值(用 Y 和 N 来表示)d)右下限用 X 表示所对应的条件组合所产生的结果【例题】画出顾客购货的折扣政策的决策表。销售商在给顾客的折扣时,要考虑付款日期和交易额这两个因素。若付款日期在10 天以内(含 10 天),则当交易额超过¥10,000 时,给予 5的折扣;当交易额在¥5,000 到¥10,000 之间(含¥5,0
16、00)时,给予 3的折扣;当交易额低于¥5,000 时,没有折扣。若付款日期超过 10 天,则无论交易额多少,均不给任何折扣。【解析】.(2)判定树判断树(Decision Tree)也称为决策树,是用来描述在一组不同的条件下,决策的行动是根据不同条件及其取值来选择的处理过程。业务规则的描述通常可以使用判断树这一过程描述工具。【例题】画出顾客购货的折扣政策的决策树。销售商在给顾客的折扣时,要考虑付款日期和交易额这两个因素。若付款日期在10 天以内(含 10 天),则当交易额超过¥10,000 时,给予 5的折扣;当交易额在¥5,000 到¥10,000 之间(含¥5,000)时,给予 3的折扣
17、;当交易额低于¥5,000 时,没有折扣。若付款日期超过 10 天,则无论交易额多少,均不给任何折扣。解析:.(3)结构化语言【例题】用结构化语言表达:顾客购货的折扣政策。销售商在给顾客的折扣时,要考虑付款日期和交易额这两个因素。若付款日期在10 天以内(含 10 天),则当交易额超过¥10,000 时,给予 3的折扣;当交易额在¥5,000 到¥10,000 之间(含¥5,000)时,给予 2的折扣;当交易额低于¥5,000 时,没有折扣。若付款日期超过 10 天,则无论交易额多少,均不给任何折扣。IF 付款日期在 10 日以上折扣=0ELSE IF 交易额=10000折扣=3%ELSE I
18、F 交易额=5000折扣=2%ELSE折扣=07.需求验证(1)验证每一个需求满足 5 个性质(2)验证需求规格说明书满足4 个性质第二节 结构化设计分为总体设计和详细设计1.总体设计的任务任务把系统的功能需求分配到一个特定的软件体系结构中。2.表达软件体系结构的工具工具(1)模块结构图(2)层次图(3)HIPO 图3.3.模块结构图模块结构图结构图(Structure Chart)是对软件总体结构的一种图形描述,它显示了软件的层次结构、组织和通讯。也就是说,在结构图中,显示了软件是由哪些模块组成的,这些模块按照什么样的层次结构组织在一起以及模块之间通过什么接口联系在一起。结构图也称之为控制结
19、构图、模块结构图或系统结构图。.(1)模块符号(2)模块调用关系(3)模块间的数据传递(4)模块间的控制信息传递(5)循环调用结构(6)选择调用结构(7)数据存储4.层次图层次图中一个矩形框代表一个模块,框间的连线表示调用关系(位于上方的矩形框所代表的模块调用位于下方的矩形框所代表的模块)。5.HIPO 图HIPO 图是美国 IBM 公司发明的“层次图加输入/处理/输出图”的英文缩写。为了使 HIPO 图具有可追踪.性,在 H 图(即层次图)里除了顶层的方框之外,每个方框都加了编号。H 图+IPO 图6.总体设计步骤步骤将 DFD 图映射为设计层面的模块及模块调用。(1)变换流变换流(Tran
20、sform Flow)。基于变换流的数据流程图是一个线性的顺序结构,由输入臂、输出臂和变换中心三部分组成。其中变换中心使系统数据发生本质的变化,输入臂将物理输入变换成逻辑输入,而输出臂则将逻辑输出变换成物理输出。(2)事务流事务流(Transaction Flow)。事务流的数据流程图中有一个事务处理中心,它将输入分为许多相互平行的加工路径,然后根据输入的属性,选择某一加工路径。如下图所示。业务中心完成以下任务:接收事务(即输入数据);分析每个事务并确定它的类型;根据事务的类型选取一条活动通路。.【例题】控制结构图的绘制根据数据计算的数据流图:画出以转换为中心的控制结构图。【解析】这是一个典型
21、的以“转换为中心”结构的分解,可以转化为:总结:任何处理都可以划分为两种转换类型之一:以转换为中心的分解和以业务为中心结构的分解。输入数据数据求解打印输出数据计算输入数据数据求解打印输出.【例题】【例题】产生固定资产资料数据流程图如下,做出以业务为中心的模块控制结构图。【解析】这是以业务为中心的处理,根据模板,可以转化为:7.7.模块模块执行一个特殊任务的一个过程以及相关的数据结构。模块通常由两部分组成:模块接口和模块体。8.8.模块化模块化“分而治之”和“抽象”。把一个待开发的软件分解成若干个简单的、具有高内聚低耦合的模块,这一过程称为模块化。模块化是系统设计基本原理/原则之一。9.内聚(C
22、ohesion)是指一个模块内部个成分之间相互关联程度的度量。也就是说,凝聚是对模块内各处理动作组合强度的一种度量。很显然,一个模块的内聚越大越好。固定资产卡片资产变动表折旧汇总表固定资产明细表报表类型报表调度报表制作.(1)偶然凝聚可维护性最差(2)逻辑凝聚(3)时间凝聚(4)过程内聚(5)通信内聚(6)顺序凝聚(7)功能凝聚 可维护性最好10.模块耦合耦合耦合耦合(coupling)是对两个模块之间联接程度的一种度量。模块间的依赖程度越大,则其耦合程度也就越大;反之,模块间的依赖程度越小,则其耦合程度也就越小。很显然,为了使软件具有较好的可维护性和可修改性,模块间的关联程度即耦合程度应越小
23、越好。因为耦合程度越小,表明模块间的独立程度越大,这样在修改一个模块时,对其它模块的影响程度就越小,从而使模块的修改工作局限于一个最小范围之内。(1)内容耦合(2)公共耦合(3)数据耦合(4)控制耦合(5)标记耦合原则是:尽量用数据耦合,少用控制耦合,限制公共耦合的范围,避免使用内容耦合。11.11.启发式规则启发式规则高内聚、低耦合。(1)改进软件结构,提高软件独立性。模块分解(2)模块规模适中(3)力求深度、宽度、扇出、扇入适中。深度:表示其控制的层数。宽度:同一层次上模块总数的最大值。扇出:一个模块直接控制的下级模块的数目。扇入:有多少个上级模块直接调用它。原则:顶层模块扇出比较大,中间
24、层模块扇出较小,底层模块具有较大的扇入。(4)尽量使模块的作用域在其控制域内。模块的控制域:这个模块本身以及所有直接或间接从属它的模块的集合。模块的作用域:受该模块内一个判断所影响的所有模块的集合。(5)尽力降低模块接口的复杂度(6)力求模块功能可以预测12.12.详细设计详细设计具体描述模块结构图中的每一模块,即给出实现模块功能的实施机制,包括一组例程和数据结构。.13.结构化结构化程序设计方法一种基于结构的编程方法,即采用顺序结构、选择结构和重复结构进行编程,其中每一结构只允许一个入口和一个出口。三种基本的控制结构:(a)顺序结构,先执行 A 再执行 B(b)IF-THEN-ELSE 型选
25、择(分支)(c)DO-WHILE 型循环结构14.14.详细设计工具详细设计工具(1)程序流程图程序流程图:程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法。(2)盒图(N-S 图)出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi 和 Shneiderman 提出了盒图,又称为 N-S 图。.(a)顺序;(b)IF-THEN-ELSE 型分支;(c)CASE 型多分支;(d)循环;(e)调用子程序 A(3)PAD 图PAD 是问题分析图(Problem Analysis Diagram)的英文缩写,自 1973 年由日本日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 自考 重点难点 汇集
限制150内