软考笔记

软考笔记

给出一个中缀表达式如下:
a+bc-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号,
式子变成了:((a+(b
c))-(d+e))
第二步:转换前缀与后缀表达式
前缀:把运算符号移动到对应的括号前面
则变成了:-( +(a (bc)) +(de))
把括号去掉:-+a
bc+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) 一般用来表示可靠性或可用性指标。


posted @ 2023-05-26 20:57  繁星TT  阅读(65)  评论(0)    收藏  举报