版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章软件工程概述8/18/20231第一章软件工程概述8/5/20231目录1.1软件
1.1.1软件的概念 1.1.2软件的发展 1.1.3软件的特点
1.1.4软件的生产过程 1.1.5软件的分类1.2软件工程概念
1.2.1软件危机
1.2.2软件工程
1.2.3软件工程的原则1.3软件生存周期与软件开发模型
8/18/20232目录1.1软件8/5/202321.1软件软件的概念通常把各种不同功能的程序,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等称为软件。具体表现为:在运行中能够提供所希望的功能和性能的指令集使程序能够正确运行的数据结构描述程序研制过程及方法所用的文档8/18/202331.1软件软件的概念8/5/202331.1软件2.软件的发展经历4个阶段8/18/202341.1软件2.软件的发展8/5/20234Evolutionofsoftware
早期
第二阶段
面向批处理
多用户
有限的分布
实时
自定义软件
数据库
软件产品
19501960197019808/18/20235Evolutionofsoftware早期Evolutionofsoftware
早期
第二阶段第三阶段
面向批处理
多用户
分布式系统
有限的分布
实时
嵌入“智能”
自定义软件
数据库
低成本硬件
软件产品
消费者的影响
195019601970198019908/18/20236Evolutionofsoftware早期Evolutionofsoftware
早期
第二阶段第三阶段第四阶段
面向批处理
多用户
分布式系统
强大的桌面系统
有限的分布
实时
嵌入“智能”
面向对象技术
自定义软件
数据库
低成本硬件
专家系统
软件产品
消费者的影响
人工神经网络
并行计算
网络计算机1950196019701980199020058/18/20237Evolutionofsoftware早期1.1软件3.软件的特点软件是一个逻辑的而不是物理的产品。
软件具有与硬件不同的特点:软件是由开发或工程化而形成的,而不是传统意义上的制造产生的;软件不会“磨损”;大多数软件是自定义的,而不是通过已有构件组装的。维护不同.8/18/202381.1软件3.软件的特点8/5/202381.1软件4.软件生产过程应用系统8/18/202391.1软件4.软件生产过程应用8/5/202391.1.4软件生产过程应用构件提取车间应用构件库领域1领域2应用系统8/18/2023101.1.4软件生产过程应用构件应用领域领域应用8/5/21.1.4软件生产过程应用构件提取车间应用构件库构件生产车间领域1领域2应用系统12341基础构件,2功能构件3接口构件,4用户界面构件8/18/2023111.1.4软件生产过程应用构件应用构件生领域领域应用121.1.4软件生产过程应用构件提取车间应用构件库构件生产车间构件库组装车间领域1领域2应用系统...12341基础构件,2功能构件3接口构件,4用户界面构件8/18/2023121.1.4软件生产过程应用构件应用构件生构件库组装领域1.1.5软件的分类基于功能划分:基于软件工作方法划分:基于软件规模划分基于软件失效的影响划分基于软件服务对象划分8/18/2023131.1.5软件的分类基于功能划分:8/5/2023131.1.5软件的分类基于功能划分:系统软件:与计算机硬件紧密配合,使计算机各个不见与相关软件及数据协调高效工作的软件支撑软件:协助用户开发软件的工具性软件,包括帮助程序人员开发软件产品的工具和帮助管理人员控制开发软件的进程的工具应用软件:在特定领域内开发,为特定目的服务的一类软件。8/18/2023141.1.5软件的分类基于功能划分:8/5/2023141.1.5软件的分类基于软件工作方法划分:实时处理软件:在事件或数据产生时,立即处理,并及时反馈信号,控制需要检测和控制的过程的软件。分时软件:允许多个联机用户同时使用计算机,系统把处理机事件轮流分配给各联机拥护,使各用户都感到只是自己在使用计算机的软件。交互式软件:能实现人机通信的软件批处理软件:把一组输入作业或一批数据以成批处理的方式一次运行,按照顺序逐个处理的软件。8/18/2023151.1.5软件的分类基于软件工作方法划分:8/5/20231.1.5软件的分类基于软件规模划分微型软件:一个人在几天之内完成的、程序不超过500行语句且仅供个人专用的软件。小型软件:一个人在半年之内完成的2000行以内的程序。中型软件:5个人以内在一年多时间里完成的5000到5万行的程序。大型软件:5至10人在两年多的时间里完成的5万到10万行的程序甚大型软件:100至1000人参加,用4到5年的时间完成的具有100万行程序的软件项目。极大型软件:2000到5000人参加,10年内完成的1000万行以内的程序。8/18/2023161.1.5软件的分类基于软件规模划分8/5/2023161.1.5软件的分类基于软件失效的影响划分关键软件的特点:可靠性质量要求高常与完成重要功能的大系统的处理不见相联含有的程序可能对人员、公众、设备或设施的安全造成影响。还可能影响到环境的质量和关系到国家的安全和机密。8/18/2023171.1.5软件的分类基于软件失效的影响划分8/5/20231.1.5软件的分类基于软件服务对象划分定制软件:受某个特定客户的委托,由一个或多个软件开发机构在合同的约束下开发出来的软件。产品软件:由软件开发机构开发出来直接提供给时常,或是为千百个用户服务的软件。8/18/2023181.1.5软件的分类基于软件服务对象划分8/5/202311.2软件工程概念“软件工程”术语首次出现:1968年NATO会议软件工程方法:是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。8/18/2023191.2软件工程概念“软件工程”术语首次出现:1968年NA1.2.1软件危机软件危机:软件开发和维护过程中遇到的一系列严重问题8/18/2023201.2.1软件危机软件危机:8/5/2023201.2.1软件危机软件危机的主要特征软件开发周期大大超过规定日期;软件系统开发成本高,周期长,质量差,满足不了市场需求;软件质量无保证软件系统开发人员数量少,质量低.软件系统维护难度大.软件开发缺乏合适的工具和方法软件的版权问题得不到保证8/18/2023211.2.1软件危机软件危机的主要特征8/5/202321改正一个问题需付出的代价需求分析结构设计详细设计编码集成测试系统测试现场改正一个问题的估计费用改正一个问题估计的工作量20200200010005.02.50.050.5(美元)(人天)8/18/202322改正一个问题需付出的代价需结构设计详细设计编码集成测试系统测yet,SuccessHasn
tComeEasily31%53%16%Successfully(成功)Challenged(挑战)Canceled(失败)8/18/202323yet,SuccessHasntComeEasil软件成功的标准:用户在使用用户使用软件很容易做完要做的事失败的根本原因:
开发人员写出的软件达不到用户要求:
人的能力问题.当前技术发展问题系统平台问题8/18/202324软件成功的标准:用户在使用8/5/202324中国软件产业:挑战挑战:外国软件打入软件侵权行为软件开发投资力度不足软件人才结构不合理,缺乏高级系统 程序员和项目负责人。软件人员缺乏软件工程化的概念。8/18/202325中国软件产业:挑战挑战:8/5/2023251.2.2软件工程(softwareengineering)什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。软件工程为了经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则。8/18/2023261.2.2软件工程(softwareengineerin1.2.2软件工程(softwareengineering)软件工程一种层次化结构工具方法过程质量焦点Softwareengineeringlayers8/18/2023271.2.2软件工程(softwareengineerin1.2.2软件工程(softwareengineering)软件工程一种层次化结构质量焦点:支持软件工程的根基就在于对质量的关注。过程:软件工程的过程将技术层结合在一起,使计算机软件合理和及时开发出来。方法:涵盖一系列的任务:需求分析、设计、编程、测试和维护。工具:对过程、方法提供自动或半自动的支持。例CASE集成软件、硬件或一个软件工程数据库。8/18/2023281.2.2软件工程(softwareengineerin软件工程是一门交叉学科软件开发模型软件开发方法软件立项到终止的全过程软件开发工具软件开发环境计算机辅助软件工程(CASE)软件工程管理软件工程经济学?软件工程的主要研究内容8/18/202329软件工程是一门交叉学科软件开发模型?软8/5/202329软件工程框架可用性性性确正合算选取适宜的开发模型采用合适的设计方法提供高质量的工程支持重视软件工程的管理基本过程原则
目标过
程支持过程组织过程8/18/202330软件工程框架可用性性性确正合算选取适宜的开发模型采用合适的设“软件工程”课程的教学与实践(1)立足于系统的整体。(2)讲授系统分析、系统需求、系统设计、系统实现、系统测试及维护的理论和方法。(3)运用所学软件和技术构筑一理想的系统。与其它软件专业课的区别:8/18/202331“软件工程”课程的教学与实践(1)立足于系统的整体。与其它“软件工程”课程的教学与实践
对软件的认识:上升程序系统思维定式:上升程序员系统工程师(系统分析员)8/18/202332“软件工程”课程的教学与实践对软件的认识:8/5/2023系统分析员的地位用户分析员程序员8/18/202333系统分析员的地位用户分析员程序员8/5/202333“一个好的工业,应有一套良好的标准来配套”软件的工业化生产过程应具备的特点:明确的工作步骤详细具体的规范化文档明确的质量评价标准1.2.2软件工程(softwareengineering)8/18/202334“一个好的工业,应有一套良好的标准来配套”1.2.2软件工软件工程技术的两个明显特点:
强调规范化强调文档化1.2.2软件工程(softwareengineering)8/18/202335软件工程技术的两个明显特点:1.2.2软件工程(soft1.分解 基本思想:从时间上或规模上将一个复杂抽象问题分成若干较小的、相对独立的、容易求解的子问题,然后分别求解。例:软件瀑布模型、结构化分析方法、模块化设计等都运用了分解原则1.2.3软件工程的原则8/18/2023361.分解1.2.3软件工程的原则8/5/2023362.抽象和信息隐蔽 尽量将可变因素隐藏在一个模块内,将处理细节隐藏在下层,而将具体做什么抽象到上一层做简化,从而保证模块的独立性。1.2.3软件工程的原则8/18/2023372.抽象和信息隐蔽1.2.3软件工程的原则8/5/20233.一致性软件文件格式一致工作流程一致开发过程标准化、统一化1.2.3软件工程的原则8/18/2023383.一致性1.2.3软件工程的原则8/5/2023384.确定性软件开发过程要用确定的形式表达需求,表达的软件功能应该可预测。1.2.3软件工程的原则8/18/2023394.确定性1.2.3软件工程的原则8/5/2023391.3.1软件生存周期SoftwareLifeCycle软件产品或软件系统从提出、设计、投入使用到被淘汰的全过程。软件生存周期的阶段:问题定义可行性分析需求分析概要设计详细设计编码测试运行与维护8/18/2023401.3.1软件生存周期SoftwareLifeCy1.3.2软件开发模型软件开发模型是跨越整个软件生存周期的系统开发、运做、维护所实施的全部工作和任务的结构框架。8/18/2023411.3.2软件开发模型软件开发模型是跨越整个软件生存周期的1.3.2.1瀑布模型可行性研究与计划需求分析设计编码运行维护测试定义阶段开发阶段维护阶段8/18/2023421.3.2.1瀑布模型可行性研究与计划需求分析设计编码运行1.3.2.1瀑布模型特点阶段间具有顺序性和依赖性。推迟实现的观点。每个阶段必须完成规定的文档每个阶段结束前完成文档审查,及早改正错误。8/18/2023431.3.2.1瀑布模型特点8/5/2023431.3.2.2原型模型又称快速成型模型一般用于最终系统的早期用户评价,开发工期短,质量有保证8/18/2023441.3.2.2原型模型又称快速成型模型8/5/2023441.3.2.2原型模型听取用户意见建造/修改原型用户测试运行原型模型范型8/18/2023451.3.2.2原型模型听取用建造/修改用户测试模型范型8/原型化软件生存期模型系统需求分析定义生成原型系统设计程序设计编码测试运行和维护原型化含原型化的软件生存期原型化软件生存期模型系统需求生成系统程序编码测试运行原型1.3.2.2原型模型优点可以处理模糊需求原型模型系统可以作为培训环境,有利于用户培训给用户更改系统的机会可以降低系统开发风险易维护、友好开发费用降低、时间缩短8/18/2023471.3.2.2原型模型优点8/5/2023471.3.2.2原型模型缺点易把次要部分当作主要框架,作出原型不切题原型迭代可能不收敛。原型过快收敛,忽略了一些基本点资源规划和管理比较困难容易遗忘用户环境和原型环境的差异。8/18/2023481.3.2.2原型模型缺点8/5/2023481.3.2.3演化模型针对事先不能完整定义需求的软件开发开发过程(1)根据用户给出的待开发系统的核心需求,先开发出核心系统。(2)用户试用后,提出精化系统、增强系统能力的需求,开发人员实施开发的迭代过程。8/18/2023491.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 优待证合作协议文本
- 2025版土地抵押权抵押权抵押权抵押资产证券化合同模板3篇
- 2025年度智能家居系统研发与装修设计合同2篇
- 2025年全球及中国1-戊基-1H-吲哚行业头部企业市场占有率及排名调研报告
- 2025年全球及中国汽车双面胶带行业头部企业市场占有率及排名调研报告
- 2025年全球及中国流媒体音视频产品行业头部企业市场占有率及排名调研报告
- 2025-2030全球船底喷气推进系统行业调研及趋势分析报告
- 2025年全球及中国游戏设计服务行业头部企业市场占有率及排名调研报告
- 2025年度股权代持与风险控制协议书(个人股权转让与代持)4篇
- 2025年度大学学生心理健康服务合作协议
- 2025届厦门高三1月质检期末联考数学答案
- 音乐作品录制许可
- 江苏省无锡市2023-2024学年高三上学期期终教学质量调研测试语文试题(解析版)
- 拉萨市2025届高三第一次联考(一模)英语试卷(含答案解析)
- 开题报告:AIGC背景下大学英语教学设计重构研究
- 师德标兵先进事迹材料师德标兵个人主要事迹
- 连锁商务酒店述职报告
- 石油化工企业环境保护管理制度预案
- 2024年山东省烟台市初中学业水平考试地理试卷含答案
- 《实践论》(原文)毛泽东
- 抗肿瘤治疗所致恶心呕吐护理
评论
0/150
提交评论