大连理工大学软件工程导论复习

合集下载

《软件工程导论》期末复习材料

《软件工程导论》期末复习材料

《软件工程导论》期末复习材料1、什么是软件危机?产生的主要原因有哪些?(1页)软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

主要原因:1)用户对软件需求的描述不精确。

2)软件开发人员对用户需求的理解有偏差。

3)缺乏处理大型软件项目的经验。

4)开发大型软件易产生疏漏和错误。

5)缺乏有力的方法学的指导和有效的开发工具的支持。

6)面对日益增长的软件需求,人们显得力不从心。

2、什么是瀑布模型,瀑布模型的缺点主要有哪些?(15页)瀑布模型将软件开发分成:需求分析、规格说明、设计、编码、综合测试和维护阶段,每个阶段必须完成规定的文档,必须等前一个阶段完成之后才开始下一个阶段的工作,前一个阶段输出的文档是下一个阶段的输入文档。

缺点主要包括:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。

3、什么是数据流图,数据流图由哪些基本符号组成?(40页)数据流图:简称DFD, ,主要用于SA(结构化分析)方法,它描绘信息流和数据从输入移动到输出的过程中所经受的变换,是一种功能模型. 基本符号有四种: ->,箭头,表示数据流; =,开口矩形或者两条平行线,表示数据存储; 正方形或者立方形,表示数据的源点或终点,圆角矩形或圆形,表示加工,也就是数据的处理;数据流图中每一个加工至少有一个输入流和一个输出流。

4、数据字典有哪几种元素组成?(47页)1)数据流,2)数据元素,3)数据存储,4)处理或者加工5、需求分析阶段的基本任务是什么(56页)1).问题识别,确定系统的综合需求和数据需求,包括a.功能需求b.性能需求c.环境需求d.用户界面需求e.出错处理的需求f.接口需求2).分析与综合,导出软件的逻辑模型.3).修正开发计划4).编写文档6、模块的内聚有哪几种?(99页)功能内聚(模块就是一个单一功能)、顺序内聚(模块中的处理必须顺序执行)、通信内聚(模块中所有任务都是对同一批数据操作)、过程内聚(模块中的处理必须按特定次序执行)、时间内聚(模块的任务要在同一时间段完成)、逻辑内聚(模块的任务在逻辑上属于一类)、偶然内聚(模块中的任务有很松散的关系)。

《软件工程导论》考试复习资料

《软件工程导论》考试复习资料

2016-2017年第一学期《软件工程》期末复习答疑一、怎样进行课程的总复习?将在16周最后的课程总复习课(串讲):第一、各章的复习重点;第二、适当讲解期末考试复习题。

下面给同学们提几点建议,供大家参考:(1)在进行课程的总复习前,应该完成课程的上机练习作业;(2)要进行全面地系统的复习,决不能靠猜题和押题等侥幸心理进行复习,因为结业考试的题量很大,内容覆盖非常广,所以必须进行全面地系统的复习;(3)在全面地系统复习基础上,掌握的课堂讲授的知识点。

尤其要抓住各章的重点和难点问题深入复习(我将会在最后一次复习课中强调的)。

(4)在全面复习的基础上,认真练习或阅读期末考试复习题(与考试题型一致)。

(5)所给的复习资料上未提到内容,只要求作一般性的掌握,可以不必去深究,但不代表一点不考,因为需要掌握《软件工程》中的一些常识。

二、课程理论考试试卷题型本课程理论考试是闭卷考试,题型包括:名词解释5题15分;单项选择题15题15分,填空题10题20分,判断题20题10分,问答与简述题5题20分。

综合题两题20分。

一、名词解释1、软件危机答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。

(2)软件产品的质量往往靠不住。

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2、需求分析答:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

3、Alpha测试答:用户在开发者的场所进行测试,并且在开发者的指导下进行,测试在受控环境中进行,开发者记录发现的错误和问题4、Beta测试答:用户在一个或多个客户场所进行测试,不受开发者控制,测试者记录发现的问题和错误,定期将问题报告发送给开发者。

软件工程导论复习重点总结很全第六版

软件工程导论复习重点总结很全第六版

