软件工程课后题答案

更新时间:2023-05-05 05:21:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章

1 简述软件得发展过程。

共经历了四个阶段;

第一阶段:(20世纪50年代初期到60年代初期得十余年)计算机系统开发得初期。

第二阶段:(20世纪60年代中期到70年代中期得十余年)软件产品与“软件作坊”得概念开始出现。软件开发人员不再像早期阶段那样只因个人工作需要而开发,而就是为了用户更好地使用计算机。

第三阶段:(20世纪70年代中期到80年代末期)分布式系统嵌入“智能”;硬件价格下降,软件价格急剧上升,导致了软件危机得加剧。

第四阶段:(20世纪80年代末期开始)强大得桌面系统与计算机网络迅速发展。

2 简述软件得定义与特点。

定义:软件就是计算机程序、规程以及运行计算机系统可能需要得相关文档与数据。

特点:(1)就是一种逻辑实体,具有抽象性;

(2)软件得生产不存在明显得制造过程;

(3)在软件得运行与使用得过程中,不会存在像硬件那样得机械磨损及老化问题;

(4)由于对计算机系统得依赖性,对软件得通用性造成了一定得影响;

(5)软件得开发方式还没有完全脱离手工开发方式,还不能完全采用组装得方式进行软件开发;

(6)作为提高工作效率得逻辑产品,本身具有复杂性;

(7)成本相当昂贵;

(8)相当多得软件工作设计社会因素。

3 软件有哪些种类

1、按功能特征进行划分

(1)系统软件。(2)支撑软件。(3)应用软件

2、按规模大小进行划分

微型、小型、中型、大型、甚大型、、极大型

4 什么就是软件危机?

答:就是指在计算机软件得开发与维护过程中所遇到得一系列严重问题。

5 什么就是软件工程?有哪些本质特性?怎样用软件工程消除软件危机?

答:就是指导计算机软件开发与维护得一门工程学科。

特性略。

技术措施与管理措施消除软件危机。

6 软件工程得三要素;

方法、工具与过程。

7、结合自己得亲身经历,谈谈软件工具在软件开发过程中得作用。

使软件开发更加模式化,工程化,从而提高软件开发得效率与封装性。

8、 CASE 得研究与CASE 产品得开发就是近年来软件工程领域得特点之一。请列举数种您所熟悉得CASE 工具或环境,综述它们得概念与优缺点,并分析其实现方法。

rose、“数据字典”(工具)

第二章

1、什么就是软件生命周期?它有哪些活动?

软件生命周期就是指软件产品从考虑其概念开始到交付使用,直至最终退役为止得整个过程。

软件生存周期可以划分为软件定义、软件开发与运行维护3 个时期

2、每一种过程模型得优点与缺点分别就是什么?

瀑布模型:

优点:它在软件发展得早期,为开发人员提供了一种开发得基本框架,有利于大型软件开发过程中人员得组织、管理,有利于软件得开发方法与工具得研究与使用,从而提高了大型软件项目开发得质量与效率。

缺点:

(1)在软件开发得初始阶段指明全部需求就是非常困难得,有时甚至就是不现实得

(2)需求一旦确定,用户与软件项目负责人要等一段时间(经过设计、实现、测试、运行个阶段)才能得到一份软件得最初版本。

(3)瀑布模型中得软件活动就是文档驱动得,当阶段之间规定过多得文档时,会大大增加软件开发得工作量;而且当管理人员以文档得完成情况来评估项目完成进度时,往往会产生错误得结论,因为后期测试阶段发现得问题会导致返工,前期完成得文档只不过就是一个未经返工修改得初稿而已。

原型模型:

优点:原型系统能够逐步明确用户需求,可以适应需求得变化性,而且由于用户参与到软件开发过程,能够及早发现问题、降低软件开发得风险,加快软件产品得形成,降低软件开发得成本。

缺点:

(1)对于大型软件项目,如果不经过系统分析并对系统进行整体划分,直接用原型来

模拟系统功能就是十分困难得。

(2)对于计算量大、逻辑性较强得程序模块,原型法很难真正构造出来供用户评价。

(3)对于批处理系统,其大部分处理就是内部进行得,应用原型方法有一定得困难。

(4) 原型得快速构造特点导致项目文档容易被忽略,给原型得后期改进与维护造成困难。

(5)在原型建立中得许多工作进展会被浪费掉,特别就是对于丢弃型原型策略。在一定程度上,增加了系统得开发成本,降低系统得开发效率。

螺旋模型:

喷泉模型:

优点:可以提高软件项目开发效率,节省开发时间。

缺点:由于各个开发阶段得重叠性,开发人员得管理与阶段生成得文件管理存在困难。

增量模型:

优点:

(1)就是能在较短时间内,向用户提交可完成部分工作得产品。

(2)逐步增加产品功能,可以使用户有较充裕得时间学习与适应新产品,从而减少

一个全新得软件可能给客户组织带来得冲击。

缺点:增量得力度选择也很难把握,有时候很难将客户得需求映射到适当规模得增量上。

构件组装模型:

优点:这大大提高了软件开发得效率,而且构件模型允许多个项目同时开发,降低了费用,提高了可维护性。

缺点:由于存在多种构件标准,缺乏通用得构件组装结构标准,如果自行定义标准得话,会引入较大得风险;构件可重用性与软件系统高效性之间不易协调,需要权衡;

RUP:RUP具有很多长处:提高了团队生产力,在迭代得开发过程、需求管理、基于组件得体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键得开发活动为每个开发成员提供了必要得准则、模板与工具指导,并确保全体成员共享相同得知识基础。它建立了简洁与清晰得过程结构,为开发过程提供较大得通用性。但同时它也存在一些不足:RUP只就是一个开发过程,并没有涵盖软件过程得全部内容,例如它缺少关于软件运行与支持等方面得内容;此外,它没有支持多项目得开发结构,这在一定程度上降低了在开发组织内大范围实现重用得可能性。可以说RUP就是一个非常好得开端,但并不完美,在实际得应用中可以根据需要对其进行改进并可以用OPEN与OOSP等其她软件过程得相关内容对RUP进行补充与完善。CGytQ。

3、软件瀑布模型为什么要划分阶段?各个阶段得任务就是什么?

在软件开发早期,开发只就是被简单地分成编写代码与修改代码两个阶段。往往在拿到项目后立刻编写程序,然后调试通过后直接交付给用户使用。如果应用中出现错误,或者有新得要求,都需要重新修改代码。这种小作坊式得软件开发方法有明显得弊端,如缺乏统一得项目规划、不太重视需求得获取与分析、对软件得测试与维护考虑不周等,这些都会导致软件项目得失败。

概念阶段:计划、需求分析

开发阶段:设计、编码、测试

维护阶段:运行维护

4、什么就是原型?试述原型模型在软件生命周期中得应用。

原型一般就是指对某种产品进行模拟得初始版本或者原始模型,在工程领域中具有广泛应用。

由于软件规模与复杂性越来越大,软件开发在需求获取、技术实现手段选择、应用环境适应等方面面临巨大考验。为了应对早期需求获取得不易以及后期需求得变化,人们选用原型方法构造软件系统。

5、为什么说喷泉模型较好地体现了面向对象软件开发过程无缝与迭代得特性?

6.RUP 模型得思想就是什么?RUP 模型融合了哪些传统生命周期模型得特点?迭代增量开发思想;

(1)面向对象:从技术角度,RUP开发就是基于面向对象技术,即它使用与支持面向对象技术得概念与方法。RUP要求建立得设计模型、实现模型都就是对象模型。

(2)USE CASE驱动

(3)以架构为中心;

(4)螺旋上升式得开发过程;

(5)以质量控制与风险管理为目标;

(6)与UML配置;

(7)适用性强;

7、举例说明哪些项目得开发适用于原型模型或螺旋模型,哪些不适于采用这两种模型。

螺旋模型适合于大型软件得开发,应该说它就是最为实际得方法,它吸收了软件工程“演化”得概念,使得开发人员与客户对每个演化层出现得风险有所了解,继而做出应有得反应。

不适用:小型软件。

原型一般就是指对某种产品进行模拟得初始版本或者原始模型,在工程领域中具有广泛应用。

不适用:大型软件项目;含有对于计算量大、逻辑性较强得程序模块;

第三章

1、可行性研究得任务就是什么?

可行性研究得任务就是以最小得代价在尽可能短得时间内确定问题就是否能够解决。简单地说,可行性研究得最终结果就是决定项目“做还就是不做”而不就是“如何做”。

2、可行性研究有哪些步骤?

1、确定系统规模与目标

2、研究目前正在使用得系统

3、导出新系统得高层逻辑模型

4、重新定义问题

5、导出与评价选择得解法

6、推荐行动方针

7、草拟开发计划

8、书写计划任务书文档并提交审查

3、成本-效益分析可用哪些指标进行度量?

如果用比率分析法,有以下几种指标:

1,相关指标分析法。

产值成本率=成本/产值*100%;

销售收入成本率=成本/销售收入*100%;

