软件工程期末考试复习总结知识点+必考题型
(完整版)软件工程期末考试复习总结知识点+必考题型,推荐文档

软件工程复习资料1.软件危机产生的原因(1)软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2)软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5)在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程期末考试复习总结知识点+必考题型(可编辑修改word版)

软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程期末考试复习总结知识点+必考题型

软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规X。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程期末考试复习总结知识点+必考题型,推荐文档

软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程期末复习

软件工程期末复习一、填空题1. 软件是计算机系统中与硬件互相依存的另一部分,它是涉及(程序)、(数据)及其(相关文档)完整集合。
其中,(程序)是按事先设汁的功能和性能规定执行的指令序列,(数据)是使程序可以对的操纵信息的数据结构,(相关文档)是与程序开发、维护和使用有关的图文资料.2. 软件危机是指计算机软件的(开发)和(维护)过程中所碰到的一系列严重问题。
3. 软件工程是指导计算机软件(开发)和(维护)的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把通过时间考验而证明对的的管理技术和当前可以得到的最佳技术方法结合起来,以经济地开发出高质量的软件并有效地(维护)它,这就是软件工程。
4. 常见的软件开发模型有(瀑布模型)、(快速原型模型)、(增量模型)和(螺旋模型)等;5. 软件工程学方法的三要素是:(方法)、(工具)和(过程)。
6. 瀑布模型是一个(文档)驱动模型。
7. 可行性研究一般可以从(经济)可行性、(技术)可行性、法律可行性和法律可行性等方面来研究。
8. 数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。
9. 数据流图的四个基本符号分别表达(数据的源点或终点)、(数据的加工)、(数据存储)和数据流;10. 实体-联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系)。
11. 需求分析阶段应当建立三种模,即:(数据模型)、(功能模型)和(行为模型)。
12. 一般从(一致性)、(完整性)、(现实性)和(有效性)四个方面验证软件需求的对的性。
13. HIPO 图是由一组(层次图)图加上一张(IPO)图组成。
14. 模块独立性的两个度量标准为:(耦合)和(内聚)。
15. 一般说来,模块之间的耦合限度(低),则单个模块的内聚限度(高)。
16. 经验表白,设计好的软件结构,通常顶层模块的扇出(比较高),中层模块扇出(较少),底层模块(高)扇入17. 三种基本的程序控制结果是(顺序结果)、(选择(分支)结构)和(循环结构)。
软件工程复习要点

题型1、名词说明2、问答题3、应用题(看图题,分析题,计算题)学问点:1、什么是软件及软件特点,软件的分类软件是计算机系统中和硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合软件的特点(1)软件是一种逻辑实体。
(2)软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造。
(3)软件维护和硬件的修理有着本质的差别。
(4)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依靠性。
(5)软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制。
(6)软件的开发是一个困难的过程。
(7)软件的成本特殊昂扬软件的分类1.基于软件功能的划分系统软应用软件支撑软件2.基于软件工作方式的划分实时处理软件分时软件交互式软件批处理软件2、什么是软件危机,起因一方面软件特殊困难,价格昂贵,供需差日益增大,另一方面软件开发时又常常受挫,质量差,指定的进度表和完成日期很少能按时实现,研制过程很难管理,即软件的研制往往失去限制。
我们称软件开发和维护过程中所中遇到的这一系列严峻问题为软件危机。
软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
3、什么是软件工程,它的基本目标,要素,原则(1)软件工程是指探讨软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既牢靠又能在实际机器上有效运行的软件。
(2)软件工程学探讨的基本目标是:定义良好的方法学,面对支配,开发维护整个软件生存周期的方法学;确定的软件成分,记录软件生存周期每一步的软件文件资料,按步显示轨迹;可预料的结果,在生存周期中,每隔确定时间可以进行复审(3)软件工程的原则:分解;抽象和信息隐藏;一样性;确定性4、什么是软件生命周期,每个阶段的意义理解如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生命周期。
1.软件定义时期(1)问题定义:这是软件生存期的第一个阶段,主要任务是弄清用户要计算机解决的问题是什么。
《软件工程》重点考试知识点,简答

