软件工程学科软件工程管理领域研究综述1

时间:2019-05-15 12:50:24下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件工程学科软件工程管理领域研究综述1》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件工程学科软件工程管理领域研究综述1》。

第一篇:软件工程学科软件工程管理领域研究综述1

软件工程学科软件工程管理领域研究综述

1105103037 郭晴辉1105103001 戴慧明

(金陵科技学院,江苏省南京市 211100)

e-mail:542930977@qq.com964085993@qq.com

摘要:计算机软件工程管理对软件项目的成功开发具有重要的意义,主要包括开发人员、组织结构、用户,控制和文档管理。能力成熟模型(CMM)已被广泛的应用到软件工程管理的过程中,成为软件质量保障的关键因素。CMM可以非常有效地控制软件的开发过程,提高开发效率,改进软件的产品质量。

关键词:软件工程;软件工程管理;分布式软件工程管理

中图法分类号:TP311.5文献标志码:A

Softwareengineeringsoftware

engineeringmanagementresearchreview

1105103037 Guoqinghui1105103001 Daihuiming

(Jinling Institute of Technology, Nanjing City Jiangsu province,China)

Abstract:software engineering management is the successful development of software project has

An important meaningmainly including development personnel, organization,users,control document management.Capability maturity model(CMM)has been widely applied to software engineering management process,become the key factor of software quality guarantee.The CMM can be very effective control software development process,improve the efficiency of software development,improve the product quality.Key word:soft project;software engineering and management;distributed software project management

0.引言

任何工程的成败,都与管理的好坏有密切的关系,软件工程更不例外,一个软件项目的成败,很大程度上取决于项目负责人的管理水平和管理艺术,软件工程管理已开始引起计算机软件界的重视。软件工程管理就是对软件项目开发过程的管理,是对整个软件生命期的一切活动进行管理。

软件工程管理目前还没有引起人们的足够的重视。究其原因:首先是人的传统观念,工程管理不为人们所重视;另一方面软件工程是一个新兴的学科领域,软件工程管理的问题也是刚被提出的。同时,由于软件产品的特殊性,是软件工程管理涉及到很多的学科。因此,对软件工程管理,人们还缺乏经验和技术。但事实证明,有管理失误造成的后果要比程序错误造成的后果更为严重。很少有软件项目的实施过程能准确地符合预定目标、进度和预算的,这也就足以说明软件工程管理的重要性。软件工程管理的现状及特点

1.1 工程管理的内涵

软件工程管理的定义,美国PMI(Project Management Institute)对软件工程管理作了如下解释:软件工程管理是为了完成一个项目的需求和目的,将相应的知识、技术、工具以及技巧运用到该项目的具体事务中去的工作,软件工程管理的实践是通过执行以下的这些流程:启动、计划、执行、控制和结束。

PMI倡导的软件工程管理理论的中心内容是执行软件工程管理所需要的具体知识,这些具体的知识根据普通软件工程管理的概念就是如何实行和运用这九个领域知识,来对一个项目进行管理。

1.2 软件工程管理的特点

软件工程管理的特殊性还体现在起管理过程以及内容的特殊性。为保证软件工程获得成功,必须清楚其工作范围、要完成的任务、需要的资源、需要的工作量、进度的安排、可能遇到的风险等。软件工程项目的管理工作必须开始于软件卡发工作之前,并且要始终贯穿于整个软件开发的过程之中,最后结束于整个软件工程所有工作终止之时。PMI的定义包含了很多重要的理念,最重要的是制定了一个重要的准则,就是实施流程管理,它明确的提出了软件工程管理整个流程的五个阶段,即启动、计划、执行、控制、结束。任何一个项目都是由开始到结束的一系列活动,具有从始至终、渐进性的特征。一个项目的具体工作要分为几个不走的过程来完成,这些过程称为项目中的阶段,一个项目从始至终所有阶段的总和成为一个项目的生命周期。

1.3 当前软件工程管理面临的问题

软件工程管理是一个很有挑战性和创造性的学科,并没有一个非常成熟,放在哪里都行之有效的管理模式,对于国内的一些中小企业来说,要想在竞争激烈的市场上占有一席之地,实施软件工程管理是必要的。但是实施软件工程管理也并非易事,在软件工程管理实施过程中,会面临很多问题:

1.3.1 软件工程需求分析与实际业务操作之间存在差距

软件工程需求分析与实际的业务操作之间的问题是软件工程管理中的一大难题。其产生的原因主要是软件工程在需求分析阶段中,对业务的数据、实体以及活动进行全面的调查,但是这些工作事实上都是对与业务表面内容的浅显分析,所形成的文档对与详细设计来说之具备框架式程度的作用,而忽略了业务的本质--业务规则。这就直接导致了软件设计人员在下一步的设计中,对于业务规则凭空想象,致使后期产品与业务的实际严重的背离。

1.3.2 错误估计软件管理的工作量

软件工程的工作量的确存在较大的弹性空间,在软件开发中,人为因素会对软件开发的整体进度产生重要的影响。诸如开发人员的工作态度、投入程度、自身的管理水平以及用户是否配合、陪护的程度等等。假使我们在这个过程中不考虑人为因素,那么在初步确定业务规则的前提下,应当比较容易估算出软件开发的工作量。我们从而看出,当前的软件工程管理在许多方面都存在着改进和研究的地方而这种改进首先必须要以软件的基本特点为前提,因此只有指出一项可以精准、快速找到业务规则与数据的科学方法,才可以在多层次实现多规则。软件工程管理的基本内容

目前软件生产自动化程度很低,在开发过程中人是决定性的因素,因此,软件工程管理很大程度上是对人的管理。我们可根据软件产品的特点,分析软件工程管理的具体内容,它主要包括对开发人员、组织机构、用户、文档资料等方面的管理。

2.1 开发人员

软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。根据项目的规模大小,有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则有概括能力、分析能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。软件生命期各个阶段的活动有分工又互相联系。因此,要求选择各类人员即能胜任工作,又要能相互很好的配合。没有一个和谐的工作气氛很难完成一个复杂的软件项目。

2.2 组织结构

组织结构不等于开发人员的简单集合。这里的组织结构要求:好的组织结构、合理的人员分工和有效的通讯。软件开发的组织结构设有统一的模式。简单的来说可以分为三种组织结构:主程序员组、专家组和民主组织。其中以主程序员组织机构最为常见。它有一位高级工程师(主程序员)、一位后援工程师、二到五位技术人员、一位资料员和支持工作人员组成,主程序员组的制度可以削弱软件的“个人”性质,可以促进更充分的复审,通过共同工作,相互学习,不仅能提高软件质量,同时还能增加彼此的能力。主程序员组是软件系统结构化思想在组织上的体现。它的目的是为了保证全组的协调和统一。

2.3 用户

在开发过程中自始至终必须得到用户的密切合作和支持。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态,正确应对来自用户的各种干扰和阻力,用户的问题主要是以下几种情况。

2.3.1 用户不积极,不配合这种变现主要来自用户中对采用先进技术保持怀疑态度的人,他们心理上的抵触情绪会在行动上表现为消极,漠不关心。要真正了解到用户的要求,就必须在需求阶段做好这部分人的工作。要使他们认识到计算机的发展和应用是现代化的必然趋势,使用计算机将会带来巨大的经济效益。

2.3.2 用户求快求全

这种表现来自对使用计算机持积极态度的人。他们并不了解开发一个软件项目不是一朝一夕的事,也不是采用人海战术就能加快开发进度的。要开发出好的系统就必须顶住来自用户的压力,要提醒用户要根据现有的条件量力而行。不要催促开发进程,也不要要求系统大而全,否则可能会导致一个系统的失败或性能太差。

2.3.3 用户需求变化

在软件开发过程中,用户可能会不断提出新的要求和修改以前提出的要求。从软件工程的角度,不希望有这种变化。但实际上,不允许用户提出变动的要求是不可能的。要正确的对待来自用户的这种变化,在可能的条件下部分或有条件的满足用户的合理要求。但是在软件开发后期,一般不可能满足这种变化的要求。

2.4 控制

为保证软件开发按预定的计划进行,对开发过程要实施控制。控制是以计划为基础的。控制的主要包括进度控制、人员控制、经费控制和质量控制、进度控制是为了保证项目按预定的时间表进行,由于软件产品的特殊性和软件工程的不成熟,制定软件进度计划比较困难,因此在制定计划时要适当留有余地,进度的拖延可能导致项目的失败或失去先进性,增加用

户对开发机构的不信任感和影响开发人员的积极性和稳定性,人员的频繁变更或流动将会大大增加软件出错误的机会,至少要保证软件项目每一期工程或软件生命期每一阶段中人员的相对稳定性,同时注意发挥每个开发人员的积极性和创造性;质量控制与各阶段的复审在意义和作用上是一致的;经费控制要编制详细的经费预算,并在各阶段进行经费的核算。在经费上失去控制,软件项目就没有了保证。

2.5 文档资料

文档标准化是文档管理的重要方面。开发过程的各种活动都必须在文档资料上反映出来。每一个阶段的文档资料是以后各阶段工作的基础,又是对前面各阶段工作的复审。软件工程管理很大程度上是通过文档资料管理来实现的。因此,要把开发过程中各阶段的结果等建立成一套完整的文档资料以备使用。改进计算机软件工程管理的思路

首先,统一软件开发的平台。软件赖以运行的平台的不统一是制约软件和软件工程良好发展的重要原因之一,近些年来,信息技术的发展也为软件业提供了广阔的发展平台,网络成就了身在各地、互不相识的软件开发成员的共同合作,在这样的背景下,普通的关键管理制度就会失去特色,会导致软件开发过程中的失控;其次,改善软件效率的方法。将修改数据的实现,合理的分配到计算的不同层次上,从而大大的改善软件的效率。比如对关系型数据可以将数据驱动性规则、利用触发器来实现等等。改善软件工程管理的有效措施

4.1 提高软件效率

现如今,有很多的计算机软件设计员都是把访问数据与修改机制在整个程序当中,可以说这样的程序最终实现了一切的业务规则。近几年,由于数据库与信息技术的高速发展,使网络计算逐渐代替了数据修改必须由前台程序控制的方法。因此,将修改数据程序,都分配到计算机的其他层次当中,以此来提高软件的工作效率。

4.2 软件开发平台要进行统一规划

影响计算机软件发展的一个非常重要的原因就是软件在运行过程中的平台不统一,这样一来,大多数的软件需要在各种平台上反复的开发。经年来,网络发展非常迅速,这同时也为软件业的发展搭建了良好的平台。另外,不同国家和地区的计算机软件开发人员可以聚集在一起,构成一个开发小组,来共同开发一个计算机软件。软件设计思想得到了全面改革,虽然此软件的开发还不够成熟,但是却对软件的发展影响巨大。在这种情况下,依靠传统的计算机软件管理并不能表现出软件行业的特点,严重的可能会导致软件开发的失控。结语

在当今的软件工程时代,每个项目涉及从多的人力和物力,管理问题日益突出。在实际工作中,不管是否正式提出管理问题,都在自觉或不自觉的进行着管理,只不过是管理的好坏程度不同而已。随着软件规模的不断增大,开发人员也随着增多,开发时间也相应持续增长。而对于规模大、人员多、开发时间长的软件项目,必须要有良好的管理和力求在确定的时间和预算范围内有效地、合理的组织人力、物力,按计划完成预定的软件项目。

参考文献:

[1] 龚旭东.计算机软件工程管理下作探析[D].浙江:宁波大学.2006。

[2]汤克明.CMM实践中的分布式软件工程管理框架[D].扬州:扬州大学.2002。

[3]吴浩明.软件工程应用使用教程[M].北京:清华大学出版社.2003。

[4]李灵芝.CMM在大型MIS开发中的应用研究[D].武汉:武汉科技大学中南分校.2007。

[5]冯玉琳,赵宝华.软件工程[M].合肥:中国科技大学出版社.1992。

[6]CMM(Capacity Maturity Model)[M].美国卡内基-梅隆大学软件工程研究院.1993。

[7]李万军,曹艳云.论计算机软件工程管理工作[J].才智.2012(3)。

[8]李建兵.计算机软件工程方法的进展研究[J].新课程.教师.2011(8)。

[9]宁力.浅谈计算机软件工程管理工作[J].中国科技博览.2011(30)。

[10]单劲虎.关于计算机软件工程管理与应用探讨[J].科技风.2011(23)。

[11]吴浩明.袁山龙.软件工程应用实用教程[M].北京.清华大学出版社.2003。

第二篇:软件工程一级学科

2017年软件工程一级学科 攻读博士学位研究生培养方案

一、适用学科、专业:软件工程(一级学科,工学)

 软件工程理论(二级学科、专业) 软件工程技术与管理(二级学科、专业) 信息系统工程(二级学科、专业) 软件服务工程(二级学科、专业)

二、培养方式

1.博士生培养实行导师负责制。必要时可由导师组织指导小组,指导小组成员必须具有副高级以上职称或具有博士学位的讲师。一般不设副导师,如论文工作特殊需要,经审批同意后,导师可以聘任一名副教授及以上职称的专家担任其博士生的学位论文副指导教师。

