软件工程基本概念

软件工程基本概念

ID:1489619

大小:190.00 KB

页数:26页

时间:2017-11-11

软件工程基本概念_第1页
软件工程基本概念_第2页
软件工程基本概念_第3页
软件工程基本概念_第4页
软件工程基本概念_第5页
资源描述:

《软件工程基本概念》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件工程基本概念考点1 软件的定义与软件特点  1软件的组成  软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和相关的文档。软件由两部分组成:  (1)机器可执行的程序和数据;  (2)与软件开发、运行、维护及使用等有关的文档。  2软件的特点  软件具有如下特点:  (1)软件是逻辑产品,而不是物理实体,它具有无形性,通过计算机的执行才能体现它的功能和作用;  (2)没有明显的制作过程,其成本主要体现在软件的开发和研制上,可进行大量的复制;  (3)不存在磨损和消耗问题;  (4)软件的开发、运行对计算机系统具有依赖性;  (5)开发

2、和维护成本高;  (6)软件开发涉及诸多社会因素。  3软件的分类  结合应用观点,软件可分应用软件、系统软件和支撑软件3类。  (1)应用软件是特定应用领域内专用的软件;  (2)系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;  (3)支撑软件介于系统软件和应用软件之间,是支援其他软件的开发与维护的软件。  4软件的作用  软件是用户与硬件之间的接口,是计算机系统的指挥者,是计算机系统结构设计的重要依据。考点2 软件危机与软件工程  1软件危机 随着计算机软件规模的扩大,软件本身的

3、复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。软件危机主要表现在:  (1)软件需求的增长得不到满足;  (2)软件开发成本和进度无法控制;  (3)软件质量难以保证;  (4)软件不可维护或维护程度非常低;  (5)软件成本不断提高;  (6)软件开发生产效率的提高赶不上硬件的发展和应用需求的增长。  总之,可以将软件危机归结为成本、质量和生产率等问题。  2软件工程的产生  国标(GB)中指出软件工程是应用于计算机软件的定义、开发和维护的一整套方法、

4、工具、文档、实践标准和工序。  软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。考点3 软件工程过程  ISO9000定义:软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。  软件工程过程包含4种基本活动:  (l)软件规格说明P(Plan):规定软件的功能及其运行机制;  (2)软件开发D(Do):产生满足规格说明的软件;  (3)软件确认C(Check):确认软件能够满足客户提出的要求;  (4)软件演进A(Action):为满足客户的

5、变更要求,软件必须在使用的过程中演进。考点4 软件生命周期  软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。  在国家标准“计算机软件开发规范”中,把软件生命周期划分为三个阶段、八个子阶段,即定义阶段(可行性研究与计划、需求分析)、开发阶段(概要设计、详细设计、实现、综合测试、确认测试)、维护阶段(使用与维护),对每个阶段,都明确规定了该阶段的任务、实施方法、实施步骤和完成标志,其中特别规定了每个阶段需要产生的文档。考点5 软件工程的目标与原则  1软件工程的目标  软件工程的目标是,在给定成本、进度的前提下,开发出具有有效性、可

6、靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性巨满足用户需求的产品。  软件工程研究的内容主要包括:软件开发技术和软件工程管理。  (1)软件开发技术。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。  (2)软件工程管理包括软件管理学、软件工程经济学、软件心理学等内容。  2软件工程的原则  软件工程原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。  (1)抽象。抽象事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向下,逐层细化的办法控

7、制软件开发过程的复杂性。  (2)信息隐蔽。采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单  (3)模块化。模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口定义。模块的大小要适中,模块过大会使模块内部的复杂性增加,不利于模块的理解和修改,也不利于模块的调试和重用;模块太小会导致整个系统表示过于复杂,不利于控制系统的复杂性。  (4)局部化。要求在一个物理模块内集中逻辑上相互关联的计算资源,保证模块间具有松散的耦合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。  (5)确定性。软件开发过程中所有概念的表达应是确定的

8、、无歧义的且规范的这有助于入与入的交互,不会产生误解和遗漏,以保证整个开发工作的协调一致。  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。