软件工程课后作业

软件工程课后作业
软件工程课后作业

第一章

一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?

软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。软件危机的典型表现:

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

(2) 用户对已完成的软件不满意的现象时有发生

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

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

(5) 软件通常没有适当的文档资料。

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

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

软件危机出现的原因:

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

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

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

四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。

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

优点:把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。

缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。

2. 面向对象方法学:

优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

七、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的使用范围。

软件生命周期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。

瀑布模型

优点:它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。虽然有不少缺陷但比在软件开发中随意的状态要好得多。

缺点:

(1) 实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,这很容易由微小的变化而造成大的混乱。

(2) 经常情况下客户难以表达真正的需求,而这种模型却要求如此,这种模型是不欢迎具有二义性问题存在的。

(3) 客户要等到开发周期的晚期才能看到程序运行的测试版本,而在这时发现大的错误时,可能引起客户的惊慌,而后果也可能是灾

难性的。

快速原型模型

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

缺点:产品的先天性不足,因为开发者常常需要做实现上的折中,可能采用不合适的操作系统或程序设计语言,以使原型能够尽快工作。

增量模型

优点:

(1) 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。

(2) 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。

缺点:

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

(2) 适合于软件需求不明确、设计方案有一定风险的软件项目。该模型具有一定的市场。

螺旋模型

优点:对于大型系统及软件的开发,这种模型是一个很好的方法。开发者和客户能够较好地对待和理解每一个演化级别上的风险。

缺点:

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

(2) 很明显一个大的没有被发现的风险问题,将会导致问题的发生,可能导致演化的方法失去控制。

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

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

九、试讨论Rational统一过程的优缺点。

优点:提高了团队生产力,在迭代的开发过程、需求管理、基于组建的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面、针对所有关键的开发活动为每个开发成员提供了必要的准则、模版和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。

十.Rational统一过程主要适用于何种项目?

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

第二章

1.在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?

答:(1)开发一个软件时,需要判断原定的系统模型和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度,如果做不到这些,那么花费在这些工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计过程,就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。(2)一般说来,至少应该从以下三个方面研究每种解法的可行性:

a.技术可行性。

b.经济可行性。

c.操作可行性。

第三章

一、为什么要进行需求分析?通常对软件系统有哪些要求?

答:1) 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。

2)确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。

三、1 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址、身份证号码等存款信息,并打印出存款存单给储户;如果是取款且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。

用数据流图描绘本系统的功能,并用E-R图描绘本系统的数据对象

数据流图:

E-R图:

四、为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进入该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。

用数据流图描绘本系统的功能,并用E-R图描绘本系统的数据对象

数据流图:

E-R图:

五、目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护

系统。

用数据流图描绘本系统的功能,并用E-R图描绘本系统的数据对象,画出本系统的IPO图。数据流图:

E-R图:

IPO图:

第四章

一,举例说明形式化说明技术和欠形式化方法的优缺点。

二、在什么情况下应该使用形式化说明技术?使用形式化说明技术应遵守哪些规则?

答:在用非形式化的方式描述时,存在矛盾,二义性,含糊性,不完整性级抽象层次混乱等问题时用形式化说明技术。

应用形式化方法的准则:

A,应该选用适当的表示方法;B,应该形式化,但不要过分形式化;

C,应该估算成本;D,应该有形式化的方法顾问随时提供咨询;

E,不应该放弃传统的开发方式;F,应该建立详尽的文档;

G,不应该放弃质量标准;H,不应该盲目依赖形式化方法;

I,应该测试;J,应该重用。

4,考虑下述的自动化图书馆流通系统:每本书都有一个条形码,每个人都有一个带条形码的卡片。但一个借阅人想借一本书时,图书管理员扫描书上的条形码和借阅人卡片的条形码,然后在计算机终端上输入C;当归还一本书时,图书管理员将再次扫描,并输入R。图书管理员可以把一些书加到(+)图书集合中,也可以删除(—)它们。借阅人可以再终端上查找到某个作者所有的书(输入“A=”和作者名字),或具有指定标题的所有书籍(输入“T=”和标题),或属于特定主题范围内的所有图书(输入“S=”加主题范围)。最后,如果借阅人想借的书已被别人借走,图书管理员将给这本书设置一个预约,以便书归还时把书留给预约的借阅人(输入“H=”加书号)。

试用有穷状态机说明上述的图书流通系统

