- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程复习资料整理.
软件工程介绍软件工程的概念IEEE对软件工程的定义:(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。(2)在(1)中所述方法的研究。过程、方法和工具过程:为了获取高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。方法:各项任务的技术方法,回答“怎么做”的问题。工具:为运用方法而提供的自动或半自动的软件工程支撑环境软件工程层次图软件危机与软件工程的关系、产生的原因及其表现软件工程的提出:软件工程主要是针对20世纪60年代的软件危机而提出的软件危机定义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生软件危机的原因:客观原因:软件缺乏“可见性”,管理和控制其开发过程相对困难软件大多规模庞大,而复杂性随规模以指数速度上升主观原因:错误的认识和做法忽视软件需求分析的重要性—急于求成,仓促上阵认为软件开发就是写程序—编程只占全部工作量的10%--20%,软件配置主要包括程序、文档和数据轻视软件维护—维护费用占总费用的55%--70%软件神话一些错误认识管理神话:我们已经有了一本写满软件开发标准和规程的宝典。它无所不包,囊括了我们可能问到的所有问题如果我们未能按时完成计划,我们可以通过增加程序员人数而赶上进度如果将一个软件外包给另一家公司,则我们可以完全放手不管。用户神话:有了对项目目标的大概了解,便足以开始编写程序,我们可以在之后的项目开发过程中逐步了解细节。虽然项目需求不断变更,但是因为软件是弹性的,因此可以很容易地适应变化从业者神话:当我们完成程序并将其交付使用之后,我们的任务就完成了。直到程序开始运行,才能评估其质量对于一个成功的软件项目,可执行程序是惟一可交付的成果。软件工程将导致我们产生大量无用文档,并因此降低工作效率。第二章 过程模型掌握五个最基本的框架活动:将整个软件过程再进一步细分为各个相对独立的功能块,即过程框架。(以工作开展的时间为线索)。五个最基本的框架活动:沟通:与客户之间的交流与写作策划:为后续的软件工程工作制定计划建模:包括分析和设计构建:编码和测试部署:软件交付用户,用户对其进行评估并反馈意见。了解典型的普适性活动适用于任何一个框架活动:软件项目跟踪和控制;风险管理;软件质量保证;正式技术评审;测量;软件配置管理;可复用管理;工作产品的准备和生产了解什么是CMMI能力成熟度模型集成(CMMI),用于预测软件开发组织所开发的系统和软件工程能力(5个能力成熟等级)CMMI定义了每一个过程域的“特定目标”,以及达到该目标所需的“特定实践”。理解瀑布模型;增量模型;RAD模型;原型模型;螺旋模型;协同开发模型;基于构件模型;形式化方法模型;面向方面模型;统一过程适用范围、特点、优缺点瀑布模型:也称为线性模型或传统生存周期,V模型适用范围:通常发生在对一个已有系统进行明确定义的适应性调整和增强的时候对于一个新的项目,需求必须是准确定义和相对稳定的线性顺序模型特点:阶段间的顺序性和依赖性;文档驱动性;严格阶段评估;开发初期需要清楚全部需求;开发周期长、风险大。瀑布模型的缺点:顺序太严格。实际工作经常是在多个环节之间来回反馈调整,而不是将一个环节完成后再继续前进。产品在最后阶段才与客户见面,从心里学的角度讲有些考验客户。另外,如果此时才发现问题,需要改正,工作量将会很大。效率可能不高。瀑布模型的优点:它提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以在该摸板下有一个共同的指导。虽然有不少缺陷但比在软件开发中随意的状态要好得多。增量模型:以迭代方式运用瀑布模型。特点:一般来讲,最重要的增量放在前面。每次交付的增量产品都是可用的。适合于功能可以划分,而且时间不紧迫的情况。可以规避一定的风险。如有些技术还不稳定,将这部分放到后边。RAD模型:快速应用程序开发(Rapid Application Development,RAD)是一种侧重于短暂的开发周期的增量软件模型。瀑布模型的高速变体,通过基于构件的方法快速实现。适于工期紧张,又可细分功能,还要有合适的构件。缺点:需要投入更多的人力。各团队要紧密协作。只适应于特殊的系统,必须可以合理模块化。不适于高性能需求(若需调构件接口 )系统需求灵活,现有构件不容易轻易满足。技术风险很高的情况下,不宜采用该模型。演化过程模型:软件,类似于其他复杂的系统,会随着时间的推移而演化软件有技术能力的限制,时间的限制,认识理解的限制,其它客观因素的限制。演化模型也是一种迭代模型。包括:原型模型、螺旋模型、协同开发模型。原型是一个循环的过程,所以也是迭代的过程。原型模型:对原型的基本要求:体现主要的功能、提供基本的界面风格、展示比较模糊的部分,以便于确定或进一步明确,防患于未然。原型最好是可
文档评论(0)