软件工程复习提纲PPT

合集下载

软件工程复习大纲PPT共20页

软件工程复习大纲PPT共20页
软件工程复习大纲
11、战争满足了,或曾经满足过人的 好斗的 本能, 但它同 时还满 足了人 对掠夺 ,破坏 以及残 酷的纪 律和专 制力的 欲望。 ——查·埃利奥 特 12、不应把纪律仅仅看成教育的手段 。纪律 是教育 过程的 结果, 首先是 学生集 体表现 在一切 生活领 域—— 生产、 日常生 活、学 校、文 化等领 域中努 力的结 果。— —马卡 连柯(名 言网)
13、遵守纪律的风气的培养,只有领 导者本 身在这 方面以 身作则 才能收 到成效 。—— 马卡连 柯 14、劳动者的组织性、纪律性、坚毅 精神以 及同全 世界劳 动者的 团结一 致,是 取得最 后胜利 的保证 。—— 列宁 摘自名言网
15、机会是不守纪律的。——雨果
6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡

软件工程复习范围汇总PPT课件

软件工程复习范围汇总PPT课件

测试
运 行 运行与维护 期
发现错误和排除错误 测试报告
维护
改进的系统
第12页/共166页
另一独立的部门 用户、高级程序员
软件生存期模型
软件生存期模型是跨越整个生存期的系统开发、运作和 维护
所实施的全部过程、活动和任务的结构框架。
• 瀑布模型 • 原型模型 • 螺旋模型 • 喷泉模型
第13页/共166页
外部实体
------ 位于软件系统边界之外的信息生产者 或 消费者
数据流
------ 在转换之间有向流动的数据项或数据 集合
数据存储文件 ------可以是数据库文件或任何形式的数据组织。箭头
向内则表示写入文件或查询文件,箭头向外则表示从文
件中读取数据或得到查询结果
第40页/共166页
输入
数据的 加工或
计算、编译系统等)很重要。
第55页/共166页
OMT模型系统分析设计过程
产生需求 建立模型
问题描述




对象模型、动态模型、功能模型
结构及对象 设计

详细的对象模型

详细的动态模型

详细的功能模型

第56页/共166页
Category
Class-&-Object
Structure
1、基本过程 Attribute Method
……
第48页/共166页
2、数据字典定义符号
符号 含 义
例子
= 被定义为
+与 [] 或
x=a+b,则表示 x 由 a 和 b 组成 x=[a,b],则表示 x 由 a 或由 b 组成

软件工程复习大纲.pptx

软件工程复习大纲.pptx

投资回收期仅仅是一项经济指标;为了衡量一 项开发工程的价值,还应该考虑其他经济指标。
8
(3)纯收入
衡量工程价值的另一项经济指标是工程的纯收 入,也就是在整个生命周期之内系统的累计经济效 益(折合成现在值)与投资之差。这相当于比较投资 开发一个软件系统和把钱存在银行中(或贷给其他 企业)这两种方案的优劣。如果纯收入为零,则工 程的预期效益和在银行存款一样,但是开发一个系 统要冒风险,因此从经济观点看这项工程可能是不 值得投资的。如果纯收入小于零,那么这项工程显 然不值得投资。
输入 1
输出 1
加工
系统
数据存储/文件 基本系统模型
输入 2
输出 2
11 下图是一个飞机机票预定系统的基本系统模型
订票单
机票预定 系统
机票 帐单
12 下图是机票预定系统的DFD
订票单 旅行社
预定机 票
航班
费用
航班目录
记帐
机票准 备
机票
帐单
旅客
记帐文件
13
DFD图各成分的作用和注意事项: 数据流 由一组数据项组成
进一步分析和澄清问题定义 探索若干种可能的解法 Operational feasibility,操作可行性
系统的操作方式在这个用户组织内行得通? Technical feasibility,技术可行性
使用现有的技术能实现这个系统吗? Economic feasibility,经济可行性
这个系修改一个已有的库存清单系统,使它能在每天送 给采购员一份定货报表。修改已有的库存清单程序并且编 写产生报表的程序,估计共需5000元;系统修改后能及 时定货将消除零件短缺问题,估计因此每年可以节省 2500元,五年共可节省12500元。但是,不能简单地把 5000元和12500元相比较,因为前者是现在投资的钱, 后者是若干年以后节省的钱。假定年利率为12%,利用上 面计算货币现在价值的公式可以算出修改库存清单系统后 每年预计节省的钱的现在价值,如表所示。

Removed_软件工程总复习201553

