软件工程之软件开发方法、软件工具和开发环境

软件开发方法

软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。


结构化方法

结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

  • 结构化分析:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。

  • 结构化设计:根据模块独立性准则、软件结构优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。

  • 结构化程序设计:使用3中基本控制结构构造程序,任何程序都可以由顺序、选择和重复3种基本控制结构构造。

结构化方法总的指导思想是自顶向下、逐层分解,它的基本原则是功能的分解与抽象。适合于数据处理领域的问题,不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。


Jackson方法

Jackson方法是一种面向数据结构的开发方法。

JSP(Jackson Structure Programming)方法是以数据结构为驱动的,适合于小规模的项目。JSP方法首先描述问题的输入/输出数据结构,分析其对应性,然后推出相应的程序结构,从而给问题的软件过程描述。

JSD方法是JSP方法的扩展,是一个完整的系统开发方法。首先建立现实世界的模型,再确定系统的功能需求,对需求的描述特别强调操作之间的时序性。它是以事件作为驱动的,是一种基于进程的开发方法,所以适用于时序特别较强的系统,包括数据处理系统和一些实时控制系统。


原型方法

原型方法比较适合于用户需求不清、需求经常变化的情况。当系统规模不是很大也不太复杂时,采用该方法比较好。


面向对象方法

面向对象方法正是以对象作为最基本的元素,它也是分析问题、解决问题的核心。面向对象方法包括面向对象分析、面向对象设计和面向对象实现。

UML是面向对象的标准建模语言,通过统一的语义和符号表示,使各种方法的建模过程和表示统一起来,现已成为面向对象建模的工业标准。


敏捷方法

极限编程(XP)

XP是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式。它由价值观、原则、实践和行为4个部分组成,彼此相互依赖、关联,并通过行为贯穿于整个生存周期。

4大价值观:

  • 沟通
  • 简单性
  • 反馈
  • 勇气

5个原则:

  • 快速反馈
  • 简单性假设
  • 逐步修改
  • 提倡更改
  • 优质工作

12个最佳实践:

  • 计划游戏:快速制定计划、随着细节的不断变化而完善。
  • 小型发布:系统的设计要能够尽可能早地交付。
  • 隐喻:找到合适的比喻传达信息。
  • 简单设计:只处理当前的需求,使设计保持简单。
  • 测试先行: 先写测试代码,然后再编写程序。
  • 重构:重新审视需求和设计,重新明确地描述他们以符合新的和现有的需求。
  • 结对编程、集体代码所有制、继续集成:可以按日甚至按小时为客户提供可运行的版本。
  • 每周工作40小时、现场客户和编码标准。

水晶法:

水晶法认为每一个不同的项目都需要一套不同的策略、约定和方法论。

并列争求法:

并列争求法使用迭代的方法,其中,把每30天一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品。

自适应软件开发(ASD)

ASD有6个基本的原则:

  • 有一个使命作为指导;
  • 特征被视为客户价值的关键点;
  • 过程中的等待是很重要的,因此“重做”与“做”同样关键
  • 变化不被视为改正,而是被视为对软件开发实际情况的调查。
  • 确定的交付时间迫使开发人员认真考虑每一个生产的版本的关键需求。
  • 风险也包含其中。

软件工具

用来辅助软件开发、运行、维护、管理和支持等过程中的活动的软件称为软件工具。


软件开发工具:

  • 需求分析工具
  • 设计工具
  • 编码与排错工具
  • 测试工具

软件维护工具:

  • 版本控制工具
  • 分档分析工具
  • 开发信息库工具
  • 逆向工程工具
  • 再工程工具:主要集中在代码重构,程序结构重构和数据结构重构等。

软件管理和软件支持工具:

  • 项目管理工具
  • 配置管理工具
  • 软件评价工具

软件开发环境

软件开发环境指支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。

软件开发环境的特征:

  • 环境的服务是集成的。
  • 环境应支持小组工作方式,并为其提供配置管理
  • 环境的服务可用于支持各种软件开发活动,包括分析、设计、编程、调试和文档等。

集成型开发环境是一种把支持多种软件开发方法和开放模型的软件工具集成在一起的软件开发环境。这种环境应该具有开放性和可剪裁型。开放性为环境外的工具集成到环境中来提供了方便,可裁剪性可根据不同的应用和不同的用户需求进行剪裁,以形成特定的开发环境。


结束

我是衡钊清,北漂中的一员。

人生格言:[ 做一个决定,并不难,难的是付诸行动,并且坚持到底 ]

今天的苦果,是昨天的伏笔,当下的付出,才是明日的花开!加油!!!加油!!!

  • 11
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值