软件工程总复习_第1页
软件工程总复习_第2页
软件工程总复习_第3页
软件工程总复习_第4页
软件工程总复习_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Cl软件工程概论!!!应需求的动态变更,特别是用户对需求处于模糊认识时更为

困难。后期更改需求将付出高昂的代价。

软件:是完成某类问题求解的程序和数据以及为维护程序

原型开发方法的好处在于:增进了软件开发人员和用户

必须提供的•系列文档组成的集合,即:软件-程序十数据十

对系统需求的理解,使比较含糊的软件需求明确化;提供了

系列文档。

一种有力的学习手段,使得开发出来的软件能够更明确地的

软件的本质:软件的内在性质是:软件具有高度的抽象性

满足客户需求。

和严密的逻辑性。软件的外在性质是:软件是一种逻辑信息

产品,是用文字、符号表达的智力产物。

瀑布模型图:快速原型模型图:

什么是软件危机?危机的主要表现是什么?

软件危机是指落后的软件生产方式无法满足迅速增长

的计算机软件需求,从而导致软件开发与维护过程中出现一

系列严重问题的现象。软件危机是指在软件开发和维护过程

中存在的一系列严重问题的通称。

软件危机的主要表现有:(1)软件发展速度跟不上硬件

的发展和用户的需求;(2)对软件开发成本和进度的估计常

常不准确,造成用户不满意:(3)软件产品质量差,可靠性

不能保证;(4)软件产品可维护性差;(5)软件没有合适的

文档资料。

增量模型图:

软件工程:是指导计算机软件开发和维护的一门工程学科,I分析H&计卜际

软件工程采用工程的概念、原理、技术和方法来开发与维护________草।个>•・的发布

软件,把经过时间考验而证明正确的管理技术和当前能够得

与2个地■的发«

到的最好的技术方法结合起来,经济的开发出高质量的软件

并有效的维护它。*■第3个”■的发曲

什么是软件开发的工程化?工程化的软件开发方法与早期

________________________咏个墙.的发布

的程序设计方法的不同点在哪里?

将成熟工程领域的方法应用于软件开发。工程化的方法

螺旋模型图:

包括如下四个方面:(1)具有相应的理论与技术:(2)具备

实现工程化的工具和环境;(3)具备统一的工程规范;(4)

管理和控制。

早期的程序开发方法没有统一的指导原则,随意编写程

序,强调程序执行效率。工程化的软件开发方法具有统一的

指导原见,规范化的开发软件,强调软件的可理解性,可维

护性和可复用性。

简述软件工程学科研究的内容

过程:软件开发的步骤

方法:软件开发各步骤所用到的技术

管理:控制软件开发按照过程和方法顺利完成的技术和措施

工具:辅助人们贯彻过程和方法,并实施管理

软件生命周期:是从设计软件产品开始到产品不能使用为

止的时间周期,一般包括以下几个阶段:问题定义、可行性

研究、软件分析、软件设计、软件实现、软件运行与维护、

统一过程(RUP/UP,RationalUnifiedProcess)模型:是

软件废弃。

一种以用例驱动、以体系结构为核心、迭代及增量的软件过

程模型,由UML方法和工具支持,广泛应用于各类面向对

瀑布模型的主要缺点是什么?原型开发方法有什么好处?

象项目。RUP是由Rational公司开发并维护,和一系列软

瀑布模型给出了固定的开发顺序,它的主要缺点是缺乏

件开发工具紧密集成。RUP蕴含了大量优秀的实践方法,

灵活性,软件需求往往无法一下了•彻底弄清,因此瀑布模型

如:迭代式软件开发、需求管理、基于构件的构架应用、建

可能导致开发出的不是用户真止需要的软件,或者由「需求

立可视化的软件模型、软件质量验证、软件变更控制等。

不能确定而造成项目后续工作无法开始。瀑布模型也很难适

向下、逐层分解的分析思路。

结构化分析方法的三种描述手段是:数据流图、数据字典、

加工说明。

数据流图:一种描述数据在系统中流动的图形工具

数据字典:对数据流图中所有的数据元素、数据结构、数

据文件、数据流等的格式与内容进行定义的数据集合

加工:加工又称处理或变换,它表示对数据流的操作,是

数据的基本处理过程

加工说明使用的三种描述工具是:结构化语言、判定树、

敏捷过程模型:能够快速有效的响应变化判定表

数据流图构造步骤:

1画出顶层数据流图:

1-1只需画一个加工

1-2确定系统原始输入输出数据流,以及外部数据存储

2逐层分解高层数据流图中的加工,得到下一层次的数

据流图子图:

2-1每一层次的分解只应该对应上一层次的一个加工

3重复步骤2直到所有加工成为基本加工,即可以用程

序实现

数据流图注意事项:

1只考虑数据流之间的静态关系,不考虑动态关系(启

动、停止等和时间相关的问题)

2只考虑正常状态,不考虑异常状态

C2可行性分析与软件计划3不能期望一次完成,需要多次反复修改完成

可行性分析包含哪些内容,它们的含义是什么?

