建模目的的总结,欢迎讨论
0 106

建模使用记号来创建模型,以识别问题,加深及共享对问题的额理解。另外,将系统或业务从不同视点分别进行建模,有助于将复杂的问题进行简化以使人们更容易理解。

人与人之间的认识统一 

参与软件系统开发的人可以主要分为使用软件系统的“用户”和开发软件的“工程师”,人与人之间的认识统一又可分为用户与工程师间的认识统一和,工程师之间的认识统一

  • 用户与工程师之间的认识统一
    在软件开发中,业务需求和系统实现之间存在很大差距。
    如果作为工程师的您正在编写的是自己使用的软件,那可能并非如此。但是,如果您是根据不了解软件开发的用户的要求开发软件,那么这个差距当然会非常大。
    用于填补这一空白的技术就是“模型”。调整模型以填补用户需求和工程师实现之间的差距。
  • 工程师之间的认识统一
    非常小的软件可能由一个人创建,但在大多数情况下,它将是团队协作的成果,有些大项目甚至可能同时有成百上千的工程师进行参与。
    不同的工程师分别负责分析,设计,实施,测试等不同的工作,所以工程师之间需要通过模型来分享对软件系统的理解和认识。

 复杂的事物简单化 

业务和系统通常都很复杂,人们很难一下子就整个的把握它们。
从不同视点分别进行建模,可以简化业务和系统,使其易于理解。当然,业务和系统本身并没有变得简单,简化的只是所关注的视点部分。

0 106
() 全部评论
所有回复 (0)

