软件工程课后作业_第1页
软件工程课后作业_第2页
软件工程课后作业_第3页
软件工程课后作业_第4页
软件工程课后作业_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第一章

1.1

答:软件危机是指在计算机软件开发、使用与维护过程中碰到的一系列严重问题和难题。

它涉及两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长

的已有软件。

软件危机的典型表现:

(1)对软件开发成本和进度的估计经常很不准确。经常出现实际成本比估算成本高出一

个数量级、实际进度比计划进度迟延几个月甚至几年的现象。而为了赶进度和节约成本

所采用的一些权宜之计乂往往损害了软件产品的质量。这些都减少了开发商的信誉,引

起用户不满。

(2)用户对己完毕的软件不满意的现象时有发生。

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

(4)软件经常是不可维护的。

(5)软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工

作带来许多难以想象的困难和难以解决的问题。

(6)软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7)开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的因素:

(1)来自软件自身的特点:是逻辑部件,缺少可见性;规模庞大、复杂,修改、维护困

难。

(2)软件开发与维护的方法不妥:忽视需求分析;认为软件开发等于程序编写;轻视软

件维护。

(3)供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

1.2

答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在初期引入变动,涉及

的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完毕,引入一

个变动要对所有己完毕的配置成分都做相应的修改,不仅工作量大,并且逻辑上也更复

杂,因此付出的代价剧增;在软件“已经完毕”是在引入变动,当然付出的代价更高。

一个故障是代码错误导致的,有时这种错误是不可避免的,但要修改的成本是很小的,

由于这不是整体构架的错误。

1.3

答:1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软

件开发、运营和维护过程,也就是把,程应用于软件;②研究①中提到的途径。

软件工程的本质特性:

(1)软件工程关注于大型程序(软件系统)的构造

(2)软件工程的中心课题是分解问题,控制复杂性

(3)软件是经常变化的,开发过程中必须考虑软件将来也许的变化

(4)开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护

软件的更好更有效的方法和工具

(5)和谐地合作是开发软件的关键

(6)软件必须有效地支持它的用户

在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完毕一些工

作)消除软件危机的途径:

(1)对计算机软件有一个对的的结识(软件W程序)

(2)必须充足结识到软件开发不是某种个体劳动的神秘技巧,而应当是一种组织良好、

管理严密、各类人员协同配合、共同完毕的工程项目

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

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

1.4

答:1.传统方法学:也称为生命周期方法学或结构化范型。

优点:把软件生命周期划提成基干个阶段,每个阶段的任务相对独立,并且比较简朴,

便于不同人员分工协作,从而减少了整个软件开发过程的困难限度。

缺陷:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开

发出的软件往往不成功;并且维护起来仍然很困难。

2.面向对象方法学:

优点:减少了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工

作;促进了软件重用。

1.5

答:(1)存储容量需求M=4080e0.28(1985-1960)=4474263(字)

存储器价格P=0.048*0.72(1985-1974)*4474263=5789美元

(2)需要工作量4474263/2()0=22371(人/月)

指令成本22371*4000=89484000美元

(3)需求估计M=4080e0.28(1995-1960)=73577679字

存储器价格0.003*32*0.72(1995-1974)*73577679=7127美元

工作量73577679/600=122629(人/月)

成本122629*6000=美元

1.6

答:软件过程是为了开发出高质量的软件产品所需完毕的一系列任务的框架,它规定了

完毕各项任务的工作环节C

软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方

法学,也称范型。

软件过程是软件工程方法学的3个重要组成部分之一。

1.7

答:软件生命周期模型是跨越整个生存期的系统开发、运作和维护所实行的所有过程、

活动和任务的结构框架。

瀑布模型:

优点:它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在

该模板下有一个共同的指导。虽然有不少缺陷但比在软件开发中随意的状态要好得多。

缺陷:(1)实际的项目大部分情况难以按照该模型给出的顺序进行,并且这种模型的迭

代是间接的,这很容易由微小的变化而导致大的混乱。

(2)经常情况下客户难以表达真正的需求,而这种模型却规定如此,这种模型是不欢迎

具有二义性问题存在的。

