《软件工程》.docx

上传人:b****6 文档编号:6079758 上传时间:2023-01-03 格式:DOCX 页数:52 大小:54.68KB
下载 相关 举报
《软件工程》.docx_第1页
第1页 / 共52页
《软件工程》.docx_第2页
第2页 / 共52页
《软件工程》.docx_第3页
第3页 / 共52页
《软件工程》.docx_第4页
第4页 / 共52页
《软件工程》.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

《软件工程》.docx

《《软件工程》.docx》由会员分享,可在线阅读,更多相关《《软件工程》.docx(52页珍藏版)》请在冰豆网上搜索。

《软件工程》.docx

《软件工程》

《软件工程》串讲讲义

应考指导

一、课程介绍

1、课程性质

《软件工程》是全国高等教育自学考试计算机及应用独立本科段的一门专业课。

软件工程是研究软件开发的一门课程其主要内容包括软件开发所需要的过程、活动和任务以及这些活动和任务的组织、实施和管理。

2、指定教材

本课程指定教材为《软件工程》全国高等教育自学考试指导委员会组编王立福主编机械工业出版社出版2011年版。

新版教材与2000年版相比无论是内容还是内容的组织都有了很大的变化。

整个知识体

系、章节安排、内容选取都不一样这是考生一定要注意的。

新版教材的内容组织特点主要体现在基于对软件开发本质的认识讲解软件工程的两大技术问题一是开发逻辑二是开发途径。

开发逻辑涉及软件生存周期过程、软件生存周期模型有关过程、活动和任务的组织框架以及项目软件生存周期的规划与监控。

开发途径涉及结构化方法和面向对象方法以及支持软件评估所需要的软件测试技术等。

3、章节体系

本课程共有8章

第1章回答什么是软件开发的本质

第2章软件需求与软件需求规约

第3章结构化方法

第4章面向对象方法-UML

第5章面向对象方法-RUP

第6章软件测试。

第7章软件生存周期过程及管理

第8章集成化能力成熟度模型CMMI

二、考情分析

1.历年真题的分布情况

由于教材刚刚经过改版新教材刚经过2011年10月、2012年01月两次考试。

通过对这两次真题的分析各章所占分值的分布情况如下表所示年份章名、题型2011-102012-01

一、绪论单项、填空题3分3分

二、软件需求与软件需求规约911

三、结构化方法单、填、简答、综合25分25分

四、面向对象方法-UML单、填、简答11分11分

五、面向对象方法-RUP单、填、简答12分12分

六、软件测试单、填、简答、综合25分23分

七、软件生存周期过程及管理单、填、简10分10分

八、集成化能力成熟度模型CMMI55

从上面的统计数据可以看出主要的分值分布在第3章和第6章分别占到总分的25%左右。

第1章和第8章的考核知识点相对较少。

2.题型分析

本课程的考试题型分为

1单项选择题共15小题每小题2分共30分

2填空题共20个空每空1分共20分

3简答题共6小题每小题5分共30分

4综合应用题共2题每题10分共20分

3.复习方法

1以教学大纲为准绳。

自学考试的原则是考试范围既不超出大纲又不超出教材范围。

所以考生一定根据教学大纲规定的考试内容和考核要求认真学习教材要全面、系统了解教材中的基本概念、基本知识。

2有的放矢。

在学习的过程中为了达到“事半功倍”要学会“舍”。

要用有限的时间去抓重点对重点内容要进行深入细致的学习。

3注意学习方法理论联系实际注重理解

重视理论联系实际训练并逐渐提高运用所学理论分析和解决实际案例的能力。

考生应当

注意在全面系统学习教材的基础上尽可能多地了解和分析实际案例以便更深刻地领会教材的内容提高分析和解决实际问题的能力。

4合理安排时间抓住学习重点

根据实际情况自己安排利用平时空余时间观看网络课件形成基本的了解。

接下来认真地做一些练习题不清楚的地方再回过头去看看书并注意对不同的知识点进行比较加深印

象。

第一章绪论

复习建议

本章内容较少主要是让大家了解软件工程的提出的背景-软件危机以及软件工程研究的内容。