第1章软件工程学概述1.1 软件危机1.1.1 软件危机旳简介软件危机(软件萧条、软件困扰): 是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。

软件危机包括下述两方面旳问题:怎样开发软件, 满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。

软件危机旳经典体现:(1)对软件开发成本和进度旳估计常常很不精确;(2)顾客对“已完毕旳”软件系统不满意旳现象常常发生;(3)软件产品旳质量往往靠不住;(4)软件常常是不可维护旳;(5)软件一般没有合适旳文档资料;(6)软件成本在计算机系统总成本中所占旳比例逐年上升;(7)软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。

1.1.2 产生软件危机旳原因(1)与软件自身旳特点有关(2)与软件开发与维护旳措施不对旳有关1.1.3 消除软件危机旳途径对计算机软件有对旳旳认识。

认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完毕旳工程项目。

应当推广使用在实践中总结出来旳开发软件旳成功技术和措施, 并继续研究探索。

应当开发和使用更好旳软件工具。

总之, 为了处理软件危机, 既要有技术措施(措施和工具), 又要有必要旳组织管理措施。

1.21.2.1 软件工程旳简介软件工程: 是指导计算机软件开发和维护旳一门工程学科。

采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它, 这就是软件工程。

(期中考)软件工程旳本质特性:软件工程关注于大型程序旳构造软件工程旳中心课题是控制复杂性软件常常变化开发软件旳效率非常重要友好地合作是开发软件旳关键软件必须有效地支持它旳顾客在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品1.2.2 软件工程旳基本原理用分阶段旳生命周期计划严格管理坚持进行阶段评审实行严格旳产品控制采用现代程序设计技术成果应能清晰地审查开发小组旳人员应当少而精承认不停改善软件工程实践旳必要性1.2.3 软件工程措施学软件工程包括技术和管理两方面旳内容。

软件工程导论2套复习题

软件工程导论2套复习题

一、填空题(每空1分)1.目前使用广泛的软件工程方法学包括哪两种?(传统方法学面向对象方法学)软件工程方法学包括哪三个要素?(方法、工具和过程)2.可行性研究的目的?(确定问题是否值得去解决)可行性研究的内容包括哪四个方面?(技术可行性;经济可行性;操作可行性;法律、社会效益可行性)3.单元测试P153第一段看懂。

4.软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。

为了估算项目的工作量和完成期限,首先需要估算软件的规模。

估算软件规模的方法有两种:分别是代码行技术和功能点技术。

1.喷泉模型体现了面向对象软件开发过程的?特性。

(迭代、无缝)2.测试是为了发现程序中的错误而执行程序的过程。

测试的方法从逻辑上说有两种,分别是黑盒测试和白盒测试,测试的步骤?(1、模块测试;2、子系统测试;3、系统测试;4、验收测试;5平行测试)3.需求分析阶段的基本任务是准确地回答“系统必须做什么?”这个问题。

传统软件工程方法学使用结构化分析技术,完成分析用户需求的工作。

需求分析阶段要建立三种模型,多数人习惯于使用实体—联系图建立数据模型,使用数据流图建立功能模型,使用状态转换图建立行为模型。

4.四种维护的概念看懂、区分开。

维护实质上是经历了一次压缩和简化了的软件的定义和开发过程。

二、判断(每题1分)1.编写程序是软件开发的主要工作。

2.构建原型是一种能使某些类型的风险降至最低的方法。

3.非单入单出的程序会出现内容耦合。

4.详细设计的任务是编写程序。

5.判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。

6.确认测试也称验收测试,是由用户参与的一种测试活动。

7.所有测试都应该能追溯到用户需求。

8.尽可能进行穷举测试。

9.在全部维护活动中一半以上是改正性维护。

10.维护工作通常采用非结构化维护。

1.人们对于软件危机的探究导致了软件工程学的产生。

2.做好软件定义时期的工作,是降低软件成本、提高软件质量的关键。

大连理工大学城市学院软件工程导论期末考试复习重点

大连理工大学城市学院软件工程导论期末考试复习重点

软件工程导论重点第一章重点:软件的概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。

软件危机概念:软件危机暴发于上个世纪六十年代末。

