基于敏捷建模方法软件需求分析研究论文.pdf_第1页
基于敏捷建模方法软件需求分析研究论文.pdf_第2页
基于敏捷建模方法软件需求分析研究论文.pdf_第3页
基于敏捷建模方法软件需求分析研究论文.pdf_第4页
基于敏捷建模方法软件需求分析研究论文.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

基于敏捷建模方法软件需求分析研究论文.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学 硕士学位论文 基于敏捷建模方法的软件需求分析研究 姓名 邓蓉蓉 申请学位级别 硕士 专业 信息管理与信息系统 指导教师 张浩 20091201 武汉理丁大学硕士学位论文 摘要 随着软件工程快速的发展和深入 软件需求分析以及软件需求管理逐渐成为 软件开发过程中非常重要的活动 需求分析的质量对后续的软件开发各阶段有着 深远的影响 面对客户日益复杂多变的需求 如何才能敏捷的获取 建立完善的 无二义性的需求模型已经成为了软件开发的重点 但是由于用户和开发人员之间 存在知识落差 用户缺乏软件开发知识 往往对自己的需求说不清楚 而开发人 员不精通客户的业务知识 很难理解客户真正需要的是什么 难于具备敏锐的洞 察力挖掘出客户的潜在需求 因此使得需求分析成为了一项艰巨的工作 而现阶 段对需求分析理论和实践的研究却非常缺乏 本文第一章绪论部分 主要说明了本课题研究的目的以及意义 并对需求工 程和敏捷方法的研究现状进行了归纳总结 第二章以常用软件需求分析方法为出 发点 深入研究了需求层次划分和敏捷建模基本思想 第三章基于敏捷建模方法 的软件需求分析是本论文的核心部分 通过比较各种需求分析方法的优点与局限 性 寻找出敏捷建模方法与传统需求分析方法的最佳契合点 将敏捷建模应用于 需求分析过程中来增强该分析过程的敏捷性 在运用敏捷建模方法的时候 将对 敏捷建模如何在合适的时间合适的位置选择合适的建模工具以及各种制品等进行 了研究和实践运用 同时将敏捷建模的方法应用于需求管理活动中 保证了需求 开发活动的顺利进行 最后第四章中 通过适当的裁剪运用到办公自动化系统的 需求分析实践当中 验证了基于敏捷建模方法的需求分析可以提高需求分析质量 为后续软件开发奠定一个良好的基础 提高了软件开发的质量 第五章总结与展 望 对现阶段的工作进行总结 指出需要改进的地方 对今后的工作提出新的期 望 基于敏捷建模的需求分析方法可以有效控制需求泛滥 在定义需求基线之前 快速的与用户进行沟通 验证 修改所获取的需求 以保证其准确性 定义需求 基线之后 任何的需求变更都需要遵循严格的变更控制流程 敏捷运用了各种建 模技术 创建多种模型 采用了需求复用技术 使得需求并不是 从零开始 提 高了需求开发的效率 规范了需求管理流程 严格的需求管理流程 使得分析工 作处于 有序 的状态 关键词 需求工程 需求分析 敏捷建模 需求复用 武汉理 大学硕十学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fs o f t w a r ee n g i n e e r i n ga n di n d e p t h s o f t w a r e r e q u i r e m e n t sa n a l y s i sa n ds o f t w a r er e q u i r e m e n t sm a n a g e m e n th a sb e c o m eav e r y i m p o r t a n ta c t i v i t yi nt h ep r o c e s so fs o f t w a r ed e v e l o p m e n t t h eq u a l i t yo fr e q u i r e m e n t s a n a l y s i s h a st o om u c ht h i n g st od ow i t ht h ef o l l o w u pa l ls t a g e so fs o f t w a r e d e v e l o p m e n t f a c i n gt h ei n c r e a s i n g l yc o m p l e xc u s t o m e rr e q u i r e m e n t s h o wc a nw e e s t a b l i s has o u n da n du n a m b i g u o u sr e q u i r e m e n t sm o d e lh a sb e c o m et h ef o c u so f s o f t w a r ed e v e l o p m e n t h o w e v e r a st h ek n o w l e d g eg a pe x i s t s b e t w e e nu s e r sa n d d e v e l o p e r s t h eu s e r sa r el a c ko fk n o w l e d g eo fs o w a r e t h e yu s u a l l yc a n n o te x p r e s s t h e i rn e e d sc l e a r l y t h ed e v e l o p e r sa r en o tp r o f i c i e n ti n c u s t o m e r sb u s i n e s s i ti s d i f f i c u l tt ou n d e r s t a n dw h a tc u s t o m e r sr e a l l yn e e di s a n di ti sd i f f i c u l tt od i go u ti n t o t h ep o t e n t i a ld e m a n do fc u s t o m e r sw i t hak e e ni n s i g h t w h i c hm a k e sr e q u i r e m e n t s a n a l y s i sh a sb e c o m ead a u n t i n gt a s k b u tt h er e s e a r c ha b o u tr e q u i r e m e n ta n a l y s i sa n d p r a c t i c eo ft h et h e o r ya tt h i ss t a g e i sv e r yl i m i t e d i n t r o d u c t i o np a r to ft h i sc h a p t e r m a i n l yt oe x p l a i nt h ep u r p o s ea sw e l la st h e m e a n i n go ft h i s r e s e a r c hp r o j e c t a n dw eh a v es u m m a r i z e dt h ec u r r e n ts i t u a t i o no f r e q u i r e m e n t se n g i n e e r i n ga n da g i l em e t h o d so fs t u d y c h a p t e ri is o f t w a r er e q u i r e m e n t s a n a l y s i sm e t h o d sc o m m o n l y u s e da sas t a r t i n gp o i n t i n d e p t hs t u d yo fd e m a n dl e v e l so f c l a s s i f i c a t i o na n dt h eb a s i ci d e ao fa g i l em o d e l i n g c h a p t e ri i io ft h ea g i l em o d e l i n g m e t h o db a s e do ns o t t w a r er e q u i r e m e n t sa n a l y s i s i sac o r ep a r to ft h i sp a p e r b y c o m p a r i n gt h ea d v a n t a g e sa n dl i m i t a t i o n so f t h ev a r i o u sn e e d so fa n a l y t i c a lm e t h o d st o f i n do u tt h eb e s tf i tp o i n tb e t w e e nt h ea g i l em o d e l i n gm e t h o da n dt h et r a d i t i o n a l m e t h o d so fr e q u i r e m e n t sa n a l y s i s t h ea g i l em o d e l i n ga p p l i e dt or e q u i r e m e n t sa n a l y s i s p r o c e s st oe n h a n c et h ea n a l y s i sp r o c e s sa g i l i t y a g i l em o d e l i n g m e t h o d si nt h eu s eo f t i m e w i l lb eh o wa g i l em o d e l i n ga tt h er i g h tt i m e f i g h tp l a c es e l e c tt h ea p p r o p r i a t e m o d e l i n gt o o l sa n dav a r i e t yo fp r o d u c t sa r es t u d i e da n dp r a c t i c a la p p l i c a t i o n s t h e s a m et i m e a g i l em o d e l i n gm e t h o di sa p p l i e dt od e m a n d s i d em a n a g e m e n ta c t i v i t i e s e n s u r i n gt h a td e m a n dd e v e l o p m e n ta c t i v i t i e sc a r r i e do u ts m o o t h l y c h a p t e ri v t h r o u g h t h ea p p r o p r i a t ec u t t i n ga p p l i e dt oo f f i c ea u t o m a t i o ns y s t e mn e e d sa n a l y s i sp r a c t i c e t o v e d f yt h em o d e l i n gm e t h o db a s e do na g i l er e q u i r e m e n t sa n a l y s i sc a ni m p r o v et h e q u a l i t yo fr e q u i r e m e n t sa n a l y s i s s o f t w a r ed e v e l o p m e n tf o rf o l l o w u p t ol a yag o o d i i 武汉理t 大学硕十学位论文 f o u n d a t i o nt o i m p r o v es o f t w a r ed e v e l o p m e n tq u a l i t y c h a p t e rvc o n c l u s i o na n d o u t l o o ko ft h ew o r k s u m m a r i z ea tt h i ss t a g e p o i n to u tt h ea r e a st h a tn e e di m p r o v e m e n t f o rf u t u r ew o r k t op r o p o s en e w e x p e c t a t i o n s t h em e t h o do fr e q u i r e m e n ta n a l y s i sb a s e do nm o d e l i n gm e t h o dc a ne f f e c t i v e l y c o n t r o lt h es p r e a do ft h ed e m a n d q u i c k l yc o m m u n i c a t ew i t ht h eu s e r a u t h e n t i c a t i o n a n dm o d i f yt h er e q u i r e m e n t st oe n s u r ei t sa c c u r a c yb e f o r et h eb a s e l i n er e q u i r e m e n t si n t h ed e f i n i t i o n a n yc h a n g e sw i l ln e e dt of o l l o wt h es t r i c tr e q u i r e m e n t so ft h ec h a n g e c o n t r o lp r o c e s sa f t e rt h eb a s e l i n er e q u i r e m e n t si nt h ed e f i n i t i o n a g i l ea p p l i c a t i o no fa v a r i e t yo fm o d e l i n gt e c h n i q u e s av a r i e t yo fm o d e l sc r e a t i n g r e q u i r e m e n tr e u s e w h i c h m a k e st h ed e m a n di sn o t s t a r t i n gf r o ms c r a t c h t oi m p r o v et h ee f f i c i e n c yo ft h e d e v e l o p m e n to fd e m a n d s p e c i f i c a t i o no ft h er e q u i r e m e n t sm a n a g e m e n tp r o c e s s i ti s t h es t r i c tr e q u i r e m e n t sm a n a g e m e n tp r o c e s st h a tm a k e st h ea n a l y t i c a lw o r ki nt h e o r d e r l y s t a t e k e y w o r d r e q u i r e m e n t se n g i n e e r i n g r e q u i r e m e n ta n a l y s i s a g j l em o d e l i n g r e q u i r e m e n tr e u s e 1 i i 独创性声明 本人声明 所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果 尽我所知 除了文中特别加以标注和致谢的地方外 论文中不包含其他人 已经发表或撰写过的研究成果 也不包含为获得武汉理工大学或其它教育机构的 学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意 签名 墨至建整 日期 垒1 2 兰 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留 使用学位论文的规定 即学校有权保 留 送交论文的复印件 允许论文被查阅和借阅 学校可以公布论文的全部或部 分内容 可以采用影印 缩印或其他复制手段保存论文 签名 墅蓥鏖导师签名 益 武汉理 i 大学硕十学位论文 第1 章引言 1 1 本文研究的目的与意义 1 1 1 本文研究的目的 在软件开发过程中 需求分析的结果将会作为后续开发工作的基础 因此它是 一个非常重要的环节 在此阶段 是开发人员与客户接触沟通最为频繁广泛的阶 段 由于两者之间存在知识落差 用户缺乏软件开发知识 往往对自己的需求说 不清楚 而开发人员不精通客户的业务知识 很难理解客户真正需要的是什么 难于具备敏锐的洞察力挖掘出客户的潜在需求 因此需求分析是一项复杂的工作 而现阶段对需求分析理论和实践的研究却非常缺乏 本论文的研究目标是将敏捷建模方法运用在软件需求分析过程当中 高效地 将敏捷建模方法的价值观 核心原则和有效实践融合于传统需求分析方法过程中 灵活的应用了u m l 等建模技术及相关的建模制品满足了需求分析工作的需要 同 时应用敏捷需求管理保障了需求分析工作的顺利进行 最后根据该模型的思想和 构建过程 将其运用于实际的办公自动化系统的需求分析工作中 优化了分析过 程 取得了较好的结果 1 1 2 本文研究的意义 1 提高信息系统的质量 随着经济快速发展 我们已经步入了信息社会时代 激烈的市场竞争 使得 企业必须借助计算机进行相关的管理工作 才可以真正的提高企业管理的效率川 原因主要有以下几点 海量生产信息的存在 人们已经无法通过手工的操作方 式对信息进行接收保存 大量的管理信息 使得企业领导者无法从中获取决策 信息 管理过程中 人为的操作往往存在诸多的漏洞 流程缺乏规范性 因此 有必要通过信息系统来协助企业的管理工作 一个适合企业的信息系统 可以提 高其管理效率 增加经济效益 一个不适宜的信息系统 不仅会浪费企业的资源 而且还会给管理带来阻碍 因此有必要提高信息系统的质量 需求分析作为系统 开发的首个阶段 它对后续的工作有着极其重要的影响 因此高质量的需求分析 是至关重要的 2 降低软件开发的成本 软件开发的经济效益主要包括 以最小的代价完成开发任务 以最短的工期 武汉理t 大学硕 学位论文 完成开发计划 以最优的结果达到开发要求 以最低的资源消耗来实现开发目标 降低各种风险 这些j 下是软件开发经济效益的体现 需求分析阶段 它是软件开 发的第一步 因此处于非常关键的位置 通过基于敏捷建模的需求分析方法 可 以提高需求分析的质量 降低需求分析的风险 控制需求泛滥的发生 节省需求 分析的成本 缩短需求分析的时间 3 增强开发活动的敏捷性 企业处于一个不断变化的环境中 因此不同时期具有不同的需求要求 并且 软件开发领域中不断的有新技术的产生 使得开发活动也处于一种变化的环境之 中 而传统的需求分析方法 对于变化的企业需求和新的开发技术往往表现出一 种抵抗的态度 正是因为对变更的不包容 往往使得开发出来的软件满足不了企 业的需求 而基于敏捷建模的需求分析过程 能够敏捷的应对需求变更 并采取 一系列积极的活动保障变更的顺利进行 增强了开发活动的敏捷性 1 2 国内外研究现状 1 2 1 需求工程研究现状 随着软件工程快速的发展和深入 软件需求分析以及软件需求管理逐渐成为 软件开发过程中非常重要的活动 但是同时它们又是一项非常艰巨的活动 在进 行需求分析的时候 研究者早已在2 0 世纪7 0 年代就发现需求的获取和分析是很 难保证它们达到无二义性以及必要的完整性 需求的缺陷往往会给开发活动带来 阻碍 在一项针对g t e t r w i b m 和h p 等公司若干独立软件项目开发成本的分析 中 研究者发现了近似相同的需求缺陷修正成本规律 以需求缺陷在需求分析阶 段被发现后导致的修复成本为基准 在设计阶段被发现后导致的修复成本将增长 2 5 倍 在编码阶段的修复成本将进一步增长1 0 2 0 倍 在软件维护阶段的修复 成本则急速增长至1 0 0 2 0 0 倍i z j 因此 软件开发过程中非常重要的一个问题就是如何使用一种系统的方法在 软件的生命周期内保证需求的有效管理 以减少需求变更带来的风险 保证软件 开发的质量 这也就是需求工程产生的原因 需求工程是一门分析并记录软件需求的学科 它把系统需求分解成一些主要 的子系统和任务 把这些子系统或任务分配给软件 并通过一系列重复的分析 设计 比较研究 把这些系统需求转换成软件的需求描述和一些性能参数 3 从2 0 世纪9 0 年代开始需求工程成为了研究热点 需求工程国际研讨会 i c r e 自1 9 9 3 年以来每2 年举办 同时出现了一些关于需求工程的刊物 例 如s p r i n g e r v e r l a g 的r e q u i r e m e n t se n g i n e e r i n g 2 武汉理工大学硕十学位论文 f r e db r o o h s 提出 t h eh a r d e s ts i n g l ep a r to fb u i l d i n gas o f t w a r es y s t e mi s d e c i d i n gp r e c i s e l yw h a tt ob u i l d t 4 1 c h a o s 大学工作人员s a n j i v 指出 如果没有搞定需求 则项目一定会失败 如果搞定需求 则项目一定会交州引 b i n c u r t i s 和他的同事则发现 信息系统开发的三个最重要的问题是 1 应用 系统领域知识的浅薄 2 需求变更以及需求之间的矛盾 3 沟通与协同问题 在 需求分析过程中 需要解决所有这三个方面的问题f 们 欧洲的 r e n o i r r e q u i r e m e n t se n g i n e e r i n gn e t w o r ko fi n t e r n a t i o n a l c o o p e r a t i n gr e s e a r c hg r o u p s t 7 s j 等需求工程工作小组成立 并展开了一系列的工 作 我国对需求工程的研究始于2 0 世纪8 0 年代未 9 0 年代初 9 1 相比于国外的 研究 我国的研究还处于起步阶段 中小企业对信息化意识不够 管理粗放 员 工整体素质不高 大型企业在软件的开发过程中 往往沿用传统的思维方法 从 而使问题得不到及时 充分的解决 1 0 1 近年来 随着经济的快速发展 我国对需求工程的研究也同益广泛 主要集 中在高校 以及软件研究所 我国中央财经大学信息系刘丽等人认为需求分析 设计 编程 测试 维护这种线性的开发方式已经不适应现代快速发展的社会 企业的需求往往是出于变化之中 因此有必要提出一种敏捷的软件开发模式 1 1 江西财经大学信息管理学院甘小红提出了在需求分析过程建立开发者与客户 间良好的沟通渠道的必要性 清楚 无二异性 完整性 正确性 可行性 无模 糊性 可测试性是需求质量的评价原则 嘲 汕头职业技术学院邱树伟突出了有效沟通 需求管理 团队协作在需求分析 过程中的重要作用f l3 1 北京航空航天大型软件工程研究所提出了基于企事业模型的软件需求工程方 法学 1 4 南京航空航天大学计算机科学与技术系提出了面向构件的软件开发方法 通过对国内外现状的研究 可以认识到软件开发过程中 需求分析占据着非 常重要的位置 然而由于项目开发人员与客户的知识落差 企业环境的不断变化 信息技术日新月异 使得项目丌发人员很难准确的获取需求 从而使需求分析成 为了一项复杂的工作 1 2 2 敏捷方法研究现状 1 9 9 1 年秋 在美国勒海大学亚科卡学院的一份研究报告 2 1 世纪美国制造业 的战略 一个工业主导的观点 中 首次提出了敏捷竞争的概念 16 1 对企业来说 武汉理j 人学硕士学位论文 敏捷就是能够快速对顾客做出反应 优化企业各项资源的分配 提高客户满意度 的同时也能提高企业的利润 随着社会不断的进步 激烈的竞争 变幻的环境 增加的服务 使得软件开 发人员越来越难于应付 针对这些问题敏捷软件开发方法被提出来了 它适应了 个性化 高质量和快速化的新型软件开发坏境 敏捷方法采用技术上和管理上的 过程 这些过程能持续地适应 源自开发过程中获取的经验而进行的变更 软件需求的变更 开发环境的变更 l7 1 2 0 0 1 年2 月1 7 位专家成立了 敏捷联盟 同时发布了 敏捷软件开发宣言 敏捷方法是以满足客户需要 创造客户价值为首要目标 使企业的软件过程容易 观察 适应市场 竞争 技术 需求等内外环境的变化 并对此迅速做出反应 自我调整和完善 在保证产品和服务质量的前提下 对交付内容 速度和资源做 出正确的权衡 从而实现企业 员工 客户和社会等多方利益的最大化 1 8 1 3 本文研究的内容及技术路线 本论文研究的内容主要以如何通过敏捷建模方法提高需求分析工作的效果 将敏捷建模方法与传统的需求分析方法相结合 首先第一章说明了本课题研究的目的以及意义 并对需求工程和敏捷方法的 研究现状进行了归纳总结 第二章分析了软件需求的三个层次 对比常用软件需求分析方法 得到了各 种分析方法的优点和局限性 并对敏捷建模的基本思想做了介绍 第三章基于敏捷建模方法的软件需求分析是本论文的核心部分 介绍了需求 分析的目的和意义 明确了需求分析活动的重要性 并对需求分析过程以及各阶 段的交付物进行了说明 最后将敏捷建模方法应用于需求分析过程之中 弥补了 传统需求分析方法的不足 保证了需求分析活动的效率 在敏捷建模方法应用过 程中 重点讲述了敏捷建模需求分析过程的特点 步骤以及如何敏捷的应用各种 建模工具及技术实现敏捷需求分析 同时重视了敏捷需求管理活动对需求分析活 动的保证 第四章是敏捷需求分析模型在办公自动化系统中的实际运用 将第三章得到 的敏捷需求分析过程用于办公自动化系统的需求开发之中 提高了系统需求分析 的效率 控制了需求泛滥 提高了需求分析的质量 第五章总结与展望 对现阶段的工作进行总结 指出需要改进的地方 对今 后的工作提出新的期望 本文技术路线如图1 1 所示 4 武汉理i 人学硕士学位论文 图1 1 本文技术路线图 5 武汉理一i 人学硕士学位论文 第2 章理论基础与相关技术 2 1 软件需求层次 弄清楚客户复杂需求的真面目 正是软件需求分析的关键所在 但是由于软 件项目涉及方方面面的人员 如相关领域的专家 用户 项目投资人 系统分析 师 需求分析员等等 各方面人员有不同的着眼点和不同的知识结构 沟通上的 困难给需求工程的实施增加了人为的难度 客户说不清楚他们的需求 经常变动的需求 分析人员和客户的错误理解 这些都会使得需求就像 雾里看花 风险通常躲在需求的迷雾之后 首先从业务 需求 用户需求和功能需求这三个层次来分析软件需求 不同层次的需求针对不 同角色不同程度反应出需求的实质 它们之间的关系如图2 1 所示 指导 指导 支撑支撑 图2 1 不同层次需求之间的关系 1 业务需求 业务需求 b u s i n e s sr e q u i r e m e n t 反映了组织结构或者客户对系统 产品高层 的目标要求 它们在项目视图与范围文档中给予说明 1 9 用户需求必须与业务需 求相一致 业务需求指导用户需求 2 用户需求 用户需求 u s e rr e q u i r e m e n t 是指要求系统必须提供必要的功能 以协助用户 完成他的职责 其中包括用户如何与系统打交道 l 9 1 3 功能需求 功能需求 f u n c t i o n a lr e q u i r e m e n t 是指开发人员必须实现的功能 使用户能 够完成他们的任务 功能性需求描述的是产品的功能 主要包括产品的范围 也 就是边界 与相邻系统的接口情况 功能 数据需求 同时非功能性需求也是不 容忽视的一种需求 它反应了产品的品质 主要包括观感需求 易用性需求 安 6 武汉理1 人学硕士学位论文 全性需求 操作需求 可维护性 可移植性需求 文化和政策需求 法律需求等 笔 2 0 可 通过需求分层我们可以让项目不同关系人在不同层面和角度对需求进行了 解 在软件项目中 不同项目关系人对需求理解的侧重点是不同的 对于企业领 导来说 他们关心的业务需求 通过业务需求他们可以进行有效的决策 对于系 统分析人员 测试人员 他们关心的是用户需求 对于架构师 他们关心的是功 能需求 也包括非功能需求 同时不同层次的需求也方便不同人员之间的沟通和 交流 使项目开发更加敏捷 2 2 常用软件需求分析方法比较 2 2 1 常用软件需求分析方法介绍 在软件开发初期 客户需求简单 直接从编写代码开始 因此需求分析并不 是重点 然而随着客户需求不断的复杂化 这种开发方式导致了软件危机 使得 系统无法满足客户的需求 随着软件生命周期概念的出现 认识到需求分析是软 件开发的第一步 是保证后续开发工作顺利进行的基石 需求分析不只是简单的对用户的想法做记录而是要通过一定的方法 对客户 的需求进行调研 分析 归纳 消化总结和挖掘 使获取的需求既能满足现在客 户的需要 又能满足将来变化了的环境 因此对于软件开发人员来说 掌握好分 析方法 恰当的引导客户以获取他们的需求是非常重要的 本文对常见的软件需 求分析方法进行介绍 见表2 1 所示 2 2 2 常用软件需求分析方法的局限性分析 每种需求分析方法都不是万能的 都有它们的优点和局限性 见表2 2 所示 结构化方法进行开发遵循的是一个线性的过程 将开发过程分阶段进行 便于管 理与控制 然而它对需求变更的反应却是迟缓的 原型法以用户为中心 快速开 发出实际运行的原型与用户进行验证 反馈速度快 但是在管理控制方面不如结 构化分析方法 大量的客户参与 容易造成需求泛滥的后果 面向对象分析方法 将问题世界看成是对象的组成 对象由 数据 和 操作 组成 很方便进行重 用 但是分析难度较大 面向对象分析方法采用的u m l 语言并不是一种建模方法 它只是一种建模语言 u m l 并没有讲述如何使用面向对象的概念 原则等进行建模 它仅仅是对模型元素进行了说明 以及各种图形的构成规则进行了规定 形式化 需求分析方法严格的 无二义性的 完整的语言描述为软件自动化生产提供了基 7 武汉理 j 人学硕士学位论文 础 但是文档的可读性不高 不容易理解 有可能造成后续软件开发人员读不懂 内容而错误的进行了开发 通过对比各种常用的需求分析方法 可以清晰的看到它们的优点和局限性 随着软件工程的快速发展 软件开发的效果并不令人满意 传统的开发方法常常 不能满足客户不断变化的需求 使得软件不得不一遍一遍的重复开发 为了应对 这种挑战 软件工程领域出现了一系列敏捷丌发方法 表2 1 常见软件需求分析方法介绍 方法名称基本思想特点建模技术 结构化 分解 和 抽象 将复杂问题分解成为若干容易解决业务流程图 数据 分析方法是重点 以数据流为的问题 抽象出问题的本质 暂时流程图 数据字 核心 主要研究数据忽略细 i j f 通过数据流程图 d f d 典 描述逻辑判断 的流动以及处理 描述当前系统的逻辑模型 的决策树 决策表 及结构化语言 原型法通过一个实在的原型 强调用户与系统开发人员的紧密合业务流程图 数据 与客户进行沟通 澄 作 在短期内快速定义一个包含基 流科图 数据字 清不明确的需求 本需求的模型框架 简易的 不完典 描述逻辑判断 善的 常识性的 将这个模型与客的决策树 决策表 户一起探讨 其过程是重复的 迭及结构化语言 代的 逐步求精的一个过程 面向对象以对象为基本的处理加强了理解 改进了与分析有关的u m l 活动图 分析方法单元 将对象的数据各类人员之间的交流 适应性强 类图 协作图 构 和操作进行封装 能实现软件复用 件图 部署图 用 例图 顺序图等 等 形式化分研究和提供一种基丁形式化方法的形式化规格说明语言二种形式化语言 析方法 数学或形式语言学的 可助于消除早期需求过程中隐含的 v d m z b 规格说明语言 用这模糊的 二二义性 矛盾的错误 可 种语言严格地描述所以帮助系统开发人员加深对需求的 开发的软件功能 2 l 深刻理解 武汉理工人学硕士学何论文 表2 2 常见需求分析方法局限性分析 要点结构化分析原型法面向对象分析法 形式化分析 方法法 方法的复杂性简单简单较难较难 对问题域的理解不深刻不深刻 较透彻一般 客户体验差强人意较强较强较差 交流 较难较强略好较难 反馈速度慢速度快速度较快较慢 模型数量庞大一般较多一般 需求描述容易产生歧容易产生歧义 容易产生歧义 严谨 义 模型可维护性难度人较难较难 较难 需求变更反应慢 有可能较好较好一般 抵制 开发周期较长短一般 一般 对复j j 的支持 差差 好 差 管理控制强 筹 较好一般 知识转移 难难难 难 2 3 敏捷建模基本思想 2 3 1 敏捷方法介绍 敏捷方法是以满足客户需要 创造客户价值为首要目标 使企业的软件过程 容易观察 适应市场 竞争 技术 需求等内外环境的变化 并对此迅速做出反 应 自我调整和完善 在保证产品和服务质量的前提下 对交付内容 速度和资 源做出正确的权衡 从而实现企业 员工 客户和社会等多方利益的最大化 2 2 1 2 0 世纪9 0 年代以来 发展了很多敏捷方法 典型的敏捷方法如表2 3 所示 9 武汉理 l 人学硕士学位论文 表2 3 典型敏捷方法的特点 敏捷方法提出者方法简介特点 名称 极限编程k e n tb e c k 得剑最j 泛认可的方法 种过程方法 最著名的一个敏捷 x pw a r d 论 x p 需要高度协作的文化氛围 熟方法 提倡轻装前 c u n n i n g h a n l 和 练的软件开发技能 包括代码设计 测进 不断迭代求精 r o nj e f 五叵e s 试等 提倡 结对编程 测试优先 d a i m l e r 简单 反馈 沟通和勇气 2 3 1 c h r y s l e r c r y s t a l a l i s t a i r一系列的方法 并不是一种方法 以项 各方法有着共同的 c o c k b u m目的规模 发生错误的后果作为两个维价值观 以人为中 度对项目进行划分 c o c k b u m 主张 模心 强调沟通 高 型的好坏在于其持久性 2 4 1 体现了除非度包容 在非常严重的损失情况下 才会考虑更 换一个新的版本 自适应软j i mh i g h s m i t ha s d 生命周期的特征为 面向任务 基 不断适应身边的1 件开发方 和s a m b a y e r 于特性 迭代式 时间定量 风险驱动 作是正常现象 它 法 a s d 以及容忍变更 使用构思 协作和学习侧重于提供理论基 这样的循环周期序列替代了传统的瀑础 并没有教如何 布周期f 2 5 做 s c r u mk e ns c h w a b e r该方法认为 软件开发不是能够被定义 引入了敏捷方法 和j e f r的 而是一个在不同的环境卜 具有不同 具有很强的实践 s u t h e r l a n d输入 输出功能的过程 冈此开发应该具性 提倡团队的协 有敏捷性 3 0 天的开发周期是标准 每调 沟通 有计划 天都会举行简短的会议 使得开发工作的工作 以及冲突 处于受控的状态 2 6 1 预防 特征驱动 j e f fd e l u c a 关注简单过程 高效建模以及为客户交依赖一流的软件人 开发 p e t e rc o a d 付价值的短迭代周期 首先建立总的对员 明确地使用了 f d d 象架构和特征点列表 然后基丁 特征点 面向对象技术 进行设计和构建f 2 4 2 3 2 敏捷建模的内涵 1 敏捷建模的提出 加拿大人s c o t twa m b l e r 首先提出了敏捷建模 a g i l em o d e l i n g 的概斜2 7 1 敏 捷建模是面向实践的 它不是一个学术理论 它的目标是描述以有效的方式为系 统建模的技术 此技术对所面对的任务是高效而且够用的 2 引 敏捷建模的主要焦 点是建模与文档 2 9 1 通过a m 可以使软件开发人员创建刚刚足够的模型和文档 保障有效的沟通 又避免了因为过多的模型和文档加大开发工作的维护难度 提 高了软件开发的质量 1 0 武汉理1 大学硕十学位论文 2 敏捷建模的价值观和核心原则 敏捷建模是一种方法论 它指导开发人员如何应用各种建模技术 它有一套 自己的价值观和指导性原则 敏捷建模是面向实践的 因此它的价值观和核心原 则应当贯穿于整个软件建模过程 敏捷建模的价值观 3 0 交流 建模可以促进理解别人的观点 同时表达自己的观点 在此基础上进行有效 的沟通 达成一致 有效的交流保障了高质量的需求分析工作 简单 敏捷建模遵循k i s s 规则 k e e p i ts i m p l es t u p i d 使其简单而明了 尽量保持 模型的简单性 构建一个大而全的模型是不切实际的 反馈 及时的反馈可以对模型进行验证 保证模型j 下确性 使模型处于健康的状态 勇气 有勇气对传统的软件开发方法进行改进 坚持采用敏捷建模方法 谦虚 促进项目开发人员之间互相取长补短 尊重他人的工作 营造一种积极的开 发环境 敏捷建模的核一t l 原则 3 0 软件是你的首要目标 在进行软件开发中 最重要的是开发出用户满意的软件产品 重点并不是开 发过程中的文档和模型 支持后续工作是你的第二目标 软件开发应该注重扩展性以及可维护性 而不仅仅是构造一个目前能够用的 软件产品或者是某个已经交付的模块 由于需求变化处处存在 因此要求目前所 做的工作要为后续工作考虑 以便扩展 轻装前进 开发过程中会产生许多的文档和模型 如果全部保留它们 那么以后的维护 工作将会变得非常艰巨 因此只需要选择性的保留有用的文档和模型 轻装前进 便于维护 包容变化 在开发过程中 用户的需求会发生变化 软件开发人员的认识观点也会发生 变化 项目环境也会发生变化 变化是处处存在的 因此在开发过程中应该接纳 包容这些变化 而不是抵触这些变化的发生 武汉理t 人学硕士学位论文 主张简单 使用简单的方法解决问题 例如开发人员在对某个用例进行讨论的时候 只 需要在白板上面将用例画出来 边讨论边修改这个用例 而不是采用诸如v i s i o 这 样的建模工具 旦通过讨论得到一致认可的模型 就应该将其进行规范化表示 规范化的模型能更好的保证有效的交流 递增的变化 人们对事物的认识是一个螺旋方式 首先构建一个简单的模型 与用户进行 沟通 用户会通过这样一个模型不断的发掘需求 逐渐来完善这个模型 有目的的建模 只有在明确了谁需要模型 目的是什么以后 力 进行建模活动 而不是盲无 目的的进行建模 多种模型 模型都有其优缺点 可以通过多种模型来说明一个复杂的难理解的问题 而 不是使用一个包容万象的模型 快速反馈 反馈所需的时问越长 为此付出的代价就会越高 因此快速的反馈是必要的 最大化项目关系人的投资 客户投入了金钱 时间等资源 他们希望得到满意的软件 因此应该开发出 一个客户满意度高的软件产品 通过对敏捷建模的价值观和核心原则的分析 针对本文 作者认为敏捷建模 是通过将其价值观和核心原则融入到软件分析过程中 指导开发人员在不同的分 析阶段 通过分析各种常用方法 敏捷的选择合适的建模工具以及技术的一种方 法 创建刚刚足够用的模型 具有很强的实践性 它主要是为了克服传统开发方 法的各种弊端 避免过度的复杂或简化 提高需软件开发的质量和速度 2 3 3 敏捷建模的特点 传统的需求分析方法模型数量多 使得模型难于维护 面对需求变更显得束手 无策 存在于需求分析过程中的知识转移困难 对复用的支持较低从而使得开发 效率不高 通过对比分析 敏捷建模具有如下特点 1 轻量型的开发过程 传统需求分析方法会产生大量的文档和模型 稍微的需求变动 会使得开发 人员花费大量的人力物力对文档 模型进行维护 而敏捷建模是一种轻量型的开 发过程 一开始它并不是着重于建模出一个包容万象的模型 而是首先从简单的 需求出发 构建 个简单的模型 然后与客户进行快速的沟通反馈 这样可以及 1 2 武汉理工入学硕七学位论文 时的获取客户的意见 然后再进行模型的完善 对于已经实现其价值的模型 可 以选择性的保留 这样维护工作也将会轻松许多 2 重视敏捷建模的实践 从方法本质来讲 敏捷建模方法体现的是一套原则和方法 在实践的过程中 开发人员应该具备一个建模工具箱 通过对比各种建模工具 在面向用户的时候 选择适合用户沟通的建模技术 在面向设计阶段的时候选择适合设计阶段的建模 技术 这样增强了沟通效果 促进了软件开发的顺利进行 3 迭代式的开发过程 敏捷建模意识到对问题空间的理解并不是一触而就的事情 它遵循一个螺旋 认识的过程 其实这种方法在原型法等传统分析方法中也有体现 不断的迭代 可以使得分析人员能准确的把握客户的需求 同时敏捷建模也强调了测试优先 建模的时候要强调通过何种方法验证其正确性 4 以人为主导的开发环境 敏捷建模体现的是一种积极的 乐观的工作环境 各个项目关系人都是开发 工作的中心 以人为主导 注重人的知识的挖掘 激发了各方面工作人员的工作 热情 创造了更多的知识 而在传统需求分析方法过程中 体现的大多是条条框 框的规则 它规定了那些角色的人员应该行驶那些责任 工作环境太过于拘泥 5 对知识转移的支持 敏捷建模的价值观 交流保证了双方之间有效的沟通 每个人都可以向其 他人学习 双方可以通过建模 比如画一张数据流程图就可以很好的促进双方之 间的沟通 加大了知识发送发与接收方之间信息沟通的效率 武汉理t 大学硕十学位论文 第3 章基于敏捷建模方法的软件需求分析 3 1 软件需求分析的目的和意义 3 1 1 需求分析的目的 需求分析是软件生命周期活动的第一步 需求分析阶段的成果对后续软件开 发有着重要的影响 用户不了解计算机知识 系统丌发人员对业务领域知识缺乏 以及用户不断变化的需求 使得需求分析成为了一项非常复杂的分析活动 进行有效的需求分析可以实现如下目的 1 客户与开发人员之间的桥梁 不同角色的项目参与者之间存在知识鸿沟 沟通困难 那么通过需求分析 可以实现客户与需求分析人员之间的交流 同时也可以实现需求分析人员与设计 人员的沟通 将用户的需求准确的传达给丌发的各阶段 2 明确系统做什么的问题 开发人员通过与客户进行沟通 将客户非结构化的 不完整的需求进行抽象 分析 使需求更加精确化 结构化 完整化 它反映着将要构建的系统的行为和 特征 系统必须要实现这些功能 才能满足客户的需要 3 降低开发风险 准确把握客户需求 敏捷应对客户需求变更 降低了系统开发的各种风险 减少了人力 物力和资金的浪费 开发出来的系统将会是满足客户需要的 以往 大部分失败的系统开发案例中 往往是由于需求不明确 系统没有实现客户所需 要的功能造成的 3 1 2 需求分析的意义 需求分析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论