新書推薦:
《
滚滚红尘(《滚滚红尘》电影原著)
》
售價:NT$
250.0
《
罗马之变(法语直译,再现罗马共和国走向罗马帝国的辉煌历史)
》
售價:NT$
500.0
《
自然之争:1600年以来苏格兰和英格兰北部地区的环境史(新史学译丛)
》
售價:NT$
485.0
《
硝烟下的博弈:工业革命与中西方战争
》
售價:NT$
398.0
《
让内的理性主义 发现无意识之旅
》
售價:NT$
301.0
《
知命不惧:从芝诺到马可·奥勒留的生活艺术
》
售價:NT$
505.0
《
Zemax光学设计从基础到实践
》
售價:NT$
602.0
《
全球化的黎明:亚洲大航海时代
》
售價:NT$
500.0
|
編輯推薦: |
(1)以软件工程基本理论知识的普及和常用开发方法为出发点,对软件工程的主要原理、基本概念、主流技术方法的特点和使用规则、软件测试与维护的一般方法以及软件规模估算与项目的管理等进行了全面描述。(2)既注重理论也强调实际应用,所述内容讲解清晰、实用,所画图形规范、统一,所选案例简明、完整。(3)全书共10章,配合各章知识点的介绍,每章不但有简单举例和丰富的习题,而且还以一个规模和难度适中的项目为中心进行综合举例说明,并贯穿书中的主要章节,便于读者对所学内容的正确理解和实际应用的认识。
|
內容簡介: |
本书以软件工程基本理论知识的普及和常用开发方法的介绍为出发点,对软件工程的主要原理、基本概念、主流技术方法的特点和使用规则、软件测试与维护的一般方法以及软件规模估算与项目的管理等进行了全面描述。全书共10章,第1、2章是软件工程综述;第3章是需求调研与可行性分析;第4~6章是系统分析与设计,并重点介绍基于结构化技术的分析与设计方法以及编码实现的基本原则;第7、8章是基于面向对象技术的分析与设计方法以及统一建模语言UML;第9章是软件测试技术与维护方法;第10章是软件项目管理。配合各章知识点的介绍,每章不但有简单举例和丰富的习题,而且还以一个规模和难度适中的项目为中心进行综合举例说明,并贯穿书中的主要章节,便于读者对所学内容的正确理解和实际应用的认识。 本书既注重理论也强调实际应用,所述内容讲解清晰、实用,所画图形规范、统一,所选案例简明、完整,本书既可作为高等院校相关专业本科生软件工程课程的教材或参考书,也可作为应用软件开发人员、项目管理人员和专业技术人员编写技术文档的参考资料。
|
目錄:
|
目录
第1章概述1
1.1软件的基本概念及特点1
1.1.1软件是什么1
1.1.2软件的分类3
1.1.3软件的发展5
1.2软件工程的提出6
1.2.1软件工程提出的导火索6
1.2.2软件工程的原理8
1.2.3软件工程的目标9
1.3软件开发方法10
1.3.1结构化方法10
1.3.2原型化方法11
1.3.3面向对象方法12
1.3.4敏捷开发方法13
1.4软件工程师的职业道德与素质14
本章小结15
习题16
第2章软件生存周期模型17
2.1软件生存周期及其组成17
2.1.1软件生存周期的概念和提出的意义17
2.1.2软件生存周期的划分与组成18
2.2软件开发模型19
2.2.1瀑布模型20
2.2.2快速原型模型21
2.2.3增量模型22
2.2.4螺旋模型22
2.2.5喷泉模型23
2.3常用软件建模工具24
2.3.1Microsoft Visio24〖1〗软件工程基础与应用(第2版)目录[3]〖3〗2.3.2Rational Rose27
本章小结28
习题29
第3章用户需求调研与可行性分析30
3.1用户需求调研30
3.1.1关于需求30
3.1.2用户需求调研的必要性30
3.1.3需求调研方法32
3.1.4调研内容和步骤32
3.2业务描述35
3.2.1业务流程定义35
3.2.2业务流程图36
3.3软件项目可行性分析39
3.4成本效益分析41
3.4.1软件开发成本估算41
3.4.2软件效益分析42
本章小结44
习题44
第4章基于结构化方法的需求分析45
4.1需求分析简述45
4.1.1何为需求分析45
4.1.2需求分析的主要任务46
4.1.3需求分析的原则47
4.1.4需求分析方法的分类48
4.2结构化分析48
4.2.1结构化分析的特点和原则48
4.2.2结构化分析的主要工具49
4.3数据流程图的构建50
4.3.1构建数据流程图的作用50
4.3.2数据流程图的基本符号51
4.3.3构建数据流程图的步骤52
4.3.4构建数据流程图需要注意的问题53
4.4数据字典56
4.4.1构建数据字典的意义和用途56
4.4.2数据字典的主要内容56
4.4.3构建数据字典使用的符号57
4.4.4数据字典举例58
4.5结构化分析建模综合举例58
4.5.1系统数据流程图58
4.5.2系统数据字典61
本章小结64
习题64
第5章系统概要设计66
5.1简述66
5.1.1概要设计基本任务66
5.1.2概要设计基本方法67
5.2概要设计基本原理69
5.2.1模块化69
5.2.2抽象70
5.2.3逐步求精70
5.2.4信息隐藏和局部化71
5.2.5模块独立性71
5.3结构化系统设计74
5.3.1软件结构图种形式74
5.3.2数据流程图的分类75
5.3.3变换型设计76
5.3.4事务型设计77
5.4软件结构的其他描述工具HIPO图81
5.5软件结构的优化准则83
5.6结构化设计综合举例85
本章小结88
习题88
第6章详细设计与编码实现90
6.1详细设计的基本任务90
6.2详细设计的常用工具90
6.2.1程序流程图91
6.2.2盒图92
6.2.3PAD图93
6.2.4判定表与判定树93
6.2.5过程设计语言的使用95
6.3人机界面的设计96
6.3.1人机界面一般风格97
6.3.2人机界面设计原则及相关问题99
6.3.3人机界面设计过程100
6.4详细设计综合举例100
6.4.1人机界面100
6.4.2数据库表设计101
6.4.3模块设计103
6.5编码实现106
6.5.1编码工具介绍106
6.5.2编码工具的选择107
6.5.3编码原则107
6.5.4编码举例108
本章小结111
习题112
第7章面向对象技术113
7.1面向对象概述113
7.1.1面向对象提出的背景113
7.1.2面向对象方法简介114
7.1.3面向对象基本概念115
7.1.4面向对象的特征118
7.2面向对象分析119
7.2.1面向对象分析任务概述119
7.2.2面向对象分析模型120
7.2.3面向对象分析过程126
7.3面向对象设计128
7.3.1面向对象设计任务128
7.3.2面向对象设计与面向对象分析的关系129
7.3.3面向对象设计基本原则130
7.3.4面向对象设计模型132
7.3.5面向对象设计过程132
本章小结135
习题135
第8章UML建模137
8.1UML概述137
8.1.1发展历史137
8.1.2UML简介138
8.1.3视图138
8.1.4UML中的图139
8.2用例模型的构建140
8.2.1用例图的模型元素141
8.2.2确定参与者142
8.2.3确定用例142
8.3静态模型的构建146
8.3.1类图和对象图146
8.3.2标识类的方法150
8.3.3包图153
8.4动态模型的构建156
8.4.1顺序图156
8.4.2协作图157
8.4.3状态图和活动图158
8.5物理体系结构的构建161
8.5.1组件图161
8.5.2部署图162
8.6综合实例163
8.6.1系统分析163
8.6.2系统设计172
8.6.3物理结构设计176
本章小结180
习题181
第9章测试与维护183
9.1软件测试简介183
9.1.1测试定义183
9.1.2软件测试的原则184
9.1.3软件测试的对象185
9.2软件测试模型185
9.2.1V模型185
9.2.2W模型186
9.3软件测试的一般过程187
9.3.1测试需求分析阶段187
9.3.2测试计划阶段187
9.3.3测试方案设计阶段188
9.3.4测试用例实现阶段188
9.3.5测试执行阶段188
9.3.6评价与关闭阶段189
9.4软件测试常用方法189
9.4.1黑盒测试与白盒测试189
9.4.2黑盒测试法189
9.4.3白盒测试法194
9.5面向对象测试197
9.6软件测试自动化与测试工具199
9.6.1软件测试自动化199
9.6.2软件测试工具200
9.7软件调试201
9.7.1软件调试基本概念201
9.7.2软件测试和软件调试的区别201
9.7.3软件调试的步骤201
9.7.4软件调试方法202
9.8软件维护203
9.8.1软件维护的定义203
9.8.2影响维护工作量的因素203
9.8.3软件维护成本204
9.8.4软件维护过程204
9.8.5软件的可维护性与提高方法206
本章小结207
习题207
第10章软件项目管理209
10.1软件规模估算209
10.1.1软件规模估算概述209
10.1.2软件规模估算常用方法210
10.2风险管理211
10.2.1软件项目风险定义及管理重要性211
10.2.2风险识别212
10.2.3风险分析及量化212
10.2.4风险应对计划212
10.2.5风险监控213
10.3人员组织213
10.3.1团队管理概述213
10.3.2软件项目组织计划213
10.3.3项目组织形式214
10.3.4团队的组建215
10.3.5团队合作与沟通217
10.4进度管理217
10.4.1进度管理定义217
10.4.2进度管理过程217
10.4.3软件项目任务分解218
10.4.4软件项目进度计划219
10.4.5进度控制223
10.5质量管理224
10.5.1软件质量的定义224
10.5.2软件质量模型225
10.5.3软件质量保证226
10.5.4软件质量控制226
本章小结228
习题228
参考文献230
|
內容試閱:
|
序
软件工程学科的发展有其历史的必然。近半个世纪以来,随着通信、计算机、网络应用的普及,作为其灵魂的软件的开发显得越来越重要。无数的反例证明,如果软件产品的质量达不到要求,带来的损失是极其严重的。为保证或提高软件产品的质量,最关键的问题就是从技术和管理两方面双管齐下,使用得到实际考验的一系列最佳软件开发实践,作为我们工作的指导原则,切实做好软件开发的各项活动。
有人讲,软件工程课程学不学没有用处。事实上是这样吗?绝对不是。我在给清华大学计算机系的工程硕士上软件工程课的时候,他们说,他们上的所有课程中,这门课最有用。因为他们都是从事软件开发多年的在职研究生,他们反映,多年来困惑他们的很多问题,从课程中都能找到对应的解决方法。有时,看上去是一句普通的原则,在实践上却能解决大问题。所以,虽然课本中讲了许多条条框框,其实都是有其实践背景的。
还有人讲,软件工程这门课程太枯燥,听不懂,做不会,学习起来提不起兴趣。这就是学习方法问题了。软件工程有一条主线,即软件生命周期过程。它的特点是分阶段、有迭代。
从软件开发方法来看,不论是传统的结构化方法,还是面向对象方法,或新的面向服务架构,它们都有各自的适用领域,有不同的视角、不同的活动组织方式和不同的架构。
从软件工程过程来看,最基本的是开发过程、运行过程和维护过程,此外还有各种支持过程和组织过程,它们为基本过程提供辅助支持和各种保证。
从软件工程管理来看,有整体管理,包括启动、计划、执行、控制和收尾5大过程,此外,还要考虑需求、成本、进度、质量、人员、沟通和风险等方面的管理活动。
如果我们明确了软件工程的主要方面,就可以有目的、系统地进行课程的学习了。
总之,对于软件工程,应首先想到它是有用的,也可能将来工作后用不到操作系统原理、计算机原理等课程所讲的内容,但只要是从事软件开发,软件工程就是回避不了的。其次,要有它不难学的思想。关键是对将来自己工作的领域要有规划,找准方向,有针对性地学习。特别地,由于社会需求〖1〗软件工程基础与应用(第2版)序[3]〖3〗是不断变化的,软件开发技术是不断进步的,软件开发工具是层出不穷的,我们不要一味追求新的,而应该从最成熟、最可靠的技术和工具学起。在学校里打好基础,将来在工作中就很容易接受新东西。
马小军老师从事软件工程的教学已经20多年了,我与她的相识是在20世纪90年代初她听我的软件工程课的时候。她是一位对工作很认真的老师,在这么多年的教学中已经积累了丰富的教学经验,并领导了许多软件开发项目,从如何培养应用型技术人才角度出发,对软件工程的教学体系、课程内容选材和实践活动组织等各方面都有很好的想法,这本教材的编写就体现了她的教学思路和多年教学的体会,有理论,有案例,全书在内容组织方面注重科学性和系统性,在行文叙述方面颇具简洁性和可读性。我推荐同学们认真阅读,切实领会其实质,不断进步。
清华大学计算机系教授殷人昆
2013年7月
第2版前言
基于近几年来使用本书第1版开展软件工程课程教学的感受以及师生们对一些问题的认识与研讨,同时结合软件领域技术的使用状况,本书第2版更注重软件工程基本理论和技术在当前软件开发领域中的实用性、学生在学习过程中的易理解性以及核心概念和技术的拓展应用,主要做了如下调整:
1 增加了对软件工程师职业道德及基本素质的论述,使学生对未来成为一名软件工程师有初步的了解。
2 略掉了近几年较少使用且容易造成学习和理解障碍的概念和形式化使用,例如受限关联、链属性等。
3 对一些常用且很重要的概念、名词和技术使用方法等,则调整了论述的方式,增强了条理性,并加大举例说明的力度,同时也更注重举例的可理解性与前后连贯性,例如模块结构图的最佳与最差设计、UI设计、面向对象技术与UML建模过程中类的抓取等。
4 针对测试工作重要性的不断提升,特别是Web类软件和游戏类软件的大量推出,测试技术与方法也得到了不断的扩充与完善,增加了自动化测试技术和工具的介绍。
5 伴随各章进行系统化应用学习的综合案例被完整替换,选择的是国内所有高校大学生每年都会亲身参与的体能测试活动作为背景,分别采用结构化技术和面向对象技术,进行了项目需求定义、系统分析和系统设计等开发过程的系统化详细论述。对于其他非高校学生读者,鉴于一般也都有体测的经历,与此案例有极大的相似之处,学习理解应该也比较容易。选择此项目的另一个考虑是,测试活动很有可能随着要求和地域的不同发生变化,学生则可以根据已给出的分析和设计成果进行相应的方案调整练习,从而达到理论与实践及时的结合。
6 对各章后的练习题都做了调整,不仅增加了对一些容易混淆概念的对比理解题,还增加了一些激励学生结合实际体会或兴趣进行分析思考的题目,以期使学生将原以为枯燥的学习、抽象的技术概念能够马上用于实际问题的解决,提高继续学习的兴趣和热情。
本书第2版的编写依然遵循内容实用和系统化、图形规范和一致的原则,融入了多年的教学和实践经验,并采用通俗易懂的语言和简明完整的举例进行表述。书中所有图形(除界面截图以外)均采用Microsoft Office Visio 2007或2010绘制。〖1〗软件工程基础与应用(第2版)本书共计10章,马小军作为总负责人,提出了总体修改方案,并修改、编写了第1~6章,第7~10章由张玉祥修改、编写。
在本书第2版的修改编写过程中,获得了北京联合大学十三五规划教材建设项目的资助,也得到了张冰峰、马楠和廖礼萍三位老师的支持和协助,同时又参阅了大量的文献和资料,为最终内容的筛选与论述提供了丰富的借鉴,在此向这些老师、北京联合大学领导和专家以及文献资料的作者再次表示衷心的感谢。
由于时间关系且作者水平有限,书中难免会存在问题和不妥之处,真诚地希望广大读者和软件工程领域的专家能够提出宝贵的意见和建议,我们会虚心地接受并认真思考、修正。作者联系方式: xxtxiaojun@buu.edu.cn。
编者
2017年6月于北京
第1版前言
软件工程以研究如何高效率地开发高质量、高可靠性、易维护的软件产品为核心内容,自从20世纪60年代末推出以来,对软件产业的发展起到了巨大的推动作用。软件工程思想的严谨性、开发过程的规范化,为软件项目开发提供了理论保障;各种开发技术和开发方法的涌现和使用,计算机硬件性能的极大提高,以及网络技术和多媒体技术等的不断完善,为开发功能健全、性能良好、用户满意的软件,提供了技术支持。由此也促进了软件在各行各业、各个领域中的广泛应用,成为企事业单位全面实现信息化建设的核心内容。随着软件应用的广泛化与内部功能更新的频繁化,用户对软件质量和健壮性的要求更加突出,只有严格遵循工程化和规范化思想的指导,软件开发才可能获得成功。
在很多人的概念里,软件开发就是编写程序,即便是一些公司里面的技术人员,对软件工程也缺乏正确的认识,项目开发过于随意,导致公司虽然能够获得了眼前的经济效益,但因产品在后期不断出现问题,直接影响了企业的形象,长远收益大打折扣。21世纪以来,软件工程作为独立的学科体系,与计算机科学、信息工程、计算机工程等并存,体现出国家对软件技术人才的培养更加重视。信息化发展步伐的迈进,使软件人才的社会需求量也显著提高。软件开发不再是软件专业学生独自掌握的知识和专有技能,而变得更加大众化和普遍化。因软件工程不仅强调技术及其应用,也是一种分析问题和解决问题的思想和方法。所以,系统学习软件工程的知识,对任何专业、将来做任何工作的人而言,都是十分有意义和必要的。
目前市面上出版的软件工程教材比较多,所介绍的理论知识和开发技术也很全面,但各部分的举例不够系统性,特别是对于一些非计算机专业的学生而言, 欠缺很多软件方面的专业基础知识,理解起来有一定困难。其结果导致对各章节知识的理解和持续性,特别是技术方法的完整运用,学生难以体会和感受。
为此,我们结合对软件工程的了解与感悟以及多年的教学体会与经验,对软件工程的基本概念、基本理论和主流技术进行系统梳理后编写了本书,书中不仅进行了理论、技术和工具的介绍,同时选择了一个难度和规模适中且学生容易理解的项目作为综合案例,在书中的主要章节贯穿描述,目的是帮助学生正确理解所学内容,系统化地掌握和认识软件工程的思想、技术在实际开发中的具体运用,从而使教材的阅读、学习达到理论与实践的密切结合。
全书共10章,依照软件生存周期的理念展开叙述,具体内容如下。
第1、2章是软件工程综述,主要介绍软件的概念和特点,软件工程提出的背景和基本原理,几种主流开发方法,软件生存周期的组成和开发模型,以及常用的建模工具等。
第3章是需求调研与可行性研究,主要介绍需求调研的基本方法、用户业务流程的描述、项目可行性分析及软件成本效益分析的常用方法等。
第4、5章是系统分析与设计,重点介绍基于结构化技术的分析与设计方法,包括主要任务、工作原理、基本原则,以及数据流程图、数据字典和软件结构图的构建与优化等。
第6章是详细设计与编码实现,主要介绍算法的常用描述工具、界面设计需要注意的问题以及一般编码原则等。
第7、8章是基于面向对象技术的分析与设计方法以及统一建模语言UML,主要介绍面向对象分析与设计的基本原理、工作过程以及面向对象技术和UML中的主要视图模型与构建方法等。
第9章是软件测试技术与维护,主要介绍测试的概念与方法、软件调试的步骤与方法以及软件维护的概念、影响维护的因素和提高可维护性的方法。
第10章是软件项目管理,主要介绍软件规模估算方法、风险分析与监控、人员的组织与管理、进度与软件质量的控制等。
作为主编,马小军负责本书的结构组织、综合案例的确定和统稿,并编写了第1章、第2章和第4章,廖礼萍编写了第5章、第7章和第8章,第3章、第9章和第10章由张冰峰编写,第6章由马楠编写。全书由马小军统稿。
在本书的编写过程中,参阅了大量的文献和资料,在此向这些文献资料的作者深表崇敬之意并衷心的感谢。
本书的编写以北京联合大学信息学院软件工程平台课教学改革为依托,突出内容的实用性和系统化以及图形的规范化和一致性,语言通俗易懂,结构编排合理;所有举例简明、完整,同时,书后配有丰富的习题。书中所有图形(除界面截图以外)均是用Microsoft Office Visio 2007绘制的。
本书既可作为高等院校相关专业本科生软件工程课程的教材或参考书,也可作为项目管理人员、应用软件开发人员和专业技术人员的技术参考资料。
我们希望读者通过阅读本书,了解软件工程的理念,理解二种主流技术的特点和基本原则,掌握各种模型和建模工具的使用。同时,通过综合举例,感受软件项目开发过程中系统分析和系统设计的关系与具体实施方法,为今后独立从事一个小型软件项目的开发提供参考和帮助。但由于时间关系且作者水平有限,书中难免会存在问题和不妥之处,真诚地希望读者和软件工程领域专家能够提出宝贵的意见和建议,以帮助我们逐步完善和修正。作者联系方式: xxtxiaojun@buu.edu.cn。
〖1〗软件工程基础与应用(第2版)前言[3]〖3〗编者
2013年5月于北京
第3章用户需求调研与可行性分析用户需求调研与可行性分析是应用软件开发的开始,目的是确定一个项目是否可行。如何从用户那里获取对新软件的想法和要求,并非简单之事,调研的结果和质量在一定程度上也决定了一个软件的交付结果。各方面原因也会造成用户提出的需求不一定完全合理、正确,因此必须进行全面的分析。本章将介绍需求调研的一般方法,对用户需求如何进行可行性分析,以及对软件项目开发成本进行估算的方法。本章要点: 用户需求调研的常用方法; 软件项目可行性分析; 业务流程的描述; 软件开发成本的估算; 软件成本效益分析。3.1用户需求调研〖*45〗3.1.1关于需求软件的需求是软件开发的基础。需求是一个软件项目的开端,一个项目成功的关键因素之一就是对需求的把握。项目的整体风险往往表现在需求不明确和业务流程不合理。通俗地讲,用户需求就是用户的想法和要求,规范的定义是指用户在工作过程中希望通过某种技术或业务手段解决的问题及达到的目标。软件需求是指用户对软件的功能和性能要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么样的效果。软件人员要准确理解用户需求,进行细致的调查分析,将用户非形式化的需求陈述转化为完整的需求定义。软件需求包括三个不同的层次: 业务需求、用户需求、功能需求。3.1.2用户需求调研的必要性软件以实用为目标,而实用就是要符合用户的实际需求。需求调研是指通过与用户进行沟通和交流而获取用户需求的一系列活动,并明确能够提供哪些基础数据、最终希望得到什么结果。若投入大量的人力、物力,财力和时间开发出的软件没人用或不符合用户需求,所有的投入都是徒劳和浪费。需求调研做得不深入、不具体,将造成项目底失败、进度拖延、成本增加、系统生存命周期缩短等后果,这不正是软件危机的重现吗?在进行用户需求调研时,需要引导客户尽可能准确、完整地表达出他们心目中期待的软件系统应该具备的功能和性能等要求。需求调研是一个应用软件系统开发的开始阶段,其质量在一定程度上决定了一个软件的开发成败。怎样从用户中获得需求并能够准确理解,是调研人员的核心工作。需求调研就是了解参与实际工作的人们真正需要什么样的软件过程,获取准确、清晰、完整的用户需求信息。〖1〗软件工程基础与应用(第2版)第3章用户需求调研与可行性分析[3]〖3〗范例1: 某软件企业通过竞标承接了一客户的网络运维管理系统设计与开发项目。客户在项目立项时,只是通过供应商对产品的宣传了解了网络运维管理的内容,但整个项目要达到什么目标,需要满足什么标准等并不十分明确。在项目启动后,软件企业也没有跟客户进行充分的沟通,直接参照成熟规范的IT运维管理系统进行开发和设计。按照ITILIT Infrastructure Library标准,将系统功能分为服务台、配置管理、事件管理、问题管理、发布管理和变更管理功能来实现。但是在实施过程中,却出现以下问题:1 按照规范的运维管理系统进行服务台设计,理论上符合ITIL标准,但在实际实施时因客户信息中心人员较少,每人都承担着大量的工作,不能全职去做服务台的工作。而服务台的实现是整个运维管理系统的基础,必须有全职的人员24小时进行值守。系统上线后,没有安排专职人员,导致系统运行无法实现。2 由于用户对要完成的系统需求不明确,开发人员只按照自己的思路进行设计。3 要完成网络运维管理系统的上线,需要集成网络监控系统、桌面管理系统和机房监控等系统,且要集成的系统需要开放接口,不同的系统对应不同的厂家。由于前期没有沟通,在开放接口时,不同厂家要收服务费,出现了接口开发费用超过网络运维管理系统整个项目的费用,导致项目无法实施。还有其他一些问题,在此不一一列出,总之,最后完成的项目无法实施,项目的验收工作无法进行。造成这种后果的原因就是前期没有做好沟通和需求调研。范例2: 某单位信息中心准备为企业采购一套办公自动化软件,并完成企业的网站开发。要求网站与办公自动化软件进行集成。某软件开发公司承接了此项目,由于预算费用较少,软件开发公司直接购买了一套小型办公自动化软件,与实现的网站进行集成。最后在系统实施过程中遇到了以下问题。(1) 购买的小型办公自动化软件与网站集成过程中,因办公自动化软件内部的组织架构和权限角色无法适应单位的要求,也没有开放的接口用于实现数据共享,所以网站页面无法进行数据的正常输出显示。(2) 客户提出对办公自动化软件中不符合实际情况的模块进行修改,删除不需要的模块,以免影响自己的操作选择等。这些需求都得不到满足,原自动化软件制作公司不会为了一个小的应用项目去修改代码。若要修改,必须交一大笔开发费。还有很多其他问题,如界面风格、数据操作方式等,导致此项目最后也以失败告终,造成失败的主要原因是双方没有在项目立项前期进行详细的沟通和调研。若当时了解到用户的实际需求,同时结合项目预算与客户进行充分的沟通和分析研究,这样的后果是完全可以避免出现的。3.1.3需求调研方法需求调研方法一般包括面谈法、问卷调查法、查阅资料法、实地观察法等。1. 面谈法面谈的形式包括个人面谈、集体面谈和管理人员面谈等3种。面谈前要进行充分的准备工作,过程中要有良好的态度,切忌先入为主,并在友好的氛围下获取用户真实的需求。首先由调研对象描述业务信息和需求信息,然后调研人员向调研对象提出事先准备好的问题,并记录访谈过程。访谈结束后,经过对访谈过程记录的整理和分析,得到用户的初步需求。2. 问卷调查法问卷调查法也称为书面调查法或填表法,是以书面形式间接搜集研究材料的一种调查手段。在获得客户项目负责人同意和支持后,通过向调查者发出简明扼要的问卷表,让调研对象根据实际业务填写问卷表,从而间接获得材料和信息。然后调研人员根据收集到问卷结果进行整理和分析,抽象出用户的需求。3. 查阅资料法根据项目的特点和目标,有选择地搜集与项目相关的资料,包括规章制度、规范指南、业务流程以及工作过程中填写和提交的数据表单等。将搜集到的资料进行整理、分析和提炼,得到用户的需求。4. 实地观察法实地观察法是通过感官,在实际场景中有目的、有计划地考察人、事物或某种现象的一种研究方法。采用实地观察法时,首先需要制定观察计划,明确目的和任务,确定观察时间和观察地点。其次,进入观察领域,熟悉观察环境,对调查对象的具体业务进行观察,参观调研对象的工作流程,观察调研对象在不同时刻或环节实施的操作,并采用合理的方法对观察结果进行记录。最后,根据观察收集到的信息,进行整理和分析,得到用户的需求。在实际项目需求调研过程中,往往是多个方法结合使用。经常采用的方式是直接面谈的访问调查结合查阅资料法,根据实际需要辅之以问卷调查法和实地观察法。3.1.4调研内容和步骤为确保需求调研工作的顺利开展,在需求调研实施前,应安排一系列的准备工作,加强团队管理和建设,保障调研工作的顺利进行。3.1.4.1调研准备阶段1. 拟定需求调研计划在需求调研范围和调研团队确定后,调研负责人需要预估调研工作量,做好分工,拟定需求调研计划并等候需求方负责人的认可。需求方负责人认可调研计划后,要负责安排相关部门人员配合需求调研的访谈的实施。需求调研计划主要内容如下:(1) 调研目的: 其中包括项目调研目的、重要性和意义。(2) 调研范围: 其中包括职能范围、业务范围和调研地点。(3) 采用的调研方式。(4) 调研进度安排。(5) 业务调研时间安排。
|
|