当前位置: 澳门新濠3559 > 数据库 > 正文

澳门新濠3559相关文档,需求分析

时间:2019-10-06 19:46来源:数据库
① 业务流程: 活动图 软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。 40、单元测试是对软件设计的最小单位-----模块(程序单元)进行正确性检验的测

  ① 业务流程:活动图

软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。


40、单元测试是对软件设计的最小单位-----模块(程序单元)进行正确性检验的测试。单元测试的目的是发现各模块内部可能存在的各种错误。单元测试的依据是详细设计说明书和源程序。

本博客记录的是我在大学期间学习软件工程这门课程的大概知识体系,肯定还有其他内容没有涉及到,纯当是对学习过的内容进行一番梳理。

    1) 对象图

图形工具(程序流程图(PFD)、N-S图、 PAD图、),表格工具(判定表),语言工具(PDL)。

程序流程图中:箭头为控制流、方框为加工步骤、菱形为逻辑条件。

4 软件测试

软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

软件测试的目的:发现错误而执行程序的过程。

软件测试方法:静态测试和动态测试

静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行。

动态测试:是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法。

白盒测试:也称结构测试或逻辑测试。在程序内部进行,主要用于完成软件内部操作的验证。白盒测试主要考虑内部的逻辑结构。主要方法有逻辑覆盖、基本路径测试。

黑盒测试:也称功能测试或数据驱动测试。是在软件接口处进行,完成功能验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的设计要求。主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认测试。主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。

驱动测试相当于被测模块的主程序,它接收测试数据,并传给被测模块,输出实际测试结果。

软件测试过程一般按4个步骤进行:

   (4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。

(4)方法
a.黑盒测试——把测试对象看成一个黑盒子,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
测试手段:等价类划分、边界值分析、错误推测法、因果图
b.白盒测试——把测试对象看成一个透明的盒子,对程序中的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
测试手段:逻辑覆盖(语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖)、基本路径测试、循环覆盖
九.模块独立性
模块独立性是软件设计的基本原则之一,其他的几个分别是:模块化,抽象,信息隐藏。模块独立指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量模块独立性有两个标准——耦合性和内聚性,模块划分时应做到高内聚,低耦合,从而提高模块的独立性。
①内聚
模块之间联系越紧密,其内聚性越强。
②耦合
模块的耦合性由低到高依次是:
非直接耦合(不传递任何信息),数据耦合(传递数据值),标记耦合(传递数据结构),控制耦合(传递控制变量),外部耦合,公共耦合,内容耦合。
一般来说,在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。
十.其他知识点
【N-S图】
START
a
IF x1 THEN
REPEAT UNTIL x2
b
END REPEAT
ELSE
BLOCK
C
D
END BLOCK
END IF
STOP
澳门新濠3559 1

 

1 软件工程基本概念

11、软件工程包括3个要素,即方法、工具和过程。

符号 含义
方框 源点与终点
箭头 数据流
圆/椭圆 加工
双杠 数据存储

  DBAS的生命周期由项目规划需求分析系统设计实现与部属运行管理与维护等5个基本活动组成。

从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。

①结构设计:定义软件系统各主要部件之间的关系。

②数据设计:将分析时创建的模型转化为数据结构的定义。

③接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。

④过程设计:把系统结构部件转换成软件的过程描述。

从工程管理角度来看,软件设计分两步:概要设计和详细设计。

软件设计的一般过程:软件设计是一个迭代的过程;先进行高层次的结构设计;后进行低层次的过程设计;穿插进行数据设计和接口设计。

25、计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。

伪码
START
S1
if(x>5);
else S2;
i:=1;
DO S3,i:=i i;
while i<3
if(y<0) S4;
else S5;
END
澳门新濠3559 2
【PAD图】
画出下面用PDL写出的程序的PAD图。
WHILE P DO
IF A >O THEN A1 ELSE A2 ENDIF;
S1;
IF B>0 THEN B1;
WHILE C DO S2;S3 ENDWHILE;
ELSE B2
ENDIF;
B3
ENDWHILE;
澳门新濠3559 3

  ② 功能需求分析:描述系统做什么,数据处理需求分析、业务规则需求分析

(1)软件是一种逻辑实体,具有抽象性;
(2)软件的生产与硬件不同,它没有明显的制作过程;
(3)软件在运行、使用期间不存在磨损、老化问题;
(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;
(5)软件复杂性高,成本昂贵;
(6)软件开发涉及诸多的社会因素。

需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。

【数据流图】
用SA方法画出下列问题的顶层和0层数据流图。
某运动会管理系统接受来自运动员的报名单、裁判的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次、团体名次发送给发布台。该系统有两部分功能:
(1)登记报名单:接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存储。
(2)统计成绩:接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。
澳门新濠3559 4

    2) 状态机图,只能有一个起始状态,可以有多个结束状态

单元测试、集成测试、验收测试(确认测试)和系统测试。

单元测试是对模块(程序单元)进行,静态动态均有,动态时以白盒为主辅之以黑盒。

集成测试是测试、组装软件。

确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的各项需求以及软件配置是否完全正确,先用黑盒。

5 程序的调试

程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。

43、软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。

概要设计 详细设计
又称结构设计(总体设计) 又称过程设计(模块设计)
软件需求——>软件表示 模块功能——>精确的、结构化的过程描述
数据库的”逻辑设计” 数据库的”物理设计”
任务是确定每个模块的功能和接口,数据结构和数据库设计,编写概要设计文档,以及评审 任务是确定每个模块的内部特性(具体执行过程),即模块的算法和数据库的物理设计
采用的工具:图形(程序流程图、盒图,即N-S图、PAD图)、表格(判定表)、语言(过程设计语言,即PDL)

    2) 部署图