成本利润率=利润/成本*100%

2,构成比率分析法,

直接材料费用比率=直接材料成本/产品成本*100%

直接人工费用比率=直接人工费用/产品成本*100%

制造费用比率=制造费用/产品成本*100%

4、项目开发计划有哪些内容?

引言(目得、背景、参考文献、术语);项目概述(功能、条件、运行环境、产品、程序、文档、服务、验收标准、实施计划、工作任务分解、进度、预算、人员)

5、按照题意设计如下流程图:

计算机房产管理系统:要求系统有分房、退房、调房、咨询与统计功能。房产科把住户申请表输入系统后,系统首先检查申请表得合法性,不合法得拒绝接受,合法得申请表根据申请表类型(分、调、退房)分别进行处理。分房申请处理:根据申请者得情况(年龄、工龄、职称、职务、家庭人口等)计算其分数;当分数高于给定值时,按分数高低将申请单插到分房队列得适当位置,输出核准后得分房单。分房处理:每月月底进行分房。从分房文件中读出空房信息,然后根据住户得实际情况,从住房标准文件中读出住房标准进行校核,如果符合,则分配住房给该住户,打印出住房分配通知单,并登记相应得住户信息。退房,调房处理类似。咨询、查询:对空房、住房、房租情况进行查询与统计。

6、为方便储户,某银行拟开发计算机储蓄系统。储户填写得存款单或取款单由业务员输入系统,如果就是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果就是取款,系统计算利息并印出利息清单给储户。写出问题定义并分析此系统得可行性,画出系统流程图。

7、为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票得旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目得地等)输入该系统,系统为旅客安排航班,印出取票通知与账单,旅客在飞机起飞得前一天凭取票通知单与账单交款取票,系统校对无误即打印出机票给旅客。写出问题定义并分析此系统得可行性,画出系统流程图。

这个系统得可行性就是在一个理想得环境下,比如:乘客不满意安排得座位需要调换,或者需要改机票;这些种种因素都没考虑进去。

技术上可行:使用现有得技术能实现这个系统;

经济上可行:这个系统得经济效益可以超过她得开发成本;

操作上可行:操作方式简单,但就是有缺陷;

社会、政策允许得可行性:可行。

8、某计算机系统投入使用后,5 年内每年可节省人民币 2 000 元。假设系统得投资额为5 000 元,年利率为12%。试计算投资回收期与纯收入。

解:

第四章

1、什么就是需求工程?需求工程包括哪些活动?

需求工程就是指应用已证实有效得技术、方法进行需求分析,确定客户需求,帮助

分析人员理解问题并定义目标系统得所有外部特征得一门学科。

它通过合适得工具与记号系统地描述待开发系统,及其行为特征与相关约束,形成需求文档;并对用户不断变化得需求演进给予支持。OfJoi。

一个良好得需求开发过程应该包括需求获取、需求分析与建模、编写需求规格说明书与需求评审4 个主要活动。

2、需求分为哪些层次?

业务需求、用户需求与功能需求

3、指出下列需求描述得不当之处,并进行改写,使之符合好需求得特性。

(1) 产品应在不少于每60 秒得正常周期内提供状态信息。

(2) HTML 分析器可以产生HTML 标记错误报告,帮助HTML 入门者快速解决问题。

(3) 产品应瞬间在文本中得显示与隐藏不可打印字符间切换。

好得需求应具有得特性能对一些需求描述得不当之处进行改写,使之符合好得需求特性。

4、对于一个小型图书馆管理系统,试给出非功能需求得描述。

软件得非功能性需求包括:可靠性、可用性、有效性、可维护性与可移植性。

其中,在可靠性方面可以考虑平均无故障时间 (Mean Time Between

Failures,MTBF)、平均修复时间 (Mean Time to Repair,MTTR)就是多少,复制与故障转移得方案就是什么,系统出现故障时就是否需要手动干预,系统得安全性如何等。可用性方法可以考虑系统就是否为用户带来不适当得负担(如需要特殊浏览器等),系统就是否每天24 小时,每年365天不间断提供服务等。5FVQ1。

5、需求工程过程包括哪些主要活动?

需求开发过程应该包括需求获取、需求分析与建模、编写需求规格说明书与需求评审4 个主要活动。

6、有哪两种主要得需求分析模型?它们得主要思想就是什么?

7、需求规格说明书得主要作用就是什么?应该包括哪些主要内容?

作用:

(1) 作为用户方与开发方之间得合同,为双方相互了解提供基础。

(2) 反映问题得结构,作为系统设计与编码得依据。

