- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程 - 课程中心
* * * * * * * * * 人员的效率问题 软件的新旧问题 200工作日 3000 行 程序 * * * * * * * * * * * * * * * * * * * * * * * * * 原则: 选取适宜的开发模型 采用合适的设计方法 提供高质量的工程支撑 重视软件工程的管理 * 软件工程学 * 软件工程三要素 软件工程概论 计算机软件 软件工程 软件生存周期 软件开发模型 CASE工具和环境 * 软件生存周期 ( software life cycle) 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、可行性分析、软件项目计划、软件需求分析、软件设计、程序编码、测试及运行维护 * * 计算机系统包括计算机硬件、软件和使用计算机的人。计算机系统工程的任务是确定待开发软件的总体要求和范围,以及与之有关的硬件、支撑软件的要求。 从经济、技术、法律等多个方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 确定待开发软件的目标,并对资源分配、成本估算、进度安排等作出合理的计划。 确定待开发软件的功能、性能、数据、界面等要求,即解决待开发软件要“做什么”的问题。 What to do? 软件设计通常可分为系统设计和详细设计。 系统设计的任务是设计软件系统的结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构、数据库等; 详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 How to do? 用某种程序语言为软件编写程序。 do! 发现并纠正软件中的错误和缺陷。 在软件运行期间,当发现了软件中潜藏的错误或需要增加新的功能或需将软件移植到另一运行平台等情况出现时对软件进行修改。 软件工程概论 计算机软件 软件工程 软件生存周期 软件开发模型 CASE工具和环境 * 软件开发模型 软件开发模型是软件开发全部过程、活动和任务的结构框架 也称软件过程模型或软件生存周期模型 * 软件开发模型 典型的软件开发模型有: 瀑布模型(waterfall model) 快速原型模型( Rapid Prototype Model ) 增量模型(incremental model) 螺旋模型(spiral model) 喷泉模型(water fountain model) 基于构件的开发模型(component-based development model) 形式化方法模型(formal methods model) * 瀑布模型 需求分析 与验证 设计与 验证 编码与 单元测试 集成测试 系统测试 运行与 维护 * 计划 定义阶段 开发阶段 维护阶段 1970年W.Royce提出瀑布模型 特征 接受上一阶段的结果作为本阶段的输入 利用这一输入实施本阶段应完成的活动 对本阶段的工作进行评审 将本阶段的结果作为输出,传递给下一阶段 缺点 缺乏灵活性,难以适应需求不明确或需求经常变化的软件开发 开发早期存在的问题往往要到交付使用时才发现,维护代价大 * 快速原型模型 软件往往难以一次开发完成,我们可以在获取了一组基本的需求后,通过快速分析,构造出该软件的一个初始版本,称为原型(prototype)。实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;然后在此基础上开发客户满意的软件产品。 演化模型:根据用户在试用原型的过程中提出的反馈意见和建议对原型进行改进,获得原型的新版本,重复这一过程,最终可得到令用户满意的软件产品。演化模型采用迭代的思想,渐进地开发,逐步完整软件版本。 * 增量模型 * 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的“增量”版本,后一版本是对前一版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品 增量模型融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征 增量模型强调每一个增量都发布一个可运行的产品 * 增量模型特别适用于: 需求经常变化的软件开发 市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品的软件开发 增量模型能有计划地管理技术风险,如早期增量版本中避免采用尚未成熟的技术 * 螺旋模型 B.Boehm于1988年提出 是瀑布模型和演化模型的结合,并增加了风险分析 螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即:
文档评论(0)