软件工程课程设计幻灯片.ppt
《软件工程课程设计幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件工程课程设计幻灯片.ppt(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程课程设计第1页,共14页,编辑于2022年,星期三软件工程 软软件工程件工程件工程件工程是一是一门门研究用工程化方法构建和研究用工程化方法构建和维护维护有效的、有效的、实实用的和高用的和高质质量的量的软软件件的学科。的学科。它涉及到它涉及到程序程序程序程序设计语设计语言言言言、数据数据库库、软软件开件开发发工具工具、系系统统平台平台、标标准、准、设计设计模式模式模式模式等方面。等方面。软软件件应应用于多个方面。典型的用于多个方面。典型的软软件比如有件比如有电电子子邮邮件件、嵌入式系嵌入式系统统、人机界面人机界面人机界面人机界面、办办公包公包公包公包、操作系操作系统统、编译编译器器器器、
2、数据数据库库、游游戏戏等。同等。同时时,各个行各个行业业几乎都有几乎都有计计算机算机软软件的件的应应用,比如用,比如工工工工业业、农业农业、银银行行行行、航空航空、政府政府部部门门等。而等。而这这些些应应用促用促进进了了经济经济和社会的和社会的发发展,提高人展,提高人们们的工作效率,同的工作效率,同时时提升了生活提升了生活质质量。量。软软件工程件工程师师是是对应对应用用软软件件创创造造软软件的人件的人们们的的统统称,称,软软件工程件工程师师按按照所照所处处的的领领域不同可以分域不同可以分为为系系统统分析分析员员、软软件件设计师设计师、系系系系统统架构架构架构架构师师、程序程序员员、测试员测试员
3、等等。人等等。人们们也常常用程序也常常用程序员员来泛指各种来泛指各种软软件工件工程程师师。2022/10/72第2页,共14页,编辑于2022年,星期三软件工程的由来 鉴鉴于于软软件开件开发时发时所遭遇困境,所遭遇困境,北大西洋公北大西洋公北大西洋公北大西洋公约组织约组织(NATONATO)在)在19681968年年举办举办了首次了首次软软件工程学件工程学术术会会议议,并于会中提出,并于会中提出“软软件工程件工程”来来界定界定软软件开件开发发所需相关知所需相关知识识,并建,并建议议“软软件开件开发应该发应该是是类类似工似工程的活程的活动动”。软软件工程自件工程自19681968年正式提出至今,
4、年正式提出至今,这这段段时间时间累累积积了了大量的大量的研究研究成果,广泛地成果,广泛地进进行大量的技行大量的技术实术实践,借由践,借由学学学学术术界界界界和和产产业业界的共同努力,界的共同努力,软软件工程正逐件工程正逐渐发渐发展成展成为为一一门专业门专业学科学科学科学科。2022/10/73第3页,共14页,编辑于2022年,星期三软件工程的定义 创创立与使用健全的工程原立与使用健全的工程原则则,以便,以便经济经济地地获获得可靠且高效率的得可靠且高效率的软软件。件。应应用系用系统统化,遵从原化,遵从原则则,可被,可被计计量的方法来量的方法来发发展、操作及展、操作及维护软维护软件;也就件;也就
5、是把工程是把工程应应用到用到软软件上。件上。与开与开发发、管理及更新、管理及更新软软件件产产品有关的理品有关的理论论、方法及工具。、方法及工具。一种知一种知识识或学科(或学科(disciplinediscipline),目),目标标是生是生产产品品质质良好、准良好、准时时交交货货、符合、符合预预算,并算,并满满足用足用户户所需的所需的软软件。件。实际应实际应用科学知用科学知识识在在设计设计、建构、建构电脑电脑程序,与相伴而来所程序,与相伴而来所产产生的文件,以及后生的文件,以及后续续的的操作和操作和维护维护上。上。使用与系使用与系统统化生化生产产和和维护软维护软件件产产品有关之技品有关之技术术
6、与管理的知与管理的知识识,使,使软软件开件开发发与修与修改可在有限的改可在有限的时间时间与与费费用下用下进进行。行。建造由工程建造由工程师团队师团队所开所开发发之大型之大型软软件系件系统统有关的知有关的知识识学科。学科。对软对软件分析、件分析、设计设计、实实施及施及维护维护的一种系的一种系统统化方法。化方法。系系统统化地化地应应用工具和技用工具和技术术于开于开发发以以计计算机算机为为主的主的应应用。用。2022/10/74第4页,共14页,编辑于2022年,星期三软件工程的内核知识(SWEBOK)ACMACM 与与 IEEE Computer Society IEEE Computer Soc
7、iety 联联合修定的合修定的 SWEBOKSWEBOK(Software Engineering Software Engineering Body of KnowledgeBody of Knowledge)提到,)提到,软软件工程件工程领领域中的内核知域中的内核知识识包括:包括:软软件需求(件需求(Software requirementsSoftware requirements)软软件件设计设计(Software designSoftware design)软软件建构(件建构(Software constructionSoftware construction)软软件件件件测试测试(
8、Software testSoftware test)软软件件维护维护与更新(与更新(Software maintenanceSoftware maintenance)软软件构型管理(件构型管理(Software Configuration Management,SCMSoftware Configuration Management,SCM)软软件工程管理(件工程管理(Software Engineering ManagementSoftware Engineering Management)软软件开件开发过发过程(程(Software Development ProcessSoftware
9、 Development Process)软软件工程工具与方法(件工程工具与方法(Computer-Aided Software Engineering,CASEComputer-Aided Software Engineering,CASE)软软件品件品质质(Software QualitySoftware Quality)2022/10/75第5页,共14页,编辑于2022年,星期三软件工程与计算机科学 软软件的开件的开发发到底是一到底是一门门科学科学还还是一是一门门工程工程,这这是一个被争是一个被争论论了很了很久的久的问题问题。实际实际上,上,软软件开件开发发兼有两者的特点。但是兼有两者
10、的特点。但是这这并不意并不意味着它味着它们们可以被互相混淆。很多人可以被互相混淆。很多人认为软认为软件工程基于件工程基于计计算机科算机科学学和和信息科学信息科学信息科学信息科学就如就如传统传统意意义义上的工程学之于上的工程学之于物理物理和和化学化学一一样样。在。在美国,大美国,大约约40%40%的的软软件工程件工程师师具有具有计计算机科学的学位。在世界其他算机科学的学位。在世界其他地方,地方,这这个比例也差不多。他个比例也差不多。他们们并不一定会每天使用并不一定会每天使用计计算机科学算机科学方面的知方面的知识识,但是他,但是他们们每天都会使用每天都会使用软软件工程方面的知件工程方面的知识识。2
11、022/10/76第6页,共14页,编辑于2022年,星期三软件工程与计算机科学的差别软件工程与计算机科学的差别11软件工程软件工程计算机科学计算机科学目标在时间、资源、人员这3个主要限制条件下构建满足用户需求的软件系统。探索正确的计算和建模方法,从而改进计算方法本身。产品软件(比如办公包和编译器)。算法(比如希尔排序法)和抽象的问题(比如哲学家进餐问题)。进度与时间表软件项目都有特定的进度与时间表研究项目一般不具有设置的进度与时间表关注点软件工程关注如何为用户实现价值。软件理论关注的是软件本身运行的原理,比如时间复杂度,空间复杂度,和算法的正确性。变化程度随着技术和用户需求的不断变化,软件开
12、发人员必须时刻调整自己的开发以适应当前的需求。同时软件工程本身也处于不断的发展中。对于某一种特定问题的正确解决方法将永远不会改变。需要的其他知识相关领域的知识。数学。著名的探索者和教育家Barry Boehm,David Parnas,and Frederick P.Brooks。Edsger Dijkstra,高德纳,Robert Tarjan,Peter Slater,艾伦图灵,姚期智。著名的实践者John Backus,Dan Bricklin,蒂姆伯纳斯-李,林纳斯托瓦兹,理查德马修斯托曼。无。2022/10/77第7页,共14页,编辑于2022年,星期三软件工程与计算机程序设计 软软
13、件工程存在于各种件工程存在于各种应应用中,存在于用中,存在于软软件开件开发发的各个方面。的各个方面。而而程序程序设计设计通常包含了程序通常包含了程序设计设计和和编码编码的反复迭代的的反复迭代的过过程,它程,它是是软软件开件开发发的一个的一个阶阶段。段。软软件工程力件工程力图对软图对软件件项项目的各个方面作出指目的各个方面作出指导导,从,从软软件的可件的可行性分析直到行性分析直到软软件完成以后的件完成以后的维护维护工作。工作。软软件工程件工程认为软认为软件件开开发发与各种市与各种市场场活活动动密切相关。比如密切相关。比如软软件的件的销销售售,用,用户户培培训训,与之相关的与之相关的软软件和硬件安
14、装等。件和硬件安装等。软软件工程的方法学件工程的方法学认为认为一个一个独立的独立的程序程序员员不不应应当脱离当脱离团队团队而而进进行开行开发发,同,同时时程序的程序的编编写不写不能能够够脱离脱离软软件的需求,件的需求,设计设计,以及,以及客客户户的利益。的利益。软软件工程的件工程的发发展是展是计计算机程序算机程序设计设计工工业业化的体化的体现现。2022/10/78第8页,共14页,编辑于2022年,星期三软件危机 软软件工程的件工程的兴兴起要根源于起要根源于2020世世纪纪6060,7070和和8080年代的年代的软软件危机件危机。在那个。在那个时时代,很多的代,很多的软软件件最后都得到了一
15、个悲惨的最后都得到了一个悲惨的结结局。很多的局。很多的软软件件项项目开目开发时间发时间大大超出了大大超出了规规划的划的时间时间表。一些表。一些项项目目导导致了致了财产财产的流失,的流失,甚至某些甚至某些软软件件导导致了人致了人员伤员伤亡。同亡。同时软时软件开件开发发人人员员也也发现软发现软件开件开发发的的难难度越来越大。度越来越大。OS 360OS 360操作系操作系统统被被认为认为是一个典型的案例。到是一个典型的案例。到现现在在为为止,它仍然止,它仍然被使用在被使用在IBMIBM360360系列主机中。系列主机中。这这个个经历经历了数十年,极度复了数十年,极度复杂杂的的软软件件项项目甚目甚至
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 幻灯片
限制150内