软件评测师考试复习之软件工程

上一篇 / 下一篇  2008-05-12 19:48:20 / 个人分类:软件评测师考试

  软件工程定义:软件工程学就是研究如何有效地组织和管理软件开发的工程的工程学科。IEEE  1983年将软件工程定义为:软件工程是开发、运行、维护和修复软件的系统方法。

 

    软件工程方法学包含三个要素:方法、工具和过程。

 

    软件生命周期分为需求分析、概要设计(系统设计)、详细设计(组件设计)、编码、测试、维护几个阶段。

    需求分析不是具体的解决问题,而是要准确的确定目标系统必须做什么。需求分析模型通常使用UML中的用例图和类图等图形工具来表示,软件需求说明书一般可用数据流图、数据字典和自然语言书写。

    概要设计的主要任务是设计程序的体系结构,也就是确定程序有那些模块(组件)组成,以及模块(组件)之间的关系。如果采用面向对象的方法,这里的模块(组件)通常是类。

    详细设计的主要任务是详细的设计每个组件,确定实现组件功能所需要的算法和数据结构。如果采用面向对象的方法,组件设计的任务就是写清每一个类的内部属性(数据结构)以及每一个服务的实现细节(算法)。

    编码就是把软件设计结果翻译成用某种程序设计语言(编程语言)书写的程序。对于一般的系统应尽量选用高级编程语言;对于工控软件、嵌入式软件,以及其他一些与时间、资源、环境密切相关的软件,可选用一些层次稍低但执行效率高的编程语言,必要时也可选用汇编语言。

    软件测试的目的是在软件产品或软件系统交付运行之前,尽可能多的发现软件中的错误和缺陷。

     软件维护就是在软件交付使用之后直至软件被淘汰的整个时期内为了改正错误或满足新的需求而改变软件的活动。

    软件维护通常有4种类型:改正性维护、适应性维护、完善性维护、预防性维护。

   

    结构化开发方法学也称为生命周期方法学,它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务。这种方法学把生命周期的全过程依次划分为若干个阶段,然后顺利的完成每个阶段的任务。

    结构化分析方法是一种面向数据流的需求分析方法。它的基本思想是自顶向下逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最底层的问题都是足够简单、容易解决的,于是复杂问题就迎刃而解了。

    数据流图DFD)、数据字典(DD)、实体-关系图(E-R图),以及描述加工处理的结构化分析的常见工具。

    数据流图(DFD)是一种图形化技术,用来描述数据从输入到输出的变换流程。

     DFD的主要四种成分:数据流、加工、文件、源/宿。

 

     数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

     数据字典中有4种类型的条目:数据项条目,数据流条目,文件条目,加工条目。

 

模块是指执行某一特定任务的数据和可执行语句等程序元素的集合,通常是指可通过名字来访问的过程、函数、子程序或宏调用等。

内聚是指一个模块内各个元素彼此结合的紧密程度。

耦合是对一个软件结构内不同模块之间互联程度的度量。

模块的高内聚低耦合原则称为模块独立原则

深度表示软件结构中控制的层数。

宽度是软件结构中同一个层次上的模块总数的最大值。

一个模块的扇出是指该模块直接调用的下级模块的个数。

一个模块的扇入是指该模块直接调用的上级模块的个数。

设计良好的软件结构通常顶层扇出比较大。中间扇出较少,底层模块有较大扇入。

模块的作用域是指受该模块内一个判定影响的所有模块的集合。

模块的控制域是指该模块直接或间接被调用的所有模块的集合。

 

统一建模语言(UML)包括以下视图:

用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图。

 

瀑布模型:严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入下一阶段。

快速原型模型:快速建立起来的可以在计算机上运行的程序,它所完成的功能往往是最终软件产品的一个子集。

螺旋模型:综合了瀑布模型和演化模型的优点,还增加了风险分析。包含了四个方面的活动:制定计划、风险分析、实施工程、客户评估。采用螺旋模型时软开发沿着螺旋线自内向外旋转,每转一圈都要对风险进行识别和分析,并采取相关对策。

 

质量模型由三个层次组成:质量特性、质量子特性、度量。

软件质量管理是指软件开发机构为保证软件项目满足客户需求所要实施的质量活动。

质量管理体系由人员和资源、组织结构和岗位职责权限、工作程序组成。

软件能力成熟度模型(CMM)的五个等级:

初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功。

已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目将军使用经批准、裁剪的标准软件过程来开发和维护软件。

已管理级:收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解和控制。

优化级:进程的量化反馈和先进的新思想、新技术促使过程不断改进。

 

软件配置是指一个软件产品在软件生存周期各个阶段所产生的各种形式和各种版本的文档、程序及其数据的集合。

软件配置活动主要包括5项任务:对象标识、版本控制、变化控制、配置审计和配置报告。

 

基线是指已通过正式复审的软件中间产品或软件文档,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。

常用的基线包括以下三种:功能基线、指派基线、产品基线。

 

软件风险管理主要包括风险识别、风险分析(风险估算与评价)、风险应对(风险防范)和风险控制等。


TAG: 软件评测师考试

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-04  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 1534
  • 日志数: 2
  • 建立时间: 2008-04-10
  • 更新时间: 2008-05-12

RSS订阅

Open Toolbar