主要表现为:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。

软件开发周期长、成本高、质量差、维护困难。

软件工程概念:概括地说,软件工程是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程的目标:软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。

基本目标:付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作,及时交付使用软件生存期概念和包含内容:软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。

软件生存期分为三个时期软件定义软件开发运行维护软件工程的方法:软件工程包含技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科。

通常将软件开发全过程中使用的一整套技术方法的集合称为方法学(methedology),也称为范型(paradigm)。

目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。

软件工程三要素:三要素:方法、工具和过程。

第二章重点:生存期模型有哪些:•瀑布模型•快速原型模型•增量模型•螺旋模型•喷泉模型•统一过程•基于构件的开发模型•敏捷过程前四种面向过程后四种面向对象给一个模型,判断出是哪一模型的第三章重点:结构化分析方法的概念:传统的分析建模方法称为结构化分析(structured analysis,SA)方法。

软件工程导论复习整理(最新)

软件工程导论复习整理(最新)

第一章1..软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.软件与硬件的区别:软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

3.软件:程序、数据及相关文档的完整集合。

4.软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有校地维护它。

5.软件工程方法学三要素:方法、工具和过程。

6.传统方法学也称为生命周期方法学或结构化范型。

它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

7.面向对象方法学把数据和行为看成同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。

8.软件生命周期划分为三个时期:1软件定义(问题定义、可行性研究、需求分析),2软件开发(总体设计、详细设计、编码和单元测试、综合测试),3运行维护(软件维护)。

9.4类软件维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。

10.“瀑布模型”的缺点:它是由文档驱动的,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品;瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的产品不能真正的满足用户的需要。

11.快速原型模型的优点:原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求;开发人员通过建立原型系统已经学到了很多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。

第二章1.可行性研究的三个方面:技术可行性:使用现有的技术能实现这个系统经济可行性:这个系统的经济效益能超过它的开发成本操作可行性:系统的操作方式在这个用户组织内行得通2.数据流图的4个基本符号及画法P413.数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

大连理工大学软件工程导论复习讲述

大连理工大学软件工程导论复习讲述

大连理工大学软件学院
5
• 软件工程方法学
– 把在软件生命周期全过程中使用的一整套技术的集合称为 方法学(methodology),也称范型(paradigm)。
– 软件工程方法学三个要素:方法、工具和过程。
• 方法是完成软件开发各项任务的技术,回答“如何做”; • 工具是为方法的运用提供自动或半自动软件支撑环境,回答“用什 么做”;
• 瀑布模型:力求一次性 给用户完整的系统。 • 增量模型:逐步增加系 统功能。 • 需要开放的架构设计。
增量模型
2017/10/31 大连理工大学软件学院 14
完整的螺旋模型
2017/10/31 大连理工大学软件学院 15
喷泉模型
• 迭代是OO开发过程的主要特性。 • 喷泉模型是典型的面向对象生命周期模型。 • “喷泉” 体现了面向对象软件开发过程迭代和无缝的特性。
3. 需求分析 4. 概要设计 5. 详细设计 6. 编码和单元测试 7. 综合测试 8. 软件维护
2017/10/31 大连理工大学软件学院 11
软件过程模型(生命周期模型)
实际的瀑布模型
2017/10/31 大连理工大学软件学院 12
快速原型模型
2017/10/31 大连理工大学软件学院 13
2017/10/31 大连理工大学软件学院 21
数据流图
• 数据流图(DFD) 描绘信息流和数据从输入 移动到输出的过程中所经受的变换。





数据的源点或终点
数据流


2017/102
加工中常见关系的符号表示

*

T


由数据A和B共同变换为数据C

软件工程导论第五版复习重点(必考题)

软件工程导论第五版复习重点(必考题)

软件工程导论第五版复习重点(必考题)(最后部分为每年必考题)第一章1. .软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。

它借鉴传统工程的原则、方法,以提高质量,降低成本为目的.2. 软件危机的概念:软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。

3. 产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。

造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。

