结构化系统设计——解决软件“做什么”问题

  • 一、设计的目标和任务
    • 1、目标
    • 2、任务
    • 3、开发阶段的信息流
    • 4、软件设计的重要性
    • 5、软件设计的技术观点和管理观点
  • 二、设计基础
    • 1、结构图(体系结构图、模块结构图)
      • (1)分析结构图三者间的关系
      • (2)结构图图例
    • 2、模块化(思想)
    • 3、抽象化(“开门”)
      • (1)抽象化是什么
      • (2)抽象化的类型
      • (3)抽象化举例
    • 4、信息隐藏
  • 三、模块的独立性
    • 1、模块
      • (1)属性
      • (2)特性
    • 2、模块的独立性
      • (1)模块的独立性是什么
      • (2)两个准则
      • (3)模块独立性的14字经
    • 3、耦合的七种类型
      • (1)非直接耦合(Non-direct Coupling)
      • (2)数据耦合
      • (3)标记耦合
      • (4)控制耦合
      • (5)外部耦合
      • (6)公共耦合
      • (7)内容耦合
    • 4、内聚的七种类型
      • (1)功能内聚
      • (2)信息内聚
      • (3)通信内聚
      • (4)过程内聚
      • (5)时间内聚
      • (6)逻辑内聚
      • (7)巧合内聚
  • 四、软件的体系结构设计
    • 1、体系结构风格
      • (1)以数据为中心的体系结构
      • (2)数据流体系结构
      • (3)调用和返回体系结构
      • (4)面向对象体系结构
      • (5)层次式体系结构
    • 2、衡量体系结构复杂度
    • 3、映射需求到软件体系结构
      • (1)步骤
      • (2)系统结构图中的模块
      • (3)变换型系统结构图
      • (4)事务型系统结构图
      • (5)变换分析
      • (6)事务分析
      • (7)混合结构
      • (8)软件模块结构的改进
  • 五、数据库设计
    • 1、数据模式需满足的条件
    • 2、数据的规范化形式
      • (1)非规范化形式示例
      • (2)数据的规范化形式
      • (3)数据库的三大范式
  • 六、处理过程设计
    • 1、处理过程设计是什么?
    • 2、处理过程设计的方法
      • (1)程序流程图
      • (2)N-S图(盒图)
      • (3)问题分析图(PAD)
      • (4)伪代码
  • 七、界面设计
  • 八、写在最后

在上一篇文章中我们了解到,结构化系统分析得到系统的逻辑模型,解决软件“做什么”的问题。而在我们接下来的这篇文章中,将讲解结构化系统设计,那么结构化系统设计可以做什么呢?结构化系统设计是为了得到目标系统的物理模型,解决软件“怎么做”的问题。先用一张图来了解从逻辑模型到物理模型的过渡。

了解完之后,我们来开始讲解结构化系统设计。

一、设计的目标和任务

1、目标

得到目标系统的物理模型 —— 解决软件”怎么做“问题。