Removed_软件工程总复习201553

第一章:软件工程概述1.软件及软件开发的特点是什么?(ppt)答:抽象性:逻辑实体,而非具体的物理实体无明显制造过程无磨损性:不会老化对硬件的依赖性:开发和运行受计算机系统限制软件的手工开发方式本身的复杂性:实际问题的复杂性程序逻辑结构的复杂性高成本相当多的软件工作涉及到社会因素2.软件危机是什么?(P1)软件危机有哪些表现?(P2)产生软件危机的主要原因是什么?(Ppt)答:软件危机:计算机软件在开发和维护过程中所遇到的一系列严重问题。

软件危机的表现:对软件开发成本和进度的估算很不准确用户很不满意质量很不可靠没有适当的文档第1 页软件成本在计算机系统总成本中所占的比例逐年上升供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势软件危机的本质是:软件开发的高成本,低质量,低效率软件危机的原因:客观原因:软件本身特点决定的。

主观原因:不正确的开发方法;缺乏高质量的人才、经验和管理;缺乏一种有效的、系统的、科学的原理、原则、方法和工具来指导软件的开发和维护;软件危机的解决途径:1、对计算机软件有个正确的认识,2、技术措施(方法和工具)3、必要的管理措施3.软件工程的定义(P5)答:软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间而验证正确的管理技术和当前能够得到最好的技术方法结合起来,以经济的开发出有质量的软件并且有效维护的它,这就是软件工程。

4.软件包含些什么?程序、数据、文档(P5)填空题第2 页答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合5.软件工程方法学的三要素:过程、方法、工具(P9)填空题答:过程(Process)——开发一个软件产品所需的步骤、需完成的各项活动和任务以及对这些任务和活动的组织和管理,它贯穿于软件开发的各个环节:包括需求分析、软件设计、人员组织、成本估算、质量保证等等。

软件工程复习提纲

软件工程复习提纲

1.什么是软件?是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。

附:软件的特征:成本高、风险大、维护困难2.什么是软件危机,其内容主要是指什么?原因:1、与软件本身的特点有关;2、与软件开发人员有关;定义:在计算机软件开发和维护过程中所遇到的一系列严重的问题。

1)对软件开发成本和进度的估计常常不准确。

2)用户对“已完成”系统不满意的现象经常发生。

3)软件产品的质量不可靠。

4)软件的可维护程度非常之低。

5)软件通常没有适当的文档资料。

6)软件的成本不断提高。

7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。

3.什么是软件工程?开发、运行和维护软件的系统方法软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。

4.软件工程的目标(PP.41)及其组成部分。

方法、工具和过程。

•软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。

方法:是指产生某些结果的形式化过程,•工具:是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。

•过程:生产特定产品的工具和技术的结合软件工程方法学包含3个要素:方法、工具和过程。

5.软件开发方法的定义。

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

比如SASD方法、面向对象的软件开发方法。

6.好的软件的一些主要衡量指标。

例如McCall的质量模型。

(1)质量,它的衡量:产品的质量、过程的质量、商业环境背景下产品的质量。

McCall的质量模型:附:开发团队的成员第二章1.什么是软件生命周期?主要分为哪些阶段?各个阶段的主要任务及产生的主要制品? 定义:当过程是在开发软件产品时,把这种软件开发过程称为软件生命周期。

《软件工程》复习提纲

《软件工程》复习提纲

《软件工程》复习提纲一一、、 授授课课的的主主要要内内容容11.. 基基本本概概念念((11)) 有有关关““软软件件工工程程””的的基基本本概概念念11))软软件件工工程程的的诞诞生生那是1968……22))软软件件危危机机计计算算机机软软件件开开发发和和软软件件维维护护过过程程中中所所遇遇到到的的一一系系列列严严重重问问题题统统称称为为““软软件件危危机机””。

概括地说,软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。

33))软软件件包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件(计算机)。

文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。

软软件件由由计计算算机机程程序序,,数数据据结结构构和和文文档档组组成成。

计算机程序执行特定的功能;数据结构是程序运行所需的数据;文档是描述程序开发、使用和维护的资料。

44)) 软软件件工工程程的的概概念念采采用用工工程程学学的的原原理理来来管管理理和和从从事事软软件件的的开开发发和和软软件件维维护护,,称称为为软软件件工工程程。

(工程学:系统化、规范化、数量化)55))软软件件质质量量的的基基本本概概念念(a )软件质量的定义与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体。

具体来说:1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。

