软件系统设计

目录

1.处理流程设计

1.业务流程重组

2.业务流程管理

3.业务流程重组和业务流程管理的区别

2.人机界面设计

3.结构化设计

1.结构化设计的原则

2.内聚和耦合

4.面向对象设计

1.设计原则

2.设计模式概念

3.设计模式分类

1.创建型模式

2.结构型模式

3.行为型模式


1.处理流程设计

处理流程设计分为业务流程重组和业务流程管理

1.业务流程重组

业务流程重组(BPR)是对业务进行根本性的思考和彻底性的再设计,从而获得成本,质量,效率上面显著性的提升

基本原则:以业务流程为中心,以客户为导向,团队管理以人为本

2.业务流程管理

业务流程管理(BPM),是持续的改进作为手段提高业务效率的系统化方法,包括规范流程,优化流程,再造流程

3.业务流程重组和业务流程管理的区别

业务流程重组是革命性的,业务流程管理不需要对所有流程进行再改造,是对业务流程的持续改进。

2.人机界面设计

原则

  • 置于用户控制之下
  • 保持界面的一致性
  • 减少用户的记忆负担

3.结构化设计

结构化设计的主要任务是在需求分析的基础上,定义满足需求的系统结构。其分为概要设计和详细设计

  • 概要设计是指系统及模块之间的设计
  • 详细设计是指模块内的设计

1.结构化设计的原则

  • 自顶向下,逐步分解
  • 信息隐蔽:函数里面的东西不宜展现给外面,通过接口操作
  • 模块独立(高内聚,低耦合):内聚是模块内各部件联系的紧密程度,耦合是模块与模块之间联系的紧密程度。

2.内聚和耦合

内聚的类型,从高到低

功能内聚,顺序内聚,通信内聚,过程内聚,瞬时内聚,逻辑内聚,偶然内聚

耦合类型,从低到高

非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合

4.面向对象设计

1.设计原则

  • 单一职责原则:设计目的单一的类,类的职责越单一与其他类关联就越少,耦合程度越低。
  • 开闭原则:对修改关闭,对扩展开放,就是我们加功能的时候不要使用修改的方式实现,使用扩展的方式实现。
  • 里氏替换原则:子类可以替换父类,子类在集成父类的时候,父类有的方法子类都有,所以子类可以替换父类,但是如果子类对父类方法进行了重写就不能替换父类,所有里氏替换原则告诉我们不要盲目的对子类进行重写,使用继承时我们需要考虑里氏替换原则,2个类的关系是is-a。
  • 依赖导致原则:依赖于抽象,而不是依赖于具体实现,针对接口编程而不是针对实现编程。依赖于接口的好处是会很灵活,不易受到制约。
  • 组合重用原则:尽量使用组合而不是使用继承达到复用的目的,因为继承是紧耦合关系,父类一变子类就跟着变,防止继承滥用,组合复用就是将已有类的对象纳入新对象中,使之成为新对象的一部分,新对象可以调用已有对象的功能,简而言之就是把需要复用的类当做一个对象引入进来,类的关系是has-a。
  • 接口单一原则:使用多个专一的接口比使用一个总接口要好
  • 迪米特原则(最少知识法则):一个对象要对其他对象尽可能少的了解,就是和信息隐蔽一个意思,知道得越多越可能绕开规则,通过封装实现迪米特原则。

2.设计模式概念

架构模式:软件设计中的高层决策,从整体全局考虑的方案,例如cs/bs架构模式

设计模式:关注软件系统的设计,考虑局部模块的设计,与具体语言无关

惯用法:和语言相关,是最底层的模式,关注某种语言的软件设计和实现。例如C++中的引用-计数。

3.设计模式分类

设计模式分为创建型模式,结构性模式,行为性模式

创建型模式:主要用于创建对象,为设计类实例化新对象提供指南。包含单例模式,抽象工厂模式,工厂方法,原型模式,构造器模式。

结构型模式:用于处理类或对象的组合,为类如何设计以形成更大的结构提供指南。包含配器模式,桥接模式,代理模式,装饰模式,外观模式,组合模式,享元模式。

行为型模式:描述的类或对象的的交互情况和职责分配问题。包含职责链模式,命令模式,解释器模式,中介模式,策略模式,观察者模式,访问者模式,迭代器模式,备忘录模式,模版方法模式,状态模式。

1.创建型模式

  • 单例模式:保证一个类只创建一个实例,并提供一个访问它的全局访问点
  • 抽象工厂模式:提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定具体的类。
  • 工厂方法模式:定义一个创建对象的接口,由子类觉得实例化哪个类,工厂方法模式使得实例化子类的过程推迟。
  • 构造器模式:将一个复杂类的表示与构造分离,使得同样的构建可以创建不同的表示。
  • 原型模式:用原型实例指定创建对象的类型,通过复制原型来创建新的对象。

2.结构型模式

  • 适配器模式:将一个类的接口转换成用户希望的另一种接口,使得原本不兼容的接口得以协同工作,关键词:转换接口。
  • 桥接模式:将类的抽象和实现分离,使得他们得以独立变化。关键词:继承树拆分。
  • 组合模式:将对象组合成树形结构,以表示整体-部分的层次结构。关键词:树形目录结构
  • 装饰模式:动态给类添加额外的职责,它提供了用子类扩展功能的一种灵活方式。比派生一个子类更灵活。关键词:附加职责
  • 外观模式:定义一个高层接口,为子系统的一组接口提供一致的外观,从而简化子系统的使用。关键词:统一对外接口
  • 代理模式:为其他对象提供代理以控制这个类的访问。
  • 享元模式:提供支持大量细粒度对象共享的方法。

3.行为型模式

  • 职责链模式:为请求创建一个接受者对象的链,将请求者和接受者进行解耦。关键词:传递职责
  • 命令模式:将请求封装成一个对象,并将对象传递给调用者,调用者寻找可以处理该命令的合适对象。关键词:日志记录,可撤销。
  • 解释器模式:提供了评估语言的语法或表达式的方式。关键词:SQL 解析、符号处理引擎。
  • 迭代器模式:提供一种顺序访问聚合对象中元素的方法,而不需要暴露该对象的内部表示。
  • 中介者模式:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
  • 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,从而可用在以后将该对象恢复到原先保存的状态。
  • 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
  • 状态模式:允许一个对象在其内部状态改变时改变它的行为。关键词:状态变成类
  • 策略模式:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。关键词:多方案切换
  • 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
  • 访问者模式:主要将数据结构与数据操作分离。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件系统设计是在软件开发过程中非常重要的一步。软件系统设计书(Software System Design Document)是一份详细描述软件系统设计的文档。它包含了关于软件系统的架构、模块划分、功能设计以及相互之间的关系等信息。 软件系统设计书通常由软件架构师和开发团队共同编写。它的目的是为了梳理和明确整个系统的设计方案,从而为后续的开发、测试和部署提供指导。 在软件系统设计书中,首先需要明确系统的需求和目标。然后,根据这些需求和目标,设计系统的各种模块。模块之间的关系、数据流和接口也需要在系统设计书中进行明确描述。 此外,软件系统设计书还应该包含关于系统架构的详细描述。架构是软件系统的核心,它定义了系统的整体结构、组件之间的通信和协作方式。设计师需要根据系统的要求,选择合适的架构模式,并将其细化为具体的组件和模块。 在软件系统设计书中,还应该包含关于系统功能设计的内容。这一部分需要详细描述系统的各种功能和其实现方式。这可以包括使用的算法、数据结构和设计模式等。 最后,软件系统设计书还可以包括其他的内容,如性能指标、安全和可扩展性等方面的设计。这些内容可以帮助评估系统的性能和可靠性,以及为将来的扩展做好准备。 总之,软件系统设计书对于软件开发过程非常重要。它提供了一个详细的设计方案,帮助团队成员理解系统的整体架构和实现细节,促进团队之间的沟通和合作。同时,它也为后续的开发、测试和部署提供了指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值