考试题目类型主要是单项选择题、填空题题量在3%~5%之间。

第一节软件工程概念的提出与发展

1.软件危机

1速度软件的发展水平远远滞后于硬件的发展水平生产率低下软件制造仍然是一种人工集约生产方式

2质量软件的质量低下不能满足用户的需求、适应性差

3成本软件开发成本居高不下

软件开发的速度、软件制品的质量、软件开发成本是软件工程的三个核心问题。

2.软件工程的发展

120世纪60~80年代瀑布模型过程化语言支持工具

220世纪80年代~今软件复用技术软件生产管理面向对象语言

3近几年软件复用技术构件技术、平台技术、需求工程技术、领域分析技术、应用集成技术等。

第二节软件开发的本质

1.软件

软件=程序+文档

2.软件开发的本质“映射”即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

3.系统建模

运用所掌握的知识通过抽象给出系统的一个结构。

4.模型

模型是一个抽象。

模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述。

5.系统模型的类型

1概念模型描述软件是什么

2软件模型实现概念模型的软件解决方案。

包括设计模型、实现模型和部署模型。

第二章需求获取复习建议正确定义问题是解决问题的基础。

需求获取是软件开发的第一步它的工作质量决定了整个软件开发工作的成败因此本章的内容是考核的重点内容。

考核的题目类型主要有单项选择题、填空题、简答题分值在10%左右。

内容以基本概念、基本原理为主。

第一节需求与需求获取

1.需求的定义

一个需求是有关一个“要予构造”的陈述描述了待开发产品/系统功能能力、性能参数或其它性质。

2.需求的基本性质

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可维护性

4用户友好性

7.需求发现的技术

1自悟

2交谈

3观察

4小组会

5提炼

第二节需求规约SRS

1.需求规约的定义★

是一个软件/产品/系统所有需求陈述的正式文档它表达了一个软件/产品/系统的概念模型。

2.需求规约的基本性质★

1重要性和稳定性程度对需求进行分级

2可修改的

3完整的没有被遗漏的需求

4一致的不存在互斥的需求

3.需求规约的格式

IEEE标准830-1998(IEEE1998)描述的需求规格说明书模板。

4.需求规约规格说明书的表达

1非形式化的需求规约

2半形式化的需求规约

3形式化的需求规约

5.需求规约的作用★

1需求规约是软件开发组织和用户之间一份事实上的技术合同书是产品功能及其环境的体现

2需求规约是一个管理控制点

3对于产品/系统的而设计需求规约是一个正式的、受控的起始点

4需求规约是创建产品验收计划和用户指南的基础

第三章结构化方法复习建议自顶向下逐步求精。

本章是整个课程的重点内容其基本思想、基本原理和基本方法是软件工程理论体系中最经典的内容

考核题型涉及单项选择题、填空题、简答题、综合应用题所有题目类型占分值25%左右。

建议考生在牢记基本概念、基本原理的基础上对综合应用题多下工夫多做练习。

第一节结构化需求分析

1.需求分析面临的挑战

1问题空间理解

2人与人之间的通信“有效沟通”

3需求的变化性

2.结构化分析中的基本术语及表示方法

1数据流

2加工

3数据存储

4数据源和数据潭

3.数据流图DFD图★

用于建立系统功能模型。

是一种描述数据变换的图形化工具其中包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。

4.建模过程绘制流程图的过程自顶向下、功能分解

1建立系统环境图

20层图从0层图开始对流程图中的要素编号

31层图

4

【例题】绘制数据流程图2008年10月真题

41.某个学生成绩管理系统的部分功能如下

1基本信息管理教务管理人员输入或修改学期教学执行计划、学生名单和教师名单

2学生选课学生根据教学执行计划进行选课

3分配任课教师教务管理人员为符合开课条件的课程分配教师并打印任课通知单给教师

4成绩管理每门课程的教师在考试评分结束后将考试成绩交给教务管理人员教务管理人员输入、

维护成绩系统可生成成绩单发给学生、成绩统计分析表发给教务管理人员。