推荐总结

  • 模型可以有很多种分类方法,例如:

    标记方法 建模对象 领域 静态还是动态 逻辑还是物理

    本文试图对模型的分类做一个体系化的总结,欢迎讨论。

    按标记方法分類

    常见的模型标记方法有:

    UML
    Unified Modeling Language 統一建模语言BPMN
    Business Process Modeling Notation 业务流程建模标记法ERD
    Entity-Relationship Diagram 实体关联图
    标记方法有:IDEF1X和IE标记DFD
    Data Flow Diagram 数据流程图
    标记方法有:Yourdon&Coad记法和Gane&Sarson记法(只有4个符号)FlowChart 
    流程图
    标记方法有:JIS. X. 0128. -1988

     

    按建模对象分类

    按建模的对象,模型可以分类如下:

    No.対象UML2.0BPMNERDDFD流程图1业务逻辑活动图
    用例图
    通信图
    类图
    ○○○○2组织结构类图 配置图×○××3数据类图
    ×○××4系统组件图
    包图
    类图
    对象图
    配置图
    活动图
    时序图
    通信图×○○○5程序类图
    组合结构图
    ×○○○ 按领域分类

    模型可以分为「问题域(problem domain)」模型和「解答域(solution domain)」模型两大类。

    问题域模型 
    对「做什么(what)」进行建模 解答域模型 
    对「怎么做(how)」进行建模

    问题域模型和解答域模型根据其目的还可进一步细分:

    问题域模型:  

    领域分析模型
    对现实世界进行建模的模型。 要求分析模型 
    对需求(想做的事情)进行建模的模型。

    解答域模型:

    系统分析模型 
    不依赖于编程语言或执行环境等实现方法,对IT系统的根本解决方案进行建模的模型, 设计模型 
    基于某个确定的运行环境和程序语言为前提,对实现方法进行建模的模型, 実装模型 
    具体编程语言的实现。 按静态/动态分类

    模型可以分为静态模型和动态模型。

    静态模型 
    描述静态结构的模型。 动态模型 
    描述动态行为的模型。

    No.区分UML2.0BPMNERDDFD流程图1静态模型类图
    组合结构图
    组件图
    部署图
    对象图
    包图×○××2动态模型活动图
    用例图
    状态机图
    交互概览图
    顺序图
    通信图
    时序图○×○○ 按逻辑/物理分类

    模型可以分为逻辑模型和物理模型。

    逻辑模型 
    逻辑模型是存在于概念或程序中的对象的模型。。物理模型 
    物理模型是文件,节点等物理存在的对象的模型。 No.区分UML2.0BPMNERDDFD流程图1静态模型类图
    组合结构图
    组件图
    部署图
    对象图
    包图×○××2动态模型活动图
    用例图
    状态机图
    交互概览图
    顺序图
    通信图
    时序图○×○○ No.区分UML2.0BPMNERDDFD流程图1逻辑模型类图
    ○○○○2物理模型组件图 部署图 其他○○○○
  • 网络有着各种各样的分类方法,本文力求对网络的分类方法做个体系化的总结,欢迎讨论。

    在这里,笔者首先将网络按物理网络和互联网络分开,分别进行分类。

    物理网络的分类

    物理网络对应于OSI参考模型的物理层和数据链路层,按照覆盖的地理范围进行分类,可以分为局域网、城域网和广域网三类。

    局域网(LAN)

    局域网(LAN,Local Area Network)一种在小区域内使用的的网络。覆盖范围通常局限在10 千米范围之内,属于一个单位或部门组建的小范围网。
    局域网按通信协议又可分为:

    有线局域网 以太网(Ethernet) 
    以太网是当前应用最普遍的局域网技术,取代了其他局域网标准如令牌环、FDDI等,说起有线局域网,一般指的都是以太网 令牌环网(Token-ring network) FDDI 无线局域网 Wi-fi 城域网(MAN)

    城域网(MAN,Metropolitan Area Network)基本上是一种城市范围的大型局域网,属宽带局域网。
    MAN单独列出来的一个主要原因是已经有个一个标准:分布式队列双总线DQDB即IEEE802.6.

    广域网(WAN)

    广域网(WAN,Wide Area Network)也称远程网,通常跨接很大的物理范围,多用于互联网络的骨干网络。
    广域网由许多交换机组成,交换机之间采用点到点线路连接,按通信协议又可分为:

    ・HDLC(High level DataLink Contorol)
    ・PPP(Point-to-Point Protocol)
    ・X.25
    ・Frame Delay
    ・ATM

    互联网络的分类

    互联网络(internetwork)是指由多个物理上互相独立的计算机网络通过路由器基于网际协议(internet protocal)互连而成的计算机网络,另外互联网络之间互联又可构成一个更大的互联网络。  

    互联网络对应于OSI参考模型的第3层:网络层,互联按范围和所属可分为三大类:

    内部网(Intranet) 
    内部网是由单个管理实体(例如企业,政府机构)管理的内部网络,通常,它无法从外部访问。 外联网(Extranet) 
    外联网是由多个内部网外联而成的内部网络。 因特网(Internet,更多的被称为互联网(广义),国际互联网) 
    因特网是一个全球范围的公共互联网络,它基于美国国防部ARPA开发的ARPANET,它也是万维网的基础,在西方,它用大写字母“I”写成“互联网”,以区别于其他互联网络。
  • 建模语言 91 0 1 发布

    建模的基本方法包括分类,分段和分层。这也是人类认识世界的基本方法。

     分类  

    分类是按照种类、等级或性质等一定的基准,对事物进行分别归类和体系化管理。
    例如企业的人事系统、一般会将员工按照职位分成普通员工、部门经理等等。

    分解

    分解是将复杂的系统划分为更简单的功能和子系统组件,分别进行分析、设计及实现。

    分层 分层、将系统分成相互独立的多个层次,分别进行分析、设计及实现。
    分层模型比比皆是,例如:
    网络的OSI七层模型信息系统推荐的三层架构(数据访问层、业务逻辑层(又或称为领域层)、表示层)

