系统接口设计方法论(系统接口设计原则)

网友投稿 471 2022-12-29


本篇文章给大家谈谈系统接口设计方法论,以及系统接口设计原则对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享系统接口设计方法论的知识,其中也会对系统接口设计原则进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

管理信息系统的开发方法主要有哪几种?开发方式有哪几种

信息系统主要系统接口设计方法论的开发方法包括结构化方法、原型法、企业系统规划方法、战略数据规划方法、信息工程方法和面向对象方法等。

1.结构化方法
结构化方法是由结构化系统分析和设计组成的一种信息系统开发方法。结构化方法是目前最成熟、应用最广泛的信息系统开发方法之一。

结构化方法主要特点介绍如下系统接口设计方法论
开发目标清晰化
工作阶段程式化
开发文档规范化
设计方法结构化

2.原型法
原型法是一种根据用户需求系统接口设计方法论,利用系统开发工具,快速地建立一个系统模型并展示给用户,再此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。

应用原型法开发过程包括系统需求分析、系统初步设计、系统调试、系统检测等阶段。

原型法具有开发周期短、见效快、与业务人员交流方便的优点,特别适用于那些用户需求模糊,结构性比较差的信息系统的开发。

3.企业系统规划方法
企业系统规划方法(BSP,Business System Planning)是企业战略数据规划方法和信息工程方法的基础和。

4.战略数据规划方法
战略数据规划方法的要点主要有:
数据环境对于信息系统至关重要
4种数据环境
建立主题数据库是信息系统开发的中心任务
围绕主题数据库搞好应用软件开发

5.信息工程方法
信息工程方法与企业规划方法和战略数据规划方法是一种交叉关系,即信息工程方法是其他2种方法的总结和提升,而其他两种方法则是信息工程方法的基础和核心。

6.面向对象方法
面向对象方法是对客观世界的一种看法,它把客观世界从概念上看成是一个由相互配合而协作的对象组成的系统。信息系统开发的面向对象方法兴起是信息系统发展的必然趋势。

面向对象的分析方法是利用面向对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法。

软件开发整体方案详解

软件开发整体方案详解

软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。下面是我整理的关于软件开发整体方案详解,欢迎大家参考!

第一章引言

1.1 编写目的

说明编写详细设计方案的主要目的。

说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。

如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。

方案重点是模块的执行流程和数据库系统详细设计的描述。

1.2 背景

应包含以下几个方面的内容:

A. 待开发软件系统名称;

B. 该系统基本概念, 如该系统的类型、从属地位等;

C. 开发项目组名称。

1.3 参考资料

列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。

1.4术语定义及说明

列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。

第二章设计概述

2.1 任务和目标

说明详细设计的任务及详细设计所要达到的目标 。

2.2 需求概述

对所开发软件的概要描述, 包括主要的业务需求、输入、 输出、主要功能、性能等,尤其需要描述系统性能需求。

2.3 运行环境概述

对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。

2.4 条件与限制

详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。

2.5 详细设计方法和工具

简要说明详细设计所采用的方法和使用的工具。如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。

第三章系统详细需求分析

主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。

3.1 详细需求分析

包括:详细功能需求分析、详细性能需求分析、详细资源需求分析、详细系统运行环境及限制条件分析

3.2 详细系统运行环境及限制条件分析接口需求分析

包括:系统接口需求分析、现有硬、软件资源接口需求分析、引进硬、软件资源接口需求分析

第四章 总体方案确认

着重解决系统总体结构确认及界面划分问题。

4.1 系统总体结构确认

对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结构变化。包括:系统组成、逻辑结构及层次确认、应用系统结构确认、支撑系统结构确认、系统集成确认、系统工作流程确认

4.2 系统详细界面划分

4.2.1 应用系统与支撑系统的详细界面划分

应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。

4.2.2系统内部详细界面划分

系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。

第五章 系统详细设计

5.1 系统结构设计及子系统划分

对系统的组成及逻辑结构进行设计前确认。

划分系统功能模块或子系统(如果有或者有必要,特别是大型的软件系统)。

5.2 系统功能模块详细设计

按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。此为详细设计的主要部分之一。

用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。 以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。

详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。

每个模块的描述说明可参照以下格式:

模块编号:

模块名称:

输入:

处理:

算法描述:

输出:

其中处理和算法描述部分主要采用伪码或具体的`程序语言完成。

对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。

如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。

5.3 系统界面详细设计

系统界面说明应用系统软件的各种接口。整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明。

5.3.1 外部界面设计

根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。

5.3.2 内部界面设计

设计系统内部各功能模块间的调用关系和数据接口。

5.3.3 用户界面设计

规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。此部分内容可能比较多。

第六章 数据库系统设计

此数据库设计可单独成册,尤其对大型的数据库应用系统,即有一个单独的《数据库设计说明书》。

6.16.1 设计要求

6.26.2 信息模型设计

确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系, 详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。

6.3 数据库设计

6.3.1 设计依据

说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据。

6.3.2 数据库种类及特点

说明系统内应用的数据库种类、各自的特点、数量及如何实现互联,数据如何传递。

6.3.3 数据库逻辑结构

说明数据库概念模式向逻辑模式转换所采用的方法论及工具,完成数据库概念模式向逻辑模式的转换。 详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。此节内容为数据库设计的主要部分。

6.3.4 物理结构设计

列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包括: 数据在内存中的安排,包括对索引区、缓冲区的设计; 所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;访问数据的方式方法。

6.3.5 数据库安全

说明数据的共享方式,如何保证数据的安全性及保密性。

6.3.6 数据字典

编写详细的数据字典。 对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。

第七章 非功能性设计

第八章 环境配置

开发。测试、运行环境

;

什么是系统架构设计?

定义:

一个软件随着功能越来越多系统接口设计方法论,整个软件系统逐渐碎片化,如果不采取有效措施,软件系统就会越来越无序,最终无法维护和扩展。

所以说软件在一段时间系统接口设计方法论的生长后,就需要及时干预,避免越来越无序,架构的本质就是对软件系统进行有序化重构,使软件系统不断进化。

扩展资料:

系统构架是对已确定的需求的技术实现构架、作好规划,运用成套、完整的工具,在规划的步骤下去完成任务。

抽象来说,它是计算机系统结构,或称计算机体系结构,是一个系统在其所处环境中最高层次的概念;它确定一台计算机硬件和软件之间的衔接。

具体地说计算机体系结构指的是计算机系统设计的观念与架构,描述计算机在实做的设计原则。

它确定一个计算机设计的部件功能 ,部件间接口 并且计算机体系结构着重于“负责了计算机架构的中心功能:计算”的中央处理器内部的运行动作与存储器的访问。

参考资料:百度百科:系统构架

什么是系统架构师-如何成为系统架构师

什么是系统架构师-如何成为系统架构师

系统架构师是在某一个技术领域有深刻专研的技术达人?还是在技术面上涉猎广泛的通才?抑或有个五六年的工作经验之后就自动变成系统接口设计方法论了“架构师”?相信下面的文章对系统接口设计方法论你的疑惑有所帮助!

新入门或没有架构设计经验的程序员刚开始的时候会有种不知所措的感觉,但其实架构设计是件很容易的事,它只是软件系统开发中的一个环节而已,整个软件系统的开发和维护以及变更还涉及到很多事情,包括技术、团队、沟通、市场、环境等等。

虽然架构设计是件容易的事情,但也不是大多数没有架构设计经验的程序员想象中的画画框图那么简单。把几台服务器一摆,每一台服务器运行什么软件分配好,然后用网络连接起来,似乎每个企业级应用都是如此简间单单的几步。

但现实生活中的软件系统实实在在可以用复杂大系统来形容,从规划、开发、维护和变更涉及到许许多多的人和事。架构设计就是要在规划阶段都把后面的事情尽量把握进来,要为稳定性努力,还要为可维护性、扩扩展性以及诸多的性能指标而思前想后。除了技术上的考虑,还要考虑人的因素,包括人员的组织、软件过程的组织、团队的协作和沟通等。

另外,架构设计还需要方法论的指导。这些方法论的思路包括,至上而下的分析,关注点分离,横向/纵向模块划分等。

有时候觉得架构设计决策就像是浏览Google Earth,实际上反映的是一种自上而下的决策过程。对问题的分解是软件思维的基本素质,可以有横向分解、纵向分解以及两者的结合。能不能有效快速准确的分解问题,是软件开发人员需要首先训练的项目。

另外,架构设计中图形化的工具非常有用,它能把系统的结构和运作机制以图形化的方式表达出来。也正因为这样才有了架构设计就是画框图的误会。再者,架构设计是一个工程性质的工作,对当事人的实际从业经验要求较高。只有对市场上的各种技术有较全面的了解之后才有可能设计出一个尽可能满足各种设计约束的架构。

在架构师需要具备的能力上,架构师首先必须具有丰富的开发经验,是个技术主管。因为系统接口设计方法论他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。

另外,需要对面向过程、面向对象、面向服务等设计理念有深刻的理解,可以快速的察觉出实现中的问题并提出相应的改进(重构)方案(也就是通常说的反模式)。这些都需要长期的开发实践才能真正的体会到,单从书本上很难领会到,就算当时理解了也不一定能融会到实践中去。

在技术能力上,软件架构师最重要也是最需要掌握的知识是构件通信机制方面的知识,包括进程内通信(对象访问、函数调用、数据交换、线程同步等)以及进程外(包括跨计算机)的通信(如RMI、DCOM、Web Service)。

在WEB应用大行其道的今天,开发者往往对服务器间的通信关注的比较多,而对进程内的通信较少关注。进程外跨机器通信是构建分布式应用的基石,它是架构设计中的鸟瞰视图;而进程内的通信是模块实现的骨架,它是基石的基石。如果具体到一个基于.Net企业级架构设计,首先需要的是语言级别的认识,包括.NET的CLR、继承特性、委托和事件处理等。

然后是常用解决方案的认识,包括ASP.NET Web Service、.NET Remoting、企业服务组件等。总之,丰富的开发实践经验有助于避免架构师纸上谈兵式的高来高去,给代码编写人员带来实实在在的可行性。

其次,具有足够的行业业务知识和商业头脑也是很重要的。行业业务知识的足够把握可以给架构师更多的拥抱变化的能力,可以在系统设计的时候留出一些扩展的余地来适应可能来临的需求变化。

有经验的设计人员可能都碰到过这样的事,一厢情愿的保留接口在需求变化中的命中率非常低。也就是说,在系统设计之初为扩展性留下来的系统接口没能在需求变化的洪流中发挥真正的作用,因为需求的变化并没有按照预想的方向进行,到最后还是不得不为变化的业务重新设计系统。

这就是因为对业务知识的理解和对市场或者商业的判断没有达到一个实用的、可以为架构扩展性服务的水平。

再次,架构设计师对人的关注必须提升到架构设计之初来纳入考虑的范围,包括沟通以及对人员素质的判断。软件过程是团队协作共同构建系统的过程,沟通能力是将整个过程中多条开发线粘合在一起的胶水。

大家都应该碰到过事后说“原来是这样啊,我不知道啊”或者某个开发人员突然高声呼喊“为什么这里的数据没有了”之类的。沟通的目的就是尽量避免多条开发线的混乱,让系统构建过程可以有条理的高效进行。

另外,对人的关注还表现在对团队成员的素质判断上,比如哪些开发人员对哪些技术更熟悉,或者哪些开发人员容易拖进度等。只有合理的使用人力资源,让合适的人做合适的事情才能让整个软件过程更加高效。

另外,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法、开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。

但对新技术的探索应该在一个理性的`范围内进行,不能盲目的跟风。解决方案提供商永远都希望你能使用它提供的最新技术,而且它们在推广自己的解决方案的时候往往是以自己的产品为中心,容易给人错觉。比如数据库,往往让人觉得它什么都能做,只要有了它其它什么都不重要了。