(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。

4. 面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类 3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。

4.对象彼此间仅能通过发送消息互相据流图而不是程序流程图。

4. 书库流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

在数据流图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。

数据流图是系统逻辑功能的图形表示。

5. 用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。

有数据元素组成的数据的方式只有下述3种基本类型:顺序(即以确定次序连接两个或多个分量)。

选择即从两个或多个可能的元素中选取一个重复即把指定的分量重复零次或多次第三章1.访谈有两种基本形式,分别是正式的和非正式的访谈2.所谓情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析3.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。

软件工程导论第五版复习资料全

软件工程导论第五版复习资料全

软件危机的表现
1)对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个
数量级、 实际进度比计划进度拖延几个月甚至几年的现象,
从而降低了开发商的信誉, 引起
用户不满。
2)用户对已完成的软件不满意的现象时有发生。
3)软件产品的质量往往是靠不住的。
4)软件常常是不可维护的。
5)软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作
读输入
计算最佳解
编辑结果
编辑输入
输出结果
解 格式化 的解
结果格式化
格式化 的解
显示结果
.专业 .整理 .
下载可编辑
M
M
A
B
A
B
C
a.选择调用
b.循环调用
7、面向数据流的设计方法 变换分析
变换分析是一系列设计步骤的总称, 确定的模式映射成软件结构。
经过这些步骤把具有变换流特点的数据流图按预先
1)重画数据流图;确定其具有变换流特征。
设: i 表示年利率,现在存入 P 元, n 年后的价值为 F 元,
则有:
F=P
(1 + i )n
如果 n 年后能收入 F 元,这些钱折算成现在的价值称为折现值,折现公式为:
P=F/
(1 + i )n
2)纯收入。 是指在整个生存周期系统的累计收入的折现值
PT 与总成本折现值 S T 之差,
以 T 表示,则有:
3)深度、宽度、扇出和扇入都应适当
4)模块的作用围应在控制围之
5)力争降低模块接口的复杂程度 6)设计单入口单出口的模块
7)模块功能应该可以预测
6、描绘软件结构的图形工具(层次图、 HIPO 图、结构图)

软件工程导论复习

软件工程导论复习

软件工程导论复习一、概念:1.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.软件工程:是指导软件开发与维护的工程性学科,采用工程的概念、原理、技术和方法来开发与维护软件。

3.软件工程的7条基本原理:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果可以清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性4.软件生命周期:从软件定义开始到软件被废弃所经历的整个时期,它包括软件定义、软件开发和运行维护3个时期,每个时期又进一步划分成若干个阶段。

5.软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

6.瀑布模型的特点:(1)阶段间具有顺序性和依赖性(2)推迟实现的观点(典型特点)(3)质量保证的观点7.可行性研究的任务目的:用最小的代价和尽可能短的时间判断问题是否值得去解8.系统流程图:用来描述物理系统的工具。

9.数据流图(DFD):是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换,即数据流图描绘数据在软件中流动和被处理的逻辑过程。

10.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。

11.数据模型中包含3种互相关联的信息:(1)数据对象(2)数据对象的属性(3)数据对象彼此间相互连接的关系12.信息隐藏原理:应这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。

13.数据耦合:如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。

14.控制耦合:如果传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现),则这种耦合称为控制耦合。

15.黑盒测试法:把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程,是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,黑盒测试又称为功能测试。

软件工程导论期末复习重点

软件工程导论期末复习重点

软件工程导论期末复习重点选择、判断略一、名词解释1、软件危机 2 、软件工程 3 、数据字典 4 、模块化 5 、黑盒测试6、软件维护7 、软件过程8 、快速原型9 、白盒测试二、简答题1、可行性研究目的和任务?2、可行性研究包括哪几方面的内容?3、简述需求分析的描述工具和基本任务?4、什么是模块化?模块设计的准则?5、详细设计阶段的根本目标和任务?6、比较面向数据流和面向数据结构两类设计方法的异同?7、测试与调试的主要区别?8、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。

9、比较层次方框图与结构图的异同?10、结构化程序设计的基本原则?11、提高软件编码效率的3 条原则?、名词解释1、软件危机答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

2、软件工程答:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

3、数据字典答:数据字典是描述数据流图中数据的信息的集合。

它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。

4、模块化答:模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

