的变化。对于重大改动,需要打开源代码进行修改的,也仅仅是先继承原先的代码,然后用新的功能接替原先的调用接口,这样将把软件改动量减小到最低。
软件易用性:软件的易用性是影响软件是否被用户接受的关键之关键因素。在软件产品中,设计复杂,功能强大而完备,但因为操作繁复而被搁置者屡见不鲜。造成的主要原因在于缺乏软件开发中软件体系结构的宏观把握能力。另一方面,缺乏有效的手段进行软件需求的确定和对潜在需求的挖掘。
二、软件项目管理的风险
软件项目管理的风险来自于软件项目自身的特点:(1)软件产品不可见:开发的进展以及软件的质量是否符合要求难于度量,从而使软件的管理难于把握。(2)软件的生产过程不存在绝对正确的过程形式:可以肯定的是不同的软件开发项目应当采用不同的或者说是有针对性的软件开发过程,而真正合适的软件开发过程是在软件项目的开发完成才能明了的。因此项目开发之初只能根据项目的特点和开发经验进行选择,并在开发过程中不断的调整。
大型软件项目往往是"一次性"的。以往的经验可以被借鉴的地方不多。回避和控制软件管理风险的唯一办法就是设立监督制度,项目开发中任何较大的决定都必须有主要技术环节甚至是由用户参与进行的。在该项目中项目监督由项目开发中的质量监督组来实施。
一般参与软件开发的人员(包括管理者和技术人员)和其责任进行分析如下:
参与者
项目经理1人
主要职责:进行全局把握,侧重于项目的商务方面,充当项目组同客户正式交流的接口环节。
项目负责人1人
主要职责:制定项目开发计划和开发策略,参与项目核心系统的分析设计,同时努力保证开发计划的按时完成和开发策略的真正贯彻落实。
领域专家1或2人
主要职责:在软件分析阶段帮助分析人员界定系统实现边界和实现的功能,对特定检测点进行算法审核,同时对测试策略和软件操作界面提出参考意见。
质量监督组1或2人
主要职责:编制软件质量控制计划,并负责落实;控制必要文档的生产,通过文档,监督项目实施过程中软件的质量,并产生软件质量报告,提请项目经理和项目负责人审阅;对于项目中出现的质量问题,主持召开质量复审会议。
系统分析员1或2人
主要职责:协同项目负责人进行软件系统的分析和设计工作,书写软件需求分析和系统设计相关文档。在软件实现阶段进行测试策略的编制和对性能测试的指导。
程序员2或3人
主要职责:协助分析人员进行详细设计,和软件系统的代码实现,并进行适当的白盒测试。
测试员2或3人
主要职责:已经实现的软件组件、构件或系统进行正确性验证测试,整合后的系统的性能测试等。书写测试报告和测试统计报告提请质量监督组复审。
技术支持2或3人
主要职责:协同系统分析人员听取用户需求,对需求分析进行参考性复审。协同测试人员进行测试,书写操作手册和在线帮助,在项目交付用户之后进行跟踪服务。
文档组1或2人
主要职责:对各部门产生的文档进行格式规范、版本编号和控制、存档文件的检索;协助质量监督组进行软件质量监督。 通过适当的人员配备和职责划分,能有效的降低软件开发在后期的失控的可能性,和软件对关键人员的依赖性。
(1)软件技术风险。
本系统拟订采用的两个重大的软件技术是面向对象的构件和基于微软的C