电大《软件工程》(本科)复习重点难点_第1页
电大《软件工程》(本科)复习重点难点_第2页
电大《软件工程》(本科)复习重点难点_第3页
电大《软件工程》(本科)复习重点难点_第4页
电大《软件工程》(本科)复习重点难点_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广播电视大学软件工程(本科)复习重点难点、

重点要求是以软件工程课程的教学大纲为依据,以文字教材和电视授课内容为基础而编

写的。目的在于使学生理清思路,分清主次。为本课程的期末复习提供参考。

一、各章重点、难点和复习要求说明

第一章软件工程概述

1.重点掌握的内容:软件和软件工程的基本概念

软件:软件定义由以下三部分组成:

(1)在运行中能提供所希望的功能和性能的指令集(即程序);

(2)使程序能够正确运行的数据结构;

(3)描述程序研制过程、方法所用的文挡。

软件是一种产品,同时又是开发和运行产品的载体。作为一种产品,它表达了由计算

机硬件体现的计算潜能。作为开发运行产品的载体,软件是计算机工作的基础、信息通信的

基础,也是创建和控制其他程序的基础。

软件的特点:①软件是•种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中

被创造出来的。③在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。④软件

的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。⑤软件的

开发至今尚未完全摆脱手工的开发方式。⑥软件的开发费用越来越高,成本相当昂贵。

软件的分类:软件依据不同的标准,可划分为不同的分类,详见LL4节。

软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术

和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的

技术方法结合起来。软件工程准则可以概括为六条基本原理:(1)用分阶段的生存周期计划

严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;

(5)应能清楚地审查结果;(6)合理安排软件开发小组的人员。详细阐述见书中1.2.1节。

软件危机:指的是软件开发和维护过程中遇到的一系列严重问题。

软件工程的基本内容:软件工程学的内容可包括理论、结构、方法、工具、环境、管

理、规范等。

2.一般掌握内容:软件生存周期及软件开发的各种模型。

软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫

长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期一般可分为以下

阶段:

•问题定义

•需求分析与可行性研究

•设计

,编码

•测试

•运行与维护

软件生存期也可以分为三个大的阶段:计划阶段。开发阶段和维护阶段。

软件开发模型:软件开发模型是跨越整个软件生存周期的系统开发、运作、维护所实施

的全部工作和任务的结构框架。瀑布模型即生存周期模型,由B.M.Boehm提出,是软件工程

的基础模型。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作。

采用结构化的分析与设计方法,将逻辑实现与物理实现分开。此外,还有螺旋模型、第四代

技术模型、原型模型、构件组装模型、混合模型等软件开发模型。

第二章可行性研究

1.重点掌握的内容:可行性研究的系统流程图

系统流程图:系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以

黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。系统

流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。详见2.3节。

系统流程图的功能:L制作系统流程图的过程是系统分析员全面了解系统业务处理概况的

过程,它是系统分析员作进一步分析的依据。2.系统流程图是系统分析员、管理人员、业

务操作人员相互交流的工具。3.系统分析员可直接利用系统流程图画出可以实现计算机处

理的部分。4.可利用系统流程图来分析业务流程的合理性。

2.一般掌握的内容:可行性研究的任务和步骤,成本效益分析

可行性研究的任务:是用最小的代价在尽可能短的时间内确定问题是否能够解决。一般

说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面研究可行

性。

可行性研究的步骤:可行性研究的步骤分为九个步骤。详见2.2节。

成本效益分析:成本/效益分析的目的是要从经济角度分析开发一个特定的新系统是

否可行,从而帮助使用部门负责人正确地做出是否投资于这项开发工程的决定。几种度量效

益的方法:1.货币的时间价值;2.投资回收期;3.纯收入。

第三章需求分析

1.重点掌握的内容:需求分析的方法和面向数据流的分析方法。

需求分析的方法:需求分析方法由对软件的数据域和功能域的系统分析过程及其表示

方法组成,它定义了表示系统逻辑视图和物理视图的方式,大多数的需求分析方法是由数据

驱动的,也就是说,这些方法提供了一种表示数据域的机制,分析员根据这种表示,确定软

件功能及其他特性,最终建立一个待开发软件的抽象模型,即目标系统的逻辑模型。

面向数据流的需求分析方法:结构化分析方法是面向数据流进行需求分析的方法。结

构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于

数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系

统进行数据与逻辑的抽象。具体来说,结构化分析方法就是用抽象模型的概念,按照软件内

部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件

为止。重点掌握结合实例画数据流图和定义数据字典。详见3.2.2和3.2.3节。

