全国计算机等级考试二级公共基础知识讲义(第3章)PPT资料.ppt
《全国计算机等级考试二级公共基础知识讲义(第3章)PPT资料.ppt》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级公共基础知识讲义(第3章)PPT资料.ppt(75页珍藏版)》请在冰豆网上搜索。
方法、工具和过程。
方法是完成软件工程项目的技术手段;
工具支持软件的开发、管理文档生成;
过程支持软件开发的各个环节的控制、管理。
软件工程过程是把输入转化为输出的一组彼此相关的资源和活动,包含4种基本活动:
(1)P软件规格说明;
Plan
(2)D软件开发;
Do(3)C软件确认;
Check(4)A软件演进。
Action,8,软件的分类,软件按功能可分为:
应用软件、系统软件和支撑软件(或工具软件)。
应用软件是为解决特定领域的应用而开发的软件。
例如,事物处理软件、工程与科学计算软件、实时处理软件、嵌入式软件、人工智能软件等应用性质不同的各种软件。
系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件,如操作系统、编译程序、汇编程序、网络软件、数据库管理系统等。
支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支撑开发和维护应用软件的工具软件,如需求分析工具软件、设计工具软件、编码工具软件、测试工具软件、维护工具软件等,也包括辅助管理人员控制开发进程和项目管理的工具软件,如计划进度管理工具软件、过程控制工具软件、质量管理及配置管理工具软件等。
9,软件危机,软件危机主要表现在:
(1)软件需求的增长得不到满足;
(2)软件开发成本和进度无法控制;
(3)软件质量难以保证;
(4)软件不可维护或维护程度非常低;
(5)软件成本不断提高;
(6)软件开发生产效率的提高赶不上硬件的发展和应用需求的增长。
总之,可以将软件危机归结为成本、质量和生产率等问题。
10,软件周期,软件周期:
软件产品从提出、实现、使用、维护到停止使用、退役的过程。
软件生命周期三个阶段:
软件定义、软件开发、运行维护,主要活动阶段是:
(1)可行性研究与计划制定;
(2)需求分析;
(3)软件设计;
(4)软件实现;
(5)软件测试;
(6)运行和维护。
11,12,软件工程的目标和与原则:
目标:
在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
基本目标:
付出较低的开发成本;
达到要求的软件功能;
取得较好的软件性能;
开发软件易于移植;
需要较低的费用;
能按时完成开发,及时交付使用。
基本原则:
抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
13,软件工程,软件工程的理论和技术性研究的内容主要包括:
软件开发技术和软件工程管理。
软件开发技术包括:
软件开发方法学、开发过程、开发工具和软件工程环境。
软件工程管理包括:
软件管理学、软件工程经济学、软件心理学等内容。
软件管理学包括人员组织、进度安排、质量保证、配置管理、项目计划等。
14,软件开发工具与软件开发环境,1、软件开发工具。
是协助开发人员进行软件开发活动所使用的软件或环境,它包括需求分析工具、设计工具、编码工具、排错工具、测试工具等。
2、软件开发环境。
是指全面支持软件开发全过程的软件工具集合。
15,历届试题,2005.4(8)下列描述中正确的是A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合2005.9(5)下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题,16,历届试题,(3)下列选项中不属于软件生命周期开发阶段任务的是A)软件测试B)概要设计C)软件维护D)详细设计2007.4(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。
编码和测试属于【4】阶段。
2007.9
(1)软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整结合,17,2008.9,(3)软件工程三要素包括方法、工具和过程,其中,【3】支持软件开发的各个环节的控制和管理。
【4】是完成软件工程项目的技术手段。
【5】支持软件的开发、管理文档生成。
18,32结构化分析方法,结构化方法的核心和基础是结构化程序设计理论。
需求分析方法有
(1)结构化需求分析方法;
(2)面向对象的分析方法。
从需求分析建立的模型的特性来分:
静态分析和动态分析。
19,3.2.1需求分析与需求分析方法,1.需求分析需求分析是指用户对目标系统的功能、行为、性能、设计约束等方面的期望。
需求分析的任务是发现需求、求精、建模和定义需求的过程。
需求分析将创建所需数据模型、功能模型和控制模型。
(1)需求分析定义1997年IEEE软件工程标准对需求分析定义如下:
用户解决问题或达到目标所需的条件或权能系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能一种反映前面所述的条件或权能的文档说明。
(2)需求分析阶段的工作需求分析阶段包括四个方面:
需求获取。
确定对目标系统的各方面需求。
需求分析。
对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。
编写需求规格说明书。
说明书作为需求分析的阶段成果,可为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据需求评审。
需求分析最后一关,对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。
20,2.需求分析方法,需求分析方法有:
结构化分析方法。
包括面向数据流的结构化分析方法,面向数据结构的Jackson方法,面向数据结构的结构化数据系统开发方法。
面向对象的分析方法。
从需求分析建立的模型的特性来分,需求分析方法又为静态分析方法和动态分析方法。
21,3.2.2结构化分析方法,1.关于结构化分析方法结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
结构化分析的步骤如下:
通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型。
去掉具体模型中非本质因素,抽象出当前系统的逻辑模型。
根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型。
完善目标系统并补充细节,写出目标系统的软件需求规格说明。
评审直到确认完全符合用户对软件的需求。
22,2.结构化分析的常用工具,
(1)数据流图(DFD-DataFlowDiagram)数据流图(DFD):
描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。
数据流图中主要图形元素有:
一般通过对实际系统的了解和分析后,使用数据流图为系统建立逻辑模型,建立数据流图步骤如下:
(1)由外向里:
先画系统的输入和输出,然后画系统的内部
(2)自顶向下:
顺序完成顶层、中间层、底层数据流图(3)逐层分解,23,银行取款业务的数据流图,24,
(2)数据字典(DD),对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。
概括地说,数据字典的作用是对DFD中出现的被命名的图形元素的确切的解释。
数据字典的作用是对数据流图(DFD)中出现的被命名的图形元素的确切解释。
通常数据词典包含的信息有:
名称、别名、何处使用/如何使用、内容描述、补充信息等。
数据字典是结构化分析的核心。
25,(3)判定树、(4)判定表,判定树:
从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。
判定表:
与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。
26,“检查发货单”判定树,27,“检查发货单”判定表,28,3.2.3软件需求规格说明书,软件需求规格说明书是需求分析阶段的最后成果,是软件开发中重要文档之一。
软件需求规格说明书的作用是:
便于用户、开发人员进行理解和交流。
反映出用户问题的结构,可以作为软件开发工作的基础和依据。
作为确认测试和验收的依据。
29,软件需求规格说明书的特点:
(1)正确性;
(2)无歧义性;
(3)完整性;
(4)可验证性;
(5)一致性;
(6)可理解性;
(7)可追踪性。
30,历年试题:
2004.9(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码2007.4(5)在结构化分析使用的数据流图(DFD)中,利用【5】对其中的图形元素进行确切解释。
2007.9
(1)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【1】。
2008.4(4)在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划,31,2008.9,(5)数据流图中带有箭头的线段表示的是A)控制流B)事件驱动C)模块调用D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是A)N-S图B)DFD图C)PAD图D)程序流程图,32,33结构化设计方法,软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。
软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。
从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。
结构设计:
定义软件系统各主要部件之间的关系。
数据设计:
将分析时创建的模型转化为数据结构的定义。
接口设计:
描述软件内部、软件和协作系统之间以及软件与人之间如何通信。
过程设计:
把系统结构部件转换成软件的过程描述。
33,33结构化设计方法,从工程管理角度来看:
概要设计和详细设计。
概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;
详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。
34,33结构化设计方法,软件概要设计的基本任务是:
(1)设计软件系统结构;
(2)数据结构及数据库设计(3)编写概要设计文档;
(4)概要设计文档评审。
模块用一个矩形表示,箭头表示模块间的调用关系。
在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。
还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递