软件工程——软件设计方法(概要设计)

软件设计方法主要分为两个方面:1.概要设计  2.详细设计

概要设计:

一.软件设计的目标和任务

1.定义

将文字转化为结构图,根据用信息域表示的软件需求,以及功能和性能需求进行数据设计,系统结构设计,过程设计

2.软件设计过程

指定规范;软件系统结构的总体设计;处理方式设计;数据结构设计;可靠性设计;编写概要设计阶段的文档;概要设计评审

3.软件设计基础

(1) 自顶向下,逐步细化:对各个层次的过程细节和数据细节逐层细化

(2) 软件结构:程序的模块结构和数据结构

(3) 程序结构:树状结构,网状结构

(4) 结构图:反应程序模块之间的层次调用关系

(5) 抽象化:软件系统进行模块设计时,可有不同的抽象层次信息隐蔽

由结构图引出模块相关内容

二.模块

1.模块

2.模块之间的调用关系和接口

3.模块间的信息传递

4.模块调用

5.模块的独立性

(1).三个基本属性:

功能:描述该模块实现什么功能

逻辑:描述模块内部怎么做

状态:该模块使用时的环境和条件

(2).用耦合和模块内聚来度量模块独立性(高内聚,低耦合)

模块间的耦合:

  • 非直接耦合:两个模块之间没有直接关系(弱耦合)

  • 数据耦合(弱):一个模块访问另一个模块时,彼此之间是通过简单数据参数来交换输入输出信息
  • 标记耦合(弱):一组模块通过参数表传递记录信息
  • 控制耦合(中):一个模块通过传送开关,标志等控制信息明显地控制选择另一模块的功能
  • 外部耦合(较强):模块与软件的外部环境相联系,一组模块都访问同一全局简单变量而不是同一全局数据结构
  • 公共耦合(较强):一组模块都访问同一个公共数据环境

  • 内容耦合:直接引用另一模块的内容

 

(3).模块内聚(理想状态高内聚)

  • 功能内聚:模块的各个部分是不可分割的
  • 信息内聚:各个功能都能在同一数据结构上操作,按顺序尽心,每一项功能有一个唯一的入口点
  • 过程内聚:使用流程图作为工具设计程序时,把流程图中的某一部分划出组成模块
  • 时间内聚:通常要求所有功能必须在同一时间段内执行
  • 逻辑内聚:若干个逻辑功能相同的模块组成
  • 巧合内聚:模块各部分之间没有联系,及时有联系也很松散

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章