基于能力培养的常用软件设计方法教学研究

2016-12-12 13:04徐栩娟刘述民
成才之路 2016年36期
关键词:形式化结构化专业课

徐栩娟+刘述民

摘 要:常用软件设计方法有结构化方法、面向对象方法、Jackson方法、原型法、形式化法、生命周期法等。文章对比分析了这些方法的设计思想及开发过程,并对比分析了各方法的优缺点。

关键词:专业课;常用软件;结构化;原型法;形式化;设计

中图分类号:G718.5;G710 文献标志码:A 文章编号:1008-3561(2016)36-0013-01

当前,普遍采用的软件设计方法有结构化分析与设计方法 (SD/SA)、Jackson(JSP/JSD)系统开发方法、原型法、生命周期方法等多种方法。为了更好地展现各种方法的特性,本文从设计思想、设计步骤或流程、优缺点等方面对各软件设计方法进行了相应对比和分析,为软件设计教学工作提供一定的参考。

一、结构化分析与设计方法(SD/SA)

结构化分析方法又称作SD方法或SA方法,它是通过把现实世界逐一描绘为各种数据在信息系统中的一种流动,同时在数据不断流动过程中进行数据和信息之间的转化。基本思想可描述为:基于一种将功能逐一分解的设计模式,不断把复杂和综合问题逐层进行分解,以便对问题进行简化——自顶向下,逐层细化,从而将复杂的程序结构划分为多个功能完全不相关或者独立的小模块,最终达到最简化的过程。优点:比较直观、应用简单、容易理解,目前已经获得了较为成功的实践经验,在市场推广方面有较大的优势。不足:首先,因为从抽象思维出发对模块进行细化,所以得到的子模块方案各异,共性较低;其次,由于对问题理解上的偏差,导致继承性较为困难;再次,该方法的自适应能力相对较弱,其设计的软件重用率不高,从而延缓了开发周期;最后,设计文档时常出现与表示体系不一致的现象。

二、Jackson(JSP/JSD)系统开发方法

Jackson开发方法分为JSP和JSD两种。(1)JSP开发方法。JSP方法是一种面向数据结构的程序设计方案。其基本思路是按照输入、输出和内部信息的三种数据结构形式进行设计,从而把对数据结构的描述转变成一种程序结构的描述方案,因此可实现通过数据结构来反映程序结构的方法。其基本思想可描述为:首先采用自顶向下的思想按功能对系统进行划分,并逐步求出各子问题的解,将软件开发流程视为软件的生命周期,最终建立一种所谓的瀑布模型。基本实现步骤可描述为:分析、设计、编码、测试、运行及后期维护。优点:简单易学;准入门槛底,对设计者的要求不高。不足:难以满足规模较大的软件系统设计,且JSP方法难以对付结构冲突问题。因此,该法仅适用于小型程序的开发。(2)JSD方法。此方法称作杰克逊系统开发方法,它以事件的驱动为中心,将相连的顺序组合构成程序进程,系统设计模型可进一步抽象成若干条以通信方式进行相联的进程。基本设计思想描述为:首先通过仿真来理解并描述客观事实,其次添加相应输出功能,最后通过某种收到实现系统间的转换。方法实现步骤为:实体的动作分析过程→实体结构分析→定义初始模型→功能描述→决定系统时间特性→硬件和软件实现。优点:实现了同类软件和客观世界间的关系研究,并确定了各类软件系统和软件现实决策间的界限。不足:对客观现实同类软件间的相互关系认识不够完整,有待提升;构造的软件实现结构较为复杂,有待简化;对软件结构的相关描述不完善;JSD在实现阶段较为费时和复杂,且需要手动实现。

三、原型法

原型法可分为示例型和渐增型两大类。其实现思路为:利用设计程序自动生成软件工程运行环境,以便构造出简化的实际系统模型,从而便于软件开发人员和用户间进行有效交流,大大提高了设计的灵活性。该方法实现过程要求迅速,否则便失去了意义。开发基本步骤可大致分为四步:系统简化→原型实现→系统修改→最终实现。优点:能适应各种模糊不清和变化不定的用户需求。不足:需要具备较强的知识理论基础,同时需要以相应的硬件环境作支撑。

四、生命周期法

生命周期法学也把软件开发过程分为若干独立阶段。在软件实现过程中,各阶段分别完成一定任务,并实现最终的软件配置程序/文档。在完成各阶段性任务过程中,可运用结构分析(SA)技术、结构设计(SD)技术和其他相关辅助工具。在编程过程中,使用了SP(结构化程序设计)语言,在各阶段结束时需要进行细致的复审过程,只有各项参数合格后才能进行下一步骤的工作。因此,该方法将软件的生命周期依次分为系统需求分析、系统设计、系统实现、系统测试、系统维护五大阶段。优点:该方法采取了自顶向下、逐步求精的设计思想;模块化设计过程中,运用了结构化程序设计方法,采用了严格的复审及测试程序,保障了软件的可维护性。不足:对时变系统不太适用,开发出的软件稳定性、可重用性和可维护性都比较差。

五、结束语

总之,以上各种软件设计方法均存在一定的优势和缺陷。因此,相关专业的师生在设计时,应根据设计的主客观条件进行相应的选择,提高设计能力,充分利用自身和环境优势完成软件的设计。

参考文献:

[1]顾明.软件工程中几种常用的软件开发方法的概述和比较[J].计算机科学,1999(26).

[2]杨瑞龙,朱征宇,朱庆生.引入软件设计模式的面向对象程序设计教学方法[J].计算机教育,2012(10).

猜你喜欢
形式化结构化专业课
促进知识结构化的主题式复习初探
结构化面试方法在研究生复试中的应用
“导入课”在高校专业课实施“课程思政”的实践与思考
如何开展班集体德育活动,深化活动育人实效性
倡导教学方法多样化 防止教学模式形式化
服务学习在高职社会工作专业课内实践教学中的探索
基于图模型的通用半结构化数据检索
研究生专业课学分制教学改革探讨
关于大学专业课排座位的思考
基于软信息的结构化转换