- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 软件工程
第一部分 阅读和翻译
A部分 软件工程
1. 简介
软件工程是运用一种系统的、遵守规定的、可以计量的方法的应用程序,并以此进行开发、操作和维护的软件。它包含技术和程序,通常受一个软件开发过程的管制,目的是提升软件系统的可靠性和可维护性。(1)对于可能包含数百万行代码的系统所具有的潜在的复杂性来说这一努力是有必要的。
在1968年举办的NATO软件工程会议上由Brian Randell确定,软件工程的周期并由F.L. Bauer推广。软件工程学科包括关于软件需求、软件设计、软件架构、软件测试和软件维护任务得知识、工具和方法。(2)软件工程是和计算机科学、计算机工厂管理、熟悉、项目管理、质量管理、软件生物工程学和系统工程学相关的学科。
2. 历史
软件工程有个很长的发展历史。使用的工具和编写的应用软件都随着时间不断发展。看上去似乎软件工程在接下来的数十年里还将继续发展下去。
(1)60时间线
二十世纪40年代:第一批计算机用户手写机器语言。
二十世纪50年代:早期工具,如宏汇编程序和翻译程序发明并被广泛应用于提升生产力和质量。
二十世纪60年代:第二代工具,如优化编译器和检查程序被用来提升省查理和质量。软件工程的概念被广泛地讨论。第一个大规模(1000个程序员)项目,商务大型计算机和应用于大型贸易的关税软件出现。关于软件工程的具有重大影响力的NATO会议在1968年召开。
二十世纪70年代:协作软件工具如Unix、代码库、make等。小型计算机和小型商务软件不断增加。
二十世纪80年代:个人计算机和个人工作站变得常见。消费类软件快速增加。另提一下:第一台商务OOP语言平台是基于UI的,有内存管理,基于图像的VM,原版或增强版VM Image based,scripted/incremental 。
二十世纪90年代:面向对象编程和诸如极限编程的敏捷过程获得了广泛的认可。计算机存储容量飞速提升和价格大幅度下降。这些技术使得软件可以开发的更加复杂。万维网和掌上计算机使得软件得到了更加广泛的应用。
二十一世纪初:管理代码和解释平台如Java、.NET、Ruby、Python和PHP使得编写软件比起以往任何时候都更加简单。离岸外包改变了软件工程职业的性质和中心。
(2)现代软件工程的趋势
软件工程是一门新兴的学科,并且还在不断发展之中。软件工程的发展方向有:
Aspects通过提供工具来添加或删除来自于源代码很多地方的样板文件代码来帮助软件工程师处理质量品质问题。[1] Aspects描述了在特殊情况下所有的对象或功能应表现何种行为。举例来说,aspects可以调适、记入日志logging或对所有特殊类型的对象锁控制。研究人员目前正在研究以了解如何使用aspects来设计通用代码。相关的概念包括生成编程和模板。
灵活的开发软件指导软件开发项目以迅速适应不断改变的期望和竞争性市场。这个方法的支持者认为繁重的、文档驱动的过程(如TickIT、CMM和ISO9000)正在失去其重要性。有些人认为公司和机构将许多可以由重量级过程管理指导工作外包了出去。相关的概念包括极限编程和精益软件开发。
实验软件工程是软件工程的一个分支,它专注于用软件设计进行实验并从实验中搜集数据,然后根据这个数据得出规律和结论。这个方法的支持者主张软件的性质就应该是只有通过实验才能增长关于软件得知识。
模型驱动设计开发文字和图形模型作为主要设计产品。开发工具可以用来通过模型转换和代码生成来产生组织良好的代码段,从而为生产完整的应用程序打下良好的基础。[2]
软件生产线上是一个生产成系列的软件系统的体系方法,用这个方法可以取代生产一堆完全独立的产品。这个方法强调可扩展性、系统性、模块代码重复使用,从而试图使软件开发过程工业化。
软件工程未来会议(FOSE)在ICSE2000会议期间举办,会议上展示了2000年在SE领域的技术发展水平并列出了在接下来的十年时间里亟待解决的问题。FOSE会议在ICSE2000上完美闭幕,而在ICSE2007会议上还将帮助确认软件工程的技术发展水平。
B部分 软件开发过程
1. 简介
软件开发过程是一个施加在软件产品开发过程的结构。表示相同含义的还有软件生命周期和软件过程。这一过程有着多个模型,每个模型描述代表软件过程中发生的不同任务和活动。
2. 软件工程过程活动/步骤
软件工程过程由一下多个主要的活动组成:
(1)需求分析
提取需求是开发一个软件产品最重要的任务。消费者很确定地知道他们想要什么,但是却不知道软件要做什么,于是提供给熟练富有经验的软件工程师的需求常常是不完善,不明确甚至是自相矛盾的。整个系统的服务、限制和目的是建立在和系统用户相协商之后并在一定程度上定义为用户和开发人员都能来理解的程度。这一阶段
您可能关注的文档
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 4.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 5.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 6.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 7.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 8.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 9.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 11.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 12.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 13.ppt
- 计算机英语教程 第二版 教学课件 作者 司爱侠 张强华 unit 14.ppt
最近下载
- 那一刻,我心中春暖花开中考高分作文进阶指导(范文+指引).doc
- AQ 1045-2007煤尘爆炸性鉴定规范.pdf
- 2024年围绕“六项纪律”(政治纪律组织纪律廉洁纪律群众纪律工作纪律生活纪律)交流研讨发言稿2篇.docx
- 2021-2022学年六年级下学期数学《正比例与反比例》单元分层作业(同步练习).docx
- 地下工程防水技术规范.docx
- 2024年湖北省中考地理+生物试题卷(含答案).docx
- 浙江省宁波市部分学校联考2023-2024学年新高一入学分班英语测试 Word版无答案.docx VIP
- 【审定稿】医疗器械进货检查验收制度10.doc
- 地质灾害精细化调查总体思路和要点-祝传兵.pdf
- 建筑电气施工规范.doc
文档评论(0)