2.跨一级学科(或交叉领域)培养博士生时,应从相关学科中聘请相关学科的博士生导师作为联合指导教师,经院系主管负责人审查批准后,报校学位办公室备案。3.建立规范化的学术交流和学术报告制度,按期检查培养环节的完成情况。

4.导师应有适于培养博士生的研究课题和充足的研究经费。导师(副导师或指导小组)应与博士生定期交流,关心博士生的思想品德、业务能力和综合素质。促进博士生德、智、体全面发展。

三、培养目标及课程学习的基本要求

1.培养目标

进一步学习与掌握马列主义、毛泽东思想和邓小平理论,热爱祖国,遵纪守法,诚信公正、有社会责任感;掌握软件工程学科坚实宽广的基础理论与系统深入的专门知识,熟练掌握1-2门外国语,具有独立从事科学研究工作的能力,具有创新能力,在当今快速变化的信息科学研究领域能起主导作用,能独立提出和开展某一领域的科学研究,能从事高校教学工作,具有高层管理工作的能力的德、智、体全面发展的软件工程领域的高级专门人才。2.课程学习及学分组成

普博生及论文博士生在攻读博士学位期间,需获得学位课程学分不少于19,其中公共必修课程不少于4学分,必修环节5学分,学术与职业素养课程不少于1学分。

直博生在攻读博士学位期间,需获得学位课程学分不少于35,其中公共必修课程不少于5学分,学科专业课程学分不少于24,必修环节5学分,学术与职业素养课程不少于1学分。提前攻博生的学分要求同直博生。

四、课程设置

1.公共必修课程(普博生4学分,直博生5学分)

 中国马克思主义与当代  自然辩证法概论

 博士生英语

(90680032)2学分(考试)所有博士生必修

(60680021)1学分(考试)直博生必修

(90640012)2学分(考试)所有博士生必修

2、学科专业课程(普博生不少于9学分,直博生不少于24学分)(1)基础理论课(普博生不少于3学分,直博生不少于6学分)

 组合数学

(74100043)3学分  计算几何

(70240183)3学分  形式语义学

(74100192)2学分  高等数值分析

(60420024)4学分  应用近世代数

(60420153)3学分  最优化方法

(60420194)4学分  现代优化算法

(60420174)4学分  不确定规划

(60420214)4学分  随机过程

(60230014)4学分  应用随机过程

(60420094)4学分  概率论与随机过程

(80420934)

4学分  基础泛函分析

(60420144)

4学分(2)专业课程 A组

 软件度量技术

(74100142)2学分  软件需求工程

(84100102)

2学分  软件测试技术

(74100132)2学分  电子商务概论

(84100122)2学分  电子政务概论

(84100132)

2学分 B组

 网络系统建模与分析

(84100242)2学分  计算机网络前沿研究

(84100222)

2学分

 网络与信息安全技术

(74100102)

2学分

 应用密码学

(84100182)

2学分

 网络测量与分析技术

(84100232)

2学分

(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考试)(考查)(考试)(考查)(考试)C组

 机器学习与知识发现

 数据质量

(84100082)

(84100212)

(74100162)

(74100052)

(74100072)

(74100062)

2学分(考试)2学分(考试)2学分

(考试)2学分(考试)2学分

(考试)2学分(考试)2学分(考试)2学分(考试) 现代数据库系统概论

 工作流技术基础

 数据仓库与数据挖掘

 数据库管理技术

 大规模多媒体信息管理与检索

(74100202) 数据集成

D组

 领域特定语言设计

(84100293)

(84100282)

(84100192)

(84100312)

3学分

(考试)

2学分(考试)

2学分

(考试) 嵌入式系统建模与分析技术  软件形式化验证

 数据流系统建模与Simulink仿真(74100222)

2学分

(考试) 高性能计算机互连理论与方法

(74100233)

3学分(考试)

 嵌入式系统体系结构

(84100332)

2学分(考试)

E组

 计算机辅助几何造型

 数字几何处理

(84100253)

(84100272)

(84100262)

(84100142)

(84100322)

3学分(考试)2学分

(考试)2学分

(考试)2学分

(考查)2学分(考试) 真实感渲染技术

 并行程序设计

 信息可视化与可视分析

博士生的专业知识面应具有一定的宽度,直博生所选课程应至少涵盖以上A~E组课程中的三组,普博生所选课程应至少涵盖以上A~E组课程中的两组。

经导师同意,可选信息学院博士生培养方案中的相关课程。

3.学术与职业素养课程(不少于1学分)

 学术规范课程

 研究生学术与职业素养讲座课程(62550031)1学分(考查) 其他研究生学术与职业素养平台课程 4.必修环节(5学分)

 资格考试

(99990061)(99990041)

1学分(考试)1学分(考查)2学分(考查)1学分(考查) 文献综述与选题报告

 学术活动与学术报告

 社会实践

5、非学位课程

(99990032)

(69990041)

为了扩大知识面,可由导师指定或研究生本人自选如下课程。课程列入个人培养计划,可记非学位课程学分。

(1)跨一级学科的其它专业课程;

(2)选修人文、社科、经济、管理、环境类课程或信息类学科的前沿课程。

6、自学课程

涉及与研究课题有关的专门知识,由导师指定内容系统地自学,可列入个人培养计划,记为非学位课程学分。

7、补修课程

凡在本门学科上欠缺硕士层次业务基础的博士研究生,一般应在导师指导下补修有关课程。补修课可记非学位课程学分。

五、主要培养环节及有关要求

1.制定个人培养计划

博士生入学后三周内,在导师指导下完成个人培养计划,内容包括:研究方向、课程学习、文献阅读、选题报告、科学研究、学术交流、学位论文及实践环节等方面的要求和进度计划。经导师确认签字后,由学院教学主管核准,交学院业务办备案。2.选题报告与资格考试

博士生的资格考试结合选题报告以口试的方式进行,每学期组织一次,由博士生本人提交书面申请,教学办公室统一安排。资格考试委员会由不少于7名具有高级技术职称、或副高技术职称(有博士学位)的教师组成(其中博士生导师至少4人,学位分委员会委员至少1人)。博士生首先作论文选题报告,随后,资格考试委员会就有关问题提问,全面考查博士生的学科和专业基础以及综合素质。

选题报告一般须在论文答辩两年前完成。普博生的资格考试一般安排在第三学期进行。直博生的资格考试一般安排在第五学期进行。

选题报告应包括文献综述、论文选题及其意义、主要研究内容、可行性、工作特色及难点、预期成果及可能的创新点,论文工作计划、发表文章计划等。评审通过的选题报告以书面形式交系教学办公室备案。资格考试成绩由两部分组成:

直博生:学位课成绩占40%,考试和评审小组打分占60%。普博生:学位课成绩占30%,考试和评审小组打分占70%。

资格考试按成绩排序,每次资格考试的通过率不超过80%,考试不通过者可申请参加下次资格考试。资格考试通过两学年后方可申请博士学位论文答辩。

有关资格考试的执行细则见附录1。3.进展报告

为了使学位分委员会、教学办更好地了解博士生研究进展,督促博士生做好学位论文的研究工作,已资格考试(开题)的博士生,和到期却未参加资格考试的博士生,需于每年9月1日前,提交有导师签字确认的研究进展报告一式三份及电子版一份。教学办组织专家评审,并将评审结果通知指导教师及本人。进展报告的格式见附录2。4.社会实践

按照“清华大学研究生社会实践管理规定”执行。5.学术活动与学术报告

实行博士生学术报告制度。博士生在论文工作期间每学期至少做一次学术报告;至少有一次在全国性或国际学术会议上报告自己撰写的论文。博士生在学期间应参加30次以上学术报告,其中至少2次为跨二级学科的学术报告。6.学术论文发表的要求

首先要以博士生发表和录用的学术论文水平为前提,同时要求申请学位论文答辩的博士生至少应在国内外学术刊物和学术会议上发表或录用论文,具体规定如下:

① 发表论文,获得奖励,获得授权专利均能获得相应分值,博士生必须至少获得6分才能申请学位;

② 在中国计算机学会推荐国际学术会议和期刊发表论文的分值如下:A类5分,B类3分,C类1.5分;在中国计算机学会推荐国际学术会议和期刊之外的SCI和EI刊物发表论文为1分;

③ 鼓励研究生在完成系统开发的基础上,申请科技奖励和申报专利,博士生作为完成人获得国家级奖励 3 分,省部级一等奖 2 分,二等奖 1 分;获得授权专利(博士生为第一发明人或者导师为第一发明人时博士生为第二发明人)得 1 分,专利最多累计 2 分; ④ 鼓励研究生参与国际标准制定工作,凡在正式发布的国际标准(包括 IETF,ITU,ISO/IEC 和其他学位分委员会认定的国际标准化组织制定的标准)署名的博士生均可获得 2分,此项最多计算一次。补充说明:

(1)中国计算机学会推荐国际学术会议和期刊列表(以下简称计算机学会列表)参见中国计算机学会网站 http://www.xiexiebang.com 除此列表之外,ACL,Supercomputing,DAC会议均按照A类会议计算。

(2)对于博士生发表在中国计算机学会列表之外的刊物和会议的论文,如果导师认为其水平达到了计算机学会列表的相应等级,可以由导师提出书面申请,学位分委员会组织专家组予以认定,根据认定结果计算相应的分值。7.最终学术报告

在博士学位论文工作基本完成以后,至迟于正式申请答辩前三个月,做一次论文工作总结报告,由至少5位具有高级技术职称的教师(其中博士生导师至少3人)组成的审查小组,对论文工作的内容、创新性进行审查。审查小组应严格要求,对达不到博士学位论文要求的,应要求延期答辩,并至少3个月后重新做最终学术报告。

六、学位论文工作及要求

1、博士学位论文是博士生培养质量和学术水平的集中反映,应在导师指导下由博士生独立完成。

2、博士学位论文应是系统完整的学术论文,应在科学上或专门技术上做出创造性的学术成果,应能反映出博士生已经掌握了坚实宽广的基础理论和系统深入的专门知识,具备了独立从事教学或科学研究工作的能力。

3、学位论文工作时间要求:直博生原则上入学5年后学位分委员会才受理学位答辩申请,普博生原则上4年后学位分委员会才受理学位答辩申请。硕士生提前攻读博士学位的学生原则上等同于直博生,入学年月从硕士入学算起。

附录1:软件学院博士生资格考试执行细则

一、博士生资格考试对象:所有在读博士生(含直博生)。

二、考试方式:

博士生资格考试结合选题报告以口试的方式进行。

三、考试时间安排:

每学期举行一次考试。一般安排在第三周。

每学期开学时要参加资格考试的博士生向教学办公室提交书面申请,教学办公室在第二周末将每人的考试时间、地点、分组情况等安排通知到报名参加资格考试的博士生。

四、申请参加资格考试的条件: 符合下列三个条件的博士生可以申请参加资格考试:

1、课程学习全部结束且成绩合格;

2、完成书面选题报告且经导师审查通过;

3、导师经全面审查该博士生的情况,同意他参加资格考试;

直博生一般在第五学期申请资格考试。普博生一般在第三学期申请资格考试。

五、考试内容与进行顺序:

1、博士生作选题报告,时间30分钟;

2、资格考试委员会委员提问,时间30-60分钟;

3、提问内容:

 选题报告内容;  论文方向的学术前沿;  理论基础知识、专业知识内容;

 资格考试委员会老师感兴趣的有关内容提问。

4、每位考试委员打分(满分100)。未全程参加的资格考试委员会委员不能投票。

5、选题报告成绩=∑每位资格考试委员所给成绩÷考试委员人数

6、如考试委员会老师经讨论,认为有些博士生要加试某些内容,则以笔试形式进行,时间另行安排。

六、资格考试成绩(满分 100分):

1、首次参加资格考试的普博生:

学位课程平均成绩×30% +(∑每位资格考试委员所给成绩÷考试委员人数)×70%

2、首次参加资格考试的直博生:

学位课程平均成绩×40% +(∑每位资格考试委员所给成绩÷考试委员人数)×60%

3、第二次参加资格考试的博士生(包括普博生和直博生): 资格考生成绩 =(∑每位资格考试委员所给成绩÷考试委员人数)×100%

七、通过资格考试的要求:

教学办公室将每一位博士生的资格考试成绩按组进行排序,每次资格考试的通过率不超过80%,并在“资格考试表”中记载资格考试委员会名单、资格考试成绩及是否通过资格考试的结论,考试成绩记载入博士生的成绩册,“资格考试表”最后由该生的资格考试委员会组长审定并签字存档。

资格考试通过的博士生的考试成绩以最低分为70分进行归一化,进行分类,分别以5分为一挡,即分别记为75、80、85、90分、特别优秀的可记为95、100分。

八、资格考试不通过的博士生可以在下一学期或以后的学期再申请参加考试,不通过的次数不作限制,但论文实际工作时间从资格考试通过时开始计算,且论文实际工作时间不得少于两学年。资格考试通过两学年后方可申请答辩。

九、资格考试委员会组成:

1、组成人数 :不少于7人。

2、组成人员 :资格考试委员会应具有高级技术职称、或副高技术职称且获博士学位,其中博士生导师至少4人,学位分委员会委员至少1人。

