>软件开发>>软件维护"],[20,"\n","24:\"1uh9\"|33:1"],[20,"问题定义>>可行性研究>>需求分析>>概要设计>>详细设计>>编码和单元测试>>综合测试>>软件维护"],[20,"\n","24:\"6LPI\"|33:1"],[20,"然而软件的需求是模糊的,变化的,结构化模型滞后反应"],[20,"\n","24:\"jEnF\"|33:1"],[20,"软件开发过程"],[20,"\n","24:\"4tig\"|32:4"],[20,"瀑布模型:“文档驱动”,静态"],[20,"\n","24:\"aSd5\"|33:1"],[20,"快速原型:快速简历核心功能、螺旋模型:阶段风险评估 "],[20,"\n","24:\"peNi\"|33:1"],[20,"喷泉模型:迭代"],[20,"\n","24:\"40qx\"|33:1"],[20,"软件开发新过程"],[20,"\n","24:\"g31y\"|32:4"],[20,"敏捷软件开发(极限编程—XP):快速适应需求变化,灵活的人员组织,面向业务持续改进"],[20,"\n","24:\"4gTv\"|33:1"],[20,"个体和交互胜过过程和工具"],[20,"\n","24:\"0C0X\"|33:1"],[20,"可以工作的软件胜过面面俱到的文档"],[20,"\n","24:\"mfiy\"|33:1"],[20,"客户合作胜过合同谈判"],[20,"\n","24:\"fZ7j\"|33:1"],[20,"响应变化胜过遵循计划"],[20,"\n","24:\"YX0a\"|33:1"],[20,"统一软件开发过程"],[20,"\n","24:\"nkDU\"|33:1"],[20,"软件开发方法 "],[20,"\n","24:\"489Z\"|32:4"],[20,"结构化方法"],[20,"\n","24:\"NI6v\"|33:1"],[20,"面向对象方法"],[20,"\n","24:\"J9Rk\"|33:1"],[20,"Jackson系统开发方法"],[20,"\n","24:\"V0Fz\"|33:1"],[20,"模块化方法"],[20,"\n","24:\"L7Xr\"|33:1"],[20,"软件复用"],[20,"\n","24:\"d6pR\"|33:1"]]" style="font-size: 24px;">
软件工程学概论
1.1 软件危机
软件成本日益增长 ,开发进度难以控制 ,软件质量差 ,软件维护困难。
软件危机的原因
消除软件危机的途径
技术和方法,软件工具,组织管理
软件工程基本原理
用分阶段的生命周期计划严格管理
坚持进行阶段评审
实行严格的产品控制
采用现代程序设计技术
结果应能清楚地审查
开发小组的人员应该少而精
承认不断改进软件工程实践的必要性
1.2 软件开发
软件的生命周期
软件定义>>软件开发>>软件维护
问题定义>>可行性研究>>需求分析>>概要设计>>详细设计>>编码和单元测试>>综合测试>>软件维护
然而软件的需求是模糊的,变化的,结构化模型滞后反应
软件开发过程
瀑布模型:“文档驱动”,静态
快速原型:快速简历核心功能、螺旋模型:阶段风险评估
喷泉模型:迭代
软件开发新过程
敏捷软件开发(极限编程—XP):快速适应需求变化,灵活的人员组织,面向业务持续改进
个体和交互胜过过程和工具
可以工作的软件胜过面面俱到的