5、黑盒测试答:黑盒测试也称为功能测试, 它着眼于程序的外部特征, 而不考虑程序的内部逻辑结构。

测试者把被测程序看成一个黑盒, 不用关心程序的内部结构。

黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

软件工程导论 复习整理

软件工程导论 复习整理

1.软件危机的概念2.产生软件危机的原因(了解)3.消除软件危机的途径4.软件工程的概念5.软件工程的本质特性(7个)6.软件工程的基本原理(7个)7.传统方法学和面向对象的比较(各自的优缺点)8.软件生命周期的8个阶段以及各阶段的基本任务9.软件过程中使用的5个模型以及各自的特点瀑布模型:1)瀑布模型具有顺序性和依赖性。

2)推迟实现的观点:把逻辑设计与物理设计清楚地划分开,尽可能推迟物理模型的实现。

3)质量保证的观点:每一步都循序渐进,及早消除隐患,从而保证软件质量。

缺点:只有做出精确的需求分析,才能取得预期的结果。

由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患。

快速原型模型:1)开发人员和用户在“原型”上达成一致。

2)缩短开发周期,加快工程进度。

3)降低成本。

缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。

这往往给工程继续开展带来不利因素。

增量模型:1)增量模型是一种非整体开发的模型。

2)该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。

缺点:要求软件具有开放的结构是这种模型固有的困难,可能会导致设计差、效率低、维护难。

螺旋模型:1)风险驱动,有利于软件重用。

2)建立在风险分析的基础上,绝对依赖人的素质。

3)开发中的每一层都很有弹性,并不是很明确的界限;每一层的目标和计划都是由小组本身来制定。

缺点:很难让用户确信这种演化方法的结果是可以控制的。

喷泉模型:1)充分体现了面向对象软件开发过程迭代和平滑过渡的特性。

2)各个阶段没有明显的界限,开发人员可以同步进行开发。

3)适应于面向对象的软件开发过程。

缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。

此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

10.Rational统一过程(简称RUP,了解)11.敏捷过程的宣言(4个)12.极限编程&微软过程(了解)第2章1.可行性研究的任务(4个)2.系统流程图(了解)3.数据流图&数据字典(会画)4.单元练习题51.需求分析的目的2.获取需求的方法3.需求分析的图形工具(5个,重点掌握前2个)第5章1.总体设计的目的和原理原理:模块化;抽象;逐步求精;信息隐藏和局部化;模块独立2.耦合&内聚(从强到弱的顺序,各7个)耦合:1)内容耦合:当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。

软件工程导论期末复习重点

软件工程导论期末复习重点

软件工程导论期末复习重点软件工程期末复习一、软件工程学概述1.软件危机:计算机开发和维护的过程中所遇到的一系列问题名词解释(需要加上软件危机产生的原因)对用户的要求没有完整准确的认识就匆忙着手编写程序论述题(需要加上软件危机的典型表现)01.对软件开发成本和嫉妒的估计常常不准确02.用户对已完成软件系统的不满意情况经常发生03.软件的质量靠不住2.软件工程:指导计算机开发和维护的一门工程学科?名词解释3.软件工程方法学的三要素:方法、工具、过程4.软件生命周期的三个时期:软件定义、软件开发、运行维护01.软件定义时期的三个阶段:问题定义、可行性研究、需求分析02.软件开发时期的四个阶段:总体设计、详细设计、编码、单元测试,综合测试,前两个称系统设计,后两个称系统实现03.软件维护时期:只要任务是使软件持久的满足用户的需要,具体的说,当软件在使用过程中发现错误时应该加以纠正,当环境改变时应修改软件以适应新的环境,当用户有新的需要时,应该及时改进软件以满足用户新的需求,本时期不在划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程5.可行性研究的结果是客户做出是否继续这项工程的决定的重要依据,只有投资取得较大收益的的那些工程项目才是值得继续进行下去的6.需求分析的目标是:确定出系统必须具备哪些功能,和用户密切配合,充分交流信息,以得出经过系统确认的系统逻辑模型7.软件维护的四类维护活动:01.改正性维护:改正和诊断在使用过程中发生的软件错误02.适应性维护:修改软件以适应新的环境变化03.完善性维护:根据用户的需求改善和扩充软件使它更完善04.预防性维护:为将来的维护活动事先做准备8.瀑布模型: ?论述题01.传统的瀑布模型开发软件的特点A.阶段间具有顺序性和依赖性B.推迟实现的观点C.质量保证的观点02.软件配置:程序、文档、数据03.注释有什么用:提高代码的可读性(有待补充)二、可行性研究1.可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决2.从三个方面研究每种解法的可读性;01.技术可行性:使用现在的技术能实现这个系统吗?02.经济可行性:这个系统的经济效益能超过它的开发成本吗?03.操作可行性:系统的操作方式在这个用户组织内能行得通吗?3.系统流程图:是概括的描绘物理系统的传统工具。

