软件工程-第五章、第六章-总体设计与详细设计简要知识点
第五章-总体设计
总体设计目的
系统应该如何实现 将工作划分出组成系统的物理元素——程序,文件,数据库,人工过程和文档等,每个物理元素任然处于黑盒子级。
设计软件结构
设计过程
1,设想供选择的方案
2,选取合理方案
3,推荐最佳方案
4,功能分解
5,设计软件结构
7,制定测试计划
8,书写文档
9,审查和复查
设计原理
1模块化
2 抽象
3 逐步求精
4 信息隐蔽和局部化
5 模块独立
耦合 内聚
启发规则
1 改进软件结构提高模块独立性
2 模块规模适中
3 深度,宽度,扇出和扇入都应适当
4 模块的作用域应该在控制域之内
5力争降低模块接口复杂程度
6 设计单入口和单出口的模块
7 模块功能应该可以预测
描绘软件图形结构的图形工具
层次图和HIPO图
结构图
第六章-详细设计
目的
确定应该怎样具体实现所要求的系统
结构程序设计
定义:如果一个程序代码块仅仅通过顺序,选择,循环 3种基本控制结构进行连接,并且每个代码块 只有一个入口和一个出口则称这个程序是结构化的。
人机界面设计
设计问题 4个
- 系统响应时间
- 用户帮助设施
- 出错信息处理
- 和命令交互
人机界面设计指南
-
一般交互指南 2.信息显示指南 3. 数据输入指南
程序复杂度的定量和度量
McCabe方法
McCabe方法是一种软件质量度量方法,它是基于对程序拓扑结构复杂度的分析。
(1)圈复杂度(Cyclomatic Complexity) 圈复杂度是用来衡量一个模块判定结构的复杂程度。 在程序控制流程图中,节点是程序中代码的最小单元,边代表节点间的程序流。一个有e条边和n个节点的流程图F,其圈复杂度为 VF
=e-n+2。 圈复杂度越高,程序中的控制路径越复杂。mccabe指出,典型的程序模块的圈复杂度为10。 (2)基本复杂度(Essential Complexity) 基本复杂度是用来衡量程序结构化程度的。
如果流程图G中的结构化子图的数量是m,则其基本复杂度为 EVF =V ? F -m
当基本复杂度为1,这个模块是充分结构化的;当基本复杂度大于1而小于循环复杂度,这个模块是部分结构化的;当基本复杂度等于循环复杂度时,这个模块是完全非结构化的。
(3)模块设计复杂度(Module Design Complexity) 模块设计复杂度用来衡量模块判定结构,即衡量模块与模块的调用关系。
从模块流程图中移取那些不包含调用子模块的判定和循环结构时求得的循环复杂度就是模块设计复杂度。
HaLstead方法
halstead度量方法不仅仅度量了程序长度,还描述了程序的最小实现和实际实现之间的关系,并据此阐释程序语言的等级高低。它以程序中出现的操作符和操作数为计数对象,以它们的出现次数作为计数目标来测算程序容量和工作量。
思维导图:
如果大家觉得有用的话 一键三连呀 (点赞转发加收藏)
本文来自博客园,作者:taotooler,转载请注明原文链接:https://www.cnblogs.com/taolo/p/17225886.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!