程序调试的基本步骤:

(1)错误定位;
(2)修改设计和代码,以排除错误;
(3)进行回归测试,防止引进新的错误。

软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。

主要调试方法有:

(1)强行排错法; 
(2)回溯法; 
(3)原因排除法。  

3.作为确认测试和验收的依据。

(3)数据字典 数据流图=系统的逻辑模型
五.结构化设计方法(SD)
(1)定义
结构化设计要解决的任务,就是在需求分析的基础上,将DFD图映射为软件系统的结构。换句话说,这类设计方法允许把用DFD图表示的系统逻辑模型方便地转换成对于软件结构的初始设计描述。
从结构化分析到结构化设计工具的转变:

 

软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。

软件管理学包括人员组织、进度安排、质量保证、配置管理、项目计划等。

软件工程基本原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

2 结构化分析方法

结构化方法的核心和基础是结构化程序设计理论。

软件定义阶段中,可行性研究与计划的制定是确定待开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发的实施计划。需求分析,对待开发软件提出的需求分析并给出详细的定义。

需求分析阶段的工作:需求获取,需求分析,编写需求规格说明书,需求评审。

需求分析方法有:

(1)      结构化需求分析方法;

①面向数据结构的Jackson方法(ISD);

②面向数据流的结构化分析方法(SA);

澳门新濠3559相关文档,需求分析。③面向数据结构的结构化数据系统开发方法(DSSD);

(2)面向对象的分析的方法(OOA)。

从需求分析建立的模型的特性来分:静态分析和动态分析。

结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。

39、软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试

结构化分析结果 结构化设计结果
数据流图的信息 程序结构的设计描述

  ① 外模式--模式映像,保证了数据与程序的逻辑独立性

软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。

软件危机主要表现在成本、质量、生产率等问题。

软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。简单的说就是使软件走向工程化。软件工程的核心思想是把软件产品看作是一个工程产品来处理。

2、软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。

(2)一般分为两个阶段
总体设计(概要设计) 详细设计
(3)基本要点
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员制的组织形式。
(4)采用单入口单出口的模块形式。
六.软件生存周期
①软件定义过程:可行性研究 需求分析
②软件开发过程:设计(概要设计、详细设计) 实施(编码 单元测试) 测试(集成测试 确认测试)
③软件使用与维护过程:使用与维护 退役
七.概要设计 VS 详细设计

 

