武汉大学软件工程复习重点总结

时间:2019-05-15 10:15:58下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《武汉大学软件工程复习重点总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《武汉大学软件工程复习重点总结》。

第一篇:武汉大学软件工程复习重点总结

软件工程复习

一、概论

1、软件的组成:程序+文档+数据;

软件的特点:更依赖于人、开发成本进度难以估计、正确性难保证、维护困难、不磨损老化、可长期使用;

软件开发的三个时期:程序设计语言兴起时期、结构化程序设计时期、软件工程与软件开发环境时期;

2、软件危机的表现:难以控制开发进度、软件工作量难以估计、软件修改维护困难,原因:需求问题、管理问题、方法工具问题、局限性;

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

软件工程三要素:以质量保证为基础的过程、方法、工具;

4、软件生存的三个时期:定义时期、开发时期、使用和维护时期;

软件生存的六个阶段:软件计划、需求分析、软件设计、实现编码、测试、维护;

5、瀑布模型

基本思想:分而治之

优点:规范管理开发过程、文档驱动

缺点:初期系统的需求难以完全确定、文档驱动、周期长 V型模型:瀑布模型+质量控制

适用范围:结构化方法、面向过程的软件开发方法,需求变化少,开发人员熟悉应用领域,低风险项目,使用环境稳定

6、原型模型

针对软件开发初期需求难以确定,采用快速原型法 基本思想:快速建立原型,完善用户需求 优点:用户参与、快速

缺点:快速、对开发环境要求高

适用范围:已有产品、有快速原型开发工具、进行产品移植或升级

二、软件质量评价

1、良软件结构:具有层次性,无回路块调用的软件结构

2、模块独立性测量

耦合:零耦合、数据耦合、控制耦合、公共环境耦合、内容耦合,尽量使用数据耦合,少用控制耦合,限制公共环境变量耦合的范围,完全不用内容耦合; 内聚:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚,内聚更重要

3、软件质量定性评价

用户角度:达到需求、界面友好、简单易学

开发人员角度:良结构、易测试、易维护、可移植

4、软件质量定量评价——软件度量:软件复杂性度量(规模、文本复杂性、控制结构的复杂性)、软件可靠性度量(系统故障率、软件修复与软件有效性、软件可靠性估算)

5、软件质量好的宏观标准:可靠性、良软件结构、文档齐全

三、软件计划

1、任务:弄清开发项目的性质、目标、规模、可行性、成本、风险分析、开发计划等,并编写项目任务说明书(项目计划书、可行性分析报告)

2、可行性研究的内容:经济可行性(成本效益分析)、技术可行性(风险分析、资源分析、技术分析)、法律可行性、开发方案的选择

3、软件项目的量化估算:成本估算&工作量估算(代码行成本估算、阶段成本估算)、工程进度安排(甘特图、任务网络图)

四、软件需求分析

1、需求分析的任务:问题分析、需求描述、需求评审

2、初步获取需求技术:调研、阅读相关资料、市场问卷调查、同类产品用户手册等

3、需求内容:功能性需求、非功能性需求(技术需求)

4、需求建模方法

面向数据流的分析方法:结构化方法建模、实体关系图、数据流图、状态转换图

面向对象的分析方法 面向数据结构的分析方法

五、传统软件设计方法

1、设计启发规则:提高模块独立性(水平划分、垂直划分)、模块规模适中、深度广度扇入扇出适当、作用域在控制域内、降低接口的复杂程度、单出单入避免内容耦合、模块功能可预测

2、表示软件结构的图形工具:层次图(调用关系)、HIPO图(H图+IPO图+IPO表)、结构图

3、软件系统设计技术

面向数据流的设计方法:DFD的类型决定映射方法(变换流、事务流、混合型)SA/SD方法优点:自顶向下,逐步求精,各模块可单独设计、编码、测试、修改 SA/SD方法缺点:纸上设计,长时间偏离软件实体、开发周期长、剥离了数据/功能的关系、顶在何方,下到何处

面向数据结构的设计方法:Jackson方法、Warnier方法 原型法

4、详细设计

设计表示方法:流程图、PAD、伪码 流程图:

5、结构化程序设计(SP):避免用GOTO语句、自顶向下的程序设计、一种组织和编程方法、主要作用是使程序正确性的证明易于实现、讨论如何将大规模和复杂的流程图转换为一种标准形式,能用几种标准的控制结构通过嵌套来表示。

6、结构化定理:任何正规程序都可语义等价于由基集合{顺序、条件、循环}通过嵌套复合成结构化程序。

正规程序:有一个入口点和出口点、程序中的任何一个结点都可以找一条从入口点经过该点到出口点的路径。

六、软件编码

1、结构化程序设计的观点首要是强调好的结构而不是效率,它的目的在于编写结构清晰、易于理解,也易于验证的程序

七、软件测试

1、程序正确性证明

2、测试:也是软件的“建设性”,为了发现程序中的错误而执行程序的过程,证明程序错误,暴露错误;分为动态测试和静态测试。

3、动态测试分为黑盒测试(功能测试法)和白盒测试

黑盒测试方案:等价划分法、边界值分析法、错误推测法

等价划分的评价:选用等价类中的任意值/典型值作为用例、没有选用某些高效率的测试方案;

边界值分析的评价:边界值易发现错误,考虑输出等价类,联合使用等价划分和边界值分析法