软件工程导论复习重点一

软件工程导论复习重点一

1.软件是程序、数据及相关文档的完整集合。

2.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

3.软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求。

如何维护数量不断膨胀的已有软件。

4.软件危机的典型表现:对软件开发成本和进度的估计常常很不准确;用户对“已完成的”软件系统不满意的现象经常发生;软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

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

6.消除软件危机的途径:首先应该对计算机软件有一个正确的认识。

其次必须充分吸取和借鉴人类从事计算机硬件研究和开发的经验教训。

还要在适当的软件工具辅助下,开发人员可以把这类工作做得既快又好。

软件工程正是从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。

7.软件工程师指导计算机软件开发和维护的一门工程学科。

8.把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。

9.软件工程方法学包含3个要素:方法、工具和过程。

方法是完成软件开发的各项任务的技术方法,回答“怎么做”的问题。

工具是为运用方法而提供的自动的伙伴自动的软件工程支撑环境。

过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

10.目前使用最广泛的软件工程方法学是传统方法学和面向对象方法学。

传统方法学(也称生命周期方法学额或结构化范型)。

前一阶段任务的完成是开始进行后一阶段工作的前提和基础,而后一阶段任务的完成通常是使前一阶段提出的揭发更进一步具体化,加进了更多的实现细节。

审查的主要标准就是每个阶段都应该提交“最新式的”高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置交付使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化-静态分析,面向对象-动态分析
世界万物是变化的
2020/9/10
h
7
传统方法的特点
生命周期模型 软件过程划分为若干个阶段 每个阶段有各自的任务 阶段之间有某种顺序性
2020/9/10
h
8
面向对象方法:
Everything is Object.
1. 对象作为融合数据及在数据之上的操作行为的统一的软件构件。
*
T
T* +T
T+ T
T
含义
由数据A和B共同变换为数据C
由数据A变换为数据B和数据C
由数据A或B,或者数据A和B共同变换为数据C
由数据A变换为数据B或C,或者同时变换为数据B和C
由数据A或B其中之一变换为数据C
由数据A变换为数据B或C其中之一
h
23
组成数据流图的元素可以从描述问题的信息中提取
源点/终点
软件工程方法学
把在软件生命周期全过程中使用的一整套技术的集合称为方法学(methodology),也 称范型(paradigm)。 软件工程方法学三个要素:方法、工具和过程。
• 方法是完成软件开发各项任务的技术,回答“如何做”; • 工具是为方法的运用提供自动或半自动软件支撑环境,回答“用什么做”; • 过程是为获得高质量的软件要完成的一系列任务的框架,规定完成各项任务步骤,回答“如何控
软件工程复习
大连理工大学软件学院
第1章 基础知识
2020/9/10
h
2
什么是软件
软件的定义—软件由三部分组成:
程序:在运行时,能提供所希望的功能和性能的指令集 数据:使程序能够正确运行的数据 文档:描述程序研制过程、方法及使用的文档
软件处理的是信息和逻辑
软件的开发,绝不仅仅是编写程序
软件围绕着逻辑进行
数据字典的用途是供人查阅不了解的条目的解释。提供分析设计过 程中关于数据的描述。
制、协调、保证质量”。
管理方法
2020/9/10
h
6
传统方法学与面向对象方法学
目前使用得最广泛的软件工程方法学。 传统方法学也称为生命周期方法学或结构化范型。
当软件规模较大,或对软件的需求是模糊的或随时间变化的时候,使用结构化范型开发软 件往往不成功; 此外,使用传统方法学开发出的软件,维护起来通常都很困难。
数据:静态
2. 把所有对象都划分成类(Class)。每个类都定义了一组数操据作和:动一态组操作。
3. 按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一 个层次结构的系统(也称为类等级)。在类等级中,下层派生类自动拥有上层基 类中定义的数据和操作,称为继承。
4. 对象彼此间仅能通过发送消息互相联系-封装性。
软件就是一个信息交换器
产生、管理、获取、修改、显示或传送信息
2020/9/10
h
3
• 什么是软件危机
– 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件工程(IEEE)
1993年,提出软件工程 1) 将系统化、规范化、可量化的工程原则和方法,应用于软件的开发、运 行和维护。 2) 对1)中方法的理论研究。
迭代是OO开发过程的主要特性。 喷泉模型是典型的面向对象生命周期模型。 “喷泉” 体现了面向对象软件开发过程迭 代和无缝的特性。
喷泉模型
h
17
可行性与需求分析
可行性研究
不是解决问题,而是确定问题是否值得去解决 较高层次的系统分析和设计过程
需求分析
。 发现、求精、建模、规格说明和复审的过程 反复求精多次细化,得出对目标系统的完整、准确和具体的要求。 建立数据模型、功能模型和行为模型等三种模型。
• 箭头确定通过系统的逻辑 路径(信息流动路径)
2020/9/10
h
21
数据流图
数据流图(DFD) 描绘信息流和数据从输入移动到输出的过程中所经受的变换。
符号

