软件工程基础知识

合集下载

软件工程的基础知识

软件工程的基础知识

软件工程的基础知识软件工程是一门综合性的学科,旨在通过系统化的方法和工具,对软件开发过程进行管理和控制,以提高软件的质量和效率。

下面将介绍软件工程的基础知识,包括软件生命周期、需求工程、软件设计和软件测试等方面。

1. 软件生命周期软件生命周期指软件从构思、开发、维护到废弃的整个过程。

通常包括以下几个阶段:- 计划阶段:确定需求、制定软件开发计划和预算。

- 需求分析阶段:分析用户需求、制定需求规格说明书。

- 设计阶段:制定系统设计方案、编写概要设计和详细设计文档。

- 编码阶段:根据设计文档编写源代码。

- 测试和验证阶段:进行单元测试、集成测试和系统测试,确保软件质量。

- 维护阶段:修复软件缺陷、进行功能扩展和性能优化。

在软件生命周期中,不同的阶段具有不同的目标和任务,需要进行严格的管理和控制。

2. 需求工程需求工程是软件工程的重要组成部分,旨在确定用户需求,并将其转化为明确、可靠的需求规格说明书。

需求工程包括以下几个关键步骤:- 需求获取:与用户沟通、收集需求,并进行需求分析和整理。

- 需求建模:使用UML等工具建立需求模型,包括用例图、活动图、类图等。

- 需求验证:与用户确认需求的正确性和完整性,并进行需求评审和验证。

- 需求管理:对需求进行版本控制、变更管理和跟踪,确保需求的准确性和一致性。

3. 软件设计软件设计是将需求规格转化为软件结构的过程,旨在确定软件的整体架构和详细设计方案。

软件设计包括以下几个主要方面: - 结构设计:确定软件的模块划分、接口设计和数据结构设计。

- 行为设计:设计软件的算法和逻辑处理流程,确定软件的具体功能。

- 用户界面设计:设计用户界面的布局、交互方式和视觉效果,提高用户体验。

- 数据库设计:设计软件所需的数据库结构和数据存储方案。

软件设计需要综合考虑软件的功能需求、性能需求和可维护性等因素,以确保设计的准确性和可靠性。

4. 软件测试软件测试是保证软件质量的重要手段,通过检测和验证软件的功能、性能和稳定性等来发现和修复缺陷。

软件工程专业需要掌握的知识

软件工程专业需要掌握的知识

软件工程专业需要掌握的知识软件工程作为计算机领域中的一个重要分支,涉及到多个方面的知识和技能。

以下是软件工程专业需要掌握的一些核心知识。

一、编程语言编程语言是软件工程师必备的基本技能。

常见的编程语言包括Java、Python、C++、JavaScript等。

除了掌握这些语言的基础语法,软件工程师还应该具备编写高效、可读性强的代码能力,并了解不同语言之间的优缺点和应用场景。

二、数据结构和算法数据结构和算法是计算机科学中的核心概念,对于软件工程师来说尤为重要。

软件工程师需要了解常见的数据结构(如数组、链表、树、图等)和算法(如排序、搜索、动态规划等),并能够在实际开发中应用它们。

这有助于提高软件性能,优化软件结构,并解决复杂的问题。

三、操作系统操作系统是计算机系统中管理硬件和软件资源的核心组件。

软件工程师需要了解常见的操作系统(如Windows、Linux等)的基本原理和工作机制,包括进程管理、内存管理、文件系统和设备驱动程序等。

此外,还应该了解并发编程的概念和多线程处理方法。

四、数据库数据库是存储和管理大量数据的关键组件。

软件工程师需要了解关系型数据库(如MySQL、Oracle等)和非关系型数据库(如MongoDB、Redis等)的基本原理和使用方法。

此外,还应该了解SQL语言以及数据库设计和优化等方面的知识。

五、网络编程网络编程是实现分布式系统和互联网应用的关键技术。

软件工程师需要了解TCP/IP协议栈、HTTP协议以及常见的网络协议(如FTP、SMTP、POP3等)。

此外,还应该了解Web开发的基础知识(如HTML、CSS、JavaScript等),并能够使用常见的网络编程框架和库进行开发。

六、设计模式设计模式是解决常见问题的最佳实践。

软件工程师需要了解常见的面向对象设计模式(如单例模式、工厂模式、观察者模式等)和常用的设计原则(如开闭原则、单一职责原则等),以便在实际开发中提高代码的可重用性和可维护性。

软件工程基础知识点整理版

软件工程基础知识点整理版

软件工程基础知识点整理版1.软件生命周期:软件工程将开发和维护软件的过程划分为不同的阶段,包括需求分析、设计、编码、测试、部署和维护。

这些阶段构成了软件生命周期。

2.软件需求:软件需求工程是对软件需求进行分析、规划和定义的过程。

它包括对用户需求的收集、分析和确认,以及对系统功能和性能的详细规范。

3.软件设计:软件设计是定义软件的结构和组成部分的过程。

它包括对软件系统的整体架构和各个模块的设计。

4.软件编码:软件编码是将设计好的软件系统转化为具体的程序代码的过程。

编码过程需要使用编程语言,并遵循编码规范和最佳实践。

5.软件测试:软件测试是验证软件是否满足需求规格的过程。

它包括对软件的功能、性能和安全性进行测试,并发现和修复软件中的错误。

6.软件配置管理:软件配置管理是对软件开发过程中各个组成部分的控制和跟踪。

它包括版本控制、配置项管理和变更控制等活动。

7.软件质量保证:软件质量保证是确保软件达到高质量标准的一系列过程和活动。

它包括质量计划、质量评审、质量度量和缺陷管理等。

8.软件项目管理:软件项目管理是规划、组织和控制软件开发和维护活动的过程。

它包括项目计划、进度管理、团队管理和风险管理等。

9.软件工具和环境:软件工程使用各种工具和环境来辅助软件开发和维护。

这些工具包括集成开发环境、版本控制工具、测试工具和项目管理工具等。

10.软件工程伦理:软件工程伦理是软件工程师在工作中需要遵循的道德准则和原则。

它包括保护用户隐私、遵守知识产权法律和保持专业水平等方面。

以上是软件工程的一些基础知识点,但软件工程领域非常广泛,还有很多其他的知识点值得深入学习和研究。

