软件工程导论知识点.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 ?软件危机的主要典型表现:1.对软件开发和成本和进度的估计常常很不准确2.用户对“已完成的”软件系统不满意的现象经常发生3.软件产品的质量往往靠不住4.软件常常是不可维护的5.软件通常没有适当的文档资料6.软件成本在计算机系统总成本中所占的比例逐年上升7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势 ?软件危机的原因:软件规模越来越大,结构越来越复杂,软件开发的管理困难,开发费用不断增加,开发技术落后,生产方式落后,开发工具落后生产率提高慢 ?软件工程是指导计算机软件开发和维护的一门工程学科 ?软件工程的本质特性:1.软件工程关注于大型程序的构造2.软件工程的中心课题是控制复杂性3.软件经常变化4.开发软件的效率非常重要5.和谐的合作是开发软件的关键6.软件必须有效地支持它的用户7.在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品 ?软件工程的基本原理:1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代的程序设计技术5.结果应能清楚的审查6.开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性 ?软件工程方法学包含三个要素:方法,工具和过程其中方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题,工具是为运用方法而提供的自动的或半自动的软件工程支撑环境,过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 ?使用的最广泛的软件工程方法学:①传统方法学(也称为生命周期方法学或结构化范型)②面向对象方法学 ?瀑布模型(生命周期模型)特点:1.阶段间具有顺序性和依赖性2.推迟实现的观点3.质量保证的观点 ?软件生命周期:1.问题定义(要解决的问题是什么)2.可行性研究(对于上一个阶段所确定的问题有行得通的解决办法吗)3.需求分析(为了解这个问题,目标系统必须做什么)4.总体设计(概括地说,应该怎样实现目标系统)5.详细设计(应该怎样具体地实现这个系统呢)6.编码和单元测试7.综合测试8.软件维护(改正性维护,适应性维护,完善性维护,预防性维护) ?快速原型模型,增量模型(渐增模型),螺旋模型喷泉模型 ?可行性研究的目的,就是用最小的待见在尽可能短的时间内确定问题是否能够解决 从三个方面研究每种解法的可行性1.技术可行性(使用现有的技术能实现这个系统吗)2.经济可行性(这个系统的经济效益能超过它的开发成本吗)3.操作可行性(系统的操作方式在这个用户组织内行得通吗) ?可行性研究过程的步骤:1.复查系统规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查 ?数据字典是关于数据的信息和集合,也就是对数据流图中包含的所有元素的定义的集合 ?数据流图和数据字典共同构成系统的逻辑模型 ?数据字典由下列四类元素的定义组成1.数据流2.数据流分量(即数据元素)3.数据存储4.处理 ?定义数据的方法:1.顺序2.选择3.重复4.可选 ?成本估计三种估算技术:1.代码行技术2.任务分解技术3.自动估计成本技术 ?成本/效益分析的方法:1.货币的时间价值2.投资回收期3.纯收入4.投资回收率 ?软件需求正确性的验证①一致性②完整性③现实性④有效性 ?对系统的综合需求:1.功能需求2.性能需求3.可靠性和可用性需求4.出错处理需求5.接口需求6.约束7.逆向需求8.将来可能提出的要求 ?与用户沟通获取需求的方法:访谈,面向数据流自顶向下求精,简易的应用规格说明书,快速建立软件原型 ?分析建模:数据模型——E-R图 ,功能模型——数据流图,行为模型——状态转换图从哪些方面验证软件需求的正确性:1.一致性2.完整性3.现实性4.有效性 ?验证软件需求的方法:1.验证需求的一致性2.验证需求的现实性3.验证需求的完整性和有效性 ?总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构 ?总体设计过程步骤:1.设想供选择的方案2.选取合理的方案3.推荐最佳方案4.功能分解5.设计软件结构6.设计数据库7.制定测试计划8.书写文档(①系统说明②用户手册③测试计划④详细的实现计划⑤数据库设计结果)9.审查和复审 ?模块对立的概念是模块化,抽象,信息隐藏和局部化概念的直接结果 ?开发具有独立性功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立 ?耦合(低→高)是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间借口的复杂程度,进入或访问一个模块的点,以及通过接口的数据 ?耦合包括①数据耦

文档评论(0)

132****1393 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档