(b )软件质量特性(1)功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。

(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。

(3)易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。

(4)效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。

(5)维护性:软件产品可被修改的能力。

软件工程复习提纲

软件工程复习提纲

1 软件危机产生的原因和方法(1)原因:一方面与软件本身的抽象性和复杂性有关,这是客观原因;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因.(2)方法:既要有技术措施(包括方法和工具),又要有组织管理措施2 软件生命周期阶段(1)可行性研究(2)需求分析(3)软件设计(4)编码(5)软件测试(6)软件维护3 常见软件开发模型(1)瀑布模型(2)原型模型(3)增量模型(4)螺旋模型(5)统一软件开发过程4 软件需求分析目标和任务(1)目标:研究用户需求,得到目标系统的需求定义(2)任务:1确定目标系统的具体要求2建立目标系统的逻辑模型5 需求分析步骤(1)获取需求,识别问题(2)分析和描述系统的逻辑模型(3)需求分析的复审6数据流图有四种基本符号:(1).正方形或立方体表示数据的源点或终点;(2).圆角矩形或圆形代表数据处理;(3).开口矩形或两条平行横线代表数据存储;(4).箭头表示数据流,即数据流动得方向.7 实体-联系图(E-R图)的三个基本组成部分:(1).实体。

用矩形框表示实体;(2).关系。

用菱形框表示实体之间的关系;(3).属性。

用椭圆形或圆角矩形表示实体(或关系)之间的属性。

8 软件设计基本原则(1)抽象与分解(2)模块化和信息隐藏(3)模块独立性9 耦合和类聚的分类:(1)耦合:1数据耦合,2控制耦合,3特征耦合,4公共环境耦合,5内容耦合(2)内聚:1偶然内聚,2逻辑内聚,3时间内聚,4过程内聚,5通信内聚,6顺序内聚,7功能内聚10数据流图中数据流的分类: 变换型数据流和事务型数据流11 如何高质量的完成详细设计的目标和任务?(1)目标:设计目标系统,得出新系统软件的详细规格,同时要求设计出规格简明易懂,便于下一阶段用某种程序语言在计算机上的实现(2)任务:①算法过程的设计,②数据结构的设计,③数据库物理设计,④信息编码设计,⑤测试用例的设计,⑥其他设计,⑦编写详细设计说明书12结构化程序设计通常采用自顶向下, 逐步求精的设计方法13 软件测试的分类(1)根据程序是否运行分为:静态分析,动态分析(2)测试数据的设计依据分为:黑盒测试,白盒测试14 黑盒测试含义及分类(1)含义:又称功能测试,,是以用户的观点,从输入数据与输出数据的对应关系出发测试的,不涉及程序的内部结构(2)分类:等价类划分法,边界值分析法,决策表法,因果图法15 白盒测试含义及分类(1)含义:按照程序内部逻辑结构测试程序,检验是否程序能够按照规定正常运行(2)分类:覆盖测试,功能性测试,结构性测试(3)16 软件测试步骤(1)单元测试(2)集成测试(3)确认测试(4)系统测试17 软件维护的种类(1).改正性维护(2)适应性维护(3)完善性维护(4)预防性维护18 软件维护的策略(1) 改正性维护(2)适应性维护(3)完善性维护19 软件维护的过程(1)建立维护机构(2)用户提出维护申请并提交维护申请报告(3)维护人员确认维护类型并实施相应的维护工作(4) 整理维护记录并对维护工作进行评审(5)对维护工作进行评价20 决定软件可维护性的因素(1)可理解性(2)可测试性(3)可修改性21 统一建模语言UML是用一组专用符号描述软件规模的语言,这些符号统一、直观、规范,可以用于任何软件开发过程22. UML分为结构图和行为图,其中共有六种结构图和七种行为图。

《软件工程》复习提纲

《软件工程》复习提纲

《软件工程》课程要点●每章教学课件中的“本章小结”列出了需要掌握的内容●教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相关文档的集合;用于实现计算机系统所需要的逻辑方法和控制过程(2)软件危机的含义、表现、产生原因(客观、主观)答:计算机软件开发和维护过程中遇到的一系列严重问题。

软件危机的表现:①对软件开发成本和进度的估计很不准确②已完成的软件不能满足用户需求③软件质量差④软件不可维护⑤软件没有开发文档⑥软件成本在计算机系统总成本中所占的比例逐年上升⑦软件生产率跟不上硬件的发展和计算机迅速普及的趋势与软件的特点有关(客观原因):①软件是计算机系统中的逻辑部件,缺乏“可见性”,管理和控制软件开发过程相当困难②软件在使用期间不存在机械磨损和老化问题,一旦发现错误,通常意味着修改原来的设计,因此软件难维护③软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)与软件开发和维护的方法不正确有关(主观原因):①开发无计划②忽视软件需求分析的重要性③轻视软件维护④无过硬评测手段⑤缺乏有力的开发方法和工具⑥不重视开发文档等软件配置(3)软件工程学科包括的内容(三要素)、解决的主要问题答:(1)软件工程定义:1)软件工程是指导计算机软件开发和维护的工程学科 2)采用工程化的概念、原理、技术和方法来开发和维护软件3)将经过时间考验而证明正确的管理技术和开发技术结合起来,以较经济的手段开发出高质量的软件并有效维护它2)软件工程方法学的三要素:①方法:完成软件开发各项任务的技术方法②工具:为方法的高效运用,而提供的自动或半自动的软件支撑环境③过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤(4)软件生命周期的含义、组成阶段及各阶段主要任务答:软件生命周期:一个软件从定义、开发、运行维护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。