白盒测试方案:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖

4、软件测试的步骤与策略 单元测试:模块、白盒法

集成测试:接口、多以黑盒为主,辅以白盒

增式测试法:

自顶向下集成,深度优先策略、宽度优先策略

优势:尽早测试主要控制、关键选择(上层)、尽早实现软件的完整

功能并验证、无需driver 缺点:需编写stub、底层关键模块测试晚、软件结构中没有重要的数据自下往上流、并行测试困难 自底向上集成,优势:无需stub、可尽早并行测试、可尽早发现底层关键模块的错误、易建立测试条件和判定测试结果

缺点:需编写driver、接口出错发现较迟、系统轮廓形成较晚 混合法

确认测试:验证软件的有效性、以用户为主或用户积极参与、黑盒法

系统测试:软件作为计算机系统的一部分,与硬件、外设等其它系统结合起来,对计算机系统进行一系列的集成测试和确认测试

5、面向对象的软件测试:不能孤立测试单个操作,把操作作为类的一部分来测试(不能再‘真空’中孤立地进行测试操作,有必要在每个子类的语境中测试继承的操作)、OOM易于测试与纠错

八、软件维护

1、软件维护的类型:校正性维护/纠错性维护、适应性维护、完善性维护、预防性维护

2、提高可维护性的措施

需求分析:清晰、易读、结构好——易修改

设计:结构层次清晰、独立性强——修改局部化、灵活的数据逻辑结构——适应处理的变化

编码:编码规则、风格,SP,通用性高的PL 测试:测试充分 文档:

3、维护的副作用:修改软件后导致新错误的发生

编码的副作用——严格执行回归测试、数据的副作用——完善的设计文档资料、文档资料的副作用——对整个软件配置进行评审

九、软件管理

1、软件管理的内容:开发计划与进度管理、成本估算与控制、人员管理与组织管理、质量管理、文档管理

2、软件管理的原则:软件生存期、按阶段确认、质量检查、自顶向下SP/OOP、职责分明、人员少而精、不断充实

3、软件管理的特点:知识密集,非实物性、单品生产,开发过程不确定、开发周期长、内容复杂,正确性难保证、劳动密集,自动化程度低、软件用法繁琐,维护困难,费用高

十、软件开发环境的基本概念

1、SDE的目标:支持软件生产的全生命周期、支持大型软件项目、支持基本语言、支持配置管理

2、SDE的特征:整体性、开放性、移植性、坚定性、3、SDE的基本组成:中心信息库、接口界面、工具组,三级结构——核心级、基本级、应用级,

第二篇:软件工程复习重点总结

第一章

软件过程:需求设计实现发布

软件过程三要素: 过程+方法+工具

瀑布rup scrum Iconix

Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Product Owner、Scrum Master、Team Product Backlog、SprintBacklog、Burndown Chart、Sprint、Sprint Planning Meeting、Daily Standup Meeting、Review Meeting、Retrospective Meeting ICONIX软件开发过程

愿景、业务建模、需求分析、健壮性分析、系统设计„„

思想是重点;过程是方式;方法和工具是载体

第二章

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。敏

捷是一种思想•Scrum是一个框架

敏捷开发过程知多少?

•Scrum、•极限编程(XP)、•Crystal Methods(水晶方法族)

•特性驱动开发(FDD)

•动态系统开发(DSDM)

•轻量型统一过程(RUP)

调查结果:敏捷开发方法—Scrum最流行!

Scrum的适用场景

•7人,+or-2

•偏小一些会更适合•最好能坐在一起

•客户参不度高

•快速移动互联网项目

•自主性研发的产品

第三章

软件项目是为了改善某个组织的某些方面

–老大就是要改善的组织中最有权力的干系人。

用户建模四步曲列出尽可能多的用户识别关键用户(购买决策者/主要使用者)分类,合并次要用户

4添加虚拟和极端用户

第四章

•产品backlog是Scrum的核心

产品功能列表格式

•ID(标示符)

–统一标识符

•Name(标题)

–简短的、描述性的故事名

•Story(故事)

–故事内容描述

•Priority(重要性)

–产品负责人评出一个数值,指示这个故事有多重要

•Initial estimate(初始估计)

–团队的初步估算,表示不其他故事相比,完成该故事所需的工作量

•How to demo(如何做演示)

–它大略描述了这个故事应该如何在sprint 演示上进行示范

•Notes(注解)

–相关信息、解释说明和对其它资料的引用等等

产品功能列表由谁来写?

•思考:由谁来写?

–主要是Product Owner

–Team也有权利,但最终由PO进行取舍。

用户故事是一种敏捷的需求挖掘方式,其侧重点不是将需求书写出来,而是将需求讨论出来。

按“作为一个„„,可以„„,以便„„”样式和思路写成的用户需求,就是用户故事。

用户故事的三个变量

范围,重要性,估算

好故事的准则

•独立的(Independ)

•可讨论的(Negotiable)

•对用户戒客户有价值的(Valuable)

•可估计的(Estimatable)

•小的(Small)

•可测试的(Testable)

Sprint会议如何迚行

–确定Sprint目标及长度

–讲解Story、估算时间、任务分解

–决定 sprint 要包含的故事

–一些其他问题

第六章

什么是界面原型

•界面原型指使用工具根据客户需求及软件分析人员的理解,将头脑中的界面快速的反映到介质上。

