10软件工程复习资料
- 格式:doc
- 大小:239.58 KB
- 文档页数:19
软件工程复习资料一、选择题,请从四个可选项中选择正确答案。
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、针对需求不确定的软件开发,比较好的模型是()。
软件工程总复习资料
软件工程概述
- 定义:软件工程是一门研究如何通过系统化、规范化、可度量化的方法开发和维护软件的学科
- 软件工程的目标
- 提高软件开发的质量
- 提高软件开发的效率
- 降低软件开发的成本
- 软件生命周期
- 概念阶段
- 需求分析阶段
- 设计阶段
- 编码实现阶段
- 测试阶段
- 运行和维护阶段
软件生命周期模型
- 瀑布模型
- 原型模型
- 增量模型
- 螺旋模型
软件需求
- 软件需求分类- 功能需求
- 非功能需求
- 软件需求获取- 需求文档
- 需求分析
- 软件需求验证- 合法性验证
- 一致性验证
- 可行性验证
软件设计
- 面向对象设计- 结构化设计
- 数据流图设计- 状态转换图设计
软件测试
- 测试分类
- 静态测试
- 动态测试
- 测试方法
- 黑盒测试
- 白盒测试
- 测试覆盖率- 代码覆盖率- 判定覆盖率- 条件覆盖率- 路径覆盖率
软件质量
- 软件质量模型- ISO 9126模型- McCall模型- 质量保证
- 质量控制
软件项目管理
- 项目计划
- 项目跟踪
- 项目评审
- 质量保证和配置管理
- 风险管理
以上是软件工程的主要知识点总结,希望对大家的复习有所帮助!。
软件工程复习资料-完整版一、概述软件工程是一门关于开发、维护和管理软件的综合学科。
它涵盖了软件开发的各个阶段,包括需求分析、设计、编码、测试和维护。
软件工程的目标是提供高质量的软件,满足用户的需求,同时将开发过程控制在预定的时间和预算范围内。
二、软件生命周期1. 需求分析阶段在需求分析阶段,开发团队与用户沟通,了解用户的需求和期望。
通过需求分析,确定软件的功能和性能要求,制定详细的需求规格说明。
2. 设计阶段在设计阶段,团队根据需求规格说明,设计软件的整体架构和模块。
设计阶段包括概要设计和详细设计,概要设计主要确定软件的整体结构,详细设计则更加具体,包括模块的功能和接口设计。
3. 编码阶段在编码阶段,根据详细设计,实现软件的各个模块。
编码时应遵循编程规范,确保代码的可读性和可维护性。
同时,要进行单元测试,确保每个模块的功能正确。
4. 测试阶段在测试阶段,对软件进行不同层次的测试,包括单元测试、集成测试和系统测试。
单元测试测试各个模块的功能,集成测试测试模块之间的接口,系统测试测试整个系统的功能和性能。
5. 部署和维护阶段在软件开发完成后,需要将软件部署到目标环境中,并进行用户培训。
同时,还需要对软件进行维护和升级,以解决出现的问题和满足用户的需求变化。
三、软件工程的原则1. 模块化将软件划分为多个模块,每个模块负责特定的功能。
模块化能够提高软件的可维护性和复用性,同时有利于团队的协作开发。
2. 可伸缩性软件应该具备可伸缩性,能够满足不同规模和需求的用户。
在设计和实现软件时,需要考虑未来的扩展和升级,保证软件的灵活性。
3. 可测试性软件应该具备可测试性,方便进行各个阶段的测试。
在设计和编码时,需要考虑如何进行自动化测试,提高测试的效率和覆盖率。
4. 可维护性软件应该具备可维护性,方便对软件进行改进、修复和升级。
在设计和编码时,需要遵循良好的编程规范,提高代码的可读性和可维护性。
5. 文档化软件开发过程需要进行详细的文档记录,包括需求文档、设计文档、测试文档等。
软件工程复习资料软件工程复习资料软件工程是现代社会中一门重要的学科,它涉及到软件开发、项目管理、质量保证等多个方面。
对于学习软件工程的同学来说,复习资料是必不可少的工具。
本文将为大家介绍一些软件工程复习资料,希望能够帮助大家更好地备考。
一、教材首先,教材是复习软件工程的基础。
常用的软件工程教材有《软件工程导论》、《软件工程》等。
这些教材系统地介绍了软件工程的基本概念、原理和方法,对于初学者来说是非常有帮助的。
在复习时,可以结合教材的章节内容进行有针对性的复习,加深对知识点的理解。
二、经典案例软件工程的学习离不开实践,而经典案例是理论与实践结合的重要途径。
比如,著名的软件项目管理案例——泰坦尼克号项目,可以帮助学生了解项目管理的流程、方法和技巧。
此外,还有一些软件开发的经典案例,如微软的Windows操作系统、谷歌的搜索引擎等,通过研究这些案例,可以更好地理解软件开发的过程和技术。
三、学术论文学术论文是了解软件工程最新研究进展的重要途径。
在复习软件工程时,可以阅读一些相关领域的学术论文,了解最新的研究成果和前沿技术。
同时,学术论文还可以帮助学生提升论文写作和研究能力。
可以通过学术搜索引擎或学术期刊网站获取相关的学术论文。
四、在线资源互联网是获取各种复习资料的重要渠道。
有很多网站提供软件工程的学习资源,如Coursera、edX等在线学习平台,可以免费或付费学习软件工程的相关课程。
此外,还有一些技术博客、论坛等社区,可以与其他学习软件工程的同学进行交流和讨论,共同进步。
五、考试题库考试题库是复习软件工程的重要辅助工具。
通过做题,可以检验自己对知识点的掌握程度,找出自己的不足之处,并加以改进。
可以通过搜索引擎或者考试题库网站获取相关的软件工程考试题目,进行练习和复习。
六、实践项目最后,实践项目是巩固软件工程知识的有效方法。
通过参与实践项目,可以将理论知识应用到实际中,提升自己的实践能力。
可以选择一些开源项目或者自己感兴趣的项目进行参与,通过实践来巩固和扩展学习的知识。
软件⼯程复习资料《软件⼯程》复习资料1.解释什么是软件⼯程?运⽤⼯程学的原理和⽅法来组织和管理软件的⽣产和管理,以保证软件产品开发、运⾏和维护的⾼质量和⾼⽣产率。
2.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重的问题。
它包含两个⽅⾯的问题:如何开发软件,以满⾜对软件⽇益增长的需求,如何维护数量不断膨胀的已有软件。
3.简述软件与硬件的区别。
硬件是计算机系统中的物理部件,⽽软件则是计算机系统中的逻辑部件。
4.简述软件⼯程专家B.W.Boehm提出的软件⼯程七条原理。
七条基本原理:(1)⽤分阶段的⽣命周期计划严格管理;(2)坚持进⾏阶段评审;(3)实⾏严格的产品控制;(4)采⽤现代程序设计技术;(5)结果应能清楚地审查;(6)开发⼩组的⼈员应该少⽽精;(7)承认不断改进软件⼯程实践的必要性。
5.软件⼯程的三个要素的是什么?⽅法、⼯具和过程(其中⽅法是完成软件开发的各项任务的技术⽅法,回答“怎样做”的问题;⼯具是为运⽤⽅法⽽提供的⾃动或半⾃动的软件⼯程⽀撑环境;过程是为了获得⾼质量的软件所需要完成的⼀系列任务的框架,它规定了完成各项任务的⼯作步骤。
)6.⼀个软件的⽣命周期分为哪⼏个阶段?软件定义,软件开发和运⾏维护7.什么是软件过程?主要有那些过程模型?1)、软件过程是为了获得⾼质量软件所需要完成的⼀些列任务的框架,它规定了完成各项任务的⼯作步骤。
2)、主要有:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。
8.简述瀑布模型的特点。
1)、阶段间具有顺序性和依赖性,2)、推迟实现的观点,3)、保证质量的观点9.简述原型法的基本思想。
所谓快速原型是快速建⽴起来的可以在计算机上运⾏的程序,它能够完成的功能往往是最终产品能完成的功能的⼀个⼦集。
10.Rational统计过程的“最佳实践”指的是什么?迭代式开发、管理需求、使⽤基本构件的体系结构、可视化建模、验证软件质量、控制软件变更。
复习整理一、绪论1.软件的定义软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。
(软件=程序+文档)2.软件工程的定义●是指导计算机软件开发和维护的一门工程学科;●采用工程化的原理与方法对软件进行计划、开发和维护;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
3.软件危机的概念,及出现的原因软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:⑴软件规模越来越大,结构越来越复杂⑵软件开发管理困难而复杂。
⑶软件开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4.三种编程范型的特点(1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小(2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对象,粒度比较大(3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大二、软件生存周期与软件过程1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动●定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期●目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。
●主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护(P19)2、软件生命周期划分为哪几个阶段软件生命周期分为三个时期八个阶段:●软件定义:问题定义、可行性研究;●软件开发:需求分析、概要设计、详细设计、编码、测试;●软件运行:软件维护3、瀑布模型的特点和缺陷特点:线性模型,每一阶段必须完成规定的文档(阶段间的顺序性和依赖性)优点:●可强迫开发人员采用规范化的方法。
软件工程复习材料一、考试复习范围:1、软件工程基本概念、基本原理2、需求分析,结构化分析、面向对象分析,结构化分析建模、面向对象分析建模3、软件设计,结构化程序设计,概要设计、详细设计4、软件测试二、考试题型:单项选择题、简答题、综合应用题(要求会画:数据流图、软件结构图、用例图、类图、N-S盒图、PAD图)三、复习内容:1、什么是软件危机?人们把软件开发和维护中的各种问题称为“软件危机”。
2、软件危机主要包含哪两方面的问题?①如何开发软件以满足软件日益增长的需求。
②如何维护数量不断增长的已有软件。
3、软件危机的表现有哪些?①对软件开发成本和进度的估算很不准确。
②用户对完成的软件很不满意。
③软件产品的质量很不可靠。
④没有完整的文档。
⑤软件成本比重上升。
⑥软件开发生产效率低下,软件开发技术进步落后与需求的增长,造成“供不应求”的局面。
4、什么是软件工程?软件工程的定义:采用工程的概念、原理和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
5、.软件工程包括3个要素有哪些?方法、工具和过程。
6、软件生命周期各阶段有哪些?软件生命周期包括:软件定义、软件开发、软件维护三个时期。
其中:软件定义包括:问题定义、可行性研究、需求分析阶段;软件开发包括:总体设计、详细设计、编码、软件测试阶段。
7、需求分析的任务有哪些?需求分析的任务主要有两个方面:①通过对问题及环境的理解、分析和综合,建立分析模型。
②在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。
8、软件系统需求分类是哪些?软件系统需求可以分为功能需求、非功能需求和领域需求:1)功能需求描述系统所预期提供的功能或服务。
即定义系统应该做什么,系统要求输入什么信息,输出什么信息,以及如何将输入变换为输出。
它由开发的软件类型、软件未来的用户以及开发的系统类型决定。
软件工程复习资料1、软件危机是指在计算机开发过程中的开发和维护过程中所遇到的一系列的严重问题。
2、软件危机典型变现:(1) 对软件发开成本和进度的估计常常不准确。
(2) 用户对“已完成的”软件系统不满意的现象经常发生。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。
(7) 软件开发产生率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
3、产生软件危机的原因:(1) 软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件.(2) 软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升.(3) 软件本身独有的特点确实给开发和维护带来一些客观困难.(4) 与软件开发和维护有关的许多错误认识和做法形成,可以归因于在计算机系统发展的早期阶段软件开发的个体特点.4、软件工程定义:概括的说是指导计算机软件开发和维护的一门工程学科。
或者说,软件工程就是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程。
5、软件工程学包含3个要素:方法、工具、过程。
6、软件生命周期定义:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
由软件定义、软件开发和运行维护(也称软件维护)3个时期组成。
①软件定义主要任务及划分成3个阶段:问题定义、可行性研究和需求分析②开发时期主要任务及划分成4个阶段:总体设计,详细设计,编码和单元测试,综合测试③维护时期关键任务:通过各种必要的维护活动使系统持久地满足用户的需要.7、软件过程的各种模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型①瀑布模型是将软件开发活动中的各项活动规定为按线性顺序联接的若干阶段工作。
.适用场合:适合于功能和性能明确、完整、无重大变化的软件开发。
②快速原型模型是进行了基本需求分析之后,快速开发出产品原型,基于这个原型和客户沟通、交流,更好了解客户需求,到双方认可的程度再做详细分析、设计、编程。
1 一、填空: 1、基于计算机的系统的系统元素包括硬件、软件、人、数据库、文档和过程。 2、可行性研究主要从以下四个方面考察其可行性: 技术可行性、经济可行性、操作可行性、法律可行性。 3、需求分析的任务包括需求获取、需求建模、需求规格说明、需求评审 4、结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 5、软件工程过程定义了: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。 6、软件工程过程包含四种基本的过程活动:软件规格说明、软件开发、软件确认、软件演进。 7、常用的软件生存周期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发( RAD )模型。 8、从技术观点来看,软件设计包括数据设计、体系结构设计、接口设计、过程设计。 9、软件设计是一个把软件需求转换为软件表达的过程。从软件工程的角度讲是分为总体设计和详细设计。 10、模块独立性比较强的模块应是高内聚低耦合的模块。 11、一个模块的作用范围应在其控制范围之内,且条件判定所在的模块应与受影响的模块在层次上尽量靠近。 12、变换型的数据流是由输入、变换(或称处理)和输出三部分组成 。 13、在事务流型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务(活动流)处理模块执行。各事务处理模块并列。 14、在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。对每个模块规定的功能以及算法的设计,给出适当的算法描述: 15、面向对象系统中的对象是数据抽象与过程抽象的综合体。 16、面向对象系统的状态分别保存在各个对象的数据存储中,而不是保存在一些全局变量中。 17、面向对象系统解决问题的控制流包含在各个对象中的操作内。并通过消息传递,控制流从一个对象转移到另一个对象 18、把具有相同属性(数据结构)和服务(操作)的对象归在一起就形成了类。 19、RUP 采用二维的过程结构: 横轴表明过程的生存周期,它反映了过程被激活时的动态情况,用周期、阶段、迭代和里程碑表示。 纵轴表明过程的静态状况,通过过程构件、活动、工作流、制品和工作人员描述过程。 20、在 RUP 中共有 9 个核心过程工作流,包括 6 个核心工程工作流和 3 个核心支持工作流。 1) 业务建模工作流:描述业务过程的本质和执行情形。 2) 需求工作流:定义系统构想,使用用例模型和补充规格说明定义系统软件需求,管理系统范围和需求变更。 3) 分析和设计工作流:研究实现环境和系统构件的效用,定义软件的组织结构,把需求获取结果转化为实现规格。 4) 实现工作流: 建立代码的分层结构,实现类和对象,进行单元测试和系统集成。 5) 测试工作流:根据事先定义的度量和准则检查产品,确认产品是否满足或者超出事先定义并被一致接受的需求。 6) 实施工作流:在实际使用环境中测试软件、包装要交付的软件、发布软件产品、培训最 2
终用户及销售人员。 核心支持工作流有 1) 项目管理工作流 2) 配置和变更管理工作流 3) 环境工作流 21、在 RUP 中共有4 个阶段构成开发周期,周期结束时产生一代新的软件产品。 1) 初始阶段:确定最终产品的构想及其用例,定义项目范围。 2) 细化阶段:计划需完成活动和资源,详细说明产品特性并设计软件体系结构。 3) 构造阶段:构造整个产品,逐步完善软件体系结构和计划,直到产品(完整的构想)已完全准备好交付给用户。 4) 移交阶段:移交产品给用户,包括制造,交付,培训,支持及维护产品。 22、Rational统一过程的特点:用例驱动的、以体系结构(架构)为中心的、迭代和增量的过程。 23、面向对象分析模型由三个独立的模型构成:由用例和场景表示的功能模型;用类和对
象表示的分析对象模型;由状态图和顺序图表示的动态模型。 24、在分析对象模型中有实体对象、边界对象和控制对象等三种类型。实体对象表示系统将跟踪的持久信息;边界对象表示参与者与系统之间的交互(接口);控制对象负责用例的实现 。 25、在面向对象分析中描述客户需求的过程如下: 1) 标识参与者 标识目标系统将支持的不同类型的用户,可以是人、事件或其他系统。 2) 标识场景 用场景描述目标系统典型功能的活动细节,并与用户沟通,加深开发人员对应用领域的理解。 3) 标识用例 当双方确定了一组场景后,开发人员从该场景抽象出一组用例,描述所有可能的情况。用力表达了系统的范围。 4) 求精用例 细化每一个用例。引入带有出错处理或带有异常处理的用例,描述系统的行为,保证需求的描述是完全的。 5) 标识用例之间的关系 描述用例之间的依赖关系,提取相同功能,建立用例模型。 6) 标识非功能需求 包括系统性能上的约束、文档、使用资源、安全性和质量等需求。 26、面向对象的系统设计的主要活动是: 标识系统目标:标识并区分各种质量属性的优先实现次序。 子系统分解:根据用例和分析模型,将系统分解为一系列子系统。 子系统细化:对各子系统不断分解求精,直到所有的设计目标都能满足为止。 27、Coad & Yourdon基于MVC模型,将系统大致分为问题领域、人机交互、任务管理、数据管理等 4 个子系统。 28、通常任务管理子系统的任务为:将子系统映射到构件和处理器上、标识并存储持久性数据、提供访问控制、设计全局控制流 29、定义一个软件的质量,就等价于为该软件定义一系列质量特性。 30、软件质量特性定义成分层模型。最基本的叫做基本质量特性,它可以由一些子质量特性定义和度量。这些子特性在必要时又可由它的一些子特性定义和度量。 31、ISO/IEC 9126《信息技术 软件产品质量》,描述新的软件质量模型,分为 4 个部分:质量模型、内部质量、外部质量、使用质量。 32、外部质量是软件产品在规定条件下使用时,满足规定的和隐含的要求的程度。外部质量是从外部观点看软件产品的全部特性。 33、内部质量是软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体。内部质量是从内部的观点看软件产品的全部特性。 34、在软件需求定义阶段要定义软件的质量要求;在软件产品开发阶段要使得软件产品具有要求的质量;在软件运行和维护阶段要测量软件是否达到了用户的质量要求并维护软件的性 3
能水平。 35、软件质量特性度量有两类:预测型和验收型。 36、软件质量保证的实施需要从纵向和横向两个方面展开:要求所有与软件生存期有关的人员都要参加、要求对产品形成的全过程进行质量管理 37、在软件建立时变更是不可避免的,因为在进行变更前没有仔细分析,或没有进行变更控制,变更加剧了项目中软件人员之间的混乱。协调软件开发使得混乱减到最小的技术叫做配置管理。 38、Boehm等人认为软件质量主要应从三个方面来评价,即可使用性、可维护性和可移植性 39、McCall质量模型将软件质量概念分别建立在11个质量特性上,这11个特性分别面向软件产品的运行、修正和转移。 二、名词解释 1、名词解释:软件生存期、软件、软件工程、软件危机 (1)软件的生存期:软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。通常,把软件从开始研制(形成概念)到最终软件被废弃不用这整个阶段称为软件的生存期 (2)软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 (3)软件工程:将系统化的,规范的,可度量的方法应用于软件的开发 , 运行和维护的过程,即将工程化应用于软件中 (4)软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。 2、名词解释:投资回收期、资金的现值、数据流图、数据字典 (1)投资回收期:就是使累计的经济效益等于最初投资所需的时间。 (2)资金的现值:以现在货币的价值为准,将其他不同时间的货币的价值都折算成现时货币的价值,即资金的现值 (3)数据流图 是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形方式刻画数据流从输入到输出的移动变换过程 (4)数据字典是关于对数据流图中包含的所有元素的定义的集合。其作用是为系统人员在系统分析、系统设计和系统维护过程中提供关于数据的描述信息 3、名词解释:自顶向下、过程抽象、数据抽象、内聚性、耦合性 (1)自顶向下、逐步细化:将软件体系结构自顶向下,对过程细节和数据细节从抽象到具体,逐层细化,直到用编程语言的语句能够实现为止 (2)过程抽象:是指在软件设计中将处理过程的实现细节隐藏在数据抽象中,可以直接通过模块接口使用这些处理操作。 (3)数据抽象:是指采用抽象数据类型表示数据,实现数据封装,使得使用者可通过接口使用数据而不必关心数据结构的实现。 (4)内聚性:内聚是一个模块内部各个元素彼此结合的紧密程度的度量。 (5)耦合性: 耦合是模块间互相连接的紧密程度的度量,它取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。 4、名词解释:消息、继承、多态性、软件体系结构 (1)消息:是一个对象向另一个对象传递的信息。有四类消息:发送对象请求接收对象提