软件设计师---钉子户3

简介: 软件设计师---钉子户3

序列图(顺序图)

通信图

状态图

这个东西比较复杂,我觉得今年不会考就没看了,摆烂!

活动图

构建图(组件图)

注意上面这个图的供接口和需接口标反了!!!

注意这里1是供接口,2是需接口

部署图



钉子户4

软件工程的钉子户

钉子户1

钉子户2


CL0(未完成)指未执行过程,表明过程域的一个或多个符足目仍没有被满足;


CL1(已执行)指过程通过转化可识别的输入工作产品,产生可识别的输出工作产品,关注于过程域的特定目标的完成;


CL2(已管理)指过程作为已管理的过程制度化,关注于针对单个过程实例的能力;


CL3(已定义)指过程作为已定义的过程制度化,关注过程的组织级标准化和部署


CL4(定量管理)指过程作为定量管理的过程制度化;


CL5(优化的)指过程作为优化的过程制度化,表明过程得到很好地执行且持续得到改进。


钉子户3

瀑布模型

瀑布模式适合开发需求明确的,需求大致固定不会随意变更的系统

V模式的关键字在于质量保证活动和沟通,基本问题逐步细化

增量模型


增量模型拥有瀑布模型的所有优点


它主要的特点是可以快速构造可运行的产品,其他优点如下


1、软件可以快速地交付


2、早期的增量作为原型,从而可以加强对系统后续开发需求的理解


3、具有最高优先级的功能首先交付,随着后续的增量不断加入,这就使得更重要的功能得到更多的测试


4、可以使用较早的增量构件作为原型,从而获得稍后的增量构件需求


5、容易理解,管理成本低


6、开发由增量表示的小系统所承担的风险小


7、强调开发阶段性早期计划


我一直觉得原型模型和增量模型都是可以快速构建可运行产品的,我生怕它考这个特点然后问哪个模型是这个特点,但是我发现好像不会这么出题,这两种模式只会给明你指定的模型问优点


原型模型

原型模型主要强调用户需求不清楚,需求经常变化的时候使用,并且规模不是很大,它虽然也能快速构建可运行产品,但这个不是他主要的特点

螺旋模型

它包含维护周期,因此维护和开发之间没有本质区别

喷泉模型

统一过程(UP)模型

极限编程(XP)

钉子户4

概要设计


详细设计

钉子户5

多个测试用例都不在合法范围内的都不是好的测试用例

钉子户6


两个方法

第一个是边-节点+2

第二个闭合区域+1

第二个速度快但是容易错


钉子户7

判定覆盖(分支覆盖)

也就是每个判定表达式都有一真一假,也就是下面的红色画出来的,这里的判定是指判定整体一起,也可以理解为就是菱形这个整体要一真一假

如果可以的话两个测试用例就够了,全部为真和全部为假两个测试用例

条件覆盖

条件覆盖就是判定表达式的所有条件都要最少取得一真一假,例如上面那个图的第一个判定表达式的条件如下,有两个条件,每个条件要最少取一真一假

条件组合覆盖


也就是判定表达式的所有条件的真假不同组合必须都有,两个条件就是四种组合,例如下面的

这个题目有点意思,注意看i=0是每一次都会赋值一次,所以红色画出来的部分它每次都会先执行Y路径再执行N路径,也就是路径是固定的

这里34题选A!!

钉子户8


正确性主要就是修改错误


适应性主要是是变化了所以要适应或者是扩充升级(不是新的需求或功能而是在原来的基础上升级),题目中有变化或者暗示变化那就是适应性


完善性主要是直接新增功能和需求这两个点或提高性能(注意这里是直接提出的新增功能和需求而不是为了适应什么变化而提出来的新的功能和需求)


预防性主要是预防两字


这里要注意提出这个需求的原因是外部环境变化,核心是这个变化,所以是适应性

钉子户9

