试论软件工程系统理论

发表时间:2020/12/11   来源:《科学与技术》2020年第22期   作者:万康康 柳哲明 张杰
[导读] 采用工程系统论来研究软件工程及其开发过程中遇到的理论和实践问题, 具有重要的学术理论意义和实际意义。和土木、水利等工程大为不同的是,

        万康康 柳哲明 张杰
        武汉东湖学院 湖北省武汉市 430000
        摘要:采用工程系统论来研究软件工程及其开发过程中遇到的理论和实践问题, 具有重要的学术理论意义和实际意义。和土木、水利等工程大为不同的是, 软件工程源自计算机科学, 所研究的系统主要是离散系统而不是连续系统。一旦系统出现轻微改变时, 离散系统可能会出现非常大的反差, 这是软件工程系统比起其他工程系统的稳定性通常要差的重要原因。另外, 软件工程是高知识、高智力型的工程,实现高度系统化和规范化管理的难度非常大。对软件工程的管理不仅需要对计算机软件技术的精通, 还需要高超的协调能力和管理人才资源的艺术。所以软件工程的系统化、规范化、产业化比其他任何工程都有更长的路要走。
        关键词:工程系统论; 软件工程系统论; 软件工程
        一、工程系统论简介
        20世纪90年代, 我国科学家在一般系统论的约束和指导下创立了一门工程元科学工程系统论。它适用于所有领域的所有工程。严格意义上的工程是指以某组设想的目标为依据, 应用有关的科学知识和技术手段通过一群人的有组织活动, 将某些 (某个)现有实体 (自然的或人造的)转化为具有预期使用价值的物质产品的过程。由于工程系统论并没有摒弃系统工程等学科中成功有效的技术方法、途径和措施, 而且增加了顶层的指导,所以这种更加普适性和更加宏观的方法论体系应用于诸如软件工程一类复杂人工系统具有勃勃生机和广阔的应用前景。
        二、开展软件工程系统论的研究势在必行
        软件工程是指导计算机软件开发与维护的工程学科。软件工程的开发过程体现了软件项目生命周期的系统性、阶段性和复杂性。国外学者对软件工程的研究自 20世纪六、七十年代就开始了, 研究的主线是软件工程的基本原理和方法学, 包括过程与模型、方法和技术、工具和环境、标准和规范等, 陆续提出了许多著名的软件开发方法, 如结构化方法、形式化方法、面向对象方法、基于构件的方法、基于代理的方法、净室方法、敏捷方法、人工智能方法等等。尽管这些方法存在着这样那样的问题, 但无疑对软件开发技术的进步和软件工程的发展起到了重要的推动作用。
        目前程序设计方法已从面向数据流、面向数据结构和面向过程的方法进化到面向对象的程序设计方法, 目前正在向面向角色的程序设计方法演进。角色技术的各部分各有侧重且相互协调, 强调以规范自然的方法分析描述即将开发的系统,使开发人员和领域专家能建立有效沟通以提高开发效率。这种从系统的角度分析解决问题的方式符合工程系统论的思维特性, 因而适宜于大型复杂系统的开发。软件危机的继续存在呼唤着一种有效的工程理论武器, 不仅要研究新的开发工具和开发过程,最重要的是要集成新的研究领域和技术, 用新的方法论来指导软件工程的发展。因此, 根据一般系统论和工程系统论的原理与方法分析研究软件工程系统的基本规律和内在性状, 进而创立软件工程系统论的科学体系、理论框架和基本方法势在必行, 确有必要。


        三、软件工程系统论的学科地位、研究内容及可行性
        在系统科学的庞大学科体系中, 软件工程系统论居一般系统论和工程系统论之下, 是一般系统论和工程系统论在软件工程领域的具体应用, 即它的全部概念、原理和方法论都受二者的指导和约束。但相对于电子工程系统、航天工程系统、土建工程系统等, 它们之间是平级的关系, 在应用中可能有交叉。例如, 在航天工程系统和电子工程系统中肯定有软件工程系统论的应用。
        按照工程系统论提出的分类研究方法, 可将软件工程系统初步分解为软件工程对象系统、软件工程过程系统、软件工程技术系统、软件工程支持系统、软件工程组织系统、软件工程管理系统等 6大子系统, 而这些软件工程系统的原理与方法又蕴涵在诸如需求工程、架构工程、过程工程、可靠性工程、测试工程、领域工程、构件工程、集成工程、性能工程、再生工程、质量工程、反推工程等具体的工程项目应用之中。应用一般系统论和工程系统论研究软件工程系统在国内外尚属空白, 这方面的研究领域很宽。把该项研究工作做好的话, 既可以丰富和发展工程系统论的理论与实践, 又可能在这一领域开拓出新的分支学科理论软件工程系统论。
        首先, 软件工程与系统科学有着千丝万缕的联系。软件工程的理论基础主要是系统数学模型、系统设计和开发方法。软件工程的技术和方法贯穿着系统科学的基本思想。软件工程中的一些重要系统方法, 如结构化方法、面向对象方法等都沿用了系统科学的思想方法。软件工程的核心思想是把软件产品看作是一个工程产品来处理。因此,在软件工程研究中引入工程系统论的原理和方法完全可行。
        其次, 软件工程是一种大型的复杂人工系统, 其开发过程具有酝酿、设计、研制周期长, 牵涉相关学科和业务知识面宽, 要求指标体系庞杂, 设计和组织管理任务繁重, 受经济投入、运作机制、人员素质、运行环境等诸多因素影响等特征, 客观上迫切要求应用工程系统论的科学思想对其进行分析综合、设计管理及评价, 给出一些普遍性的分析问题、解决问题的原则、思路和方法, 把握事物内在的客观规律, 以提高系统开发的设计和运行水平。
        再次, 经过二、三十年的推广应用, 系统论的学说和思想在软件工程领域得到了较好的体现和应用, 软件工程的原理和方法也逐渐为人们所熟知, 国内从事软件工程研究和开发的队伍日益壮大, 他们大多具备扎实的理论基础知识和丰富的科研实践背景, 尤为宝贵的是软件工程业界蕴藏着非常丰富的工程实践材料能为理论研究提供许多有益的工程案例(包括成功的和失败的 )。因此, 软件工程系统论的研究和建立基本上不存在理论障碍和技术瓶颈。
        参考文献:
        [1]王连成. 工程系统论 [ M ]. 北京: 中国宇航出版社, 2002,100.
        [2]    王连成.工程、工程系统、工程系统论与工程科学体系[J] . 中国工程科学, 2001, 3( 6): 15- 18.
        [3]    ] 王连成. 工程系统论 [ M ]. 北京: 中国宇航出版社, 2002,103.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: