文档介绍:软件工程复****提纲第1章 软件工程介绍 2软件是什么 2第2章 过程综述 2软件工程定义 2层次化 3通用过程框架 3第3章过程模型 4各种过程模型 4第4章敏捷视角下的过程 6敏捷宣言 6第5章系统工程 7第6章需求工程 8质量功能部署(QFD) 8分析模型的元素 11第7章构建分析模型 11第8章设计工程 11第9章进行体系结构设计 12体系结构风格的分类 12第10章构件级设计建模 13第11章完成用户界面设计 13黄金规则 13第12章软件测试策略 14软件测试需要计划和执行一系列的测试步骤 14第13章测试技术 15两个不同的测试用例设计技术 15第14章产品度量 15第1章 软件工程介绍软件是什么软件是形成配置的一组术语或对象,包括:程序(计算机程序):指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求数据结构:它使得程序可以充分利用信息文档:描述程序操作和使用的文档(图文资料)举例说明“意外效应法则”(lawofunintendedconsequences)在计算机软件方面的应用。某些新科技的发明创造会给其他一些看似无关的技术领域、商业企业、公众甚至整个社会文化带来深远而出人意料的影响和作用。如:用自己的语言描述保证通晓规律(TheLawofConservationofFamiliarity)、质量衰减规律(TheLawofDecliningQuality)以及组织稳定性守恒规律(anizationalStability)。保证通晓性规律(1980):随着E类型系统的演化,所有相关人员(如开发人员、销售人员和用户)都必须清楚地了解演化的内容和过程,以便达到满意的演化效果。质量衰减规律(1996):如果没有严格的维护和适应性调整使之适应运行环境的变化,E类型系统的质量有衰减的趋势。组织稳定性守恒规律(1980):一个不断演化的E类型系统,其组织在全球范围内的平均有效活动率在产品的生命周期中是保持不变的。在交付最终用户之前,或者第1个版本投入使用之后,许多应用程序都会有频繁的变更。为防止变更引起软件失效,请提出一些有效的解决措施。首先从心态上承认变化是必然的,我们可以通过在软件发布之前进行alpha,beta测试,利用迭代模式,在吸取测试过程中的经验之后,立刻改进软件。同时保持和用户的良好沟通,在提交用户时进行适当培训,让用户按照开发思路进行试用,可以见减少因使用方法不当引起的变化。第2章 过程综述软件工程定义软件工程是:(1)将系统化、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。(2)在(1)中所述的方法的研究。munication)策划(Planning)建模(Modeling)需求分析(Analysisofrequirements)设计(Design)构建(Construction)代码生成(Codegeneration)测试(Testing)部署(Deployment)重点:Baetjer说过“软件过程为用户和设计者之间、用户和开发工具之间以及设计者和开发工具之间提供交互的途径[技术]。”设计下面问题“⑴设计者应该问用户的;⑵用户应该问设计者的;⑶用户对将要构建的软件的自问;⑷设计者对于软件产品和建造该产品采取的软件过程的自问。(如何获取需求)为沟通活动设计一个任务集识别主要客户和其他共利益者与客户会谈环境无关的话题写一页项目范围评审范围说明讨论项目大致的阶段商定各个部门的代表,并使他们相互认识为计划活动做准备用自己的话描述过程框架。当我们谈到框架活动适用于所有的项目时,是否意味着对于不同规模和复杂度的项目,可应用相同的工作任务?请解释。过程框架定义了若干小的框架活动,为完整的软件开发过程建立的基础,这些框架活动可以广泛用于所有的软件开发项目,无论这些项目的复杂性和规模如何,此外,还包括一些适用于各个软件过程的普适性活动。虽然过程框架是普适性的,但是对于不同规模和复杂度的项目不能应用相同的工作任务。首先在软件开发的不同阶段,工作任务不同。其次不同的软件项目有不同的需求,有特殊的背景,找不到一种通用的工作任务。图2-1中,基于“质量关注点”指明了软件工程三个层次。这意味着在整个开发组织内采用质量管理活动,如“全面质量管理”。仔细研究,并列出全面质量管理活动中关键原则的大纲。过程模型各种过程模型惯例软件过程模型力图给软件开发带来秩序和结构。尽管每一传统过程模型都建议了一种不同的过程流,但均实现了同样的一组通用框架活动:沟通、计划、建模、构建和部署。瀑布模型建议线性流程的框架活动,与软件世界里当代软件开发实际(持续的变更、演化的系统、紧迫的开发时间)不符;但瀑布模型确实适用于需求定义清楚且稳定的软件开发;增量软件过程模型通过一系列的增量发布产生软件。RAD模型快速应用程序开