当前位置:文档之家› 软件工程课后作业

软件工程课后作业

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

第一章

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) 对计算机软件有一个正确的认识(软件≠程序)

(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/200=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=735776790美元

1.6

答:软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

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

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

1.7

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

瀑布模型:

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

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

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

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

快速原型模型:

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

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

增量模型:

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

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

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

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

该模型具有一定的市场。

螺旋模型:

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

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

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

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

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

1.8

答:因为使用面向对象方法学开发软件时,各个阶段都使用统一的概念和表示符号,因此,整个开发过程都是吻合一致的,或者说是无缝连接的,这自然就很容易实现各个开发步骤的反复多次迭代,达到认识的逐步深化,而喷泉模型则很好的体现了面向对象软件开发过程迭代和无缝的特性。

1.9

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

缺点:RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容,此外,他没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。

1.10

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

1.11

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

1.12

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

第二章

2.2

答:如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率等信息,完成后由系统打印存款单给储户。

如果是取款,储户填写取款单,然后交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。

为了满足储户的需求,该系统需要迅速的对用户的要求做出反馈,要对用户输入的信息作出最快的处理,所以就需要很大的主存容量,以及强大的数据库支持。由于是所面向的用户是广泛的储蓄用户群,所以需要系统强大的安全性能支持。可行性研究方法

条件、假定和限制

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

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

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

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

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

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

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

可行性研究方法

通过与银行熟练业务员进行深入讨论,制定详细用户调查问卷,真正了解用户以及银行业务员的实际需求,根据业务员提供的信息以及问题定义再综合调查问卷中用户提出的意见进行改进。最终确定项目需要解决的问题,并确定问题能不能被解决。

决定可行性的主要因素

1)项目开发成本

2)所需设备置办成本

3)技术是否能满足需求

4)操作人员的熟练程度

5)资源有效性

对现有系统的分析

1处理流程和数据流程

系统流程图

存款流程图:

取款流程图:

数据流图:

2工作负荷

当前大多数银行所使用的银行储蓄系统在办理业务时手续繁琐,人工业务操作过多,办理一个客户的业务就需耗费较长的时间,其他客户只有等待。这样太浪费时间,需要大量的业务员处理客户业务。特别是在节假日人流高峰期,导致工作效率非常低,且出错率高,以致客户等待办理手续过长感到不耐烦,降低了银行效率。这也给银行工作人员增加了非常大的负担和额外的工作负荷;同时业务员增多,银行费用支出多,给银行公司的发展带来严重的制约和压力。

3费用支出

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

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

5设备

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

6局限性

工作效率底下,不能符合大量群众的及时需求,给群众的生活带来不便。这是现有系统办理业务的流程中出现的一个严重问题。为了解决这一问题,让人们再办理银行业务更加方便快捷,我们急需开发一个更为高效的银行计算机储蓄系统,让储蓄业务不用再排队。

(1)当前银行使用的银行储蓄系统在办理业务时仅仅靠手工操作,人工业务占据了全部,所以要求银行业务员办理业务时细心耐心,对数字敏感,算术水平高。它严重影响了工作效率,且出错率高,储户办理事务时需要等待时间过长,需要大量的银行业务员才能满足日益增长的存取款要求。(2)用纸张记录保存用户存款记录查找繁琐,耗时久,不方便,且容易丢失。且人工记录不能保证万无一失,容易出现数据录入错误。随着用户数的增多,这个缺陷会越发凸显。

(3)存款记录保密性差,任何一个业务员都可以随意更改查阅用户数据,用户的资料容易泄漏,带来安全隐患。

(4)业务员服务的时间有限,不能24小时办理业务,没有应急处理,不能更好的解决群众的需求。(5)所有客户的业务都由业务员手工办理,浪费人力资源。有的简单的业务经改进可由机器完成,完全不用人工参与,这样节约了人力成本,也提高效率。

(6)对现有系统的改进维护只能依靠增多业务员数量,增多银行分行数目,提高业务员业务素质来实现。增多业务员数量会导致银行人员支出大大增多,同时需要多选址建设分行,或者扩大分行规模,费用代价巨大。业务员的业务素质需要培养,不能短期无限看见成效,及培养新人员需要一定的时间,这又浪费资金和人力资源。对现用系统的改进型维护已经不能解决储户越来越多、储户时间越来越长的问题。

第三章

3.3

解:数据流图

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

3.4

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

数据流图

3.5

(1)实体-联系图

(2)数据流图

(3)HIPO图

第五章

5.3

①蓄系统

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

银行储蓄系

业务单据录

存款利率设置

存款单据输

取款单

据输入

储蓄业务处理

存款取款存单利息清单利

率存款单取款

密码

单据输出

存单

利息

清单

②机票预订系统

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

机票预定系

机票预定子系统

机票发放子系统

预定信息处

安排航班

录入预定信

设置航班

打印取票单

取票凭证处

录入取票凭

证核对取票凭

交款

打印及发放机票

航班

信息

预定信息

航班信

息预定

机票

信息

机票信息

票信息通知单

通知

单有

效通知

账单有

通知

账单

5.4

解:(1)数据流图:

分解后:

(2)需求说明:

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

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

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

4.故障处理要求:出现错误时,应给予警告或提示

(3)

(a)比较耗时,因为它要检索所有的档案,(b)从速度上看比较快,但是(b)需要排序算法,比较复杂,(a)对于设计来讲比较简单.(4)画出的数据流图比较适合(A)的算法

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

软件危机与软件工程 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)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程实习报告推荐

软件工程实习报告推荐 时间过的很快,转眼间已经实习将近5个月。 最先在内部系统组参与内部管理系统开发 (struts+mysql+spring+hibernate),之后是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。 至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。 1浅谈测试 一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是IT阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。 2程序员的困惑 有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?

有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。 3如何调试追踪? 如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步stepover,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。 页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误,例如:缺少对象这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。 4一些习惯

最新版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

软件工程实践报告范本(完整版)

报告编号:YT-FS-4424-18 软件工程实践报告范本 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

软件工程实践报告范本(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实践单位:山西西太行信息有限公司 实践时间:xx年7月1日-----xx年7月31日 共31天 一、实践目的:综合利用所学的专业知识,培养 软件开发的技能;掌握android操作系统的编程技巧, 体会企业软件开发与学习过程中编写软件的不同;提 高自身的创新意识与创新能力,促进团队之间的沟通 协作,为早日踏上工作岗位打下坚实基础。 二、实践内容及感悟: a) 实践前准备:自xx年清明节前后,我和我的 组员就开始接受山西西太行信息有限公司的公开课的 培训,当时经电子与计算机技术学院于一老师介绍由 陈川老师主要带领我们重新温习了一遍关于java语

言的基本知识,在这将近一个月的学习过程中我们逐渐重新拾起了即将被遗忘的java 知识,走出了以前认识上的误区,使我在java这一块又有了一定的的优势,为以后我们用java语言做开发打下了很好的基础。 自xx年5月1日,我们开始了真正的基于android 操作系统的软件开发,虽然我们是利用课余时间进行学习,但是学习的效果真的很好,我们基本上晚上都会学到很晚才回宿舍。刚开始的时候我感到很不适应,感到学习的java语言不能够充分的的到利用,只能够用一些和系统相关的东西,但是随着学习的深入,我发现android操作系统也是一个很强大的手机操作系统,它有着很好的发展前景。并且移动互联网在在中国有着大的市场,所以我对我正在从事的android手机软件开发给予了很大的希望。这一个月的培训我们主要学习了android操作系统的五大系统组件:activity、service、sqlite、content Provider、intent、broadcastRecever,同时我也学到了一些课

软件工程作业答案

新版形考作业答案第一次!! 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)分析准备

软件工程实习报告范文4篇

软件工程实习报告范文4篇 一、关于实习公司 我所实习的南京xx软件有限公司简称xx公司,公司成立于XX 年,主营软件开发和信息系统集成,专门从事工程建设项目管理信息系统开发和实施,具有自主知识产权的项目管理软件产品xx项目管理系列软件(包括xx投资控制合同管理软件、xx进度控制计划管理软件、xx质量控制安全管理软件、xx项目管理门户、xx城建项目管理平台等),并已经在全世界第一大桥苏通长江大桥、国内最大的开发区苏州工业园区以及南水北调工程实施和应用,目前正与南京城建集团合作,开发城建项目管理平台。 二、实习的内容 今年xx月xx日开始,我正式走进xx开始了实习工作,并被调到了江苏省建筑质量检测中心,参加正在进行的一个检测项目。由于我才大三,本身对企业的经营方式等都很陌生,公司让我们的王工带我学习,以师傅带徒弟的方式,指导我的日常实习。在王工的热心指导下,我依次对此次项目的业务流程和大概框架进行了了解,并积极参与相关工作,注意把书本上学到的理论知识对照实际工作,用理论知识加深对实际工作的认识,用实践验证大学所学确实有用。以双重身份完成了学习与工作两重任务。跟公司同事一样上下班,协助同事完成部门工作;又以学生身份虚心学习,努力汲取实践知识。我心里明白我要以良好的工作态度以及较强的工作能力和勤奋好学来适应公司的工作,完成公司的任务。

三、实习的提高与收获 实习收获,主要有四个方面: 一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了本科教学的实践任务。 二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。 三是一些学生在实习单位受到认可并促成就业。 四是为毕业后的正式工作做好了准备。 四、结语 到公司实习并没有我想象中的难以融入,通过慢慢的学习,发现在公司用的到得知识在我们的学校学习中都会遇到。至暑期结束,从不懂到渐渐的做了几个检测项目。学到不少的东西。实习生活还没结束,开学了我还是会继续留在公司我的学习和探索。 光阴荏苒,时光飞逝,转眼间到了实习结束的日子。从进公司实习到现在,我已经到公司近6个月了,感受颇多,收获颇多。期间,通过公司领导的关心和帮助,同事的指导,使我能够很快地了解公司的管理与运作程序,我了解了公司的发展概况,熟悉了公司的流程和行业的基础知识,使我逐步学会如何从一个刚出校门不久的实习生转变成一个职员。以下是我这一阶段的工作总结。 学习无止境,职业生涯只是学生生涯的一种延续。对于一个实习的学生,初踏入职场,进入专业的软件公司,对开发软件没有一点

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

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

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

软件工程实践报告范文3篇精选

软件工程实践报告范文3篇精选 软件工程实践作为软件工程专业本科生企业实习前的综合实践课程在培养体系中占有重要地位,*是小编为大家整理的软件工程的实践报告范文,仅供参考。 软件工程实践报告范文篇一 实践单位:山西西太行信息有限公司 实践时间:xx年7月1日-----xx年7月31日共31天 一、实践目的:综合利用所学的专业知识,培养软件开发的技能;掌握android操作系统的编程技巧,体会企业软件开发与学习过程中编写软件的不同;提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实基础。 二、实践内容及感悟: a) 实践前准备:自xx年清明节前后,我和我的组员就开始接受山西西太行信息有限公司的公开课的培训,当时经电子与计算机技术学院于一老师介绍由陈川老师主要带领我们重新温习了一遍关于java语言的基本知识,在这将近一个月的学习过程中我们逐渐重新拾起了即将被遗忘的java 知识,走出了以前认识

上的误区,使我在java这一块又有了一定的的优势,为以后我们用java语言做开发打下了很好的基础。 自xx年5月1日,我们开始了真正的基于android操作系统的软件开发,虽然我们是利用课余时间进行学习,但是学习的效果真的很好,我们基本上晚上都会学到很晚才回宿舍。刚开始的时候我感到很不适应,感到学习的java语言不能够充分的的到利用,只能够用一些和系统相关的东西,但是随着学习的深入,我发现android操作系统也是一个很强大的手机操作系统,它有着很好的发展前景。并且移动互联网在在中国有着大的市场,所以我对我正在从事的android手机软件开发给予了很大的希望。这一个月的培训我们主要学习了android操作系统的五大系统组件:activity、service、sqlite、content Provider、intent、broadcastRecever,同时我也学到了一些课堂上学不到得东西,对外面的市场的情况也有了更深刻的了解。 b) 实践过程:xx年7月1日到xx年7月31日是我正式暑假实践的时间段, 我们一行十六个人,大三的十一人大二的六人。我们被分了两个小组,每个小组八个人,上课时间一般是下午两点到五点半或者下午五点半到晚上八点半,其余的时间是我们自己写代码的时间。每天的任务量都有所不同,有时候把自己的任务做完了剩下的时间就自由支配。这一个月我们的主要任务是做一个腾讯微

软件工程作业答案

软件工程网上作业题 第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

相关主题
文本预览
相关文档 最新文档