自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 软件工程-判定表与判定树

在某些数据处理问题中,其数据流程图的处理需要依赖于多个逻辑条件的取值,这些取值的组合可能构成多种不同情况,相应地需要执行不同的动作。判定树是判定表的变种,本质完全一样,所有用判定表能表达的问题都能用判定树来表达。判定树比判定表更直观,用判定树来描述具有多个条件的数据处理,更容易被用户接受。判定表与判定树是一种列表设计工具,常用于条件嵌套的复杂判定情况的分析与设计,以及多分支结构代码的设计与实现。③ 计算所有可能的、有意义的条件组合,确定组合规则个数,填写判定表的右上限。(6)讲师,课酬不增加。

2025-04-11 18:46:12 718

原创 软件工程-PAD图

它既克服了传统的流程图不能清晰表现程序结构的缺点,又不像N-S图那样受到把全部程序约束在一个方框内的限制,这就是其优势所在。(6)PAD图的符号支持自顶向下、逐步求精方法的使用。每遇到判断或循环,就自左向右进人下一层,从表示下一层的竖线上端开始执行,直到该竖线下端再返回上一层的竖线的转人处。容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。(3)随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。

2025-04-11 18:40:35 1712

原创 软件工程-盒图

在N-S图中,全部算法写在一个大框图内,这个大框图由若干个小的基本框图构成,可以表示顺序、选择和循环三种基本控制结构。(2)选择型:在选择型结构中,如果条件P成立,可执行T下面的内容,当条件P不成立时,则执行F下面的内容;另一种选择型结构中,给出了多出口的判断图形表示,P为控制条件,根据P的取值相应地执行其值下面的各框内容。(3)WHILE重复型:在WHILE重复型循环结构中先判断P的值,再执行S,其中,P是循环条件,S是循环体;UNTIL重复型循环结构中,先执行S,再判断P的值。

2025-04-11 18:37:35 631

原创 软件工程-程序流程图

程序流程图的主要优点是对控制流程的描绘很直观,便于初学者掌握。流程图也一些严重的不足,主要表现在利用流程图使用的符号不够规范,人们常常使用一些习用法。特别是表示程序控制流程的箭头,使用的灵活性极大,程序员可以不受任何织随意转移控制,这些问题常常很大程度地影响了程序质量。为了消除这些不足,应严定义流程图所使用的符号,不允许随心所欲地画出各种不规范的流程图。程序流程图又称为程序框图,它是软件开发者最熟悉的一种算法表达工具,它独立干任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握;

2025-04-11 18:35:45 444

原创 软件工程-数据流图

按功能细化后可分为“注册管理“成绩管理”“学籍管理”和“奖励管理”4个主要功能,同时增加“学生名册”和“成绩档案两个数据存储,并绘制了细化的数据流。数据流图的基本符号如图2.3所示有三种不同的表示方法,归纳起来数据流图只有4种基本符号元素,数据流(Data Flow)、数据处理(Process)、数据存储(Data Store)和外部实体(External Entity)。在数据流图中,如果有两个以上数据流指向一个加工,或从一个加工中引出两个以上的数据流,这些数据流之间存在一定的关系。

2025-04-11 12:37:41 667

原创 软件工程-基于构件的开发模型

基于构件的开发是指利用预先包装的构件来构造应用系统。基于构件的软件工程(Component Based Software Engineering,CBSE)强调使用可复用的软件“构件”来设计和构造基于计算机的系统。”国际上第一本软件构件专著《构件化软件--超越面向对象编程》给出的构件定义是:“一个构件是一个组装单元,它具有约定式规范的接口,以及明确的依赖环境。基于构件的开发模型中,需求分析与设计建模活动开始于识别可选构件,这些构件有些设计成通用的软件模块,有些设计成面向对象的类或软件包。

2025-04-11 12:15:56 445

原创 软件工程-统一过程

先启阶段的任务是估算项目的成本和效益,确定项目的规模、功能和架构,估计和安排项目的进度:细化阶段的主要目标是立软件系统的架构,如建立用例模型、静态模型、动态模型和实现模型;构建阶段的任务是通过一系列的迭代过程,增量式地构建和实现用例:产品化阶段的任务是试用产品并改正适用中发现的错误,以及制作产品的最终版本、安装产品、完善用户手册并培训用户等这四个阶段按照顺序依次进行,每个阶段结束时都有一个主要里程碑。可以说,迭代是一次完整地经过所有工作流程的过程,从图中能够看出,每个阶段都包含了一次或多次的迭代。

2025-04-11 12:13:46 462

原创 软件工程-喷泉模型

在设计阶段,从实现的角度对分析阶段模型进行修改或扩展。在编码阶段,使用面向对象的编程语言和方法实现设计模型。在面向对象的方法中,分析模型和设计模型采用相同的符号标示体系,各阶段之间没有明显的界线、而且常常重复、迭代地进行。迭代是指各阶段需要多次重复例如,分析和设计阶段常常需要多次、重复进行,以便更好地实现需求。喷泉模型主要用于面向对象的软件项目,软件的某个部分通常被重复多次,相关对象在每次迭代中随之加人渐进的软件成分。,认为面向对象的软件开发过程不需要或不应该严格区分不同的开发阶段。

