系统科学是自然科学、社会科学与管理科学的共同的基础科学。本书的目的在于学习“基于系统科学的知识模型(SSBKM)”在“系统分析与设计”方面的应用。
全书以网络院校和超市为实例,指导和训练学生以系统科学的哲学思维、原理和方法,以SSBKM去看待、揭示、分析和理解待分析、策划和实现的系统,对系统做出合理的、科学的和本质化的说明与“形式化”的描述——“基于系统科学的面向对象的描述”,给出能体现系统本质真实映射的对象类集合及对象类结构,它对“系统实现人员”是无缝的需求文档。在学过信息技术基本课程基础上,本书还指导学生运用所学的分散知识,以计算机技术对系统进行综合(设计),给出系统综合结果形式化描述和UML的“形象化”描述文档,保证系统策划与实现的可操作性。本书也将训练学生对所策划的系统进行Java对象类设计并予部分实现。
本书面对的是以系统为工作和学习目标的信息、软件和硬件、经济、工程、商业以及管理等相关领域的学习与工作者。
1. 课程特点与地位
系统科学是以哲学和数学的抽象去看待、思考、分析、理解、描述和指导改造客观事物的一门科学,系统科学把客观世界中的事物看成是一种外部有环境、内部有组织的,相关联、互作用的,有运动、有发展的,具属性、有功能的,可以从不同角度看待和处理的,分层次、按类别的单元集、子系统集,可描述为某种对象集结构; 而每个单元、子系统又可看成具上述性质的单元集、子系统集,也是某种对象集的结构; 从系统科学来看,客观世界中的事物及其各种分解都是某种系统。“系统科学是自然科学、社会科学与管理科学的共同的基础科学”(图01)。
图01系统科学的定义
传统的系统分析法,如功能分解法、数据流法、ER法,甚至一般意义下的面向对象法([2]、[6])等,由于缺乏有意识的系统科学指导,所用模型难免偏离客观世界的真实影射,具有很多的主观随意性; 多数只有分析,而没有或缺少综合,也极欠缺分析结果的形式化描述方法。由于缺乏形式化描述,使得系统分析和系统开发的下阶段(如系统设计等)之间有很大的思想和语言鸿沟。
基于系统科学的系统分析与综合是以系统科学的哲学抽象,形成基于系统科学的知识模型(SSBKM), 按照SSBKM观察、搜集、思考、分析和理解问题域系统,找出问题域的子系统和关键元,提炼系统本质,提出系统建议书,给出基于系统科学的系统分析的形式化描述,为系统综合提供基础。继而以计算机技术(如面向对象技术)对系统进行综合和优化,给出基于系统科学的面向对象综合的形式化描述(及形象化描述),以指导问题域(系统)的计算机化的系统开发。这样的方法称为“基于系统科学的系统分析与综合”。
基于系统科学处理问题可动可静,既可研究静态问题,更能揭示动态问题; 既可描述线性、顺序过程,更为处理非线性、并行与分布问题提供有效的方法; 同一系统既可描述不同视图、不同层次,又可粗可细、可详可略; 关系灵活而可描述,其结构复杂而可控制。以系统科学观点观察事物可防止臆想,最少疏漏,最能揭示事物的本质,基于系统科学建立系统模型是事物的最真实和实际的映射。对于系统分析与综合的过程与结果,本书使用面向对象的类Java的“形式化”描述方法,也提供了可选择使用的UML“形象化”描述方法,以此形成系统设计的草图和蓝图,便于把问题域(系统)落实为面向对象的计算机化的目标系统。
2. 能力结构与课程地位
基于系统科学的系统分析与综合相当于系统开发的逻辑设计阶段,提供方法学知识和相当于工程草图的设计知识。学习本课在于培养学生于系统开发模式图(图02)中粗体字所标识的知识和能力。
图02系统开发过程模式图
3. 教学方法与目标
1) 知识结构
全书着重介绍基于系统科学的系统分析和综合原理、方法的可操作性的知识,包括系统分析与综合结果的形式化的描述。历史上,计算机技术的重大发展以及客观世界计算机化,都离不开“形式化的描述”。
本书分为8章。第1章介绍系统分析的责任; 在比较了各种系统分析与设计方法后,突出说明了一般的面向对象方法的优越性和存在的问题。第2章介绍基于系统科学的知识模型SSBKM,它是关于“系统分析、综合与设计”的新的方法学和策略性的指导,用来指导和实现系统分析、综合与设计; 是本书的原理重点。第3章和第4章给出基于系统科学的系统分析过程: 按SSBKM单元对问题域做分解和划分,揭示系统及各单元的属性、功能、对象、对象类及对象的关系与结构,并进行本质化; 以基于系统科学的知识模型SSBKM去指导看待、收集、思考、分解、分析和理解各问题域(系统): 从“问题域的动态阶段与静态状态”,从“系统的不同视角和系统的各种划分”,从“问题域结构及其各种表现”,从“多种层次和各种类型的关系”,从“问题域计算机化过程中对系统本质的可粗可细的理解和提炼”,从“系统的环境与人员的地位”,以及从“人员间的关系及人机关系的揭示和处理”等方面,指导系统分析人员粗细有度地处理问题域系统,提炼出目标系统的本质,从而介绍“基于系统科学的系统分析的形式化描述和分析结果的面向对象方法的形式化描述”方法。在第3章和第4章系统分析所取得的“对象类集”的基础上,第5章给出可“满足系统责任的”SSBKM各单元的综合原理和方法,特别着重系统各种划分下的各种结构和关系的综合,以及系统环境、系统“人员”等的综合,落实为可操作性知识; 本章是全书的方法重点。全书以网络院校和超级市场系统为例,贯穿结合两例讲解基于系统科学的系统分析的原理、方法及解释,并给出两例的系统分析与综合结果的形式化描述,其文档见于第6章及附录B; 第7章介绍通常的系统分析的参考文档格式: 对象系统的主题与主题图格式、对象类关系图格式、对象类的属性与功能的说明格式等,可以作为系统分析与综合的文档写作参考。第8章介绍统一建模语言(UML)的类模型、状态模型和交互模型的意义和表示法,说明了UML在“系统分析过程和对分析结果的形象化说明”方面的作用; 强调指出了UML与SSBKM的一致性: UML对SSBKM是一种内映射,两者有着互补关系。
2) 大练习或阶段论文
课程开始,每个学生可以自拟一问题域(即系统,例如所做项目、毕业论文或感兴趣题目),从问题域的分析,揭示系统(子系统)的属性、功能、关系和结构; 揭示SSBKM各个单元; 接着揭示系统的本质,给出类Java的形式化描述。基于此,练习目标系统的综合。全过程上机编程验证,分阶段地不断修改、完善和归纳总结,最终给出系统分析与综合的期末论文。
3) 上机实习
在对问题域系统分析与综合结果的面向对象形式化描述的基础上,再上机作Java编程,实现部分子系统; 从而不脱离实际地给予学生从分析、综合、设计直到实现的系统开发全过程的训练。
4) 先修课与后续课
参考基础: 数学、编程、算法、网络、数据库、体系结构或硬件技术等
可同时或后续学习软件工程。“系统分析与综合”面向设计,“软件工程”面向施工和标准等
作者李膺春
2008年10月写于北京师范大学珠海分校信息技术学院
第1篇系统分析模型
第1章引言
1.1系统、系统科学、基于系统科学的系统分析
1.2系统分析与设计的基本模式
1.2.1模式图
1.2.2系统分析的行为
1.3系统分析的责任
1.4系统分析方法的种类
1.4.1功能分解法
1.4.2数据流法
1.4.3实体关系法和信息建模法
1.5面向对象方法的引入
1.6面向对象的基本概念
1.6.1对象的基本性质
1.6.2对象之间的关系
1.7面向对象的完整过程
1.7.1对象及其模板
1.7.2面向对象的完整过程
1.7.3面向对象的过程与对象模板的关系
第2章基于系统科学的知识模型
2.1系统科学的基本范畴
2.2基于系统科学的知识模型
2.2.1SSBKM的定义
2.2.2SSBKM的形式化描述
2.2.3SSBKM的模式
2.3过程集上的代数
2.3.1同一过程层上并行过程的描述方法
2.3.2过程集合上的代数
2.4对象集上的代数
2.4.1对象集上的无序多重积及无序多元关系
2.4.2对象集上的无序多多关系
2.4.3联系元
2.4.4对象集的继承与多态
2.5基于SSBKM的系统分析策略
2.5.1以SSBKM分析系统
2.5.2系统的本质化阶段
2.5.3认知心理的SSBKM例
本章结语
第2篇基于系统科学的系统分析方法
第3章系统分析阶段
3.1系统、对象与SSBKM
3.2系统分析的阶段
3.3基于系统科学面向对象系统分析的基本原则
第4章对象系统(问题域)的分析过程
4.1揭示具体对象类
4.2揭示对象属性
4.2.1揭示系统的属性的策略和方法
4.2.2属性的审查、筛选与新对象的揭示
4.2.3属性的详细说明
4.2.4揭示属性的例子
4.3揭示对象的功能
4.3.1对象功能的类型
4.3.2揭示系统功能的策略
4.3.3系统功能的审查、筛选、调整与新对象的揭示
4.3.4功能的详细说明
4.4揭示对象间的关系
4.4.1揭示对象间的“子裔关系”
4.4.2揭示对象间的组成关系(“整体部分”关系)
4.4.3独立对象之间的关系
4.5问题域的面向对象本质化阶段——对象系统的抽象
4.5.1问题域的类化
4.5.2人机关系的抽象
4.5.3揭示同领域所属的各系统的共性
——系统的复用与规范化问题
第3篇对象系统的本质化——系统的综合
第5章基于系统科学的系统的面向对象综合
5.1系统的对象类集的综合
5.2系统的面向对象的属性的综合
5.3系统的面向对象的功能的综合
5.3.1SSBKM模型的关系单元(R(包括与B|C|H的关系)单元)
的面向
对象功能的综合
5.3.2SSBKM模型的子元间关系单元Rsij的面向对象功能的综合
5.3.3问题域的“主对象”和对“主功能”(总体功能)的综合——线程交织
网的建立、组织、管理和控制功能
5.4系统复杂结构的面向对象的综合
5.4.1系统的结构
5.4.2“多多”关系的综合
5.4.3多元关系的综合
5.4.4子元间“消息传递”的综合——元间关系的调派、管理与控制
5.4.5系统结构综合的复杂性控制
5.5系统环境的面向对象综合
5.5.1人与计算机对象的关系
5.5.2问题域的系统界面
第6章网络院校的面向对象系统综合
6.1网络院校系统的对象类集合的综合
6.1.1网络院校顶层子系统对象类集合
6.1.2网络院校子系统间的“相关对象”与“联系对象”
6.1.3网络院校系统对象类集合的SSBKM模型分拣
6.1.4网络院校系统对象类集的层次结构
6.2网络院校系统的面向对象属性的综合
6.2.1网络院校系统的顶层属性
6.2.2网络院校的各层属性
6.3网络院校系统的面向对象的功能的综合
6.4网络院校系统的面向对象的结构的综合
6.4.1网络院校子元间的实例联系
6.4.2网络院校子元间的信息传递关系
6.5网络院校系统的面向对象的环境的综合
6.5.1关于系统的人员环境
6.6网络院校系统对象类结构
第7章面向对象系统分析文档
7.1对象类的归类——划分“主题”
7.1.1主题的属性与功能
7.1.2主题的揭示方法
7.2类图
7.3对象类的详细说明
7.3.1对象类间关系的处理策略——“一端说明法”
7.3.2对象类的详细说明
第8章建模语言UML在系统分析与综合中的应用
8.1UML概述
8.2UML的类模型
8.2.1UML的对象类
8.2.2链接与关联
8.2.3UML的类之间的泛化与继承关系——SSBKM的子裔关系B
8.2.4类间的聚合与组合关系——SSBKM的组成关系C
8.2.5包
8.3UML的状态模型——SSBKM的P单元
8.3.1事件与状态
8.3.2状态图与状态模型
8.4UML的交互模型
8.4.1UML交互模型的用例模型
8.4.2UML交互模型的顺序模型
8.4.3UML交互模型的活动模型
8.5UML与SSBKM
附录ASSBKM的描述凡例
附录B超市对象集
附录C基于系统科学的系统分析与综合术语集
参考文献