搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
不是三维:软件项目的设计、开发与管理
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121104848
  • 作      者:
    何小朝著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2010
收藏
编辑推荐
    善于思考,丰富经验,精通技能,做合格的软件人才。<br>    ·从技术与管理两个层面研究软件生产方法论。<br>    ·深入分析软件飞速发展的本质及技术与管理现状,指出软件与三维实物的本质性不同是其至今不能实现有效工业化生产的内在原因。<br>    ·结合作者多年经验,从设计、实现、测试与管理多个角度全面介绍具体的有效实用方法与技术内容。<br>    ·强调代码是软件的核心,指出软件无法完全可视化表达。<br>    ·从软件本质出发,提出以实现为中心的”代码驱动生产“(Code Driving Production)模式、理论与方法,它不同于以设计为中心的传统方法。
展开
作者简介
    何小朝,工学博士,北京大学计算机系博士后,第一届中国软件业十大杰出青年候选人,第十六届世界计算机大会电子商务大会数据管理分会主席,中国青年科技工作者协会第二届会员,中国航空史研究会会员,中小企业创新基金评审专家。作者自1992年起从事软件开发与管理工作,并自2002年起,在北美从事软件系统分析与设计近七年之久。迄今为止,共负责、参与国内外大中型软件项目20多项,涉及网络与分布式系统、数据管理,嵌入式系统及工业设计与生产等领域,历任北京北大青乌信息工程有限责任公司总工程师,北京青鸟华光技术管理部部长、总工程师,青鸟天桥公安事业部副总经理,大唐微电子高级项目经理,北京安德尔国际软件有限公司总经理、董事,北美PPMC技术总监,北京先进数通科技有限公司BI事业部首席架构师等职。在国内外发表科技论文20余篇,多篇获奖,并被美国《工程索引》检索6篇。
展开
内容介绍
    《不是三维:软件项目的设计、开发与管理》从软件与三维实物的本质性不同出发研究软件生产方法论。今天,软件生产中许多传统问题并没有得到质的改善,以“爆炸”形容的技术发展的实质究竟是什么?先进管理模式下的管理现状如何?《不是三维:软件项目的设计、开发与管理》首先深入分析以上问题,指出软件的本质及其至今不能实现工业化生产的内在原因;接着,从软件设计,测试与管理三个方面,系统地介绍了作者多年实践中总结出来的有效实用方法;最后从软件本质出发,提出了全新的先进软件生产模式与方法——代码驱动生产(Code Driving Production),并指出这将是适合软件本质的新途径。<br>    《不是三维:软件项目的设计、开发与管理》适合于从事软件工程研究的科研人员、管理人员与设计人员阅读,也可作为高等学校与计算机相关专业师生的教学参考读物。
展开
精彩书评
    “想象力比知识重要,因为知识是有限的,而想 象力概括着世界上的一切。”<br>    ——阿尔伯特·爱因斯坦(Albert Einstein)<br>    “想想我们计算机程序的糟糕现状吧,很显然,软件开发仍是黑箱艺术,还不能称之为工程学科。”<br>    ——前美国总统,Bill Clinton<br>    “好代码本身就是最好的文档。”<br>    ——编程大师Steve McConnell《代码大全》的作者<br>    “代码自动生成就跟喝酒一样,适度就好。”<br>    ——AleXLowe,编程大师<br>    “伟大的车工值得给他几倍于普通车工的薪水。而一个伟大的软件代码作家,其价值则要等同于一个普通软件写手的价值的1万倍。”<br>    ——比尔盖茨<br>    “在一个有10个人的软件项目团队里,也许3个人生产出来的不合格品就足以让他们成为净户出为负的生产者。”<br>    ——《软件质量保证》一书的作者,Gordon Schulmeyer
展开
精彩书摘
    构方面较重要的发展成果之一。这里,我们说多层体系,是指单应用服务节点的多层结构,SOA或WebService所指的多服务节点的结构不算在内。<br>    回想最初进行软件系统的设计与开发时,除了考虑模块划分与接口问题之外,主要解决的是本行业领域内业务问题的方法或算法,很少有人考虑软件系统的架构与设计模式的问题。<br>    抽象并提出多层体系结构主要是为了解决数据库技术、前台展现技术及软件不断普及后出现的以下几个问题:<br>    ·我们提供的应用服务需要应付大量的用户,需要能同时响应更<br>    多用户的需求,即大家常讲的好的可伸缩性:<br>    ·我们提供的应用服务希望核心数据不能被别人直接访问;<br>    ·我们提供的应用服务希望能将用户界面、业务逻辑与数据访问<br>    等在逻辑甚至物理上分开处理。<br>    于是,软件结构设计者们抽象出了多层体系结构作为标准的设计模式来解决上述问题。其主要思想是,将具有共同特征的部分分离成专门的层,各层之间通过标准协议来通信或交流。现在最普及的多层结构主要指包括用户界面层(展现层),业务逻辑层与数据访问层的三层结构,其中以MVC最为流行。其他还有四层、五层等实际也没有脱离这个范畴,或根据特殊的需求增加了专门处理部分(层)而已。<br>    在实际的工程中,绝大多数应用系统其实都只简单采用了胖客户端c/s结构与瘦客户端的B/s结构,国内的情况是,如J2:EE体系中重量级的EJB和JMS这样的技术,除了少数大型应用领域有使用以外,多数软件开发很少涉及。
