软件工程知识点总结_软件工程复习点总结
软件工程知识点总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程复习点总结”。
软件工程知识点总结
软件工程知识点总结
1.软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.软件危机产生的原因:1.软件本身的复杂性、难衡量的特点;2.软件开发与维护的方法不正确。
3.软件的定义:计算机程序、方法、规则、相关文档资料以及在计算机上运行程序时所必需的数据
4.软件不是程序,软件是程序、数据以及相关文档的完整集合。
5.程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。
6.软件生命周期:一个软件从定义、开发、使用和维护,直到最终被废弃所经历的一个漫长时期。
7.软件开发的过程:
①问题定义:确定要求解决的问题是什么
②可行性研究:决定该问题是否存在一个可行的解决办法
③需求分析:深入了解用户的要求,在要开发的目标系统必须做什么问题和用户取得完全一致的看法。④概要设计:概括回答怎样实现目标系统。概要设计又叫逻辑设计、总体设计、高层设计。
⑤详细设计:把解法具体化,设计出程序的详细规格说明。详细设计也叫模块设计、底层设计。⑥编码和单元测试:编写程序的工作量只占软件开发全部工作量的10%-20%。
⑦综合测试:软件测试的工作量通常占软件开发全部工作量的40%-50%。
⑧软件维护:软件维护的费用通常占软件总费用的55%-70%。
①②③为软件定义时期,④⑤⑥⑦为软件开发阶段。④⑤为系统设计,⑥⑦为系统实现。
中国国家标准《计算机软件开发规范》将软件生命周期分为:可行性研究与计划,需求分析,概要设计,详细设计,实现,组装测试,确认测试,使用和维护8个阶段。
8.软件工程:是指导计算机软件开发和维护的工程学科。软件工程采用工程的概念、原理、技术和方法来开发和维护软件,结合正确的管理技术和先进可靠的技术方法,经济地开发出高质量的软件,并有效地维护它。
9.软件工程方法学:方法、工具和过程。普遍使用的是传统方法学和面向对象方法学。
10.瀑布模型:唯一被广泛采用的模型,各阶段间具有顺序性和依赖性:前阶段完成才能进行下一阶段。文档驱动。
原型模型:快速建立一个能反映用户主要需求的原型系统让用户试用,并根据用户意见修改原型。原型的用途是获知用户真正需求,一旦需求确定,原型将被抛弃。当用户对系统的目标不是很清楚,难以定义需求,可用此法。
增量模型:也叫渐增模型。整个软件被分解成许多各增量构件,设计人员分批地逐步向用户提交产品,每次用户都得到一个满足部分需求的可运行产品。优点:能在短时间内向用户提交可完成部分工作的有用产品,易于维护。
螺旋模型:使用原型及其他方法来尽量降低风险。它类似于原型法,不过在每个阶段之前都增加了风险分析过程。
螺旋模型适用于内部开发的大规模软件项目。螺旋模型的优势在于它是风险驱动的。
V型模型:从需求分析就开始编写测试计划一直到系统交付。需求分析对应于验收测试,概要设计对应于系统测试,详细设计对应于集成测试,编码对应于单元测试,这样先产生计划再执行测试,在测试的每个阶段都进行审查.喷泉模型:是一种典型的适合于面向对象范型的过程模型,支持开发过程中的迭代。
瀑布模型注重冻结需求的理念、Up模型注重增量迭代/用例驱动、V型模型讲究质量保证理念、Xp模型讲究沟通。
11.实体-关系图(E-R图),用于建立数据模型,其中包含了实体、关系、属性。
12.数据流图(DFD):描绘信息流和数据输入输出的移动过程。是结构化分析过程中使用的主要建模工具。功能建模。
13.状态转换图:通过描述系统的状态及引起系统状态转换的事件,表示系统的行为,提供了行为建模的机制。
3/29/2013 1
软件工程知识点总结
14.数据字典:描述在数据模型、功能模型和行为模型中出现的数据对象和控制信息的特征,给出这些对象的精确定义。数据字典是分析模型的核心,通常使用CASE工具来创建和维护数据字典。
15.结构化设计的几个阶段:数据设计、体系结构设计、接口设计、过程设计(是详细设计阶段的主要任务)。
结构设计属于概要设计阶段。接口设计(包括I/O设计)和过程设计属于详细设计阶段。人机界面设计属接口设计。
16.基本设计原理:模块化、抽象、逐步求精、信息隐藏、模块独立(功能独立,和其它模块没有过多相互作用)。
模块独立的好处:易开发、易测试、易维护。模块独立程度的衡量标准:内聚和耦合。
17.内聚衡量模块内各元素之间结合的紧密程度。耦合衡量不同模块之间连接的紧密程度。
数据耦合→控制耦合→公共环境耦合→内容耦合(高)
(低内聚)偶然内聚→逻辑内聚→时间内聚→(中内聚)过程内聚→通信内聚→(高内聚)顺序内聚→功能内聚
模块独立性设计原则:提高内聚,降低耦合18.表示软件结构:层次图、HIPO图、结构图。过程设计:程序流程图、盒图(N-S图)、PAD图、判定表、判定树。
19.软件测试分:单元测试和综合测试。软件项目管理从项目计划开始,第一项计划活动是估算。
白盒测试:也称结构测试,逻辑驱动测试,基于代码的测试,测试程序内部的逻辑结构和过程性细节,前期使用。
黑盒测试:即功能测试,在程序接口进行测试,测试后期使用。具体办法:等价划分、边界值分析、错误推测。
20.IEEE 1058.1给出软件项目管理计划的框架;ISO9000-3标准适用于软件的开发、供应、维护;
ISO/IEC12207是指导软件过程实施的标准;ISO/IEC TR 15504是软件过程评估标准。软件质量保证-SQA。
21.软件重用是降低软件整体成本、提高软件质量和开发生产率的合理有效途径。
可重用的软件成分:软件的技术表示(结构模型、设计和代码)、文档、测试数据、与过程相关的任务(如审查)。
22.软件可移植性:指软件从某一环境移植到另一环境下的难易程度。为方便移植,要尽量采用通用的程序设计语言。
3/29/2013 2