软考系统架构设计师(一):系统设计
2023-06-13 09:15:30 时间
系统设计-人机界面设计
黄金三法则
置于用户控制之下
- 以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式
- 提供灵活的交互
- 允许用户交互可以被中断和撤销
- 当技能级别增加时可以使交互流水化并允许定制交互
- 使用户隔离内部技术细节
- 设计应允许用户和出现在屏幕上的对象直接交互
减少用户的记忆负担
- 减少对短期记忆的要求
- 建立有意义的缺省
- 定义直觉性的捷径
- 界面的视觉布局应该基于真实世界的隐喻
- 以不断进展的方式揭示信息
保持界面的一致性
- 允许用户将当前任务放入有意义的语境
- 在应用系列内保持一致性
- 如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它
系统设计-软件设计
软件设计包括体系结构设计、接口设计、数据设计和过程设计。
- 结构设计:定义软件系统各主要部件之间的关系。
- 数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性。
- 接口设计(人机界面设计)︰软件内部,软件和操作系统间以及软件和人之间如何通信。
- 过程设计:系统结构部件转换成软件的过程描述。
系统设计-结构化设计
概要设计【外部设计】︰功能需求分配给软件模块,确定每个模块的功能和调用关系,形成模块结构图
详细设计【内部设计】∶为每个具体任务选择适当的技术手段和处理方法
结构化设计原则:
- 模块独立(高内聚、低耦合)
- 保持模块的大小适中
- 多扇入,少扇出
- 深度和宽度均不宜过高
模块的四个要素
- 输入和输出。模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那儿取得输入,进行加工后再把输出返回调用者。
- 处理功能。指模块把输入转换成输出所做的工作。
- 内部数据。指仅供该模块本身引用的数据。
- 程序代码。指用来实现模块功能的程序。
内聚 && 耦合
系统设计
系统设计-面向对象设计-基本过程
系统设计-面向对象设计–设计原则
- 单一职责原则:设计目的单一的类
- 开放-封闭原则:对扩展开放,对修改封闭
- 李氏(Liskov)替换原则:子类可以替换父类
- 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不针对实现编程
- 接口隔离原则:使用多个专门的接口比使用单一的总接口要好
- 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
- 迪米特(Demeter)原则(最少知识原则)︰一个对象应当对其他对象有尽可能少的了解
系统设计-面向对象设计–设计模式
- 架构模式:软件设计中的高层决策,例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策
- 设计模式:主要关注软件系统的设计,与具体的实现语言无关
- 惯用法:是最低层的模式,关注软件系统的设计与实现,实现时通过某种特定的程序设计语言来描述构件与构件之间的关系。每种编程语言都有它自己特定的模式,即语言的惯用法。例如引用-计数就是C+语言中的一种惯用法
系统设计–面向对象设计-设计模式
相关文章
- 架构:第六章:系统架构
- cs与bs架构_cs架构和bs架构的应用
- 物联网网络架构_物联网技术有哪些
- 《前端Serverless:面向全栈的无服务架构实战》-- 1.Serverless综述(笔记)
- 一文了解高性能架构和系统设计经验
- 设计一个秒杀系统架构
- 分布式AI集群服务器架构
- 如何基于DDD构建微服务架构
- 【愚公系列】2023年04月 Java面面刷题系统-001.项目架构和(企业、部门、用户)
- Spark学习笔记5:Spark集群架构详解大数据
- 架构Oracle:靠它实现系统无忧(oracle靠靠靠)
- 提升业务效率:基于Oa系统的MySQL架构(oa系统mysql)
- Linux系统的多元分支架构(linux的分支)
- OpenStack 架构 – 每天5分钟玩转 OpenStack(15)
- 专访清微智能尹首一:理想的计算应该是架构随着软件变
- SQL Server多网卡架构的优势及应用(sqlserver多网卡)
- 基于 C 三层架构的 Mysql 架构设计(c 三层架构 mysql)
- MySQL8高效稳定运行于 arm 架构中(arm架构mysql8)
- 利用Redis简化系统架构,优化二级缓存性能(用redis做二级缓存)
- 架构SSM与Redis主从架构实现高可用系统(ssm redis 主从)
- Redis集群实现高可用的架构(redis集群高可用架构)
- 重构系统运维以Redis为核心的新架构(redis 运维框架)