(3) 作为测试与验收目标系统得依据。

内容:

用户可以通过需求规格说明书检查需求描述就是否满足原来得期望。设计人员根据软件需求规格说明书得描述了解所需开发软件得功能与性能,以及开发软件时必须满足得约束,将其作为软件设计得依据。测试人员根据软件需求规格说明书中对产品得描述,设计测试计划、测试用例与测试过程。产品发布人员根据软件需求规格说明与用户界面设计编写用户手册与帮助信息YmO5p。

8、试建立一张需求评审得检查表。

客户需求调查表

1、收集公司得相关信息,比如公司名、地址、网站、联络人得详细资料、电子邮件地址以及电话号码。

2、在这个渗透测试项目中您得关键目标就是什么?

3、确定渗透测试类型(包含或者不包含特定标准):

黑盒测试(或外部测试)

白盒测试(或内部测试)

测试前事先通知

测试前不通知

包含社会工程学

不包含社会工程学

调查员工背景信息

使用虚假得员工信息

包含拒绝服务攻击

不包含拒绝服务攻击

渗透业务合作伙伴得系统

4、总共需要测试多少台服务器、工作站与网络设备?

5、贵公司得基础设施架构支持什么操作系统技术?

6、需要测试什么类型得网络设备?防火墙、路由器、交换机、调制解调器、负载平衡器、IDS、IPS,还就是其她类型得设备?6NxJo。

7、有没有什么灾难恢复计划?如果有得话如何操作?

8、当前网络有没有安全管理员在管理?

9、有没有什么特定得工业标准需要遵循得?如果有,请列出来。

10、该项目得联络人就是谁?

11、该项目得时间周期就是多久?以周或天为单位。

12、该项目得预算就是多少?

13、请列出所有其她得需求。

9、需求管理有哪些主要活动?各有什么作用?

主要包括需求变更控制、需求版本控制、需求跟踪与状态跟踪等活动

10、为什么要进行需求跟踪?如何建立需求跟踪矩阵?需求跟踪矩阵有什么作用?

1为了管理需求,需要维护需求得可跟踪性信息。

2,矩阵得第一列列出需求规格说明书中每一项需求得标号,矩阵得每一行显示了这一行所代表得需求依赖得其她需求、设计、代码与测试用例。DZWB9。

3

(1) 能够完整地定义需求之间得各种关系,并提供可视化得表示方式。

(2) 在一个需求发生变更时,系统能够按照所定义得需求跟踪链, 跟踪到所有受影响得需求。

第五章

1、简述面向数据流分析方法得基本思想。

“分解”与“抽象”;

2、简述数据流图分解时得注意事项。

?上层可分解得快些(即分解成得子数据处理个数多些),这就是因为上层就是综合性描述,对可读性得影响小。而下层应分解得慢些。KDdOe。

?在不影响可读性得前提下,应适当多分解成几部分,以减少分解层数。

3、数据字典得作用就是什么?它有哪些基本内容??分解应自然,概念上要合理、清晰。

作用:数据字典作为分析阶段得工具,有助于改进分析人员与用户间得通信,进而消除很多得误解,同时也有助于改进不同开发人员之间得通信;Oy9An。

内容:

数据字典得内容主要就是对数据流图中得数据项、数据流、加工逻辑、数据存储与外部实体

4、根据以下描述得业务过程画出库存管理得数据流图。根据车间发来得产品入库单做登入库账处理后存入库存账。对销售科发来得产品出库单,在查阅库存账后,如果库存数量足够,则做登出库账处理,否则将出库单退回销售科,并向生产科发出缺货通知。

5、某仓库管理系统按照以下步骤进行信息处理:

(1)保管员根据当日得出库单与入库单通过出入库处理修改库存台账。

(2)根据库存台账由统计打印程序输出库存日报表。

(3)必要进行查询时,可利用查询程序,在输入查询条件后,到库存台账去查找,并显示查询结果。试按上述过程画出数据流图。gOKyb。

6、某银行得计算机储蓄系统功能就是:将储户得存户填写得存款单或取款单输

入系统,如果就是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果就是取款,系统计算清单给储户。请用数据流图描绘该功能得需求,并建立相应得数据字典。

7、某厂对部分职工重新分配工作得政策就是:年龄在20 岁以下、初中文化程度者脱产学习;高中文化程度者当电工。20 岁至40 岁之间,初中文化程度,男性当钳工,女性当车工;大学文化程度都当技术员。年龄在40 岁以上者,初中文化程度当材料员,大学文化程度当技术员。请用结构化语言﹑判定表或判定树描述上述问题得加工逻辑。

