




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程-原理、方法与应用,2,引言课程介绍,为什么要学习软件工程软件工程的主要内容课程主要内容软件工程的课程特点学时及考核方式,3,为什么要学习软件工程,软件工程是计算机学科中一个年轻并且充满活力的研究领域。自20世纪60年代末期,人们为克服“软件危机”在这一领域做了大量工作,逐渐形成了系统的软件开发理论、技术和方法,它们在软件开发实践中发挥了重要作用。今天,现代科学技术将人类带入了信息社会,计算机软件扮演着十分重要的角色,软件工程已成为信息社会高技术竞争的关键领域之一。软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它。,4,软件工程的主要内容,方法与技术:软件开发方法主要讨论软件开发的各种方法及其工作模型。同时讨论具体实现的技术;工具及环境:软件工具为软件工程方法提供了支持,研究计算机辅助软件工程CASE,建立软件工程环境;管理技术:软件工程管理是指对软件工程全过程的控制和管理,包括计划安排、成本估算、项目管理和软件质量管理;标准与规范:软件工程标准化与规范化,使得各层工作有章可循,以保证软件生产率和软件质量的提高。,5,讲授主要内容,概述软件开发模型软件需求分析传统设计方法面向对象设计方法编码和语言选择软件测试,软件复用软件维护软件项目计划软件工程管理软件质量管理软件工程环境,6,软件工程的课程特点,学科理论及其知识应用的多维性浓厚的方法学色彩实践性、指导性强工程化,7,学科理论及其知识应用的多维性,软件工程是集工程科学、计算机科学、数学和管理科学等理论和知识于一身,并将其应用到软件开发实践的一门学科。工程科学:制定规范、设计模型、评估成本及确定权衡;计算机科学和数学:构造模型与算法;管理科学:计划、资源、质量和成本的管理因此,支持软件工程的基础学科理论及其知识的运用是多方面的。从这一意义上说,软件工程也是综合性、交叉性的学科。,8,浓厚的方法学色彩,作为软件工程的要素之一,软件工程方法学不仅是课程学习的主要内容,而且贯穿到软件开发活动的全过程之中。方法是完成软件开发各项任务的一整套技术的集合,从软件分析、设计、实现、维护到软件项目管理,无处不体现方法的运用。只有当这些方法在实践中不断得到完善和发展时,软件工程才会成为一种普遍使用的规范。目前使用最广泛的软件工程方法学是传统方法学和面向对象方法学,二者特点鲜明,内涵丰富,是软件工程中最具指导性的技术组成部分。,9,实践性、指导性强,软件工程的目标、原则和方法都是从软件开发的实践中总结出来并不断发展而形成的,它们对软件开发有着广泛和现实的指导意义。软件开发过程中的问题都会在软件工程中给予讨论和解决,许多原则和方法甚至是非常具体和易于操作的。因此,软件工程是一门实践性和指导性很强的工程应用学科。,10,工程化,普通工程学的知识在软件工程中得到充分的体现。工程规划、模型设计、项目的组织和管理、质量控制等都已经规范化和标准化。一个软件从设计、生产、实施到维护,经历的就是一个工程项目的执行过程。所以说,掌握软件工程的工程化特点,学会用工程的观点和方法去指导软件开发的实践,是学好软件工程的要领之一。,11,学时及考核方式,64课时=48理论课时+16实践课时总成绩=30%平时成绩+70%考试成绩平时成绩包括:独立作业、小组作业以及考勤,12,第一章绪论,本章介绍软件和软件工程的基本概念软件与软件危机软件工程学的范畴软件工程的发展软件工程的具体应用,13,1.1软件与软件危机,软件的定义软件的特征软件危机,14,1.1.1软件的定义,1、软件的发展体系结构主机结构文件服务器结构客户/服务器系统服务器/浏览器结构编码语言机器代码汇编代码高级程序语言人工智能语言开发工具分离的开发工具集成的可视化开发系统简单的命令行调试器方便的多功能的调试器,15,2、软件定义软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需的数据,以及有关描述程序操作和使用的文档。软件=程序+数据+文档程序:为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列数据:使程序正常执行所需、能正常操纵信息的数据结构文档:与程序开发、维护和使用有关的图文材料,16,1.1.2软件的特征,软件是一种逻辑实体,不是具体的物理实体;软件产品的生产主要是研制;软件具有复杂性;软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式;软件不存在磨损和老化问题,但存在退化问题;软件通常是针对特定的应用而设计的,需要花费大量的资源进行项目规划与需求分析,开发周期较长,成本和进度很难估计。,17,软件与硬件的对比,软件开发不同于硬件设计软件更依赖于人,成本很难估算,人力占产品成本的大部分;硬件设计与人的关系相对小一些,智力成本占产品成本的一小部分。软件生产不同于硬件制造软件成为产品后,制造只是简单的拷贝;硬件的制造是一个复杂的过程,仍可能引入质量问题。软件维护不同于硬件维修,18,1.1.3软件危机,软件开发的发展过程,计算机应用发展,19,硬件/软件成本变化趋势,100%,1955,1970,1985,20,维护软件的代价是巨大的:修改程序困难,抽调大量人员,影响其他软件开发等。越晚发现错误,改正的成本就越高(因此强调重视需求)。,21,软件技术进步落后于需求增长,借用G.Booch的一个著名的比喻:“开发一个复杂的软件系统和编写一个简单程序大不一样。其间的差别,如同建造一座大厦和搭一个狗窝的差别。”,软件危机必定爆发,22,定义计算机软件的开发和维护过程所遇到的一系列严重问题。表现对软件开发成本和进度的估算很不准确;用户不满意;质量不可靠;没有适当的文档;软件成本比重上升;供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势。,23,软件危机产生原因,客观:软件本身特点逻辑部件规模庞大维护费用急剧上升生产技术进步缓慢主观:不正确的开发方法忽视需求分析错误认为:软件开发=程序编写轻视软件维护,24,软件危机的应对措施,借用G.Booch的一个著名的比喻:“开发一个复杂的软件系统和编写一个简单程序大不一样。其间的差别,如同建造一座大厦和搭一个狗窝的差别。”,软件危机必定爆发,需要软件工程来解决,但它解决不了所有问题,25,1.2软件工程学的范畴,软件开发方法学软件工具软件工程环境软件工程管理,26,软件工程的几个定义,1983年IEEE:软件工程是开发、运行、维护和修复软件的系统方法。Fairly:软件工程学是为了在成本限额以内完成开发和修改软件产品所需要的系统生产和维护技术及管理学科。FritzBauer:软件工程是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用的完善的工程化原则。1993年IEEE:软件工程是把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;研究中的提到的途径。,27,软件工程的中心思想,把软件当作一种工业产品,要求“采用工程化的原理与方法对软件进行计划、开发和维护”。,28,软件工程学包含的主要内容,软件开发技术软件开发方法学软件工具软件工程环境软件工程管理软件管理学软件经济学软件度量学,29,1.2.1软件开发方法学,软件的发展程序软件软件产品软件开发方法的发展结构化程序设计面向对象程序设计基于构件的软件开发,30,1.2.2软件工具,定义帮助开发软件的软件举例编译程序、编辑程序、连接程序、计算机操作系统,31,1.2.3软件工程环境,定义方法与工具相结合,再加上配套的软、硬件支持就形成软件工程环境。,32,1.2.4软件工程管理,目的为了按照进度及预算完成软件开发计划,实现预期的经济和社会效益。内容成本估算、进度安排、人员组织和质量保证涉及管理学、度量学和经济学等学科,33,1.3软件工程的发展,3种编程范式3代软件工程,34,3种编程范式,面向过程的编程范式程序=数据结构+算法认为程序由一组被动的数据和一组能动的过程所构成面向对象的编程范式程序=对象+消息优于面向过程的编程范式,35,帐户余额,利息结算,存款,取款,面向过程的编码语言,面向对象的编码语言,(程序与数据分离),(操作与数据统一为一个整体),36,可以有效地降低软件的复杂性,简化程序的开发;使因修改程序而引发软件故障的机会大大减少,令大型软件的维护更快、更简单。,面向对象编程范式的优点,37,3种编程范式,基于构件技术的编程范式构件可以理解为标准化的对象类,是一种通用的可支持不同应用程序的组件。是第二种范式的延伸,38,3代软件工程,传统软件工程以结构化程序设计为基础软件分析总体设计详细设计面向过程的编码测试面向对象软件工程以面向对象程序设计为基础软件分析与对象抽取对象详细设计面向对象的编码测试基于构件的软件工程以软件复用为目标、领域工程为基础领域分析和测试计划定制领域涉及建立可复用构件库查找与集成构件,39,1.4软件工程的应用,软件工程指导中小型软件软件工程指导大型软件软件工程的成就软件工程的局限,40,软件规模分类表,技术/方法/工具/管理,低,高,41,1.5导读,3代软件工程的关系软件工程技术与软件工程管理的关系形式化方法与非形式化方法的关系小程序设计与大程序设计的关系,42,3代软件工程的关系,面向对象软件工程已成为软件开发的主流范型,但传统软件工程的地位仍很重要原因在软件公司中仍在使用传统软件工程两类软件工程范型存在许多共同点,传统方法对面向对象方法仍有指导意义基于构件的软件工程是面向对象软件工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家长会老师英语发言稿(20篇)
- 运输公司加油车管理制度
- 面向水下装备的耐压型锂电池管理系统研究
- 高风险药物调配环节的安全监控
- 子宫肌瘤患者的护理干预查房
- 骨骼肌肉损伤患者的护理查房
- 2025年湖南省桃江县事业单位公开招聘辅警考试题带答案分析
- 2025年怒江州税务系统遴选面试真题带详解含答案
- 市场营销和管理课件
- 工程预算课件
- 污泥( 废水)运输服务方案(技术方案)
- 独立基础钢筋施工方案
- 公司微信群管理制度
- 如何进行高效沟通课件
- 2022年四川大学后勤保障部科级干部招聘4人笔试备考题库及答案解析
- 江西省龙南县渡坑萤石矿详查探矿权转采矿权出让收益评估报告
- 防灾科技学院学生学籍管理规定
- 南京市劳动人事争议调解仲裁申请书2023版
- 病人欠费催缴通知单
- 教练技术学习心得感想范文3篇(3篇)
- GB/T 9766.5-2016轮胎气门嘴试验方法第5部分:大芯腔气门嘴试验方法
评论
0/150
提交评论