(3)客户要等到开发周期的晚期才干看到程序运营的测试版本,而在这时发现大的错误

时,也许引起客户的惊恐,而后果也也许是劫难性的。

快速原型模型:

优点:使用户可以感受到实际的系统,使开发者可以快速地构造出系统的框架C

缺陷:产品的先天性局限性,由于开发者经常需要做实现上的折中,也许采用不合适的

操作系统或程序设计语言,以使原型可以尽快工作。

增量模型:

优点:(1)人员分派灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可

增长人力实现下一个增量C

(2)当配备的人员不能在设定的期限内完毕产品时,它提供了一种先推出核心产晶的途

径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。

缺陷:(1)至始至终开发者和客户纠缠在起,直到完全版本出来。

(2)适合于软件需求不明俏、设计方案有一定风险的软件项目。

该模型具有一定的市场。

螺旋模型:

优点:对于大型系统及软件的开发,这种模型是一个很好的方法。开发者和客户可以较

好地对待和理解每一个演化级别上的风险。

缺陷:(1)需要相称的风险分析评估的专门技术,且成功依赖于这种技术。

(2)很明显一个大的没有被发现的风险问题,将会导致问题的发生,也许导致演化的方

法失去控制。

(3)这种模型相对比较新,应用不广泛,其功效需要进一步的验证。

该模型适合于大型软件的开发

1.8

答:由于使用面向对象方法学开发软件•时,各个阶段都使用统一的概念和表达符号,因

此,整个开发过程都是吻合一致的,或者说是无缝连接的,这自然就很容易实现各个开

发环节的反复多次迭代,达成结识的逐步深化,而喷泉模型则很好的体现了面向对象软

件开发过程迭代和无缝的特性。

1.9

答:优点:提高了团队生产力,在迭代的开发过程、需求管理、基于组建的体系结构、

可视化软件建模、验证软件质量及控制软件变更等方面、针对所有关键的开发活动为每

个开发成员提供了必要的准则、模版和工具指导,并保证全体成员共享相同的知识基础。

它建立了简洁和清楚的过程结构,为开发过程提供较大的通用性。

缺陷:RIP只是一个开发过程,并没有涵盖软件过程的所有内容,例如它缺少关于软件

运营和支持等方面的内容,此外,他没有支持多项目的开发结构,这在一定限度上减少

了在开发组织内大范围实现重用的也许性。

1.10

答:大型的需求不断变化的复杂软件系统项目

1.11

答:合用于商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束

1.12

合用于商业环境下具有有限资源和有限开发时间约束的项目的软件过程模式.

第二章

2.2

答:假如是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款

人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率等信息,完毕

后由系统打印存款单给储户。

假如是取款,储户填写取款单,然后交给业务员,业务员把取款金额输入系统并规定储

户输入密码以确认身份,核对密码对的无误后系记录算利息并印出利息清单给储户。

为了满足储户的需求,该系统需要迅速的对用户的规定做出反馈,要对用户输入的信息

作出最快的解决,所以就需要很大的主存容量,以及强大的数据即支持。由于是所面向

的用户是广泛的储蓄用户群,所以需要系统强大的安全性能支持。可行性研究方法

条件、假定和限制

建议开发软件运营的最短寿命:5年

进行系统方案选择比较的期限:2个月

经费来源和使用限制:定制银行

硬件、软件、运营环境和开发环境的条件和限制:

银行中心拥有大型机以及用来支持的数据库,各个银行网点都有安

好的PC机,安装有Windows2023及以上的操作系统。

建议开发软件投入使用的最迟时间:开发完毕后试运营1个月。

可行性研究方法

通过与银行纯熟业务员进行进一步讨论,制定具体用户调查问卷,真正了解用户以及银

行业务员的实际需求,根据业务员提供的信息以及问题定义再综合调查问卷中用户提出

的意见进行改善。最终拟定项目需要解决的问题,并拟定问题能不能被解决。

决定可行性的重要因素

1)项目开发成本

2)所需设备置办成本

3)技术是否能满足需求

4)操作人员的纯熟限度

5)资源有效性

对现有系统的分析

1解决流程和数据流程

系统流程图

存款流程图:

取款流程图:

数据流图:

2工作负荷

当前大多数银行所使用的银行储蓄系统在办理业务时手续繁琐,人工业务操作过多,办

理一个客户的业务就需花费较长的时间,其他客户只有等待。这样太浪费时间,需要大

量的业务员解决客户业务°特别是在节假日人流高峰期,导致工作效率非常低,且犯错

率高,以致客户等待办理手续过长感到不耐烦,减少了银行效率。这也给银行工作人员

增长了非常大的承担和额外的工作负荷;同时业务员增多,银行费用支出多,给银行公

司的发展带来严重的制约和压力。

3费用支出

运营现有系统所需要的费用支出涉及:银行业务员及其他工作人员的工资,系统维护所

需资金,

4人员

需要大量的业务员、客服人员,系统维护人员以及其他工作人员。

5设备

现有系统所需要的设备有:打印机、PC机、电脑。

6局限性

工作效率底下,不能符合大量群众的及时需求,给群众的生活带来不便。这是现有系统

办理业务的流程中出现的一个严重问题。为了解决这一问题,让人们再办理银行业务更

加方便快捷,我们急需开发一个更为高效的银行计算机储蓄系统,让储蓄业务不用再排

队。

(1)当前银行使用的银行储蓄系统在办理业务时仅仅靠手工操作,人工业务占据了所

有,所以规定银行业务员办理业务时细心耐心,对数字敏感,算术水平高。它严重影响

了工作效率,且犯错率高,储户办理事务时需要等待时间过长,需要大量的银行业务员

才干满足日益增长的存取款规定。

(2)用纸张记录保存用户存款记录查找繁琐,耗时久,不方便,且容易丢失。且人工

记录不能保证万无一失,容易出现数据录入错误。随着用户数的增多,这个缺陷会越发

凸显。

(3)存款记录保密性差,任何一个业务员都可以随意更改查阅用户数据,用户的资料

容易泄漏,带来安全隐患,

(4)业务员服务的时间有限,不能24小时办理业务,没有应急解决,不能更好的解决

群众的需求。

(5)所有客户的业务都由业务员手工办理.,浪费人力资源。有的简朴的业务经改善可

由机器完毕,完全不用人工参与,这样节约了人力成本,也提高效率。

(6)对现有系统的改善维护只能依靠增多业务员数量,增多银行分行数目,提高业务

员业务素质来实现。增多业务员数量会导致银行人员支出大大增多,同时需要多选址建

设分行,或者扩大分行规模,费用代价巨大。业务员的业务素质需要培养,不能短期无

限看见成效,及培养新人员需要一定的时间,这又浪费资金和人力资源。对现用系统的

改善型维护已经不能解决储户越来越多、储户时间越来越长的问题。

第三章

3.3

解:数据流图

F5存款信息F5存款信息

D1存款信息

PIP2

FI存款的一

记录存款信息打印存单

fI_1

F3存单

F5存款信息F5存款信息_t_

-JI曰

」储户

D1存款信息

F7密码

一F4利息

F2取款尸息

F5存款信息利

1P5、

、jT印利息涌W

'P4

核身密码产6取款信息F8储蓄利率

、计算利息,

E2P6

F8储芾利率F8储番利率》D2存款利率

业务员设

用ER图描绘系统中的数据对象。

3.4

用ER图描绘系统中的数据对象。

数据流图

机票

账不取票通知

3.5

(1)实体-联系图

(2)数据流图

(3)HIPO图

第五章

5.3

①蓄系统

PIP2

EI—FI存款单一►

记泉存款信息打印打单

储户—F7密码一►\___________7

F3存单

F5存款信息

E1

D1存款信息砧户

F7密码

F4利息

F2取款耻

F5存款信息

「P5、

「F4利息

印利息清单,

P3P4

I”4款信息,F8储蓄利率

核算密码计算利息

E2P6

F8储蓄F8储希利率,D2存款利率

业务员设置利率

P3.I

—F2取款单・F5存款信息

E1输入取款信息J

储户

无效取款信息

D1存款信息

F7密码

F7密码P3.2

、密码校验

不能是两个分开的子系统,是相同的前台单个解决

银行储蓄系

业务单据录

