软件开发方法主要有结构化方法、原型化方法、面向对象开发方法、敏捷方法。
、结构化方法
结构化方法由结构化分析、结构化设计、结构化程序设计组成,它是一种面向数据流的开发方法。
结构化分析:依据分解与抽象的原则,按照系统中数据处理的流程,采用数据流图来建立系统的功能模型,从而来完成需求分析阶段的任务。
结构化设计:根据模块独立性原则、软件结构优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,从而实现系统的概要设计。
结构化程序设计:根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。
指导思想:自顶向下、逐层分解。
原则:功能的分解与抽象。
适用领域:数据处理领域,不适合大规模、复杂的项目,并且难以适应需求的变化。
、原型化方法
流程:确定需求→开发原始模型→征求用户对初始原型的改进意见→根据改进意见调整原型
适用领域:适合客户需求不清晰、业务理论不太确定、需求经常变更的情况。也适合系统规模不是很大很复杂的项目。
3、面向对象开发方法
面向对象开发方法基本出发点是尽可能按照人们认知世界的方法和思维来分析解决问题,
组成:面向对象分析、面向对象设计、面向对象实现。
常见的开发方法:Booch方法、Coad方法、OMT方法。
UML统一建模语言是面向对象的标准建模语言,通过统一的语义和符号表示,使各种方法的建模过程和表示统一起来,目前已成为面向对象建模的工业标准。
4、敏捷方法
目标:尽可能早地、持续地对有价值的软件的交付使客户满意。通过在软件开发过程中加入灵活性,敏捷方法可以使用户在开发周期的后期增加或改变需求。
敏捷过程的典型方法
、极限编程XP
极限编程XP是一种轻量级、高效、低风险、柔性、可预测、科学的软件开发方式。
核心价值观:沟通、简单、反馈、勇气、谦逊。
XP原则:快速反馈、简单性假设、逐步修改、提倡修改、优质工作。
XP最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结队编程、集体代码所有制、持续集成、每周工作40小时、现场客户编码标准。
、水晶法Crystal
水晶法认为每个不同的项目都有一套不同的策略、约定和方法论。
3、并列争求发Scrum
采用迭代方法,其中把每30天一次迭代称为一个冲刺,并按需求的优先级别来实现产品。
4、自适应软件开发ASD
基本原则:
有一个使命作为指导
特征被视为客户价值的关键点
过程中的等待是很重要的
变化不被视为改正,而是被视为对软件开发实际情况的调整
确定的交付时间迫使开发人员认真考虑每一个生产的版本的关键需求
风险考虑
IT技术分享社区
个人博客网站: