乐趣区

关于设计思考:软件设计师考点

  • 软件项目管理

    • 流动图 — 如估算我的项目实现工夫,计算要害门路和要害流动。

      • 最短实现工夫
      • 最多能够多晚开始不受影响
  • 结构化分析

    • 结构化分析模型

      • 需要分析阶段输入

        • 数据流图、实体分割图、状态迁徙图和数据字典
      • 软件设计阶段进行

        • 软件体系结构图
    • 数据流图

      • 形容数据在零碎中如何被传送或变换,以及形容如何对数据流进行变换的性能,用于性能建模
      • 四个因素:

        • 内部实体,也称为数据源或数据汇点,示意要解决的数据的输出起源或处理结果要送往何处,不属于指标零碎的一部分,通常为组织、部门、人、相干的软件系统或者硬件设施;
        • 数据流示意数据沿箭头方向的流动;
        • 加工是对数据对象的解决或变换;
        • 数据贮存在数据流中起保留数据的作用,能够是数据库文件或者任何模式的数据组织。
  • 程序语言基础知识

    • 编译和解释

      • 解释程序也称为解释器,它或者间接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行;
      • 编译器则将源程序翻译成目标语言程序,而后再计算机上运行目标程序。
      • 这两种语言处理程序的基本区别是:在编译形式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不参加目标程序的执行过程;
      • 而在解释形式下,解释程序和源程序(或者某种等价示意)要参加到程序的运行过程中,运行程序的控制权在解释程序。简略来说,在解释形式下,翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立保留的目标程序。
    • 脚本语言

      • 为了缩短传统的编写 - 编译 - 链接 - 运行过程而创立的计算机编程语言。
      • 脚本语言个别运行在解释器或虚拟机中,便于移植,开发效率较高。
    • 将高级语言源程序转化为一种中间代码

      • 中间代码有四元式、后綴式、三地址码、树等
  • 操作系统
  • 软件设计

    • 模块独立性是创立良好设计的一个重要准则,个别采纳模块间的耦合和模块的内聚两个准则来进行度量。耦合程序越低,内聚水平越高,则模块的独立性越好。存在多种模块之间的耦合类型,从低到高顺次为非间接耦合、数据耦合、标记耦合、管制耦合、内部耦合、公共耦合和内容耦合。
    • 公共耦合是指一组模块都能拜访的同一公共数据环境;
    • 管制耦合是指一个模块通过传送开关、标记、名字等管制信息,显著地管制抉择另一个模块的性能;
    • 标记耦合是一组模块通过参数表传递记录信息;
    • 数据耦合是一个模块拜访另一个模块时,彼此之间通过数据参数(而不是控制参数、公共数据结构或内部变量)来替换输入输出信息。
  • 开发过程模型

    • 增量开发模型

      • 将软件产品分解成一系列的增量构件,在增量开发中逐渐退出。其长处次要有: 能在较短的工夫内交付能够应用的局部产品;逐渐减少的产品性能能够使用户有富余的工夫学习和适应新产品;优先级最高的性能首先交付, 这意味着最重要的性能通过最多的测试。然而要求对要开发的零碎进行精心的剖析和设计。
  • 软件体系结构

    • 仓库格调是一种软件体系结构,其中蕴含一个数据仓库和若干个其余构件。数据仓库位于该体系的构造核心,其余构件拜访该数据仓库并对其中的数据进行增、删、改等操作。数据库系统、超文本零碎和黑板零碎都属于仓库格调。
    • 该体系结构的长处包含:

      • 对可更改性和可维护性的反对:
      • 可复用的常识源;
      • 反对容错性和健壮性。
    • 毛病包含:

      • 测试艰难;
      • 不能保障有好的解决方案;
      • 难以建设好的控制策略;
      • 低效;
      • 低廉的开发工作;
      • 短少对并行机制的反对。
  • 软件测试

    • 软件测试按阶段分为单元测试、集成测试和零碎测试。在单元测试的根底上,将所有模块依照设计要求组装为零碎;此时进行的测试称为集成测试。
    • 集成测试有多种策略:

      • 自底向上: 从零碎档次中的最底层的构件开始,逐渐向上。须要设计驱动模块来辅助测试。
      • 自顶向上: 与自底向上相同,从最顶层的构件开始,逐渐向下。须要设计桩模块来辅助测试。
      • 三明治: 联合自底向上和自顶向下两种测试策略。
      • 一次性: 对所有的构件一次性测试,而后集成。
  • 软件复杂性常识

    • McCabe 度量法是一种基于程序控制流的复杂性度量办法,环路复杂性为 V(G)=m-n+2 m 是弧的个数,n 是节点数
退出移动版