软件工程期末复习资料
软件工程期末考试复习资料1
软件工程期末考试复习资料1版权声明:本文版权归05112114、05112125 所有,未经许可,任何任何媒体均不得改变其形式,进行转载或摘录,违者必究!软件工程期末考试复习资料一(仅参考)拟订人:超越吉他手、朱古力、哖_少オ輕狂第一章:软件工程的产生和发展有关复习资料一、软件工程的定义:1、软件危机的产生:软件危机的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。
2、软件危机主要表现:两个方面:①软件产品质量低劣,甚至开发过程就夭折②软件生产率低,不能满足需要3、软件工程的三要素:①方法:完成软件开发各项任务的技术方法②工具:研究支撑软件开发方法的工具③过程:为开发高质量软件所规定的各项任务的工作步骤4、软件工程研究的标准及目标:标准:分为4个层次,国际标准、行业标准、企业规划、项目规划目标:以较少的投资获取高质量的软件。
有易于维护、低的开发成本、高性能、缩短开发期5、软件工程研究的主要内容:以下两个方面:①软件开发方法、技术;软件开发工具及环境②软件管理技术、软件规范(国际规范)7、软件工程学的目的:①以较少的投资获取高质量的软件②运用科学的方法和工程化的规范管理来指导软件开发③克服软件危机8、软件工程的基本原则:如下4条基本原则①必须认识软件需求的变动性,采取适当措施来保证结果产品能忠实地满足用户需求②稳妥的设计方法大大地方便了软件开发,以达到软件工程的目标③软件工程项目的质量与经济开销直接取决于对它所提供的支撑的质量与效用④有效的软件工程只有在对软件过程进行有效管理的情况下才能实现9、软件工程过程及特性:是指在软件工具的支持下,所进行的一系列软件工程活动包括4类基本过程:1)软件规格说明书2)软件开发3)软件确认4)软件演进特性:可理解性、可见性、可靠性、可支持性、可维护性、可接受性、开发效率和健壮性等。
二、软件与软件生存周期1、软件的概念和特点1)概念:软件是程序以及开发使用维护程序所需的所有文档2)软件的构成:由应用程序、系统程序、面向用户的文档及面向开发者的文档4部分构成即:软件=程序+文档3)特点:①软件是一种逻辑实体,不是具体的物理实体②软件产品的生产主要是研制③软件具有复杂性,开发和运行常受到计算机系统的限制、④软件成本昂贵,开发方式还没完全摆脱手工生产方式⑤软件不存在老化和磨损,存在在退化问题2、软件的分类1)按照软件功能划分①系统软件②支撑软件③应用软件2)按照软件规模划分微型、小型、中型、大型、甚大型、极大型3)按照软件工作方式划分实时处理软件、交互式软件、批处理软件4)按照软件服务对象的范围划分项目软件、产品软件3、软件结构及结构图衡量软件结构的有关指标:1)深度2)宽度3)扇出数扇入数软件结构的形态准则:顶部宽度小,中部宽度大,底部宽度次之;在顶部有较高的扇出数底部有较高的扇入数软件结构:1)模块(构成软件系统结构的基本元素)2)模块化3)软件的层次结构4)树状结构:特点是是程序的主模块、整个结构只有一个顶层模块、也只有一个上级模块、同一层模块之间没有横向联系5)网状结构:特点是任何两个模块之间有双向的关系、都是平等的结构图的构成:主要有模块、调用、数据4、软件生存期有关资料1)定义:是指从软件开始开发到报废的全过程,亦称软件生存期(l i f e c y c l e)。
软件工程期末复习
软件工程期末复习软件工程期末复习————————————————————————————————作者:————————————————————————————————日期:一基本概念1简述1983年IEEE为软件下的定义。
5822926计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。
2简述软件危机的表现有哪些?以及解决软件危机的途径有哪些?软件危机的主要表现包括:(1) 软件开发进度难以预测,开发成本难以控制,导致超预算、超时;(2) 产品功能难以满足用户需求;(3) 软件产品质量无法保证;(4) 软件缺少适当的文档资料,维护困难;(5) 软件成本超过硬件成本;(6) 软件开发生产率的提高速度跟不上计算机应用普及深入的趋势;解决软件危机的途径有:1管理措施:项目管理、配置管理、过程管理、质量控制2技术措施:开发过程、开发技术与方法和开发工具3 软件工程的定义1993年IEEE给出的定义:软件工程是:①系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
”软件工程是围绕软件开发的一门交叉学科:软件工程=计算机科学+工程学+管理学4 软件工程的10个知识领域软件工程过程( Software Engineering Process)软件工程工具和方法( Software Engineering Tools and Methods )软件需求(Software Requirement)l软件设计(Software Design )软件构造(Software Construction)软件测试(Software Testing)软件维护(Software Maintenance)软件配置管理(Software Configuration management)软件工程管理( Software Engineering management )软件质量( Software Quality)5 软件工程的目标是什么,软件工程的三要素都是什么?软件工程的目标:软件工程必须以有组织的质量保证为基础,进行全面质量管理,不断地过程改进使软件工程方法走向成熟。
软件工程期末复习资料非常全
1、下列哪一模型是软件的基础模型A.瀑布模型B.快速原型C.增量模型D.螺旋模型2、划分软件生存周期的阶段时所应遵循的基本原则是A.各阶段的任务尽可能相对独立B.各阶段的任务在时间上连续C.各阶段的任务尽可能相关性D.各阶段的任务在时间上相对独立3、下列哪个办法不属于解决软件危机的途径之一A.采用软件工程的解决途径B.研制新一代智能计算机C.采用面向对象的软件设计方法D.大力扶持软件企业4、下列哪个不属于软件工程的内涵之一A.扶持培养软件高手的学院B.开发既可靠又能有效运行的软件C.应用完善的科学与工程原理D.经济地开发软件5.造成大型软件开发困难的根本原因在于A.开发人员缺乏足够的开发经验B.项目开发进度不合理C.软件系统的复杂性D.对软件开发的资金投入不足6.软件会逐渐退化而不会磨损,其原因在于A.软件备件很难订购B.不断的变更使组件接口之间引起错误C.软件错误在经常使用之后会逐渐增加D.软件通常暴露在恶劣的环境下7.下面说法正确的是A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功D.购买大多数计算机系统所需的硬件比软件更昂贵8.Ariane 5火箭发射失败的事例告诉我们A.(2)软件后备系统可以通过复制生成B.(3)软件重用必须重新进行系统论证和系统测试C. 选项(1)和(3)D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是A.软件本身的特点及开发方法。
B.软件工具落后。
C.软件生产能力不足。
D.对软件的认识不够。
10.下面的描述正确的是A.软件质量是在开发过程中逐渐构建起来的。
B.软件质量是由产品的功能、性能、易用性等外在特性决定的。
C.运行正确的软件就是高质量的软件。
D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。
《软件工程》期末复习
软件工程期末复习一.填空1.计算机软件经历了____________和____________,________ 阶段。
2 数据域有三种属性_______,________和___________。
3.数据库流程图的基本步骤是_________________ ,_________________ ,___________和_______________________________ 。
4.用JACKSON图即可以表示_____________结构,又可以表示________________结构。
5. 模块独立的准则是________和______,________________较强的模块要求高_______________模块要求低。
6.软件结构:一为 ____________结构,二为________结构。
7.软件可靠性的主要指标有 ____________________及____________________。
8.一般来说,应该从____________和____________,________,___________ 四个方面研究目标系统的可行性.。
9 .数据处理问题典型类型是___和_____.10.软件工程包括三个要素______________ ,____________和______________.11 第____代语言兼有过程和非过程二重性.12.动态测试分________和__________测试13. 内聚性的七种类型是________,__,___,____,____,___,_____14.菜单可以按照______分类和______分类15 系统模型的建立可包括______和_________阶段.16.从工程管理角度看,软件设计分二步完成,首先__________然后______________.17.系统结构图中的四种类型的模型是:__,___,_______,____,18.软件测试分四个步骤:_____,_____,____ 和_______1耩合性的七种类型是_____,_____,_____,_____,____,_______及___ 耩合。
软件工程导论 期末复习
第一章软件工程学概述1.什么是软件危机(概念)在计算机软件的开发和维护过程中所遇到的一系列严重问题2.软件工程学科出现的主要原因:软件危机的出现3.什么是软件工程?(概念)①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
4.简述结构化范型和面向对象范型的要点,并分析他们的优缺点目前使用得最广泛的软件工程方法学(2种):⑴传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
⑵面向对象方法学优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
5.软件生命周期每个阶段的基本任务问题定义:准确地回答“要解决的问题是什么”可行性研究:确定问题是否值得去解决需求分析:准确地回答“系统必须做什么”总体设计:设计出实现目标系统的几种可能的方案确定程序由哪些模块组成以与模块间的关系详细设计:把解法具体化(设计出程序的详细规格说明)编码和单元测试:写出正确的容易理解、容易维护的程序模块综合测试:通过各种类型测试(与相应的调试)使软件达到预期的要求软件维护:通过各种必要的维护活动使系统持久地满足用户的需要软件生命周期划分成哪些阶段软件生命周期由软件定义、软件开发和运行维护(也成为软件维护)3个时期组成软件定义时期:问题定义、可行性研究和需求分析软件开发时期:总体设计、详细设计、编码和单元测试、综合测试软件维护时期6.什么是软件过程?(概念)为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤7.常见的软件生存周期模型(了解)1.瀑布模型——阶段化过程特点:具有顺序性和依赖性缺点:是由文档驱动的。
软件工程期末复习资料
软件工程复习资料一、选择题,请从四个可选项中选择正确答案。
1. 软件工程学科出现的主要原因是()。
A. 计算机的发展B. 其他工程科学的影响C. 软件危机的出现D. 程序设计方法学的影响2. ()是职业软件工程师的必要条件。
A•自律、善于沟通、具有一定的软件技能 B.编程速度快C.熟悉众多的软件环境D.语言天赋3. 在E-R模型中,包含以下基本成分()。
A. 数据、对象、实体B.控制、联系、对象C.实体、属性、联系D.实体、数据、联系4•软件需求分析产生一个重要文档是()。
A. 软件维护说明书B. 需求规格说明书C.可行性报告D. 初步用户手册5.聚程度较低的是()。
A. 通信聚B.过程聚C.顺序聚D. 时间聚6•概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()A. 把软件划分成模块B 确定模块之间的调用关系C.确定各个模块的功能D. 设计每个模块的伪代码7、程序流程图与数据流程图的关系()。
A. 不确定B •数据流程图可以转换成程序流程图C.数据调用关系 D .程序流程图可以转换成数据流程图8. 对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A .结合B.隐藏C.封装D.抽象9.类有3种类型,即()°A.边界类、实体类、控制类B.实体类、控制类、界面类C.控制类、实体类、虚类D.界面类、控制类、公共类10. ()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。
A. 消息连接B.参数传递C.方法重写D. 继承11、软件工程的研究容具有层次化结构,最底层是质量保证层,中间层是(),最上层是工具层。
A. 过程层B.方法层C.过程层和方法层D.系统层12、可行性研究的四大要素是()。
A. 经济、技术、法律和社会环境B. 经济、技术、开发组织能力和领导者水平C. 经济、技术、计算机硬件环境和网络带宽D. 经济、技术、软件开发工具和人员的稳定性13、针对需求不确定的软件开发,比较好的模型是()。
软件工程基础期末复习资料完整版
2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。
从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。
文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。
没有文档的软件维护不但不能延长反而会缩短软件寿命。
文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。
3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。
产生的原因是主客观不相适应。
见书图1-2。
●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。
5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。
见图1-4。
(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。
过程定义的活动集合及其序列见第2章。
(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。
如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。
软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。
(4)“工具”为过程和方法提供自动的或半自动的支持。
这些工具既包括软件也有硬件。
软件工具包括编程、建模、管理等开发工具。
通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程 (Computer Aided Software Engineering,CASE)。
CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。
软件工程期末考试资料
软件工程第一章:1.软件的组成不仅是程序、数据和文档,而且还有完成一定功能和性能所蕴含的知识和经验。
2.领域知识是基于计算机的系统的设计、软件需求获取和系统测试不可或缺的。
3.软件发展的历史给我们的启发是社会需求和硬件进步是软件技术发展的基础。
4.软件的进步和成就促进了信息社会和知识经济的发展。
5.按照应用领域、基本属性和特点研究软件有助于对软件的理解,提高了软件开发、使用和维护的针对性。
6.软件工程学科具有鲜明的工程特性。
第二章:1.面向对象方法是现代软件工程技术体系的基石,它以分类、继承、聚合、封装、多态和消息传递等贴近人类思维习惯的概念。
2.因面向对象与生俱来的自然性、直观性,以及支持软件复用、改善软件结构等许多优势,面向对象方法后来居上,迅速取代结构化方法而成为当前主流的软件开发方法学。
3.UML通过图形化的表示机制从多个侧面表示软件系统的分析和设计模型。
4.UML定义了5类图形机制:用例视图,包括用例描述和用例图;结构视图,包括视图,包括包图、类图和对象图;行为视图,包括交互图、状态图与活动图;构件视图和部署视图。
5.RUP将软件生存周期(即软件制品的进化状态)划分为初始、细化、构造、移交、生产5个阶段。
6.RUP将软件开发过程分解为业务建模、需求、设计、实现、V&V、部署、配置和变更管理、项目管理、环境9个工作流。
7.软件项目团队可利用5个阶段、9个工作流组织管理软件项目的开发活动。
RUP 过程中生成的各类制品通常以UML表示。
8.软件开发过程是基于面向对象方法学的,包括需求获取、需求分析、体系结构设计、人机交互设计、详细设计、实现、测试、维护与进化等重要的软件开发阶段。
第三章:1.软件需求是指利益相关方对目标软件系统在功能、性能和质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的约束。
2.软件需求可划分为功能需求、质量需求和约束性需求3种类型,其中质量需求和约束性需求统称为非功能需求。
软件工程期末复习
软件工程期末复习一、填空题1. 软件是计算机系统中与硬件互相依存的另一部分,它是涉及(程序)、(数据)及其(相关文档)完整集合。
其中,(程序)是按事先设汁的功能和性能规定执行的指令序列,(数据)是使程序可以对的操纵信息的数据结构,(相关文档)是与程序开发、维护和使用有关的图文资料.2. 软件危机是指计算机软件的(开发)和(维护)过程中所碰到的一系列严重问题。
3. 软件工程是指导计算机软件(开发)和(维护)的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把通过时间考验而证明对的的管理技术和当前可以得到的最佳技术方法结合起来,以经济地开发出高质量的软件并有效地(维护)它,这就是软件工程。
4. 常见的软件开发模型有(瀑布模型)、(快速原型模型)、(增量模型)和(螺旋模型)等;5. 软件工程学方法的三要素是:(方法)、(工具)和(过程)。
6. 瀑布模型是一个(文档)驱动模型。
7. 可行性研究一般可以从(经济)可行性、(技术)可行性、法律可行性和法律可行性等方面来研究。
8. 数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。
9. 数据流图的四个基本符号分别表达(数据的源点或终点)、(数据的加工)、(数据存储)和数据流;10. 实体-联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系)。
11. 需求分析阶段应当建立三种模,即:(数据模型)、(功能模型)和(行为模型)。
12. 一般从(一致性)、(完整性)、(现实性)和(有效性)四个方面验证软件需求的对的性。
13. HIPO 图是由一组(层次图)图加上一张(IPO)图组成。
14. 模块独立性的两个度量标准为:(耦合)和(内聚)。
15. 一般说来,模块之间的耦合限度(低),则单个模块的内聚限度(高)。
16. 经验表白,设计好的软件结构,通常顶层模块的扇出(比较高),中层模块扇出(较少),底层模块(高)扇入17. 三种基本的程序控制结果是(顺序结果)、(选择(分支)结构)和(循环结构)。
软件工程复习资料-完整版
一、选择题:1、用例图中,用来表示用例的符号为( B ) 。
2、协作图中包含的元素包括(A ) 。
A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。
A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。
A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。
A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。
A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。
A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。
软件工程期末复习知识点整理
复习整理一、绪论1.软件的定义软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。
(软件=程序+文档)2.软件工程的定义●是指导计算机软件开发和维护的一门工程学科;●采用工程化的原理与方法对软件进行计划、开发和维护;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
3.软件危机的概念,及出现的原因软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:⑴软件规模越来越大,结构越来越复杂⑵软件开发管理困难而复杂。
⑶软件开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4.三种编程范型的特点(1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小(2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对象,粒度比较大(3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大二、软件生存周期与软件过程1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动●定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期●目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。
●主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护(P19)2、软件生命周期划分为哪几个阶段软件生命周期分为三个时期八个阶段:●软件定义:问题定义、可行性研究;●软件开发:需求分析、概要设计、详细设计、编码、测试;●软件运行:软件维护3、瀑布模型的特点和缺陷特点:线性模型,每一阶段必须完成规定的文档(阶段间的顺序性和依赖性)优点:●可强迫开发人员采用规范化的方法。
软件工程期末复习
软件工程期末复习第一章概述1、软件工程方法学的三个要素:方法、工具和过程2、目前广泛使用的软件工程方法学是传统方法学(结构化范型)和面向对象方法学3、软件生命周期分成哪几个阶段?软件定义、软件开发、运行维护(软件维护)3个时期软件定义分为3各阶段:问题定义、可行性研究和需求分析软件开发:总体设计、详细设计、编码和单元测试、综合测试(系统设计和系统分析)4、典型的生命周期模型包括瀑布模型、快速原型模型、螺旋模型、喷泉模型、RUP等第二章可行性研究1、可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决3种解法的可行性:技术可行性、经济可行性、操作可行性2、什么是系统流程图?它包括哪些符号?基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。
处理(能改变数据值或数据位置的加工或部件)输入输出(表示输入或输出)连接换页连接数据流3、什么是数据流图?它包括哪些符号?(符号:正方形、圆角矩形、开口矩形、箭头)4、数据流图为什么要分层?在一张数据流图中包含多少个元素合适?一般来说,如果一张数据流图中包含的处理多于9个,人们就难于领会它的含义,因此数据流图应该分层,并且在功能级数据流图细化后得到的处理超过9个时,应该采用画分图的方法,也就是把每个主要功能都细化为一张数据流分图,而原有的功能级数据流图用来描绘系统的整体逻辑概貌。
5、什么是数据字典?它的用途是什么?它包括哪四类元素的定义?(元素定义:数据流、数据流分量(即数据元素)、数据存储、处理)6、成本估计的三种技术代码行技术、任务分解技术、自动估计成本技术第三章需求分析1、需求分析的基本任务是什么?主要包括哪几项?(任务是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题)主要包括:确定对系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统开发计划。
软件工程期末复习资料
软件工程期末复习资料一、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
二、软件危机包括两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
三、软件危机具体表现:1、对软件开发成本和进度的估计常常很不准确;2、用户对“已完成的”软件系统不满意的现象经常发生;3、软件产品的质量往往靠不住;4、软件通常没有适当的文档资料;5、软件成本在计算机系统总成本中所占比例逐年上升;6软件开发生产率提高的速度,跟不上计算机应用迅速普及深入的趋势。
四、软件工程是指导计算机软件开发和维护的一门工程学科。
五、软件工程的7条基本原理:1、用分阶段的生命周期计划严格管理;2、坚持进行阶段评审;3、实行严格的产品控制;4、采用现代程序设计技术;5、结果应能清楚地审查;6、开发小组的人员应该少而精;7、承认不断改进软件工程实践的必要性。
六、软件工程方法学包含3个要素:方法、工具和过程。
七、软件定义时期的3个阶段:问题定义、可行性研究和需求分析。
八、软件生命周期的每个阶段的基本任务和成果:1、问题定义:确定要解决的问题是什么;2、可行性研究:研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法,其结果是客户作出是否继续进行这项工程的决定的重要依据;3、需求分析:确定目标系统必须具备哪些功能,其成果是需求分析报告;4、总体设计:应该设计出实现目标系统的几种可能的方案,设计程序的体系结构;5、详细设计:设计出程序的详细规格说明;6、编码和单元测试:写出正确的容易理解、容易维护的程序模块;7、综合测试:关键任务是通过各种类型的测试使软件达到预定的要求;8、软件维护:改正性维护、即诊断和改正正在使用过程中发现的软件错误,适应性维护、修改软件以适应环境的变化,完善性维护、根据用户的要求改进或扩充软件使它更完善,预防性维护、修改软件为将来的维护活动预先做准备。
九、软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件工程期末复习资料一.
《软件工程》期末复习第一章软件工程概述一、重点掌握的内容:软件和软件工程的基本概念二、一般掌握内容:软件生存周期及软件开发的各种模型。
三、主要知识点:软件:软件定义由以下三部分组成:(1在运行中能提供所希望的功能和性能的指令集(即程序;(2使程序能够正确运行的数据结构;(3描述程序研制过程、方法所用的文挡。
软件是一种产品,同时又是开发和运行产品的载体。
作为一种产品,它表达了由计算机硬件体现的计算潜能。
作为开发运行产品的载体,软件是计算机工作的基础、信息通信的基础,也是创建和控制其他程序的基础。
软件的特点:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。
③在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。
④软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
⑤软件的开发至今尚未完全摆脱手工的开发方式。
⑥软件的开发费用越来越高,成本相当昂贵。
软件的分类:软件依据不同的标准,可划分为不同的分类。
软件工程:是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
软件工程准则可以概括为六条基本原理:(1用分阶段的生存周期计划严格管理;(2坚持进行阶段评审;(3实行严格的产品控制;(4采用现代程序设计技术;(5应能清楚地审查结果;(6合理安排软件开发小组的人员。
软件危机:指的是软件开发和维护过程中遇到的一系列严重问题。
软件工程的基本内容:软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。
软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件生存周期一般可分为以下阶段:·问题定义·需求分析与可行性研究·设计·编码·测试·运行与维护软件生存期也可以分为三个大的阶段:计划阶段。
软件工程期末复习资料
一、判断题1、成功的测试是没有发现错误的测试。
(×)2、软件是指程序设计语言编写的程序。
(×)3、程序设计语言中应绝对禁止使用GOTO语句。
(×)4、可行性研究的结果有可能将软件开发项目否定。
(√)5、类是关于对象性质的描述,由方法和数据组成。
(√)6、概要设计阶段完成的主要文档是概要设计说明书。
(√)7、软件维护的前提是不能失去原有软件的基本功能。
(√)8、用盒图和PAD图设计出来额算法必定是结构化的。
(√)9、面向对象技术的最大优点是减少软件的开发时间。
(×)10、白盒测试无需考虑模块内部的执行过程和程序结构。
(×)11、如果通过软件测试没有发现错误,则说明软件是正确的。
(×)12、螺旋模型是在瀑布模型和增量模型的基础上增加风险分析活动。
(√)13、可行性研究的根本的目的不是解决问题,而是确定问题是否值得去解。
(√)14、在面向对象方法学中,“事件”是瞬时完成的,而“状态”是有持续性的(√)15、模块化、信息隐蔽等软件设计原则有助于得到高内聚低耦合度的软件产品√二、选择题1、软件工程的概念是1968年提出的2、对象的操作是对象的特征3、各种不同的软件维护中,以预防性维护所占的维护量最小4、准确的解决“软件必须做什么”是需求分析阶段的任务5、数据字典中,一般不包括源点和终点6、软件可行性研究实质上是要进行一次简化、压缩的需求分析、设计过程。
7、为高质量地开发软件项目,在软件结构设计时,必须遵循信息隐蔽原则。
8、研究开发所需要的成本和资源是属于可行性研究中的经济可行性研究的一方面。
9、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试程序内部逻辑。
10、在确定属性时,所有修饰性名词词组和形容词是候选的属性。
11、下列的开发一个简单的问题解决方案不是分析建模的目的。
12、确认测试主要涉及的文档是需求规格说明书。
13、软件需求规格说明书的内容不应包括对算法的详细过程的描述。
软件工程期末复习(超详细!!!)
软件工程期末复习(超详细!!!)一:软件工程概述软件工程学的存在价值:促进软件项目成功。
软件的概念:软件(software):软件是计算机系统中与硬件相互依存的另一部分。
它包括程序、数据及其相关文档的完整集合。
(1)能够完成预定功能和性能的可执行指令(program)(2)使得程序能够适当地操作信息的数据结构(data)(3)描述程序的操作和使用的文档(document)软件危机:软件危机定义:软件在开发和维护过程中遇到的一系列严重问题。
软件危机包含两层含义:如何开发软件。
如何维护数量不断膨胀的已有软件。
软件工程(Software Engineering):是研究和应用功能如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。
软件生存周期:是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程。
一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。
计划阶段确定待开发系统的总体目标和范围。
研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。
分析阶段分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
设计阶段(总体设计和详细设计)设计阶段的目标是决定软件怎么做。
软件设计主要集中于软件体系结构、数据结构、用户界面和算法等方面。
实现阶段(编码)实现阶段是将所设计的各个模块编写成计算机可接受的程序代码。
测试阶段设计测试用例,对软件进行测试,发现错误,进行改正。
运行和维护阶段应当在软件的设计和实现阶段充分考虑软件的可维护性。
维护阶段需要测试是否正确实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。
维护常常是软件生命周期中最具挑战性的一个阶段,其费用是相当昂贵的。
软件工程三要素:工具、方法、开发过程瀑布模型:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。
软件工程期末考试复习(精)
第一章软件工程的概述软件工程的三要素:过程: 为建造高质量的软件所需完成的任务框架方法: 为软件开发提供了“如何做”的技术工具: 为软件工程方法提供了自动的或半自动的软件支撑环境软件生命周期的概念:软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期.软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。
这个过程即为计算机软件的生命周期生命周期阶段的划分原则: 各阶段的任务相对独立;同一阶段任务的性质相同;软件的生存期划分的几个阶段:1、软件定义:问题定义可行性研究(软件计划需求分析2、软件开发:系统设计软件实现软件测试3、软件使用、维护和退役软件工程的过程模型(4 个瀑布模型(生存周期模型就是传统的生命周期方法学(既自顶向下结构化开发模型方法。
优点:奠定了软件工程方法的基础;流水依赖;便于分工协作;推迟实现;文档易修改;有复审质量保证。
缺点:用户需求明确困难;用户见面晚;纠错慢;难于克服系统分析员不懂专业领域的知识,用户不懂计算机的困难,成功率低。
适合于系统要求明确的小系统。
原型模型(rapid prototype model是为了确定需求而提出的实际模型。
打破传统的自顶向下结构化开发模型方法,在计划和需求分析后,把系统主要功能接口做为设计依据,快速开发出软件样机,及时征求用户意见,正确确定系统需求,然后再进一步准确地进行系统设计与实现。
优点:与用户见面快;开发成功率高,适合于需求不确定的大系统。
缺点:周期长,开发成本高。
螺旋模型(spiral model沿着螺线旋转(一个螺旋式周期,在四个象限上分别表达四个方面的活动制定计划:确定软件目标,选定实施方案,弄清项目开发的限制,选定完成目标的策略风险分析分析所选方案,考虑如何识别和消除风险,风险角度分析该策略实施工程实施软件开发,启动一个开发阶段客户评估评价前一步开发工作,提出修正建议,计划下一轮的工作特点:瀑布模型+快速原型+风险分析迭代过程统一过程过程模型RUP 的特点:用例驱动基于用例模型,开发人员可以创建一系列实现这些用例的设计和实现模型。
软件工程 期末复习备考资料
1. 软件开发的各阶段以及各自的任务软件开发一般分为五个阶段:1.问题的定义及规划此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
2.需求分析在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。
需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。
“唯一不变的是变化本身”,同样软件需求也是在软件开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3.软件设计此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。
软件设计一般分为总体设计和详细设计。
还的软件设计将为软件程序编写打下良好的基础。
4.程序编码此阶段是将软件设计的结果转化为计算机可运行的程序代码。
在程序编码中必定要制定统一、符合标准的编写规范。
以保证程序的可读性、易维护性。
提高程序的运行效率。
5.软件测试在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。
整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。
测试方法主要有白盒测试和黑盒测试。
需要大家掌握软件开发模型,瀑布、原型、演化、增量 等2. 可行性研究部分需要大家掌握系统流程图、数据流图(DFD)的画法.模型不用画,会描述就可以了。
如果能画出更好。
可行性研究从哪几个方面进行的?包括经济可行性研究,技术可行性研究,法律可行性研究和开发方案这4个部分考生 原始分 标准分 计算 标准分 计算 录取线分 招生计划 招生数 标准分 考生分数文件 标准分 录取线文件录取分数 解:3.第三章需求分析需求分析包括功能和性能(参PPT)功能:系统做什么?系统何时做什么?系统何时及如何修改或升级?性能:存储容量限制执行速度、响应时间吞吐量需求建模部分:DFD导出软件结构图。
4.第四章软件设计模块独立性模块完成独立的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习题1一、选择题,请从四个可选项中选择正确答案。
1.以下哪一项不是软件危机的表现形式()?A.成本高B.生产率低C.技术发展快D.质量得不到保证2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
()A.演化模型 B.喷泉模型 C.原型模型 D.螺旋模型3.可行性研究的目的不包括()A.分析开发系统的必要性B.确定系统建模的方案C.分析系统风险D.确定是否值得开发系统,4.可行性分析研究的费用大约是项目总经费的()。
% % % %5.在E-R 模型中,包含以下基本成分()。
A.数据、对象、实体B.控制、联系、对象C.实体、联系、属性D.实体、属性、联系6.软件需求分析产生一个重要文档是()。
A.软件维护说明书B.需求规格说明书C.可行性报告D.初步用户手册、7.内聚程度较低的是()。
A.通信内聚B.过程内聚C.顺序内聚D.时间内聚8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()A.把软件划分成模块B确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码9.UML 语言支持的建模方式不包括有()。
A.静态建模B.动态建模C.模块化建模D.功能建模10.以下哪一项不是面向对象的特征。
()A.多态性B.继承性C.封装性D.过程调用^11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()A.软件危机 B.软件工程 C.程序设计革命 D.结构化程序设计12.瀑布模型的关键不足在于()?A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审13.可行性研究的四大要素是()。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽)D.经济、技术、软件开发工具和人员的稳定性14.经济可行性研究的主要内容包括()A.开发过程B.开发工具C.风险分析D. 效益分析15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是()。
A.要求软件做什么 B.要给软件提供哪些信息C.要求软件工作效率如何D.要求软件具有什么样的结构16.DFD中的每个加工至少需要()A.一个输入流B.一个输出流]C.一个输入或输出流D.一个输入流和一个输出流17.PDL是描述处理过程()。
A.做什么B.为什么做C.怎么做D.对谁做18.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合B.公共耦合C.标记耦合D.内容耦合19.按照模块独立性,耦合程度由弱至强正确的顺序是()。
A.数据耦合、控制耦合、外部耦合、内容耦合B.控制耦合、数据耦合、内容耦合、外部耦合-C.内容耦合、外部耦合、控制耦合、数据耦合D.外部耦合、内容耦合、数据耦合、控制耦合20.UML 中,包图是一种()。
A.集合B.数据结构C.分组机制D.对系统的动态描述21.面向对象设计首先要确定系统的总体结构和风格,构造系统的()。
A.逻辑模型B.物理模型C.数据模型D.用例模型22.面向对象设计的步骤中,正确的顺序是()。
A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计$C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计23.类有3种类型,即()。
A.边界类、实体类、控制类B.实体类、控制类、界面类C.控制类、实体类、虚类D.界面类、控制类、公共类24.()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。
A.消息连接B.参数传递C.方法重写D.继承25.结构化程序设计主要强调的是()。
A.程序的规模B.程序效率C.程序语言的先进性D.程序易读性《26.下列关于功能性注释不正确的说法是()。
A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或缩进,以便很容易区分注释和程序D. 修改程序也应修改注释27.软件测试的目的是()。
A.评价软件的质量B.发现软件的错误C.找出软件中的所有错误D.证明软件是正确的·28.在设计黑盒测试用例时,主要研究()。
- 412A. 概要设计说明书B.详细设计说明C.项目开发计划D. 需求规格说明29.以下属于完善性维护的有()。
A.解决开发时未能测试各种可能条件带来的问题B.增加联机求助命令C.缩短系统的应答时间,使其达到特定要求D.为提高软件的可靠性和可维护性,主动修改软件¥40.软件项目管理的内容包括()。
A.人员的组织与管理B.软件配置管理C.软件开发进度计划D.以上所有31.以下哪一项不属于面向对象的软件开发方法()?方法方法方法方法32.面向对象分析的核心在于()。
A.建立正确的模型B.识别问题域对象C.识别对象之间的关系D.上面都有33.在面向对象方法中,描述系统控制结构的模型是()模型。
A. 动态模型B. 功能模型C. 对象模型D. 静态模型【34.面向对象分析和设计涉及到三个方面的内容:()、一系列有效的分析步骤和一个方便易用的建模工具。
A.一套完善的建模符号B.有效的数据结构C.灵活的体系结构D.稳定的系统架构35.每个子系统的接口上定义了若干(),体现了子系统的功能。
A.说明B.操作C.属性D.关系36.程序设计语言的技术特性不应包括()。
A.数据结构的描述性B.抽象类型的描述性C.数据库的易操作性D.软件的可移植性@37.以下哪种测试方法不属于白盒测试技术()。
?A.语句覆盖测试B.边界值分析测试C.条件覆盖测试D.判断覆盖测试38.软件测试的主要特点是()。
A.软件测试的开销不大 B.软件测试要依靠工具C.软件不能进行“穷举”测试 D.软件测试要依靠人工39.在软件生存期的维护阶段,继续诊断和修正错误的过程称为()。
A.完善性维护B.适应性维护C.预防性维护D.改正性维护40.不属于软件项目管理的是()。
A.开发机构能力评估B.项目风险评估C.质量监控D.软件销售利润:二、简答题1.什么是软件危机试简述至少3种软件危机的典型表现。
2.简述软件过程模型3.简述结构化分析的主要步骤4. 请给出软件工程七条基本原理中的任意6条基本原理。
5.软件工程为什么要强调规范化和文档化6.简述模块独立性,内聚与耦合。
.7.设计下列伪程序的语句覆盖测试用例。
BEGININPUT(A,B,C)IF A>5 THENX=10ELSEX=1END IF、IF B>10 THENY=20ELSEY=2END IFIF C>15THEN Z=30ELSE Z=3)END IFPRINT(X,Y,Z)END8. 为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。
9.简述在项目开发时选择程序设计语言的主要考虑的因素。
10.设计下列伪程序的条件组合覆盖测试用例。
BEGININPUT(A,B).IF(A>0) AND (B>0) THENX=A+BELSEX=A-BENDIF (C>A) OR (D<B) THENY=C-DELSE…Y=C+DENDPRINT(X,Y)END三、应用题1.一个简单的飞机机票预订系统:机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来。
旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(附有应交的账款)。
旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。
请你根据以上的描述,画出数据流程图。
…2. 用用例图描述图书管理。
该系统主要包括三类用户:读者、图书管理员、系统管理员。
其中,读者是多个,图书管理员是几个,系统管理员是一个。
对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。
图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。
参考答案一、选择题,请从四个可选项中选择正确答案。
1. C2. A3. B4. B5. C!二、简答题(1.什么是软件危机试简述至少3种软件危机的典型表现。
答:(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。
(2)典型表现:开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;软件需求分析不够充分,用户不满意“已经完成”的软件系统。
软件质量难于保证;软件维护困难;>通常没有保留适当的文档资料开发成本逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势2. 简述软件过程模型答:(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。
它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。
(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。
3. 简述结构化分析的主要步骤'答:(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系图。
(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。
在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。
(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。
(4)系统分析人员与用户一起对需求分析的结果进行复查。
(5)根据细化的需求修订开发计划。
(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。
;4. 请给出软件工程七条基本原理中的任意6条基本原理。
答:原理1.用分阶段的生命周期计划严格管理原理2.坚持进行阶段评审原理3.实行严格的产品控制原理4.采用现代程序设计技术原理5.结果应能清楚地审查原理6.开发小组的人员应该少而精(原理7.承认不断改进软件工程实践的必要性5.软件工程为什么要强调规范化和文档化答:(1)软件工程强调规范化和文档化。
规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。
(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。
另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。