ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:36.92KB ,
资源ID:5359459      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5359459.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件开发管理与质量控制Word下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

软件开发管理与质量控制Word下载.docx

1、我国的软件行业自身发展方面确实存在一些问题。归纳起来, 有以下几方面的问题:* 软件开发管理不规范;* 缺乏高素质的研发管理人员和研发人员;* 缺乏合格的产品经理;* 软件产品孤立、零散,缺乏整合性;* 软件公司规模过小; 1). 软件开发管理不规范目前大部分软件公司,无论是产品型公司还是项目型公司,大部分公司没 有形成适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理 论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制 问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时 最终也会损害用户的利益。同时,随着软件开发规模及开发队伍的逐渐增大,软件开

2、发不再是向过去 那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发 人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自 己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从 而降低产品研发成本。 2). 缺乏高素质的研发管理人员和研发人员 目前,我国软件市场还处于起步与发展阶段,真正称得上商品的软件很少, 绝大多数的软件公司的规模很小,国内软件开发人员超过 100 人的公司很少。 软件公司的用户几乎全是国内用户,加之国内软件专业的学校教育与实际软件 开发脱节严重,开发人员工作不稳定,以及技术的高速发展以及开发工具的变 更,导致软件开发人员缺乏

3、必要的技术积累,表现为整体素质偏低。同时,由 于没有合适的内部与外部环境也很难造就高水平的研发管理人员,从软件开发 到开发管理都不能适应市场的要求。 3). 缺乏合格的产品经理产品经理在软件产品的发展过程中起着至关重要的作用,产品经理负责产 品的定位与发展方向。这就要求产品经理对产品市场、用户需求有深刻的认识 与理解,需要有一定的悟性、管理经验与能力。同时,产品经理必须了解当今 IT 技术的发展状况及发展趋势,对相关开发工具与技术应有比较深刻的理解。 对于大型应用软件的产品经理还要求其对网络技术、电子商务及各种硬件设备 有全面的了解。这样才能保证在决定产品特性,产品框架结构、市场销售策略 与服

4、务策略时作出合理决策。从某种程度上讲,产品经理是否称职关系着其产 品的存亡。目前软件行业急需而又缺乏正是这种产品经理。 4). 软件产品孤立、零散,缺乏整合性;国产软件目前称得上产品的主要以财务软件、防病毒软件、家庭教学软件 及一些初级的工具软件。总的说来基本为专用型产品、满足特定功能,即便是 专用型产品其各专项子系统大多也缺乏整体考虑。大多厂家产品不具备构成大 型应用系统的整合能力,目前一些公司已开始进行这方面工作。 项目型公司大多以项目为主,产品化程度比较低。不具备推广的条件,经 济效益较差,影响公司的发展。导致软件产品孤立、零散,缺乏整合性在很大程度上也是软件开发管理不规范; 缺乏高素质

5、的研发管理人员和研发人员;缺乏合格的产品经理;三条原因造成 的。 5). 软件公司规模过小;目前我国软件市场还处于起步与发展阶段,绝大多数的软件公司的规模较 小,国内软件开发人员超过 100 人的公司很少。软件公司的用户几乎全是国内 用户。但软件作为一个行业,他需要市场的拖动,也需要外部资金的介入,外 部资金的介入给它带来的不仅仅是金钱,更重要的是也带来了一种管理与思维 方式,这也是国内软件公司需要的。 2 工程设计与软件开发将软件开发作为工程来对待是有其存在意义的,在谈软件开发管理与质量 控制之前,我们先看一下工程项目的整个过程。 2.1 工程设计的阶段划分工程项目从可行性研究到最后项目建成

6、基本包括如下八个阶段。最后二个 阶段主要是考虑与软件开发比较而划分的,在实际的项目实施过程一般不将其 作为独立阶段考虑。因此,一般的工程项目只包括六个阶段。(这里所指的工 程项目可以是新建一间工厂,也可以是一个建筑工程项目)但真正属于工程设计阶段的只是前四部分,以下以化工类工厂设计为例就 属于工程设计的几个阶段的要求做以简单扼要的介绍,希望能软件开发管理有 所帮助。1) 可行性研究在可行性研究阶段一般应完成如下几方面的工作:* 项目内容定义* 项目技术分析* 项目市场分析* 项目策略* 投资与回报分析* 已有资源分析* 其它应考虑的因素 2) 方案设计方案设计可以说是可行性研究中技术可行性的扩