2025-04-11 12:12:18 457

原创 软件工程- 螺旋模型

接下来的任务是,从风险角度分析上一步的工作结果,努力排除各种潜在的风险,通常用建造原型的方法来排除风险。如果我们想使用一种新的程序设计语言,可能的风险是所使用的编译器将会产生不可靠的、低效的目标代码。评价风险之后选择系统开发模型。螺旋模型是风险驱动的,因此,要求软件开发人员必须具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险,当项目正在走向灾难时,开发人员可能还以为一切正常。定义在该阶段的目标,弄清对过程和产品的限制条件,制订详细的管理计划,识别项目风险,可能还要计划与这些风险有关的对策。

2025-04-11 12:10:43 510

原创 软件工程-增量模型

一个必然的事实是最重要的系统服务将接受最多的测试。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。每个增量构件应当实现某种系统功能,因此增量构件的开发可以采用瀑布模型的方式。(2)逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少新的软件可能给用户、组织带来的冲击。(1)能够在较短的时间内向用户提交一些有用的工作产品,即从第一个构件交付之的起、用户就能做些有用的工作。(1)在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出来的产品。

2025-04-11 12:02:46 295

原创 软件工程-快速原型模型

(5)开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发牛错误的可能性比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。(2)原型系统已经通过与用户的交互而得到验证,据此产生的规格说明文档能够正确地描述用户需求。通常情况下,用户使用原型系统之后会提出许多修改意见,开发人员按照用户的意见快速地修改原型系统,然后,原型的用途是获知用户的真正需求,一旦需求确定了,原型就可以抛弃,当然也可以在原型的基础上进行开发。可以看出,快速原型模型是不带反馈环的,快速原型模型的优点如下。

2025-04-11 12:00:28 320

原创 软件工程-瀑布模型

前一阶段的输出文档,就是后一阶段的输人文档。只有在前一阶段有正确的输出时,后一阶段才可能有正确的结果。瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利,并对提高软件产品质量提供了有效保证。当在后面阶段发现前面阶的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来续完成后面阶段的任务。为了保证质量,瀑布模型坚持两个重要做法:一方面,每个阶段都要完成规定的文档:另一方面,每个阶段都要对已完成的文档进行复审,以便及早发现隐患,排除故障。

2025-04-11 11:58:22 473

原创 软件工程-软件生存周期

具体地说,当软件在使用过程中发现错误时应该加以改正,当环境改变时应该修改软件以适应新的环境,当用户有新要求时应该及时改进软件以满足用户的新需要。软件定义时期确定软件开发工程必须完成的总目标,确定工程的可行性,导出实现工程目标应该采用的策略及系统必须完成的功能,估计完成该项工程需要的资源和成本,并且制定工程进度表。在软件运行期间,通过各种必要的维护,使系统改正错误或修改扩充功能以适应环境变化,从而延长软件的使用寿命,提高软件的效益。其中,前两个阶段又称为系统设计,后两个阶段又称为系统实现。

2025-04-11 11:47:07 735

原创 白盒子测试-逻辑覆盖测试法

逻辑覆盖测试法是常用的一类白盒测试方法,其以程序内部逻辑结构为基础,通过对程序逻辑结构的遍历来实现程序测试的覆盖。逻辑覆盖测试法要求测试人员对程序的逻辑结构有清晰的了解。逻辑覆盖测试法是一系列测试过程的总称,是使测试过程逐渐进行越来越完整的通路测试。从覆盖源程序语句的详尽程度,可以将其分为语句覆盖、判定覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖和路径覆盖等。接下来将通过下面程序的逻辑覆盖测试用例一一介绍这些覆盖准则,该程序的流程图如图 所示,其中,a、b、c、d、e是控制流上的若干程序点。

2025-04-11 11:29:32 2229

原创 黑盒子测试-因果图法

如果那么就会使情况,因为要检查输入条件的组合情况并不是一件容易的事情,即使把所有输入条件划分为等价类,它们之间的组合情况也相当多,难以分析。因此,必须考虑采用因果图法,。因果图法是用逻辑式描述程序的,同时,用制约条件描述输人条件间的依赖关系的一种方法,其特征在于图式记述。因果图法是软件测试中一种重要的方法,它是由美国的Elemendorf在吸收等技术的基础上于1973年提出的,作为功能测试常用方法之一,它将功能说明书转换为形式化表达。

2025-04-08 12:50:19 1279

原创 黑盒子测试-决策表法

决策表(也称判定表)是软件工程实践中的重要工具,主要用在软件开发的详细设计阶段,能表示输入条件的组合以及与每一。决策表的在于能够将,简明并避免遗漏,因此,利用决策表能够。

2025-04-07 21:56:12 954