展开
目录
第一部分 现状与困惑<br>第1章 困难与困惑<br>1.1 软件项目实施的困难<br>1.1.1 漫长的维护期<br>1.1.2 什么时候开始编码——生产过程控制.<br>1.1.3 开发周期的精确估算<br>1.1.4 需求何时确定<br>1.1.5 令人头痛的边缘问题<br>1.1.6 鲁棒性<br>1.2 飞速发展?——困惑<br><br>第2章 技术方法的抉择——软件设计师的困惑<br>2.1 引言<br>2.2 软件设计师的理想<br>2.2.1 什么是软件设计师<br>2.2.2 技术人员的理想<br>2.3 似有曙光——方法论<br>2.3.1 技术进步带来希望<br>2.3.2 软件技术方法综述<br>2.4 现实<br>2.4.1 新技术手段的使用状况<br>2.4.2 困难没有得到本质解决<br>2.4.3 许多人这样看<br>2.4.4 痛一时,利一生<br>2.5 疑惑——方法的抉择<br>2.6 方法到底解决了什么<br>2.6.1 通用函数库、类库与框架的复用<br>2.6.2 分层体系使生产集中于应用本身<br>2.6.3 面向对象有机描述客观目标<br>2.6.4 “平台无关”是以“时间换空间”<br>2.6.5 其他本质探讨<br>2.7 常用有效技术方法简介<br>2.7.1 分析与设计的组织<br>2.7.2 开发环境的选择<br>2.7.3 编程<br>2.7.4 文档的生成<br>2.7.5 其他环节<br>2.8 本章小结<br><br>第3章 如何有效地服务——技术管理者的烦恼<br>3.1 软件项目管理现状<br>3.1.1 管理过多依赖个人经验<br>3.1.2 管理规则很不成熟<br>3.1.3 管理组与开发组不协调<br>3.1.4 无通用规则可循,各有特色<br>3.1.5 新方法的现实情况<br>3.2 软件项目管理的几个具体问题<br>3.2.1 文档的管理问题<br>3.2.2 设计文档的作用到底是什么<br>3.2.3 过程控制问题<br>3.2.4 测试的问题<br>3.2.5 需求制定的问题<br>3.3 管理者的希望与困惑——CMM<br>3.3.1 CMM简介<br>3.3.2 PSP/TSP<br>3.3.3 CMM应用现状<br>3.3.4 CMM的困惑<br>3.4 究竟怎么回事<br>3.5 本章小结<br><br>第4章 理想与现实——科学与工程的碰撞<br>4.1 软件工程的理想——生产线与复用<br>4.2 工程实践——与理想模式的距离<br>4.2.1 软件是数字化社会的主体<br>4.2.2 软件生产业的主体是什么<br>4.2.3 软件生产工程实践现状<br>4.3 “飞速发展”的本质<br>4.4 本章小结<br><br>第二部分 软件的本质<br>第5章 不是三维——软件的本质<br>5.1 三维空间——人类形象思维的局限<br>5.2 传统产品简析<br>5.2.1 传统产品——三维实体<br>5.2.2 传统产品的核心——设计输出<br>5.2.3 传统产品生产模式——生产线<br>5.3 软件产品简析<br>5.3.1 软件是一种特殊的产品<br>5.3.2 二维可视化设计语言能力分析<br>5.3.3 软件无法完全可视化表达<br>5.3.4 软件产品的核心——代码<br>5.3.5 一个有趣的问题<br>5.4 软件的本质——不是三维<br>5.5 本章小结<br><br>第三部分 软件生产方法论——实践与研究<br>第6章 设计与开发<br>6.1 引言<br>6.1.1 构件化生产与自动化的探讨<br>6.1.2 实用技术方法涉及的内容<br>6.2 应用系统架构设计<br>6.2.1 什么是架构<br>6.2.2 几种常见架构模式<br>6.2.3 实践中的系统架构设计<br>6.3 系统分析与设计<br>6.3.1 软件分析与设计的内容<br>6.3.2 系统整体结构的软件描述<br>6.3.3 整体代码框架搭建<br>6.3.4 系统公共库设计<br>6.3.5 接口设计<br>6.4 代码编制与调试<br>6.4.1 程序结构搭建<br>6.4.2 多线程/多进程程序设计<br>6.4.3 编辑<br>6.4.4 编译<br>6.4.5 调试<br>6.4.6 类型安全<br>6.4.7 跨平台程序设计<br>6.4.8 开源软件代码<br>6.5 面向对象——正确理解与使用160<br>6.5.1 何时使用面向对象<br>6.5.2 如何使用面向对象<br>6.6 设计的结束与输出<br>6.6.1 实效的制度化,而非教条的制度化<br>6.6.2 强化设计结束准则<br>6.6.3 设计阶段的输出文档<br>6.7 本章小结<br><br>第7章 软件测试——质量保证的重要环节<br>7.1 测试技术综述<br>7.1.1 测试的阶段<br>7.1.2 测试的种类<br>7.1.3 常用的测试工具<br>7.1.4 测试步骤<br>7.2 软件测试中几个实用问题<br>7.2.1 手工测试<br>7.2.2 自动化测试<br>7.2.3 测试用例的制定<br>7.2.4 关于测试驱动开发<br>7.2.5 测试时间估算<br>7.2.6 测试人员的素质<br>7.3 对测试标准的探讨<br>7.3.1 软件bug的分布特征<br>7.3.2 测试标准的制定原则<br>7.3.3 测试人员的困惑——测试标准如何实施<br>7.4 软件测试的本质探讨与工业化生产<br>7.5 本章小结<br><br>第8章 软件项目管理方法论<br>8.1 软件项目管理的产生<br>8.2 软件项目管理的作用与地位——为研发服务<br>8.3 软件项目管理的内容<br>8.4 软件项目管理的实用方法<br>8.4.1 软件规模划分<br>8.4.2 软件类型划分<br>8.4.3 软件项目实施的阶段划分<br>……<br>第9章 用软件管理软件<br>第10章 新一代软件生产方法论探索——代码驱动生产<br>后记<br>参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证