APP下载

浅谈软件工程中的结构化设计方法

2017-06-30刘珂韩瑶高嵩

中文信息 2017年6期
关键词:结构化结构设计构件

刘珂 韩瑶 高嵩

摘 要:软件工程中的结构化设计方法是当前软件工程最成熟,使用最广泛的一种设计方法,将复杂系统分解为若干个子功能模块,模块化软件构件,同时将这些构件进行简单的连接组织,最终实现软件系统控制功能。近年来,软件工程中的结构化设计已迈入新阶段,设计中不仅需要考虑满足系统的功能,还需对系统性能进行优化,领域工程是典型的代表,能极大的提高可设计构件的复制性,减少开发工作量。

关键词:软件工程 结构化设计

中图分类号:TP311 文献标识码:A 文章编号:1003-9082(2017)06-0008-01

在最初的软件开发过程中,用户需求调查、设计时间耗费的时间占整个软件开发的时间比重较高,约70%的软件错误是发生在这个阶段。面向过程的分析与设计,只考虑功能函数的编写,系统由算法以及数据结构、子程序组成,封装对象是函数,一定程度提升了软件的灵活性。但随着构件的出现,系统开始成为构件以及连接件组成,极大的缩短了软件开发过程中,结构设计开始成为软件工程中软件开发的主要方法。

一、软件结构化设计方法概述

结构化设计方法是当前软件工程最成熟,使用最广泛的一种设计方法,基本指导思想是从顶向下进行功能的抽象、分解,逐步求精。软件设计开发的过程中,实际上也是一种需求满足的工程,特别是当前软件与市场需求、机械工程的联系越来越紧密,软件系统功能的结构化趋向也越来越明显,为结构化设计推广创造了条件。结构化设计将复杂系统共分解为若干个子功能模块,模块化软件构件,同时将这些构件进行简单的连接组织,最终实现软件系统控制功能。结构化的方法最简单的实现过程中是树状结构图表述,顶端是程序的主模块,第一层为模块1,2,……,n子模块,以此类推。程序运行时,主模块调动从属模块,直至最低层。接口实现各个模块之间的数据输入输出,实现程序运行过程中的信息交换,从而实现连续、完整的控制功能。结构化的设计方法已基本成熟,主要包括面向数据流图的数据流方法,盒子与箭头为模型元素的IDEF0方法,LCP方法,Jackson方法等。结构方法适合功能比较明显的软件系统,以实现功能需求为立足点,功能明显也是当前许多中小型软件系统的重要特征,这也是结构化设计得到广泛应用的原因。结构化设计实际上将功能相互联系的一种策略,通过描述软件的功能以及功能模块之间的调用关系,将复杂的问题简单化,降低设计的难度。但需注意的是,结构化软件设计难以应对灵活性、可移植性、可扩展性的要求。

二、软件结构化设计方法发展

软件系统结构提供了多连接件、组件、配置的抽象,从宏观角度来看,可分为不同类型的构件,构件能够实现一组功能,是一种可以独立的单元,通过设计这些构件功能,工程人员设计不同构件的连接件,最后制定统一的设计原则。软件结构设计当前已迈入新的结构设计阶段,新的结构设计方法不仅需要考虑满足系统的功能,还需对系统性能进行优化,全面提升系统的安全性、可靠性、造价、稳定性,制定约束条件。软件体系结构设计仍在不断发展之中,产生了新的设计思想,领域工程是典型的代表,其是实现系统化软件复用的关键,一定程度上弥补了传统结构设计复用性较差的问题。领域工程是指对特定领域的可复用软件资产进行生产的过程,对一组相似或相近系统建立基本的能力、必备基础。领域工程极大的减轻了软件开发的工作负担,对于在某一领域的软件开发公司而言,许多软件资产功能非常的相似,领域功能通过分析、设计一组相似或相近需求的软件系统覆盖的区域,实现领域复制,将领域作为结构化设计的重要組成部分,缩短结构化设计后软件开发的时间、进行结构优化。需注意的是,领域设计下的软件结构化设计,不同于一般的软件设计,其设计多个系统的共同特征分析,识别抽象领域内系统的共性问题,该阶段需要领域专家、工程师进行领域抽象,如定义解空间访问、分析模型可追踪性等,从更宏观的角度进行结构设计[2]。

三、软件结构化设计方法应用案例

软件工程中的结构化设计方法当前在建筑工程、机械工程的智能化领域应用相对较广,依托于这些领域的原原有的功能结构设计,能够较方便的分析信息化改造所需要的功能,缩短结构设计的流程。以防护工程智能化软件为例,智能信息系统由软件、硬件、人和组织等要素组成人机共治平台,系统的主要功能包括对各个设备、工程进行信息采集、传输、处理与应用,对人等要素进行调度管理,必要时提供智能化分析决策支持,最终实现工程信息与资源的共享,通过人机交互,实现对人、工程资源的全面控制,快速反应。一个基本的防护工程智能信息功能包括功能应用集成、数据与算法集成、子系统集成、现代设备集成四个部分。功能应用集成包括设备运行、安全防范、专家辅助、信息查询、基础设施管理等,通过以上应用以及上级平台实现人机交互,数据与算法集成需要具有协同与运行管理、自适应运行保障功能,能够实现开房数据访问、信息接入与传输,子系统包括设备智能控制、安全防范、智能视频、信息发布等,需要集成的设备包括水泵等设备、变频设备等,需注意的是这些设备需要进行智能化改造[3]。

四、小结

软件工程中的结构化设计有许多优点,特别是在功能比较明确的系统智能化改造软件系统设计中,能够明显缩短设计的时间,软件系统设计可复制性明显增强。当结构化设计方法应对那些灵活性、可移植性、可扩展性的要求较高的大型软件系统,可能力不从心。在进行结构设计时,若发现模块有相似之处,可进行功能的完善,进行结构优化。

参考文献

[1]周子涵.影响软件可靠性的因素[J].信息与电脑(理论版),2016(05):94-95.

[2] P Kruchten, H Obbink, J Stafford, The past, present, and future for software architecture[J]. Software, IEEE, 2006,14(3):289~301.

[3]张耀民.软件工程中的结构化设计方法[J].现代电子技术,2012,35(16):39-41.

作者简介:刘珂(1999.02.05);男,山东省临沂市人,学历:本科,就读于:哈尔滨理工大学(荣成);现有职称:中级工程师;研究方向:工程造价;

猜你喜欢

结构化结构设计构件
促进知识结构化的主题式复习初探
结构化面试方法在研究生复试中的应用
建筑构件
建筑构件
建筑构件
建筑构件
BIM结构设计应用
某排水虹吸井结构设计
基于图模型的通用半结构化数据检索
基于软信息的结构化转换