7、展。方案设计级段主要完 成如下几方面的工作:* 确定整个项目的技术实现。主要包括采用的工艺流程,主要及关键设备 参数确定及设备选型。* 基本设备布置方案* 能够确定对建筑物、水、电、气以及采暖通风等方面的要求。* 简单的方案说明* 粗略的项目预算* 技术的可实现性3) 初步设计初步设计是详细设计的前提,其目的是要根据具体项目的要求,初步确定 技术实现的一些细节信息,主要完成如下几方面的工作:* 确定工艺流程中的工艺参数和主体物流及物料平衡;编写工艺流程说明 书* 绝大部分设备的选型以及非标准的确定。并完成设备布置方案。 * 建筑、水、电、气以及采暖通风各工种均需确定初步设计方案及基本的 方案说

8、明。* 较为准确的项目预算* 具体的实现技术初步设计是项目设计单位与用户交流的基础。4) 详细设计详细设计是以初步设计为基础,完成所有的技术细节工作。* 确定工艺流程中所有的工艺参数,* 完成所有设备的选型以及非标准设备的设计。并完成所有设备及管道布 置等。完成所有工程实施前的准备工作。* 建筑、水、电、气以及采暖通风各工种均需完成详细设计图纸。 * 详细的流程说明与使用说明* 准确的项目预算详细设计是项目实施的基础。5) 工程实施项目详细设计是工程实施的基础,按照设计要求施工是最基本的要求。同时,在项目的实施过程中还会发现详细设计中存在的问题,可以通过向设计单 位提出修改设计要求,由设计单位

9、完成设计修改工作。项目工程实施也可采用 项目监理的方式,监督施工单位按设计图纸及施工规范施工,确保施工质量。 6) 试运行工程实施完成后便是投产试车,解决其中存在的问题,便可开始项目的试 运行。在以上工程项目的各个阶段中,可行性研究一般由设计单位或用户自行完成, 也可委托具有该类项目评估经验的项目咨询机构完成。方案设计、初步设计、 详细设计由工程设计单位完成,工程实施由工程施工单位完成。2.2. 工程设计的质量控制工程项目设计从设计单位接受用户委托,进行工程项目设计到设计任务完 成,用户在几个环节均有参与项目质量的控制的机会,同时设计单位有严格的 质量控制体系确保项目设计符合相关的标准与规范。

10、在以上的工程设计质量控制体系中,在每一设计阶段结束时用户均有机会 参与对工程设计质量的监督与控制,设计单位与用户沟通的媒介是工程设计图 纸及相关的设计文档,双方有交换意见的共同基础。设计单位会根据用户的意 见与建议及时调整设计,以便更好的满足用户的需要。多年的设计经验证明, 上述的工程设计质量控制体系是科学合理的。2.3 软件开发与工程设计之比较按照软件工程理论,软件开发过程基本可以划分为如下几个阶段: * 需求分析* 总体设计* 详细设计* 编码设计* 模块集成* 软件测试* 定版发行从上面的软件开发阶段划分不难看出,软件开发与工程项目设计虽然看上 是二类不同的工作,但他们本质上是相同的。不

11、妨将软件开发与工程设计的阶 段加以比较,不难得出上述的结论。由图 3 不难可以看出软件开发与工程项目设计之间的相似性,因此将软件 开发作为工程来管理是完全可行的。2.4 软件开发与工程设计的差异虽然软件开发与工程设计有其相似之处,但由于其所处的领域不同,发展 历史与人文环境也有一定的差别,完全照搬工程设计的管理模式并不可取。首 先比较一下工程设计与软件开发目前各自的现状。1). 工程设计* 有一套完备设计标准与规范;*大量的标准化设备可供选择; 大量的样板设计可供借鉴; 一批有经验的设计师言传身教; 客户基础素质良好; 2). 软件开发* 历史较短,缺乏必要的开发管理规范;* 技术发展变化快,