计算机软件是包括程序、数据相关文档的完整集合。

   ①软件需求的增长得不到满足。用户对系统不满意的情况经常发生。

八.软件测试
(1)概念
软件测试指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
(2)目的
① 软件测试是为了发现错误而执行程序的过程。
② 一个好的测试用例能够发现至今尚未发现的错误。
③ 一个成功的测试是发现了至今尚未发现的错误。
(注:软件调试的目的则是改正错误。)
(3)阶段
【注:由于系统测试实际上超出了软件工程的范畴,故这里没有详细说明。】

  ② 逻辑设计:数据库逻辑结构设计、应用程序概要设计、数据库事务概要设计

软件设计的基本原理是:(1)抽象; (2)模块化; (3)信息隐蔽; (4)模块独立性。


衡量软件模块独立性使用耦合性内聚性两个定性的度量标准。

耦合性是模块见相互连接的紧密程度的度量。耦合程度取决于各个模块之间接口的复杂程度、调用方式以及哪些信息通过接口。

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

在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合,有利于提高模块的独立性。

软件概要设计的基本任务是:

(1)设计软件系统结构;(2)数据结构及数据库设计;(3)编写概要设计文档;(4)概要设计文档评审。

在结构图中,模块用一个矩形表示,箭头表示模块间的调用关系。

可以用带注释的箭头表示模块调用过程中来回传递的信息。

还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据。

结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。

结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。

典型的数据流类型有两种:变换型和事务型。

变换型系统结构图由输入、中心变换、输出三部分组成。

事务型数据流的特点是:接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。

常见的过程设计工具有:

33、从工程管理角度看,软件设计分为两步完成:概要设计与详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。

阶段顺序 单元测试 集成测试 确认测试 系统测试
测试方法 白盒测试 渐增式测试(包括:自顶向下结合法,自底向上结合法) 非渐增式测试 黑盒测试
发现错误的阶段 编码阶段 设计阶段 需求分析阶段
涉及的文档 编码和详细设计文档 详细设计文档和概要设计文档 需求规格说明书和用户手册

  ① 数据需求分析 :描述用户需要组织的信息内容,形成数据字典

软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境。

软件开发环境或软件工程环境是指全面支持软件开发全过程的软件工具的集合。

31、软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。而软件生命周期是指软件产品从提出、实现、使用维护到停止使用退役的过程

一.软件危机
(1)概念:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
(2)产生软件危机的原因主要有:
①软件的规模越来越大,结构越来越复杂
②软件开发管理困难而复杂
③软件开发费用不断增加
④软件开发技术落后
⑤生产方式落后
⑥开发工具落后,生产率提高缓慢
(3)软件危机的表现有:
①经费预算经常突破,完成时间一再拖延
②开发的软件不能满足用户需求
③开发的软件可靠性差
④开发的软件可维护性差
二.软件工程
(1)概念
软件工程是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。
(2)软件工程的三要素
方法、过程、工具
三.常见的软件开发模型
(1)原型模型
a.适用场合
原型模型适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
b.特点
及早提供工作软件
(2)瀑布模型
a.定义
将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型,又称为生存周期模型。
b.适用场合
瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。
c.特点
文档驱动、线性
d.缺点
1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析,这对许多应用软件来说是极其困难的
2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整
3)不支持产品的演化,缺乏灵活性,使软件产品难以维护
(3)螺旋模型
a.定义
是一种将瀑布模型和快速原型模型结合起来的软件开发模型
b.适用场合
螺旋模型支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型
c.特点
支持用户需求的动态变化、风险分析
(4)增量模型
a.定义
分成多个子系统进行开发,最后集成起来
(5)喷泉模型
a.定义
喷泉模型是一种以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型
四.结构化分析方法(SA)
(1)概念
结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是自顶向下、逐层分解。
(2)常见的工具
2.1 数据字典【DD】
a.包括的条目
数据流 数据存储 加工说明 数据项(一般不包含源点与终点)
b.定义
数据字典是系统描述工具中的数据的工具,是对数据定义信息的集合,其所定义的对象都包含于数据流图。
2.2 数据流图【DFD】
a.定义
数据流图是SA方法中用于表示系统逻辑模型的一种工具,以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能,是一种功能模型。
b.四种符号元素

  二、数据库开发方法与实现工具

