软件工程 第五章 详细设计

第五章 详细设计

1.用户界面设计
用户界面设计是一个重要的接口设计。如图人的心灵和外表美,
软件系统不仅最求功能强大,还最求界面友好。设计人员不要沉迷于技术
,而要多多思考什么样的界面才能让用户更加喜欢。
2.数据库设计
数据库是存储和处理数据用的。如果说数据库犹如人的大脑,
那么数据相当于人的知识。入托人积累的知识越多,就显得博学;
如果人反应很快,就显得聪明。同理,数据库设计不仅要考虑如何
存储海量数据,而且还要考虑如何高效处理这些数据。
3.模块设计
如果我们把软件结构比做人体,那么模块就是人的各个器官,
都具有特定的功能。设计模块时要追求模块的独立性,高内聚,低耦合。
4.数据结构和算法设计
数据结构和算法设计如同人的神经和肌肉,使模块功能生效。
要写出高质量、高效率的程序是基于良好的数据结构和算法,
而不是基于编程小技巧。因此数据结构和算法是详细设计的重点任务之一

5.2设计工具

1.程序流程图
程序流程图又称程序框图,是人们解决问题的方法、思路或算法的一种描述。
它所使用的基本符号如下
(1)方框:表示处理:框内为处理内容
(2)菱形框:表示判断:框内为判断条件
(3)椭圆框:表示开始或结束
(4)箭头:表示控制流
程序流程图的优点是画法简单、逻辑性强容易理解,
同时程序流程图也具有很多缺点:
(1)箭头代表控制流,使用起来有很强的随意性,设计人员不受约束
(2)不能表示数据结构
(3)它诱导设计人员过早地去考虑程序等实现细节 ,而忽略了全局结构,因此,它不能提现自顶向下、逐步求精的结构化设计原则
为了克服以上缺点,使用程序流程图描述结构化程序时
只能使用三种基本的控制结构。

2.盒图
(1)控制结构的作用域很明确
(2)没有箭头,不能任意转移控制
(3)容易确定数据的作用域
(4)容易表示嵌套关系和模块的层次结构
(5)结构化特征明显

3.问题分析图
PAD图所描述程序的层次关系表现在纵线上。每条纵线表示了一个层次。随着层次的增加,逐渐向右展开
PAD图的执行顺序是从最左主干线的上端节点开始,自上而下一次执行。每遇到判断或循环,就自左而右进入下一层,从表示下一层的纵线上端开始执行,直到该纵线下段,在返回上一层的纵线的转入处。如此继续,直到执行到主干线的下端为止。
PAD图具有以下优点:
(1)设计出来的程序是结构化的
(2)描绘的程序结构清晰
(3)容易将图转换成源程序
(4)可表示程序逻辑
(5)可描绘数据结构

4.判定表

5.判定树

6.过程设计语言
PDL,也是程序描述语言,又称伪码。它是一种用于描述模块算法设计和处理细节的语言

5.3设计方法

1.Jackson图

2.Jackson结构程序设计方法

5.4设计文档

详细设计说明书又称为程序设计说明,编制目的是说明软件系统各个
层次中的每个程序(模块)的 设计考虑。如果软件系统比较简单,
层次少,本文件可以不 单独编写。

5.3McCabe方法

如何衡量详细设计阶段设计的模块质量呢?
McCabe方法是一种基于程序控制流的复杂性度量方法,
度量出来的结果称为程序的环形复杂度。
使用McCabe方法度量程序的复杂度一般需要一下两个步骤
(1)将程序流程图映射成流图
(2)根据流图计算环形复杂度

1.流图
流图仅仅描绘程序的控制流程,不考虑对数据结构的具体操作以及分支
或循环的具体条件。在流图中用圆表示节点,一个圆代表一条或多条语句。
可以把程序流程图中的每个顺序的处理框序列和一个菱形判定框映射成
流程图的一个节点。流图中使用箭头代表控制流。流图中的一条边必须
终止与一个节点。由变和节点围城的面积称为区域,
但注意图外部未被围起来的那个区域也算流图的一个区域。

2.计算环形复杂度的方法
(1)流图中的区域数等于环形复杂度
(2)根据流图中边的条数(E)和节点数(N),求出流图G的环形复杂度
    V(G)=E-N+2
(3)根据流图中判定节点的数目(P),求出流图的环形复杂度V(G)=P+1

5.6案例分析——图书管理系统详细设计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值