储蓄业务处理单据输出

I

存款利存款单据输取款单

存款取款

率设置入据输入存单利息清单

②机票预订系统

旅客信息-----

旅行f二L票A顾客

;;—预定信总—

机票Z\

P2.3

打印取票单据

机票一机票一X_____________Z

账单取票通知

账通取票通知

可以是两个子系统,预定和取票是不同的解决方式(后台批量和前台单个)

旅号]肮中

I用歙用信马

公司

现定信.见

P2.1

女方航班

PI

-----派齐,门息]

录入演定仅总

(£金.卜f

Q班信息

林票

1,23

门即取桌中招

收票通知票心中

核对取僵凭i二

;「:通川

机票预定系

“HJ机克

机票发放子

机票预定子

系统

系统

取票凭证处

预定信息处打印及发放

理交款

理机票

打印取票单

安排航班据

录入预定信

设置航班核对取票凭

息录入取票凭

证证

5.4

解:(1)数据流图:

分解后:

(2)需求说明:

1.功能需求:可以输入调资的标准,输入教师档案,经调资给出新的教师档案,

需要存储档案

2.性能需求:软件的响应时间应小于0.5s,更新解决要快

3.灵活需求:当需求发生某些变化时,该软件应当可以适应这些变化

4.故障解决规定:出现错误时,应给予警告或提醒

(3)

(a)比较耗时,由于它要检索所有的档案,(b)从速度上看比较快,但是(b)需要

排序算法,比较复杂,(a)对于设计来讲比较简朴.(4)画出的数据流图比较适合(A)

的算法

第A/r八%早T^T-

6.3

解:流程图:

6.7

解(1)

夫SIWJ

/\

11234S6789IO1112131415161718

reloooTTTTTTFFFFFFFFFFFF

lOOO^Ps^10000卜,FFFFFTTTTTTFFFFFF

尸>10000卜卜卜卜卜’卜FFF了FFTTTTTT

Q<14TTFFFFTTFFFFTTFFFF

14<Q<25FFTTFFFFTTFFFFTTFF

Q>25FFFFTTFFFFTTFFFFTT

n是100的倍效TFTFTFTFTFrF1FrFTF_

Cl4-0.05>X0.084PX

(14-0.09>X0.084FX

(14-0.02>X0.084?X

(14-0.06)X0.084尸X

(14-0.01)X0.084PX

<1+0.04>XO.084尸X

(14-0.0S>X(0.05尸+34)X

(14-0.09)X(0.05尸+34)X

(14-0.02>X<0,05尸+34)X

(14-0.06)X<0.05尸+34)X

C14-0.01)X(O.05尸+34〉X

(14-0.04)X(0.05P4-34)X

Cl-K0.05)X(0.04F+134>X

(14-0.。9)X(0.04万+134)X

(14-0.02>X(O.04P4-134)X

(14-0.06)X(O.04P4-134)X

<1-4-0.01>X(O.04F4-134>X

<1+。04>X(0.04F4-134)X

〃是】oo倍数一(1+0.05)x0.084万

——14I〃不是1OO倍数一(14-0.09)X0.084P

〃是10。倍数一(1+0.02)x0.084。

------14-QW25|

-P<1OOO〃不是1OO倍数—(1+0.06)x0.08"

〃是1OO倍数一(14-0.01)XO.O84P

—325

1〃不是1OO倍数—(1-^O.O4)XO.O84P

〜M|---------------〃是1OO倍数——-(1+0.05)X(0.05尸+34)

—-】41---------------〃不星1OO倍数-—(1+0.09)x(0.05P+34)

____14-------〃是1。。倍数-(1+0.02)X<0.057»4-34)

一IOOOWPWIOOOO

1----〃小是1OO僭敌(1■+X/.UO)X+JR)

825I---------------〃星100倍数——-(1-H).01)x(0.05P+34)

1----------〃不是】00倍数一—(1+0.04)X(O.O5P+34)

〃足:1OO倍数——-(1+0.05)x(004尸+134)

——14|__________

〃不是1OO倍数一—(1+0.09)X(0.04P+134)

〃挹1OO倍数一-(14-0.02)x(0.04P4-134)

p>ioooo------14W0W25|

〃不是1OO倍数一—(1+0.06)x(O.O4P+134)

"是100倍数一-(1+0.01)X(0.04尸+134)

-P>251__________

〃不是100倍数一——(1+0.04)x(O.O4P4-134)

6.8

解:流程图:

stop

环形复杂度:

V(G)=结点E一弧数11+1=17・11+1=7=判断结点+1=6+1=7=封闭的区域数

逻辑有问题,当Z>0时,容易形成死循环;条件Yv5包含条件Y-2。

第七章

7.2

解:⑴程序流程图:

愉入X

愉入关键字,KYEWORD

控制搜索总次数的计数器

⑵此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体内转到循环体外的一个条

件语句内部。

⑶修改后的伪码如下:

INPUTN,T输入N

INPUTKEYWORD(S)FORTOPIC输入有关话题的关键字

OPENFILE打开文件

1=0

MATCH=0

DOWHILEIWT循环一最多可做T次

1=1+1

READAWORDOFFILETOWORD从文件里读一个字到变量WORD

IFWORD=KEYWORD

THENMATCH=MATCH-1

IFMATC-H=XTHENEXIT搜索到了、个关键字,就跳出循环

ENDIF

ENDIF

ENDDO

IFMATCH=0

THENPRINTNO\IATCH”若MATCH=0就打印“没有相匹配”

ELSEPRINT”共搜索到%MATCH;"个匹配的关键字”否则打印信息

ENDIF

修改后的程序框图(盒图)

⑷程序中的错误:语句"IFV'ORD=KEY\VORD”里的变量“WORD”没有顼先赋值。

程序中没有预先愉入T的值

应该是“MATCH=O"

语句覆盖的含义是,选择足够多的测试数据,使被测试程序中的每个语句至少执行一次。

第九章

9.1

答:OO=objects+classes+inheritance+communicationwithmessages也就是说,面向对象就

是既使用对象又使用类和继承等机制,并且对象之间仅能通过传递消息实现彼比通信。

面向对象方法学的优点:

1、与人类习惯的思维方法一致;

2、稳定性好;

3、可重用性好;

4、较易开发大型软件产品;

5、可维护性好。

9.2

答:把客观世界中的实体抽象为问题域中的对象。

它与传统数据相同的是,它们都是现实实体特在在计算机中的抽象表达:不同的造,对象

是进行解决的主体,而传统数据是被动的接受外部指令对它进行解决;对象对实体特性

进行了封装,而传统数据没有封装;对象比传统数据更为接近自然实体。

9.3

类是对具有相同属性和行为的一个或多个对象的描述。

9.4

广义地说,继承是指可以直接获得已有的性质和特性,而不必反复定义它们。在面

向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制C

9.5

答:所谓模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书

面描述。模型是一种思考工具,运用这种工具可以把知识规范地表达出来。

其中,IT=105,MTTF1=0.4,T1=160,n1=100,MTTF2=2,T2=320,n2=300。为了开发复杂的

软件系统,系统分析员应当从不同角度抽象出目的系统的特性,使用精确的表达方法构

造系统的模型,验证模型是否满足用户对目的系统的需求,并在设计过程中逐渐把和实

现有关的细节加进模型中,直至最终用程序实现模型。对于那些因过度复杂而不能直接

理解的系统,特别需要建立模型,建模的目的重要是为了减少复杂性。

9.6

对象模型表达静态的、结构化的系统的“数据”性质。它是对模拟客观世界实体的

对象以及对象彼此间的关系的映射,描述了系统的静态结构。

通常使用UML提供的类图来建立对象模型。在UML中术语”类”的实际含义是,

一个类及属于该类的对象

9.7

动态模型表达瞬射的、行为化的系统的“控制”性质,它规定了对象

模型中的对象的合法变化序列。

通常,用UML提供的状态图来描绘对象的状态、触发状态转换的事

件以及对象的行为(对事件的响应)。每个类的动态行为用一张状态图来描

绘,各个类的状态图通过共享事件合并起来,从而构成系统的动态模型。

也就是说,动态模型是基于事件共享而互相关联的一组

温馨提示

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

评论

0/150

提交评论