您的位置:首页 > 其它

软件工程相关知识总结

2009-04-24 13:29 274 查看
软件工程设计
软件工程基本概念
1. 软件的定义:
软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序、相关数据及其说明文档。
2. 软件的特点:
u 软件是一种逻辑实体,具有抽象性;
u 软件没有明显的制作过程;
u 软件在运行、使用期间,不存在磨损、老化问题;
u 软件的开发、运行对计算机系统具有不同程度的依赖性,导致软件的移植性的问题;
u 软件复杂性高,成本昂贵;
u 软件开发涉及诸多的社会因素。
3. 软件危机
软件危机泛指在计算机软件的开发和维护中所遇到的一系列严重问题。
主要表现:
u 软件需求的增长得不到满足;
u 软件开发的成本和进度无法控制;
u 软件质量难以保证;
u 软件不可维护或维护程度非常低;
u 软件的成本不断增加;
u 软件开发生产率的提高跟不上硬件的发展和应用需要的增长。
4. 软件工程
软件工程学是用工程、科学的原理与方法研制、维护计算机的有关技术及管理方法的一门工程学科。软件工程包括两方面的内容:软件开发技术和软件工程管理。软件工程的三个要素:方法、工具、过程。
5. 软件工程过程
软件工程过程
软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。
软件生命周期
软件产品从提出、实现、使用维护到停止使用的过程称为软件的生命周期。
软件生命周期包括可行性研究和需求分析、设计、实现、测试、交付使用和维护等几个阶段。
6. 软件工程的目标
付出较低的开发成本;达到要求的软件功能;能取得较好的软件性能;开发的软件较于移植;需要较低的维护费用;能按时完成开发、及时交付使用。
7. 软件工程的原则
抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性
结构化分析方法

(一) 需求分析和需求分析方法
i. 需求分析
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。
需求分析阶段的工作分为以下几方面:
l 需求获取;
l 需求分析;
l 编写需求分析说明书;
l 需求评审。
ii. 需求分析的方法
结构化分析方法和面向对象分析方法。
(二) 结构化分析方法
结构化分析方法是基于功能的分析方法,其目的是帮助用户弄清对软件的需求。
1) 结构化分析方法常用的工具
数据流图(Data Flow Diagram,DFD)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能模型。数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素说明图如下:

图形

说明
加工(转换);输入数据经加工产生输出。
数据流;沿箭头方向传送数据,一般在旁边标注数据流名。
存储文件;表示处理过程中存放各种数据的文件。
数据的源点/终点;表示系统和环境的接口,属系统之外的实体。
2) 数据字典
数据字典是对所有与系统相关的数据元素的一个有组织的列表。其作用就是对数据流图中出现的被命名的图形元素的确切解释。通常数据字典包含信息的名称、别名、何处使用/如何使用、内容描述、补充信息。

软件测试
1. 软件测试的目的
为了发现错误而执行的过程。主要是为了开发出高质量的完全符合用户需要的软件。
2. 软件测试的准则
所有测试都应追溯到需求;
严格执行测试计划,排除测试的随意性;
充分注意测试中的群集现象;
程序员应当避免检查自己的程序;
穷举测试不可能;
妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
3. 白盒测试方法
也称结构测试,与程序内部结构有关。
4. 黑盒测试方法
也称功能测试,测试时不考虑程序内部细节、结构和实现方式,仅检验程序结果与说明书的一致性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: