软件设计师考试学习3

开发模型

在这里插入图片描述

瀑布模型

现在基本被淘汰了

是一种结构化方法中的模型,一般用于结构化开发
问题在于需求阶段需求不可能一次搞清楚,很可能做完推翻重做
适用于需求明确或二次开发
在这里插入图片描述

原型模型、演化模型、增量模型

原型是为了解决需求不明确的问题
原型在项目初期,构建一个简易的系统,例如简单的界面、系统,让用户直观的操作,如果有问题再改
原型法往往只应用于需求分析的阶段

增量模型是先将核心需求做出来,然后再在此基础上加其他模块或进行更改
增量模型风险比较小
在这里插入图片描述

螺旋模型

由多个模型组合,引入了风险分析
在这里插入图片描述

V模型

测试占到了更重要的地位,提早进行测试
分析和测试对应,在需求分析阶段就写验收测试和系统测试计划
概要设计阶段会做集成测试的计划
详细设计阶段会做单元测试的计划
在这里插入图片描述

喷泉模型与RAD

是面向对象的模型
RAD是快速开发模型,是由瀑布模型和CBSD(构件化开发模型)组合形成的
如VB这种可视化模型就属于RAD模型
最大的特点就是能快速构建业务系统
在这里插入图片描述

构件组装模型CBSD

把软件开发中的各个模块做成标准的构件,然后组装,就得到了需要的软件
极大提高了软件开发的复用性,是开发时间减少,节省成本,提高可靠性(用其他系统中的构件,用在新的系统中出错概率小)
在这里插入图片描述
第一个标准是OMG组织提出的
第二个标准是微软家族的
第三个标准是JAVA体系用到的
在这里插入图片描述

统一过程(UP)

缩写也可以为RUP(以前)
细化阶段,重点是建立架构
交付阶段,β测试,针对产品,在用户环境里,由用户发起测试;对应的α测试是在开发环境测试的
统一过程也会循环迭代
在这里插入图片描述

敏捷开发方法

在这里插入图片描述

信息系统开发方法

结构化方法最大的方法就是不灵活,不容易改变
面向对象就是对现实对象抽象,解决结构化方法的问题,有更好的复用性
原型法适合需求不明确的开发,做初步简易的系统来探明需求
在这里插入图片描述

需求的分类

设计约束比如用户明确提出只能用某种数据库
QFD质量改善模型
期望需求是用户没说,但是隐晦的需求
兴奋需求是超越用户期望的需求,会让用户开心但是不提倡,会浪费成本,一般杜绝
在这里插入图片描述

结构化设计

扇入表示别人调用自己比较多,服用程度比较高
扇出表示自己需要调用的其他模块比较多,不太好
在这里插入图片描述

在这里插入图片描述
从上往下内聚程度降低
耦合从上到下越来越高
在这里插入图片描述
图B需要掌握
在这里插入图片描述

测试原则与类型

必考
动态测试是利用到计算机的测试
静态测试是纯人工测试
代码走查是人工运行
代码审查是与别人交叉检查
在这里插入图片描述

测试用例设计

黑盒测试是不知道里面的结构
白盒测试能看到系统的结构,将所有路径都能覆盖,往往效果比较好
边界值一般是取略小于或略大于边界,及边界值
例如0到150,取的是-1 0 150 151

错误推测强调经验灵感

语句覆盖/判定/条件/路径覆盖考的多
在这里插入图片描述

测试阶段

确认测试和系统测试顺序不一定;对于软件项目来说,一般到确认测试就停止了;但是有软硬件的系统,会先做系统测试,然后再确认验收工作

系统测试主要考虑性能压力稳定性方面

冒烟测试就是最初步的测试
在这里插入图片描述

McCabe复杂度计算

在这里插入图片描述

系统运行与维护

在这里插入图片描述

软件能力成熟度模型集成(CMMI)

软件开发的成熟度
阶段式:
第一级是混乱级
二级考虑项目级的问题
三级考虑组织级的问题(文档化/标准化)
第四级强调量化,管理量化
五级做持续优化

国内企业比较急功近利,为了能通过等级,但是实际会觉得浪费成本而不按这个标准做(论文里可以提)
在这里插入图片描述

项目管理基础知识

一般考时间管理/风险管理
在这里插入图片描述

甘特图不能直观的表达任务之间的逻辑关系
先计算最早开始时间,然后逆推得到每个事件的最晚开始时间
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

需求工程

面向对象的需求分析

实体类,跟数据相关的
边界类,跟外界系统交互的类
类与类之间的衔接的类

多态:做同样的操作,控制的是不同的对象

接口是一种特殊的类,只有方法的定义,没有方法的实现

消息是对象之间通信的方式,消息是异步的
在这里插入图片描述

面向对象设计(设计原则)

当子类方法有重载时,可能不能替换父类
所以子类应该尽可能少的重载
而接口就是为了解决这个问题

计算机硬件其实就是针对接口编程,都是插槽;而电视机都是焊接的,不容易更换

继承是紧耦合关系,所以应该尽量少
最少知识法则一般通过封装实现
在这里插入图片描述

UML

主要了解一系列图
图为结构图(静态图)、行为图(动态图)
用例图有分歧(考试时看情况,大部分情况是动态)

