3. 软件工程基础 3.1 软件工程基本概念
% a T: x0 F5 L 计算机软件是包括程序、数据及相关文档的完整集合。
7 R& _, A* R/ p) \1 f2 o% u 软件的特点包括:
, @3 \7 j+ ]6 ^! j' w! U d (1)软件是一种逻辑实体;1 X& q2 J$ \. o6 O
(2)软件的生产与硬件不同,它没有明显的制作过程;
, {8 g( f. ~7 B, E' e! H (3)软件在运行、使用期间不存在磨损、老化问题;
3 o* W* F- ^! O7 V* j (4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;
: C2 } }! T9 c8 u: @7 l (5)软件复杂性高,成本昂贵;
2 ~, e+ f$ F/ {% j9 F (6)软件开发涉及诸多的社会因素。
# i- m% I7 v4 C5 {. H/ Z 软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。
, A& t' d8 l* F2 y" M( J 软件危机主要表现在成本、质量、生产率等问题。
& B. U+ L% Y3 {+ ^% y' _ 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
- q( ^' y, l) y 软件工程包括3个要素:方法、工具和过程。2 Y1 {: }, A3 T ^6 h3 z
软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种基本活动:
7 o8 y3 ^* w- A" t% B% c9 P( m, J (1)P——软件规格说明;(2)D——软件开发;(3)C——软件确认;(4)A——软件演进。9 `* P' {# d( d6 L( n6 U
软件周期:软件产品从提出、实现、使用维护到停止使用退役的过程。
0 ~4 B3 J- h! G4 D) T: N 软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:1、可行性研究与计划制定;2、需求分析;3、软件设计;4、软件实现;5、软件测试;6、运行和维护。3 l+ s u, V0 |& q. U8 v8 Z
软件工程的目标和与原则:& {6 F/ q# ^9 d% F% v5 ]& Z
目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
# R5 q. `$ L2 [# A3 H 基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。
0 y( ~- L: _- k; Q# q% | 基本原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
% x# w' r6 N' t% ` 软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。' Q. A" s- N0 g! [+ Q
软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境。
+ k* @& s* S- b6 `+ ? 软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。
8 J/ U' a, l P5 T/ j. R% v 软件管理学包括人员组织、进度安排、质量保证、配置管理、项目计划等。
: e/ [; ]: W; k( W2 U 软件工程原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。 |