界面原型的目的•尽早验证需求

•尽早明确不确定性的因素

•方便沟通交流

•为后续界面设计提供基础

第八章

ICONIX过程

•ICONIX过程的规模介于RUP和XP之间

•适合中小型的、需求相对明确的软件项目

•ICONIX核心思想

•开源!节流!

ICONIX软件过程是用例驱动的软件过程。

ICONIX过程中的第一步:明确愿景

•愿景是确保项目成功的第一步;

•愿景必须来自老大;

•愿景必须是可度量。

如何获取软件项目的愿景

•获取软件项目愿景的三步曲:

•第一步:找到软件项目的“老大”;

•第二步:得到“老大”对项目的期望(愿景);

•第三步:描述出愿景的度量指标;

要点:系统要改善哪个组织的流程?

老大就是要改善的组织中最有权力的干系人

第九章

业务建模的目的:从组织的角度来定位系统的价值。

业务建模

•业务建模的目的是把视角从系统转向组织,站在客户角度看问题。

•业务用例是对组织为外部业务执行者提供的价值的建模。

•现状业务序列图是对组织价值内部实现流程(业务工人与业务实体的协作)的建模 •改迚业务序列图是对新系统为组织提供的改良的建模。

业务建模的步骤:

1.明确我们为谁服务(选定愿景要改进的组织)。

2.要改进的组织是什么现状(业务用例图、现状业务序列图)。

3.我们如何改进(改进业务序列图)。

第十章

域建模的步骤

第一步:提取名词或名词短语

第二步:排除重复、相似

第三步:排除系统范围外

第四步:画出第一版域模型图

第五步:整理第一版域模型

域模型之间的关系

•泛化[Generalization],一般元素和特殊元素的关系。

•关联[Association],两个类乊间存在着某种语义上的联系。

系统需求分析的目的是把视角转向新系统,站在最织

用户(及其它干系人)的角度看问题。

•系统用例是对(新)系统为系统执行者提供的价值的建模

系统用例建模步骤

1.绘制系统用例图

2.编写系统用例描述

3.更新域模型

绘制系统用例图

1.确定系统边界

2.识别系统执行者

3.识别系统用例

4.确定用例间的关系

用例描述的作用

•用例图描述总体,用例文档描述绅节。

•每个用例必须对应有用例描述。

用例描述的基本组成•干系人利益

•基本路径

•扩展路径

•业务觃则

软件产品的典型非功能性需求(RUPS)

•可靠性[Reliability]。

•可用性[Usability]。

•性能[Performance]。

•可支持性[Supportability]。

需求获取的方法

•研究文档。

•问卷调查。

•访谈。

•观察。

•研究竞争对手。

需求分析结果复核

•形式:面对面会议。

•参会人:甲乙双方在需求分析阶段的主要参与者。

•被审材料:域模型、用例图、用例描述、非功能性需求;

•过程:需求分析师主持,最终需求分析成果,所有参与者交流讨论,达成统一理解和确认。•结论:所有参与者签字确认。(当然,也有可能是未达成共识,需要返工。)

•注意:后续的工作基本不需要用户的参不了。

第十一章

健壮性分析的步骤

第一步:创建一个空的健壮性图。

第三步:从基本路径的第一句话开始画健壮性图。

第二步:直接将用例文本粘贴到图上(基本路径和扩展路径)。

第四步:贯串整个用例基本路径,一次一个句子,画执行者、适当的边界对象和实体对象以及控制器,和各元素乊间的连线。

第五步:将每一个扩展路径画在健壮性图上,并以红色标示出。

在用例驱动的开发模式中,用例的准确完整性是关键;

•健壮性分析技术两个主要的价值:其一帮助完善用例分析结果;其二完善域模型,做为需求分析走向系统设计的过度技术;

•丌要花费太多的精力和时间在本阶段,本阶段的成果也仅起到过度作用,不纳入最终文档; 第十二章

关键设计是功能性需求的设计,成果为类图和序列图;

•关键设计还没考虑真实实现的平台相关因素,因此不能基于这个阶段的设计成果开始编码; •关键设计的方法就是在域模型、用例描述和健壮性分析的基础上,迭代生成类图和序列图;

关键设计的步骤

•第一步:将现有的域模型直接作为第一版静态类模型;

•第二步:基于用例描述和健壮性分析结果,画出每个用例的序列图;

•健壮性图中的控制类会转化为方法;

•如果也转化为控制类,那么就添加到类图中(注意:边界类丌添加到类图中); •第三步:整理静态类图和序列图;

•第四步:关键设计复核,迭代更新用例图、类图和序列图;

高内聚、低耦合。是判断设计好坏的标准。

关键设计复核的指导建议

•确保关键设计的“如何做”和需求阶段的“做什么”匹配。也就是说每个用例都要和序列图匹配,包含了用例的基本流程和分支流程。

•复核设计的品质。应该至少有一个设计与家在场。

•检查消息的连贯性。检查时序图上消息箭头的指向,有时我们会发现对象乊间缺少消息而造成跳跃,我们必须消除这些逻辑跳跃。

•确保方法分配给了适当的类,类视图中的每一个类拥有适当的方法和属性。

第三篇:武汉大学-软件工程课程设置

软件工程课程设置

大一:

英语听说(专业必修)大学英语(公共必修)体育(公共必修)军事理论(公共必修)高等数学(公共必修)线性代数(公共必修)