『软件工程11』结构化系统设计:解决软件“怎么做”问题相关推荐

  1. 『软件工程9』结构化系统分析——解决软件“做什么”问题

    结构化系统分析--解决软件"做什么"问题 一.系统分析的任务和过程 1.系统分析的任务 2.系统分析的过程 (1)问题识别 (2)分析与综合 (3)编制文档 (4)系统分析评审 二 ...

  2. 『每日AI』马化腾丨中国互联网已从C2C进化为KFC!

    关注"Ai时速" 智慧赢未来!  Ai时速  因着Ai的美好:用速度和激情创赢新时代! 职业创业|圈子机会|进化共赢 编辑|小Ai     图文来源 |网络 每日Ai 写在前面 2 ...

  3. 『软件工程13』浅谈面向对象方法,统一建模语言UML

    浅谈面向对象方法UML 一.UML的含义 二.UML的主要内容 1.UML的概念模型 2.UML概念模型图例 三.UML的基本构造块 1.UML中的事物 (1)UML中的四种事物 (2)UML中各种事 ...

  4. 『软件工程6』详解软件项目管理之软件范围与估算

    软件项目管理--软件范围与估算 一.软件项目计划 1.目标 2.步骤 二.软件范围 1.软件范围定义 2.软件范围--引例 三.影响估算的因素 四.软件项目资源 1.软件项目资源构成 2.分析图 3. ...

  5. 『软件工程2』详解软件工程和软件过程模型

    文章目录 一.软件工程的定义 1.Fritz Bauer在NATO上给出的定义 2.Barry Boehm 3.IEEE在软件工程术语汇编中的定义 二.软件工程的层次 1.软件工程三个要素 2.软件工 ...

  6. 『软件工程4』一文了解软件项目管理中的4P

    软件项目管理中的4P 一.项目管理的重要性和定义 1.重要性(两个阶段) 2.软件项目管理的定义 二.管理四要素4P 1.管理的四要素(4P) 2.软件项目中影响最终结果的要素 3.项目管理关心的问题 ...

  7. 【软件工程系列】结构化需求分析

    结构化需求分析 一.需求分析重要性 ​ 对软件需求深入理解是开发成功的前提和关键. ​ 开发软件系统最困难的部分就是准确说明开发什么,最困难的概念性工作是编写出详细需求,包括所有面向用户.面向机器和其 ...

  8. 现代软件工程系列 学生读后感 梦断代码 软件难做

    http://cid-064ec84e17924332.spaces.live.com/blog/cns!64EC84E17924332!173.entry December 06 读<梦断代码 ...

  9. 『软件工程12』软件工程实践方法——软件测试

    软件工程实践方法-- 软件测试 一.软件测试概述 1.软件测试的目的 (1)从用户和开发者角度 (2)Myers软件测试目的 2.软件测试的原则 3.软件测试的对象 4.测试信息流 5.测试与软件开发 ...

最新文章

  1. SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in positio n 131-135: truncate
  2. 【AAAI2022】多任务推荐中的跨任务知识提炼
  3. Android移动开发之【Android实战项目】渐变的TextView小漂亮代码
  4. 无法上外网又需要同步Gradle
  5. oracle备份还原采集,oracle 备份还原
  6. MPEG创始人、主席:MEPG商业模式已经破裂
  7. F#年度调查结果概述
  8. POJ-2773 欧几里得 + 二分 + 容斥
  9. 两个系统交互方式有几种_创新性OriginOS系统,打造个性化交互方式,很给力
  10. JSP + AjaxAnywhere页面开发规范
  11. Android 蓝牙BLE开发详解
  12. 美国第二位CTO Todd Park将离职
  13. 水浒传108将都是怎么死的
  14. 过期域名查询php程序,一个域名查询的程序
  15. 【h5白鹭引擎】如何快速开发一个小游戏
  16. 2019.8.22 1.属性
  17. linux运维是做什么工作的?有哪些岗位?
  18. 裸片IC液晶驱动多种封装选择VK1621SS香熏机/计算器/额温枪段码LCD液晶显示驱动IC,DICE(邦定COB)/COG(绑定玻璃用)
  19. 国外存储器专利筑起高墙?大陆半导体怎么破
  20. 自定义数据源 整合 Mybatis-Plus-多租户

热门文章

  1. TypeScript 获取类名
  2. host文件放在dns服务器,DNS配置:设置Host文件或DNS
  3. volatile,内存屏障
  4. UE4 蓝图宏库以及字母前缀说明
  5. Doris 平滑缩容,Be 节点卡住不动
  6. 中国香港实地探访外汇交易商Grand存在真实展业场所
  7. 解决 前端 设置滚动条的宽度后 滚动条消失的问题(解决ie浏览器样式无效的问题)
  8. 等保测评--通信网络安全测评要求
  9. php yii composer,PHP Yii2 composer环境安装
  10. css3 卡片亮光_9种纯CSS3人物信息卡片动态展示效果