系统工程导论章四作业一

《系统工程导论》第四章作业

利用Matlab,编程实现一元线性回归。

要求:

1)实现函数function linear_regression1(data,alpha);

2)输入为N*2的矩阵data,第一列为Y,第二列为X;显著性水平alpha;

3)打印出回归直线方程(有必要的话,也可输出重要的中间数据);

4)用F检验法进行统计检验,显著性水平为输入alpha,提示Matlab中得到F分布对于给定显著性水平和自由度的分位数函数是finv,请大家自行用help工具确定其用法;输出检验结果,如果输入数据满足线性关系,那么5)和6),否则结束;

5)打印出置信区间,提示Matlab中得到标准正态分布相应分位数的函数是norminv,请大家自行用help工具确定其用法;

6)在一个figure中,画出:a所有数据点,b回归直线,c置信区间相应的两条边界直线。

7)将“第4章作业(1)_数据.ppt”中的数据用你

编写的程序处理,将所有结果贴到作业报告中,

显著性水平取0.05。

解:

算例结果如下图:

打印出回归直线

用F检验法进行统计检验,并输出检验结果

打印出置信区间

在一个figure中,画出:a所有数据点,b回归直线,c置信区间相应的两条边界直线:

注:图中,红点是数据点,红线是回归直线,蓝线是置信区间相应的两条边界直线。

代码:

function linear_regressionl(data,alpha);

data=[4.0 3.44 3.6 1.0 2.04 4.74 0.6 1.7 2.92 4.8 3.28 4.16 3.35 2.2;

0.009 0.013 0.006 0.025 0.022 0.007 0.036 0.014 0.016 0.014 0.016 0.012

0.020 0.018];//输入N*2的矩阵data,第一列为Y第二列为X

alpha=0.05; //置信水平

X=[ 1 1 1 1 1 1 1 1 1 1 1

1 1 1;

0.009 0.013 0.006 0.025 0.022 0.007 0.036 0.014 0.016 0.014 0.016 0.012 0.020 0.018];

Y=[4.0 3.44 3.6 1.0 2.04 4.74 0.6 1.7 2.92 4.8 3.28 4.16 3.35 2.2];

A=X*X';

B=X*Y';

M=inv(A)*B; //M是回归模型式中的参数

disp('y=5.18-134.6066*x'); //输出回归直线

Fa=finv(0.95,1,12) //求出临界值

ESS=0;RSS=0;yi=0;xi=0;

for i=1:14

yi=yi+Y(i);

xi=xi+X(2,i);

end

y=yi/14;

x=xi/14; //分别求出x与y的平均值

for i=1:14

ESS=ESS+((5.18-134.6066*data(2,i))-y)*((5.18-134.6066*data(2,i))-y);

RSS=RSS+(Y(i)-(5.18-134.6066*data(2,i)))*(Y(i)-(5.18-134.6066*data(2,i))); end

F=12*ESS/RSS

disp('F>Fa 所以是线性的');

Z=norminv(0.025) //标准正态分布相应分位数

S=sqrt(RSS/12) //剩余均方差

disp('置信区间:(y0-1.59,y0+1.59)');

x=0.005:0.0001:0.04; //取x的范围和步长

y=5.18-134.6066*x;

m=[0.009 0.013 0.006 0.025 0.022 0.007 0.036 0.014 0.016 0.014 0.016 0.012 0.020 0.018];

n=[4.0 3.44 3.6 1.0 2.04 4.74 0.6 1.7 2.92 4.8 3.28 4.16 3.35 2.2];

//为了方便输出数据点方便,用m与n分别表示x,y。因为x、y存储在向量里面不好用

plot(m,n,'r.'); //输出数据点

hold on;

plot(x,y,'r'); //输出回归直线

hold on;

plot(x,y+Z*S,'b');

hold on;

plot(x,y-Z*S,'b'); //输出置信区间相应的两条边界直线。

for i=1:14

str=['(',num2str(data(2,i)),',',num2str(data(1,i)),')'];

text(data(2,i),data(1,i),str); //输出坐标

end

title('y=5.18-134.6066*x'); //写标题

xlabel ('x');

ylabel ('y'); //标注横坐标、纵坐标

end

软件工程导论复习笔记

简答题: 1.什么是软件? 答:软件是: (1)指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求。 (2)数据结构,使得程序可以合理利用信息。 (3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用。 2.How do software characteristics differ from hardware characteristics? 软件的特性是如何不同硬件的特性? 答:(1)软件是设计开发的,而不是传统意义上生产制造的(2)软件不会磨损,但会退化 (3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的 3.What do people mean by the expression "software crisis"? 人们是怎样理解“软件危机”这个短语的?

答:软件危机主要表现在两个方面: (1)无法满足日益增长的对软件的需求。 (2)难以满足对已有的软件系统的维护需求。 软件危机出现的原因: (1)由于软件生产本身存在着复杂性 (2)与软件开发所使用的方法和技术有关 “软件工程”的概念用工程化的思想来克服软件危机。 4.What myths about software still exist ? 软件仍然存在着什么神话? 答:管理者的神话;用户的神话;开发者的神话。 简答题: 1.What are the three generic phases of software engineering? 软件工程的三个一般的阶段是? 答:定义阶段、开发阶段、维护阶段 (软件生存周期的三个阶段:软件定义、软件开发、软件维护) 2.What are the names of the five levels of the SEI Capability Maturity Model?

2013华南理工 完整版系统工程导论随堂练习及作业答案

系统工程导论?作业一 1. 系统工程的主要特点是什么? A: 一个系统,两个最优 B: 以软为主,软硬结合 C: 跨学科多,综合性强 D: 从定性到定量的综合集成研究 E: 宏观研究为主,兼顾微观研究 F: 实践性与咨询性 参考答案:ABCDEF 2. 把时间维与逻辑维结合起来形成一个二维结构,称为系统工程的活动矩阵, 参考答案:√ 3. 80年代末,钱学森提出处理开放的复杂巨系统的方法论___,结合系统学理论和人工智能技术的发展,又于己于1992年提出了建设____ 体系,进一步发展了开放的复杂巨系统的系统方法。 A: 从定性到定量综合集成研讨厅;从定性到定量综合集成方法 B: 从定性到定量综合集成方法;从定性到定量综合集成研讨厅 C: 定性与定量综合集成方法;定性与定量综合集成研讨厅 D: 定性与定量综合集成研讨厅;定性与定量综合集成方法 参考答案:B 4. 从控制理论来看,控制任务的主要类型是: A. 定值控制、 B. 程序控制 C. 随动控制 D. 最优控制 参考答案:ABCD 5. 从系统工程的观点看,系统的主要属性哪一些? A:集合性 B:相关性 C:层次性 D:整体性 参考答案:ABCD 6. 下面关于系统与环境的关系叙述正确的有()A:新系统产生于环境;新系统的约束条件决定于环境; B:决策的依据来自于环境,试制所需资源来自于环境,最后,系统的品质也这能放在环境中进行评价。C:系统对环境的依赖性,产生与环境,运行与环境中,适应环境; D:系统与环境划分的确定性与相对性; 参考答案:ABCD 7. 所谓系统,是由相互依存、相互作用的若干要素结合而成的具有特定功能的统一体。它由许多要素构成,但从其功能来看,它是可以分割的。 参考答案:× 8. 关于钱学森提出的系统新的分类方法,说法正确的是: A:按照系统规模分为小系统、大系统、巨系统。B按照系统结构复杂程度分为简单系统和复杂系统两类。 C:按照自然属性系统可分为自然系统、社会系统D:按照系统与环境的关系可分为开放系统、封闭系统 参考答案:AB 9. 系统的结构与功能的关系说法正确的是()A: 作为一个系统,必须包括其要素的集合与关系的集合 B: 结构决定功能 C:功能决定结构 D: 环境与结构共同决定功能。 参考答案:BD 系统工程导论?作业二 1. 系统科学体系结构的四个层次是:每一部门的科学技术,直接与改造客观世界的实践活动相联系的是工程技术;稍微远离工程实践的是工程技术的理论基础??技术科学;再远一些的是这一部门科学技术的基础科学;基础科学再经过一座过渡的桥梁与马克思主义哲学相联系。 参考答案:√ 2. 什么也不干,维持现状,也是一种方案,称为零方案。 参考答案:√ 3. 系统工程的主要特点是什么? A: 一个系统,两个最优 B: 以软为主,软硬结合 C: 跨学科多,综合性强 D: 从定性到定量的综合集成研究 E: 宏观研究为主,兼顾微观研究 F: 实践性与咨询性 参考答案:ABCDEF 4. A.D.Hall曾明确指出,系统工程师应有如下的特征() A:能够用系统工程的观点抓住复杂事物的共性;B:具有客观判断及正确评价问题的能力; C: 富有想象力和创造性 D: 具有处理人事关系的机敏性 E: 具有掌握和使用情报的丰富经验。 参考答案:ABCDE 5. 1968年美国贝尔电话公司工程师霍尔提出的系统工程三维结构为() A: 时间维B: 逻辑维;C: 创造维D: 专业维 参考答案:ABD 6. 80年代末,钱学森提出处理开放的复杂巨系统

软件需求工程大作业

课 程 设 计 2011——2012学年 第1学期 课程名称 《软件需求工程》 论文题目 《某公司人事管理系统》需求分析报告 学 院 计算机科学与技术学院 专 业 软件工程专业 班 级 0904班 姓 名 朱 鹏 指导教师 岑 丽

目录 1 论文要求............................................................................................................... - 2 - 2 可行性研究报告 .................................................................................................. - 3 - 2.1引言 (3) 2.2可行性研究的前提 (3) 2.3对现有系统的分析 (5) 2.4对所建议系统的分析 (5) 2.5可选择的其他系统方案 (7) 2.6技术可行性分析 (7) 2.7投资及效益分析 (7) 2.8社会可行性 (7) 2.9可行性分析结论意见 (8) 3 项目开发计划....................................................................................................... - 9 - 3.1引言 (9) 3.2项目概述 (9) 3.3实施计划 (10) 3.4支持条件 (12) 3.5专题计划要点 (12) 3.6交付期限 (12) 4 需求规格说明书 ................................................................................................ - 13 - 4.1引言. (13) 4.2综合描述 (14) 4.3外部接口需求 (15) 4.4功能需求 (15) 4.5其他非功能要求 (19) 4.6其他需求 (21) 5 附录..................................................................................................................... - 22 - 6 体会与感想......................................................................................................... - 23 - 本科课程论文评分标准..............................................................错误!未定义书签。

软件工程导论作业答案

学号_31009210** 姓名_朱某某班级_软件10* 作业一 1.什么是软件危机?它有哪些典型表现?为什么会出现软件危机? “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 “软件危机”包含两方面的问题: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产速率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的原因 (1)开发人员与客户认识之间的矛盾 (2)开发人员能力与开发目标之间的矛盾 (3)预估与实际工作量之间的矛盾 (4)客户认识的提高与软件维护之间的矛盾 (5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面比较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价俱增。在软件“已经完成”时再引入变动,当然付出的代价更高。一个故障时代码错误造成的,有时这种错误时不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。 3.什么是软件工程?他有哪些本质特征?怎样用软件工程消除软件危机? 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效的维护它,这就是软件工程。 本质特征: 软件工程关注于大型软件的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效支持它用户

软件工程导论第七章课后答案解析

第七章习题答案 2.研究下面给出的伪码程序,要求: ⑴画出它的程序流程图。 ⑵它是结构化的还是非结构化的?说明你的理由。 ⑶若是非结构化的,则 (a)把它改造成仅用三种控制结构的结构化程序;(b)写出这个结构化程序的伪码; (c)用盒图表示这个结构化程序。 ⑷找出并改正程序中的逻辑错误。 COMMENT: PROGRAM SEARCHES FOR FIRST N REFERENCES TO A TOPIC IN AN INFORMATION RETRIEVAL SYSTEM WITH T TOTAL ENTRIES INPUT N INPUT KEYWORD(S) FOR TOPIC I=0 MATCH=0 DO WHILE I≤T I=I+1 IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END

IF MATCH=N THEN GOTO OUTPUT END END IF N=0 THEN PRINT ”NO MATCH” OUTPUT: ELSE CALL SUBROUTINE TO PRINT BUFFER INFORMATION END 解:⑴程序流程图(如图2.1所示) ⑵此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体转到循环体外的一个条件语句部。

图2.1 ⑶修改后的伪码如下:

INPUT N,T 输入N INPUT KEYWORD(S) FOR TOPIC 输入有关话题的关键字 OPEN FILE 打开文件 I=0 MATCH=0 DO WHILE I≤T 循环—最多可做T次 I=I+1 READ A WORD OF FILE TO WORD 从文件里读一个字到变量WORD IF WORD=KEYWORD THEN MATCH=MATCH+1 IF MATCH=N THEN EXIT 搜索到了N个关键字,就跳出循环END IF END IF END DO IF MATCH =0 THEN PRINT ”NO MATCH”若MATCH =0就打印“没有相匹配” ELSE PRINT “共搜索到”; MATCH;“个匹配的关键字”否则打印信息 END IF 修改后的程序框图(盒图)

软件工程导论课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经 常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 五、1-5 根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=×(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=×(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。

第2次作业:《系统工程导论》作业题

《系统工程导论》 第2次作业 一.判断并填空(正确的写“对”,错误的写“错”) 1.任何一个系统都存在于一定的环境之中,在系统与环境之间具有物质的、能量的和信息的交换。 【对】 2.系统模型,是对于系统的描述、模仿或抽象。它反映系统的物理本质与主要特征。 【对】 3.系统分析一般有七个步骤,根据具体情况,有些步骤可以并行进行,但不能改变顺序。 【错】 4.贝塔朗菲的理论可以归纳为以下四点:整体性原则,动态结构原则,能动性原则,有序性原则。 【对】 二.填空题 1.系统的所谓相关性,包含两重意思:一是系统内部各元素之间存在 着这样那样的联系;二是系统与其环境之间也存在着这样那样的联系。 “联系”又称“关系”,常常是错综复杂的。 2.对模型进行修正与简化的方法通常有:(1)去除一些变量;(2)合并 一些变量;(3)改变变量的性质;(4)改变变量之间的函数关系;(5)改 变约束。 3.系统分析的原则有那些?(1)内部因素与外部因素相结合; (2)微观效果与宏观效果相结合;(3)当前效果与长远效果相结合;(4)定量分析与定性分析相结合。 4.指标评分法主要有:(1)排队打分法;(2)_ 专家打分法_ ;(3)两两 比较法;(4)____体操计分法____:(5)______连环比率法___;(6)___逻辑判断评分法___。 三简答题 1.简述系统与环境的关系

答:新系统产生于环境;新系统的约束条件决定于环境;决策的依据来自于环境,试制所需资源来自于环境;最后,系统的品质也只能放在环境中进行评价。 系统对环境的依赖性,产生与环境,运行与环境中,适应环境; 系统与环境划分的确定性与相对性; 系统与环境相互影响,物质、能量、信息交换; 系统+环境=更大系统。 2.谈谈切尔兰德“调查学习”软方法流程。 答:1、明确关联因素:初步弄清与现状有关的各种因素及其相互关系。2,建立概念模型:在难于建立准确的数学模型的情况下,用结构模型或语言模型来描述系统的现状。3,改善概念模型:随着分析的不断加深和“学习”的深入,对模型加以改进,找到更适合的模型。4,比较:将概念模型与现状进行比较,找出符合决策者意图而且可行的方案。5,实施:将方案付诸实施。 3.说明建立数学模型的一般步骤。 答:1)明确目标; 2)找出主要因素,确定主要变量; 3)找出各种关系; 4)明确系统的资源和约束条件;用数学符号、公式表达各种关系和条件; 5)代入历史数据进行“符合计算”,检查模型是否反映所研究的问题; 6)简化和规范模型的表达形式。 4.系统评价工作的困难及解决办法是什么? 答:系统评价工作的困难有以下两项:1)有的指标没有明确的数量表示,甚至同使用人或评价人的主观感觉与经验有关;2)不同的方案可能各有所长。 解决办法是:1)建立评价指示体系;2)各项指标数量化;3)所有指标归一化。 四.计算题 1.某系统平均工作2000小时,发生5次故障,则系统平均无故障工作时间为多少?若连续工作400小时,则可靠度R(t)为多少? 解:系统平均无故障工作时间MTBF=2000/5=400(小时) 可靠度R(t)=[(2000-400)/2000]*100%=80% 2.设有5台设备,6个操作者,其操作感受情况记录为下表,评分结果也表示在表中。如对良、可、差分别给予3、2、1分,试分别计算这些设备的原始分、百分制分、十分制分和得分系数,最后对这些样机作一个评判。

《软件工程导论》课程大作业-题目及要求

《软件工程专业导论与职业生涯规划》具体要求 一、大作业题目(注:每个小组完成一个题目) 1、计算机系统软件是什么?具体的系统软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的系统软件进行较为详细的阐述。 2、计算机应用软件是什么?具体的应用软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的应用软件进行较为详细的阐述。 3、阐述计算机软件的发展历程,对比分析各阶段的特征、理论体系、优势与不足。 4、软件危机是什么?列举2~3个具体的软件危机案例。导致软件危机爆发的原因有哪些?简单阐述现阶段软件危机的具体表现。 5、陈述“软件工程”概念提出的历史背景,包括发生的时间、地点、人物、事件等。“软件工程”的定义自提出以来,有多种说法。请尽可能罗列各种说法,并对其中的2~3个说法进行评述。软件工程的七条基本原理是哪些?分别对每条原理进行较为详细的阐述。 6、软件工程的目标是什么?十个性能是哪些?分别对每个性能进行较为详细的阐述。 7、软件工程研究的主要内容包括哪两个方面?分别对每个方面进行较为详细的阐述。 8、软件开发过程必须遵循的软件工程原则有哪些?分别对每个原则进行较为详细的阐述。 9、软件工程的过程包括哪些?分别对每个过程进行较为详细的阐述。 10、软件生命周期的概念是什么?软件生命周期的划分有哪些阶段?分别对每个阶段进行较为详细的阐述。 11、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的瀑布模型和原型模型进行较为详细的阐述及对比分析,并各举例说明。 12、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的演化模型和喷泉进行较为详细的阐述及对比分析,并各举例说明。 13、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的基于知识的模型和基于构件的模型进行较为详细的阐述及对比分析,并各举例说明。 14、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的变换模型和双赢螺旋模型进行较为详细的阐述及对比分析,并各举例说明。 15、软件工程的四要素是哪些?分别对每个要素进行较为详细的阐述。中国制定