思想道德修养和法律基础(公共必修)马克思主义基本原理(公共必修)中国近现代史纲要(公共必修)C++程序设计(专业必修)离散数学(专业必修)

计算机系统导论(专业必修)信息系统导论(专业选修)

大二:

体育(公共必修)大学英语(公共必修)

概率论与数理统计B(公共必修)

毛泽东思想、邓小平理论和“三个代表”重要思想概论(公共必修)面向对象的程序设计(专业必修)计算机组织与体系结构(专业必修)用户界面设计与测试(专业必修)数据库系统(专业必修)数据库课程实践(专业必修)操作系统原理(专业必修)数据结构与算法(专业必修)编译技术及应用(专业必修)数字电路(专业选修)

UML及软件建模(专业选修)计算机接口与通信(专业选修)大三:

软件工程(专业必修)

网络及分布式计算(专业必修)网络工程与编程实践(专业必修)解释器构造(专业必修)系统级别编程(专业必修)

Unix系统程序设计(专业选修)模式识别(专业选修)数字图像处理(专业选修)C#程序设计(专业选修)日语(专业选修)信息安全(专业选修)

嵌入式软件技术(专业选修)计算机辅助艺术设计(专业选修)XML及其应用(专业选修)

管理沟通(专业选修)

游戏架构与编程(专业选修)

软件系统开发课程: SSD1 信息系统导论 SSD2计算机系统导论 SSD3面向对象编程与设计

SSD4以用户为中心的设计与测试 SSD5数据结构与运算 SSD6系统级别编程 SSD7数据库系统 SSD8网络与分配计算

SSD9软件规范,测试与维护 SSD10软件项目组织与管理

第四篇:软件工程重点总结

1、什么是软件危机?

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

2、软件危机的主要表现

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

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

(3)软件产品质量往往靠不住

(4)软件往往是不可维护的(5)软件通常没有适当的文档资料

(6)软件成本在计算机系统总成本中所占的比例逐年上升

(7)软件开发生产效率提高的速度,远远跟不上计算机应用迅速普及深入的趋势

3、软件危机产生的原因

(1)来自软件自身的特点

是软件系统的逻辑部件,缺乏可见性,管理和控制软件开发过程相当困难;规模庞大、复杂,修改、维护困难。

(2)软件开发与维护的方法不当

忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

4、如何消除软件危机?

(1)对计算机软件有一个正确的认识(软件≠程序)