热门总结

  • HTML5 17041 0 1 发布

    本目录收录的是电子邮件相关的应用软件。


    定义

    电子邮件(Email)又称电子邮箱,简称电邮,是指一种由一寄件人将数字信息发送给一个人或多个人的信息交换方式,目的是达成发信人和收信人之间的信息交互。

    电子邮件系统是以存储与转发的模型为基础,邮件服务器接受、转发、提交及存储邮件。寄信人、收信人及他们的电脑都不用同时在线。寄信人和收信人只需在寄信或收信时简短的连接到邮件服务器即可。

    范围

    本目录收录的软件仅限于以电子邮件为主要功能(或之一)的应用软件。

    列表

    本目录收录了以下软件:

     RainLoop

    简单的、 现代的 & 快速、 基于 WEB 的电子邮件客户端。

    以下是 RainLoop 各相关链接及授权信息的介绍:

    官网(HP)
    https://www.rainloop.net/源代码(Source)
    https://github.com/RainLoop/rainloop-webmail授权(License)
    AGPL 3.0范例(Example)
    https://mail.rainloop.net/#/mailbox/INBOX

  • HTML5 16632 0 1 发布

    本目录收录的是即时通信相关的应用软件。

     定义

    即时通信(Instant Messaging,IM)是一种通过网络进行实时通信的系统,允许两人或多人使用网络即时的传递文字消息、文件、语音与视频交流。

    即时通信不同于电子邮件在于它的交谈是即时(实时)的。大部分的即时通信服务提供了状态信息的特性──显示联系人名单,联系人是否在在线与能否与联系人交谈等等。

    范围

    本目录收录的软件仅限于以即时通信为主要功能(或之一)的应用软件。

    列表

    本目录收录了以下软件:

    CandyConverse.jsKaiwaRocket.Chat

    Candy

    Candy是一个支持XMPP协议的多用户即时聊天客户端软件。

    以下是 Candy 各相关链接及授权信息的介绍:

    官网(HP)
    http://candy-chat.github.io/candy源代码(Source)
    https://github.com/candy-chat/candy授权(License)
    MIT范例(Example)

    Converse.js

    Converse.js是一个支持XMPP/JABB的多用户即时聊天客户端软件。

    以下是 Converse.js各相关链接及授权信息的介绍:

    官网(HP)
    http://conversejs.org源代码(Source)
    https://github.com/jcbrand/converse.js授权(License)
    MPL范例(Example)
    https://conversejs.org/demo/anonymous.html

    Kaiwa

    Kaiwa 是一个支持XMPP的即时聊天客户端软件。

    以下是 Kaiwa 各相关链接及授权信息的介绍:

    官网(HP)
    http://getkaiwa.com源代码(Source)
    https://github.com/digicoop/kaiwa授权(License)
    MPL范例(Example)

    Rocket.Chat

    WebChat平台。

    以下是 Rocket.Chat 各相关链接及授权信息的介绍:

    官网(HP)
    https://rocket.chat/源代码(Source)
    https://github.com/RocketChat/Rocket.Chat授权(License)
    MIT范例(Example)
    https://demo.rocket.chat/home

  • HTML5 16264 0 1 发布

    本目录收录的是流程图相关的应用软件。


    定义

    流程图(Flowchart Diagram)是表示算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。

    流程图大致可以分为以下四种类型:

    文件流程图数据流程图系统流程图程序流程图范围

    本目录收录的软件仅限于以流程图实现为主要功能(或之一)的应用软件。

    列表

    本目录收录了以下软件:

    Diagramo

    Diagramo是一个流程图模型编辑工具

    以下是Diagramo各相关链接及授权信息的介绍:

    官网(HP)
    http://diagramo.com源代码(Source)
    https://github.com/ssshow16/diagramo授权(License)
    GPL范例(Example)
    http://diagramo.com/editor/editor.php

  • HTML5 13423 0 1 发布

    ERD

    本目录收录的是ERD模型相关的应用软件。

    定义

    ERD(Entity-relationship Diagram,实体关系图)是概念数据模型的高层描述所使用的数据模型或模式图。

    ERD由实体和实体之间的关系定义而成,实体(Entity)表示一个离散对象,可以被(粗略地)认为是名词,如人、交易等。关系(Relationship)描述了两个或更多实体相互如何关联,联系可以被(粗略地)认为是动词。

    范围

    本目录收录的软件仅限于以ERD模型实现为主要功能(或之一)的应用软件。

    列表

    本目录收录了以下软件:

    WWWSqlDesigner

    WWWSqlDesigner是一个ER图形工具,允许用户创建数据库设计,可以保存/加载并导出到SQL脚本。 支持各种数据库和语言,能够导入现有的数据库设计。

    以下是WWWSqlDesigner各相关链接及授权信息的介绍:

    官网(HP)
    https://github.com/ondras/wwwsqldesigner源代码(Source)
    https://github.com/ondras/wwwsqldesigner授权(License)
    BSD范例(Example)
    http://ondras.zarovi.cz/sql/demo/?keyword=default

  • PHP 9365 0 1 发布

    Bootstrap3是一个高度可定制的基于Bootstrap的DokuWiki模板,具有响应性,适用于所有设备(移动设备,平板电脑,台式机等)。

    功能和特点HTML5和CSS3基于Bootstrap 3.xGlyphicons 和 FontAwesome图标AnchorJS支持可高度定制丰富的HTML和DokuWiki钩子侧边栏支持(左侧和右侧)主题切换器插件统合Bootstrap Wrapper PluginDiagram PluginDiscussion PluginEdittable PluginExplain PluginInlinetoc PluginLinkback PluginMove PluginOverlay PluginPublish PluginRack PluginTagging PluginTags PluginTranslation PluginUser Home-Page PluginWrap Plugin - TabsTplInc Plugin设定主题项目名项目说明值类型缺省值可选值bootstrapThemeBootstrap主题multichoicedefaultdefault
    optional
    custom
    bootswatchbootswatchTheme从Bootswatch.com选择主题multichoiceyeticerulean
    cosmo
    cyborg
    darkly
    flatly
    journal
    lumen
    paper
    readable
    sandstone
    simplex
    solar
    slate
    spacelab
    superhero
    united
    yeticustomTheme插入自定义主题的URLstringnullshowThemeSwitcher在导航栏中显示Bootswatch.com主题切换器onoff0hideInThemeSwitcher在主题切换器中隐藏主题multicheckboxnullcerulean
    cosmo
    cyborg
    darkly
    flatly
    journal
    lumen
    paper
    readable
    sandstone
    simplex
    solar
    slate
    spacelab
    superhero
    united
    yetithemeByNamespace按名字空间指定主题onoff0侧边栏项目名项目说明值类型缺省值sidebarPositionDokuWiki Sidebar position (left or right)multichoiceleftleft
    rightrightSidebarThe Right Sidebar page name, empty field disables the right sidebar.
    The Right Sidebar is displayed only when the default DokuWiki sidebar is enabled and is on the left position (see the sidebarPosition configuration). If do you want only the DokuWiki sidebar on right position, set the sidebarPosition configuration with right valuestringrightsidebarleftSidebarGridLeft sidebar grid classes col-{xs,sm,md,lg}-x (see Bootstrap Grids documentation)stringcol-sm-3 col-md-2rightSidebarGridRight sidebar grid classes col-{xs,sm,md,lg}-x (see Bootstrap Grids documentation)stringcol-sm-3 col-md-2sidebarOnNavbarDisplay the sidebar contents inside the navbar (useful on mobile/tablet devices)onoff0sidebarShowPageTitleDisplay Sidebar page titleonoff1导航栏项目名项目说明值类型缺省值inverseNavbarInverse navbaronoff0fixedTopNavbarFix navbar to toponoff0showTranslationDisplay translation toolbar (require Translation Plugin)onoff0showToolsDisplay Tools in navbarmultichoicealwaysnever
    logged
    alwaysshowHomePageLinkDisplay Home-Page link in navbaronoff0homePageURLUse custom URL for home-page linksstringnullshowUserHomeLinkDisplay User Home-Page link in navbaronoff1hideLoginLinkHide the login button in navbar. This option is useful in “read-only” DokuWiki installations (eg. blog, personal website)onoff0showEditBtnDisplay edit button in navbarmultichoicenevernever
    logged
    alwaysindividualToolsSplit the Tools in individual menu in navbaronoff0showIndividualToolEnable/Disable individual tool in navbarmulticheckboxsite,pageuser
    site
    pageshowSearchFormDisplay Search form in navbarmultichoicealwaysnever
    logged
    alwaysshowAdminMenuDisplay Administration menuonoff0useLegacyNavbarUse legacy and deprecated navbar.html hook (consider in the future to use the :navbar hook)onoff0showNavbarDisplay navbar hookmultichoicealwayslogged
    alwaysnavbarLabelsShow/Hide individual labelmulticheckboxlogin,registerlogin
    register
    admin
    tools
    user
    site
    page
    themes
    expand
    profileshowAddNewPageEnable the Add New Page plugin in navbar (require Add New Page Plugin)multichoicenevernever
    logged
    alwaysnotifyExtensionsUpdateNotify extensions update (for Admin users)onoff0Semantic项目名项目说明值类型缺省值semanticEnable semantic dataonoff1schemaOrgTypeSchema.org type (Article, NewsArticle, TechArticle, BlogPosting, Recipe)multichoiceArticleArticle
    NewsArticle
    TechArticle
    BlogPosting
    RecipeshowSemanticPopupDisplay a popup with an extract of the page when the user hover on wikilink (require Semantic Plugin)onoff0布局项目名项目说明值类型Default ValuefluidContainerEnable the fluid container (full-width of page)onoff0fluidContainerBtnDisplay a button in navbar to expand containeronoff0pageOnPanelEnable the panel around the pageonoff1tableFullWidthEnable 100% full table width (Bootstrap default)onoff1tableStyleTable stylemulticheckboxstriped,condensed,responsivestriped
    bordered
    hover
    condensed
    responsiveshowLandingPageEnable the landing page (without a sidebar and the panel around the page)onoff0landingPagesLanding page name (insert a regex)regex(intro)showPageToolsEnable the DokuWiki-style Page Toolsmultichoicealwaysnever
    logged
    alwaysshowPageIdDisplay the DokuWiki page name (pageId) on toponoff1showBadgesShow badge buttons (DokuWiki, Donate, etc)onoff1showLoginOnFooterDisplay a “little” login link on footer. This option is useful when hideLoginLink is ononoff0showWikiInfoDisplay DokuWiki name, logo and tagline on footeronoff1文章目录 项目名项目说明值类型缺省值tocAffixAffix the TOC during page scrollingonoff1tocCollapseSubSectionsCollapse all sub-sections in TOC to save spaceonoff1tocCollapseOnScrollCollapse TOC during page scrollingonoff1tocCollapsedCollapse TOC on every pagesonoff0tocLayoutTOC layoutmultichoicedefaultdefault
    navbarg钩子HTML钩子

    所有文件必须位于模板目录(lib / tpl / bootstrap3 /)或conf /目录中。

    文件名插入到页面HTML中的位置meta.html <head>和</head>之间topheader.html紧接着<body>标签之后header.htmlAbove the upper blue bar, below the pagename and wiki titlenavbar.htmlDEPRECATED (see the note below) - Inside the navbar, use this to add additional links (e.g. <li><a href=“/foo”>Foo</a></li>)pageheader.htmlbreadcrumbs下面,页面实际内容的上方pagefooter.htmlAbove the lower blue bar, below the last changed Datefooter.html在页面的最后,位于</ body>标记之前sidebarheader.html边侧栏上方sidebarfooter.html边侧栏下方social.htmlBelow the header.html, use this to add a social buttons (eg. Google+, Twitter, LinkedIn, etc)rightsidebarheader.html右边侧栏上方rightsidebarfooter.html
    右边侧栏下方
    Dokuwiki钩子

    可以通过创建简单的DokuWiki“钩子”页面来自定义页面的各个部分。 bootstrap3模板会将这些钩子页面内容插入到页面的总体布局中。

    钩子页面名说明名字空间单位:sidebarThe sidebarYES:rightsidebarThe right-sidebarYES:navbarNavbar with sub-menusYES:pageheaderHeader of the Wiki articleYES:pagefooterFooter of the Wiki articleYES:footerFooter of the pageYES:cookie:bannerCookie-Law bannerNO:cookie:policyCookie-Law policyNO:helpHelp page for “Help Page Icon”YES:headerHeader of page below the navbarYES:topheaderTop Header of page (on top of navbar if fixedTopNavbar is off)YES

  • PHP 1189 0 1 发布
    CSS文件

    DokuWiki本体的CSS文件位于lib / styles目录中,不过DokuWiki本体仅定义了一些最基础的CSS,更多的CSS存在于模板和各个插件里面。
    所有CSS文件都是通过lib/exe /css.php程序获取的。该程序还处理缓存,模式替换,LESS预处理和优化,由tpl_metaheaders()函数调用。

    加载CSS的顺序如下: 在CSS中,如果为同一属性指定了不同的值,并且样式冲突,则稍后加载的样式将优先,并且属性值将被覆盖,因此首选样式是从后面开始。

    基本样式:lib /styles/*.css插件样式:lib / plugins / <插件名称> / *。css模板样式:在lib / tpl / <模板名称> /style.ini中定义用户样式:conf / user * .css

    如果要通过自定义CSS添加样式,则基本上应将其添加到用户样式(conf / user * .css)中。

    媒体类型

    样式表支持五种媒体类型:

    screen:用于显示器print:用于打印all:用于所有的媒体设备rtl:feed:外部链接Dokuwiki官方说明

  • HTML5 794 0 1 发布

    本目录收录的是电子表格相关的应用软件。

     定义

    电子表格(Spreadsheet),指的是类似于Micfosoft Excel的办公文档。它会显示由一系列行与列构成的网格,称为单元格,单元格之间可以合并成一个跨多行多列的大单元格。

    单元格内可以存放数值、计算式、或文本,单元格的边框和文本颜色字体通常可以个别设置。

    范围

    本目录收录的软件仅限于以电子表格为主要功能(或之一)的应用软件。

    列表

    本目录收录了以下软件:

    EtherCalc

    EtherCalc是一个实时多人协作的电子表格处理器,后台需NodeJS服务器

    以下是 EtherCalc各相关链接及授权信息的介绍:

    官网(HP)
    https://ethercalc.net/源代码(Source)
    https://github.com/audreyt/ethercalc授权(License)
    Apache 2范例(Example)

    https://ethercalc.net/

    截图

  • HTML5 410 0 1 发布

    本目录收录的是PDF相关的应用软件。

     定义

    PDF(Portable Document Format:便携式文档格式)是一种用独立于应用程序、硬件、操作系统的方式呈现文档的文件格式。

    每个PDF文件包含固定布局的平面文档的完整描述,包括文本、字形、图形及其他需要显示的信息,通常在任何设备和环境下都能获得同样的展现。

    范围

    本目录收录的软件仅限于以PDF为主要功能(或之一)的应用软件。

    列表

    本目录收录了以下软件:

    laddu-reader

    Laddu 是一个PDF阅读器,基于Mozilla的pdf.js。

    以下是 laddu-reader 各相关链接及授权信息的介绍:

    官网(HP)
    源代码(Source)
    https://github.com/iraycd/laddu-reader授权(License)
    MIT范例(Example)
    截图