当前位置:   article > 正文

谈谈软件开发方法_软件开发项目的研究方法?

软件开发项目的研究方法?

     软件工程主要讲述软件开发的道理,软件开发的基本策略,大致总结为以下3点:“复用”、“分而治之”、“优化与折衷”,也是运用于软件开发过程中基本的一些世界观和方法论。

1.软件工程框架

      软件工程聚焦于软件开发,软件开发本质实现问题域中的概念和处理逻辑到运行平台的概念和处理逻辑的映射,而实现映射的基本手段就是建模。为了控制开发的复杂度,我们会基于不同抽象层次对问题进行逐步求解,一个抽象层由一组确定的术语定义,对系统包括系统边界、系统内模型元素以及元素之间的关系进行描述,从而实现建模。

 

      软件工程主张用工程化的方法来进行软件开发,目标是生成具有正确性、可用性和开销合宜的产品。因此,软件项目的成功要以项目所消耗的时间、成本以及满足需求的程度来进行评判。软件工程的原则包括选取适宜的开发模型、提供高质量的工程支持、重视开发过程的管理;涉及到的主要内容,包括软件开发模型、软件开发方法、软件过程、以及为过程和方法提供的支持。

       软件开发模型,即软件生存周期模型,是软件过程、活动和任务的结构框架。软件活动包括需求、设计、实现、确认和支持活动;过程是活动的集合;活动可拆分成任务执行。

       软件开发方法,为建造软件提供技术上的解决方法,即解决“如何做”的问题,也就是提供问题域到处理逻辑域上各个抽象层面的建模方法。

       软件过程,为建造高质量的软件所需完成任务的框架,即软件生存周期过程。其中包括与软件生产直接相关的基本过程、相关方按其目标所从事的支持过程、与软件生产组织相关的组织过程。

      

 

        通过以上三个概念,我们要认识到:软件开发只是软件生存周期过程的一部分;软件是通过一系列的开发方法设计出来的,掌握并能正确运用开发方法,具有事半功倍的作用。 

 2.结构化的开发方法

     结构化方法是一种系统化的软件开发方法,也是迄今为止最传统、应用最广泛的一种开发方法。结构化方法看待世界的基本观点:一切系统都是有信息流构成的(其中包括一些必要的数据变换),每一个信息流都有自己的起点和归属,有驱动信息流程的加工,因此信息处理主要表现为信息的流动。从问题空间到解空间分为了需求分析层、设计层、实现层,分别对应结构化分析方法、结构化设计方法、结构化程序设计方法。

       结构化方法是一种系统化的软件系统建模方法,实现了从问题空间到解空间自顶向下的映射。结构化方法围绕“自顶向下功能分解,数据抽象、功能/过程抽象、模块化”基本原则,给出完备的符号,可操作的过程、易理解的表达工具,并提供了控制信息组织复杂性的机制,如逐层分解、数据打包等。

 

3. 面向对象的开发方法  

       面向对象方法是一种以对象和对象关系来构造软件系统模型的系统化方法。其世界观是:一切系统都是由对象构成的,他们之间的相互作用、相互影响,构成了客观世界各式各样的系统。

     面向对象方法的主要特点为:(1)从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单元,事物的静态特征用对象的属性表示,事物的动态特征(事物的行为)用对象的操作表示;(2)对象的属性和操作合为一体,对外屏蔽其内部细节,实现了封装;(3)对事物进行分类,具有相同属性和操作的对象归为一类,类就是对这些对象的抽象描述,对象就是类的一个实例;(4)通过在不同程度运用抽象的原则(事物之间或多或少的差异),可以得到一般类和特殊类,特殊类继承了一般类的属性和操作,这种继承关系的描述和实现,简化了系统的构造过程及其文档设计。(5)通过聚合关系,可以用简单对象来构成复杂的对象;(6)对象之间只能通过消息进行通信,实现对象之间的动态联系;(7)用关联表达类之间的静态关系。因此,面向对象方法强调运用人类在日常逻辑思维中经常采用的方法和原则,这使得软件开发者能更有效地思考问题,并能通过更加容易理解的方式来进行表达;强调直接以问题域中的事物来思考和认识问题,这也使得系统能够直接映射到问题域,保持问题域中事物及其相互关系的本来面貌。

 

4.敏捷开发方法

       敏捷软件开发又称敏捷开发,是一种新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。敏捷开发没有统一的过程和术语,相对于 “非敏捷”(结构化开发、面向对象开发),它更强调程序员团队和业务专家之间的紧密协作、面对面的沟通、频繁交付的软件版本、紧凑和自我组织型团队、适应需求变化的代码编写和团队组织方式,注重软件开发中人的作用。因此,敏捷软件工程是哲学理念和一系列开发指南的综合,其开发的指导方针强调超越分析和设计(但是并不排斥这类活动)的发布,以及开发人员和客户之间主动和持续的沟通。围绕敏捷软件工程的理念,敏捷联盟概括了一些可以让软件开发团队具有快速工作、响应变化能力的价值观和原则,其中包括4条宣言和12条原则,分别从软件质量、项目规划、态度、团队组成和精神、沟通、进度度量、持续发展、技能和设计、自我调整和适应等多方面给出了指导性说明。

 

5. 总结

       软件工程中提到的软件开发方法,基本都是在软件开发与实践中不断积累的成果总结。从早期以机器处理过程出发的结构化开发方法、到以人类认识世界视角的面向对象开发方法、再到以人的主观能动性持续改进的敏捷开发方法,软件开发方法也随着技术发展和应用场景在不断进步。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/196695
推荐阅读
相关标签
  

闽ICP备14008679号