版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程知识点第一章软件工程学概述1、软件工程是一门新兴的边缘学科,涉及的学科多,研究的范围广,研究的主要内容有以下几方面:软件开发方法、技术软件管理技术2、软件危机(软件萧条、软件困扰):是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。实际上,几乎所有软件都不同程度地存在这些问题。软件危机包含下述两方面的问题:如何开发软件,满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。3、软件危机的典型表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。4、产生软件危机的原因(1).与软件本身的特点有关软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。软件不同于一般程序,它的一个显著特点是软件规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。(2).与软件开发与维护的方法不正确有关忽视软件需求分析的重要性。对用户要求没有完整准确的认识就匆忙着手编写程序。在软件开发的不同阶段进行修改需要付出的代价是很不相同的5、软件(Software)是计算机系统中与硬件相互依存的另一部分,包括程序(Program)、数据(Data)及其相关文档(Document)的完整集合。Software=Program+Data+Document程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。6、消除软件危机的途径(1)对计算机软件有正确的认识(2)认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。(3)推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。(4)开发和使用更好的软件工具。总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。*7、软件工程的本质特性:软件工程是关注于大型程序的构造;2)软件工程的中心课题是程序控制的复杂性;3)软件常随时态的发展而变化;4)提高软件的开发效率非常重要;5)协同合作是软件开发的关键;6)软件必须有效地支持它的相关用户;7)软件开发过程可理解为具有一种文化背景的人替代具有另一种文化背景的人创造产品8、软件工程的七条基本原理是软件开发过程所应遵循的最基本的原则,不能互相取代。1)用分阶段的生命周期计划严格管理;2)坚持进行阶段评审制度;3)实行严格的产品控制;4)采用现代程序设计技术;5)结果应能清楚地审查;6)开发小组的人员应该少而精;7)承认不断改进软件工程实践的必要性。9、软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。管理就是通过计划、组织和控制等一系列活动,合理配置和使用各种资源,以达到既定目标的过程。通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(Methodology),也称为范型(Paradigm)。10、软件工程方法学的3要素:方法、工具和过程。11、面向对象的方法=对象(属性与服务的封装)+分类+继承+通过消息的通讯12、面向对象方法学的优点:(1)面向对象方法学模拟了人类习惯的思维方式,使软件的开发方法与过程尽可能接近人类认识世界、解决问题的方法与过程。(2)面向对象方法学开发软件的过程,是一个主动地多次反复迭代的演化过程,保证了在各项开发活动之间的平滑过渡。(3)促进了软件重用和复用技术。13、软件生命周期:指软件从提出到最终被淘汰的整个存在期,包括三个时期、八个阶段。*14、软件生命周期每个阶段的基本任务(1)问题定义任务:问题是什么?通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告。经过讨论和必要的修改之后这份报告应该得到客户的确认。结果:关于系统规模和目标的报告书。(2)可行性研究任务:有可行的解吗?系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程。研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。结果:系统的高层逻辑模型(数据流图、成本效益分析)。可行性论证报告(立即进行/推迟进行/不能或不值得进行)。(3)需求分析任务:必须做什么?主要确定目标系统必须具备哪些功能。系统分析员必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。结果:系统的逻辑模型(数据流图、数据字典、简要的算法描述)。用规格说明书准确地记录对目标系统的需求。(4)总体设计任务:如何解决已提出的问题?设计出实现目标系统的几种可能的方案(低、中、高成本)。用适当的表达工具描述每种方案,分析优缺点,推荐一个最佳方案,制定出实现最佳方案的详细计划。设计程序的体系结构。结果:可能的解法(系统流程图、成本效益分析)。推荐的系统体系结构(层次图或结构图)。(5)详细设计任务:怎样具体实现该系统?详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。结果:每个模块的算法和数据结构(程序流程图、PAD图、N-S图等)。(6)编码和单元测试任务:得到正确的程序模块选取一种适当的高级程序设计语言(必要时用汇编语言),把详细设计的结果翻译成用选定的语言书写的程序;并且仔细测试编写出的每一个模块。结果:代码和测试报告。(7)综合测试任务:得到符合要求的软件通过集成测试、验收测试、现场测试、平行运行等方法对目标系统进一步测试检验。通过对软件测试结果的分析可以预测软件的可靠性;反之,根据对软件可靠性的要求,也可以决定测试和调试过程什么时候可以结束。结果:测试计划、详细测试方案以及实际测试结果。完整一致的软件配置。(8)软件维护任务:使系统持久地满足用户的需要改正性维护:诊断和改正在使用过程中发现的软件错误;适应性维护:修改软件以适应环境的变化;完善性维护:根据用户的要求改进或扩充软件;预防性维护:修改软件为将来的维护活动做准备。每一项维护活动实质上是经历了一次压缩和简化了的软件定义和开发的全过程。结果:完整准确的维护记录。(9)15、瀑布模型(WaterfallModel)瀑布模型的特点:阶段间具有顺序性和依赖性;推迟实现的观点;质量保证的观点。瀑布模型的优点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。瀑布模型的缺点:瀑布模型是由“文档驱动的”这个事实也是它的一个主要缺点。实际项目很少按照该模型给出的顺序进行;用户常常难以清楚地给出所有需求;用户必须有耐心,等到系统开发完成。*16、快速原型模型快速原型模型的特点:快速原型模型不带反馈环,软件产品的开发基本上是线性顺序进行的。快速原型的本质是“快速”。应该尽可能快地建造出原型系统,以加速软件开发过程,节约成本。*17、增量模型(IncrementalModel):增量模型的优点:人员分配灵活,刚开始不需投入大量人力资源。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品。增量模型的难点:软件体系结构必须是开放的。模型本身是自相矛盾的。整体——独立构件。不同的构件并行进行有可能加快工程进度,但是要冒无法集成到一起的风险。18、螺旋模型螺旋模型的优点:主要优势在于它是风险驱动的;对可选方案和约束条件的强调有利于对已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试或测试不足所带来的风险;维护只是模型的另一个周期,维护和开发之间没有本质区别。螺旋模型的缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。过多的迭代次数会增加开发成本,延迟提交时间。螺旋模型适用于:特别适用于庞大、复杂并具有高风险的系统。适用于内部开发的大规模软件项目。19、喷泉模型喷泉模型的优点:该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。多次反复地增加或明确目标系统,而不是本质性的改动,降低了错误的可能性。喷泉模型的缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,不利于项目的管理。要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。喷泉模型适用于:适用于面向对象的软件开发过程。20、基于构件的开发模型:支持软件复用。利用预先包装好的软件构件来构造应用系统。21、UML的用例图22、RUP软件开发生命周期(二维):23、极限编程(eXtremeProgramming,XP):敏捷过程中最富盛名的一个;广泛适用于需求模糊且经常改变的场合;使得敏捷过程能够较好地适应商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束24
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年高校博士研究生教师职务聘任合同范本3篇
- 二零二五年度跨境电子商务代理销售合同6篇
- 二零二五年空压机行业市场推广与销售合同3篇
- 二零二五年度储煤场煤炭储备与智能物流服务合同3篇
- 2024版土地贷款反担保合同范本3篇
- 二零二五年度特殊环境搬迁及环保措施合同3篇
- 二零二五版跨境担保居间交易合同细则2篇
- 展会国际物流合同(2篇)
- 二零二五版代驾服务租赁合同范本(含车辆使用限制条款)2篇
- 二零二五版快递驾驶员职业发展规划与聘用合同3篇
- 公共政策分析 课件 第8章政策评估;第9章政策监控
- 人教版八年级上学期物理期末复习(压轴60题40大考点)
- 企业环保知识培训课件
- 2024年度管理评审报告
- 暨南大学《微观经济学》2023-2024学年第一学期期末试卷
- 医药销售合规培训
- DB51-T 5038-2018 四川省地面工程施工工艺标准
- 三年级数学(上)计算题专项练习附答案
- GB/T 12723-2024单位产品能源消耗限额编制通则
- 2024年广东省深圳市中考英语试题含解析
- GB/T 16288-2024塑料制品的标志
评论
0/150
提交评论