请根据要求画出该问题的分层数据流图要求画出顶层和0层数据流图。

【解析】

顶层图只包含数据源/数据潭以及相关的数据流和一个处理。

顶层图

学期教学执行计划学生名单学生选课结果教师信息

0层图

要注意的问题

①黑洞(blackhole)即只有输入而没有输出。

②只有输出而没有输入。

③灰洞(grayhole)即输入不足以产生输出。

灰洞是经常也是不易被察觉的错误。

④加工处理只用来表示数据的处理和变化避免将计算机命令作为处理。

⑤数据流必须起于且/或止于处理即每一个数据流必须有一个处理与之有关数据流不能起于数据存贮且止于一个数据源/数据潭或另一个数据存贮也不能起于某个实体且止于另一个数据源/数据潭或数据存贮。

5.数据字典

定义数据流程图中所有数据流和数据存储的数据结构。

顺序结构+

选择结构|

重复结构{}

子界m..n

6.加工的描述★

选课信息

任课通知单

成绩单

成绩单

成绩单

选课信息

学生成绩

任课通知单

教师

成绩管理系统

学生

基本信息处理

学生选课

学生

成绩录入

教师

任课安排

1判定表

判断表(DecisionTable)也称为决策表是一个二维表它说明了每一种条件组合所产生的结果。

该表分为四个象限(quadrants)。

a)左上限代表所有的条件

b)左下限代表可能的结果

c)右上限代表每一种条件的取值(用Y和N来表示)

d)右下限用X表示所对应的条件组合所产生的结果

【例题】画出顾客购货的折扣政策的决策表。

销售商在给顾客的折扣时要考虑付款日期和交易额这两个因素。

若付款日期在10天以内(含10天)则当交易额超过10,000时给予5的折扣当交易额在5,000到10,000之间(含5,000)时给予3的折扣当交易额低于5,000时没有折扣。

若付款日期超过10天则无论交易额多少均不给任何折扣。

【解析】

2判定树

判断树(DecisionTree)也称为决策树是用来描述在一组不同的条件下决策的行动是根据不同条件及其取值来选择的处理过程。

业务规则的描述通常可以使用判断树这一过程描述工具。

【例题】画出顾客购货的折扣政策的决策树。

销售商在给顾客的折扣时要考虑付款日期和交易额这两个因素。

若付款日期在10天以内(含10天)则当交易额超过10,000时给予5的折扣当交易额在5,000到10,000之间(含5,000)时给予3的折扣当交易额低于5,000时没有折扣。

若付款日期超过10天则无论交易额多少均不给任何折扣。

解析

3结构化语言

【例题】用结构化语言表达顾客购货的折扣政策。

销售商在给顾客的折扣时要考虑付款日期和交易额这两个因素。

若付款日期在10天以内(含10天)则

当交易额超过10,000时给予3的折扣当交易额在5,000到10,000之间(含5,000)时给予2的折扣当交易额低于5,000时没有折扣。

若付款日期超过10天则无论交易额多少均不给任何折扣。

IF付款日期在10日以上

折扣=0

ELSE

IF交易额>=10000

折扣=3%

ELSE

IF交易额>=5000

折扣=2%

ELSE

折扣=0

7.需求验证

1验证每一个需求满足5个性质

2验证需求规格说明书满足4个性质

第二节结构化设计分为总体设计和详细设计

1.总体设计的任务

把系统的功能需求分配到一个特定的软件体系结构中。

2.表达软件体系结构的工具

1模块结构图

2层次图

3HIPO图

3.模块结构图★

结构图(StructureChart)是对软件总体结构的一种图形描述它显示了软件的层次结构、组织和通讯。

也就

是说在结构图中显示了软件是由哪些模块组成的这些模块按照什么样的层次结构组织在一起以及模块

之间通过什么接口联系在一起。

结构图也称之为控制结构图、模块结构图或系统结构图。

1模块符号

2模块调用关系

3模块间的数据传递

4模块间的控制信息传递

5循环调用结构

6选择调用结构

7数据存储

 

4.层次图