软件的特点包括:

5)穷举测试不可能;

【面向对象方法较之结构化方法的优越性】
(1)面向对象方法更符合人的思维方式,更容易抓住问题的主干;
(2)所开发出的软件更符合“高内聚,低耦合”的软件设计原则,因此其模块的独立性更强;
(3)更适合于开发大型的软件,更适合于快速原型法开发方法,使软件生产率大大提高;
(4)使用面向对象技术开发出的软件,其可测试性和可维护性都较强;
(5)面向对象方法和技术能够贯彻软件开发的全过程,从分析、设计、编码到测试维护,采用面向对象的方法不存在语义断层,使人的思维保持连贯,减少各阶段之间的不相融性;
(6)使得软件的可重用性大幅度提高。

 

结构化分析的常用工具:数据流图;数据字典;判定树;判定表。

(1)数据流图(DFD图):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。

①加工(转换)——圆框,输入数据经加工变换产生的输出。

②数据流——箭头,沿箭头方向传递数据的通道,一般在旁边标注数据流名。

③存储文件(数据源)——双横线,表示处理过程中存放各种数据的文件。

④源、潭——方框,表示系统和环境的接口,属系统之外的实体。

(2)数据字典:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。

数据字典是结构化分析的核心。

(3)判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。

(4)判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。

软件需求规格说明书的特点:①正确性; ②无岐义性; ③完整性; ④可验证性;

⑤一致性; ⑥可理解性; ⑦可修改性; ⑧可追踪性。

3 结构化设计方法

软件设计是确定系统的物理模型。

软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件结构、模块的划分、功能的分配以及处理流程。

软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务。

42、软件测试的准则:

 

软件工程包括3个要素:方法、工具和过程。

软件工程过程是把软件转化为输出的一组彼此相关的资源活动,包含4种基本活动:

(1)P(plan)——软件规格说明;

(2)D(do)——软件开发;

(3)C(check)——软件确认;

(4)A(action)——软件演进。

软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的过程。

1.便于用户和开发人员进行理解和交流。

  ③ 物理设计:数据库物理结构设计、数据库事务详细设计、应用程序详细设计

软件生命周期分三个阶段:软件定义、软件开发、运行维护,

主要活动阶段是:

(1)可行性研究与计划制定;
(2)需求分析;
(3)软件设计(概要设计和详细设计);
(4)软件实现;
(5)软件测试;
(6)运行和维护。

软件工程的目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。

澳门新濠3559,基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。

44、在软件开发和维护过程中,软件危机主要表现在:

  2.面向对象分析与建模方法:UML用例建模

36、可行性研究和计划制定,其目的在于确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划,因此不属于开发阶段。

  ② 系统需求:用例图

   (2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。

    3) 通信图

24、模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

  (二)系统设计:

软件设计阶段任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。其中,在数据结构及数据库设计任务中,需要结合算法设计,确定算法所必需的逻辑数据结构及其操作。

一、数据库应用系统生命周期

(1)逐步求精:对复杂的问题,应设计一些子目标作过渡,逐步细化

  ③ 内模式:数据库的物理结构和存储方式,一个数据库只有一个内模式

   ⑤软件的成本不断提高。

   三级模式结构:

56、软件工程包括3个要素,即方法、工具和过程

  ③ 性能需求分析:描述系统应当做到什么程度,数据操作响应时间、系统吞吐量、硬件资源等等

52、结构图的深度表示控制的层数。同一层上所有结点的所有子结点都在下一层,该系统结构共三层,系统深度就为3。

  DFD方法基本元素:数据流数据源数据存储数据处理数据存储

系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。如操作系统,编译程序,汇编程序,网络软件,数据库管理系统等

  UML的五种视图:

4)程序员应避免检查自己的程序;

    3) 复合结构图

(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

  ② 模式(概念模式、逻辑模式):全体数据的逻辑结构且用户不可见

27、程序调试的任务是诊断和改正程序中的错误,改正以后还需要再测试。程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。

    1) 包图

