摘要
伴随着计算机硬件的发展,尤其是其存储能力的改善,计算机软件行业得到了快速的发展。与此同时,软件用户特别是企业级软件用户,面对复杂的经济竞争环境,对软件产品在其功能和性能方面提出了严格的要求,主要体现在软件产品本身应具有功能的完备性、性能的高效性、可扩展性和可维护性等特征。这种需求导致20世纪60年代中期软件研制行业出现了“软件危机”。这种危机实质是快速变化的应用环境对软件产品研制、更新、升级等高层次的要求与软件研制方法相对落后的冲突。面对软件危机,学术界提出了面向对象的程序设计方法和面向表象的过程开发,而在实际的应用中,在企业界,主要有Rational公司推出的RUP软件开发过程和微软公司MP软件开发过程。然而无论是RUP软件开发过程还是MP软件开发过程,仍然存在不足之处。具体体现在时间效率指标上,软件研制周期过长,导致软件不能及时满足客户的需求;在成本方面,软件研制中,软件企业的人员沟通和协调过于复杂,导致软件企业管理成本过高,软件产品利润相对下降;同时软件产品本身的可扩展性、可维护性并未得到切实可行的实施原则和指导方案。因此,研究如何高效的设计软件产品,满足客户的潜在需求,同时降低软件开发的成本,从而避免软件企业资源的浪费,已经成为学术界和企业界密切关心的问题。鉴于现有的软件工程领域的软件生命周期模型在解决软件开发问题方面存在的局限性,本文在详细的分析RUP和MP软件设计过程基础上,提出了整合RUP和MP的MRUP过程,并提供了实施原则和具体案例参考。文章首先指出了需要研究的主要问题及其研究现状和研究意义,然后论述了目前典型的两种软件研制过程,并且分析其各自的优点和现有的不足。根据两者解决问题的不同策略和突出优点,把两者有机结合提出了MRUP软件研制过程,并结合“学生毕业论文管理系统”的研制过程,将MRUP过程的优点和实施过程加以了详细的论述。最后文章给出了总结结论和进一步研究的内容。
Along with the development of computer hardware, especially the improvement of storing ability, computer software industry has being grown rapidly. In the same time, software users, especially business users, facing such a complicated economic completing environment, have made strict demands on the software function of products and performance, mainly displaying in the features of software products' well-designed function, effective performance, extendable and maintainable characters. Such demands have resulted in the so-called "software crisis". In fact, this crisis is the confliction of the higher level demands that fast changing application environment made on the research, upgrading of the software products and relative backwardness in the RD method of software products.Facing the crisis, the academy has put forward Object-Oriented Programming (OOP) method and Idea-Oriented processing development to resolve it, but in the business industry, it mainly depends on the RUP Software Development Process by Rational company and MP Software Development Process by Microsoft. However, neither RUP nor MP is enough satisfied, it can be first illustrated by the time efficiency indicator and detailed shown in the long software RD cycle thus can't well satisfied the customer's demands. Another factor is the management cost that results from the complex communication and coordination among software developers leading to relatively low products profit. The third shortcoming is its inherent practical implementing principles and directional solution related with the extendable and maintainable trait. Therefore, researching of how to effectively design software products that satisfies the customers' demands and cut down the developing cost to avoid wasting the enterprise's resources in the same time have being become one of the most hot problems in the academy concerns. So, taking all of the current limitations existing in the software engineering into account when resolving software developing problems and basing on the foundation of detailed analysis about RUP and MP, the paper comes up with a new MRUP process accompanying its implementing principles and specific reference cases through integrating RUP with MP.
Firstly, This paper gives the main issues of its research status and research significance. Then discusses the current two kinds of typical software development process, analyzes their respective advantages and the existing deficiencies. According to the two different strategies and their advantages to solve the problem, with the organic combination of the two proposed software development process, this paper makes up the MRUP software development process. With the "Student Thesis Management System" development process, it discusses the advantage of the process in detail. Finally the article gives a summary of conclusions and further research content.
引文
[1]金敏.高级软件开发过程.北京:清华大学出版社,2005,1-90
[2]郑人杰.软件工程(高级).北京:清华大学出版社,1999,57-59
[3]Peter Mc.Breen. Software Craftsmanship. Addison Wesley Publishing Company,2001,112-115
[4]刘江.新技术新动向——2009中国开发者大调查.程序员,2010,(02):58-60
[5]Zhu Y. Efficient processor allocation strategies for mesh-connected parallel computers. Journal of Parallel and DistributedComputing, 1992,16(4):328-337.
[6]Philippe Kruchten著,周伯生译.Rational统一过程引论.北京:机械工业出版社,2002,87-89
[7]William C.Wake. Extreme Programming Explored. Addison Wesley Publishing Company,2002,155-186
[8]Per Kroll著,徐正生译.Rational统一过程实践者指南.北京:中国电力出版社,2004,6-14
[9]张云峰.软件开发项目风险模型分析.电脑知识与技术,2009,(22),65-68
[10]Frederick P. Brooks著,汪颖译.人月神话.北京:清华大学出版社,2002,67-69
[11]Grady Booch, James Rumbaugh, Ivar Jacobson著,邵维忠译.UML用户指南.北京:机械工业出版社,2002,67-71
[12]Ron JetTries,Ann Anderson. Extreme Programming Installed. Addison Wesley Publishing Company,2002,222-236
[13]Watts S. Humphrey.Managing the software Process.北京:清华大学出版社,2002,234-246
[14]陈丽蓉.软件开发项目中的风险管理.海南广播电视大学学报,2008,(04),54-56
[15]Ivar Jacobson, Grady Booch, James Rumbaugh著,周伯生译.统一软件开发过程.北京:机械工业出版社,2002,57-59
[16]孙黎明,刘湘斌.基于CMM的中小型企业的软件项目管理模型研究.电脑与电信,2009,(03):51-53
[17]Philippe Kruchen. Architectural Blueprints——The" 4+1 "View Model of Software Architecture. IEEE Software,1995-05-12
[18]万建成,卢雷.软件体系结构的原理、组成和应用.北京:北京科学出版社2002,77-88
[19]覃征,何坚,谢国彤等.软件体系结构.西安:西安交通大学出版社,2002,98-134
[20]Ed Roman, John Wiley & Sons. Mastering EJB Second Edition.[华北电力大学硕士学位论文],北京:华北电力大学,2002,228-256
[21]Schulmeyer, G.软件质量保证.北京:机械工业出版社,2000,136-186
[22]蒋慧,吴礼发,陈卫卫.UML Programming Guide设计核心技术.北京:北京希望电子出版社,2001,156-167
[23]Watts S.Humphrey. Managing the Software Process.北京:清华大学出版社,2002,234-246
[24]迈克尔·科索马罗著.微软的秘密.北京:北京大学出版社,1996,76-89
[25]Martin Fowler. UML Distilled. Addison Wesley Publishing Company, 2002,33-82
[26]Frank Buschmann, Peter Sommerland, Michael Stal.面向模式的软件体系结构:模式系统.北京:机械工业出版社,2003,58-110
[27]Martin Fowler. Refashion----Improving the design of existing code. Addison Wesley Publishing Company,2002,35-78
[28]Walker Royce.成功的软件管理方式:指导与平衡.IBM中文站点,2005-04-21
[29]Rational公司.Rational Unified Process.http://www.ratinal.com, 2000-02-03
[30]Karl E Wiegers. Software Requirement. Microsoft Press,2000, (12): 04-15.
[31]徐慧,管致锦.基于统一过程的信息系统集成与设计.微机发展,2003,(4):11-08
[32]麻志毅.统一软件开发过程述评.计算机科学,2002-10-04
[33]Mary Shaw David Garlan Carnegie Mellon University,Software Architecture:Prentice Hall Perspective on an Emerging Discipline. 1998-10-10
[34]Rational software, Fundamentals of Rational Unified Process Student Manual [EB]. Rational 官方技术网站,2001-05-18
[35]杨平.现代软件工程技术与CMM的融合.北京:人民邮电出版社,2002,10-11
[36]Serger Demeyer. Extensibility via a metal-level architecture. Journal of Network and Computer Applications,2001, (6):24-29
[37]孙昌爱,金茂忠.软件体系结构描述研究与进展.计算机科学,2003,(11):150-162
[38]张龙祥.UML与系统分析设计.北京:人民邮电出版社,2001,68-101
[39]麦克尔.科索马罗著.微软的秘密.北京:北京大学出版设,1996,256-282
[40]Gary Police著,宋锐译.小型团队软件开发.北京:中国电力出版社,2004, 7-16
[41]Roger Pressman著,梅宏译.软件工程——实践者的研究方法.北京:机械工业出版社,2002,6-21
[42]陈宏刚著.软件开发的科学与艺术.北京:电子工业出版社,2002,87-89
[43]王强,曹平汉,贾素玲等著.IT软件项目管理.北京:清华大学出版社.2004,3-24
[44]谢新泉.RUP方法及其应用研究.计算机工程与设计,2005,(6):46-47
[45]陈宏刚著.软件开发过程与案例.北京:清华大学出版社,2003,76-79
[46]韩雪,孟庆强,刘洁.软件项目风险管理研究.商场现代化,2007,(20),31-39
[47]高卉,郝净.企业软件外包开发项目管理初探.商场现代化,2006,(30),65-67