层次图中一个矩形框代表一个模块框间的连线表示调用关系位于上方的矩形框所代表的模块调用位

于下方的矩形框所代表的模块。

5.HIPO图

HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。

为了使HIPO图具有可追踪性在H图(即层次图)里除了顶层的方框之外每个方框都加了编号。

H图+IPO图

6.总体设计步骤

将DFD图映射为设计层面的模块及模块调用。

1变换流(TransformFlow)。

基于变换流的数据流程图是一个线性的顺序结构由输入臂、输出臂和变换中心三部分组成。

其中变换中心使系统数据发生本质的变化输入臂将物理输入变换成逻辑输入而输出臂则将逻辑输出变换成物理输出。

2事务流(TransactionFlow)。

事务流的数据流程图中有一个事务处理中心它将输入分为许多相互平行的加工路径然后根据输入的属性选择某一加工路径。

如下图所示。

业务中心完成以下任务

⑴接收事务(即输入数据)

⑵分析每个事务并确定它的类型

⑶根据事务的类型选取一条活动通路。

【例题】控制结构图的绘制

根据数据计算的数据流图

 

画出以转换为中心的控制结构图。

【解析】这是一个典型的以“转换为中心”结构的分解可以转化为

总结任何处理都可以划分为两种转换类型之一以转换为中心的分解和以业务为中心结构的分解。

【例题】产生固定资产资料数据流程图如下做出以业务为中心的模块控制结构图。

输入数据数据求解打印输出

数据计算

输入数据数据求解打印输出

【解析】

这是以业务为中心的处理根据模板可以转化为

7.模块

执行一个特殊任务的一个过程以及相关的数据结构。

模块通常由两部分组成模块接口和模块体。

8.模块化

“分而治之”和“抽象”。

把一个待开发的软件分解成若干个简单的、具有高内聚低耦合的模块这一过程称为模块化。

模块化是系统设计基本原理/原则之一。

9.内聚(Cohesion)

是指一个模块内部个成分之间相互关联程度的度量。

也就是说凝聚是对模块内各处理动作组合强度的一种度量。

很显然一个模块的内聚越大越好。

1偶然凝聚可维护性最差

2逻辑凝聚

3时间凝聚

4过程内聚

5通信内聚

6顺序凝聚

7功能凝聚可维护性最好

10.模块耦合

耦合(coupling)是对两个模块之间联接程度的一种度量。

模块间的依赖程度越大则其耦合程度也就越大

反之模块间的依赖程度越小则其耦合程度也就越小。

很显然为了使软件具有较好的可维护性和可修改性模块间的关联程度即耦合程度应越小越好。

因为耦合程度越小表明模块间的独立程度越大这样在修改一个模块时对其它模块的影响程度就越小从而使模块的修改工作局限于一个最小范围之内。

1内容耦合

2公共耦合

3数据耦合

4控制耦合

5标记耦合

原则是尽量用数据耦合少用控制耦合限制公共耦合的范围避免使用内容耦合。

11.启发式规则

高内聚、低耦合。

1改进软件结构提高软件独立性。

模块分解

2模块规模适中

3力求深度、宽度、扇出、扇入适中。

深度表示其控制的层数。

宽度同一层次上模块总数的最大值。

扇出一个模块直接控制的下级模块的数目。

扇入有多少个上级模块直接调用它。

原则顶层模块扇出比较大中间层模块扇出较小底层模块具有较大的扇入。

4尽量使模块的作用域在其控制域内。

模块的控制域这个模块本身以及所有直接或间接从属它的模块的集合。

模块的作用域受该模块内一个判断所影响的所有模块的集合。

5尽力降低模块接口的复杂度

6力求模块功能可以预测

12.详细设计

具体描述模块结构图中的每一模块即给出实现模块功能的实施机制包括一组例程和数据结构。

13.结构化程序设计方法

一种基于结构的编程方法即采用顺序结构、选择结构和重复结构进行编程其中每一结构只允许一个入口和一个出口。

三种基本的控制结构

(a)顺序结构先执行A再执行B

(b)IF-THEN-ELSE型选择(分支)结构

(c)DO-WHILE型循环结构