参加考试的博士生的导师可以参加该生的资格考试委员会。

资格考试委员会组长必须是学位分委员会委员。组长与学院学术委员会主席一起审定资格考试委员会成员名单。组长的职责是:负责资格考试过程的组织、收集每位委员的评分,组织考试中特殊问题的讨论并做出结论,审定博士生的“资格考试表”并签字。附录2:软件学院博士生进展报告的格式

软件学院博士生进展报告应按以下格式认真书写,并由导师审查格式、内容是否符合要求,并确认签字。1.封面及规格

封面应包括:开题的博士学位论文题目,或博士学位论文的研究方向、博士生姓名、博士生学号、导师姓名、博士生联系电话、博士生email、提交时间等信息

报告用用A4纸打印;边距为:上2.5cm, 下 2.5cm,左3cm,右2.5cm;行间距为1.25倍行距,段前0.15倍行距;字体:宋体;字号:小四。

2.报告主体的要求

报告的主体应包括:

1)博士学位论文选题、研究目标 2)研究背景

3)一年来的研究内容、进展 4)投稿、发表论文情况 5)下一步研究设想 6)发表论文计划

要求博士生认真书写进展报告,报告应10000字以上。3.导师确认及签字

导师应认真审读博士生的进展报告;就进展报告的真实性、研究成果的创新性、研究计划的可行性,给出评价。并签字确认。

学位评定分委员会主席签字(盖章):

2017年6月9日

第三篇:软件工程

2.2软件开发的基本策略

人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中。同样,程序员脑子里的软件工程观念会无形地支配其怎么去做事情。软件工程三十年的发展,已经积累了相当多的方法,但这些方法不是严密的理论。实践人员不应该教条地套用方法,更重要的是学会“选择合适的方法”和“产生新方法”。有谋略才会有好的战术。几千年前,我们的祖先就在打闹之际写下了很多心得体会,被现代人很好地运用于工业和商业。本节讲述软件开发中的三种基本策略:“复用”、“分而治之”、“优化——折衷”。

2.2.1复用

复用就是指“利用现成的东西”,文人称之为“拿来主义”。被复用的对象可以是有形的物体,也可以是无形的成果。复用不是人类懒惰的表现而是智慧的表现。因为人类总是在继承了前人的成果,不断加以利用、改进或创新后才会进步。所以当我们欢度国庆时,要搞清楚祖国远不止50岁,我们今天享用到的财富还有上下五千年人民的贡献。进步只是应该的,不进步则就可耻了。

复用的内涵包括了提高质量与生产率两者。由经验可知,在一个新系统中,大部分的内容是成熟的,只有小部分内容是创新的。一般地可以相信成熟的东西总是比较可靠的(即具有高质量),而大量成熟的工作可以通过复用来快速实现(即具有高生产率)。勤劳并且聪明的人们应该把大部分的时间用在小比例的创新工作上,而把小部分的时间用在大比例的成熟工作中,这样才能把工作做得又快又好。

把复用的思想用于软件开发,称为软件复用。据统计,世上已有1000亿多行程序,无数功能被重写了成千上万次,真是浪费哪。面向对象(Object Oriented)学者的口头禅就是“请不要再发明相同的车轮子了”。

将具有一定集成度并可以重复使用的软件组成单元称为软构件(Software Component)。软件复用可以表述为:构造新的软件系统可以不必每次从零做起,直接使用已有的软构件,即可组装(或加以合理修改)成新的系统。复用方法合理化并简化了软件开发过程,减少了总的开发工作量与维护代价,既降低了软件的成本又提高了生产率。另一方面,由于软构件是经过反复使用验证的,自身具有较高的质量。因此由软构件组成的新系统也具有较高的质量。利用软构件生产应用软件的过程如图1.5所示。

软件复用不仅要使自己拿来方便,还要让别人拿去方便,是“拿来拿去主义”。面向对象方法,Microsoft公司的COM规范 [Rogerson 1999],都能很好地用于实现大规模的软件复用。

2.2.2分而治之

分而治之是指把一个复杂的问题分解成若干个简单的问题,然后逐个解决。这种朴素的思想来源于人们生活与工作的经验,完全适合于技术领域。软件人员在执行分而治之的时候,应该着重考虑:复杂问题分解后,每个问题能否用程序实现?所有程序最终能否集成为一个软件系统并有效解决原始的复杂问题?

图1.6表示了软件领域的分而治之策略。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。软件的分而治之不可以“硬分硬治”。不像为了吃一个西瓜或是一只鸡,挥刀斩成n块,再把每块塞进嘴里粉碎搅拌,然后交由胃肠来消化吸收,象征复杂问题的西瓜或是鸡也就此消失了。

2.2.3优化——折衷

软件的优化是指优化软件的各个质量因素,如提高运行速度,提高对内存资源的利用率,使用户界面更加友好,使三维图形的真实感更强等等。想做好优化工作,首先要让开发人员都有正确的认识:优化工作不是可有可无的事情,而是必须要做的事情。当优化工作成为一种责任时,程序员才会不断改进软件中的算法,数据结构和程序组织,从而提高软件质量。

著名的3D游戏软件Quake,能够在PC机上实时地绘制高度真实感的复杂场景。Quake的开发者能把很多成熟的图形技术发挥到极致,例如把Bresenham画线、多边形裁剪、树遍历等算法的速度提高近一个数量级。我第一次看到Quake时不仅感到震动,而且深受打击。这个PC游戏软件的技术水平已经远胜于我所见识到的国内领先的图形学相关科研成果。这对我们日益盛行的点到完止的研发工作真是莫大的讽刺。所以当我们开发的软件表现出很多不可救药的病症时,不要怨机器差。真的是我们自己没有把工作做好,写不好字却嫌笔钝。

就假设我们经过思想教育后,精神抖擞,随时准备为优化工作干上六天七夜。但愿意做并不意味着就能把事情做好。优化工作的复杂之处是很多目标存在千丝万缕的关系,可谓数不清理还乱。当不能够使所有的目标都得到优化时,就需要“折衷”策略。

软件中的折衷策略是指通过协调各个质量因素,实现整体质量的最优。就象党支部副书记扮演和事佬的角色:“…为了使整个组织具有最好的战斗力,我们要重用几个人,照顾一些人,在万不得已的情况下委屈一批人”。

软件折衷的重要原则是不能使某一方损失关键的职能,更不可以象“舍鱼而取熊掌”那样抛弃一方。例如3D动画软件的瓶颈通常是速度,但如果为了提高速度而在程序中取消光照明计算,那么场景就会丧失真实感,3D动画也就不再有意义了(如果人类全是色盲,计算机图形学将变得异常简单)。