答:图书馆流通系统的有穷状态机描述如下:

状态机J:{书在图书馆S1,书被借出S2,书被预约S3}

输入集K:{书上条形码,借阅卡条形码,终端输入各种命令}

转换函数T:如图所示

初始态S:{书在图书馆S1,书被借出S2}

终态集F:{书被借出S2,书被预约S3}

第五章

5.4 美国某大学有200 名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过$26000(含$26000 )的教师工资将保持不变,年工资少于$26000 的教师将增加工资,所增加工资数额按下述方法计算:给每位教师所赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助¥50,但是,增加后的年工资总额不能多于$26000。教师工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个程序计算并印出每名教师的原工资和调整后的新工资。

要求:

(1)画出此系统的数据流图;

(2)写出需求说明;

(3)设计上述的工资调整程序(要求用HIPO 图描绘设计结果),设计时分别采用两种算法,并比较两种算法的优缺点:

(a)搜索工资档案数据,找出年工资少于$26000 的人,计算新工资,校核是否超过$26000,存储新工资,印出新旧工资对照表;

(b)把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$26000 时即停止排序,计算新工资,校核是否超过限额,存储新工资,印出结果。

(4)你所画出的数据流图适应用那种算法?

解:

(1)数据流图:

(2)需求说明:

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

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

3.灵活需求:当需求发生某些变化时,该软件应该能够适应这些变化4.故障处理要求:出现错误时,应给予警告或提示

(3)

A:

B:

a比较耗时,因为它要检索所有的档案,b从速度上看比较快,但是b 需要排序算法,比较复杂,a对于设计来讲比较简。

(4)画出的数据流图比较适合A的算法

第六章

3、画出下列伪代码程序的流程图和盒图:

START

IF p THEN

WHILE q DO

f

END DO

ELSE

BLOCK

g

n

END BLOCK

END IF

STO

解:程序流程图盒图

5、研究下面的伪码程序:

LOOP:Set I to(START+FINISH)/2

IF TABLE(I)=ITME goto FOUND

IF TABLE(I)

IF TABLE(I)>TME Set FINSH to (I-1)

IF (FINSH-START)>1 goto LOOP

IF TABLE(START)=ITEM goto FOUND

IF TABLE(FINSH)=ITEM goto FOUND

Set FLAG to 0

Goto DONE

FOUND:Set FLAG to 1

DONE:EXIT 要求:

(1)画出流程图。

(2)程序是结构化的吗?说明理由。

(3)若此程序是非结构化,设计一个等价的结构化程序并画出流程图。(4)此程序的功能是什么?它完成预定功能有什么隐含的前提条件吗?

解:

(1)该程序流程图下一页

(2)该程序不是结构化的,结构化的程序只有一个入口和一个出口,而该程序的流程途中有两个出口。

(3)等价的结构化程序的流程图如下:

(4)此程序有二分查找的功能,它完成预定功能的隐含前提条件是现有序列为从小到大顺序排好的有序序列。

第九章

一、什么是面向对象方法学,它有哪些优点?

答:面向对象方法学是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类解决问题的方法与过程,使描述问题的问题空间与实现揭发的解空间在结构上尽可能一致的方法学科。

优点:1、与人类的习惯的思维方法一致;2、稳定性好;3、可重用性好;

4、适合用于大型软件产品;

5、所开发的软件有较好的可维护性;

6、面向对象的软件比较容易修改;

7、面向对象软件比较容易理解;

8、易于测试和调式。

二、什么是对象,它与传统的数据有何异同?

答:对象是对问题域中某个实体的抽象。相对于传统数据的静态

被处理,对象既有静态的属性,又有动态的行为,是进行处理的主体。

软件工程作业及参考答案(版)

软件危机与软件工程 3. 软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分, 其期望达到的最终目标是 ()。 A ?消除软件危机 B ?软件开发工程化 C ?程序设计自动化 D ?实现软件重用 4?软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( )。 A .工程管理 B .成本核算 C .人员培训 D .工具开发 5?软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( )。 A ?设计人员和用户 B ?分析人员和用户 C .分析人员和设计人员 D .编码人员和用户 6 .软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的 逻辑模型形成 于( )。 A .开发阶段 B .计划阶段 C .分析阶段 D .设计阶段 7 .在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。 通常,计划时期包括问题定义、可行性研究和 ①,开发时期包括 ②、详细设计、编码以及 ③。 ① A . 需求分析 B . 可行性研究 C . 经费预算 D . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 D ?缺乏好的开发方法和手段

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程课后作业