数据流图应用举例:

经济可行性:考虑软件项目经济效益,收益和成本的关系

用户需求:

技术可行性:考虑分析问题求解方法中的各种技术因素

某学校需要开发一套基于Web的研究生招生管理系统,

操作可行性:评价系统的操作方式在用户组织内的可行性

用户需求如下:

法律可行性:分析开发的软件是否涉及知识产权保护等法

考生可以登录系统提交报名信息,报名信息经过格式确

律问题

认存入数据库;信息提交成功后能够网上在线支付报名费并

记录交费信息;交费成功的考生可以打印报名表。

软件成本估算计量单位:代码行数、人月、人口;

各院系教务员能够查看和审核考生提交的报名信息,确

方法:代码行估算法,COCOMO模型(构造性成本模型)

定信息是否准确有效,最后给出审核是否通过的标志。教务

员还能够打印报名考生清单。

C3软件需求分析!!!招生办公室管理员能够查询有效的报名考生信息和打

需求与设计的主要任务是什么?印统计报表;能够生成报名考生数据文件上报到上级单位

软件需求的任务主要是:(1)对问题的识别和理解——(教育部〕。

需求获取;(2)对需求信息的分析和综合——需求规约;

(3)编制“需求规格说明书”;(4)需求分析的复审。题目要求:

软件设计的主要任务是:(1)制定规范;(2)软件结请用SA方法对它进行分析,画出分层数据流图。(只

构设计;:3)数据结构设计及接口设计;(4)系统性能设计;要求数据流图,不要求数据字典和加工说明)

(5)软件质量的设计;(6)设计文档的编写;(7)设计的

审查和复审

顶层数据流图:

结构化方法的特点:基本思想是“抽象”和“分解”;采用自顶

报名信息库

管理3行询条件J\号牛“马J打口;报衣)报一管理员

1层数据流图:

招生办公室管理员能够查询有效的报名考生信息和打

印统计报表;

能够生成报名考生数据文件上报到上级单位(教育部)。

2层数据流图(考生)C4软件结构设计!!!

结构设计的任务:

(1)最佳方案的实现:(2)制订设计规范、标准及约定原则;(3)

软件结构设计:(4)数据结构、数据库、接口设计:(5)网络系统设