人都有惰性,如果允许滥用折衷的话,那么一当碰到困难,人们就会用拆东墙补西墙的方式去折衷,不再下苦功去做有意义的优化。所以我们有必要为折衷制定严正的立场:在保证其它因素不差的前提下,使某些因素变得更好。

下面让我们用“优化——折衷”的策略解决“鱼和熊掌不可得兼”的难题。

问题提出:假设鱼每千克10元,熊掌每千克一万元。有个倔脾气的人只有20元钱,非得要吃上一公斤美妙的“熊掌烧鱼”,怎么办?

解决方案:化9元9角9分钱买999克鱼肉,化10元钱买1克熊掌肉,可做一道“熊掌戏鱼”菜。剩下的那一分钱还可建立奖励基金。

2.3一些不正确的观念

本节例举并分析一些不正确的软件工程观念,可帮助初学者少犯相似的错误。

观念之一:我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们解决软件开发中遇到的任何问题。

客观情况:好的参考书无疑能指导我们的工作。充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。但实践者并不能因此依赖于书籍,这是因为:(1)现实的工作中,由于条件千差万别,即使是相当成熟的软件工程规范,常常也无法套用。(2)软件技术日新月异,没有哪一种软件标准能长盛不衰。祖传秘方在某些领域很吃香,而在软件领域则意味着落后。

观念之二:我们拥有最好的开发工具、最好的计算机,一定能做出优秀的软件。

客观情况:良好的开发环境只是产出成果的必要条件,而不是充分条件。如果拥有好环境的是一群庸人,难保他们不干出南辕北辙的事情。

观念之三:如果我们落后于计划,可以增加更多的程序员来解决。

客观情况:软件开发不同于传统的农业生产,人多不见得力量大。如果给落后于计划的项目增添新手,可能会更加延误项目。因为:(1)新手会产生很多新的错误,使项目混乱。(2)老手向新手解释工作以及交流思想都要花费时间,使实际开发时间更少。所以科学的项目计划很重要,不在乎计划能提前多少,重在恰如其分。如果用“大跃进”的方式奔向共产主义,只会产生倒退的后果。

观念之四:既然需求分析很困难,不管三七二十一先把软件做了再说,反正软件是灵活的,随时可以修改。

客观情况:对需求把握得越准确,软件的修修补补就越少。有些需求在一开始时很难确定,在开发过程中要不断地加以改正。软件修改越早代价越少,修改越晚代价越大,就跟治病一样道理。

2.4一些有争议的观念

本节探讨一些有争议的观念,目的不在于得出“正确”或“错误”的评断,而在于争议会激发更多理性的思考。

争议之一:如果软件运行较慢,是换一台更快的计算机,还是设计一种更快的算法?

作者观点:如果开发软件的目的是为了学习或是研究,那么应该设计一种更快的算法。如果该软件已经用于商业,则需谨慎考虑:若换一台更快的计算机能解决问题,则是最快的解决方案。改进算法虽然可以从根本上提高软件的运行速度,但可能引入错误以及延误进程。技术狂毫无疑问会选择后者,因为他们觉得放弃任何可以优化的机会就等于犯罪。

类似的争议还有:是买现成的程序,还是彻底自己开发?技术人员和商业人士常常会有不同的选择。

争议之二:有最好的软件工程方法,最好的编程语言吗?

作者观点:在软件领域永远没有最好的,只有更好的。能解决问题的都是好方法或是好语言。程序员在最初学习Basic、Fortran、Pascal、C、C++等语言时会感觉一个比一个好,不免有喜新厌旧之举。而如今 的Visual Basic、Delphi、Visual C++、Java等语言各有所长,真的难分优劣。开发人员应该根据客观条件,选择自己熟悉的方法和语言,才能保证合格的质量与生产率。

程序设计是自由与快乐的事情,不要发誓忠于某某主义而自寻烦恼。

争议之三:编程时是否应该多使用技巧?

作者观点:就软件开发而言,技巧的优点在于能另辟蹊径地解决一些问题,缺点是技巧并不为人熟知。若在程序中用太多的技巧,可能会留下隐患,别人也难以理解程序。鉴于一个局部的优点对整个系统而言是微不足道的,而一个错误则可能是致命的。作者建议用自然的方式编程,少用技巧。

《狼三则》的故事告诉我们“失败的技巧通常是技俩”。当我们在编程时无法判断是用了技巧还是用了技俩,那就少用。《卖油翁》的故事又告诉我们“熟能生巧”,表明技巧是自然而然产生的,而不是卖弄出来的。卖油翁的绝技是可到中央电视台表演的,而他老人家却谦虚地说:“没啥没啥,用熟了而已”。

争议之四:软件中的错误是否可按严重程度分等级?

作者观点:在定量分析时,可以将错误分等级,以便于管理。微软的一些开发小组将错误分成四个等级 [Cusumano 1996],如表1.1所示。

一级严重:错误导致软件崩溃。

二级严重:错误导致一个特性不能运行并且没有替代方案。

三级严重:错误导致一个特性不能运行但有替代方案。

四级严重:错误是表面化的或是微小的。

表1.1 错误的四个等级

上述分类是非常技术性的,并不是普适的。假设某个财务软件有两个错误:错误A使该软件死掉,错误B导致工资计算错误。按表1.1分类,错误A属一级严重,错误B属二级严重。但事实上B要比A严重。工资算多了或者算少了,将会使老板或员工遭受经济损失。而错误A只使操作员感到厌烦,并没有造成经济损失。另一个示例是操作手册写错,按表1.1分类则属四级严重,但这种错误可能导致机毁人亡。

开发人员应该意识到:所有的错误都是严重的,不存在微不足道的错误。这样才能少犯错误。

2.5小 结

软件工程学科发展到今天,已经有了很多方法和规范,学之不尽。本章只在宏观上讨论了软件工程的一些

思想,更具体的内容将在后面的章节论述。无论是什么好方法,贵在理解与灵活运用,而不可当成灵丹妙药,不象“吃了脑黄金或脑白金,就能使一亿人先聪明起来”。

3程序员与程序经理

工作在第一线的软件开发人员是程序员和程序经理,他们决定着软件的命运。良好的程序员队伍和出色的管理是软件项目成功的必要条件。管理不是管制,不是去卡住人家的脖子,因为程序员不是一群野鸭子。管理的目的是让大家一起把工作做好,并且让各人获得各自的快乐和满足。当一个组织被出色地领导时,雇员甚至不知道他们已被领导。在项目完成时,他们会自豪地说:“看看我们通过努力取得的成绩吧”。所以管理者不能老惦记着自己是一个官,而应时刻意识到自己是责任的主要承担者。