软件工程期末复习提纲

软件工程期末复习提纲

《软件工程》复习提纲1 软件与软件工程1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)简单地说,软件由程序和文档两部分组成,一是机器可以执行的程序及有关的数据,二是机器不能执行的文档,软件的两种普遍定义:①软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据。

②软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料。

程序:为了解决某一问题而按事先设计的功能和性能要求执行的指令系列,或者说,用程序设计语言描述的适合于计算机处理的语句序列。

数据:使程序能正常操纵信息的数据结构。

文档:描述程序、数据和系统开发以及使用的各种图文资料。

它具有永久性并能供人或机器阅读。

软件的基本特点:·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。

·②软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品。

·③软件具有“复杂性”,其开发和运行常受到计算机系统的限制。

而且,软件投入使用后,仍需要进行维护,这就带来软件维护复杂性的问题。

·④软件不存在磨损,物理上不会老化,但存在软件退化问题。

·⑤软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。

1.2软件危机的概念软件危机是指在软件开发和维护过程中所遇到的一系列严重问题。

【由于软件的规模越来越大,复杂度不断增加,软件需求量增大。

而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。

致使大量质量低劣的软件涌向市场,有的花费大量人力财力,而在开发过程中就夭折。

】“软件危机”主要表现在两个方面:(1)软件产品质量低劣,甚至开发过程就夭折;(2)软件生产率低,不能满足需要。

1.3软件工程学的概念(定义)、研究的内容(三要素)1993年IEEE定义:(1)把系统化的、规范化的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;(2)研究(1)中提到的途径。

软件工程复习纲要

软件工程复习纲要

软件工程复习纲要第一章、概述1、软件危机的概念及主要原因(1)软件危机是指在计算机软件开发和维护时所遇到的一系列问题。

(2)软件危机产生的原因:软件规模、方法、技术、软件开发人员;客观:规模,环境,需求变化;主观:开发技术,管理。

软件产品规模庞大,开发和维护带来客观困难软件使用同期相对较长,期间可能出现开发没料到的问题,需要及时维护软件开发技术落后,生产方式和开发工具落后软件开发人员忽视软件需求分析的重要性,轻视软件维护2、软件、软件工程、软件工程学的概念(1)软件是指计算机程序及其有关的数据和文档。

(2)软件工程(software engineering)是计算机软件开发、运行、维护和隐退的系统方法;是指导计算机软件开发和维护的工程学科;软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。

(3)软件工程学的主要内容是软件开发技术(包含软件工程方法学、软件工具和软件开发环境)和软件工程管理(包含软件工程经济学和软件管理学)。

更多内容请见P.4;3、软件生命周期及生命周期各阶段的任务(1)软件生命周期指从设计软件产品开始到产品不能使用为止的时间周期。

包括:定义,开发,使用,维护,淘汰。

(2)软件生命周期各阶段的任务软件计划、软件开发和软件运行维护三个时期。

软件计划时期:问题定义、可行性研究、需求分析✧软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。

✧软件运行维护时期:需要不断地进行维护,使软件持久满足用户需要4、软件开发模型的几种模型及各模型的特征(1)瀑布模型(Waterfall Model) :(规范的、文档驱动方法。

开发阶段按顺序进行,适合需求分析较明确、开发技术较成熟的情况。

)特点:阶段间具有顺序性和依赖性;推迟实现编码;质量保证。

