毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

敏捷软件方法的学习辅助管理系统设计 第4页

更新时间:2010-5-24:  来源:毕业论文
敏捷软件方法的学习辅助管理系统设计 第4页
器前进行开发,一人打字编程另一人查看其编码,配对的两人是不固定的,建议每天轮换。
(8)设计改进(Design Improvement):在整个开发过程中,应对程序结构进行持续不断的梳理(Refactoring,在不影响程序的外部可见行为的情况下,按高内聚松耦合的原则对程序内部结构进行改进), 保持代码简洁、无冗余。
(9)持续集成(Continuous Integration):保持项目组中所有开发的模块始终是组装完毕、集成良好且可执行的,一旦新的模块通过了单元测试,应立即将其组装、集成,形成新的可执行系统。
(10)代码共享(Collective code Ownership):任何结对开发者在任何时候都可改进项目组中的任何代码。
(11)编码标准(Coding Standard):对编程风格(命名、注释、格式等)要有一个大家认可的、共同遵守的标准,使整个程序如同一人编写。
(12)可持续步调(Sustainable Pace):整个项目的开发节奏应该是可长期文持的,XP提出每周40小时工作制,以使开发人员能长期保持高效率工作。
3.XP的开发过程
(l)整体开发过程
如图2-1所示。用户代表提出用户故事(User stories,类似于用例,但更简单,不超过三句话即可,一般只涉及功能要求),项目组据此进行讨论提出系统比拟,在此活动中有可能要进行体系结构的刺探(Spike,意在试探解决有关技术难点,走通技术路线)。在系统比拟和用户故事的基础上,根据用户设定的优先级制订交付计划(制订计划中可能需要对某个技术难点进行刺探),然后开始多个迭代过程(每个迭代一般为1~3周),在迭代期内产生的新用户故事不在本迭代内解决,以保证开发不受干扰。经验收测试通过后交付使用。
                         图2-1 XP开发整体过程
(2)迭代过程
如图2-2所示。根据交付计划和项目速率(Project velocity,实际开发时间和估计时间的比率,如估计1天完成的工作实际为2 天,项目速率为2),选择要优先完成的用户故事或待消除的Bugs,将其分解为可在1~2天内完成的任务,制定本次迭代计划,然后通过每天的站立会议(Stand up meeting,参加人员站着开会以缩短时间\提高效率)解决碰到的问题、调整迭代计划,会后是代码共享式的开发工作,开发人员要确保新功能100%通过单元测试,并立即组装形成新的可运行版本,由用户代表进行验收测试。
            图2-2  迭代开发过程
(3)代码共享的编程
如图2-3所示。              图2-3 代码共享编程
(4)xp的计划/反馈循论文网http://www.youerw.com/  优文毕业论文http://www.youerw.com/ 时它又是面向对象开发的行业标准语言—标准建模语言甲ML)的创立者。RUP将一个项目分解成多个开发周期,将每个开发周期分解为多个阶段:先启阶段、精化阶段、构建阶段、和移交(产品化)阶段。RUP在软件开发中确定了一系列“工作流”,或主题:业务建模、需求、分析、设计、实现、测试、部署、配置和变更管理、项目管理、环境管理。所有的工作流在每个阶段都会涉及,但每个工作流的重要性和成效在不同阶段有所不同。
RuP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Ineeption)、细化阶段E(laboratino)、构造阶段(Consturetion)和交付阶段份ansition)。
RUP具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。
2.3.3 SCRUM
    由Ken Schwaber和Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进,名称来自英式橄榄球(在比赛中每个队员都应时刻保持对场上全局的判断,然后通过集体行动,奋力实现同一目标──胜利)。SCRUM 方法最初实践于Easel 公司(1993 年),现已被数十家公司数百个项目开发中应用,适用于需求难以预测的复杂商务应用产品的开发[11]。SCRUM提出的SCRUM Meeting、Sprint、Backlog、SCRUM Master、SCRUM Team、Demo等模式已被PLOP作为组织和过程模(Organizational and Process Pattern)的标准[12]。
SCRUM将工业过程控制中的概念应用到软件开发中来,认为软件开发过程更多是经验性过程(Empirical Process),而不是确定性过程(Defined Process)。确定性过程是可明确描述的、可预测的过程,因而可重复(Repeatable)执行并能产生预期的结果,并能通过科学理论对其最优化。经验性过程与之相反,应作为一个黑箱(Black box)来处理,通过对黑箱的输入输出不断进行度量,在此基础上,结合经验判断对黑箱进行调控,使其不越出设定的边界,从而产生满意的输出。SCRUM方法将传统开发中的分析、设计和施视为一个黑箱,认为应加强黑箱内部的混沌性,使项目组工作在混沌的边沿,充分发挥人的创造力,将经验性过程按确定性过程来处理(如瀑布模型),必将使过程缺乏适应力。
2.3.4 Crystal方法系列
由Alistir Cockburn提出,与其它Agile方法的提出者不同,Cockburn的研究基于对IBM公司近四十个项目(这些项目有大有小,方法有轻载和重载,时间跨度为1980~1999年)案例的调查。他认为不同的项目需采用不同的开发方法,并随着开发的进行应不断细调(On-the-fly tuning),也就是连续不断的过程改进。据此他提出了一系列方法(Crystal Clear、Crystal yellow、Crystal Orange、Crystal Red等,名称借自于自然界中的晶体,有透明的、黄色的、橙色的等)作为基本参照和一些原则来指导方法的调整。
Crystal 方法系列的核心理念:软件开发可视为创造和交流相协调的过程,其中人的因素是第一位的,软件开发的第一目标是交付有用的、可运行的软件,其次是保持开发工作的可延续性。
Crystal 方法系列对具体的开发过程并没有严格的要求。它强调某个方法应有哪些角色及多少人参与、组织结构如何、迭代周期多长、应有哪些中间文档、采用哪些工具等。如Crystal Clear,用在6 人左右的项目组(无下层小组),迭代周期应为2-3个月,角色应有项目资助者、高级设计开发员、设计开发员和用户,开发制品有:交付序列、进度安排、有注解的用例、设计纲要、通用对象模型、可执行代码、移植代码、测试用例和户手册。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

敏捷软件方法的学习辅助管理系统设计 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。