我们经常会听到有经理头衔的人在高谈阔论:“编程我不会,做个项目还不easy?派个人去搞系统分析,回头再叫几个程序员把需求译成程序,不就OK了吗?”

不懂英语的人准以为easy和OK是贬义词。要让软件项目失败很容易,只要符合下列条件之一即可:

(1)项目经理对软件一无所知;

(2)技术负责人对编程不感兴趣;

(3)真真编写代码的程序员是临时雇用的。

如果上述三个条件同时具备,就请放心失败好了。

让我们少幻想自己是比尔·盖茨,先当好程序员和程序经理再说。

3.1了解程序员

早期的程序员干活能从软件直通硬件,个个生猛无比。又因他们的作息时间、言行举止与常人不太一样,久而久之就给人们留下了“神秘”、“孤僻”的印象。如今软件行业被炒得热火朝天,有能耐的程序员即便躲在大山岙的军工厂里也能被挖出来。而更多原本不是程序员的人操起几本“速成”、“二十一天通”等书籍也加入了这个行业。现在国内号称有上百万程序员,这支大军鱼龙混杂,已搞不清那些是正规军,那些是民兵游击队了。

第四篇:《软件工程》

《软件工程》课程分析

本课程是软件技术专业学生必修的一门专业必修课。根据培养软件开发人员的需要,本课程的任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法。能在软件工程的理论指导下,开发一个小型管理系统,为今后从事软件工程实践打下良好的基础。

一、课程分析

(一)教学计划的制定和教学内容的选取

根据培养应用技能型人才的总目标,制订本专业教学计划,课程的教材配套,教学、实验、实训、课程设计大纲和指导书等教学文件齐全,近几年来引入了现代教学技术手段,已初步建设、形成了具有特色的全套课堂教学和实验教学课件。

根据该课程的基本教学要求和特点,结合学时的安排,从教材的整体内容出发,有侧重地进行取舍,筛选出学生必须掌握的基本教学内容,较好地解决了教学中质量与数量的矛盾。

(二)教学方法分析

由于该课程是用于指导软件开发的,和实践联系非常紧密。所以采用了理论联系实际的方法进行授课。一方面,让学生模拟软件公司的项目小组进行软件开发;一方面,对学生进行适时的理论指导。既调动了学生的积极性,又让学生了解了该课程的理论内容,收到了一举两得的效果。具体教学过程如下:

第一步:模拟软件公司的开发项目小组,分组,分设角色(项目经理、用户、需求人员、设计人员、程序员、测试人员、软件安装培训维护人员),确定开发题。让每个小组的学生聚在一起,在项目经理的组织下通过调研、讨论来制定自己小组的开发题目,大家感觉就象在软件公司实习一样,非常新鲜,感兴趣。每个学生都积极主动的去完成自己应承担的那部分工作。

第二步:模拟软件项目开发全过程的各个阶段,进行相关的理论授课和实际开发。即对软件开发的每一阶段,首先按照教材内容进行理论授课,然后让学生参照授课内容进行实际的软件开发实践。

在此阶段结束后,每班召开一个模拟方案论证会,由各开发小组选出代表上台讲解本组的开发方案,其他同学模拟用户对开发方案提出意见。由于大家对模拟方案论证会非常感兴趣,发言积极踊跃,论证会结束后,每个小组的设计方案都得到了很好的补充和完善。

第三步:学期末各小组提交各自完成的软件系统及开发文档,并进行总结演示,由任课教师进行讲评。

抽象理论课的教学应理论联系实际,让学生在实际应用中掌握抽象的理论,在兴趣中学习,达到我们高职的双向型培养目标。

二、存在的问题与希望

在上述的教学中,虽然实现了理论联系实际,但也存在着一些问题,比如每个项目小组中总有个别同学存在依赖心理,不参与项目开发,最后抄袭别的同学的项目成果,自己得不到实际的锻炼,影响了大三的毕业设计和日后的软件开发。另外,如果该课程只上课,没有实训的话,实验课时太少,学生很难全面完成一个系统的开发。

第五篇:软件工程

1.软件工程:是指导计算机软件开发和维护的工程学科

2.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题

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

4.软件生命周期:是指从软件定义、开发、使用、信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存 储。

23.软件危机有那些典型表现?

(1)央一个索引号)。

针对若干个不同的NAME重复执行上述命令序列。

⑫测试系统非正常操作的测试数据 ①用过长的关键字作为命令b的参数:例如,b(reliability software and hardware combined)

预期的输出:系统截短过长的关键字,例如,上列命令中的关键字可能性被截预期的输出:X=1,Y=20,Z=3 ④ 3个判定表达式依次为假、真、真 输入:A=1,B=40,C=60 预期的输出:X=1,Y=20,Z=30 ⑤ 3个判定表达式依次为真、假、假 输入:A=20,B=1,C=1 预期的输出:X=10,Y=2,Z=3 ⑥ 3个判定表达式依次为真、假、真 输入:A=20,B=1,C=60 对软件开发成本和进度的估计常常很不准确。维护到淘汰的全过程

5.软件工程环境:方法与工具的结合,加上配套的软、硬件支持称为软件工程环境

6.模块:是数据说明、可执行语句等程序对象的集合7.模块化:是按规定的原则将一个大型软件分为一个个较小的、相对独立但又相关的模块

8.耦合:是对一个软件结构内不同模块之间互连程度的度量

9.内聚:标志着一个模块内各个元素彼此结合的紧密程度

10.结构程序设计:如果一个程序的代码块只有一个入口和一个出口,则称这个程序是结构化的11.实现:通常指编码和测试

12.软件可靠性:是指程序在给定的时间间隔内,按照规格说明书的规定成功地运行地概率

13.集成测试:是测试和组装软件的系统化技术 14.软件维护:是指软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程

15.对象:在应用领域中有意义的、与所解决的问题有关系的任何事物

16.对象模型:表示静态的、结构化的系统的“数据”性质

17.功能模型:表示变化的系统的“功能”性质 18.面向对象分析:就是抽取和整理用户需求并建立问题域精确模型的过程

19.重用:是指同一事物不作修改或者稍加改动就多次重复使用

20.可行性分析包括:技术可行性、经济可行性、操作可行性

21.北京某高校可用的电话号码有以下几类:校内电话号码由 4 位数字组成„„定义上述电话号码

电话号码=[校内电话号码|校外电话号码]

校内电话号码=非零数字+ 3 位数字 //后面继续定义 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8 位数字

外地号码=数字零+3 位数字+8 位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0位数字=3{数字}3//3 至 3 个数字 8 位数字=非零数字+7 位数字 7 位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]

22.目前住院的病人主要由护士护理,这样做不仅需要大量护士„„写出问题定义,分析可行性 从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告

