华南理工大学《软件工程》复习要点.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华南理工大学《软件工程》复习要点
第一章概述
1.1软件:程序+相关文档和配置信息
通用软件,定制产品
软件工程一>计算机科学/系统工程
软件过程:1.软件描述2.软件开发3.软件有效性验证4.软件进化
软件过程模型:1.工作流模型2.数据流或活动模型3.角色/动作模型
(从特定角度提出软件过程的简化描述)
1.瀑布模型开发方法
2.进化式开发方法
3.形式化转换
4.基于可复用的组件的系统组合
软件成本
软件工程方法统一建模语言UML
CASE工具
1.2职业道德
1.机密
2.工作能力
3.知识产权
4.计算机滥用
第三章软件过程
软件描述软件设计和实现软件冇效性验证软件进化
3.1软件过程模型
瀑布模型:
需求定义和分析;系统和软件设计;实现和单元测试;集成和系统测试;运行和维护进化式开发:
探索式开发;抛弃式原型。
存在的三个问题:过程不可见,系统结构通常较差,特殊工具和技术的使用
形式化系统开发:
用形式化数学转换來将系统描述转换成一个可执行程序。
与瀑布模型之间的木质区别:
1•软件需求描述被精炼成一个用数学符号表达的详细的形式化描述
2.设计、实现和单元测试的开发过程被一个转换的开发过程所替代,在这个转换的开发过
程中,形式化描述经过-•系列转换变成一个可执行程序。
面向复用的开发:
1.组件分析
2.需求修改
3.使用复用的系统设计
4.开发和集成
3.2过程反复
混合模型增量式开发;螺旋式开发。
增量式开发:
瀑布模型的优势在于其简单的管理模型以及设计和实现的分离,这使得系统是鲁棒的、容易修改的。述化式开发允许需求和设计决策的延迟,但是也导致了软件的较羌结构和难以理解和维护。增量式开发是一个结合这两个模型的优点的综合方法。
冃的:减少返工
好处:
1.客户无需等到整个系统的实现。(就可以使用)
2.客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。
3.项冃总体失败的风险比较低。
4.重要的系统服务肖定接受了最多的测试,客户不太可能遇到失败。螺旋式开发:每个回路被分成四个部分
1.目标设置风险评估和规避开发和有效性验证规划
特点:明确的风险考虑
3.3软件描述〃非重点
需求工程过程有四个主要阶段:
1.可行性研究需求导出和分析需求描述需求有效性验证
3.4.软件设计和实现〃非重点
多次反复的过程,设计过程屮的活动是交替进行的。
设计过程中的一些特别的活动包括:
1.体系结构设计抽彖描述接口设计组件设计数据结构设计
算法设计
设计方法——结构化方法
结构化方法所支持的模型:
1.数据流模型
2.实体-关系模型
3.结构化模型
4.面向对象方法
调试过程:错位定位,设计错误修复,程序错误修复,程序重测
3.5软件有效性验证〃非重点
测试过程:
1.单元测试模块测试子系统测试系统测试接受测试(a测试)
当一个系统要作为软件产品在市场上销售吋,所要进行的测试称为0测试。3.6软件进化〃非重点
3.7软件描述
第四章项目管理
管理活动
项目规划项目计划:
项冃调度条形图,活动网状图
管理风险项日/产品/业务
第五章软件需求
分类。用户需求系统需求软件设计描述;
5.1功能需求和非功能需求(领域需求)
5.2用户需求
不可能适用任何现实的模烈来描述,而是用口然语言、图表和直观的图形来叙述。
用户描述必须遵守的原则:按照设计好的一个标准的格式书写,使用一致的语言,加亮文木突出关键性的需求,尽量避免使用计算机专业术语。
5.3系统需求
结构化语言描述,PDL描述,借口描述。
5.4软件需求文档
引言一般描述,专门需求附录索引
第七章系统模型
上下文模型
行为模型:数据流模型,状态机模型
数据模型
对象模型:继承模型,对象聚合,对象行为建模
CASE!作平台
第八章软件原型系统开发
软件过程中的原型开发:进化式原型开发抛弃式原型开发
快速原型技术:适用动态高级语言数据库程序设计组件和应用集成
用户界面原型开发
第十章体系结构的设计
开发的体系结构模型可能包括:
静态结构模型,动态过程模型,接口模型,关系模型
10.1系统构成
容器模型
客户机/服务器模型
抽象机模型
10.2控制模型
集中式控制:调用■返回模型;管理者模型
基于事件的控制:事件驱动系统:广播模型;中断驱动模型
10.3模块化分解
面向对象模型
数据流模型
10.4领域相关的体系结构
类模型一>编译器模型:词法分析器,符号表,语法分析器,语法树,语义分析器代码生成器
参考体系结构一>OSI参考模型
第十二章面向对象的设计
面向对彖的分析
面向对象的设计
血向対象的程序设计
12.1对象和对象类
操作,方法。
泛化分层结构(画图)
并发对象服务器主动对象
12.2面向对象设计过程
系统上下文和使用模型
它们的补充模型:
1.系统上下文是一个静态模型,描述环境中的其他系统。
2.系统使用模型是一个动态模型,描述系统实际上是如何与坏境交互的。
体系结构的设计实例:气象台体系软件三个层:接口,数据采集,仪器。
对象识别
设计模型:静态模型,动态模型;子系统模型,序列模型,状态机模型;
接口对象描述
12.3设计进化
第十九章检验和有效性验证
有效性验证:我们是否在建立一个正确的产品?
检验:我们是否在正确的建立一个产品?
V&V过程
软件检查(静态)软件测试(动态)
缺陷测试,统计性测试
系统需要的信任程度依赖于系统的设计忖标、系统用户对它的期望和忖前的市场环境。
测试和调试的区別:前者是证明一个软件系统中存在缺陷的过程,后者是一个对缺陷定位和修改的过程。
19.1检验和有效性验证规划
V&V过程的规划应该在开发过程的早期就开始着手。
软件测试计划的结构:需求跟踪测试项目测试时间安排测试记录程序硬件和软件需求约束
19.2软件检查
程序检查:数据缺陷,控制缺陷,输入/输出缺陷,接口缺陷,存储管理缺陷,异常管理缺陷