a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 87|回复: 1

[公共基础知] 2011年计算机二级公共基础知识教程(3)

[复制链接]
发表于 2012-7-31 21:44:12 | 显示全部楼层 |阅读模式
第三章 软件工程基础
3 ]1 \' |& R1 B
! N8 h8 Q5 s8 f& n1 K$ Y  t  一、学习目标与要求
5 E: w( N( D- i  1.了解软件工程的基本概念; # t4 Y: _& h" s/ ~
  2.了解软件工程过程与软件的生命周期,以及软件工程的目标和原则; 0 f& j! N* x/ w
  3.了解利用结构化分析法进行软件工程中的需求分析的方法,并了解需求分析的方法和需要完成的任务; : f! a: K; s* J! U  m
  4.了解数据流图的使用方法;
. S! Q2 c7 B% g  5.了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些常用用工具;
! A( O1 [1 W, J. N/ T  6.了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件测试方法的区别和各自的功能与特点; $ q- M' t- B% K. n+ i3 H* i" Y
  7.了解程序调试的方法和原则。
) A) [/ }0 a7 c- X) m& Y" C; f, {  二、内容要点 1 ~0 r6 T3 k& h$ S
  (一)软件工程基本概念 ) b  L! ^1 _8 F* M6 C
  1.软件定义与软件特点
" Y% e3 p! L4 c& V3 Y5 K* U( t  1)软件的定义 7 T( L( _+ v) z: v$ y8 x, g, p' V
  与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
+ H3 t; h6 b" ]) k4 g  2)软件的特点
3 Q, p; e, M1 `2 N+ _3 V/ }$ X$ I  (1)软件是一种逻辑实体,而不是物理实体,具有抽象性;
% u5 y7 @7 }# n) }, y4 M  (2)软件的生产与硬件不同,它没有明显的制作过程;
3 d' j  L6 V, v7 e& c  (3)软件在运行、使用期间不存在磨损、老化问题;但为了适应硬件、环境以及需求的变化要进行修改,会导致一些错误的引入,导致软件失效率升高,从而使得软件退化;
; a* J& ]: O( w6 p* v1 J, @  (4)软件的开发、运行对计算机系统具有依赖性,受到计算机系统的限制,这导致了软件移植的问题; ' H- l# F& Z3 @- Y
  (5)软件复杂性高,成本昂贵。软件开发需要投入大量、高强度的脑力劳动,成本高,风险大;
9 J* E6 H: C& a8 ~  (6)软件开发涉及诸多的社会因素。许多软件的开发和运行涉及软件用户的机构设置,体制问题以及管理方式等,甚至涉及到人们的观念和心理,软件知识产权及法律等问题。
: Q" y+ d& G8 o& q$ t/ u  3)软件的分类
6 }5 {# T' Y( f/ @1 q  按功能分,可分为:
% [0 r  e& @/ L2 j0 J  应用软件:为解决特定领域的应用而开发的软件
) N/ l2 [) f+ }. B/ c; ~  系统软件:是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件
7 N4 D% C+ @$ `2 w" L8 M  支撑软件(或工具软件):介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件 4 ?3 ?+ U8 H8 K1 y0 m: j, T
  2.软件危机与软件工程 # N/ f; ]  m" b
  1)软件危机
) l+ _. Z$ h' ]( _0 `, F" J  泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。它主要表现在: + S' p2 Q+ S8 A; x( t
  (1)软件需求的增长得不到满足,用户对系统不满意的情况经常发生; + f: }; T8 x. m* v  v! H- Y2 S
  (2)软件开发成本和进度无法控制。开发的成本超预算和开发周期的超期经常出现;
4 j! s" O+ }. E. R) U! [8 Q  (3)软件质量难以保证; 9 A6 R* Z! Z  r* M
  (4)软件不可维护或维护程度非常低; 0 f4 D) r# l7 N5 D( o
  (5)软件成本不断提高; 5 Q" l5 B3 T8 Q- X9 T( l$ F
  (6)软件开发生产率的提高赶不上硬件的发展和应用需求的增长。 1 m# `1 D7 y( K" n- e
  2)软件工程
( \/ {, K, x! w1 g6 t  l# ?  软件工程的定义:是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 4 o% R+ I4 q6 W: m# v; k5 q8 a
  软件工程包括3个要素:方法、工具和过程。
4 F' N* z2 p: O1 ~  方法:完成软件工程项目的技术手段; 8 e" e5 N+ G  G# F* \: V
  工具:支持软件的开发、管理、文档生成;
6 _4 G, ?, @0 x' V% a' {  过程:支持软件开发的各个环节的控制、管理。
8 g3 ^4 w' `/ m' ], K  3.软件工程过程与软件生命周期 & ]# ?4 L1 A6 v0 v, |  x, W
  1)软件工程过程