尽管有一些基础知识点可以帮助我们理解和实践软件工程的基本原理和方法,但要成为一名优秀的软件工程师,还需要不断学习和提升自己的技能和知识。

软件工程的基础知识

软件工程的基础知识

软件工程的基础知识
软件工程的基础知识包括以下内容:
1. 软件开发生命周期:软件开发生命周期指的是软件从需求获取到维护和升级的整个过程。

常见的软件开发生命周期模型包括瀑布模型、迭代模型、增量模型等。

2. 软件需求工程:软件需求工程是明确用户需求并将其转化为可实现的软件系统的过程。

包括需求获取、需求分析、需求规格化和需求验证等阶段。

3. 软件设计:软件设计是确定软件系统结构和组件之间的关系,并描述其行为的过程。

包括结构设计、详细设计、接口设计、数据库设计等。

4. 编程与实现:根据软件设计的规范和要求,使用特定的编程语言开发软件系统,并进行测试和调试。

5. 软件配置管理:软件配置管理是对软件、文档和相关组件进行版本控制和配置管理的过程,包括变更控制、配置标识、配置状态管理等。

6. 软件测试与质量保证:软件测试是为了发现和修复软件中的缺陷和错误,确保软件质量符合预期要求的过程。

包括单元测试、集成测试、系统测试和验收测试等。

7. 软件维护:软件维护是在软件发布后对其进行更新、修复和
改进的过程。

常见的软件维护类型包括改正性维护、适应性维护、完善性维护和预防性维护等。

8. 软件项目管理:软件项目管理是为了有效地规划、组织和控制软件项目开发过程的活动。

包括项目计划、资源分配、进度控制、风险管理等。

9. 软件工程标准与规范:软件工程标准与规范是为了保证软件开发过程和软件质量的一致性和可重复性而制定的一套规则和指南,如ISO/IEC 12207、CMMI等。

以上是软件工程的基础知识,掌握这些知识可以帮助开发人员更好地理解和实践软件开发过程,提高软件质量和开发效率。

软件工程基础知识概述

软件工程基础知识概述

软件工程基础知识概述第一章:软件工程的定义和发展历程软件工程是一门涉及软件开发以及管理的综合学科。

它的出现是为了解决软件开发中遇到的问题和挑战。

在职业领域中,软件工程师使用科学的方法来开发、维护和管理软件。

第二章:软件开发生命周期软件开发生命周期是指软件的构建和维护过程中的各个阶段。

常见的软件开发生命周期模型包括瀑布模型、迭代模型和敏捷开发等。

瀑布模型是最早被提出并广泛应用的一种软件开发流程模型,包括需求分析、系统设计、编码、测试和维护等阶段。

第三章:软件需求分析软件需求分析是软件开发过程中的第一步,它的目的是通过调查和研究用户需求,明确软件产品需要具备的功能和性能要求。

需求分析包括需求获取、需求分析和需求规格说明等步骤,通过使用工具和技术,如面谈、问卷和原型设计等,来获取和分析用户需求。

第四章:软件设计软件设计是软件开发过程中的重要一环,它的目标是将需求转化为可实现的软件系统。

软件设计可以从结构设计、数据设计和接口设计等多个层面进行,通过使用工具和技术,如UML、设计模式和构件式设计等,来实现模块化、可复用和高内聚低耦合的设计。

第五章:软件编码软件编码是将设计好的软件系统转化为计算机可执行的程序代码的过程。

软件编码需要使用一种编程语言,如Java、C++和Python等,通过准确理解设计要求,编写高质量、易于理解和可维护的代码。

第六章:软件测试软件测试是保证软件质量的重要手段。

它的目标是发现和修复软件中的缺陷和错误。

常见的软件测试方法包括单元测试、集成测试和系统测试等。

为了提高测试效率和测试覆盖率,软件工程师可以使用自动化测试工具和技术,如JUnit和Selenium等。

第七章:软件项目管理软件项目管理是指在软件开发过程中对项目进行规划、组织、指导和控制的活动。

它涉及到项目范围、进度、成本和质量等方面的管理。

为了提高软件项目管理的效果,可以采用项目管理方法和工具,如WBS、PERT和甘特图等。

计算机二级【公共基础知识】软件工程基础

计算机二级【公共基础知识】软件工程基础
5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素。
3.软件的分类
根据应用目标的不同,软件可分应用软件、系 统软件和支撑软件(或工具软件)。
(1)应用软件。它是在特定领域内开发,为特定目 的服务的一类软件。
(2)系统软件。它能与计算机硬件紧密配合在一起, 使计算机系统各个部分、相关的软件和数据协调、 高效的工作的软件。例如:操作系统、数据库管理 系统。
3.4软件测试
软件测试的指用人工或自动手段来运行或测定
某个系统的过程,其目的在于检验它是否满足 规定的需求或是弄清预期结果与实际结果之间
的差别。简单地说,软件测试的目的是尽可能 多地发现程序中的错误。
考点2:软件测试方法
按是否要执行被测试软件的角度分为:静态测 试和动态测试。
静态测试包括代码检查、静态结构分析、代码 质量度量。不实际运行软件,主要通过人工进 行。
1. 详细设计为软件结构图中的每一个模块确定
实现算法和局部数据结构,用某种选定的表 达工具表示算法和数据结构的细节。
详细设计常用工具:
1. 图形工具(程序流程图、 PAD图 、N-S图、 HIPO图)
2. 表格工具(判定表)
3. 语言工具(PDL )
开始 输入R S=3.14 * R*R
输出S
结束
答案:D
例题:
软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展
答案:C
例题:
软件设计中,有利于提高模块独立性的一个准 则是
A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合
答案:C
例题:
下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图

软件工程基本知识