12、零部件标准有待形成;* 国内软件产品质量意识差;软件产业化意识淡薄;* 可供借鉴的样板少;* 缺乏高素质软件开发与管理人才;* 客户素质较差;正是由于工程设计与软件开发存在上述背景差异,应此在借鉴工程设计经 验的同时,必须针对软件开发自身的特点,制定出符合企业自身的软件开发管 理模式与相应的软件开发管理规范。这样才有利于我国软件行业的健康发展。 3 . 软件开发的组织机构无论是项目型公司还是产品型公司,从事软件开发的组织或公司应该有一 定的软件开发组织结构。一个合理的软件开发组织结构是确保软件开发质量的 最基本保证,各个组织各负其责,可以确保软件开发按拟订的质量控制规则与 软件开发计划进行,有

13、利于软件公司软件质量与成本的控制。3.1 软件开发组织机构设置一般而言,对于产品型软件公司,其公司内部均会有一个类似与产品管理 小组这样的一个组织,一个专门负责产品发展的产品经理部门。而项目型公司 则相对简单一些,主要是针对项目进行定制开发,一般对项目的发展方向不做 控制。但从项目开发演变为可推广产品的另当别论。一般来讲,下图 4 是一个 典型的软件公司软件开发的组织机构设置。3.2 组织机构的职责分工在上述的组织机构中,各职能组织有各自明确的责权范围,完成各自的本职 工作,各组织相互协调完成相应的软件开发与维护工作。公司产品管理组:对于产品型软件公司而言,软件产品是其生存与发展的基础, 公司

14、对新产品立项、现有产品的发展方向及有关产品发展的重大决定均需由公 司产品管理组来决定。公司产品管理组一般由公司的执行总裁、技术总监、市场总监、产品经理、 研发经理及其他必要人员。产品管理部门 :产品管理部门是界于研发部与市场部之间的一个桥梁部门。 产品管理部门的主要职责是负责产品发展策略的制定与执行,这里的执行包括软件开发前期的市场及需求调研,完成可行性分析报告,制定产品规格。参与 软件开发项目组,并完成相关工作。* 软件开发前期:用户需求分析、功能描述、运行平台与环境、市场定位、 销量预测与售价;* 软件开发后期:产品宣传资料、产品培训、促销与支持 t; 研 发 部 门:研发部是软件开发的主

15、体,主要任务是完成软件或的项目 的开发工作。其工作内容通过各职能组实现。主要包括:* 功能规范:功能规范列表及用户界面,确保写出用户手册;* 开发活动:包括设计、编码、模块集成、Alpha 测试与文档;* 支持工作:软件配置管理与问题报告数据库;* 项目计划:定义项目里程碑;* 软件定版:IRL,Architecture & QA:是软件开发的质量控制机构,主要职责是负责软件开 发过程的质量控制。在软件开发的各个阶段,根据软件开发设计规范对阶段设 计结果进行质量控制。及时发现问题、解决问题,确保进入下一阶段的设计符 合设计规范要求。实现软件开发全程监控。 QA 为非常设机构,主要由研发经理、产

16、品经理、资深系 统分析远、测试经理等人员组成。根据项目进展需要,由研发经理召集进行项 目阶段评审。软 件开 发 组: 主要由各种角色的开发人员构成,完成开发任务。CMO:(Configuration Management Officer)软件配置管理,对于一个具 有一定规模的软件公司都会有一个软件配置管理机构,对于小型公司一般由项 目经理带管,CMO 的主要职责是进行软件开发过程中的软件配置管理,以及软 件定版后的维护管理。在软件开发过程中,由于多个开发人员协同工作,需要 对其工作协同管理,确保协同工作的顺利进行。同时,由专人进行配置管理, 使得大部分开发人员不会得到全部原代码,也有利于软件公