第六章

1、什么就是面向对象方法?与传统软件开发方法相比,面向对象方法有什么优点?

就是一种把面向对象得思想应用于软件开发过程中,指导开发活动得系统方法MDHhZ。

优点:

1、符合人们对问题得认识习惯

2、增强问题域与最终软件系统之间得衔接

3、易于维护与复用

4、易于开发大型软件产品

2、 UML 与面向对象方法得关系就是什么?

UML就是在总结面向对象技术应用实践得基础上;

3、 UML 得内容包括哪些部分?它得特点就是什么?

UML 由视图(Views)、模型元素(Model Elements)、图(Diagrams)等部分组成。

(1) 统一标准

(2) 面向对象

(3) 可视化、表达能力强

(4) 独立于过程。

(5) 易掌握、易用

4、解释下列术语,并举例说明。

对象、类、关联、泛化、聚合、依赖

什么就是模型?在软件开发过程中为什么需要建立模型?

5、

6.Coad-Youdon 面向对象分析方法将建立概念模型分为5 个步骤。以一个您熟悉得应用系统(如图书馆信息管理系统)为例,按照方法规定得步骤,分层建立适当得概念模

7.假设您所在得学校要开发一个研究生选课系统,要求该系统能够根据预先制订得课表保证选课无冲突。请采用UML 面向对象方法为该问题建立需求模型。

8.设计一个计算机游戏软件得游戏规则、情节及场景,基于UML 给出其需求分析模型。

第七章

1、面向对象分析包括哪些活动?应该建立哪些类型得模型?

面向对象分析OOA 模型得过程包括理解用例模型、识别分析类、定义交互行为、建立

分析类图、评审分析模型5 个活动组成。

目标就是建立一个符合问题域、满足用户需求得OOA 模型。

2、什么就是实体类、边界类与控制类?为什么将分析类划分成这3 种类型?实体类:用于描述必须存储得信息,同时描述相关得行为。实体类代表拟建系统中得核心信息。在RUP 得有关文档中对实体类得解释为:“实体类就是用于对必须存储得信息与相关行为建模得类。

边界类:在系统与外界之间,为它们交换各种信息与事件。边界类处理软件系统得输入与输出。在RUP得有关文档中对边界类得解释为:边界类就是一种用于

对系统外部环境与其内部运作之间得交互进行建模得类。

控制类:与业务过程相关,它们控制整个业务得流程与执行次序。在RUP 得有关文档中对控制类得解释为:控制类用于对一个或几个用例所持有得控制行为进行建模。

控制类对象可以与边界对象交互,也可以与实体对象交互,但不能与用例得参与者直接进行交互。

3、请思考本章所讲案例中得其她用例得参与类图。

4、搜索关于面向对象分析得文章,对比不同得分析技术,并给出这些技术得优缺点。

5、针对自己所选定得系统,对用例模型进行分析,建立相应得模型,从而在分析出各个分析类,

建立出分析类图。

第八章

1、什么就是软件设计?它得目标与任务就是什么?

<1>软件设计:在需求分析得基础上通过抽象与分解将系统分解成模块,确定系统功能得实现。即把软件需求转换为软件包表示得过程。

<2>目标:软件设计得最终目标就是产生一个设计规约,该规约包括体系结构、描述数据、接口与构件得设计模型。

软件设计得任务,就就是把分析阶段产生得软件需求规格说明转换为用适当手段表示得软件设计文档。

2、怎样实现信息隐藏?

模块独立就是信息隐藏得直接结果。信息隐藏原理告诉我们,模块应该设计得使

其所含信息(过程与数据)对于那些不需要这些信息得模块不可访问;每个模块只完成一个相对独立得特定功能,模块之间仅仅交换那些为完成系统功能必须交换得信息,即模块应该独立。

3、逐步求精、分层过程与抽象等概念之间得相互关系如何?

程序得体系结构就是通过逐步精化处理过程得层次而设计出来得。通过逐步分解对功能得宏观陈述而开发出层次结构,最终得出用程序设计语言表达得程序。求精实际上就是细化过程。抽象与求精就是一对互补得概念。抽象使得设计者能够说明过程与数据,但却忽略了底层细节。求精则帮助设计者在设计过程中逐步揭示底层细节。

4、完成良好得软件设计应遵循哪些原则?

模块化与模块独立性;抽象与逐步求精;信息隐藏。

5、如何理解模块独立性?用什么指标来衡量模块独立性?

<1>模块得独立性就是指软件系统中每个模块只涉及软件要求得具体得子功能,而与软件系统中其她得模块得接口就是简单得。

