陈大剩博客

软考系统架构设计师(一):系统设计

  • 陈大剩
  • 2023-02-28 14:52:10
  • 322

系统设计-人机界面设计

黄金三法则

置于用户控制之下

  • 以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式
  • 提供灵活的交互
  • 允许用户交互可以被中断和撤销
  • 当技能级别增加时可以使交互流水化并允许定制交互
  • 使用户隔离内部技术细节
  • 设计应允许用户和出现在屏幕上的对象直接交互

减少用户的记忆负担

  • 减少对短期记忆的要求
  • 建立有意义的缺省
  • 定义直觉性的捷径
  • 界面的视觉布局应该基于真实世界的隐喻
  • 以不断进展的方式揭示信息

保持界面的一致性

  • 允许用户将当前任务放入有意义的语境
  • 在应用系列内保持一致性
  • 如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它

系统设计-软件设计

软件设计包括体系结构设计、接口设计、数据设计和过程设计。

  • 结构设计:定义软件系统各主要部件之间的关系。
  • 数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性。
  • 接口设计(人机界面设计)︰软件内部,软件和操作系统间以及软件和人之间如何通信。
  • 过程设计:系统结构部件转换成软件的过程描述。

系统设计-结构化设计

概要设计【外部设计】︰功能需求分配给软件模块,确定每个模块的功能和调用关系,形成模块结构图

详细设计【内部设计】∶为每个具体任务选择适当的技术手段和处理方法

结构化设计原则:

  • 模块独立(高内聚、低耦合)
  • 保持模块的大小适中
  • 多扇入,少扇出
  • 深度和宽度均不宜过高

模块的四个要素

  • 输入和输出。模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那儿取得输入,进行加工后再把输出返回调用者。
  • 处理功能。指模块把输入转换成输出所做的工作。
  • 内部数据。指仅供该模块本身引用的数据。
  • 程序代码。指用来实现模块功能的程序。

内聚 && 耦合

内聚与耦合

系统设计

系统设计-面向对象设计-基本过程

面向对象设计

系统设计-面向对象设计–设计原则

  • 单一职责原则:设计目的单一的类
  • 开放-封闭原则:对扩展开放,对修改封闭
  • 李氏(Liskov)替换原则:子类可以替换父类
  • 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不针对实现编程
  • 接口隔离原则:使用多个专门的接口比使用单一的总接口要好
  • 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
  • 迪米特(Demeter)原则(最少知识原则)︰一个对象应当对其他对象有尽可能少的了解

系统设计-面向对象设计–设计模式

  • 架构模式:软件设计中的高层决策,例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策
  • 设计模式:主要关注软件系统的设计,与具体的实现语言无关
  • 惯用法:是最低层的模式,关注软件系统的设计与实现,实现时通过某种特定的程序设计语言来描述构件与构件之间的关系。每种编程语言都有它自己特定的模式,即语言的惯用法。例如引用-计数就是C+语言中的一种惯用法

系统设计–面向对象设计-设计模式

设计模式

分享到:
0

说点儿什么吧

头像

表情

本站由陈大剩博客程序搭建 | 湘ICP备2023000975号| Copyright © 2017 - 陈大剩博客 | 本站采用创作共用版权:CC BY-NC 4.0

站长统计| 文章总数[109]| 评论总数[9]| 登录用户[22]| 时间点[112]

logo

登入

社交账号登录