预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

软件工程学概述 1.软件危机概念、表现和产生的原因? a.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题 b.典型表现:(1)开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意;(3)“软件质量不可靠;(4)软件常常是不可维护的;(5)软件没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速及深入的趋势(软件产品“供不应求”); c.产生的原因:(1)软件的规模加大、复杂性提高、性能增强;(2)软件是逻辑产品,尚未完全认识其本质和特点;(3)缺乏有效的、系统的开发、维护大型软件项目的技术手段和管理方法;(4)用户和软件开发人员的理解鸿沟;(5)错误的认识和作法:忽视软件需求分析的重要性,认为软件开发就是写程序并设法使之运行,轻视软件维护等; 2.软件工程定义? 软件工程是指导计算机软件开发和维护的工程学科:(1)它采用工程概念、原理、技术和方法啦开发和维护软件;(2)它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;(3)它强调使用生存周期方法学和结构技术;(4)经过人们长期的努力和探索,围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努力,逐渐形成了“软件工程学”这一新的学科。 3.软件生命周期?瀑布模型和快速原型模型的概念、特点和应用范围? 软件生命周期:软件产品或系统一系列相关活动的全周期。 瀑布模型的概念:瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。特点:(1)阶段间具有顺序性和依赖性;(2)推迟实现的观点;(3)质量保证的观点(文档驱动)。适用范围:(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;(2)开发人员对软件的应用领域很熟悉;(3)用户的使用环境非常稳定;(4)开发工作对用户参与的要求很低。 快速原型模型的概念:快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。特点:(1)快速原型的本质是“快速”;(2)快速原型可以取代规格说明阶段,但不是设计阶段,容易适应需求的变化;(3)有利于开发与培训的同步;(4)开发费用低、开发周期短、维护容易且对用户更友好。适用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具;(2)项目招投标时,可以以原型模型作为软件的开发模型;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。 可行性研究 1.可行性研究的目的:不是要解决问题,而是确定问题是否值得去解决;用最小的代价在尽可能短的时间内确定问题是否能够解决 2.可行性研究的任务:最根本的任务是对以后的行动方针提出建议;如果问题没有可行的解,应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。 从技术可行性、经济可行性和操作可行性分析可行性 需求分析 需求分析的基本任务:基本任务是准确地回答“系统必须做什么?”;“分析软件需求和书写软件需求规格说明书”。 具体任务:确定对系统的综合要求;分析系统的数据要求;导出系统的逻辑模型;修正系统开发计划。 层次方框图和层次结构图的区别? a.层次方框图: 描述系统数据的层次结构;图中的连线表示数据的组成关系。 b.层次结构图:(层次图、功能模块图) 描述系统的软件结构:图中的连线表示模块的调用关系。 第五章总体设计 1.总体设计的任务:(1)方案设计(寻找实现目标系统的各种不同的方案,选出最佳的方案,制定实施计划);(2)系统划分(程序、文件、数据库、人工过程和文档等);(3)设计软件的结构(每个程序是由哪些模块组成,以及这些模块相互间的关系)。 2.模块独立和模块化 a.模块化:把程序化分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成制定的功能满足用户的需求。 b.模块独立:模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。 3.模块独立的衡量标准 耦合是不同模块之间互连程度的度量。(a->e耦合由高到低) a.内容耦合:一个模块访问另一个模块的内部数据;一个模块不通过正常入口而转入另一个模块的内部;两个模块的代码部分重合;一个模块有多个入口。 b.公共环境耦合:两个以上模块之间通过公共环境进行数据的存取。 c.控制耦合:一个模块给另一个模块传递控制元素。 d.特征耦合:一个模块通过数据结构向另一模块传递信息,而另一模块只需要数据结构的一部分属性。 e.数据耦合:两个模块之间仅