软件设计师冲刺笔记(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/83338598

目录

软件开发模型

软件测试-McCabe复杂度

软件维护

项目管理

面向对象的基本概念

面向对象设计7大原则

UML

面向对象设计-设计模式分类

规范化理论-图示法 求候选键

规范化理论

模式分解

软考中算法特征(只有4种)


软件开发模型

瀑布模型:需求必须是稳定的,明确的,只适合二次开发或需求是稳定的情况;
原型化模型:对需求明确性最低的模型,适用于需求不明确的情况,构造一个简易系统从而获取需求;
螺旋模型:是多种模型的中合体,依据原型化模型发展来的,但融入了瀑布模型迭代模型等,还考虑到了风险性;
敏捷方法:轻量级的方法,强调小步快跑的模式完成系统开发,放弃文档以及相应的流程;

 


软件测试-McCabe复杂度

计算有向图G的环路复杂度公式:V(G)=m-n+2    //边-点+2

 


软件维护

软件维护类型
改正性维护:原软件存在有BUG,测试的时候没有发现BUG,在维护阶段发现有问题要及时修正
适应性维护:环境因数变化;
预防性维护:对未来可能要进行的维护工作提前所做的准备;
完善性维护:扩充功能和改善性能;

 


项目管理


Gant图:简单直观时间管理图,直观展现项目的计划(粗线)以及实现(细线)的情况,以及对比分析,但活动之间逻辑依赖关系难以表达关系;
Pert图(活动网络图):每一个结点,每一条边都构成一个活动,清晰了解项目里哪个活动比较早开展,哪个活动比较晚开展,分析关键路径展示情况;

 


面向对象的基本概念


对象:属性(数据)+方法(操作)+对象ID
类:(实体类/控制类/边界类)
继承与泛化:复用机制
封装:隐藏对象的属性和实现细节,仅对外公开接口
多态:不同对象收到同样的消息产生不同的结果(用上层的对象指针进行统一的操作)
接口:一种特殊的类,他有方法定义没有实现
重载:一个类可以有多个同名的参数类型不同的方法

 


面向对象设计7大原则


单一职责原则:设计目的单一的类
开放-封闭原则:对扩展开放,对修改封闭
李氏(Liskov)替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
接口隔离原则:使用多个专门的接口比使用单一的接口要好
组合重用原则:要尽量使用组合,而不是继承关系达到重用的目的
迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解

 


UML


结构图(静态图):类图、对象图、构件图、部署图(软硬件之间映射)
行为图(动态图):用例图(系统与外部参与者的交互)、顺序图(强调时间顺序)、通信图(协助图)、状态图(状态转换)、活动图(类似程序流程图、并行行为)


依赖关系(虚线+实心三角形):一个事物发生变化影响另一个事物
泛化关系(实线+空心三角形):特殊/一般关系
关联关系(聚合+组合):描述一组链,链是对象之间的的连接
聚合关系(实线+实心菱形):整体与部分生命周期不同
组合关系(实线+空心菱形):整体与部分生命周期相同
实现关系(虚线+空心三角形):接口与类之间的关系

 


面向对象设计-设计模式分类


设计模式的思想:复用一个解决方案,这些模式里面已经存在了哪些接口,哪些类,这些类应该如何进行交互;

创建型模式(进行对象的创建)
1.工厂方法(factory method)模式:专门构造一个方法,这个工厂的职能非常单一,就是生成对象;就是把创建对象的活给外部了,只需要指定的格式去调用工厂方法,就能够得到需要的对象;
2.抽象工厂(abstract factory)模式
3.原型(prototype)模式
4.单例(singleton)模式:最大特点是每个类只能实例出一个对象
5.构建器(builder)模式

结构型模式:
1.适配器(adapter)模式:从一种接口转换为另外一种接口
2.桥接(bridge)模式:解决类爆炸问题
3.组合(composite)模式:整体和部分的构建
4.装饰(decorator)模式
5.外挂(facade)模式
6.享元(flyweight)模式
7.代理(proxy)模式

行为型模式
1.职责链(chain of responsibility)模式
2.命令(command)模式
3.解释器(interpreter)模式
4.迭代器(iterator)模式
5.中介者(mediator)模式
6.备忘录(memento)模式
7.观察者(observer)模式
8.状态(state)模式
9.策略(strategy)模式
10.模板方法(template method)模式
11.访问者(visitor)模式

 


规范化理论-图示法 求候选键


1.将关系的函数依赖关系,用“有向图”表示;
2.找入读为0的点,遍历图,如果能遍历完所有的点,那么就是候选键;
3.中间结点(既有入度,又有出度的点)进行遍历,如果能遍历所有结点,就是候选键;

 


规范化理论


1NF:属性都是不可分的原子
2NF:消除非主属性对候选键的部分函数依赖(当候选键是单属性的时候,肯定是2NF)
3NF:消除非主属性对候选键的传递函数依赖(A->B->C这就存在传递依赖)
BCNF:消除主属性对候选键的部分和传递依赖

 


模式分解


无损分解:能通过关联查询,恢复成原关系
保持函数依赖分解:出冗余依赖,替他均能在拆分后的关系中找到

 


软考中算法特征(只有4种)


1.分治法:拆分,递归
2.动态规划法(用于求最优解):拆分,但用数组存
3.回溯法:不行就回退,然后不断的尝试
4.贪心法(用于求满意解):只进行一步的策略,单步策略,累积起来可能是最优的策略

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/83338598