/ {. t0 D1 Q" F  软件工程过程把输入转化为输出的一组彼此相关的资源和活动。支持软件工程过程的两方面内涵: 4 F. a5 q! y1 V" T: Y6 s) s+ v+ H- i
  (1)软件工程过程是指为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。它包括4种基本活动: + W, s0 o1 o; _! O6 W; L; C
  P—软件规格说明。规定软件的功能及其运行时的限制;
# H5 W( ^. r2 t$ X- y  D—软件开发。产生满足规格说明的软件; ; W/ ~  E0 F0 M! ?& q  `
  C—软件确认。确认软件能够满足客户提出的要求; ! P) p3 G5 H- {& x( ^0 }
  A—软件演进过程。为满足客户的变更要求,软件必须在使用的过程中演进。
% \. n! F9 e6 n: K: b; T$ k/ K  (2)使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。 % i6 i7 P7 P9 }* {/ [! @7 j
  软件工程过程是将软件工程的方法和工具综合起来,以达到合理、及时地进行计算机软件开发的目的。
0 B; F& y! r% m$ N  2)软件生命周期 : I/ C" E9 Y/ `1 m
  将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。即软件的生命周期就是软件产品从开始考虑其概念开始,到软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。这些活动可以有重复,执行时也可以有迭代。
/ e" |7 ~5 x% Q0 `/ d  生命周期的主要阶段: $ F9 |' o" E8 I4 @- w( [# v: o
  软件定义 % P7 M9 |4 a1 B0 k, b7 y
  软件开发 ( A' G8 @9 k) o; M' J
  软件维护 $ Y% S) }" Z  j: H8 Y! x- K
  软件生命周期的主要活动阶段是:
  r) J3 X% F5 o+ {& R1 Q( [! C6 x  (1)可行性研究与计划制定:确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实话计划;
% p* s$ ], p$ \  (2)需要分析。对待开发软件提出的需求进行分析并给出详细的定义;
- d% \" S5 |  F( _  (3)软件设计。系统设计人员和程序设计人员给出软件的结构、模块的划分、功能的分配以及处理流程;
3 S/ P1 c" R) N5 F* |( `1 q  (4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划;
回复

使用道具 举报

 楼主| 发表于 2012-7-31 21:44:13 | 显示全部楼层

2011年计算机二级公共基础知识教程(3)

  (5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分,编写测试分析报告;
% K# r* `3 Y* @  (6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要且可能的扩充和删改。
: V2 x1 P3 O. X, P7 v( D6 D  4.软件工程的目标与原则 ) Q' N3 x! ^3 @) }% S
  1)软件工程的目标
2 y6 c2 S0 [& A/ f  软件工程的目标:在给定成本、进度的情况下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
; i/ w& p0 Y& d: H  软件工程需要达到的基本目标: 8 W! A, B4 L' }1 X3 m6 k& Z, ?9 t
  付出较低的开发成本 8 v0 {- S: s/ J$ M4 @
  达到要求的软件功能 7 G& S2 ~, t3 [- S- ]: `. y& A
  取得较好的软件性能 + @$ V$ b2 z  |: W  Q+ H1 I/ c
  开发的软件易于移植
: i! e5 j1 u! Q& Y2 A5 O  需要较低的维护费用
4 g# ^( R9 T) B7 @  v, d/ e3 k  能按时完成开发,及时交付使用
$ A! T# f5 U6 I" [7 A: Q' c- a  Z  软件工程的理论和技术性研究的内容包括:软件开发技术和软件工程管理。 1 Q4 z( z& e' s$ h
  (1)软件开发技术 , q2 g* P: B. ?8 Q3 N0 X6 R/ o* ?
  软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件开发方法学是根据不同的软件类型,按不同的观点和原则,对软件开发中应遵循的策略、原则、步骤和必须产生的文档资料都做出规定,从而使软件开发能够进入规范化和工程化的阶段。 2 F. b% b' _' c6 F8 M4 g# f# K
  (2)软件工程管理
" ~+ t0 t8 z' B5 b# [( k4 h  软件工程管理:软件管理学、软件工程经济学、软件心理学等内容。 ! ]0 f% J0 }! N
  软件工程管理学包括:人员组织、进度安排、质量保证、配置管理、项目计划等。
0 X: f* _& R7 m! D/ f, Q; {0 W  软件工程经济学:是研究软件开发中成本的估算、成本效益分析的方法和技术,用经济学的基本原理事研究软件工程开发中的经济效益问题。   软件心理学:从个体心理、人类行为、组织行为和企业文化等角度来研究软件管理和软件工程。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-22 05:22 , Processed in 0.312772 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表