软件的本质特性:
构造性,演化性,知识密集,逻辑产物。
软件开发模型:瀑布模型,螺旋模型,喷泉模型,演化模型
瀑布模型:文档驱动。系统可能不满足客户的需求
螺旋模型:风险驱动。风险分析人员需要有经验。且经过充分训练
喷泉模型:更多的增量和迭代
演化模型:需求驱动。需求分组会影响全局系统
软件危机:现象:软件开发费用和进度失控,软件的可靠性差,软件难以维护。
原因:需求不明确,缺少有力的技术、方法学和工具,复杂程度越来越高,人的原因
软件开发呈现的变化:
反映对象:从 以个体计算过程 为反映对象向 以群体合作过程 为反映对象的发展
开发基础:从 以单个软件开发为主 向 以集成式开发为主 的发展
关注内容:从 以正面功能为核心 向兼顾侧面约束 的发展
运行方式:从 纯被动式的方式 向 部分主动式的方式 发展
提交形式:从 以 产品 为中心向 以 服务 为中心 的发展
开销比重:从 开发为主要开销向开发、演化开销并重 的发展
面向方面的编程(AOP):追求 调用者和被调用者之间的解耦
代理的特征:自治性,反应性,主动性,社会性
什么是工作流:工作流是一类能够完全或者部分自动执行的业务过程,本质上讲是
使在多个参与者之间按照某种预定义的规则传递文档、信息或任务
的过程自动进行。
软件开发过程新进展:(1) 统一软件开发过程(RUP)
生命周期的四个阶段:初始阶段,细化阶段,构造阶段,交付阶段
(2) 敏捷开发方法
Agile software development is a groupof software development methodologies based on
iterative and incremental development,where requirements and solutions evolve through
collaboration between self-organizing, cross functional teams.
(3) 面向侧面的软件开发(AOP)
(4) 测试驱动的软件开发
在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
(5) 基于构件的软件开发
构件的定义:一个构件是一个组装单元,它具有约定

本文探讨了软件开发的不同模型,如瀑布模型、螺旋模型和演化模型,并介绍了软件危机的原因和解决办法。随着技术发展,软件开发转向以集成式开发为主,关注侧面约束,并从以产品为中心转向以服务为中心。面向方面的编程追求调用者和被调用者的解耦,构件成为软件开发的重要部分。此外,文章还阐述了工作流的概念和软件开发过程的新进展,包括统一软件开发过程(RUP)、敏捷开发和测试驱动开发。中间件在分布式系统中起到关键作用,如数据访问、远程过程调用和面向消息中间件等。最后,文章讨论了网络环境的特点和不同类型的中间件。
最低0.47元/天 解锁文章
1543

被折叠的 条评论
为什么被折叠?



