软件开发方法
- 软件开发方法
- 软件开发模型
- 构件与软件重用
- 逆向工程
- 净室软件工程
软件开发方法
- 结构化法:1.用户至上,2.严格区分工作阶段,每阶段有任务与成果,3.强调系统开发过程的整体性和全局性,4.系统开发过程工程化,文档资料标准化,5.自顶向下,逐步分解(求精)
- 原型法:适用于需求不明确的开发,包括抛弃型原型和进化型原型
- 面向对象方法:更好的复用性,关键在于建立一个全面,合理,统一的模型,分析,设计,实现三个阶段,界限不明确
- 面向服务的方法:1.SO方法有三个主要的抽象级别:操作,服务,业务流程,2.SOA分为三个层次:基础设计层(底层服务构件),应用结构层(服务之间的接口和服务级协定)和业务组织层(业务流程建模和服务流程编排),3.服务建模:分为服务发现,服务规约和服务实现三个阶段
软件开发方法------软件开发模型
瀑布模型
增量模型与螺旋模型
构件组装模型
统一过程
敏捷开发方法
- XP(Extreme Programming,极限编程)在所有的敏捷型方法中,XP是最引人瞩目的,XP在一些对费用控制严格的公司中的使用,已经被证明是非常有效的
- Cock burn的水晶系列方法,水晶系列方法与XP方法一样,都有以人为中心的理念,但在实践上有所不同,人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,使用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。
- 开放式源码,这里提到的开放式源码指的是开放源码界所用的一种运作方式。开放式源码项目有一个特别之处,就是程序开发人员在地域上分布很广,这使得它和其他敏捷方法不同,因为一般的敏捷方法都强调项目组成员在同一个地点工作,开发源码的一个突出特点就是查错排障(debug)的高度并行性,任何人发现了错误都可将改正源码的“补丁”文件发给维护者。然后由维护者将这些“补丁”或是新增的代码并入源码库。
- SCRUM 已经出现很久了,像前面所论及的方法一样,该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题
- Coad的功能是驱动开发方法(FDD-Frature Driven Development)像其他方法一样,它致力于短时的迭代阶段和可见可用的功能,在FDD中,一个迭代周期一般是两周,在FDD中,编程开发人员分为两类:首席程序员和“类”程序员。首席程序员是最富有经验的开发人员,他们是项目的协调者,设计者和指导者,而“类”程序员则主要做源码编写。
- ASD方法,核心是三个非线性的,重叠的开发阶段:猜测,合作与学习。
逆向工程