首页 > 代码库 > 2015上半年软件设计师考点,难点3
2015上半年软件设计师考点,难点3
软件维护
软件交付后。
占整个生存周期工作量的70%以上,代价极高
类型:
1.正确性维护(错误)
2.适应性维护(外部环境、数据环境、市场、管理需求)
3.完善性维护(新的功能、性能)
4.预防性维护(可维护性、可靠性、未来变化)
可维护性:被理解、校正、适应、增强功能的难易程度
度量:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性、效率
方法:质量检查表;质量测试、质量标准;
提高可维护性:明确的目标、优先级;先进的技术、工具;明确质量保证;选择可维护的程序语言;改进文档;开发时考虑维护
非结构化维护:只有程序代码,没有设计文档、测试文档
结构化维护:有完整的软件配置,从评价文档开始
维护量因素:系统大小;程序设计语言;系统年龄;数据库技术的应用;先进的软件开发技术;其他;
文档:决定性因素,比代码更重要。
分类:用户文档、开发文档、管理文档、系统文档
软件再工程:重构
库存目录:分析哪些需要再工程;
逆向工程:更高的抽象层次,抽取设计信息。根据以存在的产品反推设计数据的过程
正向工程:新功能、高性能
重构:调整程序代码,改善质量、性能、设计模式、架构、扩展性、维护性。不修改体系结构,关注设计细节、局部数据结构
项目管理:计划、组织、协调、控制
运用:知识、技能、工具、技术
5要素:技术、方法、团队建设、信息、沟通
错误管理
风险管理:危机管理、失败处理、风险缓解、预防、消灭根源
包括:风险评估(识别、分析、优先级)、风险控制(管理、化解、监控)
人员管理:
项目度量:软件度量、质量度量、继承度量
风险管理:贯穿整个项目过程
数据库
数据依赖
1.函数依赖:Functional Dependency,FD。
平凡函数依赖、非平凡函数依赖
完全函数依赖、部分函数依赖
传递函数依赖
2.多值依赖:Multivalued Dependency,MVD。
“1:0…*”,1对多。
只要知道了R上的一个多值依赖X→→Y,就可以得到另一个多值依赖X→→Z,而且X、Y和Z是U的分割;“(2)”说明多值依赖是函数依赖的某种推广,函数依赖是多值依赖的特例
3.其他
码
候选码:
主属性、非主属性
全码:
外部码:
范式种类:
1NF:属性不可分
2NF:非主属性完全依赖与码
3NF:非主属性之间不依赖
BCNF:主属性之间不依赖
4NF:
规范化:
目的:消除插入、删除异常、修改复杂、数据冗余
实质:概念的单一化
基本思想:逐步消除数据依赖中不合适的部分
注意:
推理规则:
1.自反律
2.增广律
3.传递律
4.合并规则: 1,3可证
5.伪传递规则: 2,3可证
6.分解规则: 1,3可证
闭包
覆盖=等价
极小函数依赖集=最小函数依赖集=最小覆盖
结果:不唯一
分解:
方法不唯一,关系模式等价
函数依赖:减轻、解决各种异常情况
无损连接:与自然连接的结果相等
分解不丢失信息;不一定可以解决插入异常、删除异常、修改复杂、数据冗余……问题
人工智能
求最优解、近似最优解方法:
1.枚举法:适合枚举空间小的
2.启发式算法:找到特有的启发式规则
3.搜索算法:在可行解集合的一个子集进行搜索
遗传算法:
自适应全局优化概率搜索算法。获取近似最优解、满意解。
本质:生物的遗传、进化过程的模拟
特点:强适应力、高优化力
定义:
Xi:一个遗传基因;
等位基因:所有可能取值。
遗传算子:搜索最优解。类似:染色体之间的交叉、变异
选择:Selection。根据个体的适应度,按一定的规则、方法
交叉:Crossover。交叉概率
变异:Mutation。变异概率
特点:
1.以决策变量的编码最为运算对象:而非决策变量的值
2.直接以目标函数值作为搜索信息:个体适应度。而非函数的导数值
3.同时使用多个搜索点的搜索信息:而非单个搜索点
4.使用概率搜索技术:自适应概率搜索技术,而非确定性的搜索方法。概率收敛于最优解。交叉概率+变异概率
应用:函数优化、组合优化、生产调度问题、自动控制、机器人学、图像处理、人工生命、遗传编程、机器学习
改进:
1.自适应变异:防止“近亲繁殖”。双亲差异小,选取较大的变异率(增强搜索能力);双亲差异大,选取较小的变异率(防止破坏优良个体)
2.部分替代法:部分个体被新个体取代,其他部分个体直接进入下一代。
3.优秀个体保护法:一定数量的最优个体,直接进入下一代
4.分布式遗传算法:分为若干个子群,相对独立、封闭(保证搜索的充分性、全局最优性);定期一定比例的迁移(防止向局部最优收敛)
基本遗传算法:Simple Genetic Algorihms ,SGA
只使用选择算子、交叉算子、变异算子。三种基本遗传算子
固定长度的二进制符号串:表示群体中的个体
等位基因:{0,1}。
1.染色体编码方法
2.个体适应度评价:确定被遗传到下一代群体中的概率,正比。适应度:非负值,可转换
3.遗传算子:
比例选择算子:有退还随机选择、赌盘选择。
单点交叉算子:最常用,最基本。两两配对;随机交叉点;交叉互换染色体
基本位变异算子:概率选择变异点;基因值取反;
4.基本遗传算法的运行参数
注意:
蚁群算法:
模拟:蚁群搜索食物源的寻优能力。个体间的信息交流、协作。正反馈现象
解决:离散系统优化问题。随机搜索算法。利用整体信息
1.适应阶段:候选解积累的信息,不断调整自身结构
2.协作阶段:信息交流,产生更好的解
优点:不需任何先验知识,随机选择路径。随着对解空间的“了解”,趋向最优
1.记忆:禁忌列表,随时间,选择动态调整
2.信息素通信:
3.集群活动:群体智能建立路径选择机制。自催化、正反馈,增强型学习系统
算法:蚁环算法、
2015上半年软件设计师考点,难点3