静态图一般表示之间的关系
部署图:软件的部件应该部署在哪个硬件节点之上

行为图各有特征
用例图表示系统和外部的交互关系
通信图和顺序图区别就在于前者没有强调时间关系
状态图表示状态变迁转移情况
活动图和流程图的结构是一致的
其他不用管
在这里插入图片描述

设计模式的概念

设计模式与语言无关,构建设计
在这里插入图片描述

设计模式的分类

创建型模式指用于创建对象的模式,为设计类实例化、新对象提供指南
结构型模式主要处理类或对象的组合问题,形成更大的结构提供指导
行为型模式,主要描述类或对象交互的模式,以及职责分配的问题
在这里插入图片描述

创建型模式

原型模式又称为克隆模式
在这里插入图片描述

结构型模式

在这里插入图片描述

行为型模式

在这里插入图片描述

模板方法模式和访问者模式了解概念即可
在这里插入图片描述

数据流图

必考(15分)
在这里插入图片描述
在这里插入图片描述

数据流图基本概念

区分数据流图和ER图,数据流图没有联系
在这里插入图片描述

在这里插入图片描述

数据流图的分层(DFD)

数据流图又称为分层数据流图
顶层中间椭圆表示要开发的系统,两边的方块表示外部实体
将顶层图细化,将中间的系统分为几个节点,代表处理职能部件
下面再细化

分层的思路和结构化的开发方法是完全匹配的,所以数据流图是结构化开发方法最为主流的工具
绘制的时候要注意父图和子图要保持平衡
在这里插入图片描述

数据字典

配合数据流图使用
在这里插入图片描述
在这里插入图片描述

数据流图的平衡原则

对于一个加工节点,应该有输入也有输出
在这里插入图片描述

在这里插入图片描述

数据流试题解题技巧

  1. 详细分析试题说明,从需求中提取关键点
  2. 利用数据平衡的原则进行判断
    在这里插入图片描述

案例分析1

在这里插入图片描述
绘制加工时,数据流不平衡:黑洞、奇迹、数据流命名问题(输入流和输出流一样、输入流不可能产生输出流)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

案例分析2

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

数据库设计

重点ER模型、关系模式
在这里插入图片描述

数据库设计过程

关系模式是对ER模型进行转化得到的
每个阶段的产物要掌握
在这里插入图片描述

ER模型

在这里插入图片描述

在这里插入图片描述

数据库设计例题1

ER模型补充,ER模型转关系模式,关系模式补充,一些概念
在这里插入图片描述

客房和客户之间也是多对多,一个客房可以被多个客户分时段预定(???)
在这里插入图片描述
在这里插入图片描述

第二题
在这里插入图片描述
4:员工号 部门号
5:客房号
6:身份证号
7:岗位
8:身份证号 客房号
在这里插入图片描述
第四题,逆规范化,权限存储多次,造成了数据冗余;但是减少了一次链接操作,查询数据快

例题2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
a:商场编号
b:部分编号
c:员工编号
在这里插入图片描述
在这里插入图片描述

经理也是员工,属于一种特殊的关系,用一根线加一个圈表示
在这里插入图片描述

第四题:
紧急联系人(员工编号 紧急联系人姓名 电话)
在这里插入图片描述

UML建模

用例图和类图+其他类型的图
在这里插入图片描述

用例图

在这里插入图片描述

类图与对象图

在这里插入图片描述

0…*和*是对应的
在这里插入图片描述

泛化是对类的,实现是对接口,要注意线的形状
在这里插入图片描述

顺序图

每个对象引出一条生命线,用虚线画
整体流程执行是从上往下走
每个箭头表示消失
顺序图特点就是按顺序来,表现对象之间的交互关系,是动态图
考察重点是消息或对象名
在这里插入图片描述

活动图

表现流程情况,分支状态
粗横线表示从这里产生了多少个并行的线程
在这里插入图片描述
带泳道的活动图,指示了不同的对象,表示哪个活动的责任人是谁
一个流程和图的对应
在这里插入图片描述

状态图

状态图表现状态的变迁,所以是动态图
箭线表示事件,节点表示状态
在这里插入图片描述

通信图

和顺序图差不多,时间上没有那么明晰
在这里插入图片描述

例题1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题3,音轨和音轨存在联系,0到1
在这里插入图片描述
在这里插入图片描述

例题2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设计模式是状态模式
必须有的属性是CLavel
在这里插入图片描述

数据结构与算法应用

分治法

用到递归
在这里插入图片描述

递归技术

在这里插入图片描述

二分查找

在这里插入图片描述

回溯法

在这里插入图片描述

贪心法

在这里插入图片描述

动态规划

子问题不是独立的,最后需要查表
在这里插入图片描述

例题1

在这里插入图片描述
在这里插入图片描述
(1) j = 0
(2) b[j] = b[j] + s[i]
(3) min = temp
(4) b[m] = b[m] + s[i]
在这里插入图片描述
在这里插入图片描述

两种方法都是贪心,时间复杂度都是O(n^2)
在这里插入图片描述

例题2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分治法
在这里插入图片描述

时间复杂度的递归式,
比较次数是n1+n2
在这里插入图片描述

面向对象程序设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例题1

创建型模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例题2

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

专业英语词汇

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值