2.一般掌握的内容:需求分析的任务和原则。.

需求分析的任务:它的基本任务是准确地回答“系统必须做什么?”这个问题。需求

分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元

素的接口细节,定义软件的其它有效性需求。需求分析的任务不是确定系统如何完成它的工

作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要

求。其实现步骤如下图所示:

模型化抽象化理解需求

怎么做做什么

具体化实例化

i-i大需求

一般说来,需求分析阶段的任务包括下述几方面:

①确定对系统的综合需求

对系统的综合需求主要有:系统功能需求、系统性能需求、运行需求、将来可能提出的

需求。

②分析系统的数据需求

③导出系统的逻辑模型

就是在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质,明确目标系统要

“做什么”,可以导出系统的详细的逻辑模型。具体做法是:首先确定目标系统与当前系统

的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图(一般为数据流图)及对象图

进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。

通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。

④修正系统开发计划

在经过需求分析阶段的工作,分析员对目标系统有了更深入更具体的认识,因此可以对

系统的成本和进度做出更准确的估计,在此基础上应该对开发计划进行修正。

⑤开发原型系统

使用原型系统的主要目的是,使用户通过实践获得关于未来的系统将怎样为他们工作的

更直接更具体的概念,从而可以更准确地提出和确定他们的要求。

需求分析的步骤:L调查研究;2.分析与综合;3.书写文档;4.需求分析评审

需求分析的原则:其基本原则可概括为:(1)必须能够表达和理解问题的数据域和功

能域;(2)按自顶向下、逐层分解问题:(3)要给出系统的逻辑视图和物理视图:

第四章概要设计

1.重点掌握的内容:概要设计的过程和方法

概要设计任务:

①系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流

程图,组成系统物理元素清单,成本效益分析,系统的进度计戈U,供专家审定,审定后进入

设计。

②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定

模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。

③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,

结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独

立性原则,信息隐蔽原则等。

概要设计过程:概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体

的实施方案;然后进行结构设计,确定软件结构。

软件设计的概念与原则:

①将软件划分成若干独立成分的依据。

②如何表示不同的成分内的功能细节和数据结构。

③如何统一衡量软件设计的技术质量。

其中有儿个概念:1.模块化:就是把程序划分成若干个模块,每个模块具有一个子功能,

把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。2.抽象:就是

抽出事物的本质特性而暂时不考虑它们的细节。3.信息隐蔽:模块中所包括的信息不允许其

它不需要这些信息的模块调用。4.信息局部化:是指把一些关系密切的软件元素物理地放得

彼此靠近。5.模块独立性:是软件系统中每个模块只涉及软件要求的具体子功能,而和软件

系统中其他的模块接口是简单的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念

的直接结果。6.耦合:是对一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于

模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。7.内聚:标志一个模块内

各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。

概要设计的方法:面向数据流的设计方法把信息流映射成软件结构,信息流的类型决

定了映射的方法。面向数据流的设计要解决的任务,就是上述需求分析的基础上,将DFD

图映射为软件系统的结构。换句话说,这类设计方法允许把用DFD图表示的系统逻辑模型

方便地转换成对于软件结构的初始设计描述。理解基本概念:信息流(包括变换流和事务流)、

抽象与逐步求精;模块化与信息隐藏;软件总体结构、数据结构与软件过程。

面向数据结构的分析设计方法:

①Jackson系统开发方法(JSD):Jackson系统开发方法(JSD,JacksonSystem

Development)是一种典型的面向数据结构的分析设计方法,它是以信息驱动的,是将

信息转换成软件的程序结构。详见4.4.1节。

②Warnier方法:Warnier程序设计方法是由法国人J.D.Warnier提出的另一种面向

数据结构的设计方法,又称为逻辑构造程序的方法,简称LCP(LogicalConstruction

ofPrograms)方法。Warnier方法的原理和Jackson方法类似,也是从数据结构出发

设计程序,但是这种方法的逻辑更严格。详见4.4.2节。

2.一般掌握的内容:概要设计的文档与评审

学会撰写概要设计的文档并能评审出概要设计文档是否符合要求。概要设计说明书的

主要内容及结构详见4.5节。

第五章详细设计

1.重点掌握的内容:详细设计的任务和方法

详细设计的任务:详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这

个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。主要任务如下:①为每

个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;

②确定每一模块使用的数据结构;③确定模块接口的细节,包括对系统外部的接口和用户界

面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。④

要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测

试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内

容。

详细设计的方法:程序流程图、N-S图、PAD图、HIPO图

程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达

工具。它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习

