- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程—理论与实践 史玉良 liangyus@sdu.edu.cn 本次课程内容 软件工程概述 课本介绍 Chapter1 Why Software Engineering? 软件工程概述 软件 软件概念 软件发展、特点 软件危机 软件危机 消除软件危机的途径 软件工程 软件工程定义 软件工程目的 软件工程学习目标 1、软件 软件概念: Software = Program + Data + Document 软件是计算机系统中与硬件相互依存的另一部分。 它包括程序(program)、相关数据(data)及其 说明文档(document)。 软件的发展 软件特征 软件是一种逻辑实体,而不是具体的物理实体; 软件的生产与硬件不同; 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 软件特征 软件的成本相当昂贵 软件特征 软件是一种逻辑实体,具有抽象性 软件没有明显的制造过程(不能工业化生产) 软件在使用过程中,没有磨损、老化的问题(当一个软件修改的费用难以接受时,就会被抛弃) 软件对硬件和环境有着不同程度的依赖性,软件可移植性差 软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低 软件是复杂的,而且以后会更加复杂 软件的成本相当昂贵,需投入大量、高强度的脑力劳动 大多数软件是自定的,而不是通过已有的构件组装而来的 软件工作牵涉到很多社会因素,如机构设置、体制和管理方式,以及人们的观念和心理等 软件发展趋势 遗留(legacy)软件将继续发挥作用; 软件应用范围将继续扩大,成为信息社会的基础设施; 网络化软件将是发展重点; 软件的可靠性与安全性日趋重要; 工业化生产是必由之路。 2、软件危机 2、软件危机 2、软件危机 软件危机主要有以下表现: 对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际进度比预定计划一再拖延的现象屡屡发生。 用户对“已完成”系统不满意的现象经常发生。 软件产品的质量往往靠不住,Bug一大堆,Patch一个接一个。 软件的可维护程度非常之低。 软件通常没有适当的文档资料。 软件的成本不断提高。 软件开发生产率的提高赶不上硬件的发展和人们需求的增长。 软件危机的原因 ● 一方面是与软件本身的特点有关 ● 另一方面是由软件开发和维护的方法不正确有关 软件开发工作量分配比例 费用分配比例 消除软件危机的途径 对计算机软件有一个正确的认识 (软件≠程序) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。 推广使用在实践中总结出来的开发软件的成功技术和方法。 开发和使用更好的软件工具。 3、软件工程 工程 软件工程定义(1) The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines.(1968- Fritz Bauer) 软件工程就是为了经济地获得可靠的且能在实际机器上高效运行的软件,而建立和使用完善的工程原理。 软件工程定义(2) Software engineering. (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).(IEEE Std 610-1990.) 软件工程是: (1)把系统的、规范的、 可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; (2)研究(1)中提到的途径。 Software engineering (3) SEI software engineering definition from 1990 SEI Report on Undergraduate Software Engineering Education (CMU/SEI-90-TR-003): Engineering is the systematic application of scientific knowledge in creating and building
文档评论(0)