上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
5.5.2案例分析
作者:太学 申领版权
2015年12月28日 共有 274 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

这是一个开放式的案例分析题,案例中仅粗略地描述了项目背景的目标,针对如何提高项目质量进行发问,难度相对较大,需要仔细的分析。

前面一部分对项目背景和目标的描述无非是为了说明这么几个问题:

   (1)这是一个系统改造的项目。

   (2)原系统中存在设计缺陷,没有考虑过组织机构改革的可能性。

   (3)需要大量更改原系统的程序,消除硬编码。

   (4)需要更改已有的业务数据,同时增加部门变革历史的功能。

基于这些问题,案例的后半部分给出了张工的观点:设计质量是项目的关键,需要提高设计的质量。结合案例后的问题,我们不难发现,案例的前半部分是引子,后半部分才是关键,也是该案例的题眼:如何提高项目的质量,显然需要用项目质量管理的知识作答。

质量管理是项目管理中的一个知识域,但在PMBOK中并没有给出具体的质量管理的方法,需要结合软件开发和项目的特点给出特定的质量管理策略和方法。这也正是这个案例的用意所在,考察考生在面对实际的项目问题时需要采取哪些措施解决项目的质量问题。

我们首先从软件工程的角度考虑一下软件质量的问题。软件的质量一直是软件界近几十年致力解决的问题,针对使用软件提高软件质量提出了很多的方法和理论。首先是软件工程的理论,需要使用工程活动的方法进行软件开发,从系统定义与分析开始,经过设计、实现,最终到验证。在软件工程中,人们提出了多种软件开发模式和工程活动方法。在开发模式中,有瀑布模型、螺旋模型、迭代模型、喷泉模型等;在工程活动方法中,有自顶向下、结构化分析、面向对象分析、架构风格,等等。除此之外,还有一系列的软件验证方法,如软件复审与软件测试。纵观这些林林总总的模式与方法,人们无非是想解决两个问题:一是通过恰当的工程活动提高工作产品的质量;二是在工作产品完成后通过恰当的工程活动来保证该产品的质量。因为在软件开发过程中,还有一个很明显的特点,就是在分析、设计、实现和测试这些过程中,每一步都可能引入缺陷,且难以发现,而这些缺陷暴露得越晚,造成的后果就越严重,修改的代价就越高昂。开发活动需要尽量提前发现潜在的缺陷,验证手段必不可少。

题目中问的是如何提高设计的质量,设计是承接分析、指导开发的一个关键环节,在这个环节中很容易引入难以发现的缺陷,而这些缺陷往往又会造成严重的后果。因此提高设计的质量是每个软件项目都会遇到的问题,也是每个项目经理都会思考的问题。提高设计质量包括两个层面的工作:在设计过程中提高设计的质量;在设计完成后对设计结果的质量检查。在答题中需要分别给出相应的策略。

设计工作在分析工作之后,因此,充分的分析是保证设计质量的前提。对于这种改造型项目,原系统的功能、设计和实现的情况直接影响了设计的结果,原系统的情况就是要解决的问题域,’如果对原系统了解不足必然导致设计上的偏差。因此要想提高设计的质量,首先要充分了解原系统。

在设计时还应该选择恰当的设计方法,如有可能可以考虑复用已有的解决案例,如分析模式与设计模式等。不过在这方面,案例中给出的信息甚少,显然不是答题的重点。

根据项目背景的描述,这个设计工作并不简单,需要论证的过程,设计方案的讨论也是必需的。因此张工需要制定出相应的沟通计划,组织必要的会议进行方案讨论,若有必要还需要客户和原系统的开发者参加。

在设计完成后还需要对设计结果进行质量检查,对应这类活动,我们通常采用评审和走查的方式。评审和走查可以比测试更早地找出工作产品中的缺陷,用来检查设计质量非常合适,可以避免缺陷在系统测试阶段才被发现,降低修正缺陷的成本。

除了评审和走查外,对设计过程进行迭代也可以提前暴露设计的缺陷,并将这些缺陷反馈到后续的设计过程中,从总体上减少缺陷数,提高设计的质量。例如在可以将整个项目根据系统模块进行划分,首先升级一个模块,然后把这个过程中发现的问题反馈到后续的迭代过程中。

如果能够做好上述工作,设计就不会产生重大的偏差,保证设计的质量。

对于第二个问题,除设计外,张工还需要特别注意哪些工程活动。

在分析第一个问题是我们已经找到了一部分答案—分析。分析是设计活动的基础,在错误的分析上不可能产生正确的设计。因此充分、细致地分析原系统是保证设计质量的前提。

除此之外,对于系统改造的项目,测试的工作显得非常重要。同原系统开发相比,系统改造的总工作量相对较少,但测试的工作量却应该超过原系统开始时的测试工作量。根据案例中的描述,超过80%的程序都存在硬编码的问题,都需要修改。这些程序在修改后首先需要满足同原系统功能一致,可以通过原系统测试用例的测试;其次还要保证与系统升级的目标一致,能够满足设计的要求,这就需要开发新的测试用例进行测试。因此,如何规划、组织、展开测试工作,也是张工需要特别注意的方面。

除了分析和测试外,其余的工程活动也是不可或缺的,不过相比之下,分析和测试工作更具特殊性,是张工必须特别注意的。

第三个问题与第二个问题是关联的。有了第二个问题的答案,第三个问题就比较容易了。

如何提高分析活动的质量呢?对于案例中的项目来说,系统要解决的是原系统中的缺陷,原系统本身就是问题域,提高分析活动的质量也就是充分地分析原系统。对原系统的分析可以包括对原有业务功能、原设计方案和原程序的分析。对原系统中业务功能的分析需要同客户一起进行,通过同客户的沟通来把握原系统所实现的业务功能。对原设计方案的分析出了参考设计文档外,最好能够同原系统的开发者进行沟通,这样的沟通往往能获取到文档之外的宝贵信息。例如,通过设计文档仅能了解设计的结果,但与原系统开发者的沟通则可以了解到设计的思路。除了这些方法外,对分析的结果进行评审也是保证分析质量的一种有效的方法。

对于测试工作,上面已经讲了很多,既需要保证修改后的代码仍然与原系统功能一致,又要保证同系统升级的目标一致。


 

相关新闻

公交风云之干系人管理
项目管理的主要方法
项目管理的目的
作为系统方法的项目管理
项目管理的价值
用项目生命周期原理指导创新管理
关键路径法为什么不好用?因为你知道的太多了!
关于水滴你所不知道的知识
求婚
拔电源

您可能对这些感兴趣  

如何打造一个优秀的研发体系?
哪里崇拜“脑子”,哪里就有创新
美国国家实验室改革五大挑战及有关建议
像设计师一样思考创新
强探索性科技项目管理初探
人际关系技能
术语表(中文排序7)
术语表(中文排序6)
术语表(中文排序5)
术语表(中文排序4)

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》