详情请登录china-pub网上书店:
精彩样章试读:
你是否经常遇到下列问题:
- 用户频繁的需求变化是否让你应接不暇,你却总是不知道如何拒绝或者让用户看到你的辛劳;
- 你是否在为每日、周、月的工作报告而烦恼;
- 你是否无奈地需要撰写大量文字描述的文档而头痛欲裂;
- 你是否总是面对着最后只有有效代码可以交付的局面,每次进入下一阶段开发后,前一阶段撰写的所有文档统统失效;
- 如何让你的老板、项目经理、客户知道你为这项工作付出的努力;
- 作为项目经理,如何才能构建一个能够同甘共苦的胶冻团队,而不是天天担心技术人员的离职问题;
- 如何通过uml有效实现全过程的开发。
在《软件工程之全程建模实现》中,你将:
- 看到最新的软件工程领域的划分模型;
- 体会到uml开发的无文档的建模开发过程;
- 让任何人知道你曾经为这个工作付出了多少努力和汗水;
- 看到项目一天天的进展和变化;
甚至,你还可以看到未来软件开发的新模式和新办法,那将是超越mda的一种全新开发方式,我们将把自己的能力放在自己最擅长的领域,集中精力在业务分析、系统设计和架构层的实现;企业
有了一定的积累之后,我们将不需要进行那些简单的代码逻辑实现和不断的重复实现,把精力放在有挑战的代码实现上,把基础的代码和已经做过的代码交给系统自动完成吧!
基本信息
作者:青润
出版社:机械工业出版社
上架时间:2010-10-12
出版日期:2010 年11月
作者简介
青润,原名白慧冬,1976年生人,祖籍河南。CSDN特约专家、曾任软件工程版总版主8年,一个在不断摸索实践的国内软件工程方法和技术的亲历者。在国内提倡人性化软件开发管理和全程建模方法论,推动软件开发心理学的研究。1986年开始学习编程,十八年编程经验,十四年软件协作开发经验、十一年工程项目经验、九年项目管理经验。擅长产品规划和问题研究,酷爱算法,视编码为生命,是一个崇尚技术,注重实现的自由职业者。
前言
写作经过
本书的撰写过程整整耗费了8年多的时间。回想起来,初次产生写本书的想法是在2002年的4月,当时笔者正在上海做一个企业ERP项目。这个项目完成后,笔者就觉得实验没有完全成功,因为笔者只是亲自验证了需求部分的实践,而没有时间来完整地验证分析、设计和编码的后续过程,与其他人配合开发的过程,以及将一个模型任务分配给其他程序员的实现过程。直到2002年的7月,笔者有机会到南京参加了一个大型信息系统实用性原型的开发,从而顺利地完成了分析、设计和编码过程的实
践。同时,还完成了一本针对高级用户进行培训的开发过程教材。
经过笔者一段时间对教程资料的整理,以及在2001年中完成的几个项目的经历,笔者
最终完成了本书现有的第3章(分析设计)和第4章(代码模型一致性)内容的第一次成稿。当时命名为《基于Rose的全程建模实例》,并将前几部分发表于《程序员》杂志2002年第10期~第12期。后来因为全文较长,CSDN中国软件开发网,英文全称为China Software Developer Net(CSDN)。国内一个著名的开发者论坛网站。 就将全文直接合发于《程序员》杂志2002年合订本。
该文发表后,笔者来到北京进行一个大型项目的需求调研工作。期间,笔者与Wonder、Ozzzzzz和Lynx几位同仁从上午10点开始一直到晚上7点多
进行了一次长谈。除了讨论软件工程过程的相关内容外,笔者还和Lynx专门针对全程建模过程中从设计阶段到编码阶段可能遇到的问题进行了相当长时间的讨
论,我们的观点略有不同。笔者认为:设计可以有效地转换成代码,实现软件工程的模式,实现设计与编码的分离;Lynx兄则认为:在目前条件下,设计与编码
不可能分开。不过,他认可了在设计人员水平足够高的情况下,是可以实现设计与编码分离的。但是,实现这样的分离对设计人员的要求可能会过高,而在国内这种
高水平的设计人员目前还十分稀缺。
《基于Rose的全程建模实例》全文发表之后,笔者开始撰写《基于Rose的全程建模之二——Rose中的协作
开发》一文。当时,只是打算把Rose中提供的协作开发方式和配置管理工具的配合使用方式全部写出来,但是,随着公司的软件在全国范围内的铺开,笔者发现
自己无法将三种主要的配置管理工具的环境都搭建起来,不得不放弃了对配置管理工具部分的撰写,最终就只剩下本书第5章(协作开发)部分的内容了。
在
撰写《基于Rose的全程建模之二——Rose中的协作开发》的同时,笔者开始规划《基于Rose的全程建模之三——如何进行需求分析》部分的撰写。笔者
于2002年10月开始调研中国电信集团公司的业务需求,并将调研过程中总结的方法和内容写入这篇文章中。这部分内容撰写的时间最长。在笔者第一次到拉萨
出差时,借着期间等待合同小签的空闲时间完成了这部分的主要内容,回北京后完成了全部内容。最后形成了本书的第2章(需求工程)部分的内容。
由于笔者第一篇文章的内容获得不错的反响,而第二篇文章的内容较多,CSDN的孟迎霞认为发表在杂志上不是很合适,于是建议笔者将这些内容全部写出来然后出一本书。因此,笔者在2003年3月决定将所有的文章合并起来作为一本书来考虑。
2003年7月下旬,在完成了需求阶段的内容后,笔者开始整理全书的基础目录部分,于7月底成功地完成了全书的第一次整合。
凭
着笔者在电信集团公司不错的人缘关系,在项目合同基本全部签订之后,笔者开始在集团公司负责实施、处理5个开发商之间的系统接口和与集团系统的上报下发关
系,同时开始规划系统第二个版本(BI版本)的功能。笔者在电信集团公司停留的前两个月,在空闲时间不断地对全书的内容进行修订,经过对书稿的9次打印稿
的纸面修改,最终在9月初完成了对全书的一次整体修订,并向出版社交付了全书初稿。
本书在2004年5月的第1版印刷后,笔者从电信四川设计院辞
职,此后分别在一家外企和中科院自动化所工作了几年,期间独立对外提供技术咨询和培训服务。其中2006年元旦的培训中,很多朋友提供了他们的建议和考虑,尤其是来自山东的朋友满桂平自从2004年7月看过我的书后在后续的几年中不断给笔者提供了他的实践信息和补充材料。
第2版中融合了2004
年~2010年初笔者所总结的除了已经采集了数据还没有进行文章撰写以外的几乎全部方法。其中包括:软件开发心理学的5章的内容,其中2章是首次对外发
布;软件组织方法论的4章的内容,其中实用知识库体系构建一章也是首次发布;在技巧和相关文档一章中,删除了已经过时的对Rational在IBM中的顾
虑、关于Rose与Together的2章内容,补充了项目计划如何做、评审如何做、配置管理工具如何使用以及Use
Case阐述模型化问题及延伸的内容,同时给读者提供了一个最简化开发过程模型的建议——因为在培训和咨询中发现很多企业和院校都有人提到过,不知道什么样的过程是最简化的,哪些是软件开发中可以省略的,哪些是必不可少的。
同时,在这个版本的撰写过程中,还单独增加了软件工程概论一章,以期从整个软件工程的整体层面进行细分,阐述在新技术和环境下软件工程自身形态与过去的区别和变化过程,给读者一个关于软件工程的整体印象,同时对现有的传统软件工程体系进行了一系列的反思并建议了一个初步的针对整个软件工程体系的划分方式。
针对第1版中已经存在的需求工程、分析设计、代码模型一致性和协作开发4个核心章都进行了修订,尤其是对需求工程进行了较大篇幅的修订,将需求代码间的映射关系进行了着重的补充,这也是这几年针对整个方法论中的最重要的补充之一。
本书第2版的积累长达6年多的时间,实际整合和撰写时间长达一年半(可以参看本书修订历史记录信息),但是其中肯定还存在很多不足之处,也希望这些年从事实
践全程建模方法论的朋友们能够不吝赐教,以便于后续的补充和修订,笔者希望下次本书修订再版的时候,您也会出现在感谢名单中或者出现在作者一栏中。
本书特色
本书中所有的示例都来自2001年初~2009年间笔者经历的、采用UML进行建模支持的3个大中型工程软件项目和近10个中小型工程软件项目。通过十多年
来实际工程项目的经验总结,本书采用UML建模方式进行软件的开发,覆盖了软件工程从需求开始,经过分析(概要设计)、设计(详细设计)、编码的导出,以
及设计模型的维护、协作开发等所有主要阶段的内容,本书还包括最近4~5年内参加培训和咨询的学员们提供的各种改进建议和方法。
本书中的所有例子
都源于国内实际的软件工程项目,因此具有很高的现实意义和参考价值。书中的示例和操作技巧,大部分都是第一次公开,其中小部分内容曾经在CSDN的软件工
程版块出现过,但是在CSDN上公开的部分都无法张贴示例图,所以,无法形象地描述清楚,本书的撰写也为此提供了一次完整解释的机会。
本书中关于软件开发方法论以外的大部分内容都曾以对话或者单独成文的方式分别发表于《程序员》杂志、IT168/ITPUB技术社区,最后都曾整理发布于青润的两个主要blog空间,分别是:
青润心情http://blog.csdn.net/qingrun
青润风度http://space.itpub.net/257598/
.青润的其他blog空间都不是主要空间,内容更新会有所不同,而上述两个空间将同步更新所有最新内容,2008年4月以前的内容基本上都在青润心情发布。
由于篇幅所限,本书中没有对UML的基础知识和相关符号进行更多的解释和说明。关于这部分内容,希望读者能主动学习一些UML的基本知识后再来学习本书中的内容。
本书的组织结构
第1章(软件工程概论)从软件工程的总体上讨论软件工程知识的细分问题,其中涉及软件工程方法、软件工程过程,以及软件工程理论的发展和现状。
第2章(需求工程)详细地阐述实现目标所需要进行的前期需求工程的准备,以及需求调研过程中经常遇到和需要注意的一些问题。需求工程的内容可以协助开发人员顺利完成需求调研工作,让用户和开发人员都能得到一个满意的结果。
第3章(分析设计)和第4章(代码模型一致性),详细阐述笔者所持的关于设计过程与编码实施过程可以实现完全分离开发的观点。
第5章(协作开发)介绍了一些关于团队开发过程中涉及的内容。如协作开发步骤、多人协作开发的方式和文档模型结合等第1版中已经发布过的内容。
第6章(软件组织方法论)是本书的一个尝试性的全新扩展,包括了自2005年起发布过的交换编程和可度量绩效管理模型等内容,还有从未发布过的实用性知识库体系构建方面的知识,这些都是软件团队组织形态方面的内容,为整个软件工程理论提供了支撑。
第
7章(软件开发中的心态对抗问题研究),如果提升到一定层面那就是软件开发心理学问题。这一章可以看做是软件开发心理学部分的雏形篇章。由于作者本人的经
历和精力有限,在这个方向上的研究还比较薄弱,目前只能完成这仅有的5个方面的分析,还有至少两类角色的心态研究内容正处于撰写中,已经完成了市场人员心
态和游戏玩家心态的数据积累,但是还不能完成这方面全面的文字阐述。
第8章(技巧和相关文档)是为本书中实现团队开发所需的一些必备资料或技巧。这些文档和资料将协助你和团队实现更快速更高效的建模开发过程。
致谢
本书撰写过程中,尤其是在第1版的撰写过程中,很多朋友对笔者提供了无私的帮助和支持。书中的很多内容也来源于和这些朋友的对话、讨论、争执,甚至部分内容
就是笔者偷师学艺所得。本不敢藏私,但在第1版出版的过程中由于过度仓促,没有能够在书中对这些朋友表示感谢,在这里一并对下面的朋友表示感谢:
感谢在托普工作期间,与笔者一同为了项目而拼命工作的成都中央研究院和上海研究院的朋友们。
感谢在中国电信集团网络发展部工作的朋友和网发部的各位领导,以及曾经在2002年~2004年与笔者一同借调到中国电信集团网络发展部工作的各省电信公司以及几大电信设计院的朋友们。这里就不一一提名致谢了。
感谢2001年~2003年在CSDN软工/管理板块上与笔者讨论的朋友们,他们是:吴晓军(Wonder)、马仲男(Mach)、刘寅虓(Lynx)、杨
威(Ltp3)、刘新生(Ozzzzzz)、周永丽(Rose)、周海峰等。还要感谢孟岩、蒋涛、孟迎霞等CSDN的老朋友们。如果不是孟岩兄2004年
初推心置腹的一番话,估计青润这辈子都不会写书了。
另外,还要感谢2005年后和青润合作的曾在中科院自动化所一起工作和学习的朋友们。
最后,感谢我的妻子朱丹女士在青润没有什么收入的几年中给我的工作和理想的默默支持和奉献。
阅读(1781) | 评论(0) | 转发(0) |