计;(6)系统安全性设计:(7)系统性能、可靠性设计:(8>软件质

量设计;(9>设计文档编写;(10)评审

模块独立性:是指软件系统中每个模块只涉及软件要求的

具体了•功能,而和软件系统中其他的模块接口是简单的,符

合信息隐戚和局部化原则,模块间关联和依赖程度尽可能小。

什么叫耦合?内聚?耦合、内聚与模块独立性的关系?

考生可以登录系统提交报名信息,报名信息经过格式确

耦合是度量一个软件结构中模块与模块之间联系程度强弱的一

认存入数据库;

个指标。内聚是指模块内部各软件元素之间结合的紧密程度。耦合程

信息提交成功后能够网上在线支付报名费并记录交费

度越低模块独立性越强,内聚程度越高模块独立性越强。

信息;

交费成功的考生可以打印报名表。

耦合有哪几种类型,几种类型间的耦合强弱关系?

内聚有哪几种类型,几种类型间的内聚强弱关系?

软件系统的两种典型结构是什么?它们有什么特点?

各院系教务员能够查看和审核考生提交的报名信息,确

软件系统的两种典型结构分别是:变换型经构和事务型结构。(1)

定信息是否准确有效,最后给出审核是否通过的标志;

变换型结构的特点:具有较明确的输入、变换:主加工)和输出三个

教务员还能够打印报名考生清单。

部分c(2)事分型结构的特点:存在某一个加T,它将自己的输入

流分离成许多发散的数据流,形成许多平行的加工路径,并根据输入

的值选择其中一个路径来执行,这个加工被称为事务中心。

2层数据流图(管理员)

变换型:

事务型:

数据流图转化为软件结构图的方法:

输入控制模块输出控制模块变化控制模块

1分析并精化数据流图

2确定数据流图具有变换型特征还是事务性特征、并在数据

流图中将结构的各个部分标注并区分开及

3从数据流图中转换得到软件系统的上层模块结构

混合型:4按照数据流图的结构逐步转换上层结构中的每个模块,构

造器下层模块

5进一步的改进和精化

数据流图转化为软件结构图的例子:

结构化设计方法的描述工具:SC软件结构图

•输入控制模块Ca的下层模块的设计。

从变化中心的边界,也就是逻辑输入开始沿着输入通路回溯,

把输入通路中每个加工映射成软件中Ca控制下的一个低层

模块,一直回溯到物理输入。

•输出控制模块Ce的下层模块的设计。

沿输出通路正向移动,把输出通路中每个加工映射成直接或

间接接受模块Cc控制的一个低层模块。

・变换中心控制模块Ct的下层模块的设计。

最后把变化中心内的每个加工映射成受Ct控制的一个模块

什么是面向对象?

面向对象就是运用对象、类、继承、封装、消息、结构

与连接等面向对象的概念对问题进行分析、求解的系统开发

技术。

面向对象设计的原则?

面向对象设计的原则包括:(1)模块化;(2)数据抽

象和过程抽象;(3)信息隐藏和封装;(4)强内聚和弱耦

合;(5)可重用。

简述继承的概念?

继承是表达类与类之间相似性的一种机制。通过继承机

制,可以利用已有的数据类型来定义新的数据类型。所定义

的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧

的成员。我们称已存在的用来派生新类的类为基类,又称为

父类。由已存在的类派生出的新类称为派生类,乂称为子类。

什么是泛化关系?什么是聚集关系?

泛化:表示一个更泛化的元素和一个更具体的元素之

间的关系c泛化是用于对继承进行建模的UML元素。在Java

中,用extends关键字来直接表示这种关系,如下图:

JavaUML

publicabstractclassEmployee(

|Employ8|Protestor

)

publicclassProfessorextendsEmployee(

C6面向对象的软件设计方法!!!

聚集:是关联的一种形式,

UML:UnifiedModellingLanguage,统一建模语言,是一

部关系,暗示着整体在概念上处于比局部更高的一个级别,

种标准的图形化建模语言,它是面向对象分析与设计的•种

如图

标准表示,是软件系统建模的表示工具。

注:UML和C语言、Java语言等不同,它不是程序设计语

言,而是用面向对象方法对系统进行分析设计的表示工具,

类似与数据流图和软件结构图。

简述用例图的作用,并画出用例图的示意图。

面向对象模型示意图

用例图是UML的核心视图,通常用于描述系统需求

问题定义I-在向对.分析上一---------------

---1面向对■设计]-------

厂________

1—।一时财―实现।~,―r象_.护

图9.9面向对象的开发模不

C7详细设计

什么是对象?什么是类?对象和类的关系是什么?详细设计的任务:完成所有设计的细节,包括:(1)数据

对象是各种客观实体的抽象,是由一组属性和对这组属结构设计(2)物理设计(3)算法设计(4)界面设计(5)

性进行操作的一组服务结合在一起所构成的独立实体。它构其他设计(6)编写设计说明书

成了系统概念模型的基本单元。

类是一组具有相同数据结构和相同操作的对象的集合,简述算法的几种描述工具:

类的定义包括一组数据属性和在数据上的一组合法操作。(1)图形工具:程序流程图、PAD图、盒图(N-S图);

类中的每个对象都称为该类的一个实例。(2)语言工具:伪代码、PDL。

程序复杂性度量的方法有哪些?哪种方法是利用环域复杂C9软件测试!!!

度计算程序复杂性的?GrenfordJ.Myers定义的软件测试的目的:

答:(1)代码行度量方法;(2)McCabe方法(使用环m软件测试是为了发现错误而执行程序的过程:

域复杂度);(3)Halstead方法(又称文本复杂度方法)。(2)测试是为了证明程序有错,而不是证明程序无错误。

(3)•个好的测试用例是在于它能发现至今未发现的错误;

综合题:求一组数的最大数的算法。请为上述算法画程序⑷一个成功的测试是发现了至今未发现的错误的测试。

流程图,并分别转换成NS图和PAD图,最后计算算法的

环域复杂度什么是白盒测试?什么是黑盒测试?

解:这两个图都来源于流程图,首先需要画流程图,白盒测试是从程序内部结构入手来设计测试用例的测

V(G)=in-n+p,M有向边的数目,n节点数,p联通子图的试技术;黑盒测试则相反,不考虑软件内部结构,而是以软

数目件需求规格说明书为根据来设计测试用例的测试技术。

黑盒测试方法;等价分类法、边界值分析法、错识猜测法

软件测试的5个阶段:制订测试计划、编制测试大纲、设

计和生成测试用例、实施测试、生成软件问题报告

软件测试的步骤:单元测试,集成测试,确认测试,系统

V(G)=m-n+p白盒测试技术的基本原理是什么?构造白盒测试的测试用

m有向边12,n节点数10,p联通子图的数目1例有哪几种方法?

环域复杂度=12—10+1=3允许测试人员利用程序内部的逻辑结构及有关信息,设

计或选择测试用例,对程序所有逻辑路径进行测试。通过在

PAD图不同点检查程序的状态,确定实际的状态是否与预期的状态

一致。因比白盒测试又称为结构测试或逻辑驱动测试。

构造测试用例有逻辑覆盖法和基本路径测试法。

黑盒测试等价分类法构造测试用例:有•信用卡,其密码

号为五位,首位规定A或B,其他4位规定为数字位,请

列出二个有效等价密码和四个无效等价密码作为•组测试

用例,以便测试密码识别程序。

等价类选择的原则:有效等价类的测试实例尽量公用,即:

一个测试实例可以尽可能多的包含有效等价类,来进一步减

少测试次数;无效等价类必须一个测试实例仅包含一个无效

C8编码设计类,以防漏掉本来可.能发现的错误

程序设计语言的三个特性分别是:工程特性、技术特性、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论