总体设计阶段复习

news2024/11/23 15:02:33

总体设计

    • ==总体设计(概要设计/初步设计)==:确定系统模块及相互关系,==划分程序,文件,数据库,文档等物理元素==
      • 设计原理:
      • 启发规则
      • 图形工具:
      • 面向数据流设计方法(SD)

总体设计(概要设计/初步设计):确定系统模块及相互关系,划分程序,文件,数据库,文档等物理元素

  • 系统设计阶段
    • 数据流图分析方案
    • 选取上,中,下,(成本)三种方案
    • 确定最佳方案,指定详细计划
  • 结构设计阶段
    • 功能分解:细化数据流图
    • 设计软件结构:层次图,或结构图,或数据流图导出软件结构
    • 数据库设计
    • 测试计划
    • 文档
    • 审查

设计原理:

模块化:程序划分为独立模块,多种子功能构成整体

+抽象:关注本质

+逐步求精:推迟关注细节

+信息隐藏:迪米特法则(最少知识)

->模块独立:高内聚,低耦合

耦合(低->高):无直接耦合->数据耦合->标记(特征)耦合->控制耦合->外部耦合->公共耦合

内聚(高->低):功能->顺序->通信->过程->时间->逻辑->偶然


启发规则

  • 改进软件结构提高模块的独立性
  • 模块规模应该适中
  • 深度(结构控制层数)、宽度(同层次模块总数)、扇出(能调用模块数)和扇入(被多少模块调用)都应适当->高层高扇出,中层较少,底层高扇入
  • 模块的作用域(该模块判定影响的模块集合)应该在控制域(本身及直接间接从属的模块集合)内
  • 力争降低模块接口的复杂程度
  • 设计单入口单出口的模块
  • 模块的功能应该可预测

图形工具:

层次图:方框+连线(调用关系)
在这里插入图片描述

HIPO图:层次图+编号

在这里插入图片描述




结构图:每个方框代表一个模块,框内注明模块的名字或主要功能,方框间的箭头(或直线)代表模块的调用关系注释表示来回传递的信息【尾部空心圆表示传递数据实心圆代表传递控制信息】
在这里插入图片描述

在这里插入图片描述


面向数据流设计方法(SD)

  1. 变换流:输入+变换中心+输出
    在这里插入图片描述

  2. 事务流:多种事务选择执行
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一篇五分生信临床模型预测文章代码复现——Figure 4-6 临床模型构建(六)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…

FineReport智能数据图表- 文本域控件

1. 概述 1.1 版本 报表服务器版本 11.0 1.2 应用场景 1.2.1 填报控件 填报报表中可以通过该控件输入多行文本信息,录入填报的数据,如下图所示: 1.2.2 参数控件 参数面板处可以通过该控件输入多行文本信息,键入查询参数&#…

【车载开发系列】UDS诊断---安全访问服务($0x27)

【车载开发系列】UDS诊断—安全访问服务($0x27) UDS诊断---安全访问服务($0x27【车载开发系列】UDS诊断---安全访问服务($0x27)一.概念定义二.安全控制过程三.报文格式1)请求种子2)发送密钥3)否定响应四.否定响应码列表五.参数定义六.注意事项…

JavaScript基础学习

文章目录什么是JavaScriptJavaScript 运行过程JvaScript 的组成JavaScript的三种书写模式行内式内嵌式外部式JavaScript的输出输出方式输入: prompt输出: alert输出: console.logJavaScript的一些基础语法变量的使用如何理解JS的动态类型(弱类型)基本数据…

SSM整合:mybatis层-P17

首先构建新的项目。 MYSQL: 在mysql中创建我们需要的表 CREATE DATABASE ssmbuild;USE ssmbuild;DROP TABLE IF EXISTS books;CREATE TABLE books ( bookID INT(10) NOT NULL AUTO_INCREMENT COMMENT 书id, bookName VARCHAR(100) NOT NULL COMMENT 书名, bookCo…

【深入浅出Spring原理及实战】「IOC容器初始化」彻底让你明白和理解运行原理和源码流程

前言介绍 本篇文章篇幅较大,希望读者可以慢慢阅读,建议收藏,分多次阅读学习。 学习源码的过程当中,有几点建议: 一定要学会抓重点,归纳核心类、核心方法、核心步骤; 分析源码我们不需要太过于纠…

MongoDB 存储引擎

简单回顾 上次我们说到了关于 mongodb 的集群,分为主从集群和分片集群,对于分片集群中的分片这里需要注意如下几点,一起来回顾一下: 对于热点数据某些分片键(分片键是集合中每个文档中存在的索引字段或复合索引字段&a…

qt历史数据管理模块(模块化程序)功能块复制直接使用不冲突

一、前言 qt对历史数据管理部分个人总结的模块化程序,直接按照步骤复制粘贴程序,直接实现历史数据管理功能,无需花费脑筋在理清各个思路,适合快速编写组装程序 二、环境 windows qt5.7 sqlite3 三、正文 建议参照前文&…

【uni-app】uni-app之云开发uniCloud跨全栈开发笔记总结,包括一个 schema自动生成代码小案例(附详细截图)

1- 前言 本文主要讲解如何使用uni-app 和 uniCloud 云开发,实现小案例,不需要后端,来实现全栈开发。 2- 概念 2.1 什么是uni-app uni-app 是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、…

对信息系统生命周期各阶段进行风险评估的要点汇总

概述 风险评估应贯穿于评估对象生命周期 各阶段中。评估对象生命周期各阶段中涉及的风险评估原则和方法昆一致的,但由干各阶段实施内容对象、安全需求不同.使得风险评估的对象、目的、要求等各方面也有所不同。在规划设计阶段,通过风险评估以确定评估对…

pytorch笔记(九)转置卷积、膨胀卷积

Transposed Convolution (转置卷积) 别名:Fractionally Strided Convolution (小数步长的卷积)、Deconvolution(逆/反卷积) 作用:upsampling(上采样) 模拟: PS:不是恢复原始值(因为一般情况下矩阵不可逆,无法等式左右两边同乘矩阵的逆得到原始矩阵) 转置卷积的…

为什么分布式系统这么火?

做Java的升职空间有限,可以说如果不想一辈子做程序员,只能往其他方向进行拓展,比如做到产品经理之类的或者技术总监。 可如果还是想做和技术相关的职业,那么架构师是很好的一步。 可是要如何做一名优秀的架构师呢? …

每天五分钟机器学习:经典的机器学习PCA的核心——特征分解技术

本节重点 本节我们将学习特征分解,特征分解是矩阵分析中非常重要的概念,它也可以应用到PCA算法中,本节先讲解什么是特征分解,然后讲解特征分解在PCA算法中的应用。 数学知识准备 如上所示是方差的定义,方差是度量一组数据的分散程度 如上所示是方差的定义,协方差是…

BSP板机支持包、linux启动分析、ARM裸机编程

文章目录一、BSP二、驱动驱动的基本要素三、启动分析1.uboot2.uboot的作用3.uboot相关命令关键的内容:1)bootargs,启动参数2)启动命令3)修改启动延时时间4)复位开发板5)修改本地IP地址6&#xf…

Matlab群体智能优化算法之大鲹鱼优化算法(GTO)

Giant Trevally Optimizer : A Novel Metaheuristic Algorithm for Global Optimization and Challenging 一、灵感来源二、算法的初始化三、GTO的数学模型  Phase1:广泛搜索  Phase2:选择区域  Phase3:攻击四、流程图五、伪代码六、实…

[附源码]计算机毕业设计四川景区管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

SWT Table列自适应大小

要实现列自适应大小首先需要保证Table根据窗口拖动而改变大小。 Window中提供setShellStyle可以设置外壳样式。 构造一个新的自定义器对话框,在构造函数中添加setShellStyle(getShellStyle() | SWT.RESIZE);即可改变自定义对话框大小,如: ge…

[附源码]Python计算机毕业设计SSM教师教学质量评价系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

数据卷(Data Volumes)dockerfile

目录一、宿主机与容器之间的文件拷贝1、利用MySQL镜像安装MySQL服务2、从容器中拷贝文件到宿主机3、从宿主机拷贝文件到容器二、数据卷三、数据卷容器四、Dockerfile1、自定义centos,具备vim及ifconfig作用2、自定义tomcat8一、宿主机与容器之间的文件拷贝 1、利用…

Linux虚拟化网络之vlan配置

问题描述: Linux主机划分两个vlan,服务器server1的物理网卡的IP地址为1.1.1.1/24,服务器server2的物理网卡的IP地址为1.1.1.2/24。物理网卡下要虚拟化出来两个Vlan子接口,vlan10中主机的IP地址分别为10.10.10.1/24和10.10.10.2/2…