软件工程基本知识
8. 软件工程工具和方法:软件工程工具和方法是辅助软件开发和管理的工具和技术。例如 ,集成开发环境(IDE)、需求管理工具、测试工具、敏捷开发方法等。
以上是软软件 工程教育等方面的内容。对于软件工程师来说,掌握这些基本知识是非常重要的。
3. 软件设计:软件设计是将需求转化为可执行代码的过程。它包括系统架构设计、模块设 计、接口设计等活动,旨在实现系统的功能和性能要求。
软件工程基本知识
4. 编码和测试:编码是将设计转化为实际代码的过程,测试是验证代码是否满足需求和设 计的过程。编码和测试是软件开发过程中的关键环节。
5. 软件质量保证:软件质量保证是确保软件系统质量的一系列活动。它包括代码审查、单 元测试、集成测试、系统测试、性能测试等,旨在发现和修复软件中的缺陷。
6. 软件配置管理:软件配置管理是管理软件开发过程中的配置项的活动。它包括版本控制 、变更管理、构建和发布管理等,旨在确保软件系统的稳定性和可追溯性。
软件工程基本知识
7. 软件项目管理:软件项目管理是规划、组织和控制软件开发项目的过程。它包括项目计 划、资源管理、进度控制、风险管理等,旨在确保项目按时、按质完成。
软件工程基本知识
软件工程是一门关于开发、维护和管理软件系统的学科。以下是一些软件工程的基本知识:
1. 软件开发生命周期:软件开发生命周期是指软件从需求分析到设计、编码、测试、部署 和维护的整个过程。常见的软件开发生命周期模型包括瀑布模型、迭代模型、敏捷开发等。
2. 需求工程:需求工程是确定和记录软件系统需求的过程。它包括需求收集、需求分析、 需求规格和需求验证等活动,旨在确保软件系统满足用户需求。

软件工程基础知识

软件工程基础知识

软件工程基础知识一.什么是软件1.满足功能要求和性能(de)指令或计算机程序集合;2.处理信息(de)数据结构;3.描述程序功能以及程序如何操作和使用所要求(de)文档;二.软件危机以及产生软件危机(de)原因1.软件开发生产率提高(de)速度,远远跟不上计算机迅速普及(de)趋势.软件产品“供不应求”.2.软件成本在计算机系统总成本中所占(de)比例逐年上升.3.软件开发人员和用户之间(de)信息交流往往很不充分,用户对“已完成(de)”(de)软件系统不满足(de)现象经常发生.4.软件产品(de)质量不容易保证.5.软件产品常常是不可维护(de).6.软件产品(de)重用性差,同样(de)软件多次重复开发.7.软件通常没有适当(de)文档资料.产生软件危机(de)原因可归结为两个重要(de)方面:软件生产本身存在(de)复杂性;软件开发所使用(de)方法和技术.三.有哪些软件工程方法学及其要素1.使用最广泛(de)软件工程方法学是结构化方法学和面向对象(de)方法学.2.要素:方法、工具和过程.四.什么是软件生存周期有哪些活动软件生存周期一个软件从提出开发要求开始到软件废弃不用(de)整个过程.开发活动可行性分析和项目开发计划、需求分析和定义、软件设计(先后细分为:概要设计和详细设计)、编码、测试和运行维护各活动阶段主要文档4.3.1可行行分析和项目开发计划可性行研究报告项目开发计划4.3.2需求分析中(de)文档需求规格说明书初步用户使用手册确认测试计划修改完善(de)软件开发计划4.3.3 概要设计阶段文档概要设计说明书数据库说明书用户手册修订(de)测试计划(测试(de)策略、方法、步骤)4.4.4 详细设计阶段详细设计说明书4.4.5 系统测试阶段系统测试计划文档五.有哪些主要生存期模型瀑布模型、原型开发模型(快速原型模型、演化模型、增量模型)、螺旋模型、喷泉模型、瀑布模型瀑布模型(传统(de)软件周期模型)严格遵循软件生命周期各阶段(de)固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入到下一阶段,整个模型就像一个飞流直下(de)瀑布.优点:可强迫开发人员采用规范(de)方法,严格规定了各阶段必须提交(de)文档;要求每一阶段结束后,都要进行严格(de)评审.与它最相适应(de)开发方法是结构化方法.缺点:不适应用户需求(de)改动.原型模型5.2.1 快速原型模型快速原型(de)用途是获知用户(de)真正需求,一旦需求确定了,原型即被抛弃.主要用于需求分析阶段.不追求也不可能要求对需求(de)严格定义,而是采用了动态定义需求(de)方法,所以不能定义完善(de)文档.特征:简化项目管理、尽快建立初步需求、加强用户参与和决策.具有广泛技能水平(de)原型化人员是原型实施(de)重要保证.原型化人员应该是具有经验与才干、训练有素(de)专业人员.衡量原型化人员能力(de)重要标准是他是否能够从用户(de)模糊描述中快速获取需求.5.2.2 演化模型在快速原型模型中,原型(de)用途是获知用户(de)真正需求,一旦需求确定了,原型即被抛弃.而演化模型应用于整个软件开发过程,是从初始模型逐步演化为最终软件产品(de)渐进过程.也就是说,快速原型模型是一种“抛弃式”(de)原型化方法,而演化模型则是一种“渐进式”(de)原型化方法.5.2.3增量模型增量模型主要用于设计阶段,把软件产品划分为一系列(de)增量构件,分别进行设计、编程、集成和测试.新(de)增量构件不得破坏已经开发出来(de)产品.5.2.4 原型模型小结从下面(de)有关原型化方法(de)叙述中,选择出正确(de)叙述:(1)快速原型方法是一种企图克服传统软件周期模型缺点(de)开发方法.(2)在用户(de)数据资源没有得到很好地组织和管理(de)时候,应该使用原型化方法.(3)在用户没有明确地肯定其需求(de)时候,应该使用原型化方法.(4)在用户不希望把自己(de)时间花在软件开发过程中(de)时候,应该使用原型化方法.(5)使用原型化方法时应该使用第三代编程语言.(6)原型化加强了开发过程中用户(de)参与和决策.(7)原型化方法大致可分为三类:抛弃式、演化式和递增式.(8)原型化方法大致可分为演化式和递增式.(9)采用原型化方法时,软件(de)开发成本较高.(10)采用原型化方法时,关键(de)因素是建立原形(de)速度,而不是原形运行(de)效率.螺旋模型螺旋模型综合了瀑布模型和原型模型中(de)演化模型(de)优点,还增加了风险分析.螺旋线第一圈(de)开始点可能是一个概念项目.从第二圈开始,一个新产品开发项目开始了,新产品(de)演化沿着螺旋线进行若干次迭代,一直转到软件生命期结束.喷泉模型喷泉模型主要用于描述面向对象(de)开发过程.喷泉一词体现了面向对象开发过程(de)迭代和无间隙特征.六.软件过程基础知识软件过程软件过程是指人们用于开发和维护软件及相关产品(de)一系列活动,包括软件工程过程和软件管理过程.评估工具软件过程(de)评估,通常采用软件能力成熟度模型(Capability Maturity Model,CMM).(de)5个等级(由低级到高级):初始级软件过程是无序(de),有时甚至是混乱(de),对过程几乎没有定义,成功取决于个人努力,管理是反应式(消防式)(de).可重复级建立了基本(de)项目管理过程来跟踪费用、进度和功能特性.制定了必要(de)过程纪律,能重复早先类似应用项目取得(de)成功.已定义级已将软件管理和工程两方面(de)过程文档化、标准化,并综合成该组织(de)标准化软件过程.所有项目均使用经标准、裁减(de)标准软件过程来开发和维护软件.已管理级收集对软件过程和产品质量(de)详细度量,对软件过程和产品都有定量(de)理解与控制.优化级加强了定量分析,通过来自过程质量反馈和来自新观念、新技术(de)反馈使过程能持续不断地改进.七.软件工程项目管理基本知识软件项目管理开始于任何技术活动之前,并且贯穿于整个(de)软件生命周期.软件工程项目管理一般分为时间管理、成本管理、人力资源管理、风险管理.时间管理7.1.1 Gantt图是一种简单(de)水平条形图,它以水平线段表示子任务(de)工作阶段,线段(de)起点和终点分别对应着子任务(de)起始时间,线段长度指示完成该任务所需要(de)时间.甘特图(de)优点:直观简明、易学易绘、可从图上清楚地标出子任务间(de)时间对比,但它也有缺点:(a)不能显示地描绘各项彼此间(de)依赖关系;(b)进度计划(de)关键部分不明显,难以判断哪些部分应当是主攻和主控(de)对象;(c)计划中有潜力(de)部分以及潜力(de)大小不明确,往往造成潜力(de)浪费.7.1.2 PERT网图与关键路径PERT网图是一个由箭头(标识任务)和结点(标识事件)组成(de)有向图.将网络方法用于工作计划安排(de)评审和检查.PERT图不仅给出了每个任务(de)开始时间、结束时间和完成该任务所需(de)时间,还给出了任务之间(de)依赖关系,即哪些任务完成后才能开始另一些任务,以及如期完成整个工程(de)“关键路径”.关键路径(Critical Path)是由一连串(de)任务所组成(de)链,距离最大(de)一条路径.软件项目(de)管理人员应该密切注视关键任务(de)进展情况.如果希望缩短工期,只有往关键任务中增加资源才会有效果.八.模块化基本知识模块是指执行某一特定任务(de)数据和可执行语句程序元素(de)集合,通常是指可通过名字来访问(de)过程、函数、子程序或宏调用等.模块化就是将一个待开发(de)软件划分成若干个可完成某一子功能(de)模块,每个模块可独立地开发、测试,最后组装成完整(de)程序.模块特性8.1.1 可分解性如果一种设计方法提供了将问题分解成子问题(de)系统化机制,它就能降低整个系统(de)复杂性,从而实现一种有效(de)模块化解决方案.8.1.2 可组装性如果一种设计方法使现存(de)(可复用(de))设计构件能被组装成新系统,它就能提供一种不需要一切从头开始(de)模块化解决方案.8.1.3 可理解性如果一个模块可以作为一个独立(de)单位(不用参考其他模块)被理解,那么它就易于构造和修改.8.1.4 连续性如果对系统需求(de)微小修改只导致对单个模块,而不是整个系统(de)修改,则修改引起副作用就会被最小化.8.1.5 保护性如果模块内部出现异常情况,并且它(de)影响限制在模块内部,不会影响其他模块,则错误引起(de)副作用就会被最小化.模块与模块(de)耦合性耦合是对一个软件结构内不同模块之间互连程序(de)度量.耦合可以分成下列几种,它们之间(de)耦合度由高到低排列.8.2.1 内容耦合直接操作或修改另一模块(de)数据,或不通过正常入口转入另一个模块.软件设计时应坚决禁止内容耦合,应设计成单入口、单出口(de)模块,避免病态连接.8.2.2 公共耦合多个模块引用同一全局数据区.8.2.3 外部耦合模块与软件以外(de)环境有关联.例如,输入输出把一个模块与特定(de)设备、格式、通信协议耦合在一起.8.2.4 控制耦合一模块明显把开关量、名字等信息送入另一模块,控制另一模块(de)功能.8.2.5 标记耦合两个模块之间通过传递公共指针或地址相互作用(de)耦合.8.2.6 数据耦合模块间通过传递数据交换信息.8.2.7 非直接耦合(无耦合)模块间无任何关系,独立工作原则上讲,模块化设计总是希望模块之间(de)耦合表现为非直接耦合方式.在以上耦合中,耦合度从高到低,内容耦合度最高,非直接耦合度最低.模块(de)内聚性内聚是指一个模块内各个元素彼此结合(de)紧密程序,它是信息隐蔽和局部(de)概念(de)自然扩展.设计时应该力求高内聚,理想内聚(de)模块应当恰好做一件事情.1).偶然内聚:一个模块(de)各成分之间毫无关系.比如:一组语句在程序(de)多处出现,为了节省内存空间,这些语句放在一个模块中,该模块(de)内聚是偶然内聚(de).2)逻辑内聚:把几种逻辑上相关(de)功能组放在同一模块中.3)瞬时内聚(时间内聚):一个模块所包含(de)任务必须在同一时间间隔内执行,例如初始化模块.4)过程内聚:一个模块(de)处理元素是相关(de),而且必须按特定(de)次序执行.5)通信内聚:一个模块(de)所有成分都结合再同一个数据结构上.6)顺序内聚:模块(de)成分同一个功能密切相关,且输出,作为另外一个成分(de)输入.7)功能内聚:模块内(de)所有成分属于一个整体,完成单一(de)功能.在以上(de)内聚中,内聚度从低到高,偶然内聚度最低,功能内聚度最高.模块(de)高内聚、低耦合(de)原则称为模块独立原则,也称为模块设计(de)原则.模块(de)深度、宽度、扇出与扇入深度:表示软件结构中控制(de)层数.宽度是软件结构中同一个层次上(de)模块总数(de)最大值一个模块(de)扇入是指直接调用该模块(de)上级模块(de)个数.一个模块(de)扇出是指该模块直接调用(de)下级模块(de)个数.设计原则:低扇出、高扇入.模块作用域和控制域软件设计时,模块(de)作用域应在控制域之内.模块化基础知识小结通过模块(de)合并和分解,降低模块(de)耦合度.模块(de)扇入应尽量大,扇出应尽量小.一个模块(de)扇入是指直接调用该模块(de)上级模块(de)个数.一个模块(de)扇出是指该模块直接调用(de)下级模块(de)个数.扇入大表示模块(de)重用性高,利用率高.扇出大表示模块(de)复杂度高.所以要高扇入,低扇出.要将模块(de)作用范围限制在模块(de)控制范围之内.降低模块之间(de)复杂性,避免“病态连接”.九.什么是软件开发方法有哪些主要方法软件开发方法:使用已定义好(de)技术集及符号表示习惯组织软件生产(de)过程.结构化方法、面向对象方法、JACKSON方法.结构化方法学结构化方法学也称为生命周期方法学(瀑布模型方法),是一种面向数据流(de)需求分析方法.它(de)基本思想是自顶向下逐层分解.为了在需求改变时对软件(de)影响较小,结构化分析时应该使程序结构与问题结构相对应.常用工具:数据流图(DFD)、数据字典(DD)、实例—关系图(E—R图)及描述加工处理(de)结构化语言、判定表、判定树.9.1.1数据流图(DFD图)DFD(de)基本成分数据流图主要由4种成分组成:数据流(data flow):由一组固定成分(de)数据组成,表示数据(de)流向.它可以从源、文件流向加工,也可以从加工流向文件和宿,还可以从一个加工流向另一个加工.通常每个数据流必须有一个合适(de)名字,一方面是为了区别,另一方面也给人一个直观(de)印象,使人容易理解这个数据流(de)含义.但流向文件或从文件流出(de)数据流不必命名,因为这种数据流(de)组成部分就是相应文件(de)组成部分.加工(process):描述了输入数据流到输出数据流之间(de)变换,也就是输入数据流做了什么处理后变成了输出数据流.每个加工有一个名字和一个编号.编号反映了该加工位于分层DFD(de)哪个层次和哪张图中以及它是哪个加工分解出来(de)子加工.文件(file):可以表示数据文件,也可以表示一个数据记录.流向文件(de)数据流表示写文件,流出文件(de)数据流表示读文件,双向箭头表示对文件既读又写.每个文件都有一个文件名.源/宿(source/sink):源是指系统所需数据(de)发源地,宿(也称数据池)是指系统所产生(de)数据(de)归宿地.无论源或宿,均对应于外部实体,在框内应加注实体(de)名字,在一个软件各级软件系统中,有些源和宿可以是一个外部实体,外部实体是指存在于软件系统之外(de)人员或组织,它指出系统所需数据(de)发源地和系统所产生数据(de)归宿地.分层数据流图一套分层(de)(de)数据流图由顶层、底层、和中间层组成.画分层数据流图基本原则与注意事项a.自外向内,自顶向下,逐层细化,完善求精.b.保持父图与子图(de)平衡.也就是说,父图中某加工(de)输入数据流中(de)数据必须与它(de)子图(de)输入数据流在数量和名字上相同.c.保持数据守恒.也就是说,一个加工所有输出数据流中(de)数据必须能从该加工(de)输入数据流中直接获得,或者是通过该加工能产生(de)数据.d.加工细节隐藏.根据抽象原则,在画父图时,只需画出加工和加工之间(de)关系,而不必画出各个加工内部(de)细节.e.简化加工间关系.在数据流图中,加工间(de)数据流越少,各加工就越相对独立,所以应尽量减少加工间输入输出数据流(de)数目.f.均匀分解.应该使一个数据流中(de)各个加工分解层次大致相同.g.适当地为数据流、加工、文件、源/宿命名,名字应反映该成分(de)实际意义,避免空洞(de)名字.h.忽略枝节.应集中精力于主要(de)数据流,而暂不考虑一些例外情况、出错处理等枝节性问题.i.表现(de)是数据流而不是控制流.j.每个加工必须既有输入数据流,又有输出数据流.在整套数据流图中,每个文件必须既有读文件(de)数据流又有写文件(de)数据流,但在某一张子图中可能只有读没有写或者只有写没有读.小结:一个软件系统,其数据流图往往有多层.如果父图有N个加工(Process),则父图允许有0~N张子图,但是每张子图只能对应一张父图.在一张DFD图中,任意两个加工之间可以有0条或多条名字互不相同(de)数据流;在画数据流图时,应该注意父图和子图(de)平衡,即父图中某加工(de)输入输出数据流必须与其输入输出流在数量和名字上相同.DFD信息流大致可分为两类:交换流和事务流.9.1.2 数据字典数据字典是关于数据(de)信息(de)集合也就是对数据流图中包含(de)所有元素(de)定义(de)集合.组成部分:a.数据项条目b.数据流条目c.文件条目d.加工条目加工条目是对数据流图中每一个不能再分解(de)基本加工(de)精确说明.对于加工(de)描述是数据字典(de)组成内容之一,常用(de)加工描述方法有结构化语言、判定树和判定表.9.1.3 结构化语言结构化语言实际上是一种半形式化语言,它(de)结构通常可分为内外两层.外层接近于形式化语言,而内层近似于自然语言(de)描述.9.1.4 实体——关系图(E—R图)实体——关系图(Entity-RelabionshipDiagram),简称E-R图,包含实体、关系和属性等3种基本成分.通常用矩形框代表实体,并用直线把实体(或关系)与其属性连接起来.E-R图通常用于数据库应用系统.结构化设计结构化设计通常可分为概要设计和详细设计,但是主要用于概要设计阶段.概要设计(de)任务是确定软件系统(de)结构,进行模块划分,确定每个模块(de)功能、接口以及模块间(de)调用关系.详细设计(de)任务是为每个模块设计实现(de)细节.9.2.1 概要设计经过需求分析阶段(de)工作,系统必须“做什么”已经清楚了,概要设计(de)基本目(de)就是回答“概括地说,系统应该如实现”这个问题.概要设计(de)重要任务:将一个复杂(de)系统按功能化分为模块、确定每个模块(de)功能、确定模块之间(de)调用关系、确定模块之间(de)接口(模块之间传递(de)信息)、评价模块(de)结构质量.1.软件结构图形工具结构化设计方法(SD)方法采用结构图(Structure Chart)、层次图和HIPO图描述软件结构.结构图(de)主要成分有模块、调用和数据,结构图中(de)模块用矩形表示,在矩形框内可标上模块(de)名字.模块间如有箭头或直线相连,表明它们之间有调用关系.层次图用来描绘软件(de)层次结构.层次图中一个矩形框代表一个模块,方框间(de)连线表示模块间(de)调用关系.HIPO图实际上就是层次图加输入/处理/输出图. HIPO图是美国IBM公司发明(de)“层次图加输入/处理/输出图”,是在层次图里出了最顶层(de)方框之外,每个方框都加了编号.编号规则和数据流图(de)编号规则一样.9.2.2 详细设计概要设计已经确定了每个模块(de)功能和接口,详细设计(de)任务就是为每个模块设计其实现(de)细节.详细设计阶段(de)根本目标是确定应该怎样具体地实现所要求(de)系统,得出对目标系统(de)精确描述.1.详细设计阶段(de)内容为每个模块进行详细(de)算法设计.为模块内部(de)数据结构进行设计.对数据库进行物理设计.其他详细设计工具主要包括程序流程图(系统流程图)、盒图(N-S图)、PAD图和伪码(PDL).2.人机界面设计人机界面(de)设计质量,直接影响用户对软件产品(de)评价.界面(de)美观、灵活和风格都很重要,但人机界面设计中最重要(de)也是最基本(de)目标是软件(de)易操作性.人机界面设计主要包括系统响应时间、用户帮助设计、出错信息处理和命令交互设计等几个方面.Jackson方法上面讲(de)结构化设计方法是面向数据流(de),另外还有一种面向数据结构(de)设计方法,Jackson方法是最着名(de)面向数据结构(de)设计方法,而不是面向数据流(de)设计方法.Jackson方法(de)基本步骤是:建立系统(de)数据结构;以数据结构为基础,对应地建立程序结构;列出程序中要用到(de)各种基本操作,再将这些操作分配到程序结构适当(de)模块中.面向对象分析方法(00A)十.软件工具软件工具是指用于辅助软件开发、运行、维护、管理、支持等过程中(de)活动(de)软件.通常也称为CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具.按软件过程(de)活动分为软件开发工具、软件维护工具和软件管理工具等.十一. 软件开发环境集成型开发环境通常可由工具集和环境集成机制两部分组成.这种环境应具有开放性和可裁减性.环境集成机制主要有数据集成机制、控制集成机制和界面集成机制.十二. 软件质量管理基础知识软件质量软件质量模型可从软件功能性、可靠性、可用性、效率、可维护性、可移植性6个方面来衡量.(1)功能性与功能及其指定(de)性质(de)一组软件属性.(2)可靠性软件在规定(de)一段时间内和规定(de)条件下保持其性能水平有关(de)一组软件属性.也可以称为在规定(de)条件下和规定(de)时间间隔内,软件实现其规定功能(de)概率.(3)可用性与使用(de)难易程序及规定或隐含用户对使用方式所做(de)评价有关(de)软件属性.(4)效率与在规定条件(de)性能水平与所用资源量之间(de)关系有关(de)一组软件属性.(5)可维护性与软件维护(de)难易程序有关(de)一组软件属性.(6)可移植性软件可从某一环境转移到另一环境(de)能力有关(de)一组属性.即软件从一个计算机系统转换到另一个计算机系统运行(de)难易程度是指软件(de)可移植性.为了提高可移植性,应注意提高软件(de)设备独立性.采用表格驱动程序有助于提高设备独立性.为了提高可移植性,还应有完备(de)文档资料.使用C语言开发(de)系统软件具有较好(de)可移植性.软件质量保证软件质量保证(de)主要困难表现在以下几个方面:1) 软件开发(de)管理人员往往关心项目开发(de)成本与进度.因为成本和进度是显而易见(de),而软件质量则难以度量.如果软件开发(de)管理人员对交付(de)软件含有多少隐患并不必负什么责任,他们必定没有太高(de)热情去控制开发(de)质量,更不必说保证质量并不容易且代价昂贵.开发人员(de)习惯一旦形成难以改变,他们(de)形为也难于控制,而高质量(de)软件产品,又主要取决于参与开发(de)人员.复杂(de)软件项目需要许多技术人员和管理人员参与,对问题(de)不同认识和误解如不能及时消除必然影响软件质量.软件开发人员(de)频繁流动,特别是骨干开发人员(de)流失,也会使软件质量受到一定(de)影响.软件质量(de)保证手段:开发初期制定质量保证计划,并在开发中坚持实行.开发前选定或制定开发标准或开发规范,并遵照实施.从开始就选择分析设计方法和工具,形成高质量(de)分析模型和设计模型.严格执行阶段评审,以便及时发现问题.各个开发阶段(de)测试.对软件(de)每次“变动”都要经过申请、评估、批准、实施等步骤.软件质量特性(de)度量化.软件生存期(de)各阶段都要完整(de)文档.十三.软件测试软件测试(de)费用已经超过软件开发费用(de)30%左右.“高产”测试是指用少量(de)测试用例,发现被测试程序尽可能多(de)错误.软件测试经过(de)步骤单元测试->集成测试->确认测试->系统测试测试与软件开发各阶段(de)关系单元测试对程序中每一个程序单元进行测试,检查各个模块是否争取实现规定(de)功能,从而发现模块在编码中或算法中(de)错误,该阶段涉及编码和详细设计文。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程基础一.选择题1。

软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B)A).用户B).需求审评C).总结D).都不正确2。

在原型法中称(A)为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。

A).用户B).开发人员C).系统分析员D).程序员3。

下面不属于软件工程的3个要素是(D)A).工具B).过程C).方法D).环境4检查软件产品是否符合需求定义的过程称为(A)A).确认测试B).集成测试C).验证测试D).验收测试5.数据存储和数据流都是(D),仅仅是所处的状态不同。

A).分析结果B).事件C).动作D).数据6。

数据流图和(C)共同组成系统的逻辑模型。

A).HIPO图B).PD)LC).数据字典D).层次图7。

数据元素组成数据的方式的基本类型(D)A).顺序B).选择C).循环D).以上全部8。

数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是(A)。

A).控制流B).加工C).数据存储9。

结构化分析方法就是面向(B)的自顶向下逐步求精进行需求分析的方法。

A).目标B).数据流C).功能D).对象10。

通过(B)可以完成数据流图的细化。

A).结构分解B).功能分解C).数据分解D).系统分解11。

下面不属于软件工程原则的是(C)A).抽象B).模块化C).自底向上D).信息隐蔽12。

(D)是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。

A).模块化B).抽象C).精化D).模块13。

(C)是指让一些关系密切的软件元素在物理上彼此靠近。

A).信息隐蔽B).内聚C).局部化D).模块独立14。

面向数据流的设计方法把(D)映射成软件结构。

A).数据流B).系统结构C).控制结构D).信息流15。

程序流程图(PDF)中的箭头代表的是(B)。

A).数据流B).控制流C).调用关系D).组成关系16。

在进行软件结构设计时应该遵循的最主要的原理是(C)A).抽象B).模块化C).模块独立D).信息隐蔽17。

在结构化方法中,软件功能分解属于软件开发中的(C)阶段。

A).详细设计C).总体设计D).编程调试18。

在测试中,下列说法错误的是(B)A).测试是为了发现程序中的错误而执行程序的过程B).测试是为了表明程序的正确性C).好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案D).成功的测试是发现了至今为止尚未发现的错误的测试19。

下列工具中为需求分析常用工具是(D)A).PA)D)B).PFD)C).N-SD).D)FD)20软件调试的目的是(B)A).发现错误B).改正错误C).改善软件的性能D).挖掘软件的潜能21。

软件工程师一种(B)分阶段实现的软件程序开发的方法。

A).自底向上B).自顶向下C).逐步求精D).面向数据流22。

通过(B)机制,各种软件工具用统一的数据接口规范存取环境信息库的的信息。

A).软件工具箱B).环境集成C).软件管理和软件支持工具D).软件开发环境23。

