博客
关于我
软考高级 系统分析师/架构师 笔记:系统分析 系统设计
阅读量:610 次
发布时间:2019-03-13

本文共 1515 字,大约阅读时间需要 5 分钟。

系统设计与流程优化

系统设计

系统设计的核心任务是通过分解和抽象,将复杂的系统需求逐步转化为具体的实现方案。设计过程遵循以下原则:

  • 抽象化:从具体的需求出发,逐步提炼出系统的高层次结构,形成抽象的设计模型。
  • 自顶而下、逐步求精:从系统的整体架构开始设计,逐步细化到各个模块的实现细节。
  • 信息隐蔽:在设计的早期阶段,尽量减少对实现细节的关注,保持设计的灵活性。
  • 模块独立(高内聚、低耦合):确保系统的模块之间通过明确的接口进行通信,避免过度耦合。
  • 概要设计

    概要设计是系统开发过程中至关重要的一步,主要目标是确定系统的总体架构。其核心任务包括:

    • 将系统功能需求分配给各个模块,形成模块结构图。
    • 确定模块之间的调用关系,形成系统结构图。

    在概要设计中,需要注意以下几点:

    • 模块的大小适中:既不能过大导致维护困难,也不能过小影响效率。
    • 减少调用的深度:优化模块之间的通信,避免过深的调用链。
    • 单入口、单出口:提高系统的稳定性和安全性。
    • 模块的作用域明确:确保模块内部的功能不会对其他模块产生不必要的影响。

    详细设计

    详细设计是系统开发的关键环节,主要任务是为每个模块选择适当的技术手段和处理方法。设计过程需要遵循以下原则:

    • 保持模块的独立性:避免模块之间的过度耦合。
    • 处理功能的可预测性:确保模块的行为具有可预测性。
    • 减少对短期记忆的要求:通过合理的设计减少用户的记忆负担。

    处理流程设计

    在处理流程设计中,主要涉及业务流程建模、流程优化以及人机界面设计等内容。

    业务流程建模

    业务流程建模是企业优化管理的重要工具,常用的方法包括:

  • 标杆瞄准:通过对标杆企业的流程分析,确定改进的方向和标准。
  • IDEF模型:提供全面的业务流程建模方法,涵盖从功能建模到数据建模的各个方面。
  • DEMO和Petri网:帮助设计者理解业务流程的动态特性。
  • BPR和BPM:通过业务流程再造和规范化管理,提升企业的业务效率。
  • IDEF0模型的特点是其层次化的设计方式,能够清晰地展示业务流程的架构特性。然而,当业务流程复杂化时,IDEF0模型可能会导致过于复杂的图形化模型,这种情况下需要结合其他方法(如BPM)进行优化。

    人机界面设计

    人机界面设计的目标是创造一个直观、易于使用的用户界面。设计原则包括:

  • 用户控制:让用户能够灵活地进行操作,允许中断和撤销。
  • 减少记忆负担:通过提供直觉性的交互设计和可视化的帮助功能,降低用户的学习成本。
  • 界面一致性:确保用户在使用过程中能够保持对操作的预期。
  • 信息隐蔽:通过合理的信息布局和缺省值设计,避免信息过载。
  • 结构化设计

    结构化设计是系统设计的重要环节,其核心内容包括:

  • 模块划分:通过合理的模块划分,实现系统的高内聚和低耦合。
  • 设计原则:遵循单一职责原则、开放-封闭原则等基本设计原则。
  • 内聚与耦合:通过模块的内聚设计,减少模块之间的耦合,提高系统的可维护性和扩展性。
  • 面向对象设计

    面向对象设计强调对象的封装和抽象,设计原则包括:

  • 单一职责原则:确保每个类只承担一个单一的职责。
  • 开放-封闭原则:对扩展开放,对修改封闭。
  • 李氏替换原则:确保子类能够替换父类。
  • 依赖倒置原则:避免对具体实现类产生依赖。
  • 接口隔离原则:通过多个专门的接口来减少耦合。
  • 组合重用原则:优先通过组合实现功能的重用。
  • 迪米特原则:减少对象之间的耦合。
  • 设计模式

    设计模式是软件设计中的常用方法,主要包括:

  • 创建型模式:如工厂方法、原型模式等,用于对象的创建和管理。
  • 行为型模式:如职责链、命令模式等,用于流程的定义和管理。
  • 结构型模式:如适配器、桥接模式等,用于系统的结构优化。
  • 通过合理的模式选择,可以显著提升系统的可维护性和扩展性。

    转载地址:http://hwbaz.baihongyu.com/

    你可能感兴趣的文章
    MYSQL 幻读(Phantom Problem)不可重复读
    查看>>
    mysql 往字段后面加字符串
    查看>>
    mysql 快速自增假数据, 新增假数据,mysql自增假数据
    查看>>
    Mysql 批量修改四种方式效率对比(一)
    查看>>
    Mysql 报错 Field 'id' doesn't have a default value
    查看>>
    MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
    查看>>
    Mysql 拼接多个字段作为查询条件查询方法
    查看>>
    mysql 排序id_mysql如何按特定id排序
    查看>>
    Mysql 提示:Communication link failure
    查看>>
    mysql 插入是否成功_PDO mysql:如何知道插入是否成功
    查看>>
    Mysql 数据库InnoDB存储引擎中主要组件的刷新清理条件:脏页、RedoLog重做日志、Insert Buffer或ChangeBuffer、Undo Log
    查看>>
    mysql 数据库中 count(*),count(1),count(列名)区别和效率问题
    查看>>
    mysql 数据库备份及ibdata1的瘦身
    查看>>
    MySQL 数据库备份种类以及常用备份工具汇总
    查看>>
    mysql 数据库存储引擎怎么选择?快来看看性能测试吧
    查看>>
    MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
    查看>>
    MySQL 数据库的高可用性分析
    查看>>
    MySQL 数据库设计总结
    查看>>
    Mysql 数据库重置ID排序
    查看>>
    Mysql 数据类型一日期
    查看>>