ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:661.08KB ,
资源ID:11302358      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11302358.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程原理方法与应用第二版复习纲要.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程原理方法与应用第二版复习纲要.docx

1、软件工程原理方法与应用第二版复习纲要第一章:绪 论1、计算机软件定义:计算机运行所需要的各种程序和数据的总称,包括操作系统、汇编程序、编译程序、数据库、文字编辑及维护使用手册等。2、软件的特点 (1)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的。 (2)软件是一种逻辑产品,它与物质产品有很大的区别,它是脑力劳动的结晶。软件产品是看不见摸不着的,因而具有无形性。它以程序和文档的形式出现,保存在存储介质上,通过计算机的运行才能体现它的功能和作用。 (3)软件产品不会用坏,不存在磨损、消耗问题。 (4)软件产品的生产主要是研制。其成本主要体现在软件的开发和研制上,软

2、件开发研制完成后,通过复制就产生了大量软件产品。 (5)软件费用不断增加,软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本非常高。 3. 软件危机定义: 所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。包括: 1) 软件“不能正常运行”。 2)主要是指如何开发软件? 3)怎样满足对软件日益增长的需求? 4)如何维护数量不断膨胀的现有软件?4. 软件危机的原因 (1)软件的规模愈发庞大。(2)软件开发的管理困难。(3)软件本身的独有特点确实给开发和维护造成一些客观困难,但是人们在长期的实践中也积累了不少成功的经验。(4)软件开发和维护中许多

3、错误认识和方法的形成可以归结与计算机发展早期软件开发的个体化特点。(5)软件开发技术落后。(6)生产方式落后。(7)开发工具落后,生产率提高缓慢。5、软件工程的定义 将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。 6、软件工程的基本原理 1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采纳现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应少而精 7. 承认不断改进软件工程实践的必要性7、 软件工程的目标 在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用

4、性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。 8、 软件工程原则为了达到软件系统开发目标,在软件开发过程中必须遵循下列软件工程原则:抽象、信息隐藏、模块化、局部化、一致性、完整性和可验证性。 9、 软件的发展程序设计时代(19461956年)程序系统时代(19561968年)软件工程时代(1968年至今)10、3种编程范例与3代软件工程 1、过程式编程范例 20世纪5080年代 2、面向对象范例 90年代开始 3、基于构件(组件)技术的范例 OO的延伸和归宿第二章:基本理论1、软件工程过程瀑布模型、快速原型模型、增量模型、螺旋模型、构件集成模型、转换模型、净室模型2、

5、软件生命周期 定义:软件生命周期(Software Life Cycle),也称为软件生存周期,是软件工程最基础的概念。软件工程的方法、工具和管理都是以软件生命周期为基础的活动。换句话说,软件工程强调的是使用软件生命周期方法学和使用成熟的技术和方法来开发软件。 典型阶段:问题定义、可行性研究、需求分析、概要设计(总体设计)、详细设计、编码、测试和维护等八个阶段。3、软件生命周期模种类: 瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型、基于知识的模型和变换模型。瀑布模型的特点: 1)阶段间的顺序性和依赖性顺序性:由前至后依赖性:后依赖前2)推迟实现的观点逻辑设计和物理实现清楚区分3)保证质量的

6、观点文档和复审(瀑布模型的局限性 理想的线性开发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。 往往要进行返工,或者在运行中进行大量修改,代价巨大。同时,随着软件开发项目的规模日益扩大,瀑布模型缺乏灵活性的缺点引发的问题更为严重。)4、 软件开发方法1 结构化方法(结构化方法(Structure Method)是最早的、最传统的软件开发方法。结构化方法由结构化分析、结构化设计和结构化程序设计构成,也称Yourdon方法。它适用于一般数据处理系统,是一种较流行的软件开发方法。)2 面向对象的开发方法(面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系

7、统的软件开发方法。 )5、 可行性分析可行性研究的主要内容是对问题的定义,要初步确定问题的规模和目标,问题定义后,要导出系统的逻辑模型。然后从系统的逻辑模型出发,选择若干供选择的主要系统方案。(1)技术可行性研究。根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究实现系统的可行性。 (2)经济可行性研究。进行成本效益分析,评估项目的开发成本,估算开发成本是否会超过项目预期的全部利润。分析系统开发对其他产品或利润的影响。 (3)法律可行性研究。研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。 (4)开发方案的选择性研究。提出并评价实现系统的各种开