黑盒测试方法主要有:等价类划分法、边界值分析法、错误推测法、因果图等,主要用于软件确认测试。

   (一)需求分析:

3)一个成功的测试是发现了至今尚未发现的错误的测试。

  数据库事务概要设计内容包括:事务名称事务所访问的关系表及关系属性事务处理逻辑事务用户(指使用、启动、调用该事务的软件模块或系统)

18、视图设计一般有3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。

  二层映像:

   (1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。

  ③ 系统结构:

1)软件测试是为了发现错误而执行程序的过程;

  ① 外模式:用户可见的部分数据的存在形式,一个数据库可以有多个外模式

9、软件设计一般分为总体设计和详细设计两个阶段,总体设计的任务是确定软件的总体结构,子系统和模块的划分,并确定模块间的接口和评价模块划分质量,以及进行数据分析。详细设计的任务是确定每一模块实现的定义,包括数据结构、算法和接口。

  获取需求的方法:面谈实地观察问卷调查查阅资料

46、软件生命周期的主要活动阶段为:

    1) 组件图

其中,在数据结构及数据库设计任务中,需要结合算法设计,确定算法所必需的逻辑数据结构及其操作。

 

15、确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的确定的各种需求,以及软件配置是否完全、正确。

  1.结构化分析与建模方法:DFD建模(Data Flow Diagram)、IDEF建模

应用软件是为解决特定领域的应用而开发的软件。例如,事务处理软件,工程与科学计算软件,实时处理软件,嵌入式软件,人工智能软件等应用性质不同的各种软件。

  ④ 其他需求:存储需求、安全性需求、备份与恢复需求

14、数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。

    2) 交互概述图

结构化分析的常用工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表等。

    3) 时间图

软件测试的目的:

  ④ 微观设计:

26、软件具有以下特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性;②软件的生产过程与硬件不同,它没有明显的制作过程;③软件在运行、使用期间不存在磨损、老化问题;④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。

  ⑤ 宏观设计:

编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。

 

50、软件设计阶段任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。

  数据库系统的更新既包括应用系统及其相关的数据库对象,也包括数据库管理系统及其所在的操作系统环境

32、20世纪70年代以来,提出了许多软件设计方法,主要有

  ① 概念设计:数据库概念模型设计、系统总体设计

13、程序流程图(PFD)通常也称为程序框图,是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流,矩形表示加工步骤,菱形表示逻辑条件。

    1) 类图

58、软件根据应用目标的不同,是多种多样的。软件按照功能可以分为:应用软件、系统软件、支撑软件(工具软件)。应用软件是为解决特定领域的应用而开发的软件。如:数据库管理系统、财务管理系统,所以选项B、C错误;系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。如:操作系统,所以选项D错误;支撑软件是介于系统软件和应用之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件,设计工具软件,编码工具软件,测试工具软件,维护工具软件等,也包括辅助管理人员控制开发进程和项目管理的工具软件。

  UML(Unified Modeling Language)统一建模语言

   ⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

    2) 顺序图

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

 

23、关于软件测试的目的,Grenford J.Myers在《The Art of Software Testing》一书中给出了深刻的阐述:软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。整体来说,软件测试的目的就是尽可能多地发现程序中的错误。

  需求分析方法:

3)充分注意测试中的群集现象;

  三、数据库应用体系结构

1、软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典

  ② 模式-内模式映像,保证了数据与程序的物理独立性

2)严格执行测试计划,排除测试的随意性;

 

41、软件测试是保证软件质量的重要手段,其主要过程涵盖了整个软件生命期的过程。

  ⑥ 系统实现:

19、常见的过程设计工具有:程序流程图、N-S图、PAD图和HIPO图。其中,为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为N-S图。

34、软件生命周期分为软件定义、软件开发及软件维护。其中软件开发阶段的任务中软件设计阶段可分解成概要设计阶段和详细设计阶段;软件维护不属于软件开发阶段。

   ④软件不可维护或维护程度非常低。

