软考笔记
软考笔记
给出一个中缀表达式如下:
a+bc-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号,
式子变成了:((a+(bc))-(d+e))
第二步:转换前缀与后缀表达式
前缀:把运算符号移动到对应的括号前面
则变成了:-( +(a (bc)) +(de))
把括号去掉:-+abc+de  前缀式子出现
后缀:把运算符号移动到对应的括号后面
则变成了:((a(bc)* )+ (de)+ )-
把括号去掉:abc*+de+-  后缀式子出现
若计算机系统的字长为128位,磁盘的容量为2048GB,物理块的大小为8MB,假设文件管理系统采用位示图(bitmap)法记录该计算机系统磁盘的使用情况,那么位示图的大小需要( )个字
先计算多少物理块=2048X1024/8=256X1024个。再计算位示图大小=256X1024/128=2048
软件工程方法学包括三个要素:方法、工具和过程
软件开发模型:
- 
瀑布模型 
- 
增量模型 
- 
螺旋模型 
- 
喷泉模型 
- 
智能模型 
- 
V模型 
- 
快速应用开发模型 
- 
构件组装模型 
- 
敏捷方法和统一过程等 
瀑布模型:
- 
也称为生命周期法,是结构化方法中最常用的开发模型,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段 
- 
定义阶段:软件计划、需求分析 
- 
开发阶段:软件设计、程序编码、软件测试 
- 
维护阶段:运行维护 
- 
瀑布模型的优点: 
- 
- 为项目提供了按阶段划分的检查点
- 当前一个阶段完成后,只需要去关注后续阶段
- 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导
 
- 
瀑布模型的缺点: 
- 
- 各个阶段之间产生大量的文档,极大地增加了工作量
- 由于开发模型是线型的,用户只有等到整个过程的末期才能见到开发结果,从而增加了开发风险
- 不适应用户需求的变化,并且在需求分析阶段不可能完全获取
- 在软件开发前期未发现的错误传到后面的开发活动中时,可能会扩散,进而可能会导致整个软件项目开发失败
 
- 
所以,瀑布模型适用于需求明确或很少变更的项目 
螺旋模型:
- 
将瀑布模型和演化模型相结合,综合了两者的优点,并增加了风险分析。它以原型为基础,沿着螺线自内向外旋转,每旋转一圈都要经过制订计划、风险分析、实施工程及客户评价等活动,并开发原型的一个新版本。经过若干次螺旋上升的过程,得到最终的系统 
- 
螺旋模型的优点: 
- 
- 设计上灵活,可以在项目的各个阶段进行变更
- 以小的分段来构建大型系统,使成本计算变得简单容易
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向
- 随着项目推进,客户始终掌握项目的最新信息,从而能够和管理层有效地交互
 
- 
螺旋模型地缺点: 
- 
- 需要具有相当丰富地风险评估经验和专门知识,如果未能够及时标识风险,势必造成重大损失
- 过多地迭代次数会增加开发成本,延迟提交时间
 
快速应用开发模型(RAD)
- 是一个增量型的软件开发过程模型。强调极短的开发周期。RAD模型是瀑布模型的一个“高速”变种,通过大量使用可复用构件,采用基于构建的建造方法赢得快速开发。如果需求理解的好且约束了项目的范围,随后就是数据建模、过程建模、应用生成、测试及反复
快速应用开发模型(RAD)
- 是一个增量型的软件开发过程模型。强调极短的开发周期。RAD模型是瀑布模型的一个“高速”变种,通过大量使用可复用构件,采用基于构建的建造方法赢得快速开发。如果需求理解的好且约束了项目的范围,随后就是数据建模、过程建模、应用生成、测试及反复
软件工程>耦合性

软件工程>软件维护相关概念及工具
在软件外部,可以用MTTR来度量软件的可维护性,它指出处理一个有错误的软件需要花费的平均时间。如果用M表示可维护性指标,那么M=1/(1+MTTR)。
MTTF/(1+MTTF) 一般用来表示可靠性或可用性指标。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号