河北工业大学软件工程课件.ppt
- 文档编号:3180020
- 上传时间:2022-11-19
- 格式:PPT
- 页数:787
- 大小:15.44MB
河北工业大学软件工程课件.ppt
《河北工业大学软件工程课件.ppt》由会员分享,可在线阅读,更多相关《河北工业大学软件工程课件.ppt(787页珍藏版)》请在冰豆网上搜索。
软件工程软件工程1河北工业大学河北工业大学内容n软件工程主要的研究内容;软件工程主要的研究内容;n软件工程相关的几个关键问题;软件工程相关的几个关键问题;n职业与道德责任对软件工程的重要意义。
职业与道德责任对软件工程的重要意义。
软件工程软件工程2河北工业大学河北工业大学1软件工程的研究内容n几个与软件工程相关的现象(几个与软件工程相关的现象(11):
):
n几乎所有发达国家的经济发展在很大程度上都依赖软件几乎所有发达国家的经济发展在很大程度上都依赖软件产业的发展。
产业的发展。
n越来越多的系统由软件来控制,软件在生产生活中扮演越来越多的系统由软件来控制,软件在生产生活中扮演着越来越重要的角色。
着越来越重要的角色。
n在发达国家中软件在在发达国家中软件在GNPGNP中占有相当的比重。
中占有相当的比重。
n软件工程要考虑专业软件开发所需要的理论、方法和工具-工程技术问题软件工程软件工程3河北工业大学河北工业大学软件工程的研究内容n几个与软件工程相关的现象(几个与软件工程相关的现象(22):
):
n在计算机系统中软件成本通常占优在计算机系统中软件成本通常占优一台一台PCPC机中软机中软件成本早已超过硬件成本。
件成本早已超过硬件成本。
n在软件生命周期中用于维护的软件成本通常会大于在软件生命周期中用于维护的软件成本通常会大于开发成本开发成本-对于生命周期很长的软件系统,维护对于生命周期很长的软件系统,维护成本有时会达到开发成本的几倍。
成本有时会达到开发成本的几倍。
n软件工程要考虑如何有效的在软件开发中利用有限的成本资源-工程管理的问题软件工程软件工程4河北工业大学河北工业大学2软件工程相关的关键问题n什么是软件什么是软件?
n什么是软件工程什么是软件工程?
n什么是软件过程什么是软件过程?
n什么是软件过程模型什么是软件过程模型?
n什么是软件生命周期什么是软件生命周期?
n谁会参与软件工程谁会参与软件工程?
n什么是软件工程方法什么是软件工程方法?
软件工程软件工程5河北工业大学河北工业大学软件工程相关的关键问题n什么是什么是CASE(Computer-AidedSoftwareEngineering)n优良软件的属性是什么优良软件的属性是什么?
n什么是软件工程面临的主要问题什么是软件工程面临的主要问题?
软件工程软件工程6河北工业大学河北工业大学2.1什么是软件?
n软件的发展n早期阶段(20世纪50年代初-60年代中期)面向批处理、有限分布、自定义;n第二阶段(20世纪60年代中-70年代中期)多用户、实时、数据库、软件产品;n第三阶段(20世纪70年代中-80年代中后期)分布式系统、嵌入“智能”、硬件成本降低;n第四阶段(20世纪80年代中-至今)桌面系统、面向对象技术、专家系统、人工神经网络。
软件工程软件工程7河北工业大学河北工业大学2.1什么是软件?
n计算机程序计算机程序和和相关的文档相关的文档(如需求文档、设计模(如需求文档、设计模型和用户手册等)。
型和用户手册等)。
n软件包括:
软件包括:
能够提供客户所需功能与性能的能够提供客户所需功能与性能的计算机程计算机程序序;使程序能够适当的操作信息的使程序能够适当的操作信息的数据结构数据结构;用以描述程序开发过程及使用的用以描述程序开发过程及使用的文档文档。
软件工程软件工程8河北工业大学河北工业大学2.1什么是软件?
n软件产品可以为一个特定的用户设计开发,也可以为某一类通用的市场设计开发。
n软件产品可以分成:
n通用软件(GenericSoftware)n定制软件(BespokeSoftware)n一个新的软件并不一定是全新开发,可以由现有软件或可复用软件成分配置形成。
模糊软件工程软件工程9河北工业大学河北工业大学软件的特征软件是逻辑的而不是物理的;不是物理的;软件只有设计过程,不存在传统意义的制造过程;软件只有设计过程,不存在传统意义的制造过程;软件产品不存在软件产品不存在“磨损磨损”的问题;的问题;软件开发必须依赖硬件与操作系统;软件开发必须依赖硬件与操作系统;大多数软件是为定制全新开发的,而不是由现有大多数软件是为定制全新开发的,而不是由现有组件装配完成的。
组件装配完成的。
软件工程软件工程10河北工业大学河北工业大学软件危机软件危机软件危机指的是软件的发展过程中出现的一系列严重的问题,如开发效率低下、成本高、可维护性差。
出现于20世纪60年代后期。
例子:
例子:
来自于IBMConsultancyGroup的数据:
(Included24leadingcompanies)n55%软件项目成本超预算;n68%的项目不能按进度计划完成;n88%不得不进行大量的返工。
软件工程软件工程11河北工业大学河北工业大学是什么导致了软件项目的失败?
Factors%1.不完全的需求描述13.1%2.缺少用户参与12.4%3.资源的短缺10.6%4.不现实的期望9.9%5.行政支持的缺乏9.3%6.不断变化的需求8.7%7.缺乏合理的规划8.1%8.过短的生命周期7.5%9.缺乏科学的项目管理6.2%10.技术缺陷4.3%11.其它9.9%Source:
StandishGroup1995软件工程软件工程12河北工业大学河北工业大学2.2什么是软件工程?
n软件工程是涉及软件工程是涉及软件生产各个方面软件生产各个方面的一门的一门工程学工程学科科n软件工程涉及软件生命周期的各个方面,从软件软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。
需求的确定到软件退役。
n软件工程还涉及软件开发中的人为因素,如团队软件工程还涉及软件开发中的人为因素,如团队组织;经济因素,如成本估算;法律因素,如版组织;经济因素,如成本估算;法律因素,如版权保护。
权保护。
软件工程软件工程13河北工业大学河北工业大学n软件工程:
(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件;
(2)研究
(1)中的方法.IEEEIEE932.2什么是软件工程?
软件工程软件工程14河北工业大学河北工业大学2.2什么是软件工程?
n软件工程是一门旨在指导生产软件工程是一门旨在指导生产”无缺陷无缺陷”软件的学软件的学科,既指导如何生产能够科,既指导如何生产能够及时交付及时交付、成本不超预算成本不超预算并且并且满足用户需求满足用户需求的软件产品。
的软件产品。
n软件工程人员应该采用软件工程人员应该采用系统的系统的、有组织有组织的的工作方法,工作方法,并按照所并按照所要解决的问题要解决的问题、开发约束开发约束和和可用资源可用资源来选来选择适当的工具与技术。
择适当的工具与技术。
软件工程软件工程15河北工业大学河北工业大学2.3什么是软件过程?
n软件过程是指开发或制作软件产品的一系列活动软件过程是指开发或制作软件产品的一系列活动及其成果及其成果.n所有的软件过程中都包括四个基本活动所有的软件过程中都包括四个基本活动:
n描述描述(SpecificationSpecification)-系统应该提供的功能及其开发约束;n开发开发(DevelopmentDevelopment)-软件产品的生产过程;n有效性验证有效性验证(ValidationValidation)-检验软件产品是否满足了客户的需要;n进化进化(EvolutionEvolution)-按照用户的变更要求不断的改进软件。
软件工程软件工程16河北工业大学河北工业大学2.4什么是软件过程模型?
n软件过程模型是从一个特定的角度对软件过程的简化软件过程模型是从一个特定的角度对软件过程的简化描述。
描述。
n几种软件过程模型:
几种软件过程模型:
n工作流模型-sequenceofactivities;n数据流模型-informationflow;n角色/动作模型-whodoeswhat.n通用的软件过程模型:
通用的软件过程模型:
n瀑布模型;n进化式开发模型;n基于组件的软件工程(CBSE)。
软件工程软件工程17河北工业大学河北工业大学2.5什么是软件生命周期?
软件生命周期是软件过程的另一种形象描述,包括:
软件生命周期是软件过程的另一种形象描述,包括:
(1)
(1)需求定义需求定义Identifytheneedsoftheusersbyinterviewingthem.
(2)
(2)分析与描述分析与描述Describewhatthesoftwaresystemshoulddotomeettherequirements.(3)(3)设计设计Describehowthesystemshouldperformtherequiredtasks.软件工程软件工程18河北工业大学河北工业大学2.5什么是软件生命周期?
(4)(4)实现实现Programvariousmodulesofthesystem.(5)(5)集成(测试)集成(测试)Combinethemodulesandverifythatthewholesystemworkscorrectly.(6)(6)维护维护Maintaintheoperationofthesystem,removebugsastheyarediscovered.(7)(7)退役退役Migratetoanewsystem.软件工程软件工程19河北工业大学河北工业大学相对成本软件生命周期各阶段的相对成本Grady1994Maintenanceissoexpensiveamajoraspectofsoftwaredevelopmentconsistsoftechniques,tools,andpracticesthatleadtoareductioninmaintenancecost软件工程软件工程20河北工业大学河北工业大学2.6谁是软件工程的参与者?
软件工程软件工程21河北工业大学河北工业大学2.7什么是软件工程方法?
n软件工程方法是软件生命周期中使用的一整套技术方法的集合,包括系统模型描述、约束规则、设计建议和过程指南等组成元素。
n普遍采用的软件过程方法:
n结构化方法n面向对象方法软件工程软件工程22河北工业大学河北工业大学2.8什么是CASE(Computer-AidedSoftwareEngineering)?
nCASE是一些用于支持软件过程活动的自动化、半自动化的软件系统nCASE通常分为两个层次:
n高层(高端)CASE,用于支持软件过程早期的分析与设计,如报告生成器、符号编辑器;n低层(低端)CASE,用于支持后期的实现与测试,如代码生成器、调试器、测试用例生成器。
软件工程软件工程23河北工业大学河北工业大学2.9什么是优良软件的属性?
n优良的软件应能交付相应的功能与性能,而且优良的软件应能交付相应的功能与性能,而且应具有良好的可维护性、可依赖性、有效性和应具有良好的可维护性、可依赖性、有效性和可用性:
可用性:
n可维护性(可维护性(MaintainabilityMaintainability)n可依赖性(可依赖性(DependabilityDependability)n有效性(有效性(EfficiencyEfficiency)n可接受性(可接受性(AcceptabilityAcceptability)软件工程软件工程24河北工业大学河北工业大学2.10什么是软件工程面临的主要问题21世纪软件工程面临三大挑战:
n异构:
如何使软件在异构的平台与执行环境下构建与移植;n交付:
如何快速有效的交付软件产品;n信任:
如何提高软件的可信任程度。
IanSommervilleIanSommerville软件工程软件工程25河北工业大学河北工业大学3职业与道德责任n软件工程所涉及的不仅仅是技术应用,还包括许多职业与道德责任。
n软件工程师必须坚持正直诚实的行为准则。
n道德行为不仅仅是通过遵守法律来约束。
软件工程软件工程26河北工业大学河北工业大学职业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北 工业大学 软件工程 课件