沟通路径无主程序员的公式【(n-1)*n】/2,就是求和公式

有主程序员n-1,其中n为程序员的个数

钉子户10

钉子户11

顺着推(最早时间)取最大,逆着推(最晚时间)取最小


找到FG,然后看经过FG到终点的路径是哪一条,这里是ADFGJ,然后从J倒着求到F点(但是这里有三条路径,一定记得是沿着前面给出的ADFGJ路径,因为它这个路径包含了FG),看看F点的最晚时间是多少,最后求最早和最晚的时间差值就是FG的松弛时间


讲解地址:2012年下半年第16、17题_哔哩哔哩_bilibili

钉子户12

钉子户13

钉子户13


钉子户14

钉子户15

程序设计语言的钉子户

钉子户1

钉子户2

钉子户3

钉子户4

词法分析


语法分析

语法分析阶段可以发现程序中所有的语法错误

语义分析


有语义错误是可以编译成功的,例如a/0;这是符合语法的,也符合静态语义,编译器检验不出来这个是错的,只有运行才会报错,也就是动态语义,动态语义错误常见的有死循环

钉子户5

正规式和有限自动机都是词法分析的工具


这里注意(0|1)*可以理解为是万能的公式,可以拼接成任何想要的0和1的序列,但是这个选项后面加了个01,也就是必须要用01结尾,前面的你可以随便拼,例如你可以拼成011 01,前面的011是由(0|1)*得到的其中*取3,做这样的题目一般是直接从选项随便取*然后得到的序列看看能不能在图上跑通并且跑到终点


钉子户6

这里知道后缀式是把符号为放在最后并且最为一个新的整体替换原来的a?b,知道中缀怎么和后缀互转就行,注意优先级相同时是从右到左,后缀转中缀用到了栈

算术表达式对应的是中序遍历


计算机系统的钉子户

钉子户1

算术逻辑单元(ALU)是算术运算和逻辑运算

累加寄存器(AC)是暂存算术运算或逻辑运算的中间运算结果

数据缓冲寄存器(DR)是暂存指令或数据字或操作数

状态条件寄存器(PSW)是保存指令执行后的状态

指令寄存器(IR)存放的是从内存中取得指令,就像个中间站一样,不过是存放指令的中间站,程序员无法访问

程序计数器(PC)存放的是指令的地址,还有计数的功能

地址寄存器(AR)存放的是cpu访问内存单元的地址

指令译码器(ID)是把操作码解析成对应的指令操作


钉子户2

八进制与十六进制

八进制和十六进制转二进制

也就是一个16进制的数要用4个2进制的数来表示

一个16进制对应转成4个二进制

一个8进制对应转成3个二进制

目录
相关文章
|
8月前
|
监控 程序员 测试技术
程序员思维修炼 --- 读书笔记
程序员思维修炼 --- 读书笔记
14802 11
程序员思维修炼 --- 读书笔记
|
10月前
|
存储 设计模式 算法
软件设计师---钉子户1
软件设计师---钉子户
67 0
|
10月前
|
存储 人工智能
软件设计师---钉子户5
软件设计师---钉子户5
87 0
|
10月前
|
存储 机器学习/深度学习 数据安全/隐私保护
软件设计师---钉子户4
软件设计师---钉子户4
709 0
软件设计师---钉子户4
|
10月前
|
存储 网络协议 安全
软件设计师---钉子户2
软件设计师---钉子户2
71 0
|
10月前
|
监控
软件设计师---软件工程3
软件设计师---软件工程
90 0
|
10月前
|
测试技术 程序员
软件设计师---软件工程2
软件设计师---软件工程
98 0
|
10月前
|
敏捷开发
软件设计师---软件工程1
软件设计师---软件工程
64 0
|
10月前
|
测试技术 uml
软件设计师---UML1
软件设计师---UML
95 0
|
10月前
|
测试技术 uml
软件设计师---UML2
软件设计师---UML
48 0