




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)敏捷开发思想指导下的手机应用软件开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
敏捷开发思想指导下的手机应用软件开发研究 学科:计算机应用技术 研究生签字:南昂 f 指导教师签字:万,右妙 摘要 随着移动通讯技术的不断发展,具有彩色液晶屏幕并支持b r e w 程序的手机已经出 现并且开始被人们所认识和接受,这样使用b r e w 技术开发的手机增值应用服务也将会 越来越多。由于目前在国内开发手机上的b r e w 应用尚处于羁恫q 开始的阶段,相关的技 术资料和开发经验都比较欠缺,还需要借鉴日本和韩国在开发手机上的b r e w 应用方面 的成熟经验。此外,传统软件开发模型已不能适应手机开发的需要。 自上个世纪6 0 年代以来,软件工程思想逐渐形成并发展,出现了很多软件开发模型 与方法。而在9 0 年代以后又推出的c m m ,更是对软件开发的过程管理提出了确切的衡 量指标。但这些成就依然没有能很好的解决项目超期,成本超预算的问题。针对这些问题, 一批业界专家一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值 观和原则。他们提出的各种方法统称为敏捷方法,由一系列敏捷观点构成,强调软件开发 中人与人之间的沟通,通过交流适应需求的变化,达到用户满意的效果。相对于重视过程 的c m m 等重量级开发过程,敏捷方法更适合于手机项目的开发。 本文介绍了手机应用软件开发的过程,以及其中使用的面向对象的思想和u m l 工 具。着重分析了在软件的改进和升级过程中,运用软件工程领域的新兴方法一敏捷开发 方法,达到完善需求分析,改进开发过程,提高软件项目管理水平的目的。在需求分析和 设计过程中运用了面向对象的需求分析和统一建模语言( u m l ) 实现,提出了针对传统 手机应用软件开发过程使用的数据流图和业务流图的改进。最后通过实践和总结,针对小 组承担的手机应用软件开发,提出较为科学的过程管理模型。 关键词:敏捷软件开发;需求分析;u m l 模型;迭代;b r e w m o b i l es o f t w a r ed e v e l o p m e n tr e s e a r c hu n d e rt h eg u i d a n c e o f a g i l ed e v e l o p m e n tp r i n c i p l e d i s c i p l i n e :c o m p u t e re n g i n e e r i n g s t u d e n ts i g n a t u r e :g 口口刀_ n o j s u p e r v i s o rs i g n a t u r e :5 w i t ht h ee v o l u t i o no fm o b i l ec o m m u n i c a t i o nt e c h n o l o g y , t h eb r e w - e n a b l e dm o b i l e p h o n e sw i t ht h ec o l o rl c dh a v ee m e r g e da n db e g i nt ob ek n o w na n da c c e p t e db yn u m e r o u s p e o p l e t h e r e f o r e ,m o r ea n dm o r ev a l u e a d d e dm o b i l es e r v i c e s ,a d o p t i n gb r e wt e c h n o l o g y , w i l l e m e r g e s i n c et h ei n l a n db r e wm o b i l ea p p l i c a t i o nd e v e l o p m e n ti si n i t i a ls t a g e ,i ti sl a c ko ft h e r e l a t e dt e c h n i c a ld o c u m e n ma n de x p e r i e n c e s o ,d e v e l o p i n ga p p l i c a t i o no nb r e wp l a t f o r m ,w e n e e dl e a r nm a t u r ee x p e r i e n c eo fk o r e a na n dj a p a n e s ei nt h i sa r e a m o r e o v e r ,t r a d i t i o n a l s o f t w a r ed e v e l o p m e n tm e t h o d sh a v e n ta d a p t e dt ot h en e e d so fm o b i l ed e v e l o p m e n t s i n c e1 9 6 0 s ,al o to fs o f t w a r ed e v e l o p m e n tm e t h o d sh a v ec o m eo u tw i t ht h ed e v e l o p m e n t o fs o f t w a r ee n g i n e e r i n g i n1 9 9 0 s ,c m ma p p e a r e d i te v e ng i v e st h ee v a l u a t i o ni n d e x e sf o rt h e p r o c e s sm a n a g e m e n to fs o f t w a r ed e v e l o p m e n t b u tt h ep h e n o m e n as u c h 髂p r o j e c t s p o s t p o n e d a n dt h ec o s to fe x c e e d i n gt h eb u d g e ti ss t i l lv e r yc o m m o n t os o l v et h e s ep r o b l e m s ,al o to f e x p e r t si ns o f t w a r ei n d u s t r ys u m m a r i z es o m ev a l u e sa n dp r i n c i p a l st h a tm a k et h ed e v e l o p e r t e a m sr e s p o n s et ot h ec h a n g eq u i c k l y t h o s em e t h o d sa r cw h o l l yc a l l e da sa g i l em e t h o d s i t i n c l u d e sas e r i e so fp o i n t sa b o u tt h ea g i l e t h ea g i l em e t h o d o l o g ye m p h a s i z e sc o o p e r a t i o na n d c o m m u n i c a t i o nb e t w e e np e o p l ea n da d a p t a t i o no fr e q u i r e m e n ta l t e r a t i o nf o rc u s t o m e r s c o m p a r e dt h e “h e a v y m e t h o do fc m mo ri s 0 9 0 0 2 ,t h ea g i l es o f t w a r ed e v e l o p m e n ti s a “l i g h t ”m e t h o da n da d a p t st ot h es y s t e md e v e l o p m e n t t h ed i s s e r t a t i o ni n t r o d u c e st h ed e v e l o p m e n to ft h em o b i l es o f t w a r e ,a n da n a l y s e sd u r i n g t h es o f t w a r ei m p r o v e m e n t t h ec o n c e p to fo b j e c t o r i e n t e dt h e o r ya n du m li sb ei n t r o d u c e d f i r s t l y w i t ht h eu s e o fa g i l es o f t w a r ed e v e l o p m e n t ,t h es y s t e mh a sb e e ni m p r o v e da n db e c a m e i n t e g r a t e d a n d t h el e v e lo fp r o c e s s m a n a g e m e n t h a sb e e ne n h a n c e d i nt h ep h a s eo f r e q u i r e m e n ta n da n a l y s e s ,d e v e l o p e r su s cu m i a l lo b j e c t o r i e n t e dm e t h o d ,t oi m p r o v et h e d f da n db f do ft r a d i t i o n a ld e v e l o p m e n tm e t h o d a tt h ee n do ft h ed i s s e r t a t i o n ,i te x p o u n d sa m o d e lo ft h ep r o c e s sm a n a g e m e n ta b o u tt h ed e v e l o p m e n tw i t hat e a mm a d eb ys e v e r a l d e v e l o p e r sa n ds o m ec u s t o m e r s k e yw o r d s :a g i l es o f t w a r ed e v e l o p m e n t ;r e q u i r e m e n t sa n a l y s i s ;u m lm o d e l ;i t e r a t i o n ; b r e w 学位论文知识产权声明 学位论文知识产权声明 本人完全了解西安工业大学的有关保护知识产权的规定,即:研究生在校攻读学位 期间学位论文工作的知识产权属西安工业大学。本人保证毕业离校后,使用学位论文工作 成果或用学位论文工作成果发表论文时署名单位仍然为西安工业大学。学校有权保留送交 的学位论文的复印件,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分 内容,可以采用影印、缩印或其他复制手段保存学位论文。 ( 保密的学位论文在解密后应遵守此规定) 学位论文作者签名 指导教师签名:孩7 y 日 期:己。、7 耳s 闫加i a 坊丫 高 学位论文独创性声明 学位论文独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的学位论文是我个人在导师 指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,学位论文中不包含其他人已经发表或撰写过的研究成果,不包含本人已申请学位或 他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示了致谢。 学位论文与资料若有不实之处,本人承担一切相关责任。 学位论文作者签名南昂 指导教师签名:笏古己渺7 日 期:z 。7 耳f 目乙口g l 绪论 1 1 前言 1 1 1 问题的提出 1 绪论 “软件工程”一词,是1 9 6 8 年北大西洋公约组织( n a t o ) 在联邦德国召开的一次会议 上首次提出的,它反映了当时的软件人员认识到软件危机的出现以及为谋求解决这一危机 的一种努力,这里所说的软件危机是指当时在软件发展的早期,随着更多的编程语言的出 现以及功能的强大,客观要求软件人员承担更大规模的软件产品开发,在较大规模的软件 产品开发过程中,随着代码量的增加,软件的复杂度也随之增加,即使对于富有经验的开 发人员来说,也逐渐出现了难以理解、难以维护的现象,软件可靠性往往随规模的增长而 下降,质量保证也越来越困难。传统软件工程中的瀑布模型随之应运而生,瀑布模型要求 分析人员一次性的从用户那里精确的得到用户需求,然后进行设计、编码和测试,所有步 骤都必须被很好的执行,否则错误发现的越迟,所处的阶段越靠后,带来的危害越大,甚 至要将项目完全推翻。然而所有的步骤都不可能尽善尽美,用户经常对自己的需求不太确 定,有时还会自相矛盾,他们还会不断的提出新的或修改以往的要求,设计人员也会犯错, 编码中会存在b u g ,测试中会存在遗漏。由于不能适应变化,长开发周期己经日益显得力 不从心,如图1 1 所示。尤其在软件产品越来越平民化、面向对象编程思想越来越多的在 工程实践中得到应用的今天,以瀑布模型为代表的传统软件工程开发思想越来越不能适应 现代以需求变化快速、结构庞大、功能复杂为特点的手机软件开发实践。 1 2 课题背景 图1 1 传统瀑布模型的开发效果 2 0 0 1 年,当软件工程业界的重量级方法被越来越多的公司和团体在开发中采用的时 候,以k e n tb e c k 、m a r t i nf o w l e r 、r o b e r tm a r t i n 等经验论者为首的专家决定组织起一 西安1 。业大学硕十学侍论文 个松散的团体,为自己长久以来的实践命名。这样就诞生了“敏捷联盟”。由于重量级方 法强调以开发过程为中心,而不是以人为中心,希望以详尽的计划和完全的标准化来复制 生产过程。因此尽管其受到大公司的规摸化标准化生产的青昧,却忽视了在软件歼发中人 的因素所起到的重要作用。而这一点恰恰是软件和其他工业产品的重要区别所在。敏捷方 法针对重量级方法的这一弱点,强调软件开发应当是能够对未来可能出现的变化和不确定 性做出全面反应的过程。个体和交互优于过程和工具:可以工作的软件优于面面俱到的文 档;客户合作优于合同谈判;响应变化优于遵循计划。 对于敏捷过程的研究被认为是软件工程领域一个新的发展方向。其中最重要的开发方 法包括有极限编程( e x t r e m ep r o g r a m m i n g ,x p ) ,特征驱动开发( f d d ) ,自适应软件开 发( a s d ) ,水晶方法( c r y s t a l ) 等。敏捷开发方法提出了许多在实践中被证明是行之有 效的重要思想,比如需求变更的处理,开发文档的制定,尽早测试的思想等等,对于个人 或小组开发软件具有相当程度的指导意义。在图1 2 中可以看到传统瀑布模型开发与敏捷 开发流程的效果比较。 需槲 刨丑 制冒 辎林 敞叫 敏捷开发流程 项目风险在项目甲i 期就可以降低 保证软件项目的按时完成 l 腺型梨构 功舵友币严而厦砷 扩 7 _ 、厂一 八卜,厂 敏捌开发流程 八 v , 妒 斟谴 掣流程 项目进度 图1 2 传统瀑布模型开发与敏捷开发流程的效果比较 1 3 本论文研究的内容及意义 传统的软件工程方法特别是一些重量绂方法强调以开发过程为中心,而不是以人为中 心,希望以详尽的计划和完全的标准化束复制生产过程,却忽视了在软件开发中人的因素 所起到的重要作用。而这一点恰恰是软件和其他工业产品的重要区别所在。敏捷方法针对 重量级方法的这一弱点,强调面l 临迅速变化的需求,快速提高开发软件的能力,强调一切 有利于提高软件响应软件变化的能力的丌发都是敏捷的,强调软件开发中人与人之日j 的沟 2 两安t = 业大学硕十学位论文 通,通过交流适应需求的变化,达到用户满意的效果。相对于重视过程的c m m 等重量 级开发过程,敏捷方法更适合于本项目的开发。 我们的课题以手机开发项目为背景,尝试运用敏捷开发的思想,结合极限编程的某些 特点,利用有限状态自动机的一些理论对项目过程进行改进和优化。 1 4 本论文的结构安排 本论文首先介绍了敏捷开发思想形成历程及发展趋势,然后介绍了几种常用的敏捷开 发思想方法。最后以手机开发项目为背景,尝试运用敏捷开发的思想,结合极限编程的某 些特点,利用有限状态自动机的一些理论对项目过程进行改进和优化。全文共分为7 章, 下面简述各章的主要内容。 第一章为绪论。通过介绍传统的软件开发的弊端,阐述了实施敏捷开发可以完善需求 分析,改进开发过程,提高软件项目管理水平。最后介绍了本论文研究的内容和意义以及 本论文的结构安排。 第二章为智能手机开发的发展与研究状况。介绍智能手机的应用特点以及现阶段使用 b r e w 平台的产品情况和丌发情况,包括b r e w 在国内外的应用和发展。 第三章为方法概述。介绍敏捷开发的观点和详细过程包括几种主要的开发方法。此外 还介绍了敏捷方法实施于本项目中采用的建模工具u m l 语言以及状态简化过程中运用的 自动机理论。 第四章为手机项目概述。介绍整个项目的软件需求说明,分别将应用程序的各个模块 的软件需求都做了说明。然后展现整个项目下载和工作流程。以此归纳了整个项目的实现 方案,最后声明本人在该项目中的工作职责。 第五章为敏捷方法的实施。运用敏捷过程的思想,结合极限编程的某些特点和有限状 态自动机的相关理论,分别在需求分析阶段,总体设计阶段,迭代设计细化阶段和测试阶 段对项目过程进行改进和优化。 第六章为改进后的项目。讲述采用敏捷开发方法后项目在需求分析阶段,总体设计阶 段,迭代设计细化阶段和测试阶段所取得的变化,并依此提出了项目过程管理的方案和进 度计划。 第七章为结论。对论文的研究内容进行了总结,指出了论文研究的不足之处并指出了 进一步研究工作的方向。 3 2 智能于机的开发i j 研究状况 2 1 智能手机 2 智能手机的开发与研究状况 智能手机是嵌入式系统的一项发展和应用,随着移动通信技术的发展,移动通信系统 将逐渐由提供话音为主的服务发展为以提供数据为主的服务,并随着通信网络传输速率的 提高,多媒体、彩色动画和移动商务等在内的新的无线应用也将逐渐涌现出来,使得以提 供话音为主的传统手机将逐渐发展成为融合了p d a 、电子商务、娱乐等特性的智能手机。 智能手机通常具有如下主要特点: ( 1 ) 实时性( r e a lt i m e ) 。智能手机需要对语音等内容进行实时处理; ( 2 ) 资源缺乏性( e s o u r c l i m i t a t i o n s ) 。智能手机将拥有比传统手机更加丰富的资源, 但移动性所带来的功耗低、重量轻和尺寸小等需求仍然使得智能手机在存储空间、处理能 力和屏幕大小等方面的资源比较有限; ( 3 ) 变化的网络连接特性( v a r i a b l en e t w o r kc o n n e c t i v i t y ) 。由于手机的移动性、基站覆 盖区域信号强弱的差异或是障碍物的影响,手机具有变化的网络连接特性,在强连接、弱 连接,甚至是失去连接之间变化; ( 4 ) 功能丰富( r i c hs e t so ff u n c t i o n a l i t y ) 。智能手机不但要提供传统的话音服务,还应该 是一个融合了工作、娱乐和商务等内容的服务平台,具有多种信息浏览和传播方式; ( 5 ) 个性化( p e r s o n a l i t y ) 。不同用户对手机功能有不同的需求,要求手机平台能够满 足个性化需要,以构建个性化的信息平台; ( 6 ) 差异性( p r o d u c td i v e r s i t y ) 。生产厂商需要通过产品的差异性来满足多样化的市场 需求。这些差异既体现在硬件平台方面,也包括软件功能的区别。 显然,同桌面系统和其他固定终端相比,智能手机有其自身独特的需求,再加上智能 手机本身广阔的市场前景,需要建立专门的软件平台,以满足智能手机自身的特性和市场 发展的特殊需求。 2 2b r e w 平台概述 b r e w 是b i n a r yr u n t i m ee n v i r o n m e n tf o rw i r e l e s s ( 无线二进制运行环境) 的缩写,是 高通公司针对无线数据市场推出的解决方案,使得用户可以通过支持b r e w 的手机下载娱 乐和商用的各类b r e w 应用程序。 b r e w 可管理所有设备的电话功能,把应用程序与复杂的通话设定、验证以及相关任 务分离丌来。这一功能使丌发者可以专注于实际应用功能。b r e w 提供了一套应用程序接 i ( a p i1 ,包括多媒体功能套件、连接功能套件、定位功能套件等。虽然b r e w 目前只可 应用在基于高通芯片的设备中,但这一平台拥有独立的无线接口,因此基于其它无线技术 的手机也可以运行b r e w 应用程序。 4 两安t 业大学硕十学位论文 对应用开发商而言,b r e w 提供了完备的开发环境和模拟器,使开发者可以在熟悉的 环境下进行编程。由于b r e w 可以安装在不同的硬件平台上,开发者并不需要和具体的手 机硬件打交道。只要开发商获得了t r u eb r e w 认证,开发出的应用通过了测试并获得了 数字签名,高通公司就可以将这些应用向全球的运营商推广。对设备制造商而言,高通公 司向他们免费发放b r e w ,并完成相应的集成工作。这有助于他们提高推出新产品的速度, 并且可以避免由于软件的缺陷所带来的损失。b r e w 给运营商带来的益处就更多了,移动 运营商可以向用户提供丰富多彩的应用,充分利用网络资源。在全球移动运营商a r p u 不 断下滑的时候, b r e w 所提供的在线游戏、软件下载功能能够有效的提高他们的收入,刺激股价。 b r e w 所带来的收益有应用开发商、高通和移动运营商分成,其中开发商可以拿到接近七 成的分成。非常有诱惑力! b r e w 为高通的无线互联网发射平台的嵌入功能提供了一套应 用程序接n ( a p i ) 。无线互联网发射平台是一组高度集成的芯片组功能、系统软件和能提供 高级互联网功能与多媒体特征的附加程序,大大减少了对大多数附加配件的需要。如果必 要,制造商或其他开发人员可以在任何时候对b r e w 环境进行扩展,提供无线应用可以利 用的附加性能。这使得精巧、强大的应用可以利用本地运行和存储,提供一个比仅基于浏 览器的架构性能和功能更为强大的客户一服务器解决方案。 b r e w 具有以下的一些基本特征: 开放、全球统一标准、独立于硬件,并且可以连续应用于任何网络、任何移动设备提 供端到端的解决方案,同时采用开放的技术平台以及完善的商业模型,能够在整个价值链 上实现收入共享,能够使用户通过其无线设备发现、购买、下载并管理应用。 2 3 国内外发展现状 至今,中国联通所提供的高质量的语音和数据无线服务已经赢得了2 0 0 0 多万c d m a 用户的青睐。联通正全面致力于扩大网络覆盖面和升级至c d m a 2 0 0 0 。作为一项新兴技 术,c d m a 正迅速风靡全球并已占据2 0 的无线市场。目前,全球c d m a 用户已超过2 亿,遍布5 0 个国家的1 1 3 家运营商已经启动商业化第三代c d m a 服务。由高通公司 g p s o n e 定位技术支持的定位无线服务已拥有5 0 0 多万用户,中国联通也已于2 0 0 3 年推 出基于g p s o n e 技术的定位业务。 2 0 0 2 年,美国、r 本和韩国的三家运营商推出了b r e w 商业服务,用户可以随时 随地无线下载应用程序并对他们的移动设备进行个性化设置。2 0 0 2 年1 2 月,高通公司 在北京举行首届中国b r e w 开发商大会,吸引了来自全国各地的2 0 0 多个软件开发商、 运营商代表和业内专家。同月,高通公司与中国联通签约创建合资公司联通博路,以促进 b r e w 平台在中国的推广和扶持中国开发商群体。如今,已有超过7 0 0 个b r e w 应用 程序通过了中国联通的认证,可为用户提供诸如股票行情、天气预报、精彩游戏在内的各 类信息,而支持b r e w 的彩屏手机已超过5 0 款。 两安t 。业人学硕十学位论文 目前,在全球2 1 个国家已经有3 2 个运营商正式商用基于b r e w 的无线应用,总的 下载量超过一亿六千万次。2 0 0 3 年初,中国联通推出了第一个b r e w 应用;2 0 0 3 年7 月正式推出了b r e w 业务,截至2 0 0 4 年8 月底,中国联通的神奇宝典b r e w 应用已经 超过5 0 0 个,有1 4 家手机厂商生产出了5 0 多款支持b r e w 的彩屏手机,全国有2 0 0 多 个应用开发商参与b r e w 应用开发。客户手中支持b r e w 的手机数量已经有1 4 0 多万, 下载的应用次数已经超过了3 0 0 万次。 2 4 本章小结 本章从智能手机的发展谈起,介绍了智能手机的应用特点。晟后介绍了高通公司推出 的b r e w 平台的基本概念、产品情况和丌发情况,以及b r e w 在国内外的应用和发展。 6 3 方法概述 3 1 面向对象软件工程概述 3 方法概述 软件开发的面向对象方法首先提出于2 0 世纪6 0 年代后期,然而,对象技术花了几 乎2 0 年的时间才开始变得广为使用。在2 0 世纪9 0 年代,面向对象软件工程变成了很 多软件产品建造的首选范型。由于面向对象技术确实导致了一系列内在的收益,在管理和 技术层次均提供了优势,因此在整个软件开发领域,对象技术正在替代传统的软件开发方 法。 对象技术的优势在于以下几个方面: 可复用性:对象技术导致复用,而程序构件的复用能导致更快的软件开发和更高质量 的程序。 可靠性和健壮性:面向对象软件易于维护,因为它的结构是内在松耦合的,修改时不 会产生太多的副作用。 可扩展性:面向对象系统易于进行适应性修改,并易于伸缩,通过组装可复用子系统 可以创建较大的系统。 对于面向对象软件工程来说,在工程过程的早期和全程强调面向对象技术,则该技术 的收益将更多。因此软件的编码和实现的工作将被全面的面向对象技术所取代,这些技术 包括软件的面向对象需求分析( o o r a ) 、面向对象设计( o o d ) 、面向对象领域分析 ( o o d a ) 、面向对象数据库系统( o o d b m s ) 和面向对象计算机辅助软件工程 ( o o c a s e ) 。由于面向对象技术涉及整个工程过程,因此面向对象的软件工程应该选择 相应的软件工程过程模型。o o 系统往往随时间演化,演化过程模型结合鼓励构建组装( 复 用) 的方法是o o 软件工程的最好选择。在演化过程模型中,o o 过程沿演化的螺旋向 前,从客户通信起步,问题域被定义,基本的问题类被标识。在计划和风险分板阶段建立 o o 项目计划的基础。类在其构建前,被先在现存的o o 类库中查找,当在库中没有找 到时,应用面向对象分析( o o a ) 、面向对象设计( o o d ) 、面向对象程序设计( o o p ) 和面向对象测试( 0 0 t ) 来创建类及从类中导出的对象,新的类又被放入库中,以便将 来复用。 关于面向对象软件工程的方法论,在2 0 世纪8 0 年代后期到9 0 年代,进入了一个 飞速发展和演进的阶段。在面向对象丌发方法论的“战争”中,三名面向对象分析的大师 g r a d yb o o c h 、1 a m e sr u m b a u g h 和l v a r j a c o b s o n 一起协作,将他们各自创立的面向对象 分析和设计方法的最好的特征组合成为种统一的方法,其结果称为“统一建模语言 ( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) ”,并在整个业界广为使用。 关于面向对象软件工程的开发过程,实践的结果却分向了两个方面。一边是被称为重 量级软件开发方法的开发过程。这类方法多由大公司所采用,目标是将软件开发以统的 7 两安丁业大学硕十学待论文 工程化标准代替,强调对过程的管理,以标准化文档和消除个人及其他风险因素的变动对 软件的影响作为主要原则。这类方法以卡耐基梅隆大学软件工程研究所( s e i ) 提出的软 件过程能力成熟度模型( c a p a c i t ym a t u r i t ym o d e l ,c m m ) 为代表。然而在更多的强凋 个人作用和适应软件变更的小型团队软件开发方面,另外的新的丌发方法被提出。其中最 有影响的无疑是敏捷丌发方法( a g i l ed e v e l o p m e n t ) ,这一类方法相应地被称为轻量级软 件方法。本章第四节将简要介绍本项目中所要采用的敏捷开发方法的原则和有关技术。 3 2 统一建模语言( u m l ) 概述 3 2 1u m l 的发展 u m l 是在多种面向对象建模方法的基础上发展起来的建模语言,主要用于软件密集 型系统的建模。它的演化,按其性质可以分为以下几个阶段:最初的阶段是专家的联合行 动,由三位0 0 ( 面向对象) 方法学家将他们各自的方法结合在一起,形成u m l o 9 。第 二阶段是公司的联合行动,由十几家公司组成的“u m l 伙伴组织”将各自的意见加入 u m l ,形成u m l l 0 和u m l l 1 ,并作为向o m g 申请成为建模语言规范的提案。第三 阶段是在0 m g 控制下的修订与改进,o m g 于1 9 9 7 年1 1 月正式采纳u m l l 1 版本 作为建模语言规范,然后成立任务组进行不断的修订,并产生了u m l i 2 、1 3 、和1 5 版本。2 0 0 0 年9 月0 m g 又颁布了u m l 2 o 的建议征集书( r f p ) 。目前,u m l 2 0 的 四个组成部分i n f r a s t r u c t u r e ( 基础结构) 、s u p e r s t r u c t u r e ( 上层结构) 、d i a g r a mi n t e r c h a n g e ( 图形交互) 和o c l ( 对象约束语言) 均已获得通过,o m g 公布的四个部分的最终版 本( u m l 2 0f i n a l i z a t i o n ) 分别是 i n f r a s t r u c t u r e p t c 2 0 0 4 0 1 1 3 、s u p e r s t r u c t u r e p t c 2 0 0 4 0 1 - 1 1 、d i a g r a mi n t e r c h a n g ep t c 2 0 0 3 0 9 1 1 、o c lp t c 2 0 0 3 1 0 1 4 ,标准的正式版 本已经颁布 5 。 u m l 2 0 是第一次对u m l 做重大修订,对原有的标准进行调整以适应模型驱动开 发( m d d ) 在精确性、自动编码和可执行性方面的要求。u m l 2 0 在可视化建模方面有 了许多的革新和增强。它可以描述现今软件系统中存在的许多技术比如模型驱动架构 ( m d a ) 和面向服务的架构( s o a ) 。 3 2 2u m l 的特点 u m l 具有以下特点: ( 1 ) u m l 是一个通用的可视化建模语言:对软件进行描述、可视化处理,构造和 建立软件系统制品的文档;支持大部分现存的面向对象开发过程;给出系统模型,表达不 同层次的细节;适用于软件生命周期的各个阶段;给出系统的多视角的构造模型图:u s e c a s e 视图、逻辑视图、进程视图、实现视图、部署视图等。 ( 2 ) u m l 描述了系统的静态结构和动态行为: u m l 将系统描述为一些离散的相互作用的对象,构成为外界提供一定功能的模型结 西安1 :业人学硕+ 学何论文 构: 静态结构定义了系统中重要对象的属性和服务,以及这些对象之间的相互关系: 动态行为定义了对象之间的时i b j 特性和对象为完成目标而相互进彳亍通信的机制。 ( 3 ) u m l 的发展是一个开放的过程多种方法相互借鉴、相互融合、趋于一致、 走向标准化,已成为软件建模领域事实上的标准:统一了b o o c h 、o m t 和o o s e 等方 法中的基本概念;吸取了面向对象技术领域中各个流派的长处,汇入了面向对象领域中很 多人的思想,这些思想并不是u m l 的开发者们发明的,而是开发者们依据最优秀的o o 方法和丰富的计算机科学实践经验综合提炼而成的: u m l 在演变过程中还提出了许多新的概念。在u m i j 2 0 版本中还可以描述现今软件 系统中存在的许多技术比如模型驱动架构( m d a ) 和面向服务的架构( s o a ) 。 ( 4 ) u m l 存在不足之处: u m l 作为面向对象的建模语言,而不是一种面向对象的建模方法。它只是给出一套 用于建模的元素及表示符号并定义了它们的语义,而不是讲述如何进行系统建模。 3 2 3u m l 的内容 u m l 的主要内容包括用例视图、逻辑视图、进程视图、实现视图和配置视图。 ( 1 ) 用例视图 用例视图描述系统行为,用户和系统的交互。面向最终用户、分析员和测试人员。静 态部分包括u s ec a s e 图,动态部分包括交互图、状态图和活动图。 ( 2 ) 逻辑视图 逻辑视图是系统的面向对象模型。面向最终用户,分析设计人员。静态部分包括类图 和对象图,动态部分包括交互图、状态图和活动图。 ( 3 ) 进程视图 进程视图描述系统的并发和同步机制,包括进程、线程的组织。面向集成人员。静态 和动态图同逻辑视图,但是关注的是表示进程和线程的主动类。 ( 4 ) 实现视图 描述用束发布实际系统的文件和软件部件,关注配置管理和系统组装。面向编程人员。 静态部分包括构件图,动态部分包括交互图、状态图和活动图。 ( 5 ) 配置视图 配置视图描述硬件拓扑结构和分布。面向系统工程师。静态部分包括配置图,动念部 分同进程视图。从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其 次是根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中 在第一步与第二步中所建立的模型都是静态的,包括用例图、类图( 包含包) 、对象图、 构件图和配置图等五个图形,是u m l 的静态建模机制。而在第三步中所建立的模型或者 可以执行,或者表示执行时的时序状态或交互关系,包括状态图、活动图、顺序图和协作 9 西安下业大学硕十学位论文 图等四个图形,是u m l 的动态建模机制。 3 2 4u m l 的应用领域 u m l 已经成为软件建模领域事实上的标准,被成功应用于许多领域,表达了众多不 同的概念,例如:程序语占实现( j a v a 、c + + 、s m a l l t a l k 、c o r b a i d l 等等) 的可视化表 示;直接可执行的模型( 如x u m l ) ;与实现语言无关的软件规格说明;高层架构和框架 描述;过程工程和重组:网站结构;工作流详述:业务建模等。 3 2 5u m l 对软件需求分析的支持 面向对象的建模是一种新的设计思想,一种关于计算和信息结构化的新思维。面向对 象的建模,把系统看作是相互协作的对象,这些对象是结构和行为的封装,都属于某个类, 那些类具有某种层次化的结构。系统的所有功能通过对象之间相互发送消息来获得。面向 对象的建模可以视为是一个包含以下元素的概念框架:抽象、封装、模块化、层次、分类、 并行、稳定、可重用和可扩展。面向对象的建模思想的出现是面向过程和严格数据驱动的 软件开发方法的渐进演变结果。面向对象思想曾经遭受一些人的批评。理由是用户关心和 理解的只是系统的功能,他不可能去学习面向对象模型,所以虽然面向对象的建模缩小了 分析设计和编码的鸿沟,但却拉大了和用户的距离。幸运的是,u s ec a s e 的出现,使这一 情况得到了极大的改观。在u m l 中,0 0 建模的第一步是u s ec a s e 的分析, u s ec a s e 体现了系统的功能单元。系统的外部人员或其它系统通过和u s ec a s e 交换消息来了解和 使用系统的功能,弥补了0 0 建模和用户之间的距离。 u m l 以对象图描述任何类型的系统,具有很宽的应用领域,可以对任何具有静态结 构和动态行为的领域建模。u m l 适用于从需求规格说明到系统测试的不同阶段。在需求 分析阶段,用u s ec a s e 捕捉用户需求并建模,描述与系统有关的外部角色及其对系统的 功能要求。分析阶段主要关心问题域中的主要概念和机制,并用u m l 类图来描述对象和 类,用u m l 动态模型描述类之间的协作关系。u m l 模型同时还是测试阶段的依据。不 同的测试小组使用不同的u m l 图作为测试依据:单元测试使用类图和类规格说明;集成 测试使用构件图和协作图;系统测试使用u s ec a s e 图。 作为一种面向对象分析和设计的工具集,u m l 在面向对象开发过程中发挥着重要的 作用。不论使用何种设计语言和何种开发过程,只要是面向对象的,u m l 就能在需求分 析、系统设计和系统构架等方面的描述和沟通中起到重要辅助作用。在本项目的改进过程 中,使用了大量u m l 图和视图进行分析和设计,将在第四章和第五章的描述过程中举 例说明。 1 0 两安t 业大学硕十学位论文 3 3 有限状态自动机概述 3 3 1 语言及文法 3 3 1 1 语言的定义 定义3 1 字符的有限集合称为字母表,记为t 。字母表作为集合,在理论上它可以 是一个无限集,但在实际应用里,字母表中的字符个数总是有限的。例如2 6 个英文字母, 1 0 个阿拉伯数字都可分别构成一个字母表。 定义3 2 由字母表t 中的字符构成的序列称为字母表t 上的字符串( 或句子) 。字 符串中所包含字符的个数,称为字符串的长度。长度为0 的字符串,称为空串,记为e 。 空串就是没有任何字符的字符串,也是一个有用的特殊的字符串。 定义3 3t 是字母表t 上的所有字符串和空串的集合,r 是字母表t 上的所有字 符串构成的集合,并有r = t e 。 定义3 4 字母表t 上的语言l 是t 的子集。例如,设字母表t 是p a s c a l 语言所 用的全部符号集合,则语法正确的p a s c a l 程序是p a s c a l 字母表上的语言。由语言的定义 可知,语言是集合,因此对集合的运算,诸如并、交、补、差运算均可应用于对语4 - 的运 算。 3 3 1 2 文法 上己提及,语言l 是在字母表t 上有限长度的字符串集合。如果语言l 是有限集合, 那么最简单的表示方法是列举法,即列举出l 中的全部字符串;如果语言l 是无限集合, 则不能再用列举法表示它,必须探讨其它的方法。方法一,是用所谓“文法”的产生系统, 它能够由定义的文法规则产生出语言的每个句子。方法二,是用一个语言的识别系统。当 一个字符串能够被一个语言的识别系统接受,则说这个字符串是该语占的一个句子,否则 不属于该语言,这就是各种语言的识别器。在这里主要讨论方法一。所谓文法,简单地说 是用来定义语言的一个数学模型。 以下重点涉及的c h o m s k y 文法体系,它中间的任何一种文法必须包含有:两个不同 的有限符号集合,e p l t :终结符n 和终结符t ;一个形式化的有限集合p ,也称生成式集 合;一个起始符s 。其中集合p 中的生成式是用来产生语言句子的规则,而句子则是仅 由字符串组成的字符串,同时这些字符串的产生又必须从一个起始符s 开始,不断使用p 中的生成式而导出来的。可见,文法的核心是生成式集合,它决定了语言中句子的产生。 以下给出文法的形式定义。 定义3 5 文法g 是一个四元组,g = ( n ,t ,p ;s ) ,其中 ( 1 ) n 非终结符的有限集合; ( 2 ) t 终结符的有限集合,且n nt = f ; ( 3 ) p 形式为q 一1 3 的生成式有限集合,且a ( n u d + ,b ( n u d 。; 1 1 两安t 业大学硕十学位论文 ( 4 ) s 起始符,且s n 。 在定义里,生成式a b 中,所用符号“一”的含义是“可被代替”。 以上定义的文法,属于c h o m s k y 的文法体系,该体系对生成式的形式做了一些规定, 分为四类,因此文法也分为四种类型,即0 型,1 型,2 型和3 型文法,按生成式的不同 介绍如下: 1 型:或称上下文有关文法。生成式的形式为a b ,其中ia | ibi ,且 a ,b ( n u d + 。该文法有一个特点,即每个生成式左部字符串长度小于或等于右部字符串 长度。 2 型:或称上下文无关文法。生成式的形式为a b ,a e n 且a ( n u n 。该文法 的特点是,每个生成式的左部是单个非终结符。 3 型:或称正则文法。生成式的形式为j 一( o b 或a o ,a 、b e n ,c a e t 称为右 线性文法;如果生成式的形式为a b 或a 一,则称左线性文法。 以上对这三种文法的生成式都做了一些规定,如果对生成式的形式不加任何限制,则 在定义3 5 定义的文法就是0 型文法。1 、2 、3 型文法都是在0 型文法的前提下所加的限 制,所以必然都属于o 型文法。同理,3 型文法属于2 型文法,2 型文法属于1 型文法。 由于文法有四类,所以由这些文法所产生的语言也有四类,即:由上下文有关文法产 生的语言称为上下文有关语言;由上下文无关文法产生的语言称为上下文无关语言;由正 则文法产生的语言称为正则语言;而由0 型文法产生的语言则称为无限制性语言。 3 3 2 有限自动机 3 3 2 1 有限自动机 以上介绍的文法是从语言生成的角度定义了语言,在此从识别语言出发,讨论对语占 的另一种定义方式,即有限自动机。有限自动机是具有离散输入输出系统的一种数学模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国淀粉工业项目创业计划书
- 江西饲料项目创业计划书
- 乐高面试题及答案详解
- 一年级语文部编第一单元教案
- 2025大连市房屋出租代理合同(官方范本)范文
- 茶叶电商企业茶叶售后服务合同范本
- 2025合同模板合作组建合资公司合同示例
- 2025《委托管理合同》
- 2025合同示范文本汇编(下)
- 线练学校高三英语第一学期1月月考
- 四川省成都市2024年七年级下学期期末数学试题附答案
- 合作协议(国外开矿甲乙双方合同范本)
- 思辨与创新智慧树知到期末考试答案章节答案2024年复旦大学
- 手术室-标准侧卧位摆放
- 线性代数智慧树知到期末考试答案章节答案2024年广西师范大学
- 中药药理学(中国药科大学)智慧树知到期末考试答案2024年
- 夫妻卖房一方不能到场委托书
- MOOC 算法设计与分析-武汉理工大学 中国大学慕课答案
- (正式版)JBT 9229-2024 剪叉式升降工作平台
- 江苏大学机械工程学院人才培养调查问卷(校友卷)
- 义务教育均衡发展督导评估汇报
评论
0/150
提交评论