8、发方案,从中选出一种用于软件项目开发。第三章:结构化分析与设计1、需求分析 定义:需求分析是软件定义时期的最后一个阶段,其基本任务是回答“系统必须做什么”这个问题。对目标系统提出完整、准确的具体要求。 需求分析阶段结束时,要提交:详细的数据流图、数据字典和算法描述。2、需求分析的任务 需求分析的基本任务是要准确地理解旧系统,定义新系统的目标。 需求分析的任务还不是确定系统怎样完成它的工作,仅仅是确定系统要完成哪些工作,也就是对系统提出完整、准确、清晰、具体的要求。3、需求分析的方法 软件分析方法比较多,其中最有影响的是功能分解法、数据流法、信息建模法和面向对象的分析。4、 结构化分析方法结构化

9、分析、结构化设计和结构化程序设计。(,和)5、 结构化分析步骤建立现行系统的物理模型抽象出现行系统的逻辑模型建立目标系统的逻辑模型进一步补充和优化6、(会画)(元素) 数据流图(Data Flow Diagram,简称DFD)是结构化分析的最基本的工具。数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等。例: 数据流图只有四种基本符号元素:数据流(Data Flow)、数据处理(Process)、数据存储(Data Store)和外部实体(External Entity)。 :箭头,表示数据流。 :圆或椭圆,表示加工。 =:双杠,表示数据存储。 :方框,表示数据的源点或终

10、点。 7、结构化设计过程 总体设计和详细设计。8、 结构化设计总体设计软件系统结构设计数据结构及数据库设计网络系统设计软件总体设计文档评审9、 模块的耦合耦合(Coupling)表示软件结构内不同模块彼此之间相互依赖(连接)的紧密程度,是衡量软件模块结构质量好坏的度量,是对模块独立性的直接衡量指标。 耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。 10、 模块的内聚内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。 11、 结构设计的一般准则 1. 模块独立性准则 2. 软件结构的形态特征准

11、则软件结构的深度、宽度、扇入及扇出应适当。 3. 模块的大小准则 4. 模块的接口准则12、 变换型数据流图 事务型数据流图13、 结构化设计方法转换的步骤:1)数据流图:把数据流图转换成软件结构图前,设计人员要参照规范说明书,仔或不合理之处,进行必要的修改。 2)确定数据流图类型:通常将系统的数据流图视为变换流。 3)找出变换中心:输入流是一条路径,经过这条路径数据从外部形式转换为内部形式。输出流则相反,从内部形式转换为外部形式。4)第一层分解:如果是变换流,要把数据流图映射为一种输入、变换、输出的特殊结构。 5)第二层分解:这一步的任务是把数据流图中的各个变换映射成为相应的模块。 细地研究

12、分析数据流图并参照数据字典,认真理解其中的有关元素,检查有无遗漏 6)根据优化准则对软件结构求精。7)描述模块功能、接口及全局数据结构。8)复查,如果有错,转步骤(2)修改完善,否则进入详细设计。 第四章:面向对象与UML1、 统一建模语言定义:统一建模语言(Unify Modeling Language,简称UML)是一种整合多种模型的语言,这种语言是用来描述软件系统的标准化、可视化及文件化。 UML具备以下三种结构: (1)静态对象结构(Static Object Structure)。看到同一时刻、同时发生的同步操作。 (2)动态行为(Dynamic Behavior)。 (3)系统部署

13、(System Deployment)2、 用例图构成参与者、用列、关联3、 五种视图、九种图用列视图、逻辑视图、进程视图、构件视图、部署视图;类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、部署图第五章:需求工程与需求分析1、软件需求的层次2、需求工程过程需求获取、需求建模、需求描述、需求验证3、需求获取技术:1)用户面谈;2)需求讨论会;3)问卷调查;4)现场考察;5)原型化方法;6)基于用例的方法。4、用例建模步骤:第六章:面向对象分析1、面向对象分析的主要任务:理解用户需求,分析,提取类和对象,建模。2、OOA的优点:1)同时加强对问题空间和软件系统的理解;2)改进交流3

14、)适应性较强;4)复用性较好;5)保持需求到设计的一致。3、面向对象分析过程分析类(实体类、边界类、控制类)例题:已知一个软件项目的记录,开发人员M=5人,其代码行数L=12.0KLOC,工作量E=24PM,成本S=168000美元,错误数N=30,文档页数Pd=360页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。 1)软件开发的生产率P为:P = L / E = 12.1103LOC / 24PM = 504 LOC/PM2)开发每行代码的平均成本C为:C = S / L = 168000美元 / 12000LOC=14美元/LOC3)代码出错率EQR为:EQR

