购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 什么是UP?其他方法能否对其进行补充

软件开发过程(software development process)描述了构造、部署以及维护软件的方式。统一过程[JBR99]已经成为一种流行的构造面向对象系统的迭代软件开发过程。特别是,Rational统一过程(Rational Unified Process,RUP)[Kruchten00]是对统一过程的详细精化,并且已经被广泛采纳。

因为统一过程(UP)对于采用OOA/D的项目来说是相对流行的迭代过程,并且在介绍OOA/D这一主题时必须使用过程,所以本书的结构也沿用了UP的形式。同时,由于UP是通用的,并且是被公认的最佳实践,因此对于业内的专业人士和正要投入工作的学生来说,掌握UP是非常有帮助的。

UP是十分灵活和开放的,并且鼓励引进其他迭代方法中的有用的实践,诸如极限编程(Extreme Programming,XP)、Scrum等等。例如,在UP项目中可以引入XP的测试驱动开发(test-driven development)、重构(refactoring)和持续集成(continuous integration)等实践。同样,也可以引入Scrum的公共项目室(“作战室”)和Scrum日常会议等实践。介绍UP并不意味着低估其他方法的价值,其实恰恰相反。在咨询工作中,我总是鼓励客户去理解并采纳多种方法中的实用技术,而不是武断地认为“我的方法比你的方法好”。

UP把普遍认可的最佳实践(如迭代生命周期和风险驱动开发)结合起来,成为联系紧密并具有良好文档的过程描述。

概括而言,本章介绍UP源于下述三个理由:

1)UP是迭代过程。迭代开发对本书介绍OOA/D的方式,以及OOA/D的最佳实践具有影响。

2)UP实践提供了如何实施OOA/D(和如何介绍OOA/D)的示范结构。这也形成了本书的结构。

3)UP具有灵活性,可以应用于轻量级和敏捷方法,这些方法包括其他敏捷方法(诸如XP或Scrum)的实现,稍后将对此作更多介绍。

本书介绍了UP的敏捷方法,但并没有完全涵盖这一主题,而只强调与介绍OOA/D和需求分析相关的常用思想和制品。

如果不关心UP该怎么办

本书采用UP作为探讨迭代和进化式需求分析及OOA/D的示范过程,因为对该主题的介绍必须在某一过程的语境中进行。

但是本书的核心思想(如何使用对象思考和设计、应用UML、使用设计模式、敏捷建模、进化式需求分析、编写用例等等)是独立于任何特定过程的,并适用于众多现代的迭代、进化和敏捷方法,如Scrum、Lean Development、DSDM 、Feature-Driven Development、Adaptive Software Development 等等。 CL12PH2k4M2mzB3aYTyLWuXZJ66wKcUzMPsD6IX4xCEG9B8PBSBATruT6KDwafIp

点击中间区域
呼出菜单
上一章
目录
下一章
×