但事实上并不是如此,对于小型应用可以将许多业务逻辑用script的方式放入数据库中,但很少看到大型应用采用这样的做法。对于新东西需要以一种比较的观点来判断,包括横向的比较和纵向的比较,最后得出一些性能、可移植性以及可升级等指标。

另外,新入行的开发人员往往关心新技术动向而忽略了技术的历史,而从DOS时代一路杀过来的开发者就对现在的技术体系有较全面的把握。

构架师不是通过理论学习可以搞出来的,不学习并且亲自实践相关知识肯定是不行的。就像前面说到的,架构设计是一个工程性质的事情,只有在不断实践的基础上才能逐渐熟悉起来。

实践的内容并不是去深挖各种语言的特性,因为系统架构师是设计应用系统架构而不是设计语言(除非你是要实现DSL)。更多的时候需要带着一种比较的眼光去实践,把不同的实现方式下的优缺点做个总结,做到自己心里有数,等具体的上下文环境下才好判断采用什么样的方式方法。

把基础打牢的同时掌握一定的方法,架构设计不是想象中的那么难。 ;

让你彻底理解系统,系统思维和复杂系统的设计(一)

前 言 :

这个世界有些系统是由人类构建的,比如手机APP,国家的金融系统,半导体设备,春运高铁调度系统等,有些是经过社会发展或自然演化而形成的,比如大脑的结构,黑猩猩的部落种群系统等,倘若没有一套分析它们的的原则,方法和工具,普通人认识世界是非常粗糙和混沌的,专业人士正是由于掌握了系统方法论而更能够触摸到世界的本质。本系列文章分别从1,什么是系统和系统思维;2,从形式和功能之间的映射关系来分析系统架构;3,如何创建良好的的系统这三个主题,由浅入深的把这个话题说个透!保证比96.68%的大学老师讲的更清楚哈。(2017.3.28补充下思维导图)
系统定义 :系统是由一组实体和这些实体之间的关系所构成的集合,其功能要大于这些实体各自的功能之和。