第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。
主要表现:●开发人员开发的软件产品不能完全满足用户的需求;●软件产品的质量难以得到保障;●开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;●随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;●软件文档不完备并且存在文档内容与软件产品不符的情况。
原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。
软件工程的目标:●使软件开发的成本控制在预计的合理范围内;●使软件产品的各项功能和性能能够满足用户需求;●提高软件产品的可靠性;●使生产出来的软件产品易于移植维护升级和使用;●使软件产品的开发周期能够控制在预计的合理时间范围内。
软件工程学科内容:●软件工程原理过程方法模型管理度量环境应用。
软件工程的基本原则:●将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;●坚持阶段评审制度已确保软件产品的质量;●实施严格的产品控制以适应软件规格的变更;●采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;●合理地安排软件开发小组人员并且开发小组的人员要少而精;●不断改进软件工程的实践。
软件工程 期末考试复习总结知识点 必考题型

软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
(完整版)软件工程期末考试复习总结知识点+必考题型(最新整理)

软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程 期末考试复习总结知识点+必考题型

软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5)在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习资料1. 软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
另外,在软件生存期的不同结点进行修改需要付出的代价是很不相同的。
在早期引入变更涉及面较小,付出的代价较低,在开发的中期软件配置的许多成分已经完成,引入一个变更可能需要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂。
因而付出的代价剧增。
在软"已经完成"后再弓I入变更。
贝嚅要付出更高得多的代价。
因此,必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。
2. 软件工程的概念软件工程是研究和应用如何以系统性的、规化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
2. 软件工程的三要素方法、工具和过程3. 软件工程的基本原理(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性4. 软件生命周期问题定义可行性研究需求分析总体设计详细设计编码和单兀测试综合测试软件维护5. 瀑布模型存在的问题靠文档驱动,用户不能全面地认识动态的软件产品。
且过于理想化,可能出现设计上的错误。
缺乏灵活性。
6. RUP统一过程的四个阶段RUP莫型将软件开发过程分为4个大的阶段,分别是先启、精化、(构建)和产品化。
7. 可行性分析研究的主要目的用最小的代价在尽可能小的时间,确定问题是否能解决,从而确定问题是否值得去解决。
8. 需求分析阶段所有分析方法需要遵守的准则(1)必须理解并描述问题的信息域,根据这条准则必须建立数据模型。
(2)必须定义软件应完成的功能,这条准则要求建立功能模型。
(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为准则(4)必须对描述信息,功能和行为的模型进行分解,用层次的方式展示细节。
9. 需求分析的目的准确的回答“系统必须做什么”这个问题10. 数据字典的作用和概念概念:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
作用:数据字典和数据流图共同构成系统的逻辑模型。
没有流图数据字典难以发挥作用。
没有数据字典,数据流图就不严格。
11. 数据流图的图形元素T数据流□数据的源点或终点口变换数据的处理=数据存储12. E-R图(非画图题)在ER图中有如下四个成分:矩形框:表示实体,在框中记入实体名。
菱形框:表示联系,在框中记入联系名。
椭圆形框:表示实体或联系的属性,将属性名记入框中。
对于主属性名,贝U 在其名称下划一下划线。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。
(对于一对一联系,要在两个实体连线方向各写1;对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。
)构成E-R图的3个基本要素是实体型、属性和联系,其表示方法为:实体一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。
关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。
用实体名及其属性名集合来抽象和刻画同类实体。
在E-R图中用矩形表示,矩形框写明实体名;比如学生三、学生四都是实体。
如果是弱实体的话,在矩形外面再套实线矩形。
属性实体所具有的某一特性,一个实体可由若干个属性来刻画。
属性不能脱离实体,属性是相对实体而言的。
在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的、学号、性别、都是属性。
如果是多值属性的话,在椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
联系联系也称关系,信息世界中反映实体部或实体之间的关联。
实体部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在E-R图中用菱形表示,菱形框写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1 ,1 : n或m : n )。
比如老师给学生授课存在授课关系,学生选课存在选课关系。
如果是弱实体的联系则在菱形外面再套菱形山I1;13. 需求分析和软件设计两个阶段的目的需求分析:确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划软件设计:用比较抽象概括的方式确定目标系统如何完成预定任务。
14. 信息隐藏的概念在设计和确定模块时,使得一个模块包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。
15. 耦合的概念和分类概念:耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.分类:容耦合,公共耦合,外部耦合,控制耦合,标记耦合,数据耦合,非直接耦合,顺序耦合(耦合度由高到低排列)16. 聚的概念和分类概念:聚是从功能角度来度量模块的联系,一个好的聚模块应当恰好做一件事。
分类:偶然聚,逻辑聚,时间聚,过程聚,通信聚,顺序聚,功能聚(聚度由弱到强排列)17. 模块化的概念概念:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
18. 详细设计的任务确定怎样具体的实现用户需要的软件系统,也就是要设计出程序的蓝图(书上)(网上)(1)为每个模块进行详细的算法设计。
用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(2) 为模块的数据结构进行设计。
对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
(3) 为数据结构进行物理设计,即确定数据库的物理结构。
物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(4) 其他设计:根据软件系统的类型,还可能要进行以下设计:①代码设计。
为了提高数据的输入、分类、存储、检索等操作,节约存空间,对数据库中的某些数据项的值要进行代码设计。
②输入/输出格式设计。
③人机对话设计。
对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、容、格式的具体设计。
(5) 编写详细设计说明书。
(6) 评审。
对处理过程的算法和数据库的物理结构都要评审。
19. 设计复审的目的和作用避免后期付出高代价20. 判定树,判定表判定树和判定表是用于描述结构化分析方法中(数据加工)环节的工具21. 结构化程序设计的三种结构顺序,选择,循环22. 画N-S图和pad图Pad:PAD图的兰要优点如下工使用衣示结粗化控制结枸的PAD符号设计出来的程序必然是结构化程序。
PAD图所描绘的程•字结构十分清晰。
FAD图衰现程序逻辑易读“易懂、易记.容易将PAD区转换成高级语言源程序,这秤转换可用软件工具自动完克即可表示稈序逻辑文也可描绘数据结构。
PAD圉的符号支持自顶向下、逐步求精方法的使用,砖环徙弾阳4待1 23. 软件测试的目的发现程序中的错误而执行程序的过程24. 软件测试的方法(黑盒&白盒)黑盒:把程序看做一个黑盒子,完全不考虑程序的部结构和处理过程。
也就 是说,黑盒测试是在程序接口进行的测试,他只检查程序功能是否能按规格 说明书的规定正常使用,程序是否能适当的接受输入数据并产生争取的输入 信息,程序测试过程中能否保持外部信息的完整性。
黑盒测试又被称为功能 测试。
白盒:可以把程序看成装在一个透明白盒子里,测试者完全知道程序的结构 和处理算法。
这种方法按照程序部的逻辑测试程序,检测程序的主要执行通路是否都能按预定要求正确工作。
白盒测试又被称为结构测试。
N-S 图 第一任务 X XELSE THENREPEAT- umiL \ /值 值24R 4CASE OSECASEini ir25. 软件测试的步骤(1)单元测试(也称模块测试):针对软件设计的基本单元一一程序模块,进行正确性检验的测试工作。
目的在于发现各个模块部可能存在的各种差错。
单元测试需要从程序部结构出发设计测试用例,多个模块可以平行、独立地进行测试;(2)集成测试(也称组装测试,联合测试):在单元测试的基础上,将所有模块按设计要求集成在一起进行测试,以检验总体设计中各模块间的接口设计问题、模块之间的相互影响、上层模块存在的各种差错及全局数据结构对系统的影响等方面。
(3)确认测试(也称验收测试,有效性测试):主要检验软件的功能和性能是否与需求说明书中的规定一致。
(4)系统测试:将软件系统作为一个元素,放入整个实际的计算机系统中, 与计算机硬件、其他软件、使用人员等系统元素结合在一起,在实际使用环境下进行综合全面的测试。