软件工程重点总结_软件工程复习重点总结

其他工作总结 时间:2020-02-28 01:06:27 收藏本文下载本文
【www.daodoc.com - 其他工作总结】

软件工程重点总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程复习重点总结”。

1、什么是软件危机?

软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2、软件危机的主要表现

(1)对软件开发成本和进度的估计常常很不准确

(2)用户对“已完成的”软件系统不满意现象经常发生

(3)软件产品质量往往靠不住

(4)软件往往是不可维护的(5)软件通常没有适当的文档资料

(6)软件成本在计算机系统总成本中所占的比例逐年上升

(7)软件开发生产效率提高的速度,远远跟不上计算机应用迅速普及深入的趋势

3、软件危机产生的原因

(1)来自软件自身的特点

是软件系统的逻辑部件,缺乏可见性,管理和控制软件开发过程相当困难;规模庞大、复杂,修改、维护困难。

(2)软件开发与维护的方法不当

忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

4、如何消除软件危机?

(1)对计算机软件有一个正确的认识(软件≠程序)

(2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目

(3)推广使用在实践中总结出来的开发软件的成功技术和方法

(4)开发和使用更好的软件工具

5、面向对象的三种模型:对象模型 动态模型 功能模型 P2166、模块独立性的两个标准:耦合 内聚 P977、软件测试方法:黑盒测试 白盒测试 P1518、软件调试的途径:蛮干法 回溯法 原因排除法 P1789、可行性研究:确定问题是否有行得通的解决办法 P3510、需求分析:准确地回答“系统必须干什么”这个问题 P5511、软件成分的重用级别:代码重用 设计结果重用 分析结果重用

可被重用的软件成分有:项目计划,成本估计,体系结构,需求模型和规格说明,设计,源代码,用户文档和技术文档,用户界面,数据,测试用例。

12、软件可靠性的定义:软件在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。

软件可用性的定义:程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。可靠性与可用性之间的主要差别是,可靠性意味着在0到t这段时间内系统没有失效,而可用性只意味着在时刻t,系统是正常运行的。P17913、白盒测试:逻辑覆盖 控制结构测试 P162

黑盒测试:等价划分 边界值分析 调试 P171

环形复杂度的计算:复杂度=边数-点数+2P13714、面向对象的3个子模式:对象模型 动态模型 功能模型 P232

对象模型的5个层次:主题层 类与对象层 结构层 属性层 服务层 P23215、软件定义阶段干什么事:确定软件开发工程必须完成的总目标;确定工程的可行性;导

出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该工程需要的资源和成本,并制定工程进度表。

16、类和对象的关系:类是具有相同数据和相同操作的一组相似对象的定义,也就是说,类

是对具有相同属性和行为的一个或多个对象的描述。类是支持继承的抽象数据类型,而对象就是类的实例。P21117、UML有哪些图? P2171、用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系

2、类图:展示系统中类的静态结构

3、对象图:是类图的一种实例化图

4、状态图:描述一类对象具有的所有可能的状态及其转移关系

5、时序图:展示对象之间的一种动态协作关系

6、合作图:从另一个角度展示对象之间的动态协作关系

7、活动图:展示系统中各种活动的执行流程

8、构件图:展示程序代码的物理结构

9、配置图:展示软件在硬件环境中的配置关系

18、能力成熟度模型(CMM):初始级 可重复级 已定义级 已管理级 优化级 P31119、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优

缺点,说明每种模型的适用范围。P33 习题1.720、软件的可维护性定义:维护人员理解、改正、改动或改进这个软件的难易程度。决定可维护性的因素:可理解性 可测试性 可修改性 可移植性 可重用性。

文档是影响可维护性的决定性因素。P19521、如何评价软件规格说明书?

从四个方面:一致性 完整性 现实性 有效性 P7022、层次图 P10223、深度:软件结构中控制的层数 P100

宽度:软件结构中同一个层次上的总数的最大值

扇出:一个模块直接控制(调用)的模块数目

散入:一个模块被多少个上级模块直接调用

24、面向数据流的设计方法 P10425、类构件的重用方式:实例重用 继承重用 多态重用

1.什么是软件工程?软件工程和计算机科学有何区别?

软件工程是指导计算机软件开发和维护的一门工程学科。

计算机科学研究的是构成计算机和软件系统基础的有关理论和方法,而软件工程则是研究软件制作中的实际问题。

2、流程图与数据流图有什么主要区别?

(1)数据流图(date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是从数据的角度来描述一个系统的;而流程图则是从对数据加工的角度来描述系统的;

(2)数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序;

(3)数据流图适合于宏观地分析一个组织业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。

(4)数据流程图应该重点描述了数据加工的过程,主要是模块内部,数据流图则是描述模块之间的关系。

3.软件需求分析的任务是什么?有哪些主要步骤?

需求分析的基本任务是深入描述软件的功能和性能、确定软件设计的约束和软件同其它系统元素的接口细节、定义软件的其它有效性需求,总之,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。

主要步骤:

1.问题识别

(1)功能需求:明确所开发的软件必须具备什么样的功能。

(2)性能需求:明确待开发的软件的技术性能指标。

(3)环境需求:明确软件运行时所需要的软、硬件的要求。

(4)用户界面需求:明确人机交互方式、输入输出数据格式。

2.分析与综合,导出软件的逻辑模型

分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。用图文结合的形式,建立起新系统的逻辑模型。

3.编写文档

(1)编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。

(2)编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。

(3)编写确认测试计划,作为今后确认和验收的依据。

(4)修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。

4.简述结构化分析、设计的要点:

结构化分析方法适合于数据处理类型软件的需求分析。

其要点是“自顶向下” 地开发系统,由整体到各组成部分,由表及里,由抽象到具体,逐步求精.(1)模块化

(2)由顶向下,逐步求精.(3)上层模块分解为下层模块,有三种不同的结构形式,即顺序结构,选择结构和循环结构.5.数据字典包含哪些主要内容?

数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分.据字典内容包括:

数据库中所有模式对象的信息,如表、视图、簇、及索引等。

分配多少空间,当前使用了多少空间等。

列的缺省值。

约束信息的完整性。

用户的名字。

用户及角色被授予的权限。

用户访问或使用的审计信息。

其它产生的数据库信息。

6.软件测试的目标是什么,有哪几种主要有测试方法?

软件测试的目标:

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

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试的方法有黑盒测试、白盒测试。

7.白盒测试主要有哪些覆盖?

语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、点覆盖、边覆盖、路径覆盖

8、选择一种程序设计语言的主要有哪些依据?

为了使程序容易测试和维护以减少生命周期的总成本,选用的高级语言应该有理想的模块化机制,以及可读性好的控制结构和数据结构;为了便于调试和提高软件可靠性,语言特点应该使编译程序能够尽可能多地发现程序中的错误;为了降低软件开发和维护的成本,选用的语言应该有良好的独立编译机制。上述这些要求是选择语言的理想标准,但是在实际选用语言时不能仅仅考虑理论上的标准,还必须同时考虑实用方面的各种限制。

(1)系统用户的要求

(2)可以使用的编译程序

(3)可以得到的软件工具

(4)系统规模

(5)程序员的知识

(6)软件可移植性要求

(7)软件的应用领域

9.软件的维护的目标是什么,有哪几种维护类型?

纠正在使用过程中暴露出来的错误而进行的改进性维护,适应外部环境的变化而进行的适应性维护,改进原有的软件而进行的完善性维护,以及改进将来的可维护性和可靠性而进行的预防性维护。

软件维护主要划分为纠错性维护、适应性维护和完善性维护。

(1)纠错性维护。由于前期的测试不可能揭露软件系统中所有潜在的错误,用户在使用软件时仍将会遇到错误,诊断和改正这些错误的过程称为纠错性维护。

(2)适应性维护。由于新的硬件设备不断推出,操作系统和编译系统也不断地升级,为了使软件能适应新的环境而引起的程序修改和扩充活动称为适应性维护。

(3)完善性维护。在软件的正常使用过程中,用户还会不断地提出新的需求。为了满足用户新的需求而增加软件功能的活动称为完善性维护。

10.简述提高软件质量的主要措施。

复审:是在软件生命周期每个阶段结束之前,都采用一定的标准对该段产生的软件配置成分进行严格的正式或非正式的检测。

复查:是检查已有的材料,以断定在软件生命周期某个阶段的工作是否能够开始或继续。管理复审:是向开发组织或使用部门的管理人员提供有关项目的总体状况、成本和进度等方面的情况,以便他们从管理角度对开发工作进行审查。

测试:包括测试计划、测试过程和测试结果3个阶段。

11.面向对象如何实现模块独立性,其偶合和内聚的含义是什么?

因为对象是由数据及可以对这些数据施加的操作所组成的统一体,而且对象是以数据为中心的,操作围绕对其数据所需做的处理来设置,没有无关的操作。因此,对象内部各种元素彼此结合得很紧密。内聚性相当强,由于完成对象所需要的元素(数据和方法)基本上都被封装在对象内部,它与外界的联系自然就比较少。因此,对象之间的耦合通常比较松。总之,面向对象使用对象、类、继承和消息的方法,既使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信来实现模块的独立性。

12.面向对象和面向过程软件工程有哪些区别?

(1)面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。(2)面向过程是把一件事一项工程分解成为一个个小的功能,用一个个函数来实现.面向对象是把事情看成是一个个小的对象组成的,或者说一个个小部分组成的,这些对象之间的相互关系,构成了整个项目.在面向对象的思想中,万物皆对象。而“类”,就是对象的抽象或者说是概括。

13.简述对象、类、消息、方法的基本概念。

(1)对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

(2)类是具有相同或相似性质的对象的抽象。对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

(3)对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

(4)类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。

14.简述面向对象分析设计的三个模型。

答:三个模型:对象模型、动态模型、功能模型

(1)对象模型描述系统的静态结构,包括类和对象,它们的属性和操作,以及它们之间的关系。构造对象模型的目的在于找出与应用程序密切相关的概念。对象模型用包含对象及对象的关系图表示。

(2)动态模型着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。动态模型包括状态图和事件跟踪图。状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。事件跟踪图则侧重于说明系统执行过程中的一个特点“场景”,也叫做脚本(scenarios),是完成系统某个功能的一个事件序列。脚本通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件。

(3)功能模型着重于系统内部数据的传送和处理。功能模型表明,通过计算,从输出数据能得到什么样的输出数据,但不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成,它们指明从外部输出,通过操作和内部存储,直到外部输出的整个数据流情况。功能模型还包括了对象模型内部数据间的限制。功能模型中的数据流图往往形成一个层次结构,一个数据流图的过程可以由下一层的数据流图作进一步的说明。

下载软件工程重点总结word格式文档
下载软件工程重点总结.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文