脉络循环 通过对每个业务事件进行流程分析、细化阶段的第一次迭 业务实体分析、并标示出所有用例 代 细节循环 对每个用例的细节进行分析,包括事细化阶段的第二次迭 件流、用户界面原型等 代构建阶段 表:需求开发的三次循环
需求基线
11
需求分析的任务
?需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求。这是关系到软件开发成败的关键步骤,也是整个系统开发的基础。
?需求分析活动提供功能需求、质量属性需求以及约束性需求等不同需求的明确定义。 ?需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。
需求分析模型
通常软件开发项目是要实现目标系统的物理模型,该物理模型是由它的逻辑模型的实例化,即具体到某个业务领域而得到的。
12
需求管理工作要点
统- ' 明确的需求项划分标准 引入基线管理 引入变更管理 引入需求跟踪
需求分析人员的来源 开发人选择的解决方案缺乏领域知识,沟员 更合理 通能力不强 用户 更善于理清业务软件知识欠缺,难脉络 以表述需求 领域专对业务领域十分易于按自己的偏好家 精通 来构建系统
各种能力培养的要点 技能类培养要说明 型 点 13
业务能类比 力 例如,在很多非销售型企业中也能找到“产、售、 供”的线索 宏观思过于陷入细节就会影响宏观理考 解 溯源 分析技术的发展历史,可以更好地了解其作用 技术能优/缺点 了解优缺点就能够在正确的地力 方应用它 沟通能思维模通过改变思维模式、不断训练力 式 是可以提高的
软件需求最佳实践——SERU模型 SERU模型
S:Subject Area,表示子问题域,其核心思想是要通过业务来分解系统,尽量保证业务独立和低耦合。
E:Event,表示业务事件,通过业务事件能够找到流程,通过流程能够找到不同场景和用例。
R:Report,表示报表,统一处理查询,分析和统计类需求。 U:Use Case,表示用例,需求组织的最小单位,到了需求分析阶段的重要活动和产出。
■ SERU过程框架模型将需求过程分解为了三个阶段:
?第一个阶段是需求定义,重点是主题域划分和业务事件识别。
?第二个阶段是需求分析,理清需求框架和脉络,重点是通过业务流程图转到具体的领域类图和用例图
?到了第三个阶段是需求细化,重点就是填充需求细节,包括用例的详细编写,界面和交互设计等。
4、软件需求分析技术
根据用户需求,通过反复讨论、分析,最终明确一个唯一性的用户需求,这个结果其实就是我们的软件需求分析报告。一般我们采用Word、PowerPoint、Visio、
FrontPage、Excel 等 Off ice 工具,同时可能采用一些开发工具,如VC或BC等,同样也会使用一些图形工具,如Photoshop、调色板等画图工具。 使用各种工具表达软件需求分析,其具体表达手段可以分为: ?效果图描述。主要是用户UI界面的描述反映用户需求功能;
?逻辑图描述。根据用户需求功能,使用抽象化理论,以及需求分析理论,对用户需求功能进行全面的分析,建立功能性逻辑关系图,流程逻辑关系图等; ?关系图表描述。主要是对信息关系、数据库表格、接口函数等描述;
?工程数学描述。分析用户需求,分析用户需求信息,运用工程数学进行算法推导,进行合理化需求分析推导;
?甘特图描述。主要是软件项目工作安排,开发周期预估; ?其它方法描述。保证完整性合理性的有效描述。
软件需求分析评估
14
软件需求分析评估是为了检查我们进行软件需求分析工作,保证软件需求分析工作正确性、完整性、有效性、合理性、可确认性、可实施性,完全保证用户所需求的功能。 ?组织结构与责任管理 ?满足用户需求的功能 ?保证可实施性
?需求分析评价指标 ?工作周期
?需求不确定更改与可确认保证
两类分析建模技术 传统建模技术:
结构化分析建模SA (Structured Analysis),又分面向数据律樟和而向教据流建模
^主要应用技术:数据流图(DFD);数据字典(DD);加工说明(PESPEC);实体关系图(E-R);状态变迁图(STD)等 ea现代建模技术:
t面型对象分析建模OOA (Object-Oriented Analysis)主要应用视图:用例图(Use Case);时序图(Sequence);状态图(State chart);类图(Class);构件图(Component);部署图(Deployment)等
结构化分析方法
@结构化分析建模又分面向数据建模和面向数据流建模
?结构化分析方法面向数据流进行需求分析的方法,结构化分析方法适合于数据处理类型软件的需求分析。?SA法建模就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件模型为止。
5、需求分析工具软件
采用适当的工具,有可能显著减少需求阶段的错误,也可大幅度提高需求分析的质量和工作效率。当然工具的选用应当与实际的项目相结合,充分地发挥工具的作用。
IBM Rational Rose ■ Rational Rose是一个完全的,具有能满足所有建模环境(Web开发,数据建模,Visual Studio和C++ )需求能力和灵活性的一套解决方案。 ■ Rose允许将需求和系统的体系架构转换成代码,对需求和系统的体系架构进行可视化,理解和精练。 ■ Rose是美国的Rational公司的面向对象建模工具(被IBM收购), 利用这个工具,可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、Java、VB和Oracle等语言和系统的代码。
■ Rational Rose包括了统一建模语言(UML),00SE,以及 0 M T。其中统一建模语言(UML)由Rational公司3位世界级面向对象技术专家Grady Booch、Ivar Jacobson、和Jim Rumbaugh通过对早期面向对象研究和设计方法的进一步扩展而得来的,它为可视化建模软件奠定了坚实的理论基础。
15