【软件工程】设计阶段

前言:

进过了软件的前期的需求分析阶段后,就进入了设计阶段。在需求阶段我们需要明确软件应该“做什么”的概念,而到了设计阶段我们需要侧重于需求问题该如何解决。

分类:

管理角度概要设计
 详细设计
技术角度数据设计
 系统结构设计
 过程设计

软件设计的原则:

 

模块的耦合:

耦合是模块之间相对独立性的度量

内容耦合——– 一个模块直接访问另一模块的内容,则称这两个模块为内容耦合。

  若在程序中出现下列情况之一,则说明两个模块之间发生了内容耦合: 一个模块直接访问另一个模块的内部数据。

  一个模块不通过正常入口而直接转入到另一个模块的内部。  两个模块有一部分代码重叠(该部分代码具有一定的独立功能)。  

  一个模块有多个入口。

  内容耦合可能在汇编语言中出现。大多数高级语言都已设计成不允许出现内容耦合。这种耦合的耦合性最强,模块独立性最弱。

 

公共耦合——— 一组模块都访问同一个全局数据结构。

 外部耦合——— 一组模块都访问同一全局简单变量,而且不通过参数表传递该全局变量的信息,则称之为外部耦合。

 控制耦合———模块之间传递的不是数据信息,而是控制信息例如标志、开关量等,一个模块控制了另一个模块的功能。

 标记耦合———调用模块和被调用模块之间传递数据结构而不是简单数据,同时也称作特征耦合。表就和的模块间传递的不是简单变量,而是像高级语言中的数据名、记录名和文件名等数据结果,这些名字即为标记,其实传递的是地址。

 数据耦合———调用模块和被调用模块之间只传递简单的数据项参数。相当于高级语言中的值传递。

 非直接耦合———两个模块之系,它们之间的联系完全是通过主模块的控制和调用来实现的。耦合度最弱,模块独立性最强。

概要设计的内容

 

制定规范  在开发软件之前需要为软件开发组制定一个在设计的过程中都需要遵循的规范。

比如:理解需求说明书,

制定最合适的方案

设计文档的标准                                  

软件系统结构的总体设计把系统按照功能逐次分割成层次结构,使每一部分完成简单的功能并且保持一定的联系 
处理方式设计  
数据结构设计对涉及到的文件系统的结构及设局库的模型进行完整性和安全性的设计类似数据库设计
可靠性设计  

详细设计:
       详细设计的任务就是把我们之前的概要设计模型,翻译成可运行的软件,可以用图形,表格,等方式来表示,在后期程序员可以根据这些过程描述来编写程序

详细设计用到的工具: 

1.程序流程图

将程序的执行过程用流程图来描述,主要的符号是:方框表示加工任务,菱形表示逻辑条件,箭头表示控制流

流程图的基本结构元素
顺序图
选择型
先判定型循环
后判定循环 
多情况选择 case

元素:

 

2. N-S图(也叫作盒图), N-S图包括三大结构: 顺序,选择,循环

3.PAD 图  

   问题分析图,利用二维树形结构来表示程序的控制流

它所表述的程序的层次关系表现在纵线上,每条纵线表示一个层次  

(按照自上向下,自左至右) 

 

设计阶段需要完成的文档: 

1.《概要设计说明书》

给出系统目标,总体设计,数据设计,等

2.《数据库设计说明书》

给出所使用数据库简介,数据模型设计,物理设计等

3.《用户手册》

对需求分析阶段编写的初步的用户手册进行审定

4.《修订测试计划》

5.《详细设计说明书》

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值