□ 做好一款软件从哪里开始呢?→ 客户需求的调研;
□ 一款软件的价值高低由哪个环节决定呢?→ 软件的分析与设计;
□ 软件顺利完成开发靠什么?→ 高效的项目管理;
□ 软件开发的主要角色?→ 客户、项目经理、产品经理、需求工程师、开发工程师和测试工程师;
完成一个软件系统,需要有相应的分析设计方法、项目管理方法以及过程中不同阶段角色的分工协作。
软件成功完成需要客户、项目经理/产品经理、需求工程师、开发工程师和测试工程师这五个核心角色的高效协作,这个协作的基础之一就是对“需求分析和软件设计”文档的理解、认同高度一致,这五个角色对文档有各自重点关心的内容,如
1.提需求的客户:可以清楚的表达出自己的需求、并在分析和设计期间就能够确认所提的需求是否被理解、并正确地反映到设计文档中;
2.项目经理/产品经理:如何在项目开始前就能建立起有效的项目计划、实施流程、资源匹配、交付物模板、验收标准等事项,并可以达成项目管理的三大目标(质量、进度、成本);
3.需求工程师:如何高效地调研需求、理解需求、分析需求、设计需求,如何将客户的原始需求准确地转换为需要开发的系统功能、并让文档容易传递给后续的开发工程师;
4.编码工程师:如何快速地理解需求文档,检查和判断需求文档的正确性、可行性。准确无误地将需求文档转换为技术文档是决定后期开发成功的重要保障;
5.测试工程师:如何快速地理解需求,编制出可以验证完成的系统是否满足需求规格书、技术设计的用例脚本,并自信地给出判断结果;
上述五个角色之间的重要交集点就是设计成果(文档)。因此,设计成果要建立共同语言、表达标准,让这五方之间不但可以定性、而且可以定量地进行交流、传递、确认、验收。
大话软件工程套书(分为方法篇和案例篇)就尝试着为工作在一线的客户和软件工程师们,提供一套可以支持这样的交流、传递,且具有很强实操性的理论、方法、工具和标准。大话软件工程包括两册:
□《大话软件工程——需求分析与软件设计》(方法篇)
□《大话软件工程案例篇——项目与产品开发实战》(案例篇)
大话软件工程颠覆了你在学校时对软件工程留下的印象,打破了软件工程可学习但无实用价值的认识,采用了不同于传统软件工程书籍的讲述方式,以图形和表格为主的形式为工作在一线的软件工程师们提供了以软件工程为框架的,可以支持实战的分析、架构、设计的参考体系,包括实操性很强的理论、方法、工具和标准,可以快速提升软件过程中各岗位的专业能力。
一、书的特点
1.图形化
书中将软件工程划分了不同的阶段和层次,在不同的阶段和层次中分别提供了对应的参考标准图形。图形化的表达方式可以明显地提升工作效率和产品质量。本书采用的图形是“自然图形”表达方式,图形是包括客户在内五个角色正确、快速交流的“共同语言”,而且不需要特别培训就能做到。
全套书提供了大量的彩色图形和表格(方法篇:550余张图/表、案例篇:380余张图/表)。
图1-1 全书彩色印刷
图1-2 对每一种模型图给出详细的画法说明和使用案例
2.标准化
书中制定了从图形表达到文字描述的标准化方式。实现需求工程师和开发工程师之间的无缝传递、继承。所有的交付物不但定性而且定量,所有的交付物有理论、方法、模板、标准。
图2-1 书中标准化的知识体系
图2-2 常用分析与架构的标准模型
图2-3 常用画图标准符号
3.工程化
将软件实现的各个环节按照工程化的模式串联起来,使软件行业的设计过程和设计资料如同建筑业、制造业一样,可以按照流程进行操作,支持项目经理高效管理、达成项目管理三大目标。
图3 软件工程的标准作业流程
4.逻辑线
书中从需求调研开始直至应用设计为止,全书始终以“逻辑”为分析和设计的指导主线,让读者按照逻辑思路去理解知识、同时按照合乎逻辑的表达形式展示设计结果。确保分析和设计的成果-需求文档在满足软件工程师的要求的同时也可以让客户理解、确认、签字。
图4 逻辑线贯穿全书的说明
二、书的构成
1.《大话软件工程—需求分析与软件设计》(方法篇)构成的简介
方法篇主要介绍软件工程中“需求工程”与“设计工程”两个子工程的基本构成框架及相关知识,给出完成这两个子工程的相关理论、方法、工具、标准、流程等详细内容,为构建符合工程化要求的软件分析与设计体系奠定了基础。
方法篇追求的是软件分析和设计过程的工程化作业,所以书中的内容按照软件工程师的实际工作流程编排的,以图3所示的流程为主线,将分析与设计需要的知识、方法、工具、标准等挂接在流程的相关节点上,方面读者理解、查询、引用。全书共分为6篇22章:
□ 第1篇:分析与设计所需要的基础理论、概念
□ 第2篇:需求工程,包括调研前的准备、调研方法、记录模板、分析方法、规格书的编写等
□ 第3篇:设计工程-概要设计部分,系统的规划、设计理念、整体架构、功能规划、数据规划等
□ 第4篇:设计工程-详细设计部分,针对业务内容(流程、界面、数据)进行优化、详细的设计
□ 第5篇:设计工程-应用设计部分,针对系统内容(原型、操作、权限)进行规划、详细的设计
□ 第6篇:设计工程-综合设计部分,对客户价值、管理价值、业务验证、应用验证方面进行设计
□ 附录:功能提升训练:对读者的逻辑思维方法、逻辑表达方法等进行训练
2.《大话软件工程案例篇—项目与产品开发实战》(案例篇)构成的简介
案例篇设置了2个案例,介绍“定制系统”的开发案例和“标准产品”的研发思路:
□ 案例1:以开发个性化“项目管理”系统为主线,讲解从售前咨询~上线培训的开发全过程。
□ 案例2:以案例1的内容为需求输入,讲解研发具有通用性标准产品的设计思路。
全书共分为5篇16章:
□ 第1篇:概要说明,说明案例所用的软件工程与项目管理知识、设定案例的内容
□ 第2篇:前期准备,说明售前咨询的内容、方法,项目开工前所需要的各项准备工作
□ 第3篇:需求工程,讲解需求的获取、分析、记录方法,相关的实战案例等
□ 第4篇:设计工程,讲解概要/详细/应用等设计案例,及向编程和测试做设计交底
□ 第5篇:其它综合,讲解上线培训和建立客户标准的方法,标准产品的设计思路等
□ 附录:包括训练逻辑思维和逻辑表达的能力、对个人软件工程能力的评估内容和方法
书中按照软件开发流程进行介绍,对流程上的每个步骤,给出了相应的理论、方法、工具、模板和标准,按照这个流程读者就可以将书中的知识、方法、模板和标准等运用到实际的工作中。
三、书的目录
1.《大话软件工程—需求分析与软件设计》(方法篇)的目录
2.《大话软件工程案例篇—项目与产品开发实战》(案例篇)的目录
作者从事需求分析与设计的培训工作已有二十多年,可以进行企业的集体培训,个人购书者可以参加《大话沟通群》进行直接交流(沟通群地址见书的前言)。