软件开发是一门技术,它需要相应的理论、技术、方法、手段和工具来支持。就软件开发技术的发展而言,主要经过了结构化开发方法和面向对象的软件开发方法。
传统软件开发:
结构化开发方法是最早最传统的软件开发方法,也是迄今为止信息系统中应用最普遍、最成熟的一种,它引入了工程思想和结构化思想,使大型软件的开发和编程都得到了极大的改善。结构化方法的基本思想可概括为:自顶向下、逐步分解。通常采用的模型也是瀑布模型。经历以下过程:
结构化开发方法的缺点:
1、重用性差:结构化分析与设计清楚的定义了系统的接口, 当系统对外界接口发生变动时,可能会造成系统结构产生较大变动, 难以扩充新的功能接口;
2、软件可维护性差: 由于软件的可修改性差,导致维护困难,造成维护时费用和成本高,可维护性变差;
3、开发的软件难以满足用户需要:用传统的结构化方法开发大型软件时,往往此系统涉及各种不同领域的知识,在开发需求模糊或需求不断变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。
结构化开发的优点:
1、从系统整体出发,强调在整体优化的条件下“自上而下”地分析和设计,保证了系统的整体性和目标的一致性;
2、遵循用户至上原则;
3、严格区分系统开发的阶段性,每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制;
4、文档规范化,按工程标准建立标准化的文档资料,便于软件在以后的维护。
结构化开发方法的适用范围:
适用于规模较大、结构化程度较高的系统的开发。
面向对象开发方法:
面向对象开发的缺点:
1、开发过程管理要求高,整个开发过程要经过“修改—评价—再修改”的多次反复;
2、用户过早看到系统原型,误认为系统就是就是这个模样,易使用户对软件对公司失去信心;
3、开发人员易将原型取代系统分析;缺乏规范化的文档资料,不利于以后的维护
面向对象开发的优点:
1、编程容易。因为面向对象更接近于现实,所以你可以从现实的东西出发,进行适当的抽象;
2、面向对象可以使工程更加模块化,实现更低耦合高内聚思想;
3、符合人们认识事物的规律,系统开发循序渐进,反复修改,确保较好的用户满意度。
面向对象开发的适用范围:
处理过程明确,简单的系统;涉及面窄的小型系统;不适合于大型、复杂系统,存在大量运算、逻辑性强的处理系统