软件工程-软件工程导论(第六版) 第六章 详细设计(图片+文字)

1 引言

继续分享!

2 详细设计

根本目标:确定应该怎样具体地实现所要求的系统。

详细设计阶段的任务不是具体地编写程序,而是要设计出程序的“蓝图”。

详细设计的结果基本上决定了最终的程序代码的质量。

2.1 结构程序设计

结构程序设计经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

结构程序设计更全面的定义:结构程序设计是尽可能少用GO TO语句的程序设计方法。最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句。

2.2 人机界面设计

2.2.1 设计问题

系统响应时间。用户帮助设施。出错信息处理。命令交互





2.2.2 设计过程


2.2.3 人机界面设计



2.3 过程设计工具





    



2.4 面向数据结构的设计方法






2.5 程序复杂程度的定量度量

定量度量程序复杂程度的方法很有价值:
把程序的复杂程度乘以适当常数即可估算出软件中错误的数量以及软件开发需要用的工作量,
定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣;

程序的定量的复杂程度可以作为模块规模的精确限度

2.5.1 McCabe方法


计算环形复杂度的方法
(1) 流图中线性无关的区域数等于环形复杂度。
(2) 流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。

(3) 流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

环形复杂度的用途
对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。

实践表明,模块规模以V(G)≤10为宜

2.5.2 Halstead方法



3 结束语

结束啦,该去吃饭了!

分享和帮助是人生一大乐事,希望可以帮助您。本人才疏学浅,如果有不当之处,还请批评指正。同时欢迎大家评论、点赞及转发!

猜你喜欢

转载自blog.csdn.net/chen_yongbo/article/details/80484449