本章主要是讲一下系统设计,包含了处理流程设计,软件架构设计,结构化设计,面向对象设计,人机界面设计,web应用设计,其中web应用设计也很重要,每年必考,但是选做的!会的就选,不会可以选别的,架构师里常考,处理流程设计和软件架构设计,系分里边就考的少一点,本节先讲处理流程设计跟软件架构设计。
1.处理流程设计1.1业务流程建模
标杆瞄准:以行业领先的标杆企业为目标,结合本企业情况分析建模。
IDEF(一系列建模、分析和仿真方法的统称)。
DEMO(组织动态本质建模法)
Petri网
业务流程建模语言:BPEL、BPML、BPMN、XPDL。
基于服务的BPM:基于Web服务的思想对业务流程进行建模。
注意:IDEF选择题偶尔会考,如下:
IDEF0:业务流程(功能)建模;
IDEF1:信息建模;
IDEF1X:数据建模(如ER模型);
IDEF2:仿真建模设计;
IDEF3:过程描述获取;
IDEF4:面向对象设计;
IDEF5:本体论描述获取;
IDEF6:设计原理获取;
IDEF7:信息系统审计:
IDEF8:用户界面建模;
IDEF9:场景驱动信息系统设计;
IDEF10:实施架构建模;
IDEF11:信息制品建模;
IDEF12:组织结构建模;
IDEF13:三模式映射设计
IDEF14:网络规划
1.2流程表示工具
程序流程图(Program Flow Diagram,PFD)用一些图框表示各种操作,它独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。任何复杂的程序流程图都应该由顺序、选择和循环结构组合或嵌套而成。
IPO图也是流程描述工具,用来描述成软件系统的每个模块的输入、输出和数据加工。
N-S图容易表示嵌套和层次关系,并具有强烈的结构化特征。但是当问题很复杂时,N-S图可能很大,因此不适合于复杂程序的设计。
问题分析图(PAD)是一种支持结构化程序设计的图形工具。PAD具有清晰的逻辑结构、标准化的图形等优点,更重要的是,它引导设计人员使用结构化程序设计方法,从而提高程序的质量。
1.3业务流程重组BPR
BPR是对企业的业务流程进行根本性的再思考和彻底性的再设计,从而获得可以用诸如成本、质量、服务和速度等方面的业绩来衡量的显著性的成就。BPR设计原则、系统规划和步骤如下图所示:
1.4业务流程管理BPM
BPM是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法。
BPM与BPR管理思想最根本的不同就在于流程管理并不要求对所有的流程进行再造。构造卓越的业务流程并不是流程再造,而是根现有流程的具体情况,对流程进行规范化的设计。
流程管理包含三个层面:规范流程、优化流程和再造流程。
真题来了:
1.流程设计的任务是设计出系统所有模块和它们之间的相互关系,并具体设计出每个模块内部的功能和处理过程。以下关于流程设计的叙述,正确的是()。
A.任何复杂的程序流程图都应该由顺序、选择、循环结构构成
B.IPO图不适合用来进行流程设计
C.PAD图是一种支持原型化设计方法的图形工具
D.N-S图容易表示嵌套关系和层次关系,特别适合于设计非常复杂的流程
解析:选择A基本就是概念的掌握了,处理流程设计基本不考,隔几年考个一两分,架构师考的比较多,下半年继续出架构的笔记,感兴趣的可以持续关注。
2.软件架构设计
架构设计就是需求分配,即将满足需求的职责分配到组件上。
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成的描述、构件的相互作用、指导构件集成的模式以及这些模式的约束组成。
软件架构是项目干系人进行交流的手段,明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性。
软件架构使推理和控制的更改更加简单,有助于循序渐进的原型设计,可以作为培训的基础。
软件架构是可传递和可复用的模型,通过研究软件架构可能预测软件的质量。
架构设计的一个核心问题是能否达到架构级的软件复用。
架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。
有五种架构风格如下:
数据流风格:批处理序列(一个一个处理,顺序结构)、管道/过滤器(数据进出管道都要经过过滤器处理,分阶段的数据处理,常见于网络数据处理)。
调用/返回风格:主程序/子程序、面向对象风格、层次结构(与上下两层关系密切)。
独立构件风格:进程通信(构件之间是独立的,通过消息通信)、事件系统。
虚拟机风格:解释器(有虚拟机,可以仿真硬件执行过程,实现解释执行,效率较低,可跨平台)、基于规则的系统。
仓库风格:数据库系统、超文本系统、黑板系统(是一个解决方案的数据库,知识源与黑板进行通信,用于没有确定方案的系统)。
注意:架构风格,偶尔考个一两分,架构师考的比较细。