掌握。在流程图中只能使用下述的五种基本控制结构。①顺序型;②选择型;③while型

循环;④until型循环;⑤多情况型选择。详见5.2.1节。

N-S图:Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具,

称为盒图,又称为N-S图。在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。

①顺序型;②选择型;③WHILE重复型;④UNTIL重复型;⑤多分支选择型。

PAD图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。PAD也设置了五种

基本控制结构的图示,并允许递归使用。详见5.2.3节。

HIPO图:HIPO图是由一组IPO图加一张IIC图组成。它是美国IBM公司在软件设计中

使用的主要表达工具。

HC图是层次图(Hierarchychart)的英文缩写,用于表示软件的分层结构。HC图中

的每一个模块,均可用一张IPO图来描述。IPO图由输入、处理和输出三个框组成,需要时

还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入一处理一输出三者之

间的联系。

2.一般掌握的内容:详细设计的原则及详细设计规格与评审

详细设计的原则:原则是过程描述是否易于理解、复审和维护,进而过程描述能够自

然地转换成代码,并保证详细设计与代码完全一致。

详细设计规格与评审:详细设计说明书的框架及评审课参阅5.3.1节和5.3.2节。

第六章面向对象的分析和设计方法

1.重点掌握的内容:面向对象的基本概念和特征

面向对象的基本概念:面向对象不仅是一些具体的软件开发技术与策略,而且是一整

套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何

进行系统构造的软件方法学。而面向对象方法是一种运用对象、类、继承、封装、聚合、消

息传送、多态性等概念来构造系统的软件开发方法。面向对象方法的基本思想是,从现实世

界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自

然思维方式。面向对象的几个重要概念:对象、消息、方法性、继承性、封装性等。详见6.1.3

节。

面向对象方法的基本特征:

①从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表

示,并以此作为系统的基本构成单位。

②事物的静态特征(即可以用一些数据来表达的特征)用对象的属性表示,事物的动态

特征(即事物的行为)用对象的服务(或操作)表示。

