0%

软件质量特性

可移植性包含:适应性、易安装性、共存性和易替换性

结构化设计任务

结构化开发方法中,分为

  • 体系结构设计

    定义软件系统各主要部件之间的关系

  • 数据设计

    基于E-R图确定软件涉及的文件系统的结构及数据库的表结构

  • 接口设计

    软件内部,软件和操作系统间以及软件和人之间如何通信

  • 过程设计

    系统结构部件转换成软件的过程描述。确定软件各个组件部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法

面向对象

类的类别有三种

  • 实体类 表示现实世界中真实的实体,基本就是定义了一些属性,如人、物等
  • 接口类(边界类) 表示为用户提供一种与系统合作交互的方式,基本就是定义了一些方法。分为人和系统两类,其中人的接口可以是显示屏、窗口、Web窗体、对话框、菜单、列表框、其他显示控制、条形码、二维码等;系统的接口涉及到把数据发送到其他系统,或者从其他系统接收数据
  • 控制类 表示业务逻辑,用来控制活动流,充当实体类和接口类之间的协调者

多态的类别

  • 参数多态 最普遍的多态
  • 包含多态 同样的操作可用于一个类型及其子类型,包含多态一般需要进行运行时检查
  • 强制多态 编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求
  • 过载多态 同一个名(操作符、函数名)在不同的上下文中所代表的含义不同

面向对象分析的任务是了解问题域所涉及的对象、对象间的关系和操作,然后构造问题的对象模型

面向对象分析过程OOA

  • 认定对象
  • 组织对象
  • 描述对象间的相互作用
  • 确定对象的操作
  • 定义对象的内部信息

面向对象设计过程OOD

  • 识别对象
  • 定义属性
  • 定义服务
  • 识别关系
  • 识别包

模块设计

  • 保持规模的大小适中
  • 尽可能减少调用的深度
  • 扇入和扇出数量要适中
  • 单入口,单出口
  • 模块的作用域应该在模块内,作用域小于控制域
  • 功能应该是可预测的

高内聚低耦合

聚合类型

  • 功能内聚 模块内的所有元素共同作用完成单一功能,各个部分协同工作,缺一不可
  • 顺序内聚 处理元素相关,而且必须顺序执行
  • 通信内聚 一个模块的所有成分都操作同一数据集或生成同一数据集
  • 过程内聚 一个模块完成多个任务,这些任务按指定的次序执行
  • 顺时内聚(时间内聚) 所包含的任务必须在同一时间间隔内执行
  • 逻辑内聚 模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能逻辑
  • 偶然内聚 一个模块内的各处理元素之间没有任何联系
阅读全文 »

软件过程模型

瀑布模型(需求明确)

线性顺序,以文档为驱动,项目的阶段评审和文档控制为手段对开发过程作为指导。适用于软件需求明确,客户必须能够完整、正确、清晰的表达需求

瀑布模型

V模型

瀑布模型的变体,描述了质量保证活动和沟通、建模相关活动及早期构建相关的活动之间的关系

V模型

阅读全文 »