软考——软件工程相关知识
- 软件工程相关术语
- 用例:那么,到底什么是Use Case呢?在UML的文档中,Use Case的定义是:在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。有点拗口,对吧?其实Use Case(直译:使用状况)就是对系统功能的描述而已,不过一个Use Case描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程。在使用UML的开发过程中,需求是用Use Case来表达的,界面是在Use Case的辅助下设计的,很多类是根据Use Case来发现的,测试实例是根据Use Case来生成的,包括整个开发的管理和任务分配,也是依据Use Case来组织的。—百度百科
- 用例驱动:在需求分析时,会根据初步需求拟定部分用例(可以看成表达需求的工具),并根据这些用例去开发,以及拟定测试计划,因此整个工程都是围绕用例并被用例推动着进行的,所以叫用例驱动。
- 迭代:迭代意味着循环,并常常伴随着增量,因为随着循环次数的增加,产品也不断完善并增加产出。
- 架构:架:框架,构:构件,在构件开发中,架构负责构件的组织和布局以组装成一个合格的产品
- α(阿尔法)测试:在开发环境中的测试
- β(贝塔)测试:在用户环境中的测试,如软件的测试版交给用户去测试
- 结构化开发和面向对象开发区别:结构化开发可以看成树型的面向过程开发,面向过程通常是线性的,而结构化是把一个软件模块化,模块间有数据的流动,从调用的角度来看,大模块调用多个小模块或者由多个小模块组装,因此是树形的,而面向对象可以看成面向事件,举一个例子:用计算机模拟一个小球被抛入一个教室会怎么运动。按结构化开发的思想是可以把小球的运动分为不同的阶段,如第一次碰到什么物体会怎么动直至停下来为止,是流程化线性化的,而面向对象是,既然这个过程很麻烦,那我先把环境模拟出来,把环境的各个部分看成对象,并加上物理规则,当一个小球碰到一个物体时就会触发事件。这就导致结构化开发目的性强,流程线性但各个部分耦合度高,当一个部分要修改时其他也要变化,且复用性低,每一次改变小球角度都要重新开发,但类似于生产线,对于固定需求,效率高。对于面向对象开发,复用性高,部件耦合度低,出错代价小。
- 回归测试:把某一模块或部件取出修改后再将其放回整体进行测试
- 调用的深度:如果把各个部件的调用看成一棵树的各个节点,那从根节点到其他某节点的深度越低越好,因为调用深度低说明调用的部件少,发生错误的概率也小,需要修改的部分也少等等
- 扇入、扇出,上面部件的调用树或图一个节点的入度叫扇入,表示有多少个部件调用他,扇出就是出度
- CMMI的连续式的已管理代表了项目管理层面的制度化,项目经理可以根据之前的项目或团队根据经验定义的某一项目管理的管理制度来管理项目,重点在项目经理等管理人员。已定义代表流程和整个开发过程的制度化,规范化,如统一开发模版,团队内的开发人员能根据已定义的制度或模版来开发,重点在开发人员。
- 增量模型是大圆套小圆,在保证核心不变的情况下开发,在最开始的时候先向用户展示核心模块作为第一个阶段,在第二个阶段再开发其他模块,像搭积木一样,每做完固定的模块就把他加上去并展示给客户,好处是每一次的交付用户都会审视核心模块,这样开发结束时,核心模块不符合客户需求的风险会很小,而演化模型是不断提出或调整原型,其过程不在乎核心是否变。螺旋模型,多了风险分析,在每次开发完一个原型后都分析一遍。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!