本节书摘来自华章出版社《实践者的研究方法》一书中的第3章,第3.6节,作者罗杰 S. 普莱斯曼(Roger S. Pressman),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.6 小结
一个软件工程通用过程模型包含了一系列的框架和普适性活动、动作以及工作任务。每一种不同的过程模型都可以用不同的过程流来描述,工作流描述了框架活动、动作和任务是如何按顺序组织的。过程模式用来解决软件过程中遇到的共性问题。
习题与思考题
3.1 在本章的介绍中,Baetjer说过:“软件过程提供了用户与设计人员之间、用户与开发工具之间以及设计人员与开发工具之间的互动。”对以下四个方面各设计五个问题:(1)设计人员应该问用户的;(2)用户应该问设计人员的;(3)用户对将要构建的软件的自问;(4)设计人员对于软件产品和建造该产品采取的软件过程的自问。
3.2 讨论3.1节所描述的不同过程流之间的区别。你是否能够确定适用于所描述的每种通用流的问题类型?
3.3 为沟通活动设计一系列动作,选定一个动作为其设计一个任务集。
3.4 在沟通过程中,遇到两位对软件如何做有着不同想法的利益相关者是很常见的问题。也就是说,你得到了相互冲突的需求。设计一种过程模式(可以是步骤模式),利用3.4节中针对此类问题的模板,给出一种行之有效的解决方法。
扩展阅读与信息资源
大多数软件工程课本都会详细介绍过程模型。Sommerville(《Software Engineering》,9th ed.,Addison-Wesley,2010)、Schach(《Object-Oriented and Classical Software Engineering》,8th ed.,McGraw-Hill,2010)以及Pfleeger和Atlee(《Software Engineering: Theory and Practice》,4th ed.,Prentice Hall,2009)的书中介绍了这些传统的模型,并讨论了它们的优点和缺点。Munch和他的同事(《Software Process Definition and Management》,Springer,2012)介绍了过程和产品的软件和系统工程观点。Glass(《Facts and Fallacies of Software Engineering》,Prentice-Hall,2002)提出了一种保证软件工程过程的不加修饰且实用的观点。Brooks(《The Mythical Man-Month》,2d ed.,Addison-Wesley,1995)在他的书中虽然没有直接讲过程,但是他用一生的项目学识讲了和过程相关的每一个方面。
Firesmith 和Henderson-Sellers(《The OPEN Process Framework: An introduction》,Addison-Wesley, 2001)为创建“灵活但有序的软件过程”提出了一个通用的模板,并讨论了过程属性和目的。Madachy(《Software Process Dynamics》,Wiley-IEEE,2008)讨论了一种对软件过程中的相关技术和社会因素进行分析的建模技术。Sharpe 和McDermott(《Workflow Modeling: Tools for Process Improvement and Application Development》,2nd ed.,Artech House,2008)介绍了为软件和商业过程建模的工具。
网上有大量关于软件工程和软件过程的信息,和软件过程有关的最新参考文献可以在SEPA网站www.mhhe.com/pressman找到。