LOGO
首页 网站广场 站长动态 活跃度榜 全部站长 审核查询 逛逛好站 留言交流 提交申请 关于本站

站长动态

站长动态所展示的是已加入好站网成员站长文章
共同步 2749 篇文章
(每2小时更新一次)
Debug
入驻第1年
软件工程 活动图、状态图、顺序图实验题
活动图绘图有开始结尾的标志,简称黑点开始、牛眼结束。 1、请应用活动图描述同学们每次参加考试的过程是怎么样的? 开始。 学生进入考场。 监考教师核对检查证件,发放试卷。 学生对号入座。 学生开始答题。 学生交卷。 监考教师收取试卷。 结束。 2、 小张想去吃饭,如果必胜客有空位或最多只等待 15 分钟,则进必胜客吃饭,否则去肯德鸡吃 饭。请画出相应的活动图。 3、开工奠基流程如下: 如果资金到位,则准备施工现场。当领导也到场时,开工奠基开始 请画出相应的活动图 4、对于“远程网络教学系统”,学生登录后可以下载课件。在登录时,系统需要验证用户的登录 信息,如果验证通过系统会显示所有可选服务。如果验证失败,则登录失败。当用户看到系统显示的 所有可选服务后,可以选择下载服务,然后下载需要的课件。下载完成后用户退出系统,系统则会注 销相应的用户信息。画出学生下载课件的活动图。 5、在“远程网络教学系统”中,系统管理员登录后可以处理注册申请或者审核课件。在处理注册 申请后,需要发送邮件通知用户处理结果;在审核完课件后,需要更新页面信息以保证用户能看到最 新的课件,同时系统更新页面。当完成这些工作后,系统管理员退出系统,系统则注销系统管理员账号。画出系统管理员的工作活动图。 6、根据以下叙述,绘制打印社的“打印机”的状态图: 未接到工作命令时,打印机处于闲置状态。接到打印命令后,转入打印状态,完成打印后又回到 闲置状态,等待命令。 若打印时发现没纸,则进入缺纸状态。发出警告等待装纸。装纸完成后又进入闲置状态。 若打印时发现卡纸,则进入卡纸(故障)状态。发出警告等待排除故障。故障排除后又进入闲置 状态。 7、手机开机时,处于空闲状态;当用户开始呼叫某人时,手机进入拨号状态;如果呼叫成功, 进入通话状态;如果呼叫不成功,重新进入空闲状态。在空闲状态被呼叫,进入响铃状态;如果用户 接听,进入通话状态;如果一分钟不接听,重新进入空闲状态。请绘制手机的状态图。 8、用顺序图描述一位学生张三在 ATM 系统上取 100RMB 的“取款”流程,其过程要包括如下 需求。 ➢ 学生张三取款时向 ATM 系统插入银行卡。 ➢ ATM 系统的读卡机读取卡号信息。 ➢ 屏幕显示用户的操作界面。 ➢ 屏幕提示用户输入密码。 ➢ 用户根据提示输入密码。 ➢ 系统检测用户的密码是否有效。 ➢ 屏幕提示选择事务的操作,如查询、存款、取款等。 ➢ 张三选择取款事务。 ➢ 屏幕提示输入取款金额。 ➢ 张三根据提示输入 100RMB。 ➢ 系统准备向张三的账号执行取钱的操作。 ➢ 系统检测张三的余额是否大于等于 100RMB。 ➢ 系统从张三的账户上扣除 100RMB。 ➢ 吐钱机将 100RMB 吐出给学生。 ➢ 系统打印取款凭据。 ➢ 系统退卡。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件工程 交互预览、组件、部署习题
1、软件部署是( B ) A:部署软件构件 B:部署软件程序 C:部署软件模型 D:部署软件制品 2、下面说法正确的是( C ) A:制品就是制成品 B:制品是软件模块 C:制品是被部署的软件单元 D:制品是软件构件 3、下列说法不正确的是( B )。 A)在用例视图下可以创建类图 B)在逻辑视图下可以创建组件图 C)在逻辑视图下可以创建包 D)在构建试图下可以创建构件 4、在组件图中,( D )用于显示构件之间的关联关系。 A)依赖关系 B)构件 C)包 D)节点 5、 下面哪个符号代表部署图的节点( C ) 6、下列不属于部署图中的设备类型的是:( B )。 A)打印机 B)计算机 C)扫描仪 D)路由器 7、在绘制部署图时,如果要描述处理器之间或处理器与设备之间通过以太网进行连接的关系时,使用下列哪一种构造型( A )。 A)《Ethernet》 B)《parallel》 C)《TCP/IP》 D)《Internet》 8、在UML中,____B_____图显示了一组类、接口、协作以及它们之间的关系。 A、状态图 B、类图 C、用例图 D、部署图 9、节点是存在于运行时并代表一项计算资源的物理元素,没有计算能力的节点称为___B____ A.处理器 B.规范 C.接口 D.设备 10、下图中,表示“节点”的图为_____C_______。 11、_____B_____图可以用来描述系统硬件的物理拓扑结构以及在此结构上运行的软件。 A、用例图 B、类图 C、部署图 D、活动图 12、____D_____是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。 A、部署图 B、类 C、接口 D、构件 13、下列不属性构件的特征的是______A________。 A、可替换 B、通过接口实现或提供服务 C、可以被一个或多个实现 D、只能是代码的形式 14、对于比如源代码文件及数据文件,并不是直接地参与可执行系统,我们称这类构件为____C_____。 A、实施构件 B、工作产品构件 C、执行构件 D、质量构件 15、___B_______是可复用的,提供明确接口完成特定功能的程序代码块。 A、模块 B、函数 C、用例 D、构件 16、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为四种方式来完成,下面哪种不是其中之一( B ) (A)对源代码建模 (B)对事物建模 (C)对物理数据库建模 (D)对可适应的系统建模 17、( D )由节点和节点之间的联系组成,描述了处理器、设备和软件构件运行时的体系结构。 A.组件图 B.状态图 C.顺序图 D.部署图 18、( C )的基本元素有节点、构件、对象、连接、依赖等。 A.组件图 B.状态图 C.部署图 D.顺序图 19、下面关于部署图的说法中,错误的是( A ) A 部署图描述系统运行时的软件和硬件的物理结构,用于对系统的物理方面建模。(组件图) B 处理器和设备的区别在于是否具有计算能力。 C 部署图描述的是系统物理模型的布置,实际节点间的连接必须用一段导线、电缆或其它的方式连接。 D 一个系统可以有多个部署图。 20、部署图中的结点具有以下哪些方面的内容( ABC ) (A)计算能力 (B)基本内存 (C)位置 (D)接口 21、当需要说明系统的静态实现视图时,应该选择( A )。 A.组件图 B.协作图 C.状态图 D.部署图 22、当需要说明体系结构的静态实施视图时,应该选择( D ) A.协作图 B.对象图 C.活动图 D.部署图 23、( D )是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现 A.部署图 B.类 C.接口 D.组件 24、组件图用于对系统的静态实现视图建模,这种视图主要支持系统构件的配置管理,通常可以分为四种方式来完成,下面哪种不是其中之一( B )。 A.对源代码建模 B.对可执行组件建模 C.对数据库建模 D.对事物建模 25、( A )是用来反映代码的物理结构。 A、组件图 B、用例图 C、类图 D、状态机 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件工程 类图实验题
1.请按下述要求绘制类图。 一个年级里有 3 到 5 个班级。 一个班级有 1 到 40 名学生。 1 个班级有 1 名担任班主任。 2.请按下述要求绘制出书橱的类图。 可以把书放到书橱里。 书橱的门有木制的门或玻璃制的门。 3.请按下述要求绘制出网上商店的类图。 为了一次可以购买多件商品,为每个顾客准备一个购物车。 购物车里可以装入 10 件商品。 顾客分会员及非会员两类。 4.看图回答下面问题 类 Student 和类 Course 之间是什么关系?并用文字性语言描述该类图表达意思。 答:关联关系 该图描述的是:学生和课程之间的选择关系,一个学生可以选择多门课程,一门课程可以被多个学生所选择。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件工程 类图习题
依赖(Dependency): 虚线箭头表示 关联(Association):实线箭头表示 聚合(Aggregation):带空心菱形头表示(整体和局部关系) 组合(Composition):带实心菱形头的实线表示 泛化(Generalization): 带空心箭头的实线线表示( 继承关系) 实现(Realization):空心箭头和虚线表示 一、选择题 1、在认识过程中,下面哪个不是对象的要素( D ) A:认识的指向物 B:认识者 C:认识指向物在认识者主观中的反映 D:认识的背景 2、下面哪一个对对象的说法不正确( B ) A:客观实体 B:事物的对立面 C:认识的指向物 D:软件的一个基本单位 3、下面属性命名不正确的是( A ) A *BirthDay:Date B #studentBirthDay:Date=1999-10-21 C -price:float=12.01{R/W} D +studentName:String=“张敏” 4、指出下面不合适的类名( B ) A:材料 B:事物 C:订单 D:会员 5、在类图中,下面哪个符号表示继承关系( C ) 6、在类图中,“#”表示的可见性是( B ) (A)Public (B)Protected (C)Private (D)Package 7、在类图中,下面哪个符号表示实现关系( B ) 8、在类图中,哪种关系表达总体与局部的关系( D ) (A)泛化 (B)实现 (C)依赖 (D)聚合 9、UML中类的有三种,下面哪个不是其中之一( D ) A.实体类 B.边界类 C.控制类 D.主类 10、在UML中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一( D ) A. 0..1 B. 0..* C. 1..* D. *..* 11、通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定性( C ) A.公有的(public) B.受保护的(protected) C.友员(friendly) D.私有的(private) 12、在一个课程注册系统中,定义了类CourseSchedule和类Course,并在类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则类CourseSchedule和类Course之间的关系是:(B) A、泛化关系 B、组成关系 C、依赖关系 D、包含关系 13、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是( C )关系。 A 实现 B、关联 C、 依赖 D、 泛化 14、在UML中下列图形代表什么关系?(A) A、组合关系 B、 依赖关系 C、聚合关系 D、泛化关系 15、在UML中下列图形代表什么关系?( D ) A、组成关系 B、 依赖关系 C、聚集关系 D、泛化关系 16、汽车(Car)由轮子、发动机、油箱、座椅、方向盘等组成。那么car类和其他类(Wheel、Engin、Tank、Chair、SteeringWheel)之间的关系是:( A ) A、泛化关系 B、实现关系 C、包含关系 D、组合关系 17、在下面的图例中,哪个用来描述注释( B ) 18、消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务,一个消息通常包括:( A ) A、发送消息的对象的标识、调用的发送方的操作名和必要的参数 B、发送消息的类名和接收消息的类名 C、接收消息的对象的标识、调用的接收方的操作名和必要的参数 D、接收消息的类名 19、在一个网络游戏系统中,定义了类Cowboy和类Castle,并在类Cowboy中定义了方法open(c:Castle)和方法Close(c:Castle),则类Cowboy和类Castle之间的关系是:……( C ) A、依赖(dependency)关系 B、组成(composition)关系 C、泛化(generalization)关系 D、包含(include)关系 20、根据下面的代码,判断下面那些叙述是正确的?( B ) 1 2 3 4 5 6 public class HouseKeeper{ private TimeCard timecard; public void clockIn(){ timecard.punch(); } } A、类HouseKeeper和类TimeCard之间存在关联(Association)关系; B、类HouseKeeper和类TimeCard之间存在泛化(Generalization)关系; C、类HouseKeeper和类TimeCard之间存在实现(Realization)关系; D、类HouseKeeper和类TimeCard之间存在依赖(dependency)关系 21、UML关系包括关联、聚合、泛化、实现、依赖等5种类型,对应的编号分别为A、B、C、D和E,请将合适的关系填写在下列描述的( )中。 ① 用例及参与者之间是( E )关系。 ②类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是( C )关系。 ③在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是( A )关系。 ④森林和树木之间是( B )关系。 22、已知类A需要类B提供的服务,下列所描述的四种情况中,哪种情况不好把类A和类B之间的关系定义成依赖关系 ( C ) A、类A中存在两个操作都需要访问类B的同一个对象 B、类A的某个操作内部创建了类B的对象,而其他操作均与类B无关 C、类A的某个操作其参数是类B的对象,而其他操作均与类B无关 D、类B是一个全局变量 23、“一个研究生在软件学院做助教(teaching assistant),同时还在校园餐厅打工做收银员(cashier)。也就是说,这个研究生有3种角色:学生、助教、收银员,但在同一时刻只能有一种角色。” 根据上面的陈述,下面哪个设计是最合理的?( C ) 24、类X与类Y有许多相同的属性和行为,但是它的行为与类Y稍微有所不同,这时可以认为类X是类Y的一种特例;则类X和类Y之间是( A )关系。 A 、泛化关系 B、 关联关系 C、 依赖关系 D、 实现关系 25、关于类和对象的关系,下列说法中哪个是错误的 ( C ) A、每个对象都是某个类的实例 B、每个类某一时刻必定存在对象实体 C、类是静态的描述 D、对象是动态的实例 二、填空题 1、 下图中类的名字是: _ Login_类中的成员属性是: _sName、sPass _ 类中的行为(方法)是:checkUser。 2、类描述具有相同性质的一组对象的(集合),类用(new)来表示。 3、在设计阶段,可以把类分为(控制类)、边界类和(实体类)等类型。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件质量测试知识点
1、什么是软件、软件的特征有哪些? 软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。即计算机程序、规程、文档和软件系统运行所必需的数据。 软件的特征: 软件是由开发产生,不是用传统方法制造的; 软件不会像硬件那样有磨损; 软件不能通过已有构件组装,只能自己定义。 2、软件分为哪几类? 系统软件、应用软件、WEB软件、工程和科学软件、嵌入式软件、产品线软件、人工智能软件等。 3、什么是软件质量、软件质量从哪几个方面看? 软件质量 是指软件系统或系统中的软件部分的质量,既满足用户需求,也包括功能需求和性能需求的程度。 从哪几个方面来看软件质量? 软件结构方面:软件应具有良好的结构; 功能和性能方面:其软件应能够按照既定的工作要求工作,并且与明确规定的功能、性能需求一直; 开发标准与文档方面:软件开发应用必须和明确沉稳的开发标准一致,遵循软件开发准则,做到软件文档资料齐全。 4、软件测试与软件调试的区别是什么? 软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程; 软件调试:将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程; 测试是为了发现软件中存在的错误,调试是为了证明软件开发的正确性; 测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试. 调试一般是以不可预知的内部条件开始,除统计性调试外,结果是不可预见的; 测试是有计划性的,需要进行测试设计,调试是不受时间约束的; 测试经历发现错误、改正错误、重新测试的过程,调试是一个推理的过程。 5、软件测试的方法有哪些? 静态方法和动态方法:静态方法分为代码检查、静态结构分析、代码质量度量,动态方法分为功能确认与接口测试、覆盖率分析及性能分析; 黑盒测试方法:主要有等价类划分、边值分析、因果图、错误推测、穷举输入测试方法; 白盒测试方法:逻辑覆盖、域测试、路径测试、程序插桩、程序编译; 灰盒测试,介于黑盒白盒测试之间; 软件开发阶段的测试方法:需求测试、单元测试、集成测试、性能测试、容量测试、配置测试、安装测试、安全性测试。 6、什么是黑盒测试、白盒测试和灰盒测试? 黑盒测试也称功能测试或数据驱动测试,是已知软件所需功能,通过测试来检测每个功能是否都能正常使用。 白盒测试也称结构测试或逻辑驱动测试,知道软件内部的工作过程,可通过测试来检测软件内部的动作是否按照规格说明书所规定正常运行,并且按照软件内部的结构测试程序来检测程序中的每条道路是否都能按照预定要求进行正常工作,而不考虑功能是否正确。 灰盒测试介于黑盒与白盒之间,关注对于输入的正确性,同时也关注内部表现。 7、什么是软件质量控制模型TSQC? TSQC过程是一个调节和控制那些影响软件质量的参数的过程。隐形软件质量的参数如下: 产品:所有可交付物; 过程:所有活动的集合; 资源:活动的物质基础(人力、技术、设备、时间、资金等)。 TSQC过程是PDCA的几个活动的循环。 计划Plan:确定参数要求; 实施Do:根据要求开展活动; 检查Check:通过评审、度量、测试确认满足要求; 改进Action:纠正参数要求再开发。 8、软件质量控制的实施过程有哪些? 预开发阶段:主要活动包括买主与客户研究建立需求、发布招标请求、选择资源、与开发者签订合同; 开发阶段:涵盖从产品开发到移交产品别获得客户的满意度结束的全过程; 维护阶段:主要是对产品的及时更新。 9、软件质量保证模型有哪些?分别是啥? McCall模型:分别面向软件产品的运行、修正、转移; Boehm模型:着手于软件总体功效,对于软件系统而言,除了有用性以外,开发过程必定是一个时间、金钱、能量的小号过程; FURPS模型:功能性、可用性、可靠性、性能及支持度评估; ISO 9126:功能性、可靠性、可用性、效率、可维护性及可移植性。 10、什么是冗余技术?又分为哪几种技术? 冗余技术又称储备技术,有时也称容灾备份技术,它是利用系统的并联模型来提高系统可靠性的一种手段; 冗余技术分为工作冗余和后备冗余。 11、软件影响因素有哪些? 需求分析定义错误; 设计错误; 编码错误; 测试错误; 文档错误。 12、软件的差错、故障和失效是什么? 异常:偏离期望的状态(或预期值)的任何情形都称为异常; 缺陷:不符合使用要求,或与技术规格说明不一致的任何状态都称为缺陷; 差错: 计算的,观测的或测量的值与真实的规定的或理论上正确的值或者条件之间的差别; 一个不正确的步骤、过程、数据定义; 一个不正确的结果; 一次产生不正确的结果的人的活动; 故障:一个计算机程序中出现的不正确的步骤、过程、数据定义常称为故障; 失效:一个程序运行的外部结果与软件产品的要求出现不一致时称为失效。 13、什么是软件可靠性模型?都有哪些模型? 为预计或估算软件的可靠性所建立的可靠性框图和数学模型 。 Musa模型,包括基本模型和对数模型; Shooman模型; aoel-oknmoto模型; 测试成功模型; 威布尔模型。 14、为什么需要软件评审? 提高项目的生产率; 改善软件的质量; 在评审过程中使开发团队的其他成员更熟悉产品和开发过程; 通过评审标志软件开发的一个阶段的完成; 生产出更容易维护的软件。 15、软件评审有哪些内容? 管理评审; 技术评审; 文档评审; 过程评审。 16、评审的方法及技术有哪些? 评审的方法:特别检查、轮查、走查、团队评审、监视; 评审的技术:缺陷检查表、规则表、评审工具的使用、从不同角度理解产品、场景分析技术。 17、如何准备评审会议? 何时召开评审会议; 选择那些评审材料; 打包分发评审材料; 合理安排评审活动进程。 18、召开评审会议有几个步骤? 评审预备; 评审开始; 评审决议; 评审结果; 几个原则。 19、提高程序质量的技术有哪些? 内存分配方式:从静态存储区域分配;在栈上创建;从堆上分配 面向对象的设计规则 1)开-闭原则 2)里氏代换原则 3)依赖倒转原则 4)合成/聚合复用原则 5)迪米特原则 6)接口隔离原则 7)基本的设计模式 20、软件测试的原则有哪些? 在整个开发过程中要尽早地和不断的进行软件测试; 在开始测试时不应默认程序中不存在错误; 在设计测试用例时要给出测试的预期结果; 测试工作应避免由系统开发人员或开发机构本身来承担; 对合理和不合理的输入数据都要进行测试; 重点测试错误群集的程序区段; 除检查程序功能是否有多余; 用穷举例测试是不可能的; 长期完整的保留所有的测试用例和测试文件,直到该软件产品被废弃为止。 21、软件测试过程有哪些? 单元测试、集成测试、系统测试、验收测试、在所有测试过程中始终贯穿着回归测试。 22、软件测试的种类有哪些? 单元测试、集成测试、功能测试、压力/负载测试、验收测试。 23、白盒测试方法工具有哪些? 1)静态测试方法 工具:logiscope软件,P.RQA软件,c++Test; 2)动态测试方法:代码检查法,静态结构分析法,静态质量度量法,逻辑覆盖法,基本路径测试法,域测试,符号测试,路径覆盖,程序变异; 工具:DevPartner软件、Purity系列、xUnit系列框架(单元测试工具)。 24、黑盒测试工具有哪些? 1)功能测试工具:WinRunner,AutoIT,Twist 2)性能测试工具:LoadRunner 25、黑盒测试方法有哪些? 等价类划分 边界值分析法 因果图法 功能图法 26、划分等价类的原则是什么? 在输入条件规定了取值范围或值的个数和情况下可以确立一个有效等价类和两个无效等价类; 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下可以确立一个有效等价类和一个无效等价类; 在输入条件是一个布尔量的情况下可以确定一个有效等价类和一个无效等价类; 在规定了输入数据的一组值(假设n个)并且程序要对每一个输入值分别处理的情况下可以确立n个有效等价类和一个无效等价类; 在规定了输入数据必须遵守的规则的情况下可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则); 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下应将该等价类进一步划分为更小的等价类。 27、软件测试 经典测试用例三角形问题 软件质量测试 等价类划分 三角形问题 28、因果图测试用例问题 软件质量测试 因果图测试用例 自动售货机 29、白盒测试程序的结构有哪些? 顺序结构、分支结构、循环结构 。 30、白盒测试方法的覆盖标准有哪些? 逻辑覆盖,循环覆盖,基本路径测试。 31、逻辑覆盖包括那些? 分支结构的测试和循环结构的测试、 分支结构的测试又包括语句覆盖 、分支覆盖 、条件覆盖、分支-条件覆盖、条件组合覆盖、路径覆盖。 32、集成测试策略有:非渐增式集成和渐增式集成。 33、什么是渐进增式集成?什么是非渐增式继承? 光分别测试每个模块,再把所有模块按设计要求放在一起,结合所要的程序,这种方法称为非渐增式集成; 把一个要测试的模块与已经测试好的那些模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合起来进行测试,这种每次增加一个模块的方法称为渐增式集成。 34.渐增式集成分为:自顶向下增式集成测试,自底向上增式集成测试 35.面向对象的集成测试的步骤 先选定检测的类,仔细给出类的状态和相应的行为,类或成员函数间传递的消息,输入或输出的界定等 确定覆盖标准 利用结构关系图,确定待测类的所有关联 根据程序中类的对象构造测试用例,确认使用什么输入法激发类的状态,使用类的服务和期望产生什么行为等 36.常用的技术测试有哪些? 1)抽样测试 2)正交阵列测试 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件质量测试 因果图测试用例 自动售货机
问题描述 有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下: 若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。 若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。 分析情况 怎么分析这种具有一定实际意义的情况呢? 按照因果图的说法,我们先分析一下,把原因与结果先找出来: 原因是输入条件,在自动售货机里,硬币的投入、按钮的按下,都是输入,这样的话就有以下几个原因: (1)投入5角硬币 (2)投入1元硬币 (3)按下“橙汁”按钮 (4)按下“啤酒”按钮 结果有哪些呢? (1)送出“橙汁”饮料 (2)送出“啤酒”饮料 (3)找5角硬币 按照因果关系,把因果图的雏形画出来: 因果测试图判定 再加上因果图的约束关系,那么图形就成为以下: 根据最终的因果图生成判定表: 最后把测试用例写出来: 转载自文章: 测试用例设计技术-因果图之二 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件质量测试 等价类划分 三角形问题
问题描述 一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。 我们可以设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足: A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B。 如果是等腰的,还要判断A=B,或B=C,或A=C。 如果是等边的,则需判断是否A=B,且B=C,且A=C。 等价类划分 代码实现 1 2 3 4 5 6 7 8 9 10 float a, b, c; printf("请输入三角形三边"); scanf("%f,%f,%f",&a,&b,&c); if (a==b||b==c||a==c) printf("等腰三角形"); if (a==b&&b==c) printf("等边三角形"); if (a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("直角三角形"); else printf("普通三角形"); 转载自文章: 软件测试-三角形问题 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件工程 包图习题
1、( A )是用于把元素组织成组的通用机制 A)包 B、类 C)接口 D)组件 2、下面哪个符号代表包图( A ) 3、包内的元素可以被包内的元素、继承的子包元素所访问是指包的____B_____。 A.公有访问 B. 保护访问 C. 私有访问 D.通用访问 4、包内的元素可以被包外的元素所访问是指包的______A______。 A.公有访问 B. 保护访问 C. 私有访问 D.通用访问 5、包内的元素只能被属于同一个模型包的内含元素访问是指包的_____C______。 A.公有访问 B. 保护访问 C. 私有访问 D.通用访问 6、客户包依赖于提供者包是指包的____B____依赖关系。 A. use B. import C. access D. trace 《use》使用关系:是一种默认的依赖关系,说明客户包(发出者)中的元素以某种方式使用提供者包(箭头指向的包)的公共元素,也就是说客户包依赖于提供者包。 7、客户包中的元素也能够访问提供者包的所有公共元素是指包的____B____依赖关系。 A. use B. import C. access D. trace 《import》引用关系:最普遍的包依赖类型,说明提供者包(箭头指向的包)的命名空间(包本身代表命名空间)将被添加到客户包(发出者)的命名空间中,客户包中的元素也能够访问提供者包的所有公共元素 。 8、 客户包中的元素能够访问提供包中的所有公共元素,但客户包必须使用路径名,是指包的__C____关系。 A. use B. import C. access D. trace 《access》访问关系:只想使用提供者包中的元素,而不想将其命名空间合并则应使用该关系。 9、表示一个包到另一个包的历史发展,是指包的____D_____关系。 A. use B. import C. access D. trace 《trace》追溯关系:想表示一个包到另一个包的历史发展,则需要使用《trace》关系来表示 。 10、包元素可以拥有的元素包括(多选)A、C、D_。 A. 类 B. 构件 C. 用例 D. 包 包中拥有的元素可以是模型的各种元素,例如类、接口、组件、用力、也可以是其他包。 11、包的常见构造型包括(多选)A、B、C__。 A. 《subsystem》 B. 《facade》 C. 《framework》 D. 《node》 12、UML系统需求分析阶段产生的包图描述了系统的( B )。 A.状态 B.系统体系层次结构 C.静态模型 D.功能要求 13、( A )是一组用于描述类或组件的一个服务的操作 A、包 B、节点 C、接口 D、组件 14、如下选项所示,哪一种设计所包含的包之间的依赖关系是最不好的?(A) 15、下面哪一项不是包图中的关系( D ) (A)«use» (B)«access» (C)«trace»(D)«stub» 16、建立模型时包的嵌套不宜过深,包的嵌套一般以(A)为宜。 A.23层 B.34层 C.12层 D.35层 17、下列对于创建包的说法不正确的是(A) A.在序列图和协作图中可以创建包 B.在类图中可以创建包 C.如果将包从模型中永久删除,包及包中的内容都将被删除 D.在创建包的依赖关系时,尽量避免循环依赖 18、关于包的描述,哪个不正确( D ) A.和其他建模元素一样,每个包必须有一个区别于其他包的名字; B.包中可以包含其他元素,比如类、接口、组件、用例等等; C.包的可见性分为:public、protected、private; D.导出(export)使的一个包中的元素可以单向访问另一个包中的元素; 19、UML的( B )模型图由类图、对象图、包图、构件图和配置图组成。 A.用例 B.静态 C.动态 D.系统 20、( A )是用于把元素组织成组的通用机制 A.包 B.类 C.接口 D.组件 21、( C )是一组用于描述类或组件的一个服务的操作 A.包 B.节点 C.接口 D.组件 22、在UML中,以下( B )是可以应用于包的构造型 A、框架{《Framework》} B、虚包{《Facade》} C、子系统{《Subsystem》} D、系统{《system》} 23、UML系统需求分析阶段产生的包图描述了系统的( C )。 A.状态 B.系统体系层次结构 C.静态模型 D.功能要求 24、在UML中,( B )可以对模型元素进行有效组织,如类,用例,构件,从而构成具有一定意义的单元。 A、连接 B、包 C、构件 D、节点 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件工程 状态图、顺序图习题
1、UML图不包括 ( D ) A)用例图 B)类图 C)状态机图 D)流程图 2、下面中( C )图表示结束状态。 3、UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种类来表示,分别是( D )。 A)状态机图和顺序图 B)活动图和通信图 C)状态机图和活动图 D)顺序图和通信图 4、在UML提供的图中,( D ) 用于按时间顺序描述对象间交互。 A)网络图 B)状态机图 C)通信图 D)顺序图 5、在状态图中不能表示下面哪些概念?( D ) A)动作(Action) B)事件(event) C)转移 D)类 6、生命线是UML视图中哪个图形的组成部分( D ) A)类图 B)状态机图 C)活动图 D)顺序图 7、顺序图由类角色,生命线,激活期和( B )组成。 A)关系 B)消息 C)用例 D)实体 8、下面哪种图最合适用来描述场景:( B )。 A)包图 B)交互图(顺序图、通信图) C)类图 D)用例图 9、UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种类来表示,分别是( D )。 A.状态图和顺序图 B.活动图和通信图 C.状态图和活动图 D.顺序图和通信图 10、顺序图由类角色,生命线,激活期和( B )组成 A、关系 B、消息 C、用例 D、实体 11、顺序图是强调消息随时间顺序变化的交互图,下面哪个不是用来描述顺序图的组成部分( A ) A.信号 B.生命线 C.激活期 D.类角色 12、关于通信图的描述,下列哪个不正确____B____ A.通信图作为一种交互图,强调的是参加交互的对象的组织; B.通信图是顺序图的一种特例 C.通信图中有消息流的顺序号 D.通信图和顺序图不能互换 13、请在下面选项目中选出两种可以互相转换的图(多选)A、B_。 A 顺序图 B 通信图 C活动图 D状态图 14、下面哪个不是UML中的静态视图(A) (A)状态图 (B)用例图 (C)对象图 (D)类图 15、顺序图的模型元素有( A )、消息、链接等,这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。 A.对象 B.箭头线 C.活动 D.状态 16、顺序图描述( D )对象之间消息的传递顺序。 A.某个 B.单个 C.一个类产生的 D.一组 17、顺序图和合作图建立了UML面向对象开发过程中的对象动态( A )模型。 A.交互 B.状态 C.体系结构 D.软件复用 18、状态图可以表现( B )在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移而引起的动作。 A.一组对象 B.一个对象 C.多个执行者 D.几个子系统 19、状态图描述一个对象在不同( A )的驱动下发生的状态迁移。 A.事件 B.对象 C.执行者 D.数据 20、 下面的状态图描述了一辆汽车的状态,指出哪种说法是错误的( D ) A “运动”状态是一个组成状态,由多个简单状态组成。 B “前进”状态和“低速”状态有可能同时出现。 C 汽车在“前进”、“后退”、“高速”及“低速”任何一个子状态下,都有可能转到“停止”状态。 D “前进”状态和“低速”状态是两个顺序子状态。 21、下面哪个UML视图是描述一个对象的生命周期的( B ) (A)类图 (B)状态图 (C)协作图 (D)顺序图 22、下面哪个视图属于UML语言的交互图( B ) (A)行为图 (B)状态图 (C)实现图 (D)顺序图 23、顺序图主要可以为设计人员提供(A)信息。 A. 消息发送的顺序 B. 某个方法的执行流程 C. 类之间关联关系的多重性 D. 某个对象在不同状态之间的转移 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
小十
入驻第1年
好像戒掉了一个缺点?
之前有一个毛病,就是喜欢不同的场合使用不同的账号,以邮箱为例,我会把比较重要严肃的场合用163邮箱,国外的网站用gmail邮箱,然后一般类型的注册用qq邮箱,然后有垃圾广告风险的场合的话就用我自己网站的后缀邮箱…… 其实这邮箱这样也倒没什么。 但是还有一个问题,是我在玩游戏的时候,玩英雄联盟,我使用我专用来打游戏的QQ号,所谓的专门用来打游戏的qq,也算是从小就跟着我的,但是只会在游戏客户端上登陆,比如QQ游戏大厅、英雄联盟、QQ飞车等等……结果到现在,这个号已经丢了,找不回来了,可能是因为长时间不登录被收回了吧,毕竟已经很久都不怎么打游戏了。 为什么想到这个事,因为在最近看来,这对我来说是一个缺点。 我总是习惯性的把事情都做到一个我可控的一个程度,但我这种可控,是牺牲了我大量的维护经历,就比如说最近服务器搬迁,这两年网站都没啥进展,辗转的服务器可不少。也是瞎折腾。把不同的站点放在不同的服务器、不同的运营商,包括云存储也是,不过也通过这个也算是大概了解了各个服务器、运营商、云存储的优劣。 还有一个问题,就是OFFICE授权~,我今天把我之前用于授权的账号给停了,之前不知道怎么想的,专门用一个邮箱是用来开office授权的,然后再有一个邮箱是专门用来同步设置的,包括windows本身的登录账号,也是用的这个,至于我当时为啥没把授权买到这个账号下,不知道当时怎么想的,就造成,我每次在安装完office之后,就需要登录一个授权的账号去激活,然后呢,还需要登录我的windows本身的微软账号去同步设置,也就是office软件下有两个账号。 今天我停了那个号的订阅,开在了一个号里面。 同样的,我停了vultr服务器 ,当然是前段时间的事情了。 另外,为了保证统一性,也终于用上了坚果云,买了坚果云的专业版,但是这个是个坑,如果到期不续费的话,坚果云上存储的文件就都会给你粉碎掉。买坚果云是为了同步eagle软件上的资源库,保证台式机和笔记本的资源库都是一致的。另外今天才发现到eagle管理字体的强大之处,这个软件也已经买了好几个月了,一直没有好好研究,因为要同步字体,所以研究了eagle,因为不想天天考虑到两个电脑的同步问题,所以用了坚果云,就是这么个过程。 其实OneDrive也是可以实现同步的,而且空间有1T的大小。虽然坚果云只有几十G,但是坚果云的同步速度还是挺厉害的~ 那逐渐的,越来越觉得统一的重要性,这样感觉才真正对这些文件有了一个更大的可控性。 加一张今天很喜欢的一个字体~
小十
入驻第1年
wordpress开启cdn加速后,替换URL
因为近期换了新的主题,该主题强大之处在于很多功能都写在了主题本身的文件中了,不需要依靠插件来完成,同样的,我就卸载了WPJAM Basic插件。那么关于CDN加速这个功能就需要修改function.php文件来实现了。 首先,基于《 整合 WordPress 与七牛云存储 CDN 加速服务 》这篇文章,实现了上传的附件,自动同步存储在七牛云存储。除此之外,还需要一个步骤就是替换URL,同样也是依靠代码实现: define('CDN_HOST','http://你的CDN链接'); add_filter('the_content','z_cdn_content'); function z_cdn_content($content){ return str_replace(home_url().'/wp-content/uploads', CDN_HOST.'/wp-content/uploads', $content); } add_filter('wp_get_attachment_url','z_get_attachment_url',10,2); function z_get_attachment_url($url, $post_id){ return str_replace(home_url(), CDN_HOST, $url); } 剩余 4 行代码 展开剩余代码 加入上面的代码之后,你插入文章内的图片和其他附件以及特色图片都会被替换为cdn的url了,这样也就达到了加速的效果。 如果你想要将主题的css、图片以及js等静态资源替换为CDN 的url进行加速,那么可以使用以下代码: define('CDN_HOST','http://你的CDN链接'); add_filter('stylesheet_directory_uri','z_cdn_stylesheet_directory_uri',10,3); function z_cdn_stylesheet_directory_uri($stylesheet_dir_uri, $stylesheet, $theme_root_uri) { return str_replace(home_url(), CDN_HOST, $stylesheet_dir_uri); } add_filter('template_directory_uri','z_cdn_template_directory_uri',10,3); function z_cdn_template_directory_uri($template_dir_uri, $template, $theme_root_uri) { return str_replace(home_url(), CDN_HOST, $template_dir_uri); } 剩余 5 行代码 展开剩余代码 另外,如果不想使用代码实现,也可推荐另外一个CDN加速插件:Attachment CDN。
Debug
入驻第1年
Python 数据挖掘实例 决策树分析
安装Anaconda Python集成环境 下载环境 官网: https://www.anaconda.com/ 下载: https://www.anaconda.com/distribution/ 安装环境 下载过程中使用默认,但有一个页面需要确认,如下图。 第一个勾是是否把 Anaconda 加入环境变量,这涉及到能否直接在 cmd中使用 conda、jupyter、 ipython 等命令,推荐打勾。 第二个是是否设置 Anaconda 所带的 Python 3.6 为系统默认的 Python 版本,可以打勾。 安装完成后,在开始菜单中显示“Anaconda2”如下图所示。 安装第三方程序包 Graphviz 目的是在决策树算法中八进制最终的树结构。 1、打开 Anaconda Prompt ,输入 conda install python-graphviz,回车即可完成安装,如下图所示,本图所示已经安装 了 graphviz 包,若之前没有安装,这时会花点时间安装,安装不用干预。 安装完成后先输入 python,然后再输入 import graphviz,测试是否成功安装,如上图所示。 需要设置环境变量,才能使用新安装的 graphviz。 Anaconda及依赖包环境变量设置 首先查看 anaconda 安装在哪个目录下,可以打开 Spyder 的属性,看一看目标是什么目 录。例如本机的 anaconda 安装路径为 C:\Users\lenovo\Anaconda2。 下面设置环境变量 在用户变量“path”里添加 C:\Users\debuginn\Anaconda2\Library\bin\graphviz 在系统变量的“path”里添加 C:\Users\debuginn\Anaconda2\Library\bin\graphviz\dot.exe 如果现在有正在打开的 anaconda 程序,例如正在 Spyder,那么关闭 Spyder,再启动,这 样刚才设置的环境变量生效。 决策树分析 格式化原始数据 将下图的表 demo 输入到 Excel 中,保存为.csv 文件(.csv 为逗号分隔值文件格式)。 注意将表 demo 中的汉字值转换成数据字值,例如“是否是公司职员”列中的“是”为“1”, “否”为“0”。转换后的表中数据如下图所示。 编写数据分析代码 编写程序对上面的数据进行决策树分类,采用信息熵(entropy)作为度量标准。参考代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from sklearn.tree import DecisionTreeClassifier,export_graphviz import graphviz import csv dataset = [] reader = csv.reader(open("demo.csv")) for line in reader: if reader.line_num == 1: continue dataset.append(line) X = [x[0:4] for x in dataset] y = [x[4] for x in dataset] clf = DecisionTreeClassifier(criterion='entropy').fit(X, y) dot_data = export_graphviz(clf, out_file=None) graph = graphviz.Source(dot_data) graph.render("table"); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 digraph Tree { node [shape=box] ; 0 [label="X[0] <= 0.5\nentropy = 0.94\nsamples = 14\nvalue = [9, 5]"] ; 1 [label="X[1] <= 1.5\nentropy = 0.985\nsamples = 7\nvalue = [3, 4]"] ; 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; 2 [label="entropy = 0.0\nsamples = 3\nvalue = [0, 3]"] ; 1 -> 2 ; 3 [label="X[1] <= 2.5\nentropy = 0.811\nsamples = 4\nvalue = [3, 1]"] ; 1 -> 3 ; 4 [label="entropy = 0.0\nsamples = 2\nvalue = [2, 0]"] ; 3 -> 4 ; 5 [label="X[3] <= 0.5\nentropy = 1.0\nsamples = 2\nvalue = [1, 1]"] ; 3 -> 5 ; 6 [label="entropy = 0.0\nsamples = 1\nvalue = [1, 0]"] ; 5 -> 6 ; 7 [label="entropy = 0.0\nsamples = 1\nvalue = [0, 1]"] ; 5 -> 7 ; 8 [label="X[1] <= 2.5\nentropy = 0.592\nsamples = 7\nvalue = [6, 1]"] ; 0 -> 8 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; 9 [label="entropy = 0.0\nsamples = 4\nvalue = [4, 0]"] ; 8 -> 9 ; 10 [label="X[3] <= 0.5\nentropy = 0.918\nsamples = 3\nvalue = [2, 1]"] ; 8 -> 10 ; 11 [label="entropy = 0.0\nsamples = 2\nvalue = [2, 0]"] ; 10 -> 11 ; 12 [label="entropy = 0.0\nsamples = 1\nvalue = [0, 1]"] ; 10 -> 12 ; } 数据分析结果 程序运行结果在与该程序在同一目录下的 table.pdf 文件中,将每一个叶子结点转换成 IF-THEN 规则。 IF-THEN分类规则 1 2 3 4 5 6 7 (1)IF"不是公司员工" AND "年龄大于等于40", THEN "不买保险"。 (2)IF"不是公司员工" AND "年龄小于40", THEN "买保险"。 (3)IF"不是公司员工" AND "年龄大于50" AND "信用为良", THEN "不买保险"。 (4)IF"不是公司员工" AND "年龄大于40" AND "信用为优", THEN "买保险"。 (5)IF"是公司员工" AND "年龄小于50", THEN "不买保险"。 (6)IF"是公司员工" AND "年龄小于50" AND "信用为优", THEN "买保险"。 (7)IF"是公司员工" AND "年龄小于50" AND "信用为良", THEN "不买保险"。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
小十
入驻第1年
wordpress html5 video备忘
真是够折腾,为了能够在博客里面放视频,最开始尝试的方法就是使用html5自带的<video>标签,因为wordpress自带了MediaElementjs,所以按理说是没啥问题的,结果我应用了存放在七牛云存储上的视频后(使用http协议存放,因为加SSL的贵),然后提示: Media error: Format(s) not supported or source(s) not found Download File: http://img.xiaoten.com/PPT-1.mp4?_=1我当时尝试了好几次还是不行,我以为是wordpress程序的问题,我上网搜了一些html5播放器的插件,首先我尝试了video.js插件,这个插件存在一个很大的问题,就是微信内置浏览器不识别,无法打开。因此用了两天后就尝试新的插件,此时我已经沉浸在各种html5 video的插件中了,尝试过dplayer(带弹幕的一个播放器,是一个大学生的毕设做出来的),还有fvplayer、plyr(这个刚用的时候非常开心,用手机打开后就崩了……)、Smartideo 2(这个只支持视频平台上的视频,例如优酷、youtube这些)、Flowplayer Video Player(自带一个令人难受的水印)、Html5 Video Player(这个是需要后台添加视频)、Easy Video Player(同样有水印)…… 尝试了这么多,最后唯一能适合我需求的是dplayer,但是在手机上多了一个页面内全屏这样的鸡肋功能,而且在pc端多了一个显示/隐藏字幕功能,但是很赞的是有变速功能,但是对于我来说这些功能暂时都用不到。 后面转机来了,在我使用dplayer加了视频之后,我又尝试了一下<video>标签,发现竟然能用了,而且手机和PC端都可以,还可以设置自适应页面宽度,毕竟是原生的一个播放器。当时非常开心,已经凌晨四点钟打算睡觉了,激发得一点困意都没有,然后,就把dplayer标签删去,发现又出现了本文最开始的那个错误提示。也就是,只有当这个视频被其他插件正常加载了,这里才能够正常显示,这是为啥? 直到我看到这个页面: https://forums.tumult.com/t/embedding-video-in-a-wordpress-site-http-within-an-https-page/12992/2 来看下看到这个页面时的时间: 已经接近早上6点,天都要亮了,终于发现了原因,SSL和非SSL,在当时本站使用了SSL协议,而七牛云存储那边没有使用,因此出现了这样的问题。 最终把本站的ssl协议关掉后,正常访问。
小十
入驻第1年
H264和H265
最近在视频压缩方面,发现了一些问题,现记录一下。 目前我的视频主要是放在七牛云存储上面,为啥不上传到视频网站,一是审核,虽然没有什么审核不通过的内容,但就是需要等待;另外是画质,因为我电脑屏幕分辨率的原因,视频主要是教程方面的,然后工具栏啥的字体就很小,如果放在视频网站,会进行默认画质的筛选,虽然可以调节到原画画质,但是有些视频网站的原画画质需要开会员,这点的话,B站就很良心,但是还是为了保证视频效果,不想让视频以其他画质播放,因此自己去管理视频文件要可控性更大些。 那么问题来了,就是怎么尽可能地在保证原画质的基础上对视频进行压缩,一是节省访问者流量,二是节省云存储的储存成本。目前的解决方案是使用一个我最近才知道的神器FFmpeg,因为之前确实没有这方面的需求,所以对文件尺寸啥的,没啥要求,但是用了这个工具后,原大小400多M的2K视频,压缩后可以压缩到60多M,视频时长20分钟,而且400M的2K已经是经过Media Encode进行了压缩了。抱着试一试的心理去尝试继续压缩,得到了出乎意料的效果。 在这期间,也遇到了一些问题,就比如这个题目所说的:h265和h264。把维基百科中关于这两个格式的概念进行一个摘录: H.264 H.264,又称为MPEG-4第10部分,高级视频编码(英语:MPEG-4 Part 10, Advanced Video Coding,缩写为MPEG-4 AVC)是一种面向块,基于运动补偿的视频编码标准 。到2014年,它已经成为高精度视频录制、压缩和发布的最常用格式之一。第一版标准的最终草案于2003年5月完成。 H.264/AVC项目的目的是为了创建一个更佳的视频压缩标准,在更低的比特率的情况下依然能够提供良好视频质量的标准(如,一半或者更少于MPEG-2,H.263,或者MPEG-4 Part2 )。同时,还要不会太大的增加设计的复杂性。H.264的另外一个目标是提供足够的灵活性,以允许该标准能够应用于各种各样的网络和系统的各应用上,包括低和高比特率,低和高分辨率视频,广播,DVD存储,RTP / IP分组网络和ITU-T多媒体电话系统。H.264标准可以被视为由多个不同的应用框架 / 配置文件(profiles)组成的“标准系列”。 H.264/MPEG-4 AVC是一种面向块的基于运动补偿的编解码器标准。由ITU-T视频编码专家组与ISO/IEC联合工作组——即动态图像专家组(MPEG)——联合组成的联合视频组(JVT,Joint Video Team)开发。因ITU-T H.264标准和ISO/IEC MPEG-4 AVC标准(正式名称是ISO/IEC 14496-10—MPEG-4第十部分,高级视频编码)有相同的技术内容,故被共同管理。 H.264因其是蓝光盘的其中一种编解码标准而著名,所有蓝光盘播放器都必须能解码H.264。它也被广泛用于网络流媒体数据如Vimeo、YouTube、以及iTunes Store,网络软件如Adobe Flash Player和Microsoft Silverlight,以及各种高清晰度电视地面电视(ATSC、ISDB-T、DVB-T或DVB-T2)、线缆(DVB-C)以及卫星(DVB-S和DVB-S2)。 H.265 高效率视频编码(High Efficiency Video Coding,简称HEVC),又称为H.265和MPEG-H第2部分,是一种视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)作为ISO/IEC 23008-2 MPEG-H Part 2或称作ITU-T H.265开始制定[1][2][3][4][5]。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟(ITU-T)的正式标准[1][2][6]。HEVC被认为不仅提升影像质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少到了50%),可支持4K清晰度甚至到超高清电视(UHDTV),最高清晰度可达到8192×4320(8K清晰度)。 数个基于HEVC延伸的编码标准正在进行中,包含range extensions(支持高级的影帧式)、可调式编码和3D视频编码标准。 这是上面关于这两种标准的一个概念性的解读,那么总结来说主要有以下几点: 1、H.265是新的编码协议,也即是H.264的升级版。H.265标准保留H.264原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。 2、H.265相比H.264最主要的改变是采用了块的四叉树划分结构,采用了从64x64~8x8像素的自适应块划分,并基于这种块划分结构采用一系列自适应的预测和变换等编码技术。 3、H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。 4、同样的画质和同样的码率,H.265比H2.64 占用的存储空间要少理论50%。 5、比起H.264/AVC,H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说,H.264中每个宏块(macroblock/MB)大小都是固定的16x16像素,而H.265的编码单位可以选择从最小的8x8到最大的64x64。 6、在相同的图象质量下,相比于H.264,通过H.265编码的视频大小将减少大约39-44%。 这样看来用H.265更划算,性价比更高。但是存在一个问题,我放在七牛云的视频,如果是H.265的标准,视频无法显示画面,只能听到声音。同样的情况还发生在做PPT插入视频时的情况,但是这种情况往往发生在Win7电脑,没有装任何第三方视频播放器的前提下。因为目前主流的视频播放器都自带了h.265的解码器,而PowerPoint软件的老版本是借助于系统上的一些解码器来对视频进行解码的,为什么要考虑没有装任何第三方视频播放器的这种情况,因为我们公司的电脑大多内网电脑是不会安装视频播放器的。为了保证所做的课件在其他电脑上的兼容性,所以不得不使用了兼容性更为稳定可靠的H.264协议。 但是虽然H.265占用存储空间更为节省,但是按照一定的压缩配置压缩出来的H.264标准的视频尺寸也已经让我很满意了。压缩参数配置: x264 --crf 24 --preset 8 -r 6 -b 6 -I infinite -i 1 --scenecut 60 -f 1:1 --qcomp 0.5 --psy-rd 0.3:0 --aq-mode 2 --aq-strength 0.8 --vf resize:768,432,,,,lanczos -o "%~dpn1_v.mp4" "%~1"
Debug
入驻第1年
网络笔记之端口及常见端口号
端口定义 通信端口,又称为连接端口、端口、协议端口在计算机网络中是一种经由软件创建的服务,在一个计算机操作系统中扮演通信的端点。每个通信端口都会与主机的IP地址及通信协议关联。通信端口以16比特数字来表示,这被称为通信端口编号。 位于传输层的通信协议通常需要指定端口号,例如在TCP/IP协议族之下的TCP与UDP协议。 引用来源:维基百科 传输层协议,如传输控制协议(TCP)与用户数据包协议(UDP),在分组表头中,定义了来源端口号与目的端口号。 一个通信端口号使用16位无符号整数(unsigned integer)来表示,其范围介于0与65535之间。 在TCP协议中,端口号0是被保留的,不可使用。 1–1023 系统保留,只能由root用户使用。 1024—4999 由客户端程序自由分配。 5000—65535 由服务器端程序自由分配在UDP协议中,来源端口号是可以选择要不要填上,如果设为0,则代表没有来源端口号。 常见端口对照表 端口号码 / 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp 消息发送协议 19 chargen 字符生成服务;发送无止境的字符流 20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 22 ssh 安全 Shell(SSH)服务 23 telnet Telnet 服务 25 smtp 简单邮件传输协议(SMTP) 37 time 时间协议 39 rlp 资源定位协议 42 nameserver 互联网名称服务 43 nicname WHOIS 目录服务 49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统 50 re-mail-ck 远程邮件检查协议 53 domain 域名服务(如 BIND) 63 whois++ WHOIS++,被扩展了的 WHOIS 服务 67 bootps 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用 68 bootpc Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用 69 tftp 小文件传输协议(TFTP) 70 gopher Gopher 互联网文档搜寻和检索 71 netrjs-1 远程作业服务 72 netrjs-2 远程作业服务 73 netrjs-3 远程作业服务 73 netrjs-4 远程作业服务 79 finger 用于用户联系信息的 Finger 服务 80 http 用于万维网(WWW)服务的超文本传输协议(HTTP) 88 kerberos Kerberos 网络验证系统 95 supdup Telnet 协议扩展 101 hostname SRI-NIC 机器上的主机名服务 102 iso-tsap ISO 开发环境(ISODE)网络应用 105 csnet-ns 邮箱名称服务器;也被 CSO 名称服务器使用 107 rtelnet 远程 Telnet 109 pop2 邮局协议版本2 110 pop3 邮局协议版本3 111 sunrpc 用于远程命令执行的远程过程调用(RPC)协议,被网络文件系统(NFS)使用 113 auth 验证和身份识别协议 115 sftp 安全文件传输协议(SFTP)服务 117 uucp-path Unix 到 Unix 复制协议(UUCP)路径服务 119 nntp 用于 USENET 讨论系统的网络新闻传输协议(NNTP) 123 ntp 网络时间协议(NTP) 137 netbios-ns 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务 138 netbios-dgm 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 数据报服务 139 netbios-ssn 在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务 143 imap 互联网消息存取协议(IMAP) 161 snmp 简单网络管理协议(SNMP) 162 snmptrap SNMP 的陷阱 163 cmip-man 通用管理信息协议(CMIP) 164 cmip-agent 通用管理信息协议(CMIP) 174 mailq MAILQ 177 xdmcp X 显示管理器控制协议 178 nextstep NeXTStep 窗口服务器 179 bgp 边界网络协议 191 prospero Cliffod Neuman 的 Prospero 服务 194 irc 互联网中继聊天(IRC) 199 smux SNMP UNIX 多路复用 201 at-rtmp AppleTalk 选路 202 at-nbp AppleTalk 名称绑定 204 at-echo AppleTalk echo 服务 206 at-zis AppleTalk 区块信息 209 qmtp 快速邮件传输协议(QMTP) 210 z39.50 NISO Z39.50 数据库 213 ipx 互联网络分组交换协议(IPX),被 Novell Netware 环境常用的数据报协议 220 imap3 互联网消息存取协议版本3 245 link LINK 347 fatserv Fatmen 服务器 363 rsvp_tunnel RSVP 隧道 369 rpc2portmap Coda 文件系统端口映射器 370 codaauth2 Coda 文件系统验证服务 372 ulistproc UNIX Listserv 389 ldap 轻型目录存取协议(LDAP) 427 svrloc 服务位置协议(SLP) 434 mobileip-agent 可移互联网协议(IP)代理 435 mobilip-mn 可移互联网协议(IP)管理器 443 https 安全超文本传输协议(HTTP) 444 snpp 小型网络分页协议 445 microsoft-ds 通过 TCP/IP 的服务器消息块(SMB) 464 kpasswd Kerberos 口令和钥匙改换服务 468 photuris Photuris 会话钥匙管理协议 487 saft 简单不对称文件传输(SAFT)协议 488 gss-http 用于 HTTP 的通用安全服务(GSS) 496 pim-rp-disc 用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) 500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP) 535 iiop 互联网内部对象请求代理协议(IIOP) 538 gdomap GNUstep 分布式对象映射器(GDOMAP) 546 dhcpv6-client 动态主机配置协议(DHCP)版本6客户 547 dhcpv6-server 动态主机配置协议(DHCP)版本6服务 554 rtsp 实时流播协议(RTSP) 563 nntps 通过安全套接字层的网络新闻传输协议(NNTPS) 565 whoami whoami 587 submission 邮件消息提交代理(MSA) 610 npmp-local 网络外设管理协议(NPMP)本地 / 分布式排队系统(DQS) 611 npmp-gui 网络外设管理协议(NPMP)GUI / 分布式排队系统(DQS) 612 hmmp-ind HMMP 指示 / DQS 631 ipp 互联网打印协议(IPP) 636 ldaps 通过安全套接字层的轻型目录访问协议(LDAPS) 674 acap 应用程序配置存取协议(ACAP) 694 ha-cluster 用于带有高可用性的群集的心跳服务 749 kerberos-adm Kerberos 版本5(v5)的“kadmin”数据库管理 750 kerberos-iv Kerberos 版本4(v4)服务 765 webster 网络词典 767 phonebook 网络电话簿 873 rsync rsync 文件传输服务 992 telnets 通过安全套接字层的 Telnet(TelnetS) 993 imaps 通过安全套接字层的互联网消息存取协议(IMAPS) 994 ircs 通过安全套接字层的互联网中继聊天(IRCS) 995 pop3s 通过安全套接字层的邮局协议版本3(POPS3) 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
小十
入驻第1年
【 翻译 】x264参数介绍
输入 用1个绝对路径定义输入文件(或者2个,rawYUV文件)。如下例: x264.exe -o NUL C:\input.avs x264 -o /dev/null ~/input.y4m如果输入文件是rawYUV格式的,还要把分辨率一并输入。如果开启了比特率控制,还需要输入帧率。如下例: x264.exe -o NUL –fps 25 D:\input.yuv 1280×720 x264 -o /dev/null –fps 30000/1001 ~/input.yuv 640×480预设值 预设值是x264在r1177版本增加的一个方便的命令行选项。可以用x264.exe –fullhelp查看所有的命令行帮助。 profile 默认:无 说明:限制输出文件的profile。这个参数将覆盖其它所有值,此选项能保证输出profile兼容的视频流。如果使用了这个选项,将不能进行无损压缩(qp 0 or crf 0)。 可选:baseline,main,high 建议:不设置。除非解码环境只支持main或者baseline profile的解码。 preset 默认:medium 一些在压缩效率和运算时间中平衡的预设值。如果指定了一个预设值,它会在其它选项生效前生效。 可选:ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow and placebo. 建议:可接受的最慢的值 tune 默认:无 说明:在上一个选项基础上进一步优化输入。如果定义了一个tune值,它将在preset之后,其它选项之前生效。 可选:film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency and touhou. 建议:根据输入选择。如果没有合适的就不要指定。 slow-firstpass 默认:无 说明:随着预设值机制在r1177版本的出现,使用–pass 1会在解析命令行时增加以下设置: * ref 1 * no-8x8dct * partitions i4x4 (if originally enabled, else none) * me dia * subme MIN( 2, subme ) * trellis 0 如果设置preset=placebo则自动关闭此特性。如果想显式关闭此特性,使用slow-firstpass。
小十
入驻第1年
PPT速成课程的辅助视频
该视频合集主要针对该课程比较重点的部分进行一个录屏讲解。 1、如何在PowerPoint上创建幻灯片母版(面向零基础) - 使用台式机录制 注意:该视频将消耗流量65.43MB。 您的浏览器不支持 HTML5 视频标签。 请下载此视频以便观看。 2、布尔运算的基本应用(面向零基础) - 值夜班中使用笔记本录制 注意:该视频将消耗流量23.71MB。 您的浏览器不支持 HTML5 视频标签。 请下载此视频以便观看。 3、SmartArt工具基本讲解(面向零基础) - 使用台式机录制 注意:该视频将消耗流量32.25MB。 您的浏览器不支持 HTML5 视频标签。 请下载此视频以便观看。 4、对齐工具基本讲解(面向零基础) - 使用台式机录制 注意:该视频将消耗流量10.53MB。 您的浏览器不支持 HTML5 视频标签。 请下载此视频以便观看。
Debug
入驻第1年
再见Windows7,中学时期的一代神器
今天不经意间开启了windows7的虚拟机,用了半天,给出了下面的弹窗,一看,原来是微软最后做windows7的更新停止工作,想想用Windows7这个系统,记忆中从小学就开始使用了,用着它参加了我人生中的大考,山东省2016年春季高考,也算是圆了自己的一个大学梦,考上了本科院校,PS(自己学校实在是emm,一年出不了多少本科生),在这写着一篇文章纪念一下自己使用了近十年的系统。 社会的进步,同时又看出美帝国主义的险恶,不过好消息是华为要推出自己的操作系统,鸿蒙OS,比较期待,现如今我们只有软件、硬件强大起来,打破美帝的垄断,才能在互联网有得自己的一席之地,加油,中国、加油,新时代的程序猿、加油,华为,加油、中华民族,加油!!! 最后给大家展示一下Windows7这个系统的告白网页吧,以后Windows家族何去何从,大家拭目以待,致敬Win7。 不得不说,最后还要推一波广告,哈哈,Windows10现在已经是我的主要使用的OS了!! 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
微信小程序入门笔记
最近两个星期在学习小程序,主要是应对“全国大学生计算机应用能力与信息素养比赛”,虽然最后没有取得一个比较好的成绩(PS:国家安慰奖),但是收获了不少,边学习边敲代码也是不错的,嘿嘿,下面就是我对这个学习小程序的代码笔记及我设计的小程序的演示图片,嘿嘿,在此处建立一个里程碑吧! 小程序学习笔记 设计小程序图例 PPT 文稿 总结 这个框架才用了ColorUI设计,界面个人感觉清新爽目,嘿嘿,,,,,遗憾的是没有做后台,相比其他学校终结了一下,缺少以下几点: 绝大部分作品与本学校教务处对接,已经运行上线; 后台设计及算法优化比较先进; 采用多种技术,只是采用小程序做显示及基本功能的实现,主要寄托于后台; 获得国一的作品用了Python进行爬虫及数据分析,膜拜大佬。。。 算了,以后就不比赛了,准备北漂工作了,加油!!! 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
阿川
入驻第1年
(转)一个程序员眼中的价值

© 2026 好站网-HaoZhan.Wang V1.9 版权所有,正在试运行中! 本站由 Zhou's Notes 强力支持!

苏ICP备19065220号-4 公安备案 苏公网安备32100302011680号 萌ICP备20269980号 茶ICP备2026050346号
本站数据 2026年报 版本历史 小黑屋 关于本站 统计代码