- 1、本文档共150页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复旦大学计算机科学与工程系 软件工程课程 软件工程 第1章 概论 内容摘要 计算机软件 软件工程 软件过程 软件过程模型 敏捷软件开发 CASE工具与环境 内容摘要 计算机软件 软件工程 软件过程 软件过程模型 敏捷软件开发 CASE工具与环境 计算机软件 计算机软件指计算机系统中的程序及其文档 程序是计算任务的处理对象和处理规则的描述 任务:以计算机为处理工具的任务都是计算任务 处理对象:数据(如数据、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及有关的含义) 处理规则一般指处理的动作和步骤。程序必须装入计算机内才能工作 文档是为了便于了解程序所需的阐明性资料,文档一般是给人看的,不一定装入计算机 软件的发展 1946-1956年 从计算机问世到实用的高级程序语言出现前 存储容量比较小,运算速度比较慢 采用个体工作方式,用低级语言编写程序 应用领域主要是以数值数据处理为主的科学计算,其特点是输入、输出量较小 衡量程序质量的标准主要是功效,即运行时间省、占用内存小 主要研究内容是科学计算程序、服务性程序和程序库,研究对象是顺序程序 1956-1968年 从实用的高级程序语言出现到软件工程出现前 存储器容量大,外围设备得到迅速发展,出现了高级程序设计语言 应用领域包括数据处理(非数值数据),其特点是计算量不大,但输入、输出量却较大 高速主机与低速外围设备的矛盾突出,出现了操作系统、并发程序、数据库及其管理系统 20世纪60年代初提出了软件一词,开始认识到文档的重要性 研究高级程序设计语言、编译程序、操作系统、支持编程的工具及各种应用软件 工作方式逐步从个体方式转向合作方式 出现软件危机 1968年-至今 从软件工程出现到现在 硬件向巨型机和微型机二个方向发展,出现了计算机网络,软件方面提出了软件工程,出现了“计算机辅助软件工程”(CASE) 计算机的应用领域渗透到各个业务领域,出现了嵌入式应用,其特点是受制于它所嵌入的宿主系统 开发方式逐步由个体合作方式转向工程方式 软件工程方面的研究主要包括软件开发模型、软件开发方法及技术、软件工具与环境、软件过程、软件自动化系统等 软件方面研究以智能化、自动化、集成化、并行化、以及自然化为标志的软件开发新技术 软件危机 许多软件项目不能满足客户的要求 许多软件项目超出预算和时间安排 软件危机的表现 对软件开发成本和进度的估计常常很不正确 用户对“已完成的”软件系统不满意的现象经常发生 软件产品的质量往往靠不住 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统总成本中所占的比例逐年上升 软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势 软件危机的原因 软件是逻辑产品,开发进度、成本难以估计 缺乏或不完整、不一致的文档给维护带来困难 用户对软件需求的描述往往不够精确,有遗漏,有二义 软件开发人员对需求的理解与用户的本来愿望有差异 大型软件项目需多人协同完成,缺乏管理经验 开发人员不能有效地、独立自主地处理大型软件的全部关系 缺乏有力的方法学和工具的支持 软件项目的特殊性和人类智力的局限性 克服软件危机的途径 消除错误的概念和做法 推广使用成功的开发技术和方法 使用软件工具和软件工程支持环境 加强软件管理 软件的特点 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 软件的使用没有硬件那样的机械磨损和老化问题 其它特点: 软件的开发和运行常受到计算机硬件的限制,对计算机硬件有着不同程度的依赖性 软件的开发至今尚未完全实现自动化 软件成本相当昂贵 相当多的软件工作涉及到社会因素 软件的分类 系统软件:属于计算机系统中最靠近硬件的一层,其它软件一般都通过系统软件发挥作用,它与具体的应用领域无关。如操作系统、编译程序等。 支持软件:支持软件的开发和维护的软件。如数据库管理系统、网络软件、软件开发环境等。 应用软件:特定应用领域专用的软件。如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等。 按软件工作方式划分: 实时处理软件 分时软件 交互式软件 批处理软件 按软件服务对象的范围划分: 项目软件 产品软件 按使用的频度进行划分: 一次使用 频繁使用 按软件失效的影响进行划分: 高可靠性软件 一般可靠性软件 软件语言software language 软件语言是用于书写计算机软件的语言。 它主要包括: 需求定义语言 功能性语言 设计性语言 实现性语言(即程序设计语言)
文档评论(0)