软件工程导论(第五版)课后习题测验答案

《软件工程导论》课后习题答案 第一章软件工程概论 1-1 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.软件危机有那些典型表现? (1)对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 1-3、

软件工程导论简答题整理版

第一章 4.什么是软件工程?它与软件工程方法学有何关系? 软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成部分之一。 7.假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你作出选择的理由。 答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。 第三章 一列火车最多有两个火车头。只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车最后面。火车头既可能是内燃机车也可能是电器机车。车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部分。此外,在硬卧车厢和软卧车厢之间还有一节餐车。 答:jackson图善于描绘复杂事物的组成。用jackson图描绘一列火车的构成的方法至少有两种,一种方法是把火车分为一个车头和两个车头两类,另一种方法是把后车头作为可选的。图3.29给出了描绘一列火车的构成的jackson图。

用Jackson 图描绘一列火车的构成 第四章 3.假设有一个由5000行FORTRAN语句构成的程序(经编译后大约有25000条机器指令),你估计在对它进行测试期间将发生多少个错误?为什么? 答:经验表明,在类似的程序中,单位长度里的错误数Er/Ir近似为常数。美国的一些统计数字告诉我们,通常 0.5ⅹ10-2 <= Er/Ir <= 2ⅹ10-2 也就是说,在测试之前每1000条指令中大约有5-20个错误. 假设在该程序的每1000条指令中大约有10个错误,则估计在对它进行测试期间将发现的错误数为 25000ⅹ10/1000=250 第五章 3、某软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。请判断那些措施是正确的,那些措施不正确。 (1)在分析用户需求时同时考虑维护的问题。 正确。在分析用户需求的同时考虑维护问题,列出将来可能变更或增加的需求,就可以在设计时为将来可能做的修改预先做一些准备,使得在用户确实提出这些维护要求时,实现起来比较容易一些。 (2)测试完程序后,删去程序中的注解以缩短源程序的长度。 不正确。程序中的注解是提高程序可理解性的关键的内部文档,删去程序中的注解必然会降低程序的可读性和可理解性,从而降低软件的可维护性。 (3)在软件开发过程中尽量保证各阶段文档的正确性。 正确。完整准确的文档对提高软件的可理解性有重要贡献,保证文档的正确性是提高软件可维护性的关键。 (4)编码时尽量多用全局变量。 不正确。程序中使用的全局变量多,不仅违背局部化原理而且会使得具有公共环境耦合的模块数量增多,从而降低程序的可理解性,可修改性和可测试性,因此,这样的软件可维护性较差。 (5)选用时间效率和空间效率尽可能高的算法。 不正确。一般说来,效率高的算法的可理解性较差,选用效率尽可能高的算法将降低软件的可维护性。事实上,程序的效率能够满足用户的需求就可以了,没有必要盲目地追求尽可能高的效率。 (6)尽可能利用硬件特点以提高程序效率。 不正确。程序对硬件特点依赖越多,运行程序的硬件变更适应性维护的工作量也就越大。(7)尽可能使用高级语言编写程序。 正确。用高级语言编程时,用户可以给程序变量和程序模块赋予含义鲜明的名字,通过名字能够比较容易的把程序对象和它们所代表的实体联系起来。此外,高级语言使用的概念和符号更符合人的习惯。上述事实都使得用高级语言编写的程序更容易阅读,因此也就更容易维护。 (8)进行总体设计时加强模块间的联系。 不正确。模块间耦合越紧密,程序就越难理解和修改,修改后测试也比较困难。因此,加强模块间的联系将降低软件的可维护性。 (9)尽量减少程序模块的规模。 不正确。程序模块的规模很小,就会使程序中包含的模块很多,这将使模块间的接口数量大