在软件生命周期法中,用户的参与主要在(A)。

A)。

软件定义期B).软件开发期C).软件维护期D).整个软件生命周期过程中24。

软件定义期问题定义阶段涉及的人员有(D)。

A).用户、使用部门负责人B).软件开发人员、用户、使用部门负责人C).系统分析员、软件开发人员D).系统分析员、软件开发人员、用户、使用部门负责人25。

软件详细设计主要采用的方法是(A)。

A).结构化程序设计B).模型设计C).结构化设计D).流程图设计26。

(C)应考虑对模块相联和资源共享问题进行描述和制约。

A).系统设计B).详细设计C).接口控制D).结构化编辑工具27。

(A)是程序中一个能逻辑分开的部分,也就是离散的程序单位。

A).模块B).复合语句C).循环结构D).数据块28。

软件开发的原型化方法是一种动态定义软件需求的方法,下述条件中,(A)是实施原型化方法所必需的。

Ⅰ成熟的原型化人员Ⅱ快速的成型工具Ⅲ需求了解的正确性A).Ⅰ和ⅡB).Ⅱ和ⅢC).Ⅰ、Ⅱ和ⅢD).Ⅲ29。

判定树和判定表示用于描述结构化分析方法中的(B)环节的工具。

A).功能说明B).数据加工C).流程描述D).性能说明30。

概要设计的结果是提供一份(A)。

A).模块说明书B).框图C).程序D).数据流图31。

模块本身的内聚是模块独立性的重要性度量因素之一。

在7类内聚中,具有最强内聚的一类是(D)。

A).顺序性内聚B).过程性内聚C).逻辑性内聚D).功能性内聚32。

计算机软件(A)。

A).计算机系统的组成部分B).不能作为商品参与交易C).是在计算机硬件设备生产过程中生产出来的D).只存在于计算机系统工作时33。

数据字典是对数据定义信息的集合,它所定义的对象都包含在(A)。

A).数据流图vB).程序框图C).软件结构D).方框图34.程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意(C)。

A).支持逐步求精B).考虑控制流程C).遵守结构化设计原则D).数据结构表示35。

软件设计中设计复审是和设计本身一样重要的环节,其主要目的和作用是(B)。

A).减少测试工作量B).减免后期付出高代价C).保证软件质量D).缩短软件开发周期36。

软件开发的结构化分析方法,常用的描述软件功能需求的工具是(C)。

A).业务流程图、处理说明B).软件流程图、模块说明C).数据流程图、数据字典D).系统流程图、程序编码37。

软件开发的结构化设计方法,全面指导模块化分的最重要的原则应该是(C)。

A).模块高内聚B).模块低耦合C).模块独立性D).程序模块化38。

面向数据流的软件设计方法,一般是把数据流图中得数据流化分为(B)两种流,再将数据流图映射为软件结构。

A).数据流与事务流B).交换流和事务流C).信息流与控制流D).交换流和数据流39。

软件设计中,可应用于详细设计的工具有(A)。

A).程序流程图、PA)D)、方框图和伪码B).数据流程图、PA)D)、结构图和伪码C).业务流程图、N-S图和伪码D).数据流程图、PA)D)、N-S图和伪码40。

软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(D)问题。

A).产生危机B).质量保证C).开发效率D).生产工程化41。

软件开发的结构生命周期法的基本假定是认为软件需求能做到(C).A).严格定义B).初步定义C).早期冻结D).动态改变42。

软件工程的结构化分析方法强调的是分析开发对象的(C)。

A).数据流B).控制流C).时间限制D).进程通信43。

瀑布模型将软件生命周期归纳为个时期,即计划期、开发期和运行期。

下列(D)不属于开发期内的工作。

A).总体设计B).详细设计C).程序设计D).维护44。

软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基本依据则是用户提出的软件(B)。