(2)用户对“已完成的”软件系统不满意的现象经常

发生。

(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占的比例

逐年上升。(7)软件开发生产率提高的速度,远远跟不上计算

机应用迅速普及深入的趋势

25.银行计算机存储系统的工作过程大致如下:„„请用数据流图描绘本系统的功能,并用实体—联系图描绘系统中的数据对象 26.复印机的工作过程大致如下:未接到复印命令时处于闲置状态„„请用状态转换图描绘复印机的行为

27.用面向数据流的方法设计下列系统的软件结构

(1)机票预定系统(2)患者监护系统 28.耦合包括数据耦合、控制耦合、公共环境耦合、内容耦合29.内聚包括功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚

30.美国某大学有200名教师,校方与教师工会刚刚签订一项协议。按照协议„„

31.画出下列伪代码的流程图,计算它的环形复杂度

32.某图书馆有一个使用CET

终端的信息检索系统,该系统有下列4个基本检索命令:

(1)设计测试数据以全面系统的正常操作

(2)设计测试数据以测试系统的非正常操作

解:⑪测试系统正常操作的测试数据 ①顺序执行下列3个命令:b(KEYWORD)s(L)d(N)

其中KEYWORD是正确的关键字;L是执行命令b后在屏幕上显示的约20个行号中的一个(至少应该使L分别为第一个、最后一个和中央一个行号);N是执行命令s后列出的索引号中的一个(至少应该使N分别为第一个、最后一个和中央一个索引号)。

针对若干个不同的KEYWORD重复执行上述命令序列。

②顺序执行下列2个命令:f(NAME)d(N)

其中,NAME是已知的作者姓名;N是执行命令f后列出的索引号中的一个(至少应该使N分别为第一个、最后一个和中

短为reliability software

②用不正确的关键字作为命令b的参数:例如,b(AARDVARK)

预期的输出:显示出最接近的匹配结果,例如,执行上列命令后可能显示 1.AARON,JULES(book)③用比执行命令b后列出的最大行号大1的数作为命令s的参数

预期的输出:“命令s的参数不在行号列表中”

④用数字和标点符号作为命令b和命令f的参数

预期的输出:“参数类型错”

⑤用字母字符作为命令s和命令d的参数 预期的输出:“参数类型错”

⑥用0和负数作为命令s和命令d的参数 预期的输出:“参数数值错” ⑦命令顺序错:例如,没执行命令b就执行命令s,或没执行命令s就执行命令d 预期的输出:“命令顺序错”

⑧命令语法错:例如,遗漏命令名b、s、d或f;或命令参数没用圆括号括起来 预期的输出:“命令语法错” ⑨命令参数空:例如,b()、s()、d或f()

预期的输出:系统提供默认参数或给出出错信息

⑩使用拼错了的作者姓名作为f的参数 预期的输出:“找不到这们作者的著作”

33.(2)答:经验表明,在类似的程序中,单位长度

里的错误数ET/IT近似为常数。美国的一些统计数字告诉我们,通常

0.5X10-2≤ ET/IT ≤2X10-2

也就是说,在测试之前每1000条指令中大约有5~20个错误。

假设在该程序的每1000条指令中有10个错误,则估计在对它进行测试期间将发现的错误数为

5000X10/1000=50(个)(3)① 使3个判定表达式之值全为假 输入:A=1,B=1,C=1 预期的输出:X=1,Y=2,Z=3 ② 使3个判定表达式之值全为真 输入:A=20,B=40,C=60 预期的输出:X=10,Y=20,Z=30 ① 3个判定表达式之值全为假 输入:A=1,B=1,C=1 预期的输出:X=1,Y=2,Z=3 ② 3个判定表达式依次为假、假、真 输入:A=1,B=1,C=60 预期的输出:X=1,Y=2,Z=30 ③ 3个判定表达式依次为假、真、假 输入:A=1,B=40,C=1

预期的输出:X=10,Y=2,Z=30 ⑦ 3个判定表达式依次为真、真、假 输入:A=20,B=40,C=1 预期的输出:X=10,Y=20,Z=3 ⑧ 3个判定表达式全为真 输入:A=20,B=40,C=60 预期的输出:X=10,Y=20,Z=30 34.软件的可维护性与哪些因素有关:软件的可理解性、可测试性、可修改性、文档描述符合要求、用户文档简洁明确、系统文档完整并且标准

35.面向对象方法是一种运用对象、类、继承、封装、聚合、消息、多态等概念来构造系统的软件开发方法。

面向对象方法的优点是:符合人们习惯的思维方式、稳定性好、可重用性好、可维护性好、容易开发大型的软件产品

下载软件工程学科软件工程管理领域研究综述1word格式文档
下载软件工程学科软件工程管理领域研究综述1.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件工程

    填好发给我!!!!一、填空题: 1.面向对象分析的目的是对客观世界的系统进行 __________________,对象就是客观世界的; 2.软件工程方法学包括:工程环境建立、方法、工具和过程; 3.思想概括......

    软件工程

    软件工程—心得体会 摘要 本文结合基层实践教学的实际情况和现实需要,系统地总结了《软件工程》实践教学的特征,详细分析了实践教学过程存在的问题,并提出了该课程实践教学改革......

    软件工程

    软件工程 1. 谈谈你对软件工具的理解,你用过什么软件工具 软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统。它是为专门目的而开发的,在软件工......

    软件工程

    一、名词解释 软件: 指计算机系统中的程序及其文档。 支持软件:支持软件的开发和维护的软件。 系统软件:属于计算机系统中最靠近硬件的一层,其它软件一般都通过系统软件发挥作......

    软件工程

    1.软件危机的概念 系统的数据要求,功能需求,性能需求,显示出程序的轮廓。 软件危机是指在计算机软件开发、使用与可靠性需求,可用性需求,出错处理需求,混合方式 维护过程中遇到的......

    软件工程 学生宿舍管理系统

    一、 需求分析 软件需求是软件开发的基础,每个软件开发过程都是以获取需求为目的的活动:理解客户的基本需求和目标。准确获取用户的需求是项目开发成功的开端。然而,软件工程所......

    软件工程:实践者的研究方法

    跨越20年的软件工程经典教程: 《软件工程:实践者的研究方法(第5版)》 20年前,一位年轻的美国教授,坐在桌前,正用手写着一部当时人们觉得不可思议的书稿。这部书的主题是关于软件工......

    软件工程小结

    今天视频看完了,可是没有总结。还是感觉不会总结。一想到50讲的课,怎么总结呢?开始听的时候,是真不知道从哪里下手,因为开始看的时候有种迷迷糊糊的感觉。软件工程,我期待的一门课......