软件工程概论知识点汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
。
软件生命周期由
软件生存周期是指一个软件从提出开发要求开始直到
软件定义分3
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
3个方面。
开发时期由4
实现。
规则组成。
确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
选择和循环这3种基本控制接口进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。一个理想的测试用例能独立发现一类错误。
Jackson
4个阶段。
模块化是指把程序划分成独立命名切可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
软件复杂性度量的参数包括:
①规模②难度③结构④智能度
数据字典应该有下列4类元素的定义组成:
1、数据流;
2、数据流分量(即数据元素)
3、数据存储
4、处理
产生软件危机的原因?
一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
可行性研究的任务完成的过程?
1、首先需要进一步分析和澄清问题定义。
2、在澄清了问题定义之后,分析员应该导出系统的逻辑模型
3、然后从系统逻辑模型出发,探索若干种可供选择的主要解法
4、为每个可行的解法制定一个粗略的实现进度(进度表)
怎样进行可行性研究呢?(可行性研究过程有哪些?)
1、复查系统规模和目标
2、研究目前正在使用的系统
3、导出信系统的高层逻辑模型
4、进一步定义问题
5、导出和评价供选择的解法
6、推荐行动方针
7、草拟开发计划
8、书写文档提交审查
设计原理?
模块化;
抽象;
逐步求精;
信息隐藏和局部化;
模块独立;
从哪些方面验证软件需求的正确性?
(1)一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾;
(2)完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能;
(3)现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的;
(4)有效性:必须证明需求是正确有效的,确实能解决用户面对的问题。
对系统的综合要求?(需求分析的任务)
1、功能需求
2、性能需求
3、可靠性和可用性需求
4、出错处理需求
5、接口需求
6、约束
7、逆向需求
8、将来可能提出的要求
使用基本路径测试结束设计测试用例的步骤?
第一步,根据过程设计结果画出相应的流图。
第二步,计算流图的环形复杂度。
第三步,确定先行独立路径的基本集合。
层次方框图与层次图的区别?
①层次方框图描绘的是数据结构;层次图描绘的是软件的层次结构。
②层次方框图方框代表数据的子集或数据元素;层次图中方框代表一个功能模块。
③层次方框图连线表示组成关系;层次图中连线表示模块间调用关系。
简述软件生命周期开发方法的基本过程及每个阶段的任务。
软件生存周期:可行性分析和项目开发计划;需求分析;概要设计;详细设计;编码;测试;维护。基本任务:
①问题定义:要解决的问题是什么?
②可行性研究:研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。
③需求分析:确定目标系统必须具备哪些功能。
④总体设计:设计出实现目标系统的几种可能的方案;制定出实现最佳方案的详细计划,设计程序的体系结构。
⑤详细设计:设计出程序的详细规格说明,详细的设计每个模块,确定实现模块功能所需要的算法和数据结构。
⑥编码和单元测试:写出正确的容易理解、容易维护的程序模块。
⑦综合测试:通过各种类型的测试(及相应的调试)使软件达到预定的要求。
⑧软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。
简述何谓软件开发方法?请列举四种主要方法。
软件开发方法:结构化方法由结构化分析、结构化设计、结构化程序设计构成。它是一种面向数据流的开发方法。结构化方法总的指导思想是自顶向下、逐步求精。它的基本原则是功能的分解与抽象,它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题。
结构化方法、Jackson方法、维也纳开发方法、面向对象开发方法
什么是软件生存周期模型?请至少列举四种主要模型?
答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。
什么是“事务流”?
答:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干动作序列中选出一个来执行,这类数据流称为事务流。
传统方法学与面向对象方法学的区别以及各自的优缺点?
传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。