A).系统质量B).系统目标C).系统功能D).系统性能45。

软件可行性分析是着重确定系统的目标和规模。

对功能、性能以及约束条件的分析应属于下列之中的(B)任务。

A).分析B).估价C).制定制度D).进度分配46。

软件可行性分析是着重确定系统的目标和规模。

对功能、性能以及约束条件的分析应属于下列之中的(A)。

A).经济可行性分析B).技术可行性分析C).操作可行性分析D).开发可行性分析47。

结构化方法将软件生命周期分为计划、开发和运行3个时期,下列任务中(B)属于计划时期的任务。

A).需求分析B).问题定义C).总体设计D)编码48。

耦合是软件各个模块间连接的一种度量。

一组模块都访问同一数据结构应属于(B)方式。

A).内容耦合B).公共耦合C).外部耦合D).控制耦合49。

内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C)方式。

A).逻辑内聚B).时间内聚C).过程内聚D).顺序内聚50。

软件测试基本方法中,下列(D)不用测试实例。

A).白盒测试法B).动态测试法C).黑盒测试法D).静态测试法51。

软件管理中,需要对软件进行配置,各阶段文档的管理属于(D)。

A).组织管理B).资源管理C).计划管理D).版本管理52。

软件开发的结构化方法中,常用数据字典技术,其中数据加工是其组成内容之一,下述方法(D)是常采用编写加工说明的方法。

Ⅰ结构化语言Ⅱ判定树Ⅲ判定表A).ⅠB).ⅡC).Ⅱ、ⅢD)..都是53.软件工程方法的产生源于软件危机,下列(A)是产生软件危机的内在原因。

Ⅰ软件的复杂性Ⅱ软件维护困难Ⅲ软件成本太高Ⅳ软件质量难保证A).ⅠB).ⅢC).Ⅰ、ⅣD).Ⅲ、Ⅳ54。

在软件工程实施中,产生软件生命周期的概念是由(A)。

A).方法论所决定的B).开发技术划分C).软件开发规律D).软件工程管理55。

结构化软件开发期将软件开发划分为3个阶段,其中关键的是(B)。

A).编码的正确性B).需求的准确性C).测试的严格性D).设计的科学性56。

在结构化方法的软件需求定义中,可采用分析工具来辅助完成。

下列工具中,(D)是常用的工具。

Ⅰ数据流图Ⅱ结构图Ⅲ数据字典Ⅳ判定表A).Ⅰ、ⅢB).Ⅱ、ⅢC).Ⅰ、Ⅱ、ⅣD).Ⅰ、Ⅲ、Ⅳ57。

软件工程的结构化分析方法具有自身的特征,下列可选内容中,(B)不具有其特征。

A).书写大量文档B).详细的界面表示C).对数据流进行分析D).冻结应用需求58.详细设计是软件总体设计滞后的工作。

下列可选内容中,(C)不属于详细设计内容。

A).算法设计B).模块设计C).屏幕设计D).功能设计59。

软件评审时保证软件质量的重要措施,它是对软件开发阶段成果的复审。

下列(A)是复审的必须内容。

Ⅰ需求复审Ⅱ总体设计复审Ⅲ详细设计复审Ⅳ程序复审A).Ⅰ、Ⅱ、ⅢB).Ⅱ、Ⅲ、ⅣC).Ⅰ、Ⅲ、ⅣD)全部60。

提高软件的可维护性可采取很多措施,下列(A)不在措施之列。

A).提供没有错误的程序B).建立质量保证制度C).改进程序文档质量D).明确软件质量标准61。

在软件开发过程中,软件结构设计是描述(B).A).数据存储结构B).软件模块体系C).软件结构测试D).软件控制过程二.填空题1软件质量与产品运行特性为,健壮性,效率,安全性,可用性,风险性和可靠性.2软件工程的目的是成功地建造大型的软件系统,主要内容是软件开发技术和软件工程管理两方面3软件开发方法的主要目的是克服软件手工生产,使软件开发能进入工程化和规范化的环境4软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的工程管理.5瀑布模型把软件生命周期划分为软件定义,软件开发,与运行与维修3个阶段,而没个阶段又可分为若干个小更小的阶段.6软件文档是软件工程实施中的重要成分,它不仅是软件开发的各阶段的重要依据,而且也是影响软件的可维护性.7文档是软件开发人员,维护人员,用户,以及计算机之间的桥梁.8在软件生命周期的各个阶段都会产生一系列的文件,如手册,数据和程序等,他们总称为软件配置9软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要是关于软件系统目标10.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是分析人员和用户人员11.可行性研究的目的是要用最小的代价,在尽可能段的时间内确定软件项目的可行性12.从可行性研究从技术可行性经济可行性,和社会可行性3各方面进行论证.13软件成本—效益分析的目的是从经济的角度评价软件项目的开发是否可行.14.在可行性研究中,要用软件的描述工具画出现行系统流程图,它反映了现行系统的基本功能和处理流程.15.流程系统图表达了系统中各个元素之间信息的流动情况.16需求分析阶段需要编写的文档有:需求规格说明书,初步用户使用手册和确认测试计划.17.软件计划包括总体设计(或概要设计)和详细设计两个阶段.18.软件概要设计的成果是软件设计说明书.19.软件的详细设计,也称模块设计.它要求设计人员为每一个程序模块确定所使用的算法,数据结构,接口细节和输入,输出数据等.20.结构化分析方法是面向数据流进行分析的方法.21.在软件开发的结构化方法中,构成系统逻辑模型的是数据流和数据字典.22.数据流图是描述数据在软件中流动和被处理的过程,是软件模型的一种图示,它一般包括4种图形符号:变换/加工,外部实体,数据流向和数据储存.23.判定表是一种用以描述软件加工时组合条件的一种图示方法,一般它由条件和条件项目以及操作部和操作组成.24.数据字典有4类条目,它们是数据项,数据流,数据储存和基本加工.25.数据流图采用4种符号表示数据储存,数据源点和终点,数据流向和数据加工.26.面向数据流的软件设计中,一般是把数据流图的数据流划分为变换流和事物流27.结构化分析方法用于加工逻辑的工具有结构化语言、判定表、判定树共三种工具。

相关文档
最新文档