软件工程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.软件的定义:软件=程序+数据+文档

2.软件的特点:(1)软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

(2)软件的生成与硬件不同,既没有明显的制造过程;也不想硬件那样,一旦研制成功,就可以完全重复地制造,并在制造过程中进行质量控制,以保证产品的质量。

(3)软件不会被“用坏”,但是较难维护。(4)软件本身是复杂的,是人类能够创造的最复杂的产物。(5)软件成本昂贵。

3.软件的分类:a.按软件的功能进行划分,有系统软件、支撑软件和应用软件。b.按软件的规模划分,微型、小型、中型、大型、甚大型、较大型。c.按软件工作方式划分,有实时处理软件、分时软件、交互式软件和批处理软件。d.按服务对象的范围划分,有项目软件和产品软件。

e.按软件使用频度进行划分,有仅供一次使用和频繁使用。

f.按软件失效的影响进行划分,有普通软件和关键软件。

4.产生软件危机的原因:一类与软件的特点有关,另一类与软件开发和维护的方法不正确有关。

5.克服软件危机的方法:一方面是采用技术措施,包括吸取和借鉴在别的工程项目和在软件开发实践中已取得的成功技术和方法,开发和使用更好的软件工具等;另一方面是采用必要的组织管理措施,因为软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工作项目。总之,解决软件危机,既要有技术措施,又要有管理措施。软件工程是从这两方面研究如何更好地开发和维护计算机软件的一门新兴学科。

6.软件工程的三要素:方法、工具、过程

7.软件工程种的常用开发方法:面向过程的方法、面向数据的方法和面向对象的方法

面向过程的方法又称面向功能方法,习惯上还叫结构化方法。

面向数据的方法,是一种面向数据结构的开发方法,所以也称面向数据的方法。

8.现代软件工程研究的内容应该涵盖“软件开发模型、软件开发方法、软件支持过程、软件管理过程”。

9.软件生存周期是指一个软件从提出开发要求开始知道该软件报废为止的整个时期。

10.技术审查:通常有技术专家组成的审查小组来承担审查工作。

11.技术审查的目的是发现错误而不是改正错误。

12.管理复审的主要任务是软件生存周期的每个重要的里程碑,对工程

项目的成本、实际花费的经费。投资回收的前景、项目的进度等的经济因素从管理角度进行审查。

13.基线:是软件工作产品。它是要经过内部和外部评审过的,并且是下一个阶段工作的基础,一根基线是一个里程碑或一个检查点

14.检查点:是由时间、计划、时事件驱动的检查工作进度和质量的一个记号,一个检查点不一定是基线或里程碑

15.里程碑:是一个记号,只需经过内部评审,它是一个检查点,但不一定是基线

16.现有系统\目标系统:现有系统是用户当前正在使用的系统(可能是手工系统);目标系统是将要实现的系统。

17.常用的软件开发模型:a.瀑布模型 通过文档驱动 b.增量模型 由任务或功能模块驱使的 c.原型模型 通过原型进行驱动 d.喷泉模型 以对象驱动 e.迭代模型 f.螺旋模型 是风险驱动模型

18.软件项的来源:一类是软件立项,就是一预计的销售额为目标为自己做软件项目;另一类是软件合同,是以满足合同规定的内容为目标为别人做项目。

19.可行性研究的任务:技术可行性,经济可行性,社会可行性 1.需求分析的重要性体现在哪些方面?

重视需求分析能获得多方面的好处。最大的好处是能使开发后期和整个维护阶段要重做的工作大大减少。Boehm(1981)发现要改正在产品付诸应用后所发现的一个需求方面的缺陷比在需求阶段改正这个错误要付出68倍的成本。近来,很多研究表明这种错误导致成本放大因子可以高达200倍。因此需求分析的重要性应引起足够重视,认为在需求上消耗太多时间就会导致产品开发推迟的观点是不可取的。需求分析通常要占整个软件开发时间或工作量得30%左右。

2.需求分析的特点:软件的复杂性;客户对软件开发的理解程度不同,容易产生交流障碍;分析不完备性和不一致性;需求具有动态性。

3.需求分析的方法:常用的有功能分解法,结构化分析法、信息建模法和面向对象分析法。

4.结构化分析法:是一种从问题空间到某种表示的映射的方法,它由数据流图和数据字典组成。

5.结构化法是软件工程产生后首先提出来的软件开发方法,也是一种较为实用的方法,它由结构化分析(SA),结构化设计(SD)和结构化程序设计(SP)三部分组成,即分析、设计到实现都采用结构化思想。

6.结构化分析采用的工具有:(1)数据流图(DFD)。用于描述系统的

分解,即描述系统由哪些部分组成,各部分间有什么联系等。(2)数据字典(DD):用于定义数据流图中的数据加工。它是数据流条目、数据存储条目、数据项条目和基本加工条目的汇集。(3)描述加工逻辑的结构化语言、判定树、判定表。它们是描述数据流图中不能被再分解的每一个基本加工的处理逻辑。

7.DFD的分层方法:(1)画系统的输入输出。即先画顶层数据流图。顶层数据流图只包含一个加工,顶层图只有一张。

8.绘制DFD注意事项:合理地命名;编号的设置,子图中加工编号由子图号、小数点与局部号组成;父图与子图的平衡;局部数据存储,当某层数据流图中的数据存储不是父图中加工的外部接口,而只是本图中某些加工之间的数据接口,则这些数据存储为局部存储;加工的分解与分细程度,不是分的越细就越好;其他。

9.需求分析的任务:(1)理解。也就是问题识别。具体包括,详细的软件功能需求;性能需求;环境需求;有关限制需求;将来可能提出的要求。(2)分解(3)表达,也就是编写文档,具体包括:编写“需求说明书”,把双方共同的理解和分解结果用规范的方式表达出来,作为今后各阶段工作的基础;编写初步的用户使用手册,着重反映软件的用户功能界面和使用的具体要求,用户使用手册能强制分析人员从用户的观点考虑软件;编写确认测试计划,作为今后确认和验收的依据;评审。

10.结构化方法的特点:(1)它是使用最早的开发方法,发展较为成熟,,所以成功率较高。(2)该方法简单、实用、易掌握,适应于瀑布模型,也特别适合于数据处理领域中的应用,所以应用最广。(3)难以解决软件重用问题,难以适应需求的变化,所以对规模大的项目、特别复杂的应用不太适应。

11.数据字典:就是用来定义数据流图中各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

12.加工逻辑:也称为“小说明”,描述加工逻辑一般用结构化语言。判定树挤及定表。

13.加工逻辑的工具的优缺点:对于顺序执行和循环执行的动作,用结构化语言描述;对于存在多个条件复杂组合的判断问题,用判定表和判定树。判定树比判定表直观易读,判定表进行逻辑验证较严格,能把所有问题都考虑到。可将两种工具结合起来,先用判定表作底稿,在此基础上产生判定树。

14.交互设计(外部设计)的重要性:(1)不好的交互设计容易产生认

相关文档
最新文档