敏捷软件方法的学习辅助管理系统设计
敏捷软件方法的学习辅助管理系统设计
敏捷软件开发方法是近年来软件行业提出的一种新方法,它能够适应迅速变化的需求并能够快速开发出高质量的软件产品软件。敏捷开发是轻量型的开发方法,它没有严格的过程控制;强调与人交流的重要性,提倡用高质量的软
件产品来替代文档。敏捷开发方法主要能是解决软件开发过程中需求多变的问题。此外,该方法对测试非常重视,将其作为开发的基础。这可以很好解决传统方法开发过程中后期测试弊端过多这一问题。
本文主要对敏捷软件开发方法进行实证性研究。首先,分析了敏捷软件开发相关理论、基本原则、常见方法和相关的开发工具。并利用敏捷软件开发方法中常用的极限编程(XP)方法来开发学习辅助管理系统。其次,论文分析了学习辅助管理系统在不同阶段的功能需求,并在此基础上进行迭代开发。并用UML相关知识建立系统用例模型和设计系统对象交互时序图。再次,在第一次迭代对象类设计、用户界面类设计和数据设计的基础上,第二次迭代添加了部分新的功能,并将设计模式思想应用其中,提高了系统的可扩展性。最后,利用Junit和JFCunit测试工具,按照测试驱动开发的思想完成本系统。
通过用敏捷软件开发方法完成此系统,可以得出这样的结论:在规模不大、业务需求变化较多的中小系统开发中,重视敏捷开发方法的应用,并结合UML、设计模式以及面向对象编程思想,可以有效增进代码的产出率,提高系统的开发质量。
关键词:敏捷开发;测试驱动;设计模式;Junit;JFCunit。
摘 要 II
ABSTRACT III
目 录 1
第1章 绪论 1
1.1 研究背景 1
1.2 课题研究意义 1
1.3 敏捷软件开发方法的国内外研究现状 2
1.4本文研究的主要内容、目标和方法 3
1.4.1研究的主要内容 3
1.4.2研究目标 3
1.4.3研究方法 4
第2章 敏捷软件开发方法与相关技术综述 5
2.1敏捷方法的核心理念及特点 5
2.1.1 敏捷方法基于适应而非预测 5
2.1.2 敏捷方法是以人为导向而非过程导向 5
2.1.3 敏捷方法中的价值系统和指导原则 5
2.2敏捷开发具体方法介绍 6
2.2.1 XP(Extreme Programming)[3-9] 6
2.2.2 RUP 10
2.2.3 SCRUM 10
2.2.4 Crystal方法系列 11
2.3 XP开发方法在现实中的主要实践技术 12
2.3.1 迭代开发 12
2.3.2 测试驱动开发 13
2.3.3 重构 14
2.4设计模式 15
2.5本章小结 15
第3章 系统初步需求分析 16
3.1功能需求 16
3.2系统UML建模 19
第4章 第一次迭代交付 24
4.1第一次迭代任务 24
4.2系统设计 24
4.2.1定义系统中和数据库字段相关的基础类 24
4.2.2定义用户界面类 25
4.2.3数据库设计 27
4.3实现策略 33
4.4版本发布 35
4.5本章小结 35
第5章 第二次迭代交付 36
5.1 第二次迭代任务 36
5.2 第二次迭代需求 36
5.2.1功能需求 36
5.2.2系统UML建模 38
5.3 系统设计 41
5.3.1增加系统业务类 41
5.3.2设计模式的应用 41
5.3.3数据库设计 43
5.4实现策略 44
5.4.1添加图片表格的实现策略 44
5.4.2复制粘贴截图的实现策略 46
5.4.3模糊查询的实现策略(待完成) 47
5.5版本发布 47
5.6本章小结 47
结束语 48
致 谢 49
参考文献(删减) 50
攻读硕士学位期间发表的论文 53
第1章 绪论论文网http://www.lwfree.com/ 六维毕业论文http://www.751com.cn/
1.1 研究背景
“软件危机”[1]爆发于20世纪60年代中期,指的是软件开发和维护过程中遇到的一系列严重问题。为了应对软件危机,专家和学者开始了软件工程方面的研究。软件工程[2][3]采用工程的概念、原则、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程有三个要素:方法、工具和过程,并提出了软件生存周期的概念,主要分为计划阶段、开发阶段和运行与维护阶段。此外,软件工程里的软件过程模型就是软件开发的指导思想,传统的过程模型主要有瀑布模型、螺旋模型、增量模型、喷泉模型等。其中瀑布模型应用最为广泛,瀑布模型的出现曾经为软件开发树立了一个里程碑。早期的面向过程软件开发技术[1]缓解了软件危机,也给软件产业带来了发展和进步,但也只是使许多中、小规模软件通过这种方法获得成功。为了满足和适应大型软件产品的开发与设计,后来又出现了面向对象方法学[1],它克服了传统面向过程方法存在的一些缺陷。但是面向过程和面向对象的软件开发方法都是试图在长时间跨度内对一个软件开发项目制定出详细的计划,然后严格按照计划进行软件开发。这类开发方法在计划制定结束后拒绝变化,它不太适应于需求快速变化的情形,但是实践证明任何一个软件项目,在开发的过程中,需求一点不变是不可能的。据有关资料[4]显示,中等规模的软件项目,变化率通常在25%左右,而对于非常大的项目,变化率可达到35%。同时,这类软件开发方法都是把测试放到开发的最后阶段,但许多项目显示,很多问题往往直到最后阶段才暴露出来,这时要解决往往付出的代价是巨大的,有时甚至不得不取消这个项目。1251
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>