软件工程期末考试整理..doc
文本预览下载声明
一.知识点
1.软件:软件是一系列按照特定顺序组织的计算机数据和指令的集合。
2.软件工程:软件工程是:1.把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;2.研究把工程用用于软件中操作的途径。
本质特性:
软件工程关注于大型程序的构造:
软件工程的中心课题是控制复杂性;
软件产品交付使用后仍然需要经常修改;
开发软件的效率非常重要;
和谐地合作是成功地开发软件的关键;
软件必须有效地支持它的用户;
再软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人开发产品。
基本原理:
用分阶段的生命周期计划严格管理;
坚持进行阶段评审;
实行严格的产品控制;
采用现代程序设计技术;
结果应能清楚地审查;
开发小组的人员应该少而精;
承认不断改进软件工程实践的必要性。
软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
典型表现:
对软件开发成本和进度的估计常常很不准确;
经常出现用户对“已完成的”软件产品不满意的情况;
软件产品的质量往往达不到要求;
软件通常是很难维护的;
软件产品往往没有适当的文档资料;
软件成本在计算机系统总成本所占的比例逐年上升;
软件开发生产率提高的速度远远不能满足社会对软件产品的日益增长的需 求。
原因:
对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因。
轻视软件维护。
忽视软件需求分析的重要性。
软件开发方法增量开发,又叫增量式开发,是软件工程当中,一种常用的软件开发过程思想。其中增量是指在软件开发过程中,先开发主要功能模块,再开发次要功能模块,逐步完善,最终开发出符合需求的软件产品软件需求是(1)用户解决问题或达到目标所需条件或权能(Capability)。 (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。(3)一种反映上面(1)或(2)所述条件或权能的文档说明需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
数据字典子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
15.事务型数据流图:
变换型结构的数据流图呈一种线性状态,见图6-4-4所示,它所描述的工作可表示为输入、主处理及输出。事务型结构的数据流图则呈束状,见图6-4-5所示,即一束数据流平行流人或流出,可能同时有几个事务要求处理。
图6-4-4变换型结构的数据流图
耦合性模块的作用范围程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等。白盒测试[1]又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。黑盒测试法黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。主模块作为驱动模块,与之直接相连的模块用桩模块代替。在集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。多态性
29.泛化:即通常所说的继承关系,它是通用元素与具体元素之间的一种分类关系。
聚合:即聚集,是关联的特例,聚集表示类与类之间的关系是整体与部分的关系。
共享聚集
组合聚集
31.依赖:依赖关系描述两个模型元素(类、用例)之间的语义连接关系:如果独立的模型元素改变了,将影响依赖于它的模型元素。
32.软件的配置管理:软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是
显示全部