(2)快速原型模型:(快速原型系统让用户试用并收集用户意见。

获取用户真实需求。

)特点:软件产品的开发基本上是线性顺序进行的;能减少软件的总成本,缩短开发周期。

2024版软件工程完整PPT教程大纲

2024版软件工程完整PPT教程大纲

质量保证体系建立
质量保证团队建设
组建专业的质量保证团队,负责质量保证 计划的执行和监督。
A 质量保证计划制定
根据项目需求和质量目标制定质量 保证计划,明确质量保证工作的内
容和要求。
B
C
D
质量评估与持续改进
通过定期的质量评估和审计,发现质量问 题并进行持续改进,提高软件质量水平。
质量保证流程实施
按照质量保证计划实施质量保证流程,确 保项目质量符合要求。
如用例图、活动图、状态图等UML工具,以 及需求管理工具如DOORS等。
系统设计原则与策略
系统设计原则
包括模块化、高内聚低耦合、可维护性、可扩展性等。
常用系统设计策略
如分层设计、设计模式、中间件技术等。
系统架构风格
如客户端-服务器架构、分布致性、完整性、安全性等 。
评估改进结果
对改进后的软件进行评估和测试,确 保达到预期目标。
05
04
实施改进过程
按照计划进行软件改进,包括代码优 化、流程改进等。
THANKS
感谢观看
收集用户反馈
定期收集用户反馈,整理和分析用户需求 和问题。
反馈处理结果
将处理结果及时反馈给用户,提高用户满 意度。
持续改进计划制定
分析现有问题
对软件现有问题进行深入分析,找出 根本原因。
制定改进目标
明确改进后的软件质量、效率等目标。
02
01
03
制定改进计划
包括改进时间、人员、资源、风险等 计划,确保改进过程可控。
包括缺陷的提交、确认、修复、验证和 关闭等环节,确保缺陷得到及时处理。
缺陷报告与跟踪 编写清晰的缺陷报告,记录缺陷的详 细信息,并通过缺陷跟踪系统实时跟
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章 需求分析
1、需求分析的任务是什么? 确定对系统的综合要求(功能需求,性能需求,可靠性和可 用性需求,出错处理需求,接口需求,约束,逆向需求,将 来可能提出的要求);分析系统的数据要求(通过建立数据 模型来分析,如数据字典,层次方框图、Warnier图,并将 数据结构规范化);导出系统的逻辑模型(完善数据流图、 实体-联系图、状态转换图、数据字典、主要的处理算法 (IPO图));修正系统开发计划(根据在分析过程中获得 的对系统的更深入更具体的了解,可以比较准确地估计系统 的成本和进度,修订前期制定的开发进度计划)。
第一章 软件工程学概述
3、软件生命周期有哪些3个时期?再细分的话,可分为哪 些阶段? 软件生命周期由软件定义、软件开发和软件维护3个时期 组成,再细分的话,分为问题定义、可行性研究、需求分 析、总体设计、详细设计、编码和单元测试、综合测试、 软件维护8个阶段。其中软件维护阶段工作量最大。
第二章 可行性研究
第三章 需求分析
例子: 银行计算机储蓄系统的工作过程大致如下:储户填 写的存款单或取款单由业务员键入系统,如果是存款则系 统记录存款人姓名、住址(或电话号码)、身份证号码、 存款类型、存款日期、到期日期、利率及密码(可选)等 信息,并打印出存款存单给储户;如果是取款而且存款时 留有密码,则系统首先核对储户密码,若密码正确或存款 时未留密码,则系统计算利息并打印出利息清单给储户。
第五章 总体设计
2、什么模块独立?模块独立如何度量? 模块独立是指开发具有独立功能且和其他模块没有过多 的相互作用的模块。模块独立的概念是模块化,抽象、 信息隐藏和局部化概念的直接结果。模块的独立程度可 以由两个定性标准度量:(1)耦合,指不同模块彼此 间互相依赖(连接)的紧密程度;(2)内聚:指在一 个模块内部各个元素彼此结合的紧密程度。模块独立性 比较强的模块应该是具有高内聚性和的低耦合度。
第三章 需求分析
3、要从哪些方面验证软件需求? 至少应该从一致性、完整性、现实性和有效性等4个方 面验证软件需求的正确性,其中完整性和有效性这两个 方面的正确性必须有用户的积极参与才能验证,而且为 了验证这两个方面的正确性往往需要开发原型系统。
第四章 形式化说明技术
软件工 程的使 用方法
非形式化:用自然语言描述需求规格说明
软件工程导论复习要点
1 软件工程学概述 2 可行性研究 3 需求分析 4 形式化说明技术 5 总体设计 6 详细设计
7 实现 8 维护
第一章 软件工程学概述
1、什么是软件工程?软件工程的基本原理是什么? 软件工程是(1)把系统的、规范的、可度量的途径应用于 软件开发、运行和维护过程,也就是把工程应用与软件; (2)研究(1)中提到的途径。著名的软件工程专家 B.W.Boehm于1983年提出了软件工程的7条基本原理,他 认为这是确保软件产品质量和开发效率的原理的最小集合。 (1)用分阶段的生命周期计划严格管理;(2)坚持进行阶 段评审;(3)实行严格的产品控制;(4)采用现代程序设 计技术;(5)结果能清楚地审查;(6)开发小组的人员应 该少而精;(7)承认不断改进软件工程实践的必要性。
第三章 需求分析
2、分析建模 所谓模型,是为了理解事物而对事物作出的一种抽象,是 对事物的一种无歧义的书面描述,通常由一组图形符号和 组织这些符号的规则组成。 根据结构化分析准则,需求分析过程应该建立3种模型, 分别是数据模型、功能模型和行为模型。
1)实体—联系图用于建立数据模型的图形; 2)数据流图是建立功能模型的基础; 3)状态转换图是建立行为模型的基础。 要求绘画出实体联系图,数据流图,状态转换图。
半形式化:用数据流图或实体—联系图 建立模型
形式化:描述系统性质的基于数学的技术
1、有穷状态机 2、Petri网技术
第五章 总体设计
1、在设计过程中,总体设计一般有哪两个主要阶段组 成?总体设计遵循怎样的基本原理? 总体设计过程通常由两个主要阶段组成:系统设计阶 段,确定系统的具体实现方案;结构设计阶 段,确定 软件结构。总体设计遵循模块化、抽象、逐步求精、 信息隐藏、局部化和模块独立等6条基本原理。
1、可行性研究的目的是什么?应从哪些方面研究可行 性? 可行性研究的目的是用最小的代价在尽可能短的时间 内确定问题是否有解,以及是否值得去解。从技术、经 济和操作3个方面研究项目的可行性。
第二章 可行性研究
2、如何了解数据流图和数据字典?如何画数据流图? 数据流图(DFD)是一种图形化技术,它描绘信息流和 数据从输入移动到输出的过程中所经受的变换,或者说是 描绘数据在软件中流动和被处理的逻辑过程。它是系统逻 辑功能的图形表示,是分析员和用户之间极好的通信工具。 可行性研究阶段,数据流图与数据字典共同构成系统的逻 辑模型。只有数据流图和对数据流图中的每个元素的精确 定义放在一起,才能共同构成系统的规格说明。
适中;(3)深度、宽度、扇出和扇入都应适当;(4) 模块的作用域应该在控制域之内;(5)力争降低模块接 口的复杂度;(6)设计单入口、单出口的模块;(7) 模块功能应该可以预测。
第五章 总体设计
5、描绘软件结构的图形工具有哪些?面向数据流的设计方法? 描绘软件结构的图形工具有层次图、HIPO图,结构图。面 向数据流设计是与数据流分析(DFA)对应的结构化软件设 计技术。面向数据流的设计方法的目标是给出设计软件结构 的一个系统化的途径。面向数据流的设计方法定义了一些不 同的“映射”,利用这些映射可以把数据流图变换成软件结 构。通常所说的结构化设计方法(简称SD方法),也就是 基于数据流的设计方法。
ห้องสมุดไป่ตู้
第一章 软件工程学概述
2、软件工程方法学包含哪些要素?目前使用的最广泛的 软件工程方法学是什么? 软件工程方法学的3要素:方法、工具和过程。目前使用 的最广泛的软件工程方法学是传统方法学和面向对象方法 学,其中面向对象方法学有4个要点,可以用下列方程式 概括: 面向对象方法 =对象+类+继承+通过消息通信
第五章 总体设计
3、耦合和内聚的分类中各自的含义? 耦合分为无耦合/非直接耦合;数据耦合;控制耦合;
特征耦合;公共环境耦合;内容耦合。 内聚分为偶然内聚;逻辑内聚;时间内聚;过程内聚;
通信内聚;顺序内聚;功能内聚。
第五章 总体设计
4、启发式规则有哪些? (1)改进软件结构提高模块独立性;(2)模块规模应该
相关文档
最新文档