第1次作业 路松峰20140062 2018-07-29 10:32:40

软件产品的开发基本上是线性顺序进行的。 2、什么是模型? 模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。 二、判断题 1、在软件开发中采用原型系统策略的主要困难是成本问题。 正确 2、软件过程改进也是软件工程的范畴。 正确 三、选择题 1、包含风险分析的软件工程模型是( D )。 A.喷泉模型 B.瀑布模型 C.增量模型 D.螺旋模型 2、软件过程是(C )。 A.特定的开发模型 B. —种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 3、CMM模型将软件过程的成熟度分为5个等级。在(B )使用定量分析来不断地改进和管理软件过程。 A.管理级 B.优化级 C.定义级 D.可重复级 第3次作业 路松峰_20140062 2018-07-29 10:34:34 一、简答题 1、需求分析有哪三种方法? 面向功能分析、面向数据分析、面向对象分析 2、什么是面向数据结构方法? 面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导岀软件的结构。

二、判断题 1、需求评审人员主要由开发人员组成,一般不包括用户。 错误 2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。正确 三、选择题 1、增量模型本质上是一种( C )。 A.线性顺序模型 B.整体开发模型 C.非整体开发模型 D.螺旋模型 2、需求工程的主要目的是( C )。 A.系统开发的具体方案 B.进一步确定用户的需求 C.解决系统是“做什么的问题” D.解决系统是“如何做的问题” 3、在E-R模型中,包含以下基本成分(D )。 A.数据、对象、实体 B.控制、关系、对象 C.实体、关系、控制 D.实体、属性、关系 第4次作业 路松峰_20140062 2018-07-29 10:35:04 一、简答题 1、面向对象分析模型的五个层次是什么? 五个层次:类与对象层,属性层,服务层,结构层,主题层 2、对象的五个特点是什么?

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程课后作业

路松峰_ 2018-07-29 10:32:40 一、简答题 1.什么是软件工程 软件工程是关于软件生产的各个方面的工程学科。 二、判断题 1、软件危机的主要表现是软件需求增加,软件价格上升。 / 正确 2、软件就是程序,编写软件就是编写程序。 错误 三、选择题 1、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( A )工具。 A. CASE C. CAM D. CAD 2、在下列选项中,( C )不是软件的特征。 A.系统性与复制性 B.可靠性与一致性 C.有形性与可控性 D.抽象性与智能性 ) 3、软件工程的三要素是( B ) A.技术、方法和工具 B.方法、工具和过程 C. 方法、对象和类 D.过程、模型和方法

第2次作业 路松峰_ 2018-07-29 10:33:32 一、简答题 … 1、快速原型模型的主要优点是什么 软件产品的开发基本上是线性顺序进行的。 2、什么是模型 模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。 二、判断题 1、在软件开发中采用原型系统策略的主要困难是成本问题。 正确 2、软件过程改进也是软件工程的范畴。 · 正确 三、选择题 1、包含风险分析的软件工程模型是( D )。 A.喷泉模型 B.瀑布模型 C.增量模型 D.螺旋模型 2、软件过程是( C )。 A.特定的开发模型 B.一种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 3、CMM模型将软件过程的成熟度分为5个等级。在(B )使用定量分析来不断地改进和管理软件过程。

… 第3次作业 路松峰_ 2018-07-29 10:34:34 一、简答题 1、需求分析有哪三种方法 面向功能分析、面向数据分析、面向对象分析 ) 2、什么是面向数据结构方法 面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导出软件的结构。 二、判断题 1、需求评审人员主要由开发人员组成,一般不包括用户。 错误 2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。正确 三、选择题 ;

实用软件工程第3版课后习题答案_IT168文库

《实用软件工程》第3版 习题参考答案 习题 1 1.1 开发文档都有哪些?用图示表示它们之间的关系。 开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。 1.2 简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose。 软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。 1.3 详细解释软件的定义、程序的定义及软件工程的定义。 软件的定义:软件=程序+数据+文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。 现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。 程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为: 面向过程的程序=算法+数据结构 面向对象的程序=对象+信息 面向构件的程序=构件+构架 软件工程是研究软件开发和软件管理的一门工程学科。 1.4 软件工程的7+1条基本原理有什么现实意义? 软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

