欢迎来到天天文库
浏览记录
ID:57790023
大小:25.58 KB
页数:4页
时间:2020-03-27
《2011年计算机等级考试二级公共基础知识_软件工程基础.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011年全国计算机等级考试二级公共基础知识总结:软件工程基础 3.1软件工程基本概念 1、软件的相关概念 计算机软件是包括程序、数据及相关文档的完整集合。 软件的特点包括:1)软件是一种逻辑实体,而不是物理实体,具有抽象性;2)软件的生产与硬件不同,它没有明显的制作过程;3)软件在运行、使用期间不存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件开发涉及诸多的社会因素。 2、软件危机与软件工程 软件工程源自软件危机。所谓软件危机是泛
2、指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件工程的主要思想是将工程化原则运用到软件开发过程,它包括3个要素:方法、工具和过程。方法是完成软件工程项目的技术手段;工具是支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。 软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。 3、软件生命周期 软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的过程。 软件生命周期分为软件定义、软件开发及软件运行维护三个阶段: 1)软件定义阶段:包括制定计划和需求分析。 制定计划:确定总目标;
3、可行性研究;探讨解决方案;制定开发计划。 需求分析:对待开发软件提出的需求进行分析并给出详细的定义。 2)软件开发阶段: 软件设计:分为概要设计和详细设计两个部分。 软件实现:把软件设计转换成计算机可以接受的程序代码。 软件测试:在设计测试用例的基础上检验软件的各个组成部分。 3)软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。 4、软件工程的目标和与原则 (1)软件工程目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、 可维护性、可重用性、可适应性、可移植性、可追踪性和可互
4、操作性且满足用户需求的产品。 (2)软件工程需要达到的基本目标应是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用。 (3)软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。 1)抽象: 2)信息隐蔽: 3)模块化: 4)局部化: 5)确定性: 6)一致性: 7)完备性: 8)可验证性: 3.2结构化分析方法 1、需求分析 需求分析方法有:1)结构化需求分析方法;2)面向对象的分析方法。 2、结构化分
5、析方法 结构化分析方法是结构化程序设计理论在软件需求分析阶段的应用。 结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 结构化分析的常用工具:1)数据流图(DFD);2)数据字典(DD);3)判定树;4)判定表。 数据流图的基本图形元素: 加工(转换):输入数据经加工变换产生输出。 数据流:沿箭头方向传送数据的通道,一般在旁边标注数据流名。 存储文件(数据源):表示处理过程中存放各种数据的文件。 源,潭:表示系统和环境的接口,属系统之外的实体。
6、 3.3结构化设计方法 1、软件设计的基础 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。 从工程角度来看,软件设计分两步完成,即概要设计和详细设计。 概要设计:又称结构设计,将软件需求转化为软件体系结构,确定系统级接口、全局数据结构或数据库模式。 详细设计:确定每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。 软件设计的基本原理包括:抽象、模块化、信息隐蔽和模块独立性。 1)抽象。抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。 2)模块化。解决一个
7、复杂问题时自顶向下逐步把软件系统划分成一个个较小的、相对独立但又不相互关联的模块的过程。 3)信息隐蔽。每个模块的实施细节对于其他模块来说是隐蔽的。 4)模块独立性。软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。 *:模块分解的主要指导思想是信息隐蔽和模块独立性。 模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标。 内聚性:是一个模块内部各个元素间彼此结合的紧密程度的度量。 *:按内聚性由弱到强排列,内聚可以分为以下几种:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内
8、聚及功能内聚。 耦合性:是模块间互相连接的紧密程度的度量。 *:按耦合性由高到低排列,耦合可以分为以下几种:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合以及非直接耦合。 一
此文档下载收益归作者所有