- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件需求分析与建模- 概述 内容 需求分析与建模 软件发展历史回顾 结构化分析与设计 面向对象方法学的起源 面向对象方法学概述 优秀需求具有的特性 需求规格说明的特征 完整性(Complete) 一致性(Consistent) 简洁明了(Concise) 可修改性(Modifiable) 可跟踪性(Traceable) 何为软件模型 现实世界 计算世界 应用型软件的分析难题--模拟性 理想的前提 软件模型 模型的用意 现实世界 复杂 复杂性1:包含大量关联事物,具有巨量的分解和组合 复杂性2:对任一事物都不能完全描述,因为从不同的角度出发有不同的观察结论 非形式化的事物描述 实体 概念 … 计算世界 形式化描述 有限的实体单位 软件模型 事物,属性和定义的抽象集合即称为软件模型 如果用现实世界的语言进行描述,即称为用户模型 软件用计算实体(类、函数等)进行描述,即称为设计模型 如果用编码进行描述,即为编码模型(程序) 如果用一种中立(于用户语言和计算实体)的、半形式化的语言进行描述,即为分析模型 … 不论如何表示,其本质知识保持不变 软件建模通常意指建立分析模型 模型的用意 关于系统的一种抽象描述 最小性 根据模型可以得出关于系统问题的答案 完备性 软件建模与软件分析有何关系 模拟软件的三个世界 软件分析的任务 模拟软件的三个世界 软件分析的任务 软件分析的任务 建立分析模型=软件建模 以中立的(接近用户语言)语言、半形式化的方式定义“软件应该做什么” 限定了模拟的范围,软件设计按照定义来安排计算实体及其组合方式 缓和了用户和软件设计者之间(形式化 VS 非形式化)的交流差距 需求工程 VS 需求分析 软件危机 90年代的软件工程调查… 问题分析 需求工程 软件危机 1968 ,NATO(北大西洋公约组织),软件危机 对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。 (2)用户对“已完成”系统不满意的现象经常发生。 (3)软件产品的质量不可靠。 (4)软件的可维护程度非常之低。 (5)软件通常没有适当的文档资料。 (6)软件的成本不断提高。 (7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。 1968年秋季,软件工程 问题分析之一:跳跃式开发 问题分析之二 软件的发展 需求工程 需求分析的活动 90年代之前,以建模活动为中心 以半形式化的图形语言描述复杂活动 需求工程的活动 90年代之后,形成完整的“需求工程” 除了分析与建模之外,还有一些其他的活动也很重要 需求获取 需求分析(建模与分析) 需求规格说明 需求验证 需求管理 1.软件发展历史回顾 现在的计算机的数学理论基础是由计算机的开山鼻祖,大名鼎鼎的图灵于1937年提出的图灵机模型。随后不到十年,电子计算机就诞生了(1945)。(埃尼亚克 ENIAC) 它当时的主要任务之一就是用于导弹弹道轨迹的计算。 现代电子计算机的体系结构及实际计算模型来自冯.诺依曼的思想。 1946年他和他的同事们发现了埃尼亚克的缺陷,发表了一份报告,提出了程序放入内存,顺序执行的思想。 英国的科学家维尔克斯实现了冯.诺依曼的思想,领导研制了“艾克萨克” 。 因此,现在的计算机通常被称为冯.诺依曼计算机。 计算机编程语言 早期程序员们使用机器语言来进行编程运算;随着编译技术的出现,人们设计了许多更高级别的语言; 例如:汇编语言,C语言,Pascal语言,Java语言,C#语言等。 据统计,全世界的高级语言起码有几千种,但从可计算性的角度看,它们的计算能力都等价于图灵机。 已经证明,一个计算机语言,只要除了赋值语句之外,还包括顺序语句,条件语句和循环语句,它的计算能力即相当于图灵机。 这里当然要排除其他技术因素的影响,如程序长度,变量个数,数据精度等。 由于图灵机的想法是把问题转化为一步一步按规则执行的机械求解过程,各种计算机语言也不过都是某种形式语言。 因此软件开发的过程实质上就是程序员们对客观世界问题域的形式化的过程。 2.结构化分析、设计和编程 SA - SD - SP 技术的缺点: (1)本质上是功能分解,以实现功能的过程为中心,而用户的需求变化主要是针对功能的。这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好 (2)系统有明确的边界定义,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改 (3)数据与操作分开处理,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差 总结:结构化VS面向对象 结构化思维用函数刻画数据间关系 面向对象思维直接用类表达数据间关系 结构化中,数据是死的,全部依赖算法操作 面向对象中,数据是活
文档评论(0)