或 或
含义 数据的源点或终点 数据流 数据存储 加工(数据处理)
2020/9/10
h
22
加工中常见关系的符号表示
2020/9/10
符号
还要写出准确的软件需求规格说明。
2020/9/10
h
19
系统流程图
系统流程图 概括描绘物理系统的传统工具 用图形符号,以黑盒子形式描述组成系统的每个部件 程序、文档、数据库、人工过程
2020/9/10
h
20
系统流程图例子
例子
• 每个符号用黑盒子形式定 义了组成系统的一个部件。
• 没有部件内部的具体工作 过程
2020/9/10
h
15Biblioteka 喷泉模型迭代是OO开发过程的主要特性。 喷泉模型是典型的面向对象生命周期模型。 “喷泉” 体现了面向对象软件开发过程迭代和无缝的特性。 为避免喷泉模型的过分无序,把一个线性过程作为总目标。
迭代
2020/9/10
h
16
2020/9/10
• 迭代:逐步求精 • 阶段间没有明显的界限-面向对 象的思想保证了各个阶段开发的一 致性。
处理
采购员
产生报表
仓库管理员
处理事务
数据流
数据存储
定货报表
定货信息
零件编号 零件名称
(见定货报表) 库存清单
定货数量
零件编号
目前价格
库存量
主要供应者
库存量临界值
次要供应者 事务
零件编号* 事务类型
数量*
2020/9/10
h
24
2020/9/10
把处理事务的功能进一步分解后的数据流图
h
25
数据字典是关于数据的信息的集合,即对DFD图中包含的元素的定 义的集合。
2020/9/10
h
4
软件工程基本原理 (开发与维护的指导) 1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性
2020/9/10
h
5
2020/9/10
h
9
1.3 软件生命周期
软件生命周期由软件定义、软件开发和运行维护三个时期组成,每 个时期又可进一步划分成若干个阶段,每个阶段有各自的任务。
1
软件定义
2
软件开发
3
运行维护
2020/9/10
h
10
1. 问题定义 2. 可行性研究 3. 需求分析
4. 概要设计
5. 详细设计
6. 编码和单元测试
7. 综合测试
8. 软件维护
2020/9/10
h
11
软件过程模型(生命周期模型)
实际的瀑布模型
2020/9/10
h
12
快速原型模型
2020/9/10
h
13
• 瀑布模型:力求一次性给用户完 整的系统。 • 增量模型:逐步增加系统功能。 • 需要开放的架构设计。
增量模型
2020/9/10
h
14
完整的螺旋模型
相关文档
最新文档