17、司的安全保密工作。 在软件定版后,由于软件的 Bugs,功能的完善及各种原因导致的对软件的修改, 版本的控制就显得极为重要,软件配置管理可以确保得到不同时间的软件版本。 软 件 测 试 组 :软件是软件工程的重要组成部分,软件测试组承担的 工作主要是 测试。测试模块与集成测试由软件开发人员完成。对于项目软件 开发,用户的计算机技术人员参加到软件测试与支持工作组,使用户参与整个 软件的测试工作中。确保交付的应用系统是用户可信赖的系统。在以上的软件开发组织机构中,不论公司规模的大小,以上的各个职能应 该是健全的。明确的责任分工有利于软件开发的顺利进行于质量控制,同时, 也必将有利于公司的成本控制,

18、降低软件开发风险。3.3 软件开发项目组的角色 一般来讲,一个软件开发项目组是由多个不同角色的人员构成,每种角色 在软件开发中起不同的作用,各个不同角色的人员协同工作,完成软件开发工 作。典型的软件开发项目组由下列角色构成,如图 5 所示在软件开发项目组中一般有六种角色,他们是:产品管理程序开发程序管理测试及质量保证用户培训后勤支援在大型软件开发项目中,可以将每个角色赋予不同的个人。对小型项目, 一个人可以肩负多个不同的角色。每种角色的人员在项目中起着同等重要的作 用。每种角色都有其特定的任务及技能要求。产品管理:产品经理负责建立及更新项目的商业模型,在确定及设置项目 目标方面起关键作用。产品

19、经理应确保项目成员清楚理解项目商业目的,并根 据商业需求的优先级确定功能规范。同时,产品经理负责高层的项目沟通,如: 商业项目的成本核算、合同洽谈,及向相关人员通报项目进展等。程序管理:程序经理负责确定软件特色及功能规范,根据软件开发标准协 调日常开发工作确保及时交付开发任务。协助产品经理完成项目需求文档,并 根据需求文档起草软件功能规范。同时负责与系统分析、规范及框架结构有关 的各种活动。管理与协调与外部标准与系统的互操作性,控制项目进度。程序 经理是项目组成员间沟通与协调的核心。程序开发:开发队伍负责交付符合功能规范的软件系统。开发队伍应积极 参与功能规范的制定,在建立项目原型时开发人员与

20、程序经理可以同步进行并 提供技术可行性。在功能规范确立后,开发人员必须与程序经理就如何解决重 大疑难问题达成一致。测试与质量保证:测试与质量保证是保证系统符合功能规范的保证。为保 证“零误码”测试/QA 人员应积极参与开发过程,确保开发出交付符合功能规 范的软件系统。测试/QA 人员负责准备测试计划、测试用例、自动测试程序、 执行测试工作、管理并跟踪 Bug。测试工作与开发工作是独立并行的。用户培训:培训人员负责设计编写离线及在线培训文档,包括演示材料。 用户培训人员应参与用户界面和系统的设计与构造,并参与安装程序与安装过 程的设计。参与系统的可用性测试及设计改进,与程序管理与开发有密切的关

21、系,并确保系统的变化及时反映到文档中去。后勤支援:后勤支援包括确保项目顺利进行的各方面工作。对于一个项目组,建立一个良好的团队氛围是非常重要的,每个角色在项目中 都是不可缺少的,项目的成功是团队成员共同努力的结果。鼓励成员的积极进 取、高效、参与的团队精神,提高成员的责任感,避免造成团队或项目的成功 依赖于少数个人的贡献。 3.4 开发组人员构成根据软件开发项目组织的角色划分,对于中等以下规模的软件开发项目组 基本包括如下几类人员: 产品管理人员:(产品管理与用户培训角色) 软件开发人员:(程序管理与开发角色 ) 软件测试人员:(测试角色 )一般而言,产品管理人员同时担负用户培训的角色。程序管

