欢迎来到天天文库
浏览记录
ID:1489619
大小:190.00 KB
页数:26页
时间:2017-11-11
《软件工程基本概念》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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、、无歧义的且规范的这有助于入与入的交互,不会产生误解和遗漏,以保证整个开发工作的协调一致。
此文档下载收益归作者所有