软工复习提纲.doc

软工复习提纲.doc

ID:55758287

大小:251.50 KB

页数:6页

时间:2020-06-06

软工复习提纲.doc_第1页
软工复习提纲.doc_第2页
软工复习提纲.doc_第3页
软工复习提纲.doc_第4页
软工复习提纲.doc_第5页
资源描述:

《软工复习提纲.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章一、软件定义:定义1:软件是计算机程序和程序说明文档的集合定义2:软件是包括程序、数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发,维护和使用有关的图文材料二、软件危机的定义:三、生命周期的概念:软件生存期是软件产品或系统一系列相关活动的全周期。从形成概念开始,经过研制,交付使用,在使用中不断增补修订,直到最后被淘汰,让位于新的软件产品的过程。对软件生存期的不同划分,形成了不同的软件生存期模型。软件生命期的主要阶段分析计划、需求分析、软件设计、程序编写、软件测试、运行维护四、CMM概念

2、五、软件过程模型特点1、瀑布模型在瀑布模型中,软件开发的各项活动严格按照线性方式进行强调文档的作用,并要求每个阶段都要仔细验证结构简单明了;历史较长、应用面广泛、为广大软件工作者所熟悉;已有与之配套的一组十分成熟的开发方法和丰富的支撑工具。线性过程太理想化,存在问题:确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是非常困难的各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果2、快速原型模型许多软件项目在开发早

3、期对软件需求的认识是模糊的、不确定的,因此软件很难一次开发成功。在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。3、原型模型优点能够处理模糊的需求,开发人员与用户可通过原型充分进行交流原型系统可用做培训环境有助于降低风险、降低总的开发费用,缩短开发时间缺点对于开发人员不熟悉的领域,演化模型可能误导开发者把系统的次要部分当作主要框架,作出不切题的原型原

4、型迭代不收敛于开发者预定的目标原型过快地收敛于需求集合,使得某些基本方面被忽视资源规划和管理比较困难,随时更新文档也会带来许多麻烦长期在原型环境下开发,只注意得到令人满意的原型,容易“遗忘”用户环境与实际客户环境之间的差别4、增量模型增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的“增量”版本,后一个版本是对前一版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征强调每一个增量都发布一个可运行的产品增量模型特别适用于:需求经常变化的软件开发市场急需而开发人员

5、和资金不能在设定的市场期限之前实现一个完善的产品的软件开发5、螺旋模型适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和客户对每个演化层出现的风险有所了解,继而做出应有的反映模型的使用需要具有相当丰富的风险评估经验和专门知识。如果项目风险较大,又未能及时发现,势必造成重大损失6、喷泉模型在面向对象方法中,提出了与瀑布模型相对应的喷泉模型,该模型的主要特点是认为软件生命周期的各个阶段是相互重叠和多次反复的体现迭代和无间隙特征迭代:各开发活动常常重复工作多次,相关的功能在每次迭代中随之加入演进的系统无间隙:开发活动之间不存在明显的边界六、敏捷软件开发思想

6、思考题一假设你公司的软件产品以开发实验型的新软件为主,用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名项目经理刚加入公司,你认为快速原型法对公司的软件开发更加优越,请向公司技术总监阐明你的理由答案:选用瀑布模型即可满足要求需求明确实现开平方功能的算法成熟功能简单,不必过多验证该产品属于抛弃型,不用考虑太多的可维护性思考题二假设开发一个软件,软件功能是将读入的浮点数开平方,所得到的结果应该精确到小数点后4位,一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件过程模型?理由是什么?答案:采用增量模型比较合适,理由:由于有严格的工期要求,应着重考虑

7、如何有助于加快开发进度。增量模型可以并行完成工作,能够加快进度旧版本软件相当于原型,通过收集用户反馈,较易确定新版本需求,没有必要专门再建立原型件工程师熟悉产品,经验丰富,胜任增量模型所需的技术水平软件受到广大用户的喜爱,今后可能会开发新的版本,因此软件体系结构应该设计成开放式,利于改进和扩充第二章可行性分析第三章1、什么是软件需求用户对目标软件系统在功能、行为、性能、设计约束等方面的期望IEEE的定义(1997年):用户解决问题或达到目标所需的条件或能力系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力反映以上两条的文档说明

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。