6、软件需求规格说明书是需求分析阶段产生的主要文档,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制开发软件进程的依据。

7、软件需求规格说明书的作用:

需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。

49、数据字典(Data Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。

35、软件开发阶段包括需求分析、总体设计、详细设计、编码和测试5个阶段。其中需求分析阶段常用的工具是数据流图(简称DFD)和数据字典(简称DD)。常见的详细设计的图形描述工具主要有程序流程图、N-S结构图、问题分析图(简称PAD图)。

38、软件测试的基本准则为:①所有测试都应追溯到需求。②严格执行测试计划,排除测试的随意性。③充分注意测试中的群集现象。④程序员应避免检查自己的程序。⑤穷举测试不可能。⑥妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。因此选项D正确。

   ②软件开发成本和进度无法控制。开发成本超出预算,开发周期大大超过规定日期的情况经常发生。

20、通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护三个阶段。

总之,可以将软件危机归结为成本、质量、生产率等问题。

4、需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。选项A)软件开发方法是在总体设计阶段完成的任务;选项B)软件开发工具是在实现阶段需完成的任务;选项C)软件开发费用是在可行性研究阶段需完成的任务。

29、程序调试的任务是诊断和改正程序中的错误。程序调试的基本步骤:①错误定位。②修改设计和代码,以排除错误。③进行回归测试,防止引进新的错误。

51、结构图是描述软件结构的图形工具,模块用矩形表示,模块的扇出是指模块直接调用的下级模块的个数,模块的扇入是指模块受了多少个直接上级模块的调用。扇出和扇入的最大值称为最大扇数。

1)所有的测试都应追溯到需求;

  在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错)。

8、结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而PAD图是常见的过程设计工具中的图形设计。

2)一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;

45、为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念,开辟了工程学的新兴领域-软件工程学。软件工程就是试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。

 白盒测试从检查程序的逻辑着手,可以把白盒测试理解为"内行人"进行软件测试。逻辑覆盖是泛指一系列以程序内部的逻辑结构为基础的测试用例技术,程序中的逻辑表示有判断、分支、选择等。

59、系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。在系统比较复杂的情况下,设计阶段可分解成概要设计阶段和详细设计阶段。编写概要设计说明书、详细设计说明书和测试计划初稿,提交评审。

   ③软件质量难以保证。

57、软件工程从根本上来说,其目的是研究软件的开发技术

   (5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。

37、1983年IEEE将软件测试定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。因此选项A的叙述是错误的。

为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。

2.反映出用户问题的结构,可以作为软件开发工作的基础和依据。

需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。

22、黑盒测试方法也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。

12、软件设计工具包括:程序流程图、N-S、PAD、HIPO,判定表,PDL(伪码)。

21、软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

(3)模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。

48、详细设计使用的工具主要有:程序流程图,N-S图,PAD,HIPO。

   (3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。在系统比较复杂的情况下,设计阶段可分解成概要设计阶段和详细设计阶段。编写概要设计说明书、详细设计说明书和测试设计初稿,提交评审。

10、软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。

6)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。

30、软件工程是计算机软件开发和维护的工程学科,它采用工程的概念原理、技术和方法来开发和维护软件,它把经过时间考验而证明正确的管理技术和当前能够得到的最好技术结合起来。

53、扇入,是直接调用该模块的上级模块的个数,扇入的大小代表着该模块被调用的频繁度,扇入越大表明该模块使用度高,扇入小表明该模块被调用的机率低

16、总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。

47、概要设计使用的工具是系统结构图。

3、常见的需求分析方法有:结构化分析方法和面向对象的分析方法。结构化分析的常用工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表等

55、关于软件工程的定义,国标(GB)中指出,软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序

17、调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法

28、为了达到更好的测试效果,应该由独立的第三方来构造测试。因为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是程度不同地存在障碍的。软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

5、软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:① 便于用户、开发人员进行理解和交流;② 反映出用户问题的结构,可以作为软件开发工作的基础和依据;③ 作为确认测试和验收的依据。

(2)自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化

编辑:数据库 本文来源:澳门新濠3559相关文档,需求分析

关键词: 澳门新濠3559