软件工程大作业

《软件工程》大作业 学期: 2015秋季学期 班号: 学号: 姓名: 成绩: 子与信息工程学院 2015年10月

电子与信息工程学院大作业 目录 第1章系统概述 (2) 1.1系统介绍 (2) 1.2开发的目的与意义 (2) 第2章可行性分析 (3) 2.1经济可行性 (3) 2.2 技术可行性 (3) 2.3 系统业务分析 (3) 第3章需求分析 (5) 3.1 结构化需求分析 (5) 3.2 系统需求说明 (5) 3.3 系统数据流图和数据字典 (6) 第4章系统设计 (9) 4.1 系统ER图 (9) 4.2 系统功能结构图 (11) 第5章系统实现 (11) 5.1用户模块 (11) 5.2用户注册功能 (12) 第6章系统测试 (13) 1

第1章系统概述 随着计算机网络技术和信息技术的不断发展,人类信息资源实现高度共享,从根本上改变了人类生活的方式,网上购物作为一种新型的购物方式,以其快捷方便的特点成为了人们购物的主要选择。网上支付的不断完善,加上物流业的配套建设,使得用户能够足不出户就能挑选商品,节省了时间和金钱,这种网上购物方式越来越受到人们的青睐。 1.1系统介绍 网上商城系统是一个可以方便各类人群所需,省时省力全方位的大型购物网上商城,可以让所需人群足不出户不分地域时间的购买所需用品。网上商城系统共分为两个部分:前台用户部分和后台管理部分。在前台系统中有用户注册登陆,浏览商品,选购商品,订购商品。后台系统中有系统管理,会员管理,订单管理,商品管理。在用户注册模块中,分别加强了用户注册信息验证的严格性;在商品或商家信息浏览和查询模块中,用户可以对商品进行浏览检索,查看商品的详细信息;非注册会员可以选定商品加入购物车,但只有注册成会员的用户才能对商品进行购买。在后台系统中,系统管理员可以对已注册的用户进行审查,可以对现有的商品进行管理;并对提交的订单进行处理与邮寄。 1.2开发的目的与意义 在线购物系统,从结构上讲,可以划分为前台和后台两个部分,主要涉及到前、后台的网页设计,以及与数据库相关的操作。在网络应用中,数据库的应用是一个很关键的环节。特别地,随着Internet的普及和人们对于互联网的依赖性,许多基于互联网的应用也不断的涌现出来。基于B/S(浏览器、服务器)构架开发网站和系统已成为一种主流趋势,人们对其的需求也越来越大。 现在已经进入网络时代,很多电子产品的生产企业也开始意识到了网络的重要性,开始在电子产品中加入对网络服务的支持。比如在智能手机中增加了对移动互联网应用的支持,这在提升了电子产品的竞争力的同时,也扩展了电子商务的应用范围。 总体上看,电子商务的发展,具有十分良好的发展前景。

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案第一章软件工程概论 1.什么是软件危机? 软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。(2)软件产品的质量往往靠不住。(3)一样软件专门难爱护。(4)软件生产效率专门低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估量。(7)软件技术的进展远远满足不了运算机应用的普及与深入的需要。 2.什么缘故会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。(2) 软件本身方面,关于运算机系统来讲,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件爱护困难。(3) 专门是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估量、爱护困难等一系列咨询题更为突出,技术的进展差不多远远不能适应社会需求。 3.如何样克服软件危机? (1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。

工程概论作业模板1(DOC)

《工程概论》期末作业内燃机功能剖析 班级:测控2012-01班 学号: 姓名: 2012年 5月18 日

1、内燃机概述 1.1 内燃机的发展概况 活塞式内燃机自19世纪60年代问世以来,经过不断改进和发展,已成为比较完善的机械。它热效率高、功率和转速范围宽、配套方便、机动性好,所以获得了广泛的应用; 1860年,法国的勒努瓦模仿蒸汽机的结构,设计制造出第一台实用的煤气机; 1862年,法国科学家罗沙对内燃机热力过程进行理论分析之后,提出提高内燃机效率的要求,这就是最早的四冲程工作循环; 1876年,德国发明家奥托(Otto)运用罗沙的原理,创制成功第一台往复活塞式、单缸、卧式、3.2千瓦(4.4马力)的四冲程内燃机; 1881年,英国工程师克拉克研制成功第一台二冲程的煤气机,并在巴黎博览会上展出; 1883年,德国的戴姆勒(Daimler)创制成功第一台立式汽油机,它的特点是轻型和高速; 1892年,德国工程师狄塞尔(Diesel)受面粉厂粉尘爆炸的启发,设想将吸入气缸的空气高度压缩,使其温度超过燃料的自燃温度,再用高压空气将燃料吹入气缸,使之着火燃烧。他首创的压缩点火式内燃机(柴油机)于1897年研制成功,为内燃机的发展开拓了新途径。 1954年,联邦德国工程师汪克尔(Wankel)解决了密封问题后,才于1957年研制出旋转活塞式发动机,被称为汪克尔发动机 1.2内燃机的工作原理 内燃机的工作循环由进气、压缩、燃烧和膨胀、排气等过程组成。这些过程中只有膨胀过程是对外作功的过程,其他过程都是为更好地实现作功过程而需要的过程。按实现一个工作循环的行程数,工作循环可分为四冲程和二冲程两类。 四冲程是指在进气、压缩、做功(膨胀)和排气四个行程内完成一个工作循环,此间曲轴旋转两圈。进气行程时,此时进气门开启,排气门关闭。流过空气滤清器的空气,或经化油器与汽油混合形成的可燃混合气,经进气管道、进气门进入气缸;压缩行程时,气缸内气体受到压缩,压力增高,温度上升;膨胀行程是在压缩上止点前喷油或点火,使混合气燃烧,产生高温、高压,推动活塞下行并作功;排气行程时,活塞推挤气缸内废气经排气门排出。此后再由进气行程开始,进行下一个工作循环。 二冲程是指在两个行程内完成一个工作循环,此期间曲轴旋转一圈。首先,当活塞在下止点时,进、排气口都开启,新鲜充量由进气口充入气缸,并扫除气缸内的废气,使之从排气口排出;随后活塞上行,将进、排气口均关闭,气缸内充量开始受到压缩,直至活塞接近上止点时点火或喷油,使气缸内可燃混合气燃烧;然后气缸内燃气膨胀,推动活塞下行做功;当活塞下行使排气口开启时,废气即由此排出,活塞继续下行至下止点,即完成一个工作循环。 内燃机的排气过程和进气过程统称为换气过程。换气的主要作用是尽可能把上一循环的废气排除干净,使本循环供入尽可能多的新鲜充量,以使尽可能多的燃料在气缸内完全燃烧,从而发出更大的功率。换气过程的好坏直接影响内燃机

软件工程导论复习要点

软件工程导论复习要点 第一章 1.软件的定义: 软件是计算机程序、数据以及运行计算机系统可能需要的相关文档。 (1)程序:程序是计算任务的处理对象和处理规则的描述。(软件!=程序) (2)数据:使程序能正常操纵信息的数据结构(即数据的组织形式)。 (3)文档:文档是为了便于了解程序所需的阐明性资料。 2.软件工程的定义: 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;研究上面提到的途径。 3.软件工程三要素: 过程:开发软件产品的一组活动及其结果。 方法:为软件开发过程提供“如何做”的技术。 工具:为软件开发方法提供自动的或半自动的软件支撑环境。4.软件过程的四个基本活动: 规格说明:定义软件功能以及对其使用的限制。 软件开发:设计和实现满足规格说明的软件。 软件确认:验证软件足以保证能够满足客户的要求。

软件演化:改进软件以适应不断变化的需求。 5.两种主要的开发方法: 结构化(面向过程)的方法、面向对象的方法。 第二章 1.软件工程发展历史: (1)第一阶段:软件危机——是指计算机软件的开发和维护过程所遇到的一系列严重问题 主要表现:软件开发费用和进度失控;软件的可靠性差;生产出来的软件难以维护;软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要。(1968年10 月软件工程大会在德国由北约出资举办) (2)第二阶段:传统软件工程——一是从管理的角度,希望实现软件开发过程的工程化(软件生命周期模型;确定了一些重要文档格式的标准);二是侧重于对软件开发过程中、分析设计的方法的研究(结构化)。 (3)第三阶段:现代软件工程——从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。 发展趋势:模块化;开放计算;合理的开发治理;全球化软件协作交付。

建筑工程概论作业题参考答案

东北农业大学网络教育学院 建筑工程概论作业题 ( 一) 一、判断 1、土木工程的内容非常广泛,它和广大人民群众的日常生活密切相关,在 国民经济中起着非常重要的作用。 ( ) 2、砂是一种常用的砌筑材料。广泛地用于墙体、基础、柱等砌筑工程中。 () 3、工程地质勘察的目的主要是查明工程地质条件,分析存在的地质问题, 对建筑地区作出工程地质评价。 ( ) 4、单向板指板上的荷载沿两个方向传递到支承构件上的板。 ( ) 5、快速道是连接城市主要分区的干道,以交通功能为主,一般为三幅或四 幅路。 ( ) 6、支道是与主干道组成道路网,起集散交通之用,兼有服务功能。( ) 7、发展交通运输事业,建立四通八达的现代交通网,则离不开桥梁建设。 () 8、辅助跑道指只供起飞用的跑道。 ( ) 9、支线运输机是指载客量 >100人,航程 >3000km 的大型运输机。( ) 10、机场仓库供货运办理手续、装上飞机以及飞机卸货、临时储存、交货等 用。 ( ) 二、名词解释 1、土木工程; 2、土木工程材料; 3、基础; 4、混合结构; 5、高速公路 三、单项选择题 1、( )是建造各类工程设施的科学技术的总称。 A 、土木工程 B 、基本建设 C 、信息化施工 D 可持续发展 2、( )是关于事物的基本原理和事实的有组织、有系统的知识。 A 、教学 B 、科学 C 、技术 D 、工程 3、水泥浆体在常温下会逐渐变稠直到开始失去塑性,这一现象称为水泥的 、终凝 C 、凝结 D 、硬化 )时称为重混凝土。 B 、 <1950kg/m 3 C 、 1950-2600kg/m 3 5、通常把位于天然地基上、埋置深度小于( )m 的一般基础 ( 柱基或墙 基)称为天然地基上的浅基础。 ( )。 A 、初凝 B 4、按表观密度为( A 、>2900kg/m 3 D 、>2600kg/m 3

《软件工程导论》张海蕃 课后习题答案

第一章 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-3 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分 成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了 软件的开发和维护工作;促进了软件重用。 1-6 什么是软件过程?它与软件工程方法学有何关系? z软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 z软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-7什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。 适用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。 增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发

相关文档
最新文档