③对象的属性与服务结合为一体,成为一个独立的实体,对外屏蔽其内部细节(称作封

装。

④对事物进行分类。把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象

描述,每个对象是它的类的一个实例。

⑤通过在不同程度上运用抽象的原则(较多或较少地忽略事物之间的差异),可以得到

较一般的类和较特殊的类。特殊类继承一般类的属性与服务,面向对象方法支持对这种继承

关系的描述与实现,从而简化系统的构造过程及其文档。

⑥复杂的对象可以用简单的对象作为其构成部分,称作聚合。

⑦对象之间通过消息进行通信,以实现对象之间的动态联系。

⑧通过关联表达对象之间的静态关系。

3.一般掌握的内容:面向对象分析与设计方法

面向对象分析方法:目前出现有00A与00D方法。

面向对象设计方法:00A与00D的职责划分是:00A针对问题域运用OO方法,建

立一个反映问题域的00A模型,不考虑与系统的具体实现有关的因素(例如采用什么编程

语言、图形用户界面、数据库等等),从而使00A模型独立于具体的实现。00D则是针对

系统的一个具体的实现运用00方法。其中包括两方面的工作,一是把00A模型直接搬到

OOD(不经过转换,仅作某些必要的修改和调整),作为00D的一个部分;二是针对具体

实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。这些部分与

00A采用相同的表示法和模型结构。

第七章编码

1.重点掌握的内容:程序设计语言的特点、编程风格、程序效率和编程安全

程序设计语言的特点:程序设计语言是人与计算机交流的媒介。软件工程师应该了解程

序设计语言各方面的特点,以及这些特点对软件质量的影响,以便在需要为一个特定的开发

项目选择语言时,能作出合理的技术抉择。其特点表现为九个方面:①名字说明;②类型说

明;③初始化;④程序对象的局部性;⑤程序模块;⑥循环控制结构;⑦分支控制结构;⑧

异常处理;⑨独立编译。

编程风格:编码风格又称程序设计风格或编程风格,实际匕指编程的原则。表现为四个

方面:源程序文档化,数据说明的方法,语句结构和输入/输出方法。

源程序文档化:源程序文档化又可从四个方面来阐述,①符号名的命名;②程序的注释;

③标准的书写格式;

数据说明:数据说明的次序应当规范化。使数据属性容易查找,也有利于测试,排错和

维护。

语句结构:语句构造力求简单、直接,不能为了片面追求效率而使语句复杂化。可从以

下几方面注意:1.使用标准的控制结构;2.尽可能使用库函数;3.程序编写首先应当考

虑清晰性;4.注意使用GOTO语句;

输入/输出方法:输入/输出的方式和格式应当尽量作到对用户友善(UserFriendly),

尽可能方便用户的使用。

程序效率:程序效率是指程序的执行速度及程序占用的存储空间。影响程序效率的因素

是多方面的,详见7.3节。

编程安全:提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在

开发的过程中不让差错潜入软件的技术;另一类是容错技术,即对某些无法避开的差错,使

其影响减至最小的技术;避开错误技术是进行质量管理,实现产品应有质量所必不可少的技

术,也就是软件工程中所讨论的先进的软件分析和开发技术和管理技术。但是,无论使用多

么高明的避开错误技术,也无法做到完美无缺和绝无错误,这就需要采用容错技术。实现容

错的主要手段是冗余和防错程序设计。

2.一般掌握内容:面向对象程序设计步骤

面向对象程序设计步骤:面向对象的设计方法一般适用于软件设计和实现阶段。其基本步骤

是:①建立软件系统的动态模型;②建立软件系统的静态模型;③实现。

第八章软件质量与质量保证

1.重点掌握内容:软件质量的有关概念、结构化的软件测试

软件质量:软件质量是各种特性的复杂组合。软件质量反映了以下三方面的问题:

(1)软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。

(2)在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软

件。如果不遵守这些开发准则,软件质量就得不到保证。

(3)往往会有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。

如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。

软件质量保证策略:为了在软件开发过程中保证软件的质量,主要采取下述措施:

①审查;②复查和管理复审;③测试。详见8.3节。

结构化的软件测试:软件测试在程序员对每一个模块的编码之后先做程序测试,再做单

元测试,然后再进行集成(综合或组装)测试,系统测试,验收(确认)测试,平行测试,

人工测试,其中单元测试的一部分己在编码阶段就开始了。

测试:就是用已知的输入在已知环境中动态地执行系统(或系统的“部件”)。如果测试

结果和预期结果不一致,则很可能是发现了系统中的错误。

软件测试:软件测试是对软件计划、软件设计、软件编码进行查错和纠错的活动(包括

代码执行活动与人工活动)。

程序测试:是对编码阶段的语法错、语义错、运行错进行查找的代码执行活动。找出编

码中错误的代码执行活动称程序测试。纠正编码中的错误的执行活动称程序调试。程序测试

的目的是查找编码错与纠正编码错,保证算法的正确实现。

测试的原则:

(1)测试前要认定被测试软件有错,不要认为软件没有错。

(2)要预先确定被测试软件的测试结果。

(3)要尽量避免测试自己编写的程序。

(4)测试要兼顾合理输入与不合理输入数据。

(5)测试要以软件需求规格说明书为标准。

(6)要明确找到的新错与已找到的旧错成正比。

(7)测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用

例与测试方法。

(8)测试用例留作测试报告与以后的反复测试用,重新验证纠错的程序是否有错。

测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。测试方

法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。

静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结

构检查、流程分析、符号执行来找出软件错误。

动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称

为函数的值域,函数则描述了输入的定义域与输出值域的关系。这样动态测试的算法可归纳

为:

①选取定义域中的有效值,或定义域外无效值。

②对已选取值决定预期的结果。

③用选取值执行程序。

④观察程序行为,记录执行结果。

⑤将④的结果与②的结果相比较,不吻合则程序有错。

动态测试既可以采用白盒法对模块进行逻辑结构的测试,又可以用黑盒法做功能结枸的

测试、接口的测试,都是以执行程序并分析执行结果来查错的。

白盒法:是通过分析程序内部的逻辑与执行路线来设计测试用例,进行测试的方法,白

盒法也称逻辑驱动方法。白盒法的具体设计程序测试用例的方法有:语句覆盖、分支(判定)

覆盖、条件覆盖、路径覆盖(或条件组合覆盖),主要目的是提高测试的覆盖率。

黑盒法:是功能驱动方法,仅根据I/O数据条件来设计测试用例,而不管程序的内部结

构与路径如何。黑盒法的具体设计程序测试用例的方法有:等价类划分法,边界值分析法,

错误推测法,主要目的是设法以最少测试数据子集来尽可能多的测试软件程序的错误。

设计测试方案:测试方案包括预定要测试的功能,应该输入的测试数据和预期的结果,

其中最困难的问题是设计测试用的输入数据(即测试用例)。通常的做法是,用黑盒法设计

基本的测试方案,再用白盒法补充一些方案。详见8.7.2节中的例子。

软件测试的步骤:软件测试的步骤详见8.7,3节中的图8-8测试步骤。

单元测试:单元测试也称模块测试、逻辑测试、结构测试,测试的方法一般采用白盒法,

以路径覆盖为最佳测试准则。

集成测试:单元测试之后便进入组装测试。尽管模拟了驱动模块和存根模块进行单元测

试,由于测试不能穷尽,单元测试又会引入新错误,单元测试后肯定会有隐藏错误,组装不

可能一次成功,必须经测试后才能成功。集成测试分为增式组装测试和非增式组装测试,所

谓非增式组装,按照结构图一次性将各单元模块组装起来。所谓增式组装是指按照结构图自

顶向下或自底向上逐渐安装。

确认测试:确认测试也称合格测试或称验收测试。组装后己成为完整的软件包,消除了

接口的错误。确认测试主要由使用用户参加测试,检验软件规格说明的技术标准的符合程度,

是保证软件质量的最后关键环节。

系统测试:一般的系统除了确认测试外还要做如下儿个方面的系统测试

①恢复测试

通过系统的修复能力,检测重新初始化,数据恢复,重新启动,检验点设置机构是否正

确,以及人工干预的平均恢复时间是否在允许范围内。

②安全测试

设计测试用例,突破软件安全保护的机构安全保密措施,检验系统是否安全保密的漏洞。

③强度测试

设计测试用例,检验系统的能力最高能达到什么实际的限度,让系统处于资源的异常数

量、异常频率、异常批量的条件下运行测试系统的承受能力。一般取比平常限度高5—10

倍的限度做测试用例。

④性能测试

设计测试用例测试并记录软件运行性能,与性能要求比较,看是否达到性能要求规格。

这项测试常常与强度测试相结合进行。

1.一般掌握内容:软件维护过程

软件维护:软件运行/维护阶段对软件产品所进行的修改就是维护。

维护的问题:软件维护存在的绝大多数问题,都是由于软件定义和软件开发的方法有问

题。在软件生命周期的头两个时期没有严格而又科学的管理和规划,几乎必然会导致在最后

阶段出现问题。

软件维护步骤及组织:为了正确、有效地修改,需要经历以下三个步骤:1.分析和理解

程序;2.修改程序:3.重新验证程序;4.维护组织。

第九章项目计划与管理

1.重点掌握的内容:软件项目特点及软件管理功能

软件项目特点:软件产品与其他任何产品不同,它是无形的,完全没有物理属性。其特

点表现为:①智力密集,可见性差;②单件生产:在特定机型上,利用特定硬件配置,由特

定的系统软件或支撑软件的支持,形成了特定的开发环境;③劳动密集,自动化程度低:④

使用方法繁琐,维护困难;⑤软件工作渗透了人的因素。

软件管理的功能:软件管理的主要功能包括:①制定计划:规定待完成的任务、要求、

资源、人力和进度等;②建立组织项目:为实施计划,保证任务的完成,需要建立分工明确

的责任机构;③配备人员:任用各种层次的技术人员和管理人员;④指导:鼓励和动员软件

人员完成所分配的情况。

2.一般掌握的内容:软件配置管理的过程

软件配置管理的过程:软件配置管理SCM除了负担控制变化之外,它还要担负标识单个

的SCI和软件各种版本、审查软件配置以保证开发得以正常进行,以及报告所有加在配置上

的变化等任务。

关于SCM需要考虑这样一些问题:

(1)采用什么方式标识和管理许多已存在的程序的各种版本?使得变化能够有效地实

现。

(2)在软件交付用户之前和之后,如何控制变化?

(3)谁有权批准和对变化安排优先级?

(4)如何保证变化得以正确地实施?

(5)利用什么办法估计变化可能引起的其它问题?

这些问题归结到SCM的五个任务,即标识、版本控制、修改控制、配置审计和配置报告

①标识配置对象

为了控制和管理的方便,所有SCI都应按面向对象的方式命名并组织起来。此时,对象

分为基本对象和组合对象,基本对象指在分析、设计、编码或测试阶段由开发人员创建的某

个“单位正文描述“,复合对象指由若干基本对象和复合对象组合而成的对象,它由“数据模

型”和“模块N”等基本对象组合而成。

每个配置对象都拥有名字、描述、资源列表和实际存在体四个部分。对象名一般为字符

串;对象描述包括若干数据项,它们指明对象的类型(例如,文档、程序还是数据)、所属

工程项目的标志及变动和版本的有关信息;资源列表给出该对象要求、引用、处理和提供的

所有实体,如数据类型、特殊函数等,有时变量也被看作资源;只有基本对象才有实际存在

体,它是指向该对象“单元正文描述”的•个指针,复合对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论