这个定义体现了两个重点:

1,系统是由相互作用的或相互联系的实体所构成的。(实体,也可称部件,用来构成系统的各个小模块)

2,实体之间发生相互作用时会出现新的功能,新的功能不同于那些单个实体所具备的功能。

根据重点1,我们可以确定A,如果某物是一个连贯的整体,那它就不是系统。比如一块砖(宏观层面上),因为它不包含实体,但一面墙却可以构成一个系统,因为它包含实体(许多砖块和砂浆)以及关系(负载,粘合以及几何关系)。B,有实体但实体之间无关系也不构成系统,例如西湖的水和印度的一对情侣,他们不构成系统。

与系统密切联系的另外两个概念是架构(architecture)和系统思维(system thinking),架构就是对系统中的实体及实体之间的关系做的抽象描述,你可以用文字,流程图,思维导图等简洁直观的表达出来。而系统思维就是把某个现象或某个问题明确视为一个系统,进而来分析它。系统思维与其他思维并列,例如批判思维(评估或质疑某个说法的有效性),分析思维(根据一套规律或原则进行分析),创新思维(从0到1或组合现有的创造新产品或想法)等。一位牛逼的思考者(掌握数学,工程,物理,生物,心理,历史经济等学科最重要的100种实用模型,以后我会整理这100个模型哈)能够依据现实灵活使用各种思维模式进行思考和验证可行性(这就是认知,cognition),如果他还能意识到自己当前正在使用的是哪一种思维模式(这是元认知,meta-cognition)。

根据重点2,系统之间发生相互作用,产生新的功能,我们称之为涌现(emergence),我们之所以要构建系统,就是为了得到令人满意的涌现物或者功能(系统所做的事情,也就是它动作和输出)。但有时候系统也会出现我们不可预料也不合人意的涌现物。用微信做例子:

对微信涌现出的功能进行分类

系统架构第一条原则就是涌现原则,除了功能之外,系统还会涌现性能,可靠性,可维护性,安全性等等。当各实体拼成一个系统时,实体之间的交互会把功能,性能和其他内在属性涌现出来,我们要思考并设计出合乎我们预期的涌现和控制意外的涌现属性。

总结:

1,实体之间的交互会生成涌现物,系统的价值是由涌现物所赋予的。

2,涌现的结果,使得变化以无法预测的方式进行传播。比如微商。

3,能够涌现出预期属性的系统,是成功的系统,不能够涌现出来预期属性或意外涌现出不良属性的系统,是失败的系统。

形式与功能

系统同时具备形式(form)与功能(function)这两个特征。形式说的是系统是什么样子,一般是以物质载体或信息载体呈现的。尽管形式本身不是功能,但系统若想表现出功能,则必须具备一定的形式。

功能描述的是系统能够做什么,功能需要以形式为手段展现,功能比形式抽象一点,因为功能涉及转变;功能是由过程(process)和操作数(operand)组成的,过程,是功能中表示动作或转换的那一部分,也就是改变操作数状态;操作数,是其状态会在过程中发生改变的事物。每个由人类所构建的系统,都需要用某种形式的工具来承载功能,也都具备某一过程和某个有人类主观价值的操作数,系统存在的意义就体现在这个操作数的变化上。

