第21组第四次作业
使用软件工程中的四象限法详细分析本小组项目的优劣
本小组做的是CanToolApp for Windows,现在,使用四象限法分析本小组项目的具体功能:
在分析软件工程的四象限法之前,我们先结合生活来看,在实际生活中,我们也会根据事件的重要性和紧急程度来进行四象限分类,如下:
而同样的,在软件工程中,当我们得到了项目的需求之后,我们就要考虑用功能来实现这些需求,但是一个软件项目是由很多功能组成的,只有将它们有机地结合在一起才能解决用户的实际需求,因此我们必须了解我们项目的核心功能和非核心功能,理解产品的核心价值,从而决定应该把手头的资源如何合理地进行分布,利用四象限分析法正能达到此目的。
四象限分析法能得到四象限功能,分别是:杀手功能、外围功能、必要需求和辅助需求。
1.杀手功能:团队所开发产品的核心竞争力所在,必须聚集团队的核心资源,能够吸引到用户的焦点功能所在,此功能较少但很关键;
2.外围功能:团队开发的产品中附属的其他功能属性,它们是构成产品易使用性和可使用性的部分,能够增加产品的完整性,此功能较多。
3.必须需求:产品必须满足的功能需求,如果在这一点不过关则产品根本就无法如用户的法眼;
4.辅助需求:产品的辅助性功能需求,可以增加用户粘合度,但不能起到决定性作用。
这四个象限能让软件团队清楚地看到自己感兴趣的功能处于什么地位,有了这些分析,我们就可以决定怎么处理不同类型的功能。重要的是,不要把资源平摊到所有象限中,而是倾斜到可以产生差异化和独特用户价值的地方,在资源的分配上,有如下建议:
- 维持——以最低成本维持此功能。
- 抵消——快速地达到“足够好”、“和竞争对手差不多”。
- 优化——花大力气做到并保持行业最好。
- 差异化——产生同类产品比不了的功能或优势(我有人无的优势,或者一个数量级以上的优势)。
- 不做——砍掉一个功能也是一个办法,我们并不一定要做所有的功能。
因此,利用四象限法分析本小组项目,得到如下结论:
- 第一象限(杀手功能+必要需求):能够从cantool设置接收到多个CAN信息,并进行解析和显示等;(优先完成)
- 第二象限(外围功能+必要需求):能够搜索到本机所有可使用的COM口供用户选择,能够通过命令行实现CANtool装置的CAN通信参数设置;(必须完成,尽量做好)
- 第三象限(外围功能+辅助需求):能够指定要发送的多个CAN信息,并能够设定相应参数,显示时可以让用户选择仪表盘方式显示接收到CAN信号物理值。这些用户选择的显示方式可保存到CanToolApp设定文件中,供下次使用;(以较少资源完成)
- 第四象限(杀手功能+辅助需求):可以将用户提供的CAN信息和信号数据库另存为xml和JSON (JavaScript Object Notation)格式;软件功能可能随时增加或修改,需要做好变更管理。(以较少资源完成,或者可以暂缓)