(2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目

(3)推广使用在实践中总结出来的开发软件的成功技术和方法

(4)开发和使用更好的软件工具

5、面向对象的三种模型:对象模型 动态模型 功能模型 P2166、模块独立性的两个标准:耦合 内聚 P977、软件测试方法:黑盒测试 白盒测试 P1518、软件调试的途径:蛮干法 回溯法 原因排除法 P1789、可行性研究:确定问题是否有行得通的解决办法 P3510、需求分析:准确地回答“系统必须干什么”这个问题 P5511、软件成分的重用级别:代码重用 设计结果重用 分析结果重用

可被重用的软件成分有:项目计划,成本估计,体系结构,需求模型和规格说明,设计,源代码,用户文档和技术文档,用户界面,数据,测试用例。

12、软件可靠性的定义:软件在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。

软件可用性的定义:程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。可靠性与可用性之间的主要差别是,可靠性意味着在0到t这段时间内系统没有失效,而可用性只意味着在时刻t,系统是正常运行的。P17913、白盒测试:逻辑覆盖 控制结构测试 P162

黑盒测试:等价划分 边界值分析 调试 P171

环形复杂度的计算:复杂度=边数-点数+2P13714、面向对象的3个子模式:对象模型 动态模型 功能模型 P232

对象模型的5个层次:主题层 类与对象层 结构层 属性层 服务层 P23215、软件定义阶段干什么事:确定软件开发工程必须完成的总目标;确定工程的可行性;导

出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该工程需要的资源和成本,并制定工程进度表。

16、类和对象的关系:类是具有相同数据和相同操作的一组相似对象的定义,也就是说,类

是对具有相同属性和行为的一个或多个对象的描述。类是支持继承的抽象数据类型,而对象就是类的实例。P21117、UML有哪些图? P2171、用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系

2、类图:展示系统中类的静态结构

3、对象图:是类图的一种实例化图

4、状态图:描述一类对象具有的所有可能的状态及其转移关系

5、时序图:展示对象之间的一种动态协作关系

6、合作图:从另一个角度展示对象之间的动态协作关系

7、活动图:展示系统中各种活动的执行流程

8、构件图:展示程序代码的物理结构

9、配置图:展示软件在硬件环境中的配置关系

18、能力成熟度模型(CMM):初始级 可重复级 已定义级 已管理级 优化级 P31119、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优

缺点,说明每种模型的适用范围。P33习题1.720、软件的可维护性定义:维护人员理解、改正、改动或改进这个软件的难易程度。决定可维护性的因素:可理解性 可测试性 可修改性 可移植性 可重用性。

文档是影响可维护性的决定性因素。P19521、如何评价软件规格说明书?

从四个方面:一致性 完整性 现实性 有效性 P7022、层次图 P10223、深度:软件结构中控制的层数 P100

宽度:软件结构中同一个层次上的总数的最大值

扇出:一个模块直接控制(调用)的模块数目

散入:一个模块被多少个上级模块直接调用

24、面向数据流的设计方法 P10425、类构件的重用方式:实例重用 继承重用 多态重用

1.什么是软件工程?软件工程和计算机科学有何区别?

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

计算机科学研究的是构成计算机和软件系统基础的有关理论和方法,而软件工程则是研究软件制作中的实际问题。

2、流程图与数据流图有什么主要区别?

(1)数据流图(date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是从数据的角度来描述一个系统的;而流程图则是从对数据加工的角度来描述系统的;

(2)数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序;

(3)数据流图适合于宏观地分析一个组织业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。

(4)数据流程图应该重点描述了数据加工的过程,主要是模块内部,数据流图则是描述模块之间的关系。

3.软件需求分析的任务是什么?有哪些主要步骤?

需求分析的基本任务是深入描述软件的功能和性能、确定软件设计的约束和软件同其它系统元素的接口细节、定义软件的其它有效性需求,总之,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。

主要步骤:

1.问题识别

(1)功能需求:明确所开发的软件必须具备什么样的功能。

(2)性能需求:明确待开发的软件的技术性能指标。

(3)环境需求:明确软件运行时所需要的软、硬件的要求。

(4)用户界面需求:明确人机交互方式、输入输出数据格式。

2.分析与综合,导出软件的逻辑模型

分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。用图文结合的形式,建立起新系统的逻辑模型。

3.编写文档

(1)编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。

(2)编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。

(3)编写确认测试计划,作为今后确认和验收的依据。

(4)修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。

4.简述结构化分析、设计的要点:

结构化分析方法适合于数据处理类型软件的需求分析。

其要点是“自顶向下” 地开发系统,由整体到各组成部分,由表及里,由抽象到具体,逐步求精.(1)模块化

(2)由顶向下,逐步求精.(3)上层模块分解为下层模块,有三种不同的结构形式,即顺序结构,选择结构和循环结构.5.数据字典包含哪些主要内容?

数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分.据字典内容包括:

数据库中所有模式对象的信息,如表、视图、簇、及索引等。

分配多少空间,当前使用了多少空间等。

列的缺省值。

约束信息的完整性。

用户的名字。

用户及角色被授予的权限。

用户访问或使用的审计信息。

其它产生的数据库信息。

6.软件测试的目标是什么,有哪几种主要有测试方法?

软件测试的目标:

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试的方法有黑盒测试、白盒测试。

7.白盒测试主要有哪些覆盖?

语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、点覆盖、边覆盖、路径覆盖

8、选择一种程序设计语言的主要有哪些依据?

为了使程序容易测试和维护以减少生命周期的总成本,选用的高级语言应该有理想的模块化机制,以及可读性好的控制结构和数据结构;为了便于调试和提高软件可靠性,语言特点应该使编译程序能够尽可能多地发现程序中的错误;为了降低软件开发和维护的成本,选用的语言应该有良好的独立编译机制。上述这些要求是选择语言的理想标准,但是在实际选用语言时不能仅仅考虑理论上的标准,还必须同时考虑实用方面的各种限制。

(1)系统用户的要求

(2)可以使用的编译程序

(3)可以得到的软件工具

(4)系统规模

(5)程序员的知识

(6)软件可移植性要求

(7)软件的应用领域

9.软件的维护的目标是什么,有哪几种维护类型?

纠正在使用过程中暴露出来的错误而进行的改进性维护,适应外部环境的变化而进行的适应性维护,改进原有的软件而进行的完善性维护,以及改进将来的可维护性和可靠性而进行的预防性维护。

软件维护主要划分为纠错性维护、适应性维护和完善性维护。

(1)纠错性维护。由于前期的测试不可能揭露软件系统中所有潜在的错误,用户在使用软件时仍将会遇到错误,诊断和改正这些错误的过程称为纠错性维护。

(2)适应性维护。由于新的硬件设备不断推出,操作系统和编译系统也不断地升级,为了使软件能适应新的环境而引起的程序修改和扩充活动称为适应性维护。

(3)完善性维护。在软件的正常使用过程中,用户还会不断地提出新的需求。为了满足用户新的需求而增加软件功能的活动称为完善性维护。

10.简述提高软件质量的主要措施。

复审:是在软件生命周期每个阶段结束之前,都采用一定的标准对该段产生的软件配置成分进行严格的正式或非正式的检测。

复查:是检查已有的材料,以断定在软件生命周期某个阶段的工作是否能够开始或继续。管理复审:是向开发组织或使用部门的管理人员提供有关项目的总体状况、成本和进度等方面的情况,以便他们从管理角度对开发工作进行审查。

测试:包括测试计划、测试过程和测试结果3个阶段。

11.面向对象如何实现模块独立性,其偶合和内聚的含义是什么?

因为对象是由数据及可以对这些数据施加的操作所组成的统一体,而且对象是以数据为中心的,操作围绕对其数据所需做的处理来设置,没有无关的操作。因此,对象内部各种元素彼此结合得很紧密。内聚性相当强,由于完成对象所需要的元素(数据和方法)基本上都被封装在对象内部,它与外界的联系自然就比较少。因此,对象之间的耦合通常比较松。总之,面向对象使用对象、类、继承和消息的方法,既使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信来实现模块的独立性。

12.面向对象和面向过程软件工程有哪些区别?

(1)面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。(2)面向过程是把一件事一项工程分解成为一个个小的功能,用一个个函数来实现.面向对象是把事情看成是一个个小的对象组成的,或者说一个个小部分组成的,这些对象之间的相互关系,构成了整个项目.在面向对象的思想中,万物皆对象。而“类”,就是对象的抽象或者说是概括。

13.简述对象、类、消息、方法的基本概念。

(1)对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

(2)类是具有相同或相似性质的对象的抽象。对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

(3)对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

(4)类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。

14.简述面向对象分析设计的三个模型。

答:三个模型:对象模型、动态模型、功能模型

(1)对象模型描述系统的静态结构,包括类和对象,它们的属性和操作,以及它们之间的关系。构造对象模型的目的在于找出与应用程序密切相关的概念。对象模型用包含对象及对象的关系图表示。

(2)动态模型着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。动态模型包括状态图和事件跟踪图。状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。事件跟踪图则侧重于说明系统执行过程中的一个特点“场景”,也叫做脚本(scenarios),是完成系统某个功能的一个事件序列。脚本通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件。

(3)功能模型着重于系统内部数据的传送和处理。功能模型表明,通过计算,从输出数据能得到什么样的输出数据,但不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成,它们指明从外部输出,通过操作和内部存储,直到外部输出的整个数据流情况。功能模型还包括了对象模型内部数据间的限制。功能模型中的数据流图往往形成一个层次结构,一个数据流图的过程可以由下一层的数据流图作进一步的说明。

第五篇:武汉大学印刷应用光学复习重点总结(15-16).

第一章:

1、几何光学四项基本定律: 光的直线传播定律:均匀介质中光总是沿直线传播的;光的独立传播定律:不同光源(非相干光不同方向的光束独立传播;光的反射折射定律:符号正负 光路可逆定律:

2、全反射及其产生条件: 在一定条件下,入射到介质上的光会全部反射回原来的介质中,而没有折射光产生,这种现象称为光的全反射现象。

入射光由光密介质进入光疏介质;入射角必须大于临界角。

3、光程、共轭、完善像: 光程表示在相同的时间内光在真空中通过的路程

共轭:对某一光组组成的光学系统来说,物体的位置固定后,总可以在一个相应的位置上找到物体所成的像,这种物象之间的关系在光学上称为共轭。

完善像:理想光组能使物空间的同心光束转化为像空间的同心光束(球面波仍为球面波,也就是物空间一点经光组成的像仍是一点,即物空间与像空间是:点点对应;线线对应;面面对应而形成的像叫完善像

第二章:

1、单球面折射成像存在球差的原因: 轴上物点粗光束成像:r , n , n’给定,已知L 和U ,求解L’和U’,正弦定理,折射定律

2、焦距,近轴相似: 像方焦距:物点位于左方无限远处的光轴上,即l→∞,表示无穷远处物点对应的像点,称为

像方焦点或后焦点。此时像方截距称为像方焦距,或后焦距。

焦距:像方焦距的正负决定了球面其汇聚还是发散作用,故将像方焦距为焦距近轴相似:将物方倾斜角U限制在一个很小的范围内,人为选择靠近光轴的光线,只虑近轴光成像,这时可以认为可以成完善像

第三章:

1、理想光学系统、主平面;理想光学系统:能够对足够大空间内的点以足够宽光束成完善像的光学系统

(通常把物象空间符合“点对应点,直线对应直线,平面对应平面”关系的像称为“理想像”,把成像符合上述关系的光学系统称为“理想光学系统”

理想中,每一个物点对应于唯一的一个像点,即“共轭”

理想中,物空间和像空间都是均匀透明介质,根据光的直线传播定律,由点对应唯一像点可推出直线成像为直线、平面成像为平面,即共线成像理论

主平面:不同位置的共轭面对应不同放大率。总有一对共轭面的垂轴放大率β=1,称其为主平面,物平面称为物方主平面,平面与光轴交点称为主点

2、求轴上某点的像(多种方法:

第四章:

1、一致像: 当物为左手坐标系,而像变为右手坐标系(或反之,这样的像称为“非一致像”,也叫做“镜像”;当物用左手坐标系,通过光学元件后所成的像仍为左手坐标系,则称这样的像为“一致

像”

2、平面镜旋转某一角度:平面镜旋转:当入射光线方向不变,而平面镜转动α角时,反射光线的方向改变2α角

两个平面镜同时转:2I1=2I2+β;I1=I2+ɑ;β=2ɑ

3、棱镜成像坐标变化判断(单反相机: 棱镜成像坐标变化判断原则:(1沿着光轴的坐标轴和光轴的出射方向一致。

(2垂直于主截面的坐标轴视屋脊面的个数而定,如果有奇数个屋脊面,则其像坐标轴方

向与物坐标轴方向相反;没有屋脊面或有偶数个屋脊面,则像坐标轴方向与物坐标轴方向一致。

(3平行于主截面的坐标轴的方向视反射面个数(屋脊面按两个反射面计算而定。如果

物坐标系为右手坐标系,当反射面个数为偶数时,坐标轴按右手坐标系确定;而当反射面个数为奇数时,坐标轴依左手坐标系确定。

▲对于复合棱镜,且各光轴面不在一个平面内,上述原则在各光轴面内均适用, 可按上述原则在各自光轴面内判断坐标方向.4、棱镜成像坐标变化判断(潜望镜:

第五章:

1、简述孔径光阑与视场光阑的含义:

对光束起限制作用的光学元件;用于限制成像光束大小的光阑称为孔径光阑;用于限制成像范围大小的光阑称为视场光阑

2、实际成像光学系统中常见的光阑主要有: 孔径光阑;视场光阑;场镜;渐晕光阑:由轴外物点发出并充满入瞳的光束,有一部分光被系统后面的光阑阻挡而不能到达像面,这种使轴外物点光束被限制的现象称为渐晕;实际情况中,视场光阑设置在像面上,但为了减小系统的横向尺寸或改善轴外物点的成像质量,其他的通光元件适当的减少尺寸而去拦去部分光线,即人为地在成像范围内产生部分渐晕,起这种限制作用的光学器件称为渐晕光阑

第六章:

1、光学成像系统中五种单色几何像差主要包括: 球差:轴上单色宽光束,出射光与光轴交点位置不同,各交点相对于理想像点的偏移;彗差:轴外单色宽光束,发出的光束通过透镜后,不再相交一点,则一光点的像便会得到一逗点状,型如彗星;像散:轴外单色细光束,轴外物点用细光束成像时形成两条相互垂直且相隔一定距离的短线像的一种非对称性像差被称为像散;场曲:轴外单色细光束,当其他像差都等于零,而只存在场曲时,整个光束交于一点(左图同时存在像散,但交点和理想像点并不重合,但是整个平面不在一个平面上,而是在一个回转的曲面上;畸变:畸变是垂轴(横向放大率随视场的增大而变化,所引起一种失去物像相似的像差。

2、光学成像系统中两张复合色光几何像差主要包括: 位置色差:轴上点;倍率色差:轴外点

3、简述光学成像系统中两种色差的形成机理: 位置色差:白色光中波长愈短折射率愈大,按色光的波长由短到长,其相应的像点离透镜有近到远地排列在光轴上,这种现象称为位置色差;倍率色差:光学材料对不同色光的折射率不同,对于光学系统对不同色光就有不同的焦距,不同色光的焦距不等时,其放大率也不等就有不同的像高,即倍率色差,叠加结果使像的边缘呈现彩色;第七章:

1、简述LED光源相比于传统光源所具有的技术优势: 体积小:一块被封装在环氧树脂里面的小晶片 电压低:工作电压是2-3.6V。使用寿命长:10万小时 高光效:发光效率高 光色纯:无紫红外成分 环保:无毒材料构成

节能:耗电量仅为白炽灯的十分之一 灵活:色光可调

2、简述印刷工业对制版光源的技术要求:

在印刷制版过程领域中对光源的光谱、能量、温度、均匀度、漫射性等都有特定的要求:(1发光强度大(2光源光谱应与感光材料的光谱灵敏度相适应(3发光的稳定性高(4光能量分布均匀性好(5热线(红外线极少(6对作业环境及工作人员无害(7点燃容易,能瞬时点灯(8价格便宜(9机构简单,维修方便

3、请以公式形式说明光度量与辐射度量之间的关系: 第八章:

1、简述传统光源与激光发光的最主要的差异: 普通光源是受激吸收产生的,多波长,不相干,分散;激光是受激辐射的产生的,相干光,单色,集中; 激光是相干光,即受激辐射光子的相位、频率、偏振、传播方向与诱发光子完全相同

2、激光的四大特性: 亮度高,方向性好,单色性,高相干性

3、全息照相技术: 一种新型的照相技术,其成像过程是:利用光的干涉和衍射现象,在照相干板或胶片上以干 涉条纹的形式把图像记录下来,然后用光照射这种干板(称作全息干板),就能以立体形式 再现出原来的物体像。普通照相在胶片上记录的仅是物光的振幅信息(即光强分布),而全息照相在记录振幅信息 的同时,还记录了物光的相位信息,“全息”也因此而得名。

4、简述光纤通信原理: 在发送端首先要把传送的信息(如话音变成电信号,然后调制到激光器发出的激光束上,使 光的强度随电信号的幅度(频率变化而变化,并通过光纤发送出去;在接收端,检测器收到 光信号后把它变换成电信号,经解调后恢复原信息

5、计算机直接制版(CTP)技术中使用的激光光源按光谱范围可简单分为: 从 1064nm 的 YAG 红外激光器,到 830nm 的近红外激光二极管;

650nm 的红激光二极管; 再到红色光源(波长为 780nm 的激光,532nm 的倍频 YAG 绿激光器及 488nm 的氩离子激 光器; 最后到 400nm 的紫激光二极管; 红外激光光源主要适用于热敏版; 可见激光光源将慢慢被淘汰; 紫激光(分辨率高,体积小,速度快,可使用明亮的黄色安全灯,品质稳定,维修容易,寿 命长,稳定性好)第九章:

1、平板扫描仪所采用的光电转换器件是: 光电耦合器件(CCD),线阵,机械运动方式

2、滚筒式扫描仪所采用的光电转换器件是: 光电倍增管(PMT):将微弱光信号转换成电信号的真空电子器件; 信噪比较高,对光信号放大作用基本呈线性,避强光入射,避光保存

3、激光调制: 激光可

作为传递信息的工具。把欲传输的信息(数字化的图像和文字加载于激光辐射的过程 称为激光调制,因激光起到“携带”信息的作用,故称其为载波。声光调制器

4、对照图,论述激光打印机的工作原理:

充电:电晕丝开始电晕放电,此时,电晕丝周围的不导电空气被电离,变成能导电的导体,使感光鼓表面带上正(负)电荷 曝光:当激光束照射带电荷的感光鼓表面时,鼓表面被照射到的地方(即有文字或图像的地 方)电荷消失,以外的地方不变,形成了不可见的文字或图像的电子潜像 显影:墨粉带有电荷,由于静电的作用,墨粉就会被吸附在感光鼓表面电子潜像区,使电子 潜像变成可见的图像 转印:转印的原理也是静电感应作用。转印电极使纸张带有与墨粉图像极性相反的电荷 定影: 当纸张从定影辊和压力辊之间经过时,受到定影辊内加热电极的烘干和压力辊的挤压 作用,使墨粉融化渗入纸张纤维中,形成可永久保存的记录 清洗:为了消除这些残留的墨粉,在纸张下面安装了放电灯泡(反向充电),其作用是消除 感光鼓表面上的电荷,以便进一步彻底清扫残留墨粉

5、激光照排机按结构主要分为哪三类: 绞盘式激光照排机:结构操作简单,价格低;记录精度套准度偏低 外鼓式激光照排机:记录精度套准度较高,结构简单,工作稳定,大幅面;不方便,自动化 程度低 内鼓式激光照排机:记录精度高、幅面大、自动化程度高、操作简便、速度快等特点,但价 格要比前两种照排机贵;原因:1.胶片固定不动,转镜转动,避免机械误差。2.激光束位于 圆心,到各圆周各点距离相同。

6、简述 OID 技术: OID 是 Optical Identification 的缩写,是光学辨识码的一种。每个 OID 编码图形均是由许多细微而人眼难辨的点按照特定规则所组成,并对应到一组特 定数值 微小化的底码不仅具有保密与低视觉干扰的特性,更能隐藏在印刷品的彩色图案之下 底码版单独用黑色印,分辨率要求较高。

7、单镜头反光式相机光学系统的三个参数: 焦距:从物镜的主点到焦点的距离,决定被摄物在胶片上成像的大小;

相对孔径:入瞳直径 D 与镜头焦距 f’的比值(D/f’.;光圈系数:相对孔径的倒数(f’/D)视场角:被映画幅的对角线对物镜入瞳中心所张的角,用来表示摄影物镜视场大小 的参数 第十章:

1、CIE 推荐的反射测量四种几何条件: 垂直照明,45°测量 45°照明,垂直测量 漫射照明,垂直测量 垂直照明,漫射测量

2、积分球: 积分球是一个内部涂有漫反射涂层的空心球体,外面一般是金属结构,开有几个小孔。积分球内部有标准灯、辅助灯、光纤接口等,外接设备包括电源、电脑、光谱仪等仪器。积分球系统主要功能是测量光源的辐射度、色度、光度等光色电参数。具体包括光源的光通 量、照度、色温、色度坐标、发光效率等。积分球系统主要应用于光源、灯具等光测量领域。•理想积分球系统 1.球内表面是一完美的球面,半径处处相等; 2.球内壁是均匀的漫反射涂层,对各种波长的光具有相同的漫反射率; 3.球内没有任何物体,光源只看作发光但没有实物的抽象光源。

下载武汉大学软件工程复习重点总结word格式文档
下载武汉大学软件工程复习重点总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件工程复习总结

    第1章 1什么是软件危机,产生软件危机的原因,消除软件危机的途径。 落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现......

    武汉大学大学物理期末重点总结

    期末总结: 重点: 第1章 质点运动学 位移 速度 加速度 两类基本问题 切向加速度和法向加速度 圆周运动的角量表示 角量与线量的关系 相对运动 第2章 牛顿运动定律牛顿运动定律的......

    2012年秋季武汉大学软件工程招生简章

    2012年秋季武汉大学软件工程招生简章 专业方向、学习形式及学制 在职学习(周末上课),学制2年 方向:软件工程、数字媒体艺术、电子服务与管理 (各方向录取人数不足30人者不开班,有......

    武汉大学软件工程国家重点实验室管理条例

    实验室管理条例 作者:admin 文章来源:本站原创点击数:3322 更新时间:2006-7-25 实验室规章制度 目 录一、软件工程国家重点实验室管理办法 二、实验室学术委员会工作条例......

    软件工程重点总结5篇

    软件工程复习重点总结 1. (P-2) Analysis: decompose a large problem into smaller, understandable pieces,(一个大问题分解成更小的、 可以理解部分)abstraction is t......

    软件工程重点总结(5篇)

    软件的定义:软件是计算机系统中与硬件相互依存的另一部分,软件包括程序、数据及其相关文档的完整集合。 在结构化程序设计时代,程序的最小单位是向对象程序设计时代,程序的最小......

    软件工程复习知识点总结

    1. 软件危机的概念,内容,原因及消除的途径; 2. 软件工程的定义,基本原理; 3. 软件工程方法学的基本概念、内容; 4. 软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程......

    软件工程复习点总结

    软件工程 第一章 1. 软件过程模型有:线性顺序模型(瀑布模型),原型实现模型,螺旋模型,快速应用开发模型RAD,并发模型,基于构件的开发模型,形式化方法模型,第四代技术。 2. 软件危机变现......