软件开发关键在于用软件工程的思维方式来思考问题。作为一个项目,都需要经历需求分析、系统结构建立、设计、编码、测试等阶段。任何一个阶段在一个项目里都是必不可少的。只有用软件工程思维方式来统筹全局,把握重点,才可以设计出想要的软件产品。
软件在当今世界有着举足轻重的地位。说到软件,质量是关键。质量是软件的生存之本,能够开发出高质量的软件是软件企业竞争实力的表现。下文将就如何高效高质的进行软件开发展开探讨。
一、软件体系结构及工具的选择
软件体系结构是指一个软件系统中的高层结构,其主要特点有:(1)抽象性。软件体系结构不涉及具体的系统结构(比如是B/S还是C/S),也不关心具体如何实现。(2)兼顾性。软件体系结构必须能够响应系统指令的功能。这要求在设计时,兼顾考虑系统的动态行为。(3)全局性。已存系统的共容性、可靠性和安全性是设计时必须考虑的问题。同时还要考虑的是系统将来的伸缩性和延展性。所以必要时,要在多个不同的目标方向中权衡。根据定义,软件系统结构由计算部件和部件之间的交互两个部分组成。软件系统成功的关键在于合理设计体系。
再来探究一下相应的工具。在需求分析和设计阶段,基于UML的CASE工具是最好的工具。当前流行的Rose很适用于分析和建立对象与对象之间的关系。具体编码时,需要用到版本控制工具,MS的SourceSafe是用于版本管理和项目管理的一个很好的工具。具体的开发工具虽然很多,但是如果是一个经验老道的程序员,一定会选择VC,因为它会给你绝佳的面向对象的编程的体验,这是VB,Delphi,PowerBuilder无法达到的水平。至于数据库模式的构建,Sybase的S-Design是一个不错的选择。另外,我们还需要为文档编写建立若干模板,这样有助于开发人员依照模板编写规范的技术和说明文档。最后,当开发人员不同在一地时,可以通过建立邮件列表的方式,借助邮件系统讨论开发过程中的各项事宜。
二、面向对象的软件开发方法
“分布式”、“并行”和“面向对象”是计算机业的流行术语。由此也充分证明了“面向对象”这个概念在当前计算机业界的地位。当前流行的两大面向对象技术CORBA和DCOM也是最好的佐证。可以说,面向对象技术是软件技术史的一个重要里程碑。现今,OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)发展是潮流趋势,并最终形成OMT(面向对象的软件开发方法)。它的特点是采用自底向上和自顶向下相结合的方法,以对象建模为基础,从而囊括了输入、输出数据结构和所有对象的数据结构。并且,在需求分析、可靠性和可维护性这三个软件开发的关键环节上,OO技术实现重大突破,基本上解决了在三个环节存在的一些严重问题。面向对象系统应用自底向上归纳和自顶向下分解的方法,通过建立对象模型,能够做到在满足用户需求的同时,提升系统的可维护性。UML(Unified Modeling Language)是现今业界在面向对象建模方面的标准。这里涉及到微软的MSF(Microsoft Solutions Framework)框架。按照MSF理论,系统被分为三个阶段,即概念设计阶段、逻辑设计阶段和物理设计阶段。概念设计阶段就是从用户的角度出发得到对象,并将对象当作主体,从而画出业务框架。逻辑设计阶段就是在概念设计阶段的基础上对对象进行再分析、整合和删除,目的在于建立各个对象的属性方法及对象间的关系。而物理设计阶段要做的事就是确定开发时采用的框架结构、具体的编程语言和实际需要的服务、组件等。作为一个好的框架系统,MSF的优点是整体结构清晰。
三、用软件工程的思维方法处理问题
软件开发人员常犯的毛病就是,在项目初期就经常谈论细节的实现,甚至达到乐此不疲的地步。因为开发人员偏爱用简短灵活的代码来实现某一特定功能,而忽略了去思考整个系统架构。要做一个好的开发人员,应该把自己从代码编程的思维惯性中解脱出来,更多的从项目或产品总体出发设计软件产品。开发软件产品时应思考的重点问题如下。
(一)考虑产品的市场前景。系统分析人员不单要从技术的角度来考虑问题,还要顾及市场前景的问题。也就是说,开发软件产品时我们要考虑目标受众是否真正需求我们的产品,并成为产品的忠实客户。这是产品生命力的源泉。
(二)从技术角度考虑问题。虽然技术不是开发时唯一最重要的要素,但是也不可否认,技术是非常重要的。设计产品时要考虑采用先进的技术和体系结构。比如,多线程程序进行中各对个部分并行处理,最好采用多线程处理技术。再比如,在B/S结构下能够运行又不影响系统功能实现的话,那就不一定要用C/S实现。
(三)合理进行模块分割。从多层模型角度来讲,系统一般可以化分成用户层、业务层和数据库层三部分,并且每个部分还可以细分。所以,在系统实现设计时,要尽量分割好各个部分并建立其相互之间交互的标准。而在实际开发时,如果确实有必要的话再重新调整。这样做可以使开发人员各施其职。
(四)合理组织人员调度。要做好这一点,关键在于考虑每个人员的特长,并根据人员的具体情况进行具体配置。同时,要保证每一个开发人员在开发的时候首先完成需要和其他人员进行交互的部分,并且对自己的项目进度以及其他开发人员的进度有一个清晰的了解。这也要求对人员进行合理组织调度,保证不同部分的开发人员能够经常有效进行交流。做好人员组织调度有助于在提高软件开发的工作效率的同时,保证软件设计的质量。
(五)充分考虑产品的实际适用性。开发是一回事,用户用好我们开发的产品又是另外一回事。比如在MIS系统开发中,最简单的操作问题就是当用户数据输入错误时的处理问题;在以流程方式工作时,如何让用户明白自己在流程中的作用,如何让用户懂得利用计算机协作工作也是涉及软件实际应用的一个问题。
作者:袁宝 来源:计算机光盘软件与应用 2011年22期
更多论文请到千里马论文发表网
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回通信学论文列表