软件工程基础(复习题及答案)

复习题 一、判断题(每题2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析 活动。(对) 2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错) 3.JAVA语言编译器是一个CASE工具。(对)。 4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错) 5.软件模块之间的耦合性越弱越好。(对) 6.数据库设计说明书是一个软件配置项(对) 7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8.过程描述语言可以用于描述软件的系统结构。(错) 9.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对) 11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对) 12.集成测试主要由用户来完成。(错) 13.确认测试计划应该在可行性研究阶段制定(错) 14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对) 16.在可行性研究中最难决断和最关键的问题是经济可行性。(╳) 17.耦合是指一个模块内各个元素彼此结合的紧密程度。(╳) 18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(√)

19.概要设计阶段完成的主要文档是概要设计说明书。(√) 20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(╳) 21.程序设计语言中应绝对禁止使用GOTO语句。(╳) 22.类是关于对象性质的描述,由方法和数据组成。(√) 23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。(√) 25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。(╳) 26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 名词解释 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软 件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大 6.软件可靠性——指在给定的时间内,程序按照规定的条件成 功地运行的概率 7.软件配置——是一个软件在生存周期内,他的各种形式、各 种版本的文档与程序的总称

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业1答案 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3. 瀑布模型存在的问题是(B )。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的B.需求确定的C.管理信息D.实时 6. 下列有关软件工程的标准,属于国际标准的是(D) A.GB B.DIN C.ISO D.IEEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次(A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。 A、P×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(i+n) 11. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

(完整版)《软件工程》作业及答案

t h e i 《软件工程》作业及答案 1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产 率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系 统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。 软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上 升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念, 在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件 工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能 在设计阶段清除它呢?”你怎么反驳他? 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。 消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功 的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在 计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。1-6 什么是软件过程?它与软件工程方法学有何关系? 答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增 量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户 真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用 户反馈意见的办法,获取用户的真实需求。 增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风 险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 快速原型模型:适合小型软件; 螺旋模型:适合内部开发的大规模软件项目。2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面 研究目标系统的可行性? 答: 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。答: 电话号码=[校内电话|本市电话|外地电话] 非零数字字符=[1|2|3|4|5|6|7|8|9] 校内电话=非零数字字符+3{数字}3本市电话=0+非零数字字符+7{数字}7外地电话=0+区码+非零数字字符+7{数字}73-1 为什么要进行需求分析?通常对软件系统有哪些需求?答: 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。3-2 怎样与用户有效地沟通以获取用户的真实需求? 答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型 4-2 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应 遵守哪些准则? 答: 在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则:(1)应该选用适当的表示方法。(2)应该形 式化,但不要过分形式化。 (3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。 (5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用 7-8 对一个包含10000条机器指令的程序进行一个月集成测试后,总 共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了 25个错误(第二个月改正了10个错误),MTTF=15h 。要求:(1) 根据上述数据确定MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2) 为做到MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 答: (1)所做假设:1)单位长度里的错误数近似为常数;2)失效率正比于软件中剩余的错误数,而平均无故障时间与剩余的错误数成反比. 3)发现的每一个错误都立即正确地改正了.(2)由Shooman 公式:MTTF=I T /(K*(E T -E C (T))) 其中,I T =104,MTTF 1=10,n 1=15,MTTF 2=15,n 2=25。得:MTTF 1=I T /(K*(E T -E C (T 1)))10=10000/(K*(E T -15))MTTF 2=I T /(K*(E T -E C (T 2)))15=10000/(K*(E T -25)) (1)解得程序中固有的错误总数E T =45,此外K=100/3。(2)设MTTF=100,有 100=10000/((100/3)*(45-x))

殷人昆《实用软件工程》复习资料

1.软件工程 目标:正确性、可用性、适合销售 活动:需求、设计、实现、V&V(验证与确认)、支持 原则:开发泛型、设计方法、支持工具、工程管理WW 软件工程是开发,运行,维护和修复软件的系统方法,将系统化的,规范的,可度量的方法应用与软件的开发,运行维护的过程。即将工程化应用于软件中。 2.软件过程中的基本活动(pdca) 1.软件规格说明plan 2.软件开发do 3.软件确认check 4.软件演进action 3.瀑布模型:需求-》系统设计-》实现单元测试-》集成与系统测试-》运营维护。他的显著特点是顺序性 和依赖性。 4.演化模型:软件通过不断的演化才能完成和完善,其显著特点是迭代。适合于业务和需求不断变更的 开发过程,交付部分功能给客户,确认需求,逐步完善。 5.螺旋模型:将瀑布模型和演化模型结合起来,加入了风险分析。 6.增量模型:是将软件分解成一系列的增量的构件,在增量开发迭代中逐步加入,也叫极限程序设计。 7.软件工程原则: a)抽象自顶向下,逐层细化 b)模块化的开发方法 c)信息隐蔽和数据封装。 d)局部化 e)一致性 f)完备性 g)可验证性 8.软件工程基本原理: a)按软件生存期分阶段制定计划并认真实施 b)坚持进行阶段评审 c)坚持严格的产品控制 d)使用现代程序设计技术 e)明确责任 f)用人少而精 g)不断改进开发的过程 9.识别用户要求,必须考虑的问题: a)功能和性能 b)可靠性和质量 c)总的系统目标 d)成本与进度的把控 e)制造需求 f)市场竞争情况 g)有效的技术 h)将来可能的扩展 10.可行性研究 a)问题识别 b)市场调查 c)分析准备

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 ?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑

【软件工程】作业与答案解析

《软件工程》作业 第一章 1.什么是软件危机,它有哪些典型表现? 答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。 3.什么是软件工程?它有哪些本质特性? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。 4.软件工程是如何用来消除软件危机的? 软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关

软件工程大作业.

软件工程大作业 题目:学生档案管理系统 小组成员:戚盈洁( 王大伟( 王磊( 霍成海( 目录 第一章. 系统调查 (3 1.1系统调查内容 (3 1.2系统调查方法 (3 第二章. 系统分析 (3 2.1 系统分析 (3 2.2 系统调结构图 (4 2.3 子系统功能描述 (4 第三章. 系统设计 (6 3.1 界面设计原则 (6 3.2 数据库设计 (6 3.3 代码设计 (10 第四章. 学生照片管理模块设计 (14

4.1 ImageFunc模块 (14 4.2 设计照片管理窗体 (16 4.3 在学生信息管理窗体中添加照片管理代码 (17 第五章. 系统测试 (18 5.1 系统测试项目 (18 5.2 系统评估 (20 第一章. 系统调查 1.1系统调查内容 学校各院系基本概况:院系名称,专业设置,课程设置,课时安排,学生人数,学生班级数等。 学校资源条件调查,包括计算机配备,网络支持条件等。 各院系专业设置概况:现有开设专业及规划中开设专业设置,专业开设课程,各课程授课教师与成绩处理。 学校各部门(学生处、教务处、档案管理室、各院系对学生基本情况的需求与掌握,对学生基本信息的处理方式与业务流程。 学校各部门、单位、教师、学生对系统的其他要求和希望。 1.2系统调查方法 通过对部分高校学生档案管理人员的访问,了解到目前大部分高校的档案管理工作存在工作效率低,成本高,保密性差,查询困难等问题。大部分工作人员都提出需要一个具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本

低等优点的现代化信息管理系统。为解决此问题我们决定开发一个既方便又操作简单,功能较为齐全的学生档案管理系统。 第二章. 系统分析 2.1 系统分析 1 系统开发的总体任务是学生档案管理的系统化和规范化。 2 系统开发的目标是使档案管理工作科学化和规范化,提高安全系数。 3 系统功能树本系统主要功能是实现学生基本情况的管理。 图3.1学生档案管理系统功能模块 2.2 系统调结构图

软件工程作业答案

软件工程网上作业题 第1章软件工程学概述 一、选择题 1、软件危机具有下列表现( ) I、对软件开发成本估计不准确 II、软件产品的质量往往不可靠 III、软件常常不可维护 IV、软件成本逐年上升 A.I、II与III B.I、III与IV C.II、III与IV D.以上都正确 答案:D 2、产生软件危机的原因可能有( ) I、用户需求描述不精确、不准确 II、对大型软件项目的开发缺乏有力的组织与管理 III、缺乏有力的方法学与工具的支持 IV、软件产品的特殊性与人类智力的局限性 A.I与II B.I、II与IV C.II、III与IV D.以上都正确 答案:D 3、( )分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。 A、增量模型 B.喷泉模型 C.原型模型D、螺旋模型 答案:A 4、为了克服软件危机,人们提出了用( ) 的原理来设计软件,这就就是软件工程诞生的基础。 A、数学 B、软件学 C、运筹学 D、工程学 答案:D 4、TURBO PASCAL就是()软件。 A、系统软件 B、人工智能 C、事务软件 D、应用软件 答案:D 6.具有风险分析的软件生存周期模型就是( ) A、瀑布模型 B、喷泉模型 C、螺旋模型 D、增量模型 答案:C 7、瀑布模型的关键不足在于( ) A、过于简单B、不能适应需求的动态变更 C、过于灵活D、各个阶段需要进行评审 答案:B

8.软件危机就是指( )。 A、软件遭到破坏 B、软件开发与维护过程中遇到的问题 C、软件维护出现困难 D、软件不能正常运行系列问题 答案:B 9、软件的复杂性就是( ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A、固有的 B、人为的 C、可消除的 D、不可降低的 答案:A 10、( )就是将系统化的、规范的、可定量的方法应用于软件的开发、运行与维护的过程,它包括方法、工具与过程三个要素。 A、软件过程 B、软件测试C 、软件生存周期D 、软件工程 答案:D 11.软件的主要特性就是( )。 A、高性能 B、高成本 C、包括程序与文档 D、可独立构成计算机系统 答案:B 12.软件开发方法的主要工作模型有( ) A、螺旋模型 B、循环模型 C、瀑布模型 D、专家模型 13.软件工程三要素就是( )。 A、高技术人员、方法与工具 B、方法、工具与过程 C、方法、对象与类 D、过程、模型、方法 答案:B 14.软件工程的目标有( )。 A、易于维护 B、低的开发成本 C、高性能 D、短的开发期 答案:B 15.软件工程学的目的与意义就是( )。 A、应用科学的方法与工程化的规范管理来指导软件开发 B、克服软件危机 C、做好软件开发的培训工作 D、以较低的成本开发出高质量的软件 答案:D 16、开发软件所需高成本与产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、软件工程 B、软件周期 C、软件危机 D、软件产生 答案:C 17、快速原型模型的主要特点之一就是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 答案:D 18.瀑布模型的存在问题就是( ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 答案:B 19、软件生存周期模型不包括:() A、瀑布模型 B、对象模型 C、增量模型 D、喷泉模型 答案:B

软件工程作业及参考答案(最新版)

软件工程 一、软件危机与软件工程 1.软件危机是指在开发和()过程中所遇到的一系列严重问题。 A.运行B.设计C.维护D.编码 2.造成软件危机的原因是: A.用户使用不当B.对软件的错误认识 C.硬件不可靠D.缺乏好的开发方法和手段 3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分,其期望达到的最终目标是()。A.消除软件危机B.软件开发工程化 C.程序设计自动化D.实现软件重用 4.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。 A.工程管理B.成本核算C.人员培训D.工具开发 5.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是()。 A.设计人员和用户B.分析人员和用户 C.分析人员和设计人员D.编码人员和用户 6.软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于()。 A.开发阶段B.计划阶段C.分析阶段D.设计阶段 7.在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。 通常,计划时期包括问题定义、可行性研究和①,开发时期包括②、详细设计、编码以及③。 ①A.需求分析B.可行性研究C.经费预算D.质量保证 ②A.需求分析B.可行性研究C总体设计D模块化设计 ③A.文档编制B.运行维护C.测试D.验收 8.软件开发中常采用的生命周期方法,由于其特征而一般称其为()。 A.层次模型B.瀑布模型C.螺旋模型D.对象模型 9.描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。其中,设计阶段又可以分成(B)和(C)两个步骤。 A:①需求分析②可行性研究③需求调查④问题定义 B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计 10.什么是软件危机?软件危机产生的原因? 11.生命周期阶段的划分?每个阶段的任务? 二、可行性研究 1.可行性研究的任务?步骤?对于各种可能的方案,从哪几个方面进行可行性研究? 参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。步骤:1.复查系统规模和目标;2.研究当前系统;3.建立新系统的高层逻辑模型;4.导出和评价各种方案;5.推荐可行方案;6.编写可行性研究报告。对于各种可能的方案,主要从以下几个方面进行可行性研究:1.经济可行性; 2.技术可行性; 3.法律可行性; 4.运行可行性; 5.开发方案可行性等。

相关文档
最新文档