1、第六讲 信息系统的规划,现代软件工程,第二部分 企业战略与实施,第二部分 企业战略与实施,企业战略与组织-1 市场营销的组织与管理过程 -2 产品管理与产品经理的作用 -3 技术创新与开发管理 -4,第四章 开发管理与研发经理的职责 技术创新与产品开发战略-4.1 新产品开发管理的一般过程-4.2 软件研发管理的主要任务-4.3 研发经理的管理职责-4.4,第二部分 市场战略与软件产品管理,1 创新的意义 2 技术创新的内涵和贡献 3 技术创新的战略与选择 4 技术创新的主要内容,4.1 技术创新与产品开发战略,4.1.1 创新的意义,创新的意义 新产品是保持企业市场占有率和利润持续增长的基础
2、企业的观点 技术进步是在国际大环境下生存的必要条件政治经济的观点 人口的增长、资源的枯竭、社会的发展、生活水平的提高,需要新的经济增长点社会的观点,组织创新的内容,目标创新 技术创新 要素创新 材料创新:新来源、低成本替代品、质量和性能高的材料 设备创新:机械化和自动化、技术改造、有计划更新 人事创新:吸引外部人才、教育与培训内部员工 要素组合方法的创新:生产工艺、生产过程的组织 产品创新:品种创新、结构创新;是技术创新的核心 制度创新:产权制度、经营制度、管理制度 组织机构和结构的创新 环境创新:主要是市场创新,创新的过程和组织,创新的过程 寻找机会 旧秩序中的不协调:技术的变化、人口的变化
3、、宏观经济环境的变化、文化与价值观的变化 内部系统中的不协调:生产经营中的瓶颈、意外的成功和失败 提出构想:分析原因、预测趋势、估计后果、想办法解决 迅速行动:1970s 施乐的由MBA占用的29层高楼的设计 坚持不懈:屡败屡战、“最后五分钟”的坚持 创新活动的组织 正确理解和扮演“管理者”的角色:维持与创新 创造促进创新的组织氛围:无功就是有过 制定有弹性的计划:5-10%的工作时间做自己感兴趣的事 正确地对待失败:每人每天至少要犯十个错误 建立合理的奖酬制度:物质与精神相结合、奖励特殊贡献、促进竞争与合作,企业技术创新,技术创新的内涵和贡献 技术创新的源泉 技术创新的战略及其选择,4.1.
4、2 技术创新的内涵和贡献,创新与技术创新 概念 技术: 用于将原材料转变成产品的方法、工艺、系统和技能。更广义地说,是科学的商业化;是将科学知识系统地应用于新产品、工艺和服务。 创新:是技术的 变革告别以往的方法。 熊彼特的创新:新产品、新方法、新市场、新原料来源、新的工业组织 创新与发明:随身听、集装箱 技术创新的内涵 材料创新 产品创新 工艺创新 手段创新(物质生产条件) 技术创新的贡献:性能与价格,技术创新的源泉,意外的成功或失败 意外的成功易被忽视 纽约最的一家百货公司的家电销售额激增 What? Why? Where? How? 企业内外部的不协调 宏观或行业环境与企业经营业绩的不协
5、调 消费者价值观判断与实际不符:赫鲁晓夫汽车论 过程改进 新工艺、新方法 科技发展、劳动力供给 行业和市场结构 行业规模和分散度、顾客需求特点:汽车业的分化 人口结构 数量、年龄结构、收入构成、就业水平、受教育程度 观念的改变:卖鞋给不穿鞋的岛民 新知识的产生:银行理论与最早的商业银行,底特律不可能的梦想,两年前,福特汽车公司的布莱德福特.贝茨预测在他的有生之年将无法看到小汽车装上他所酷爱的太空时代动力设备燃料电池因为那需要未来30年才能实现。燃料电池很有潜力成为长期的最佳解决方案,我们的燃料电池测试车每加仑燃料可行驶80英里,其航程可达300英里。通用汽车副主席哈利.皮尔斯。丰田要第一个将此
6、车推向市场,奔驰预测2006年销售40000辆,福特投资4.2亿美元加入梅塞德斯与燃料电池供应商的合作,通用预测 2010年将生产200000辆,克莱斯勒已经与之合作。需80千瓦的动力,每千瓦的成本250美元,预计售价近20万美元。10年前预计为2000万美元。,驱动技术发展的力量及其所遵循的模式必须存在技术的需要或需求。如果没有需求的驱动,技术创新就不可能发生。 2. 满足这种需求在理论上必须是可能的,从基础科学能得到所要求的知识。 3. 我们必须能将科学知识转变成工程和经济的概念。如果我们在理论上能做 某事,但是在经济上无法实施,你就不能期望技术出现。 4. 资金、熟练工人、时间、空间以及
7、其他开发技术所需的资源,必须可获得。 5. 识别和聚集所必需的一切要素时,需要有企业家精神。,提高创新传播速度的五种属性:1. 较之以前的技术有很大的优势。 2. 与现有的系统、步骤、基础设施以及思维方式兼容。 3. 避免过于复杂。 4. 能轻易地尝试或被测试,而无须很大的成本或投入。 5.易于观察和复制。,4.1.3 技术创新的战略及其选择,创新基础的选择 基础研究:晶体管技术(1960s) 创新对象的选择 (原材料、)产品、工艺、生产手段 创新水平的选择 技术领先 技术跟随 创新方式的选择:独自开发、合作开发 GE与法国斯奈克马公司合作开发一种新型飞机引擎,耗资10-20亿美元,历时10年
8、 日本核心技术局1986年的一份调查:261家企业中90%有合作研究的经验、70%和竞争对手有过共同研究项目,技术领先的优势和劣势,评估技术需求 评估现有技术 萌芽技术是指那些仍处在开发中尚未被证实的技术,但是他们可能在更远的未来使竞争的规则发生重大改变。 加速技术还需充分证明他们的价值,但是仍有潜力通过改变竞争的规则带来重要优势。 关键技术已被证明为有效的,但他们同时还提供了战略优势,因为不是所有人都使用它,对这些技术的了解和普及都被限制,因而他们能持续提供一些先行者优势。 基础技术是那些行业内的普遍技术,每个组织都必须用它才能运作,它们提供的竞争优势是有限的。评估外部技术趋势基准化扫描,4
9、.1.4 技术创新的主要内容,技术过程的创新 经济过程的创新 管理过程的创新,产品创新,管理创新,R&D活动,市场创新,组织创新,技术创新的模式,技术创新的驱动模式1、技术推动的线性模型:基础研究应用研究开发经营2、市场拉动的线性模型:市场需求应用研究开发经营生产经营 技术创新的过程模式 1、 产生新设想新发明 2 、新设想向产品转化 3 、新产品走向市场,技术创新与科学技术的结构,解读“科学技术研究的象限模型”,追求基本认识?,应用考虑?,Y,N,N,Y,研究由引起:,技术创新的主体,企业:技术创新的主体 技术创新的激励结构政府的制度安排和企业的制度创新 技术创新的微观主体 创新决策主体-企
10、业家 创新R&D主体-研发人员 生产技术创新主体-工程师技术工人 市场创新主体-营销人员 管理创新主体-管理人员 创新主体之间的协同与竞争,技术创新的动力和阻力,技 术 创 新,来自销售人员 新产品难卖 市场更细分化 竞争更激烈 周期更短,来自财务人员 研发费用增加 招聘新的人员 生产率降低 失败风险加大,来自研发人员 技术难度加大 技术风险增加 工作量增加 新的技术要求,企业能力的提升,较大的技术优势 较好的经济效益 较高的管理水平,动力,阻力,4.2 新产品开发管理的一般过程,1、新产品的战略选择 2、新产品的概念形成 3、构思收集和处理 4、新产品的设想评价 5、进入新产品开发流程,新产
11、品的概念和分类一般来说,新产品应在产品性能、材料性能和技术性能等方面(或某一方面)具有先进性或独创性,或优于老产品。新产品可分为以下几种:(1)全新产品(2)改进新产品(3)换代新产品(4)本企业新产品 企业不是盲目开发新产品的,它是根据企业的总体战略、市场战略,制定产品战略情况下,决定新产品的开发。,4.2.1 新产品的战略选择,产品经理制定产品战略扩大市场份额?增加利润空间?进入目标领域?提升品牌形象?,新产品试制,市场战略决定产品战略,新产品开发的动力模式 1、技术导向型:从最初的科学研究出发开发新产品,以供给的变化带动需求的变化。技术生产市场 2、市场导向型:从市场需求出发进行新产品开
12、发。市场 研发生产市场,战略管理,战略即方向 战略代表重点选择 战略代表资源分配 战略是建立在自己的竞争优势之上的 战略的的也是为了保持长久的竞争优势 战略指挥功能部门 战略是对资源与行动的长期承诺 战略雄心与落实执行是必要条件 战略制定是企业负责人责无旁贷的义务,战略计划,企业高层基于以下信息决定主攻商业领域和未来的行动 当前用户和潜在用户 当前产品和潜在的产品 主要趋势(工业,竞争,经济等) 企业核心能力 企业的使命和形象 每个机会的相对价值 产品的业务量 资源,市场选择的出发点 1、从消费者需求出发 2、从挖掘产品功能出发 3、从提高新产品竞争力出发 4、从提高产品利润水平出发 5、,新
13、产品战略机会选择,新产品战略,机会 潜力很大,机会 不合适,机会 不合适,机会 特别适合,必须关注的五种竞争力量,1. 现有竞争者,3. 潜在竞争者,2. 替代品,4. 供应商,5. 买方,三个根本策略,竞争优势低成本 差异化竞 整体市场 争 范 围 划分市场,成本领导,差异化,成本集中,差异集中,自身状态分析,策略形态,环境趋势,自身条件,目 标 设 定,功能政策,组织与结构,行动绩效,技术选择1、技术的含义和分类 国际知识产权组织根据技术的内容和特征,对技术所下的定义是:技术是制造一种产品或提供一项服务的系统知识,这种知识可能是一项产品或工艺的发明、一项外形设计、一种实用新型、一种动植物新
14、品种、也可能是一种设计、布局、维修和管理的专门技能。 按功能可分为三类: 产品技术 生产技术 管理技术,新产品战略机会选择,2、技术选择的三个方面 技术开发的选择 指导思想:开发的技术与企业的生产战略保持一致。 技术引进的选择 技术引进的好处: (1)节省时间; (2)节省费用; (3)减少风险。 引进方式: (1)硬件引进; (2)软件引进 技术地位的选择 企业追求技术领先地位或技术跟随地位。 考虑因素: (1)企业核心能力; (2)率先创新优势; (3)技术领先的持久性,新产品战略机会选择,3、技术选择的注意点 自动化程度最高最佳决策 产量决定技术水平的一个重要变量 两种自动化技术 (1)
15、刚性自动化(fixed automation) (2)柔性自动化 (flexible automation),新产品战略机会选择,三种类型的研究比较:,关键创新要素的来源,关键创新 要素来源,市场 营销,竞争产品,生产,技术,重新定位,特许扩大,用户研究,工艺制造,产品质量,降低成本,内部,外部,商标,销售实力,交易地位,技术研究,应用研究,生产开发,合资,许可证,收购,差距分析与目标设定,比较分析,战略差距,进入新市场,产品改进 生产扩大,管理人员,要求结果,分析,状态分析,潜在结果,预期结果,管理目标,结果差距,差距,创新目标,新产品开发的方式,需求驱动 竞争驱动 技术驱动,市场分析,设想
16、形成,概念发展 用户筛选,产品开发,用户测试,商业分析,市场试销,商 业 化,概念确定 和筛选,产品开发,技术需要 应用设想,技术工程 可行性,商业分析,原型开发,改进完善,生产测试,新产品开发的方式 1、独立研制方式 2、联合研制方式 3、技术引进方式 4、自行研制和技术引进相结合 5、仿制方式,1、产品竞争领域方面 产品类型和等级 最终用户应用/活动 顾客群 用户状态:现有/新 人口统计方面 消费心理统计方面 分销状态 技术分析 市场 销售,新产品创新大纲(分析报告),2、新产品的目标A:发展: 迅速发展 受控发展 维持现状:更新 受控收缩:转移 B:市场状况: 创造新的市场机会:进攻型
17、维持市场占有率:防守型 放弃该市场 特殊目的 多样化 季节性调整 避免被收购 建成生产线提高产能 改善投资/资产收益率 资金回笼 维护/改善企业形象 其他,3、实现目标规划A:关键创新要素的来源1、市场/市场营销 竞争对手的产品 市场重新定位 特许权扩展 商标/公司名称 销售人员的特许权 交易地位 用户研究:未满足的需求 2、生产/经营 工艺/制造技术 产品质量 降低成本 3、技术创新 内部资源 基础研究 应用研究 开发/生产 外部资源 合资公司 许可证 收购,新产品创新大纲(分析报告),B:所用创新程度1、先导 艺术性突破 杠杆性创造 应用技术 2、适应:技术性/非技术性 3、模仿/竞争 紧
18、跟战略 分片特许 经济手段:价格竞争,C:次序/时机选择1、率先进入2、敏感反应3、迟钝反应,新产品创意能否形成,需要以下三个因素:,产生非凡的创意,创造性的机制,创造性人才,挖掘与 开发需求,4.2.2 新产品概念的形成,新产品开发的一般过程 1、市场需求驱动模式下: 产品需求分析 市场研究 竞争对手分析 2、技术驱动模式下: 产品构思 3、需求评估 4、方案筛选 功能分析 功效分析 使用分析 属性扩展分析 5、可行性研究 6、产品初步设计和模拟实验 7、系统分析 8、试制和鉴定 9、试销 10、正式投产和上市,4.2.2 新产品概念的形成,市场调研过程,设定目标,收集原始资料,设计定性研究
19、,设计定量研究,收集原始资料,进行研究,分析资料,准备报告,分析资料,准备报告,探索性研究,需求评价,问题分析(也称问题清单、差异分析、功效缺陷、需求满足和缺陷表) 第一步:确定要研究的类别 第二步:识别这一类中的主要用户 第三步,搜集这些用户的问题:直接交谈、集中小组、讨论会、观察、扮演角色。 第四步,确走这些问题的影响程度和发生频率 可备选的方法:征求专家意见、新闻媒介、投拆记录 差距分析 描述性差距(来自属性分析) 决定性差距(产品使用表、判断决定) 感觉性差距(感觉表、用户感觉) 倾向性差距(上面两表相结合) 市场细分 逐步细分市场,直到找到了未满足需求为止。 相关商标情况 比较商标属
20、性 商标弹性分析,问题分析,目前问题 解决问题 潜在问题 防范问题 正常消耗 维持稳定状态 获利机会 开发 快乐感受机会 享受 与产品有关问题 消除矛盾 满意/受挫 状况重组,差异分析,1.描述性差异属性分析的一个目标就是要在一个给定的市场上确定产品间没有意识到或料想到的差异。因而,如果要列出螺丝刀的属性,很明显的是,有小头、长而细的螺丝刀,也有大头、粗而短的螺丝刀。研究人员会很快注意到,没有长而粗却是小头的螺丝刀。对此很好解释:小头的螺丝刀很少需要一个粗柄以通过手腕上施加大的力矩。这样就确定了一个差异,但这种判断 没有什么价值。,差异分析,2.决定性差异 第二种差异分析方法和上一种极其类似,
21、不同的是:(1)研究的方面在数量上减少并且经过仔细挑选;(2)差异是在图上分析的。 产品属性有许多方面,不过这里有两方面是重要的。 产品不同的属性和产品相同的属性。 对用户重要的属性或对用户不重要的属性。,差异分析,对用户很重要 用户不太关注 经济性,舒适 最大速度 购买成本 安全气囊数 产品属性不同的 产品属性相同的 式样,舒适度 轮子数或污染程度 油耗/公里 功率(马力) 相同的 不同的不重要的很重要的 决定性,差异分析,3.感觉性差异 感受性差异分析方法不象前面两种方法是让研究人员对属性进行评分,它要求用户来决定产品属性,包括他们认为给定的产品有什么属性,每个产品大致的级别。 通常的方法
22、是: (1)研究者的判断;(2)消费者本身的民意测验; (3)因素分析中的统计技术等。 4.偏好性差异 差异分析中的另外一种先进方法是征求偏好,上面讲过的差异分析都没有考虑偏好,主要考虑到属性不相互结合预示着可能的机会差异。但我们也可以问问用户想什么或喜欢什么。,4.2.3 构思收集和处理,技术部门(研究与开发部门、市场营销部门和产品部门中的富有创造力的人员,是新产品构思的主要来源。 但是除此之外,新产品构思还可以有其它的来源,而且大多数新产品经理都十分注重对这些来源的培养。它们是:,构思收集和处理,竞争性产品分析的拆解法: 第一步购买存在竞争性的产品要最新的 第二步逐一地拆解产品,每一个螺帽
23、、每一个螺钉、每一个接合部,得到基本的部件。 第三步反向设计产品。在拆解产品的时候,要绘出图纸、列出零件清单,以及研究制造方法。 第四步建立成本。利用能够获得的人工成本、原材料成本和间接费用,精确地估算竞争对手为制造该产品总共花费的资金。 第五步确定规模经济。在已知和预测生产过程,并且结合销售价格的条件下,估算竞争对手的利润。,设想评价,战略,4.2.4 新产品的设想评价,设想,技术开发(初步) 改进,营销计划(投放前) 投放后),评价是一种判断,即通过对比和比较的方法来判定产品的价值,因此,对于判断的目的,我们必须清楚,然后,我们再来考察在评价工作中可能遇到的困难,它使我们了解到,为什么评价
24、工作是整个新产品开发过程中面临麻烦最多的地方。,评价的目的与可能的困难,1.除去亏损大和必定亏损的产品; 2.指出潜在的、盈利大的产品; 3.提高整个产品创新工作的效率; 4.为后续工作提供指导; 5.维持新产品开发活动的平衡。新产品开发面临的压力1、压力:费用高、成功率低、风险大、回报率下降。 2、新产品开发失败的原因:没有潜在的用户需求;新产品与当前的需求不匹配,要么不能满足需求,要么需求过剩;在营销方面,特别是在将产品介绍给顾客的相互沟通方面的工作不得力。,产品开发对生产成本的影响,1、福特汽车公式的报告表明,尽管产品设计和工艺费用只占整个产品费用的6%,却影响了总费用的70%以上。 2
25、、Sun认为制造生产率的70%80%是在设计和工艺阶段决定的。 3、所有质量问题的40%可以归因于低劣的设计和工艺。 4、产品设计还对组织有影响力。,新产品开发期间的投入和收入预测,评 价 系 统,评价过程,评价决策矩阵取AA或BB,市场估计,投放市场后失败概率大A,投放市场后成功可能性大B,A 评价不高,B 有价值,AA,BB,AB,BA,产品评价,评价决策矩阵被排斥的新产品,不适当的技术或不适当的产品,开发,其他方面的错误,如成本高、服务要求受到限制、与某些竞争产品过于相似,不适当的 创新程序,不适当的消费或不适当的用途,R&D费用确定及管理 1、决定R&D费用的常用方法 (1)定率法 (
26、2)定额法 (3)比较法 (4)经济评价法 2、 R&D费用的管理 (1)事前计划 (2)中间控制 (3)事后分析,1、评价工具:筛选与原型测试产品使用测试用户试用与市场试销 2、评价标准(1)技术评价标准(2)生产评价标准(3)财务评价标准(4)市场评价标准(5)管理评价标准 3、评价方法(1)综合评分法:按产品的功能、产品的销路、利润率、开发能力、环境污染等评分。(2)经济评价法投资回收期法平均收益率法资金现值法盈亏平衡销售量法,新产品的评价工具,新产品-10个主要成功因素,#1唯一的出众的产品 #2面向市场和客户为中心的新产品开发流程 #3面向国际的设计和市场定位 #4良好的调研 #5准
27、确的产品定义 #6适当的组织结构和气氛 #7准确的项目挑选和项目优先级别 #8一致的,完整的和高质量的运作 #9速度 #10多层的,多级的,规范的和系统的流程,4.2.5 进入新产品开发流程,主要的子流程 硬件开发流程 软件开发流程 质量控制流程 文件控制流程 项目管理流程,新产品开发流程,新产品开发过程应做到: 可以保证产品开发具有稳定的重复性 可以对开发的进程进行有效的控制 保证产品的设计质量 为提高产品的设计质量提供依据 预见并缩短产品开发时间,产品开发流程,它是包含一系列步骤把一组需求和思想转化为市场上成功的产品的流程,Idea,Phase 1,Gate1,Phase 2,Gate2,
28、问题 需求,Phase 3,Gate3,$,流程的属性,为团队提供职责和输出的路标(roadmap) 流程对所有人是可见的(visible),可认知的(known)和可以理解的(understood) 支持质量运作 以完美为目标 多功能的(multi-functional) 提供并行任务,阶段(Phase)的属性,每个阶段包含一系列的指定的并行活动(activities) 每个阶段是多功能的 每个阶段一般比上一阶段花费高 每个阶段之前有(入口)GATE,闸口(Gate)的属性,帮助维护焦点,保护资源 质量控制点,通用的7阶段参考模型,概念建立,商业评估,集成产品 开发,产品测试 和试运行,产品
29、批量 生产,产品投放,Phase 1,Phase 2,Phase 3,Phase 4,Phase 5,Phase 6,Phase 0,问题,概念 定义,产品 授权,生产$,开发$,产品开发流程框图-概况,立项,系统 定义,系统 设计 子系统 模块定义,子系统/ 模块设 计及测试 系统定义,子系统/模 块认证及 测试系统 设计,系统认证 和测试系 统认证,试生产 (Pilot-run),完成,技术评审1,技术评审1,技术评审1,技术评审1,技术评审1,技术评审1,phase1,phase2,phase3,phase4,phase5,phase6,主要的子流程,硬件设计流程 软件设计流程 文件控制
30、流程 质量控制的Gate流程 项目管理流程 错误报告及纠正流程 系统工程流程,开发的组织结构,开发部门,硬件设计组,软件组,文档控制,机械设计组,系统设计组,开发支持组,设计更改控制,射频设计组,数字设计组,技术文档编写,系统测试组,信号完整设计组,软件系统设计组,软件设计组,软件系统测试组,考虑组织结构的出发点,按职能划分部门 稳定的结构 有利于资源在项目间的共享 知识和经验共享 知识管理 人员管理,开发的项目组织结构,决策委员会,项目经理,项目协调员,阶段4组长,阶段3组长,文档控制员,阶段5组长,硬件设计,硬件定义,阶段6组长,阶段1组长,软件设计组,阶段2组长,硬件测试,公司总经理,研
31、发,营销,财务,产品组,行政,单纯以产品为中心的组织结构、核心技术和基础产品开发阶段,多采用此模式,研发经理,研发经理在组织中的位置,产品组,产品组,开发的项目组织结构,矩阵式组织结构形式,公司总经理,项目经理,研发经理,产品研发研发部门 项目开发项目管理部门 双重机构,双重领导 按项目管理的方式组织、具有临时性和动态性,研发经理在组织中的位置,研发经理,研发经理,研发经理,项目经理,项目经理,项目组,一般软件开发的组织结构,软件经理/主管,系统测试组 组长,系统设计组 组长,软件设计组 组长,软件质量保证 SQA,软件配置管理组,系统工程师1,系统工程师2,系统测试 工程师,。,系统测试 工
32、程师,。,软件结构 工程师,设计 工程师,。,软件配置 工程师,软件文档 工程师,。,一个研发组织结构的案例,基于产品线模式的研发组织结构案例,基于产品线模式的研发组织结构案例,基于产品线模式的研发组织结构案例,基于产品线模式的研发组织结构案例,硬件设计流程,立项,系统 定义,系统 设计 子系统 模块定义,子系统/ 模块设 计及测试 系统定义,子系统/模 块认证及 测试系统 设计,系统认证 和测试系 统认证,试生产 (Pilot-run),完成,硬件子 系统定义,硬件子 系统设计,硬件子 系统测试,单元说明 (US),单元设计 测试计划 (DTP),单元 生产测试 程序(TP),原 理图(SD
33、), PCB, BOM等,设计测 试结果 (DTR),设计输出,phase1,phase2,phase3,phase4,phase5,phase6,软件设计流程-mapping,立项,系统 定义,系统 设计 子系统 模块定义,子系统/ 模块设 计及测试 系统定义,子系统/模 块认证及 测试系统 设计,系统认证 和测试系 统认证,试生产 (Pilot-run),完成,软件 系统需求 说明,软件模块开发: 定义/设计/编码/测试,软件 系统定义,软件集成 测试,系统集成 测试,phase1,phase2,phase3,phase4,phase5,phase6,设计输出,软件系统需求 分析报告 SS
34、RAR,软件系统需求 说明书,软件 系统测试描述 文档,软件系 统测试计划, 软件结构设计 文档 SSP/GSTD/ GSTP/GSRS,模块软件需求说明书(SRS),模块软件设计文档(SDD),模块软件测试计划(STP),源代码(Code),实施测试计划(STP),测试结果(STR),软件(load), 软件系统测试 结果报告 (GSTR),系统测试 结果报告 (软件部分) (SVR),软件设计阶段,系统需求 说明,模块1软件需求 说明(SRS),软件系统 需求分析,模块1设计编码,系统集成 及测试,模块n软件需求 说明(SRS),软件模块1 测试计划,模块 测试,系统测试 计划,软件结构,
35、模块n设计编码,软件模块n 测试计划,模块 测试,系统认证 测试,相关工作量,人员数目,项目管理,评审,状态报告,文档管理,用户培训,1、构架定义与评估 2、组件开发 3、外购管理 4、核心资产挖掘 5、需求工程 6、软件系统集成 7、软件质量保证 8、理解领域知识 9、技术规划 10、技术预测和风险防范 11、工具和平台支持,4.3 软件研发管理的主要任务,基于软件架构的开发,以构架为中心的软件开发模式,是近几年来软件界大力推崇的一项最佳实践,它较好地解决了软件开发中以往难于克服的多个难题,如需求的变更问题、系统功能扩展的困难、系统的设计基础脆弱的问题等等。软件构架与系统的软件需求往往不是一
36、一对应的关系,通常软件构架的设计应当基于超出当前软件需求定义的边界之外、更为广泛的需求超集,这个需求超集通常而言就是业务领域模型。真正健壮的软件构架应当面向整个业务领域,因为系统的软件需求不管如何变化,其内容仍然处于原有业务领域的范围之内,这样软件构架将毫不费力地适应这些新的需求变更。,软件架构对领域知识的高度抽象,不同的应用系统,每个应用系统向最终用户提供一组相关的服务,特定业务层支持特定应用领域或组织的特定业务逻辑功能,成为业务构件更细化的业务操作,与平台无关的分布式计算和数据访问处理,特定平台的接口,软件架构对领域知识的高度抽象,应用系统,出纳服务,业务逻辑,联机事务处理中间件,数据库访
37、问,系统安全控制,数据访问,数据库,数据库,软件构架的具体技术,我们在系统设计部分进行介绍 构架的重要性: 1、构架是开始把需求转换到解决方案的第一个设计产品 2、系统的属性(性能、可修改性、可用性)在很大程度上是由构架决定的。如果构架不好,不能适应这些属性的要求,系统将永远不可能获得这些属性 3、构架决定了开发项目和最终系统的结构和管理,项目组的成立、资源的分配,都是围绕着构架进行的 4、要了解系统、只能从构架开始 5、正确的构架是保证系统稳定的前提,4.3.1 构架定义和评估,构架的需求: 一个成功的构架,有时可能要考虑以下需求: 在构架的生命周期范围内,支持新功能和新外设之间的柔性集成
38、因添加新外设而进行的系统扩展,不需要升级所有的软件模块 一个有效的测试方法是,避免对系统所有配置进行测试 支持在不同地点的开发,然后在一个平台上生成产品 在新版本发布的间隔期间,做出对市场和用户的必要的响应 同时提供对内部变更和外部变更的支持,4.3.1 构架定义和评估,构架方法: 自顶向下;从需求出发,通过一系列细化来定义构架、并随着开发的进展,验证、修改,获得构架的一致性和完备性。 在功能设计之前,先考虑系统的基础结构。基础构架是系统执行应用程序必不可少的部分。操作系统、通信协议、中间件、系统专用的支持功能,都是基础构架的组成部分。 在功能开发的过程中,抽取基础结构,建立构架。 构架风格:
39、 构架不是从零开始的,构架的风格,就是行业知识体系的存在形式,也是构架的设计模式 构架风格定义了一组组件类型、指定了相互间连接的拓扑模式、运行时的交互作用。风格与业务模型紧密关联,4.3.1 构架定义和评估,组件接口: 组件接口当然首先应能说明:组件名称、指定参数的类型和数量。 组件与一般程序调用不同的是,它还要说明其操作等 接口通常采用规格说明的方式说明 规格说明规定了组件内部属性: 静态:服务的前置和后置条件、变量定义、服务交互的约束条件 动态:状态机描述、时序逻辑(时间处理顺序、间隔)等的约束条件 组件的外部属性: 性能(负载能力、吞吐量) 可靠性,4.3.1 构架定义和评估,组件应用:
40、 过程调用是组件最古老、最普遍的应用 在现代分布式应用系统中,常用到的组件有: 远程过程调用 通信协议 . 以上这些方法,就是所谓“中间件”技术 在现今市场上,最主要的中间件技术有: 公共对象请求代理构架(CORBA) 分布式对象组件模型(DCOM) JaveBeans,4.3.1 构架定义和评估,构架评估:系统构架是系统最早的设计决策是系统质量目标(安全性、可靠性、可用性、可更改性、实用性能满足性)等的基础是系统开发、管理、维护、用户、测试、市场、产品人员工作的公共平台对构架的依赖越来越高,风险也越来越大评估的方法,与软件评审方法类似,时机应该在系统概要设计完成,详细设计开始之前进行必须有详
41、细和明确的评估准则,例如: 一个业务系统的特定功能目标,导致的特殊行为需求和质量属性目标,与构架支持范围的矛盾和平衡,4.3.1 构架定义和评估,软件组件:在一个软件构架下,根据某些规定的接口、内部连接方法和其他组件集成,实现具有明显的上下文依赖性的指定功能的单元。 组件的远祖是子程序,而现代组件的规模更大、更复杂、能应用于更高的领域、具有比子程序调用更加复杂的交互机制。但其中的概念和原理,是相同的。 组件开发的目的,就是将开发人员的注意力,从程序细节,转到构建系统。 组件的基本假设:在许多大型应用系统中,存在足够多的共性,以至于有必要和可能,开发可重用组件,来满足这些共性。 组件:内偶合度高
42、、外偶合度低 组件的分解与软件构架的组件粒度、组件的接口与构架的连接关系紧密关联 组件开发将提供产品所需要的、可操作的软件部件,它们或者是核心库的一个部分,也可能成为产品的特定部件,4.3.2 组件开发,软件外购是现在已经非常常见的软件开发方法 “任何企业中,仅做后台支持而不创造营业额的工作都应该外包出去,任何不提供向高级发展机会的活动与业务也应该采取外包形式。企业的最终目的不外乎是最优化地利用已有的生产、管理与财务资源。” 这是管理学大师彼得德鲁克的预言,同时也反映了现代企业运作的一条金科玉律“利润最大化,成本最小化”。 因此,外购的目的是:从外部得到技术和技能,降低组织的固定和经营性成本,
43、把组织的注意力放在核心领域,提供经营的灵活性,降低/转移风险等。因此,软件项目采用外购,能够使项目更快、更便宜、质量更高以及风险更小地完成项目目标。 即使是应用系统软件,也并不一定全部是自己开发的,有些平台、工具、构件,甚至包括一些子系统,可能委托另一家子承包商进行开发。子承包商可能按“盒装+定制”的方式,提供产品和服务,也可能子承包商的开发人员,完全与项目团队一起工作。对于这类外购,我们一般成为软件分包,相应产品和服务的提供方,为软件分包商。这种形式的外购,管理比较复杂。在CMM2中,软件分包合同管理是其6个关键过程域之一。,4.3.3 外购管理,外购的管理,涉及技术、采购、商务等,是软件企
44、业的另一个业务领域。 从开发管理的角度看,外购管理有以下一些具体步骤: 详细分析构架 理解组织需求 详细研究市场 以灵活的发生开发需求 开发用于评估产品和技术的方法 选择有生命力的技术和产品 购买产品 将产品集成到构架中 测试产品和配置 持续对系统进行管理,4.3.3 外购管理,核心资源挖掘是对旧系统的部分,进行挖掘和完善,然后应用于新系统中。 挖掘并不只是对部分程序,而且包括: 业务模型 规则库 需求规格说明 进度计划 预算 测试计划和测试用例 编码标准 算法 过程定义 性能模型等,4.3.4 核心资源挖掘,需求的开发与控制、管理,已经成为一项工程由于需求是正在构建的系统必须符合的事务,而且
45、是否符合这些需求决定了项目的成功或失败,因此找出需求是什么,将它们记下来,进行组织,并在发生变化时对它们进行追踪,这些活动就是需求管理。 换句话说,需求管理就是: 一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。 需求工程是提供一种适当的机制,以了解用户想要什么、分析需求、评估可行性、协商合理的解决方案、无歧义地规约解决方案、确认规约以及在开发过程中管理这些被确认的需求规约。 现代需求工程一般被描述为6个步骤,包括: 获取(需求诱导) 分析(需求分析和谈判) 规定(规约) 系统建模 验证(需求确认) 需求管理(控制与变更管理)我们将在
46、需求分析阶段,专门介绍软件需求工程,4.3.5 需求工程,软件系统集成是指将独立的软件组件合并成一个集成的系统 在将组件集成为子系统、子系统集成为产品时,都需要做软件集成工作 在瀑布模型中,集成工作是软件开发生命周期介于模块开发和集成测试阶段进行的一个独立的开发步骤 在增量模型中,集成是一个持续不断的活动,由于不断地进行集成、测试,增量开发降低了(总)集成时,可能发生的风险 面向对象技术,也是一种增量开发的模式,是一种持续集成方法 软件系统集成的难度: 系统构架组织的复杂程度 组件接口定义的复杂程度,4.3.6 软件系统集成,软件系统功能齐全是不是就是质量好? 用户界面友好是不是就是软件的质量
47、好? 没有BUG是不是就是软件的质量好? 什么是用户满意的软件项目? 软件测试是不是软件质量的全部? 那么,什么是软件的质量?软件质量保证过程包括: 软件的确认(Validation)与 软件的验证(Verification)简称为VV 或V2,4.3.7 软件质量保证,确认: 确认是这样一个过程,它评价“在软件开发过程期间(针对单元)或结束(针对系统)时,单元或系统是否满足用户特定的需求”。 换句话说,在开发结束的时候,确认我们的产品是否符合用户要求,即开发结束时(广义上包括开发的中间过程)确认的产品质量。 确认活动围绕三个基本过程来开展,测试、度量和软件可靠性增长 验证: 而验证是这样一个
48、过程,它评价“在一个给定的开发阶段中,单元或系统是否满足在此阶段开始时确定的条件”。 因此,它的意思是,我们正在制作的产品(过程中)将符合用户要求吗? 因此,验证的是产品开发过程质量工作质量。 验证活动也是围绕三个基本过程来进行,审查、度量和配置管理。,4.3.7 软件质量保证,领域:能够用于创建一个或一组系统的专业知识 领域知识:一组专业领域从业者所理解的概念和术语,包括:该领域的问题、解决方案。 建造一个应用系统,可能需要几个领域的专门知识 例如:建设一个分布式银行应用系统,需要: 商业银行业务知识 银行信息系统知识 商业银行业务流和业务处理知识 用户业务工作习惯和业务操作界面知识 数据库技术和网络技术知识等等,4.3.8 理解领域知识,问题探讨:无所适从的需求分析,