形式和功能的区别,可以用商品与服务来说明。商品是有形的产品(可以将其称为形式),而服务则相对较为无形,且更是面向过程的产品(可以称之为功能)。每个系统都可以作为形式来出售,形式通过表现功能而体现价值,同时系统也可以作为功能(或称为服务)来出售,功能借助形式来发挥价值。

总结:

每种系统都具备形式,过程与操作数这三项特征。MIT有个伟大的语言学家叫乔姆斯基,他提出过转换文法(transformational grammar)的概念,他认为所有人类的自然语言都具备一种深层结构:第一部分是一个名词,充当执行动作所用的工具(可称之为形式),第二部分是一个动词,用来描述该动作(可称之为过程),第三部分是一个名词,用来代表动作的对象(称之为操作数),无论哪一种人类语言,其基本单位都是句子,句子恰好有两个名词,一个动词。因为这种“名词—动词—名词”格式的模型,或者说“工具—过程—操作数”格式的模型,要么是所有系统均具备的基本模型,要么就是人脑在理解任何一种系统都要采用的思维模式!把自然语言句子单元抽象出来的结构(名词—动词—对象)与系统三特征(作为工具的形式—过程—操作数)是惊人的相似!可见大道至简,真理太伟大了!

步骤一得出了系统本身可以视为具有某种形式与功能的“大”实体,步骤二则把系统分解成多个实体,再分别确定每个实体的形式和功能,以及系统边界和系统所处环境的问题。

具备形式与功能的实体

我以微信朋友圈为例:
表中最右侧的列是朋友圈系统的形式,倒数第二列是系统的形式所分解(decomposition)而成的各个组成部分实体的形式,同理,各个实体的形式也可以聚合(aggregation)成系统的形式,分解与聚合互为可逆操作。

表中间两列描述了实体形式和实体功能之间的一一映射(mapping)关系,第一列是系统所具备的功能,第二列是系统的功能可以细分(zooming)成各个组成部分实体的功能,同理,各个实体的功能也可以组合成系统的功能,这就是系统设计者所要追求的的涌现效果。

运用系统思维,我们可以从系统的功能入手,对其进行细分,也可以从形式入手,对其进行分解,在现实世界中,有大到宇宙系统,小到夸克层面的系统,难道没有比夸克更小的系统了吗?为了避免这些问题,在实际工作中,我们应该选出恰当的系统边界,使得自己可以把系统思维运用到最为重要的部分上,系统思考者需要解决5个问题:

1,确定如何将系统初步分解为恰当的实体。

2,用整体思维找出潜在的实体。

3,重点分析,把关注点集中到关键的实体上。

4,把实体抽象出来,找出它的本质。

5,定义系统的边界,并将其与外界环境隔开。

解决问题1,确定如何将系统初步分解为恰当的实体。

几乎所有的系统都可以分为三类,第一类系统是由互不相同的元素所组成的系统,这类系统由界限清晰的实体组成,其分解方式自然是明确的。比如互联网团队可分解为产品技术部,运营部,市场部以及职能部门;太阳系可分解为太阳,行星以及其他小星体。

第二类系统是以模块化组成的,各模块之间(尤其是功能上)相对较独立,关系较弱,而模块内部之间的联系密集。比如放大器电路系统,可分解为输入端,电阻,放大器,输出端,电线等;微信大致可分解为对话列表,通讯录,朋友圈,个人信息等。

第三类是集成系统,这类系统很难再不影响功能的前提下进行简单的分解,它们通常是内部高度互联的系统。例如汽车的转向装置系统,其各个组件(轮胎,方向盘,悬吊,转向齿轮和驾驶杆)就是紧密联系的,而且其中有些部件同时又是其他系统的(行驶质量系统,传动系统)的组成部分。机械元件和集成电路都是属于集成系统。这类系统你得去图书馆借本书学习了,有些还是保密的核心技术。这类系统暂不考虑。

解决问题2,用整体思维找出潜在的实体

整体论强调的是整理理念(和还原论完全相反,还原论是个啥?哈哈,我就不告诉你),它从整体上把握事物之间的紧密联系,思维着力于整体。每个系统都可作为某一个或几个大的系统的一部分而运作,同时,每个系统也都包含着更小的一些系统,用整体论来思考这些关系,才好设计出与上级系统,下级系统和平级系统相协调的架构。

解决问题3,重点分析,把关注点集中到关键的实体上。

