JAVAEE项目开发
项目开发流程
- 软件开发模型
- 软件开发全部过程,活动和任务结构框架
- 软件开发模型能清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务,是从事企业级软件项目开发的基地和保障。
§ 瀑布模型 (适合用户需求固定的软件开发)
- 可行性分析
目的:软件可行性研究的目的就是用做小的代价在尽可能短的时间内确定该软件项目是否
能够开发,是否值得去开发。
任务:技术可行性-确定现有资源(软件/硬件/技术人员)是否支持开发经济可行性-确定
项目的成本和经济效益是否值得投入开发社会可行性-确定项目内容是否存在侵权
违规、违法行为
结果:最终输出《可行性分析报告》文档
- 项目开发计划
- 需求分析
目的:
任务:
• 识别功能需求-确定所开发的软件必须具备什么样的功能(最重要)
• 识别性能需求-确定所开发的软件有哪些技术性能指标识别
• 识别环境需求-确定所开发的软件运行是所需要的软、硬件要求
• 识别用户界面需求
结果:
- 系统概要设计
目的:
任务:
• 设计软件系统架构
• 设计数据结构-确定所开发的软件的数据结构
• 设计数据库-确定所开发的软件存储数据的数据库表以及表与表关系
• 设计界面模型-确定所开发的软件的界面原型图
结果:最终输出《概要设计说明书》《数据库设计说明书》《界面原型》文档
- 系统详细设计
目的:把概要设计划分的模块进行细化,就是详细设计每个模块的实现方法,类结构图等
任务:
• 为每个类进行详细的算法设计,每个模块处理过程的详细算法描述出来
• 为模块内部的数据结构进行设计,对于需求分析,概要设计确定的概念性的数据
类型进行确切的定义
结果:最终输出《详细设计说明书》文档
- 编码
目的:源程序代码
任务:
• 遵守设计原则
• 遵守编码规范(编写编码注解)
• 合理使用设计模式
• 编写调试日志信息
• 代码具有可阅读性、可测试性、可扩展和可维护性
结果:最终输出《API帮助文档》文档
- 测试
目的:测试阶段的基本任务是根据软件开发各阶段的文档资料和程序内部结构,
精心设计-组测试用例,找出软件中潜在的各种错误和缺陷
任务:
• 黑盒测试(测试人员) • 单元测试(开发人员)
• 白盒测试(开发人员) • 集成测试(开发人员)
• 灰盒测试(开发/测试人员) • 系统测试(测试人员)
结果:最终输出《软件测试用例》《软件测试报告》文档
- 维护
目的:是软件生存周期中时间最长的一个阶段
任务:
• 校正性维护-修改开发过程未发现的BUG(主要)
• 完善性维护-根据用户的需求增加新的功能和性能需求(主要)
• 适应性维护-根据市场的编号审计软硬件环境
• 预防性维护-
结果:最终输出《程序维护手册》文档
§ 迭代模型(适合用户需求不明确的软件开发)
特点: 在迭代模型中,将项目分阶段进行,每个阶段都执行一个瀑布模型, 其中都包括不同比例的需求分析、设计、编码和测试活动。每个阶段都将发布可运行版本, 通过多次迭代最终完成项目产品。
§ 快速原型模型 (适合用户不知道需求的软件开发)
特点:快速原型模型需要迅速建造一个可以运行的原件原型,以便理解和澄清问题,使开发人员与用户打成共识,最终在确定的客户需求基础上开发客户满意的软件产品。
§ 混合模型 (适合用户需求特异的软件开发)
特点:把几种不同模型组合成一种混合模型