- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.7 软件生命周期模型 智能模型的优点是: (1) 通过领域的专家系统. 可使需求说明更完整、准确和无二义性. (2) 通过软件工程专家系统. 在开发过程中成为设计人员的助手. (3) 软件工程知识、特定应用领域知识和规则的应用可帮助系统的开发. 上一页 下一页 返回 2.7 软件生命周期模型 智能模型的缺点是: (1) 建立适合软件设计的专家系统是非常困难的. (2) 建立一个既适合软件工程又适合应用领域的知识库也是非常困难的. 目前的状况是人们正在软件开发中应用人工智能技术. 在CASE 工具系统中使用专家系统. 用专家系统实现测试自动化. 这在软件开发的局部阶段已有进展. 上一页 返回 2. 8 软件工程的目标和原则 组织实施软件工程项目. 从技术和管理上采取了多项措施以后. 最终希望项目能够取得成功. 所谓“成功”. 指的是达到以下几个主要的目标: (1) 达到要求的软件功能. (2) 取得较好的软件性能. (3) 开发的软件易于移植. (4) 能按时交付使用. (5) 开发成本较低. (6) 维护费用较低. 下一页 返回 2. 8 软件工程的目标和原则 在具体项目的实际开发中. 让以上几个目标都达到理想的程度往往是非常困难的. 况且上述目标很可能是互相冲突的. 例如. 若降低开发成本. 很可能同时也降低了软件的可靠性. 另一方面. 如果过于追求提高软件的性能. 可能造成开发出的软件对硬件有较大的依赖. 从而直接影响软件的可移植性. 为了达到以上软件工程的目标. 在软件开发过程中必须遵循下列软件工程原则: (1) 抽象: 抽取事物最基本的特性和行为. 忽略非基本的细节. 采用分层次抽象. 自顶向下. 逐层分解的办法控制软件开发过程的复杂性. 例如. 软件瀑布模型、结构化分析方法、结构化设计方法. 以及面向对象建模技术等都体现了抽象的原则. 上一页 下一页 返回 2. 8 软件工程的目标和原则 (2) 信息隐蔽: 将模块设计成“黑箱”. 实现的细节隐藏在模块内部. 不让模块的使用者直接访问. 这就是信息封装. 使用与实现分离的原则. 使用者只能通过模块接口访问模块中封装的数据. (3) 模块化: 模块是程序中逻辑上相对独立的成分. 是独立的编程单位. 应有良好的接口定义. 如C 语言程序中的函数过程、C ++ 语言程序中的类. 模块化有助于信息隐蔽和抽象. 有助于表示复杂的系统. (4) 局部化: 要求在一个物理模块内集中逻辑上相互关联的计算机资源. 保证模块之间具有松散的耦合. 模块内部具有较强的内聚. 这有助于加强模块的独立性. 控制解的复杂性. 上一页 下一页 返回 2. 8 软件工程的目标和原则 ( 5) 确定性: 软件开发过程中所有概念的表达应是确定的、无歧义的、规范的. 这有助于人们之间在交流时不会产生误解、遗漏. 保证整个开发工作协调一致. (6) 一致性: 整个软件系统(包括程序、文档和数据) 的各个模块应使用一致的概念、符号和术语. 程序内部接口应保持一致. 软件和硬件、操作系统的接口应保持一致. 系统规格说明与系统行为应保持一致. 用于形式化规格说明的公理系统应保持一致. (7) 完备性: 软件系统不丢失任何重要成分. 可以完全实现系统所要求的功能. 为了保证系统的完备性. 在软件开发和运行过程中需要严格的技术评审. 上一页 下一页 返回 2. 8 软件工程的目标和原则 (8) 可验证性: 开发大型的软件系统需要对系统自顶向下、逐层分解. 系统分解应遵循系统易于检查、测试、评审的原则. 以确保系统的正确性. (9) 一致性、完备性和可验证性的原则可以帮助人们实现一个正确的系统. 上一页 返回 图2 -2 传统的瀑布模型 返回 图2 -3 带“反馈环” 的瀑布模型 返回 图2 -4 渐增模型 返回 图2 -5 快速原型模型 返回 图2 -6 螺旋模型 返回 图2 -7 喷泉模型 返回 图2 -8 变换模型 返回 图2 -9 智能模型 返回 * 2.6 软件的生命周期 这个时期的工作通常又称为系统分析. 由系统分析员负责完成. 软件定义时期通常进一步划分成三个阶段. 即问题定义、可行性研究和需求分析. 软件开发时期具体设计和实现在软件定义时期定义的软件. 它通常由4 个阶段组成: 总体设计、详细设计、编码和单元测试、综合测试. 软件维护时期的主要任务是使软件持久地满足用户的需要. 具体地说. 当软件在使用过程中发现错误时应该加以改正. 当环境改变时应该修改软件以适应新的环境. 上一页 下一页 返回 2.6 软件的生命周期 当用户有新要求时应该及时改进软件以满足用户的新需要. 通常对软件维护时期不再进一步划分阶段. 但是每一次维护活动本质上都是一次压缩和简化了的软件定义和软件开发过
文档评论(0)