22、理角色一般由 项目经理承担,而队后勤支持角色一般由研发部和公司统一承担,或由公司的 信息系统管理人员协助完成。图 6 表示项目组的人员结构及承担的相关工作。3.5 开发人员技术结构宏观上讲,软件开发机构基本可分为二种角色,管理角色和技术角色。不 同角色各有其不同的发展方向,如图 7 所示。不论是走技术路线还是管理路线,不存在那种角色地位更高的问题。高级 架构设计师与部门经理具有同等的地位与待遇。 4. 软件开发的阶段划分及目标软件开发进行阶段划分主要有以下三方面优点:1) 有利于软件质量控制;2) 便于项目进度控制与管理;3) 有利于项目成本费用控制;4.1 软件开发的阶段划分虽然软件开发与工

23、程设计有其相似之处,但由于其所处的领域不同,发展 历史与人文环境也有一定的差别,完全照搬工程设计的管理模式也存在一些弊 端。下面就国外流行的软件开发模式与工程设计理论及原始的软件开发做以简 单比较,见图 8。原始的软件开发模式很是简单,有些项目连需求分析都不完整,软件测试 只是相当于模块集成一级的测试,没有规范的软件测试。软件质量取决于编程 者个人的技术水平,质量无法保证,也很难控制。在满足用户需求方面取决于 编程者个人的理解,软件交付后经常发生大面积的修改。项目似乎完成得很快, 交付后大面积的修改经常导致延误工期,修改后的软件缺乏必要的测试手段, 往往导致极大的售后服务支持成本。造成项目表面

24、赢利、实际亏损的局面。软件工程理论指导下的软件开发管理模式也存在一定的问题,那就是有些 环节的可操作性较差,主要表现在需求分析到总体设计这个环节。需求分析是 文档性的描述,一般是软件开发人员对用户需求的一种理解,这种文字描述一 般很难精确可视地展现未来软件的情况,而用户也很难说清楚自己的需求,这 就使得用户很难鉴别需求分析的精确性。往往导致软件交付后的大量修改。有 一篇“Client / Server 软件开发常犯错误”的文章说得好,“用户不知自己 需要什么样的系统,但知道不要什么样的系统”。为避免软件开发中需求分析到总体设计这个环节的歧异性问题,目前,国 际流行的软件开发模式中增加了 FS+

25、UI(功能规范和用户界面)这个环节,这 个环节不但解决了用户在需求分析理解上的困难,同时也解决了软件开发过程 各种角色人员的并行工作问题,便于软件开发工期的缩短,有利软件开发质量 与成本的控制 FS+UI(功能规范和用户界面)见后面章节 。4.2 软件开发各阶段目标以下就软件开发阶段划分的各阶段的任务与目标做以简单描述,这是软件 公司进行质量控制的基础。 1) 可行性分析可行性分析是软件项目立项的必要阶段,对于项目型软件开发,可行性分 析一般由用户自行完成,软件公司基本在技术上给予必要的支持。对于产品型 软件开发,可行性分析是非常重要的一环,产品采用的技术、市场定位与销售 策略等直接关系着产品

26、的生存与发展。可行性分析基本包括如下几个方面的内容,A. 项目定义:项目定义主要是对产品定位有一个大致的描述,钩画出该软 件产品的运行环境、产品功能、用户特征以及制约因数进行全面的描述,以便 下一步工作的展开。B. 技术分析: 此处的技术主要包括软件的开发环境与运行环境所涉及的 各方面技术,在此应对这些技术的发展状况,成熟情况及未来的技术走势应有 细致的阐述。C. 市场分析: 包括国内外行业发展现状、市场格局、发展趋势,在市场 容量统计数据的基础上,推测我们产品可能的市场占有率及销售情况。D. 产品策略: 产品策略包括产品的技术策略与产品的市场策略。E. 投资与回报分析:项目投资总额、项目成本核算、项目收益、投资回报 等。F. 已有资源分析:包括资金资源、人力资源、技术资源等的分析。 G. 其它应考虑的因素 2) 需求分析需求分析是软件项目正式实施开始的第一个阶段,需求分析应该遵循可行 性分析确定的基调,包括技术路线、产品基本功能、产品运行环境及市场定位。 需求分析主要应完成

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2