通过整体思维,发现了与系统有关的各种实体,现在则需要聚焦,筛选,把真正重要的实体找出来,在聚焦过程中,关键是把当前的状况和疑问确定下来,并把其中的关键点优先级提高。这个过程中可以问自己几个问题,对当前利益相关者(或称之核心用户)的核心功能是什么?这功能是否满足预期的设计目标?然后综观实体,这个实体所表达的功能对我的目标是否重要?根据人的认知能力,核心关注点不要超过7个。

解决问题4,把实体抽象出来,找出它的本质。

抽象是一种“只含本质不含细节的”表述,创建有效的抽象,可以把实体有关的重要细节凸显出来,同时又把当前不需要考虑的那些细节与复杂问题隐藏起来。比如在一个互联网团队中,本来是一个个复杂的人,可抽象成分工明确的部门;人体的血液循环系统,可以把心脏抽象成简单的泵。创建抽象机制的指导原则可以总结成下面四条:

1,针对形式和功能创建抽象时,要把重要信息凸显出来,把不重要的细节隐藏起来。

2,要创建在实体与实体间发生功能交互关系中得以表现出来的抽象。(见步骤三)

3,在适当的层面进行分解或聚合,并于该层面进行抽象。

4,在有效表达系统核心功能的前提下,创建尽可能少的抽象以降低系统的复杂度。

解决问题5,定义系统的边界,并将其与外围环境隔开

在现实中,我们一般都会把系统局限在某个范围之内,理由有两点,一是人类处理问题的能力有限而无法应对无限的实体;二是人类的主观价值判断而觉得没必要把系统范围延伸。在划定系统边界时要考虑以下几个问题:

1,把目标设定需要分析的实体包括进来。

2,系统边界符合规章或者法律制度的要求。

3,遵守第三方的接口定义或标准。

根据定义,系统是由实体及其关系组成,而实体具备形式和功能的特征,那么这些关系可以按照特征分为功能关系和形式关系。

功能关系(或称之为交互关系)是指实体与实体之间对某物的操作,运输或交换的关系,在交互过程中,相关的实体可能会交换操作数,也可能协同对操作数执行操作。比如一个ERP系统中的客户管理实体的信息输入到生产管理实体中;

形式关系,是实现功能关系的载体,通常体现为连接关系(物质连接,社会关系连接或者bit连接)。比如肺与心脏通过血管等连接;

如果是系统内的某些实体与系统外的实体发生形式关系或者功能关系,这种关系通过接口的形式发生数据的交换。

系统的形式领域不会发生涌现,把部件A和部件B拼接起来后,形式领域内只能得到A+B,是“线性的”;然而在功能领域,功能A加上功能B,结果复杂的多,可能会得到预期的C,D等和意想不到的E,F等。系统思维的重要目标就是努力预测涌现物以及涌现物带给系统强大的能力。系统的涌现物依赖于系统的功能,功能依赖于形式,这就意味着可以通过形式,预测系统的涌现物。比如通过合理移动杠杆的支点,可涌现出“四两拨千斤”的效果;早期陌陌APP的产品经理把位于男屌丝50公里的绿茶婊定位在男屌丝的50米处,涌现出了男性用户的慕名使用。支点的位置,软件的数值聪明的显示等影响系统的涌现功能。

由于系统思维就是把某个现象或问题明确视为一个系统,进而来分析它。因此我可以把系统的基本特征与系统思维的分析步骤一一对应起来。

在宏观层面上,系统思维的目标是令我们能分解复杂的系统,抽象出系统的本质来理解它的意义;其次系统思维的目标是预测系统的某部分形式改变后涌现物的的变化;更高级的目标是帮助系统决策者更好地判断,权衡,用系统思维分析形式和功能的优先级和利益相关者的利益点在哪里,如何合理的解决各方利益的先后顺序,这种解决方案又如何应对将来的变化;神级的目标是创造划时代的系统产品,某社交APP为了推广支付工具而创造的**功能比另一支付APP节省了过亿推广费而且几天的使用推广达到了对手十年之功,这就是神级产品的神级功能。 关于系统接口设计方法论和系统接口设计原则的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 系统接口设计方法论的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于系统接口设计原则、系统接口设计方法论的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot整合Elasticsearch7.2.0的实现方法
下一篇:三星电视接口测试工具下载(三星平板检测软件)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~