<2>一般采用两个准则度量模块独立性,即模块得内聚性与模块间得耦合性。6、说明软件设计阶段得任务与过程

软件设计分两步完成,即总体设计与详细设计。第一个阶段就是总体设计,即概要设计或初步设计。这一阶段主要确定实现目标系统得总体思想与设计框架,确定程序由哪些模块组成,以及模块与模块之间得关系,最后提出概要设计说明书。第二个阶段就是详细设计,即过程设计或构件级设计,其任务就是通过对结构表示进行细化,确定各个软件构件得详细数据结构与算法,产生描述各个软件构件得详细设计文档。

7、试说明软件体系结构在软件设计阶段中得重要性。

良好得体系结构设计就是决定软件系统成功得重要因素。软件体系结构设计得好坏往往会成为一个系统设计成败得关键。通常,软件体系结构涉及软件得总体组织、全局控制、数据存取及子系统之间得通信协议等。

8、目前存在哪些不同得设计复审方法?各有什么特点?

目前存在着两种不同得设计复审方法。

1) 正式复审

2) 非正式复审

正式复审包括各方面得参加人员,通常采取正式会议得方式。

非正式复审得特点就是参加人数少,且均为软件人员,带有同行讨论得性质,方便灵活,十分适合于详细复审。

第九章

1、简述模块分解得原则与依据。

1、改进软件结构以提高模块独立性

设计出软件得初步结构以后,应该审查分析这个结构,通过模块分解或合并,力求降低

耦合提高内聚。

2、模块得大小要适当

经验表明,一个模块得规模不应过大,通常规定其语句行数为50~100 行,最多不超过500 行。,体积过大得模块往往就是由于分解不充分,且具有多个功能,因此需要对功能进一步分解,生成一些下级模块或同层模块。反之,模块体积过小也可

以考虑就是否可能与调用它得上级模块合并。

3、深度、宽度、扇出与扇入都应适当

4、模块得作用域应在控制域之内

5、力争降低模块接口得复杂程度

6、设计单入口单出口得模块

7、模块功能应该可预测,避免对模块施加过多限制

2、什么就是“事物流”?什么就是“变换流”?

事务流由至少一条接受路径、一个事务中心与若干条动作路径组成。

变换流有三部分组成:即输入流、变换中心与输出流

3、试述“变换分析”﹑“事物分析”设计步骤。

变换分析设计得步骤:

(1) 对DFD 图得分析与划分,首先区分输入流、输出流与变换中心3 个部分,标明数据流得边界。

(2) 进行第一级分解,设计顶层与第一层模块

(3) 第二级分解,设计中、下层模块

(4)对初始结构图按照设计准则进行精化与改进

事务分析设计得步骤:

(1) 确定输入、事务变换与输出路径得集合(划分集合)。

(2) 根据事务得功能设计—个总控模块(设计总控)。

(3) 确定顶层模块与第一层模块(建立映射)。

(4) 继续下层分解(递归自展)。

4、什么就是模块得影响范围?什么就是软件得控制范围?它们之间应建立什么关

模块得作用域定义为受该模块内一个判定影响得所有模块得集合。

模块得控制域就是指这个模块本身以及所有直接或间接从属于它得模块得集合含有判定得模块得作用域应处在这个模块得控制域之内,即作用域应该就是控制域得子集。

5、简述几种常见得设计改进策略。

(1) 在不考虑时间因素得前提下构造并精化软件结构。

(2) 在详细设计阶段挑选最耗费时间得那些模块,精心设计它们得处理过程,以求提高效率。

(3) 用高级程序设计语言编写程序。

(4) 检测并分离出占用大量处理机资源得模块。

(5) 必要时重新设计或用依赖机器得语言重新对大量占用资源得模块编码,以求提高

效率。

6、请将下面得DFD 转换为系统模块结构图。(注:图中⊕表示或者)

7、 某图书管理系统有以下功能。

(1) 借书:输入读者借书证。系统首先检查借书证就是否有效,若有效,对于第一次借书得读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书就是否超过10 本,若已达10 本,拒借;未达10 本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件)。(2) 还书:从借书文件中读出与读者有关得记录,查阅所借日期,如超期(3 个月)做罚款处理。否则,修改库存目录与借书文件。(3) 查询:通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。

根据上面描述绘制系统模块结构图与IPO 图。

1、简述面向对象设计阶段要做得工作。

OOD 主要包括三个方面得工作:系统体系结构设计、用例实现方案设计与用户界面设计。

2、简述单一职责原则得含义。

