欢迎来到天天文库
浏览记录
ID:13459295
大小:403.00 KB
页数:10页
时间:2018-07-22
《软件工程考点汇总》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、概论计算机软件:计算机软件指计算机系统中的程序及其文档。软件危机指在计算机软件的开发和维护过程中遇到的一系列严重问题。表现:软件成本日益增长、开发进度难以控制、软件质量差、软件维护困难。原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高软件的特点:l软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。l软件是被开发或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。l软件的使用没有那样的机械磨损和老化问题。但是软件会因为维护的过程
2、中修改程序而造成副作用从而使故障率升高。l软件的开发常受到计算机的限制,对计算机硬件有着不同程度的依赖性。l软件的开发至今尚未完全实现自动化。l软件成本相当昂贵。l相当多的软件工作涉及到社会因素。软件的分类:系统软件支持软件应用软件•按软件工作方式划分:§实时处理软件§分时软件§交互式软件§批处理软件•按软件服务对象的范围划分:§项目软件§产品软件•按使用的频度进行划分:§一次使用§频繁使用•按软件失效的影响进行划分:§高可靠性软件§一般可靠性软件软件语言:需求定义语言功能性语言设计性语言实现性语言(即程序设计
3、语言)文档语言软件工程的定义:FritzBauer:软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则IEEE:软件工程是(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;(2)(1)中所述方法的研究计算机科学技术百科全书:软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程软件生存周期:软件生存周期是指一个软件从立项、制造、测试、使用、维护到软件废止为止的一整个时期。计算机系统工程、需求分析、设计
4、、编码、测试、运行和维护。软件过程模型:1.瀑布模型:waterfallmodell接受上一阶段的活动的结果作为本阶段活动的输入。l依据上一阶段的活动的结果实话本阶段应该完成的活动。l对本阶段的活动进行评审。l将本阶段活动的结果作为输出,传递给下一阶段。2.演化模型:evolutionarymodell从构造初始的原型出发,逐步将其演化成最终软件产品的过程。l适用于对软件需求缺乏准确认识的情况。l典型的演化模型:增量模型、原型模型、螺旋模型3.增量模型:incrementalmodell将软件的开发过程公成若干
5、个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的“增量”版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,真至产生最终的完善产品。l融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征,强调每一次增量都发布一个可运行的产品。l适用于需求经常发生变化的软件开发。l可以有计划地管理技术风险。4.原型模型:prototypingmodel从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求,然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构
6、建原型。1.原型类型:a)探索型exploratoryprototyping原型的目的是要弄清目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。b)实验型experimentalprototyping原型的目的是验证方案或算法的合理性,是在大规模开发和实现前,用于考核方案是否合适,规格说明是否可靠。c)演化型evolutionaryprototyping原型的目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。2.原型使用策略:a)废弃策略主要用于探索型和实验型原型的
7、开发。b)追加策略主要用于演化型原型的开发。原型可作为单独的过程模型使用,也常被作为一种方法或实现技术应用于其他的过程模型中。5.螺旋模型:l将原型实现的迭代特征与瀑布模型中控制的和系统化的方面结合起来,不仅体现了这两种模型的优点,还增加了风险分析。l螺旋模型沿着螺线自内向外旋转(四个任务区域:制定计划,风险分析,工程实施,客户评估)1.喷泉模型:fountainmodel支持面向对象开发的过程模型。2.基于构件的开发模型:component-baseddevelopmentmodell利用预先包装的构件来构造
8、应用系统。l包括领域工程和应用系统工程两部分。领域工程:目的是构建领域模型、领域基准体系结构和可复用构件库。应用系统工程:目的是使用可复用构件组装应用系统。l基于构件的软件开发导致软件的复用。3.形式化方法模型:formalmethods建立在严格数学甚而上的一种软件开发方法。软件设计原则:1.抽象与逐步求精a)抽象(特殊到一般的过程)主要抽象手段有:过程抽象和数据抽象。b)逐步求精(
此文档下载收益归作者所有