软件需求分析与建模基础
时间:2025-04-12
时间:2025-04-12
火龙果 整理
软件需求分析与建模基础空间与交易产品部-高飞 2011年1月26日
火龙果 整理
目录一 什么是需求分析
二
系统建模
三
需求分析建模实例
四
经验总结
目录一 什么是需求分析 1. 软件生命周期 2. 需求分析的定义
火龙果 整理
3. 需求分析阶段的重要性4. 需求分类
5. 需求捕获6. 需求过程定义
火龙果 整理
一、什么是需求分析?1、软件生命周期(SDLC-Software Day Light Cycle)
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成 长、成熟、衰亡等阶段,一般称为软件生命周期。
《软件工程国家标准—计算机软件开发规范》(GB8566—88)中将软 件生命周期划分为8个阶段:
可行性研 究与计划
需求分析
概要设计
详细设计
实现(包 括单元测 试)
组织测试 (集成测 试)
确认测试
使用和维 护
火龙果 整理
一、什么是需求分析?2、需求分析的定义
是软件工程中的一个关键过程;是系统分析员进行软件功能和性能分析的依据; 是指明软件和其他系统元素的接口、是建立软 件必须满足的约束; 是软件设计师进行软件分解的基础; 是软件处理的数据模型、功能模型和行为模型; 是软件设计师翻译成数据、体系结构、界面和 过程设计的模型; 是进行质量评估的依据。
火龙果 整理
一、什么是需求分析?3、需求分析阶段的重要性
根据Standish Group对23000个项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有 约26%的项目获得成功。 而在于这些高达74%的不成功项目中,有约60%的失败是源于需 求问题。
也就是说,有近45%的项目最终因为需求的问题最终导致失败。
火龙果 整理
一、什么是需求分析?4、需求分类
业务需求:反映组织机 构或客户对系统、产品 高层次的目标要求。 用户需求:描述用户使 用产品必须要完成什么 任务。 系统需求:从系统的角 度来说明软件的需求, 它包括用特性说明的功 能需求,质量属性以及 其它非功能需求,还有 设计约束。
火龙果 整理
一、什么是需求分析?5、需求捕获
明确业务需求:业务需求是整个系统最为宏观层面的东西,也就是 “项目的目标” 。 理解业务流程: -- 若项目较大或者业务较陌生:应进行业务建模; -- 如果业务较陌生:聘请领域专家,领域培训; -- 如果术语较多,易于混淆:业务术语表; -- 无论如何,都应该建立跨部门职能流程图 。
火龙果 整理 uml
一、什么是需求分析?5、需求捕获
明确用户需求: -- What(收集什么信息) -- Where(从哪收集) -- How(如何收集)捕获技术 用户访谈 用户调查 现场观摩 文档考古 联合开发 优点 直接有效、灵活、深入 面广、可以获得更多反馈 容易建立直接的认识 能够详细、直观对数据流细节进行 分析 直接的头脑风暴,可以击破需求盲 点 缺点 占用时间长,信息面窄、较片面 不够深入,容易形式主义、失真 消耗时间长 易陷入文山书海,甚至产生误导 成本高,需要较高的控制技巧
火龙果 整理
一、什么是需求分析?6、需求过程定义组织机构 原始手工作业 流程图 表格文档
服务对象?
现实业务?
细化业务流程
输入输出流?
设计原型
逻辑关系图
可行性研究?
业务之间 的关系?
原型 用例
泳道图
是否合法、是否能实 现、设计限制、 是否存在不合理需求、 是否存在尚未提出的潜 在要求
逻辑关系 数据关系
需求阶段 分析阶段
火龙果 整理
目录二系统建模 1. 为什么要建模 2. 什么是UML
3. UML的发展历程4. 模型种类
5.谁应该建模6.如何使用UML对需求建模
火龙果 整理
二、系统建模1、为什么要建模
从建筑方面的建模谈起…
建造一个狗窝:只需备一些木料、钉子和基本工具。建造一所房子:除备一些木料、钉子和基本工具外,还要事先制订 计划,画出简图。
建造一座大厦:资金是别人的,他们会对 建筑物的规模、形状和风格作出要求。而 给出设计方案(建模) 对模型加以分析 且经常会改变想法。失败的代价太高。需 组织各种资源 要许多人员合作完成,需提供设计图和模 进行积极的管理 型供各方相互沟通。需得到合适的人员和 工具,对把建筑的概念转换为实际建筑物 的过程进行积极的管理。 奇怪的是,很多软件开发组织开始想建造一座大厦式的软件,而在动手 处理时却好像他们正在仓促地造一个狗窝!
火龙果 整理
二、系统建模1、为什么要建模
现代软件为什么要建模:现代软件的趋势是朝着更庞大,更复杂的 系统发展。应用环境是迅速变化的,要求软件系统适应迅速变化的 环境。建模允许我们通过一种分而治之的办法来处理复杂的问题, 使我们能更好地理解待开发的系统。
火龙果 整理
二、系统建模2、什么是UML
UML是一种Language(语言) UML是一种Modeling(建模)Language
UML是Unified(统一)Modeling Language是一种绘制软件蓝图 …… 此处隐藏:1303字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:托幼机构及小学晨午检记录表
下一篇:摄像机拍摄技巧入门