15、 = N / L = 30个/12KLOC=2.5个/KLOC4)软件的文档率D为:D = Pd / L = 360页 / 12KLOC = 30页/ KLOC第七章:面向对象设计1、面向对象设计包括:系统设计和对象设计第八章:编码和测试1、编码(课本定义):编码俗称编程序。软件开发的最终目标,是产生能在计算机上执行的程序2、编码风格模块化、简单化、文档化、清晰化3、 错误类型逻辑错误、数据文档错误、算法错误4、 测试定义5、 测试活动单元测试集成测试系统测试(功能、性能、安全、验收、安装)6、测试方法黑盒测试:常用方法等价分类法、边界值法、错误猜测发白盒测试:(逻辑覆盖测试、循环测试、路径测

16、试)第九章:软件维护1、维护在一个软件产品交付使用后对其进行的修改,以纠正故障、改进其性能和其他属性,或使产品适应改变了的环境。2、维护类型完善性维护、适应性维护、纠错性维护、预防性维护3、维护副作用修改编码副作用、修改数据副作用、修改文档副作用第十一章:软件工程管理1、 项目管理2、 管理活动成本估算、风险分析、进度安排、人员管理3、 成本估算(方法) 自顶向下的估算方法 自底向上的估算法 差别估算法(模型)IBM模型、Putnam模型、COCOMO模型(Constructive Cost Model)4、 风险分析风险含义:在软件工程的环境中考虑时,风险的含义一是关心未来,风险是否会导致软

17、件项目失败;二是关心变化,在用户需求、开发技术、目标机器,以及所有其他与项目有关的实体中会发生的变化?三是必须解决选择问题:应当采用什么方法和工具,应当配备多少人力,在质量上强调到什么程度才满足要求?风险分析实际上是4个不同的活动:风险识别、风险估算、风险评价和风险驾驭5、 进度管理进度安排的图形方法:甘特图(Gantt Chart)是常用的多任务安排工具。用水平线段表示任务的工作阶段,用垂直线表示当前的执行情况;线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。网络图6、 人员管理主程序员制小组、民主制小组、层次式小组第十二章:软件质量管理1、 质量定义:

18、(1)软件产品具备满足给定需求的特性及特征的总体的能力。(2)软件拥有所期望的各种属性组合的程度。(3)用户认为软件满足他们综合期望的程度。(4)软件组合特性可以满足用户预期需求的程度。2、 质量管理:(度量) 客观性:如果不存在来自测试者对度量的主观影响,则度量是客观的。 可靠性:如果在重复度量中,在同样条件下达到相同的效果,则认为度量是可靠的。 适用性:如果度量结果能够明确地说明质量特性时,则可以说度量是适用的。 标准化:标准化是指必须有一个可以明确表示度量结果的标度,当这个可比较的标度存在时,度量被认为是达到标准化的。 可比较性:当某项度量与其他度量相关时,则度量具有可比较性。 经济性:

19、当度量是在低成本下进行时,它是经济的。度量的经济与否取决于度量过程的自动化程度和度量的数据量,使用工具可以大大改善软件度量的自动化水平。 有效性:有效形式是最难证明的。但是不说明度量标准是有效时,就不能客观的评价软件质量。(保证)软件质量保证原则 (1)尽可能做到质量特征的具体化及量化。 (2)要找出每个阶段的具体质量特征。 (3)针对具体产品和相应项目制定质量计划。 (4)检查质量测试结果。 (5)进行各种质量评审。 (6)优化的建设性的质量保证。 (7)尽早发现并改正错误和缺陷。 (8)集中进行质量保证。 (9)独立的质量测试。 (10)对所应用的软件质量保证措施的评价。 软件质量保证计划

20、: (1)软件质量保证计划的用途。 (2)参考文件。 (3)软件质量保证计划的管理。 (4)软件质量文档。 (5)标准、规范和约定。 (6)评审和审计。 (7)软件配置管理。 (8)存在的问题及修改的报告。 (9)软件工程。 (10)编码控制。 (11)其他内容。软件质量保证的措施: (1)制定计划和管理方面的质量保证措施。 (2)建设性的质量保证措施。 (3)分析的质量保证措施。 (4)心理学方面的质量保证措施。3、 度量模型:McCabe度量法 计算线性无关环路数:根据图论理论,一个强连通的有向图中线性无关环路个数计算公式如下: V(G)=e-n+1 其中:V(G):有向图G中的环路个数。、 e:G的弧的条数。、 n:G的节点数。 Halstead软件复杂性度量方法4、 CMM模型:(软件能力成熟度模型)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1