原创 黑盒子测试-边界值分析法

边界值分析法主要是在变量的输入域选择测试用例。其许多,而非输入域的中间部分,因此,针对边界情况设计测试用例能够更有效地发现错误。,在做三角形计算时,要输入平面内三角形的3个边长A、B和C。这3个数值应当满足A>0、B>0、C>0、A+B>C、A+C>B、B+C>A这样才能在平面上构成三角形。但如果把6个不等式中的任何一个大于号">"错写成大于等于">=",那就不能在平面上构成三角形。

2025-03-31 19:56:08 1311

原创 黑盒子测试-等价类划分法

指的是对程序的规格说明来说是合理的,有意义的输人数据所构成的集合利用有效等价类可检验程序是否实现丁规格说明中所规定的功能和性能与有效等价类的定义恰巧相反,是那些对程序的规格说明来说是不合理的或无意义的输人数据所构成的集合。

2025-03-31 07:23:16 2038

原创 软件测试-黑盒测试概述

黑盒测试(Black Box Testing)是一种测试方法,测试人员不需要了解程序的内部逻辑或代码实现,而是根据软件的功能需求和用户需求进行测试。其主要目标是验证软件是否按照预期的功能和性能要求运行。黑盒测试是一种重要的软件测试方法,通过从用户的角度验证软件的功能和性能,帮助确保软件质量和用户满意度。在软件开发生命周期中,黑盒测试通常与其他测试方法(如白盒测试)结合使用,以实现全面的测试覆盖。

2025-03-27 22:15:18 384

原创 什么是软件测试

IEEE是一个国际性的专业协会,成立于1963年,总部位于美国在1983年将软件测试定义为:使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。该定义明确地提出了软件测试以。

2025-03-27 22:11:49 796

原创 hashmap

HashMap 是一种常用的数据结构,属于键值对(Key-Value Pair)存储的集合。它在 Java、Python 和其他编程语言中广泛使用。以下是对 HashMap 的详细介绍,包括其基本概念、特点、实现方式和常见操作。2. Python 中的 HashMap 常用函数 插入元素:查找元素:检查键是否存在:删除元素:遍历元素:获取大小:清空 HashMap:

2025-03-26 07:11:27 517

原创 谓词逻辑表示法

命题逻辑是逻辑学的一个基本分支,主要研究命题及其之间的关系。命题是可以被判定为真或假的陈述。谓词逻辑是一种扩展了命题逻辑的逻辑形式,能够表达对象及其属性和关系。它使用个体词、谓词和量词进行描述。

2025-03-26 07:01:22 816

原创 博弈树介绍与α - β剪枝法

假设有两个玩家 A 和 B 进行一个简单的游戏。在每个回合中,玩家可以选择“增加1”或“增加2”。游戏目标是第一个达到 5 分的玩家获胜。在这个博弈树中,玩家 A 和 B 通过选择不同的增加值来获得分数,最终的胜利状态在叶节点中显示。

2025-03-25 19:18:56 1120

原创 CISC和RISC

定义:特点:优缺点:定义:特点:优缺点:

2025-03-25 14:09:27 292

原创 螺旋矩阵问题

给你一个 行 列的矩阵 ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]java代码代码结构解析 类和方法定义: 这是一个名为 的类,其中包含一个名为 的公共

2025-03-25 14:00:33 2200

原创 Flynn分类法

SISD (Single Instruction Stream Single Data Stream):SIMD (Single Instruction Stream Multiple Data Streams):MISD (Multiple Instruction Streams Single Data Stream):MIMD (Multiple Instruction Streams Multiple Data Streams):

2025-03-25 12:34:55 475

原创 运算器加减乘除操作过程

即将[ACC]看作被除数,先取出存放在主存M号地址单元内的除数[M]并送至X寄存器,然后[ACC]除以[X],结果(商)暂留于MQ,[ACC]为余数R。即将[ACC]看作被乘数,先取出存放在主存M号地址单元中的乘数[M]并送入乘商寄存器MQ,再把被乘数送人X寄存器,并将ACC清“0”,然后[X]和[MQ]相乘,结果(积)的高位保留在ACC中,低位保留在MQ中。即将[ACC]看作被减数,先取出存放在主存M地址号单元中的减数[M]并送入X,然后[ACC]-[X],结果(差)保留在CC中。

2025-03-25 07:30:31 519

原创 计算机组成框架

输入设备输出设备

2025-03-25 07:18:57 354

原创 RAM和ROM

RAM主要用于临时存储和快速数据处理,而ROM则用于永久性存储和固件。两者的变种各有不同的特性和用途,适用于不同的应用场景。

2025-03-24 19:57:51 506

原创 反码,原码,补码取值范围

原码的范围是 -127 到 +127,但有两个零(+0 和 -0)。反码的范围也是 -127 到 +127,但有两个零(+0 和 -0)。补码的范围是 -128 到 +127,负数范围更广,没有负零,且在计算中更为方便。

2025-03-24 19:55:50 1045

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除