软件工程课件PPT格式课件下载.ppt
- 文档编号:13121360
- 上传时间:2022-10-05
- 格式:PPT
- 页数:476
- 大小:3.73MB
软件工程课件PPT格式课件下载.ppt
《软件工程课件PPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《软件工程课件PPT格式课件下载.ppt(476页珍藏版)》请在冰豆网上搜索。
程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列。
Main()inti,j;
/变量定义charStr10;
i=i+j;
/语句说明,ClassOrderStringnumber;
/属性Stringcustomer;
create()/方法,C语言程序,Java语言程序,软件工程概述,范型:
又称为科学基质,代表科学共同体成员所共有的信念、价值、技术手段的总称。
简单地说,范型是某一学科在一定时期内展开研究活动共有的基础和准则。
编程范型:
是指导和制约编程活动的范型,通常在编程语言中体现。
命令式编程范型面向对象的编程范型基于构件的编程范型面向服务的编程范型面向问题的编程范型其它范型,软件工程概述,命令式编程范型:
又称过程式编程范型,指用程序状态和改变程序状态的语句描述计算的编程范型。
命令式范型的典型语言包括:
依赖于计算机机器语言和汇编语言、独立于计算机的高级语言(如Fortran、Pascal和C等)。
内存(程序和数据),控制器,运算器,I/O,地址,数据,CPU,VonNeumann式计算机体系结构,命令式编程范型是对VonNeumann式计算机的顺序执行机制的直接抽象。
软件工程概述,面向对象的编程范型:
是指用封装了数据和对数据操作的对象以及对象之间的消息传递描述计算的编程范型。
Java、C#是典型的面向对象编程范型语言。
操作,对象,消息,面向对象编程范型的示意图,对象,对象,面向对象编程范型的3个基本特征:
封装、继承和多态。
软件工程概述,一个封装了多个对象的构件,构件的接口,构件:
模块化的、可部署、可替换的软件系统组成部分,它封装了内部的具体实现并对外提供一组接口。
基于构件的编程范型:
指以构件的创建,构件的管理以及复用已有的构件组装形成应用为基本活动的编程范型。
目前有代表性的构件规范有COM/DCOM、EJB和CORBA。
软件工程概述,服务1,服务2,服务3,服务4,异构系统的功能被封装为服务以方便复用,应用1(J2EE),应用2(.Net),应用3(Legacy),服务层,应用层,面向服务的编程范型:
指以服务的创建、服务的管理以及复用已有的服务组装形成应用为基本活动的编程范型。
面向服务的编程技术WebService、BPEL、SCA等。
服务:
是自治、开放、自描述、与实现无关的网络构件。
软件工程概述,面向问题的编程范型:
该编程范型不需要程序员指明程序实现过程,只需给出问题和输入数据,并指明输出的形式,就可以得到所需结果。
例如,数据库查询语言、报表语言、电路设计专用语言、人工智能语言(Prolog)等。
软件工程概述,文档:
软件开发活动的记录,主要供人们阅读,既可用于专业人员和用户之间的通信和交流,也可以用于软件开发过程的管理和运行阶段的维护。
文档的类型需求分析文档软件设计文档软件测试文档,软件工程概述,软件的类型系统软件:
计算机系统软件是计算机管理自身资源(如CPU、内存、外存、外设等),提高计算机使用效率并为计算机用户提供各种服务的基础软件。
例如,操作系统、数据库管理系统等。
实时软件:
监测、分析和控制现实世界发生的事件,能以足够快的速度对输入信息进行处理,并在规定的时间内作出反应的软件。
例如,各种设备运行监控软件等。
软件工程概述,嵌入式软件:
嵌入式计算机系统将计算机嵌入在某一系统之中,使之成为该系统的重要组成部分,控制该系统的运行,进而实现某一特定的物理过程。
用于嵌入计算机系统的软件称为嵌入式软件。
例如,航空航天系统、指挥系统、汽车控制系统等。
科学和工程计算机软件:
它们以数值算法为基础,对数值量进行处理和计算,主要用于科学和工程计算。
例如,数值天气预报、导弹计算、石油勘探、计算辅助设计(CAD)等。
软件工程概述,事务处理软件:
用于处理事务信息,特别是商务信息的计算机软件。
事务信息处理是软件最大的应用领域。
例如,工资管理系统、人事管理系统、企业资源计划系统(ERP)等。
人工智能软件:
支持计算机系统产生人类某些智能的软件。
它们求解复杂问题不是用传统的计算或分析方法,而是采用诸如基于规则的演绎推理技术和算法。
应用领域有专家系统、模式识别、自然语言理解、人工神经网络、程序验证、自动程序设计、机器人学等。
软件工程概述,CASE工具软件:
CASE工具软件一般为支撑软件生存周期中不同活动而研制,包括项目管理工具、需求分析工具、编程环境(编辑器、编译器、链接器和测试器于一体)、软件测试工具等。
其它软件:
软件工程概述,软件的特征软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
软件开发性质,如成本和进度等难以估计。
软件开发成功后,只需对原版进行复制。
软件不会老化。
软件在使用过程中维护比较复杂。
软件工程概述,什么是软件工程?
软件工程:
软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。
首次提出:
1968年,北大西洋公约组织在原西德召开计算机科学会议,由FritzBauer首次提出了“软件工程”的概念。
提出背景:
解决软件危机。
软件工程概述,软件危机:
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
两个主要问题:
如何开发软件,怎样满足对软件的日益增长的需求。
如何维护数量不断膨胀的已有软件。
软件工程概述,软件危机的主要表现对软件开发成本和进度的估计不准确用户不满意软件质量不高、可靠性差软件常常不可维护、错误难以改正缺乏适当的文档资料软件成本占系统总成本的比例逐年上升软件开发速度跟不上计算机发展速度,软件工程概述,产生软件危机的原因与软件本身的特点有关:
软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。
因此,管理和控制软件开发过程相当困难。
软件不易于维护软件维护通常意味着改正或修改原来的设计,客观上使软件较难维护。
软件不同于一般程序,它的规模大,不易于维护。
在软件开发过程中,或多或少地采用了错误的方法和技术。
对用户需求没有完整准确的认识,就匆忙着手编写程序。
软件工程概述,解决软件危机的途径技术措施使用更好的软件开发方法和开发工具组织管理措施软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
软件工程概述,软件工程的三要素,过程,方法,工具,软件工程,软件工程三要素,方法:
软件工程方法是完成软件工程项目的技术手段,它支持项目计划和估算、系统和软件需求分析、软件设计、编码、测试和维护。
软件工程概述,结构化程序设计,面向对象,分布式对象/系统,基于构件的开发,面向服务的计算,1970,1980,1990,2000,2010,软件开发方法的演化,软件工程概述,工具:
软件工程使用的工具是人类在开发软件的活动中智力和体力的扩展和延伸,它自动或半自动地支持软件的开发和管理、支持各种软件文档的生成。
过程:
软件工程中的过程贯穿于整个工程的各个环节,在这一过程中,管理人员应对软件开发的质量、进度、成本等进行评估、管理和控制,包括计划跟踪与控制、成本估算、人员的组织、质量保证、配置管理等。
软件工程概述,客户,发起系统,开发人员,客户,构建系统,使用系统,需要的资金,合同契约,需要,软件系统,客户(Customer):
是为将要开发的软件系统支付费用的公司、组织或个人。
开发人员(Developer):
是为客户构建软件系统的公司、组织或个人,其中包括任何协调并指导程序员和测试人员的管理人员。
用户(User):
是将实际使用系统的人,包括坐在终端前的人、提交数据的人和阅读输出的人。
软件工程中涉及到人员,软件工程概述,软件工程的目标-可修改性(modifiability):
容许对系统进行修改而不增加原系统的复杂性。
-有效性(efficiency):
指软件系统的时间和空间效率。
-可靠性(reliability):
能够防止因概念、设计和结构等方面的不完善造成软件系统失效,具有挽回因操作不当造成软件系统失效的能力。
软件工程概述,-可理解性(understandability):
系统具有清晰的结构,能直接反映问题的需求。
-可维护性(maintainability):
软件产品交付用户使用后,能够对它进行修改,以便改正潜在的错误和其它属性,使软件产品适应环境变化等方面工作的难易程度。
-可重用性(reusability):
是指软件可以在多种场合使用的程度。
软件工程概述,-可适应性(adaptability):
软件在不同系统约束条件下,使用户需求得到满足的难易程度。
-可移植性(portability):
软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。
-可追踪性(traceability):
根据软件需求对软件设计、程序进行正向追踪,或者根据程序、软件设计对软件需求进行逆向追踪的能力。
-可互操作性(interoperability):
多个软件元素相互通信并协同完成任务的能力。
软件工程概述,软件工程技术发展的一种途径,LINIX,UNIX,Windows,Fortran,Java,Application,屏蔽计算机硬件的异构性发展了操作系统,.Net/COM,J2EE/EJB,Webservice,屏蔽不同中间件之间的异构性发展了Web服务,Architectureframeworkdesignpattern,Supportsoftwaremiddleware,C/C+,屏蔽应用软件和开发平台之间的差异产生了体系结构/框架/设计模式,屏蔽操作系统之间和编程语言之间的异构性出现了支撑软件和中间件,软件工程概述,软件工程和计算机科学的区别?
计算机科学研究的是构成计算机和软件系统基础的有关理论和方法。
软件工程研究软件制作中的一些实际问题。
软件工程应以计算机科学理论作为基础。
软件工程是一门实践性比较强的学科。
对于实际、复杂的问题,计算机科学的经典理论不可能总是适用的,这时需要软件工程的方法来解决。
软件工程概述,软件工程和(计算机)系统工程有何区别?
系统:
系统是一组相互关联、能在一起工作从而达到某个目标的相关元素的集合。
计算机系统:
通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列。
计算机系统构成要素:
软件(Software)、硬件(Hardware)、人(People)、数据库(Database)、文档(Document)、过程(Procedure)。
软件工程概述,基于计算机的系统要素,软件工程概述,计算机系统工程:
是指与构造基于计算机系统有关的过程、方法和技术。
硬件工程软件工程人机交互工程数据库工程,软件工程概述,什么是软件过程(软件生存周期)?
软件生存周期:
软件从定义开始,经过开发、使用和维护直到最终退役
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课件