14.详细设计工具

1程序流程图

程序流程图程序流程图又称为程序框图它是历史最悠久使用最广泛的描述过程设计的方法然而它也是用得最混乱的一种方法。

2盒图N-S图

出于要有一种不允许违背结构程序设计精神的图形工具的考虑Nassi和Shneiderman提出了盒图又称为N-S图。

(a)顺序(b)IF-THEN-ELSE型分支(c)CASE型多分支

(d)循环(e)调用子程序A

3PAD图

PAD是问题分析图(ProblemAnalysisDiagram)的英文缩写自1973年由日本日立公司发明以后已得到一定程度的推广。

它用二维树形结构的图来表示程序的控制流将这种图翻译成程序代码比较容易。

下图给出PAD图的基本符号。

 

4类程序设计语言PDL

PDL也称为伪码它是用正文形式表示数据和处理过程的设计工具。

PDL具有严格的关键字外部语法用于定义控制结构和数据结构另一方面PDL表示实际操作和条件的内部语法通常又是灵活自由的以便可以适应各种工程项目的需要。

因此一般说来PDL是一种―混杂‖语言它使用一种语言通常是某种自然语言的词汇同时却使用另一种语言某种结构化的程序设计语

言的语法。

可以作为注释工具直接插在源程序中间。

15.设计规约

完整准确地描述满足需求规约所要求的所有功能模块以及伴随功能模块而出现的非功能机制。

设计规约包括概要设计规约和详细设计规约。

1概要设计规约

指明高层软件体系结构。

系统环境

软件模块的结构

模块描述

文件结构和全局数据文件的逻辑结构

测试需求

2详细设计规约

各处理过程的算法

算法所涉及的全部数据结构的描述

【例题】根据下列变换型的数据流图设计出初始软件结构图。

题40图

【答案】

【解析】这是一个典型的变换型数据流程图将其转换为模块控制图时第一层可以分解为三个模块输入

模块、变换模块、输出模块。

每一模块还可以继续分解。

第四章面向对象方法UML复习建议以不变应万变。

统一建模语言UnifiedModelingLanguageUMLUML是目前流行的建模语言特别是在网站开发中广泛应用。

UML涉及很多的图每一种图都有不同的图形符号、作用在什么情况下用何种图来描述是本章的重点内容。

考核题目类型包括单项选择题、填空题、简答题分值在10%~15%之间。

需要考生掌握各种UML图的作用。

面向对象建模过程的步骤

1需求获取

F9F9f5f5

主控模块输入模块变换模块输出模块G

输入A输入B变换C变换D变换E变换F

a)建立用况usecase模型和用况场景

2需求分析

a)建立活动图和状态图

b)类图建立域模型

c)顺序图实现用况

3编写需求规格说明书

4需求验证

第一节UML术语表

1.对象object

对象object是系统中用来描述客观事物的一个实体。

一个对象由一组属性和对这组属性进行操作的一组方法组成。

对象只描述客观事物本质的与系统目标有关的特征。

对象之间通过消息通信一个对象通过向另一个对象发送消息激活某一个功能。

2.类

类Class是具有相同属性、操作、关系和语义的一组对象的集合它为属于该类的全部对象提供了同一的抽象描述其内部包括属性和服务两个主要部分。

类有超类Superclass和子类Subclass之分。

相对而言对象与类的关系犹如程序设计语言中变量和类型的关系。

对象是类的实例Instance。

类在类图上使用包含三个部分的矩形来描述如下图4-1所示。

最上面的部分显示类的名称中间部分包含类的属性最下面的部分包含类的操作或者说"方法"。

图4-1类图中的示例类对象

3.属性

对象或类的属性attributes描述了对象的具体特征。

属性有属性名和属性值或称属性状态。

每条属性可以包括属性的可见性、属性名称、类型、缺省值和约束特性。

UML规定类的属性的语法为可见性属性名类型=缺省值{性质串}

可见性public+、protected#、private-、包内的~

4.类的操作

通常也被称为功能但是它们被约束在类的内部只能作用到该类的对象上。

操作名、返

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1