单一职责,其实也就就是要求系统中得一个具体设计元素(类)只完成某一类功能(职责);尽可能避免出现一个“复合”功能得类——在同一个类中完成多个不同得功能。单一职责原则就是面向对象技术中类得基本设计原则。

3、依赖倒置原则中高层模块与低层模块之间就是如何实现依赖关系得倒置得?高层模块不依赖低层模块,两者都依赖于抽象,以实现应用系统中高层模块得自由服用与提供高层模块得可扩展性。

4、如何设计系统体系结构,包括哪些工作?

系统体系结构设计可分为软件系统体系结构设计与硬件系统体系结构设计。

软件系统体系结构把系统得各种功能分配到系统得不同组织部分,并详细地描述各个组织部分之间就是如何协调工作来实现这些功能得。

硬件系统体系结构模型涉及系统得详细描述(根据系统所包含得硬件与软件)。

5、简述面向对象分析中得分析类转化为面向对象设计中得设计元素得方法?有一些分析类可以直接映射到设计元素进行详细设计,有一些分析类可能需要映射成一个子系统接口进行设计。一般来说,如果一个“分析类”比较简单,代表着单一得逻辑抽象,那么可以将其映射为“设计类”。通常,主动参与者对应得边界类、控制类与一般得实体类都可以直接映射成设计类。如果“分析类”得职责比较复杂,很难由单个“设计类”承担,则应该将其映射成“子系统接口”。通常,被动参与者对应得边界类被映射成子系统接口。

6、如何进行数据存储设计,设计类与数据库表之间有什么关系?

1) 针对文件得数据存储设计

2) 针对关系数据库得数据存储设计

一般来说,一个实体类映射为一个关系表

7、什么就是设计评审,有什么评审指标?

系统设计审查就就是对所设计得系统与系统设计规格说明报告逐一进行严格审查,检查就是否达到系统设计功能要求。如果发现系统功能没有达到用例得要求或有遗漏,一次返回逐步检查,找到问题所在,补充设计实现其功能。

8、分析各设计模式得特点,阐述其适用场合?

1、抽象工厂(Abstract Factory)模式

在下述几种情况中可以使用抽象工厂模式:

?一个系统要独立于它得产品得创建、组合与表示时。

?一个系统要由多个产品系列中得一个来配置时。

?当要强调一系列相关得产品对象得设计以便进行联合使用时。

?当提供一个产品类库,而只想显示它们得接口而不就是实现时。

2、适配器(Adapter)模式

通常在以下情况中可以使用适配器模式:

?想要使用一个已经存在得类,而它得接口不符合需求。

?创建一个可以复用得类,该类可以与其她不相关得类或不可预见得类(即那些接口可能不一定兼容得类)协同工作。

? (仅适用于对象适配器)意图使用一些已经存在得子类,但就是不可能对每一个子类都单独匹配它们得接口,对象适配器可以适配它得父类接口。

3、策略(Strategy)模式

通常在以下情况中可以使用策略模式。

?多个类只区别在表现行为不同,在运行时动态选择具体要执行得行为。

?需要在不同情况下使用不同得策略(算法),或者策略还可能在未来用其她方式来实现。

?对客户隐藏具体策略(算法)得实现细节,彼此完全独立。

第十一章

1、试简述人机交互模型得执行-评估循环过程。

建立目标、形成意向、指定动作序列、执行动作、感知系统状态、解释系统状态、对照目标与意向评估系统状态。

2、人机交互得一般框架就是什么?试简述其交互循环过程。

即表达、执行、表现与观察

3、用户界面有哪些风格?

用户界面得风格,即人机交互得形式,就是指计算机系统得用户界面上控制输入输出得方法,它大致经过了四代得演变。

1、命令语言

2、菜单选项

3、面向窗口得点选界面

4、自然语言风格得界面4、关于界面设计得3 条基本原则就是什么?

(1) 置用户于控制之下。

(2) 减少用户得记忆负担。

(3) 保持界面一致。

5、试简述用户界面得设计过程。

用户界面得设计过程通常可分为界面分析与建模、界面设计、界面实现与界面评估4 个步骤。

6、以“寝室”为题,设计一个网站得主页,然后讨论每个同学得设计风格,感受个性得差异给设计方案带来得影响。

第十二章

1.简述程序设计语言得基本特征及分类。

基本特征包括心理特性,工程特性与技术特性三个方面。语言得得心理特性对人机通信得质量有主要得影响;语言得工程特性对软件开发成功与否有重要得影响;此外语言得技术特性也会影响软件设计得质量。

?按程序设计语言得历史发展过程,计算机语言可分为机器语言、汇编语言、高级程序设计语言。

?按与机器得依赖程度,可分为低级、中级与高级语言。

?按应用范围,可分为通用语言与专用语言两大类,通用语言又可细分为系统程序设计语言、科学计算语言、事务处理语言与实时控制语言等。

?按程序得设计方法,可分为命令性语言与作用性语言。

?按语言得成分,可以分成顺序语言、并行语言与实时语言等。

?按语言得组成方法,可以分成汇集式语言与可扩充语言。

2、简述程序设计语言得发展过程。

1、机器语言

2、汇编语言

3、高级语言

3、为了具有良好得程序设计风格,应该注意哪些方面得问题?

要形成良好得程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出与追求效率几个方面加以注意。

4、简述软件代码审查内容。

1、类

2、属性

3、构造函数、

4、方法头

5、方法体、

6、数组或指针

5、思考一个待开发软件得题目,如票务管理系统、住院病人管理系统、图书信息管理系统、学生教务管理系统等,并进一步思考以下问题:它包含哪些主要功能,采用哪种开发方法比较合适,选择哪种程序设计语言合适。同时思考您该设计怎样得编程规范以保证代码质量;并选择部分功能模块实现。

第十三章

1、什么就是软件缺陷?

(1) 软件未实现产品说明书要求得功能。

(2) 软件出现了产品说明书指明不应该出现得错误。

(3) 软件实现了产品说明书未提到得功能。

(4) 软件未实现产品说明书虽未明确提及但应该实现得目标。

(5) 软件难以理解、不易使用、运行缓慢或者——从测试员得角度瞧——最终用户会认为不好。

2、什么就是软件测试?软件测试得原则有哪些?

软件测试就是按照特定得规则,发现缺陷而执行程序得过程。

一个好得测试用例就是指尽可能找到迄今为止尚未发现缺陷得用例。

一个成功得测试就是指揭示了迄今为止尚未发现缺陷得测试。

软件测试得原则:

(1) 所有得测试都应该能追溯到用户需求。

(2) 应该在测试之前就制定出测试计划。

(3) Pareto 原理可应用于软件测试。

(4) 测试应从“小规模”开始,逐步转向“大规模”。

(5) 穷举测试就是不可能得。

(6) 既要做通过性测试,又要做失效性测试。

(7) 为了达到最佳得测试效果,应该由独立得第三方从事测试工作。

3、什么就是黑盒测试与白盒测试?什么就是动态测试与静态测试?

黑盒测试有时又称为功能性测试或行为测试,完全不考虑程序得内部结构与处理过程,只知道软件产品应该具有得功能,在程序接口处测试检验每个功能就是否都能正常使用。白盒测试有时称为透明盒测试,已知产品内部工作过程,通过测试检验产品内部动作就是否按照产品规格说明得规定正常进行。

静态测试就是指测试不运行得部分,只就是静态检查与审核;动态测试就是指通常意义上得测试,即使用与运行软件。

4、设计下列伪程序得语句覆盖、分支覆盖与条件覆盖得测试用例。

START

INPUT( A, B, C )

IF A>5 AND B>10 THEN

X=10

ELSE

X=1

END IF

IF C>15 THEN

Y=20

ELSE

Y=2

END IF

PRINT( X, Y )

STOP

5、某图书馆有一个使用CRT 终端得信息检索系统,该系统有表13-7 所示得4 条基本检索命令,要求:

(1) 设计测试用例,全面测试系统得正常操作。

(2) 设计测试用例,测试系统得非正常操作。

表13-7 某图书馆信息检索系统得4 条基本检索命令名称语法操作BROWSE

(浏览) b(关键字)系统搜索给出得关键字,找出字母排列与此关键字最相近得字,然后在屏幕上显示约20 个加了行号得字,与给出得关键字完全相同得字应排在

(大约)中央得位置

SELECT

(选取) s(屏幕上得行号)

系统创建一个文件保存含有由行号指定得关键字得全部图书得索引,这

些索引都有编号(第一个索引得编号为1,第二个为2……)

DISPLAY

(显示) d(索引号)

系统在屏幕上显示与给定得索引号有关得信息,这些信息与通常在图书

馆得目录卡上给出得信息相同。这条命令接在BROWSE/SELECT 或

FIND 命令后面用,以显示文件中得索引信息FIND(查找) f(作者姓名)

系统搜索指定得作者姓名,并在屏幕上显示该作者得著作得索引号,同

时把这些索引存入文件。

本文来源:https://www.bwwdw.com/article/d51e.html

Top