《先进软件开发技术与工具》试题

精品范文 时间:2024-02-09 07:14:09 收藏本文下载本文

第1篇:《先进软件开发技术与工具》试题

《先进软件开发技术与工具》试题

1. 介绍创建.NET程序的基本步骤。(4分)

答:打开Visual Stdio 2008 文件菜单 新建 项目 选择语言和项目类型 编写代码 编译 运行。

2. C#语言的特点?(5分)

●简洁的语法

●精心地面向对象设计

●与Web的紧密结合

●完整的安全性与错误处理

●版本处理技术

●灵活性与兼容性

3. C#中参数传递有哪些方式?各有什么特点?(6分) 答:有传值和传引用方式。

传值方式,是指将实际参数的值复制一份,存入形式参数中。在方法中对形式参数值的改变不会影响到实际参数。

传引用方式,是指将实际参数的地址复制一份,存入形式参数中,在方法中通过地址可以改变实际参数的值。

4. e is T在什么时候返回true?e as T在什么时候返回非null?(6分) 答:e is T在对象e的类型为T时返回true。

e as T在对象e兼容于T类型时,返回非null。

5. 给出C#语言效率低于C/C++语言的3个原因。(6分) 答:(不确定)

C#有高级内存管理机制,方便了开发,但降低了代码效率;

C#代码是托管运行的,效率较低;

C#不能直接进行内存管理,效率低。

6. 解释以下基本概念。(14分)

(1)托管代码 (2)抽象类 (3)接口 (4)引用类型

(5)异常 (6)属性 (7)值类型

答:

(1)托管代码——由公共语言运行库环境(而不是直接由操作系统)执行的代码。

(2)抽象类——至少包含一个抽象方法的类,该类不能被实例化。

(3)接口——只包含方法、属性、索引器、事件,均为public权限,而且方法只有定义没有方法体。

(4)引用类型——直接存储变量值的引用,该类型的变量作参数,传递的是值所在的`地址。

(5)异常——程序执行时遇到的任何错误情况或意外行为

(6)属性——属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。

(7)值类型——直接存储变量的值,该类型的变量作参数,传递的是变量的副本。

7. 虚方法、抽象方法、静态方法、接口中的方法和密封方法有何区别?(10分)

答:虚方法:用virtual修饰,告诉编译器这个方法可以在派生类中被改写。

抽象方法:用abstract修饰,没有方法体,它所在的类是抽象类。抽象方法必须由其所在类的派生类重写,除非该派生类也是抽象方法。

静态方法:用Static修饰,静态方法存储在类空间中,直接由类访问。

接口中的方法:只有方法的声明,没有方法体,必须由接口的派生类重写。

密封方法:用seal修饰,表示该方法不能被派生类重写。

8. 抽象类、密封类和接口有何区别?各在什么情况下使用?(10分) 答:抽象类:至少含有一个抽象方法的类。用于各派生类有同样的行为,但实现代码各不一样的情况,这时可以基类中定义即抽象方法,该基类就是抽象类。

密封类:表示该类不能被继承。用于不希望该类被继承或修改的情况。

接口:只包含方法、属性、索引器、事件,均为public权限,而且方法只有定义没有方法体。用于向外界声明所具有的行为,用于实现多重继承。

9. 下列程序片断有何错误?(12分)

(1)

class BaseClass

{ public virtual void f1() { }

} class DerivedClass : BaseClass { } public void f1() { }

答:DerivedClass中f1应改为public override void f1(){},加上override。

(2)

class BaseClass

class DerivedClass : BaseClass { } public void f1() { } } { public sealed void f1() { } 答:DerivedClass中f1()不能被重写。

(3)

abstract class BaseClass

class DerivedClass : BaseClass { } public void f2() { } } { public abstract void f1() { }

答:BaseClass中f1应为public abstract void f1();,没有方法体;

DerivedClass中应添加public void f1(){……},实现抽象方法。

10. 写出下列程序的输出。(7分)

class BaseClass

} new public void f2() { } Console.WriteLine(“DerivedClass.f2”); class DerivedClass : BaseClass { public override void f1() { } Console.WriteLine(“DerivedClass.f1”); } public void f2() { } Console.WriteLine(“BaseClass.f2”); { public virtual void f1() { } Console.WriteLine(“BaseClass.f1”);

} b.f1(); b.f2(); BaseClass b = d; static void Main(string[] args) { DerivedClass d = new DerivedClass();

答:(答案没验证)

BaseClass.f1

BaseClass.f2

11. 编写一个程序,接收用户输入的两个数字(这两个数字不能都大

于30,否则要求用户重新输入),计算两数的乘积并输出。(8分) 答:

static void Main(string[] args)

{

} Console.Write(“请输入小于30的数字:”); y = int.parse(Console.ReadLine()); while(y>30) { } z = x*y; Console.WriteLine(“结果是:”+z); Console.Write(“请输重新入小于30的数字:”); y = int.parse(Console.ReadLine()); int x=100,y=100,z; Console.Write(“请输入小于30的数字:”); x = int.parse(Console.ReadLine()); while(x>30) { } Console.Write(“请输重新入小于30的数字:”); x = int.parse(Console.ReadLine());

12. 马(Horse)、大象(Elephant)、老虎(Tiger)、狮子(Lion)是动物(Animal),动物能够Eat,但是不同的动物有不同的Eat行为。另外,有些动物具有食肉特性(ICarnivore),食肉动物能够捕食(Prey)。定义类和接口用类继承和接口实现来表示以上事物之间的关系。(12分)

答:

interface ICarnivore

{

} public void Prey(); //食肉特性

第2篇:软件开发平台与工具总结

软件开发平台与工具

0 综述

作为软件开发与平台结业的一个报告,将从以下几个方面对这门课的学习做一个小的总结:背景知识 2 软件建模工具在需求收集中的作用 3 软件设计中的作用4 软件实施工具在代码设计中的作用 5 学习的收获与感想 6 结束语

背景知识

软件开发平台是一种软件开发工具,以通用技术架构为基础,集成常用建模工具、二次开发包、基础解决方案等而成。软件开发工具是很方便地把一种编程语言代码化并编译执行的工具。现在的软件开发工具逐渐显出智能化、网络化、一体化、标准化的趋势。对于很多企业来说,软件开发平台只被定义为信息化工具,但成功进行过企业信息化建设的CIO们会对软件开发平台有着更为正确的理解,那就是软件开发平台不仅是信息化工具,更是管理思想的沉淀。

随着在企业中发挥出的作用被逐步肯定,目前软件开发平台在国内信息化领域也占据着越来越重要的位置,其应用已经成为一种趋势。相对于传统开发模式,许多软件开发平台具有很多显著优势,包括优化产品基础架构,提升软件开发质量;减少编码率,提高开发效率,提升开发的灵活性;可以充分关注客户需求,实现按需定制;实现配置组件的标准化,提升产品稳定性和兼容性;提升企业开发能力,降低后期维护的时间和成本等,可以使开发者有更多时间关注客户需求,在项目的需求、设计、开发、测试、部署、维护等各个阶段均可提供强大的支持。这些都使得,软件开发平台在企业眼中成为非常给力的信息化工具。

但这并不是对软件开发平台的全面解读,因为软件开发平台的强大并不仅仅体现在技术上的先进,更在于让管理思想有效落地,实现管理与实践的完美结合。事实上,优秀的软件开发平台不仅仅是一种软件开发工具,而是融合了先进的管理思想,能有效地梳理各种业务流程的信息系统开发的方法论。而蕴含了管理智慧的软件开发平台既能实现跨平台、语言独立、松散耦合的异构应用的交互和集成,还能使应用系统更具易用性和可扩展性,进而消除信息化建设中常见的应用孤岛、数据孤岛、信息孤岛和流程孤岛,有效提升企业管理水平。

软件开发平台对管理思想的沉淀也是为了更好地顺应市场化要求。而今很多企业都面临着构架新型管理模式,进行资本结构优化,使资源得到优化配置的需求,也因此对信息化在管理水平上提出更高的要求。而单纯的信息技术是无法完成提升企业管理水平的重任,更不能达到帮助企业高速发展的目标。对信息化工具来说,让产品设计中蕴含更具实效的管理思想是产品技术研发与产品创新的核心,软件开发平台也是如此。

需求收集中的作用

需求收集真正的体现了需求的市场和用户驱动。访谈,调查表,头脑风暴,竞争对手和产品分析都是需求收集的方法。需求收集我们需要搞清楚用户真正的需求,问题背后的深层次问题,这样才可能为挖掘需求提供数据。需求收集的过程应该流程化,收集的需求应该分类入库的归档化。必须将需求收集活动看做为一个结构化的流程或过程,以真正的促进收集的过程和采集的数据的有效性。

收集的需求在论证分析中应该确定优先级,而优先级的确认应该引入价值工程,即我们应该认识到一个需求的重要性应该体现到它对产品价值的短期和长期的增值上面。要理解这个,就必须要考虑收集的需求是普遍需求还是特殊需求,是核心业务对应需求还是辅助业务对应需求,是使用频率高的需求还是偶尔使用的功能点需求。我们必须有清晰的头脑来分析用户急的是否就一定是优先级高的需求。

用户往往习惯了给我们提希望系统实现什么功能,这些需求往往是用户已经转换后的需求而不是原始需求。当用户遇到业务上的问题的时候他们往往假设了一种实现方式,如果在需求收集过程中错误的把问题的解当做需求,则我们就忽略掉了真正的原始需求。需求收集的重点应该在用户真正面临的问题域和问题场景的收集。需求收集人员的业务背景和经验往往对需求收集有效性有很大的影响。需求收集的访谈过程不是简单的听用户如何讲,而是需求我们去引导用户讲出他们真正面临的问题。通过我们积极的沟通让用户把他们真实的想法真正的表达出来。需求收集是整个软件产品开发的源头,是确定产品方向和定位的重要活动。需求收集活动出现大的误差将是方向性的重大错误。如果我们开发出来的产品不能真正满足用户的需要和得到用户的认可,那产品本身就不可能创造价值,及时这个产品有很好的质量,易用性和功能等,这个产品仍然是失败的。

需求分析中的自动工具按不同的方式可以归纳为两类:一类工具是为自动生成和维护系统的规格说明而设计的。这类工具主要利用图形记号进行分析,它们产生一些图示,辅助问题分解,维护系统的信息层次,并使用试探法来发现规格说明中的问题。更重要的是,这类工具能够对更新的信息进行分析,并跟踪新系统与已存在系统之间的连接。事实上,这种工具与其他多数自动需求工具的好处在于将“智能处理”应用到问题的规格说明中;另一类需求分析工具要用到一种特殊的以自动方式处理的表示法。用需求规格说明语言来描述需求,它是有关键字指示符与自然语言叙述组合而成。规格说明语言被一个处理器以产生需求规格说明,更重要的是产生一组有关规格说明的一致性和组织方面的诊断报告。

软件设计中的作用

结构化方法进行系统建模过程是管理信息系统开发的思想基础,UML建模语言和ROSE工具建模已成为面向对象设计的工业标准。采用结构化建模和UML建模方法,在系统架构设计及相关数据处理分析中进行应用系统的创建过程,是构建一可伸缩、高效、易维护和具有可重用性系统模型的有效措施。

经典的软件工程思想将软件开发分成5个阶段:需求分析系统分析与设计;系统实现测试及维护五个阶段.之所以如此,是因为软件开发中包含了物和人的因素,存在着很大的不确定性,这使得软件工程不可能像理想的,可以其于物理学等的原理来做的物质生产过程.3

如想建造一幢高档的写字楼,那么刚开始便将一切材料和工具全准备好显然是无比愚蠢的行为,因为有可能你正在使用他人的钱,而这些人将是建筑大小,开状和样式的决定者,通常情况下,投资方会在开工生改变想法,这样你必须有额外的计划.而对于整个工程,你也许只是其中的某一个工作组,因此,你需要有各种各样的图纸和模型同其他小组沟通,达到联合工作.很显然,在客户的需求与实际的建筑技术之间找好一个契合点,是做好工程的关键.许多软件工开发过程也如同上面例子一样,软件问题不仅仅是代码的问题,而成为了一个怎么样将整个过程转变成一个结构,过程和工具相结合的问题.建模,即其目的和作用在于提供系统蓝图,包含细节设计,也含有对系统的总体设计,同时模型可以帮助开发小组更好地规划系统设计,更快的开发.UML是一种功能强大的,面向对象的可视化系统分析的建模语言,它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠,更完善的系统模型.从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性.系统建模对软件开发过程相当重要,UML的扩展机制为应用系统的建模提供了必要的支持,.NET框架为系统开发提供了很好的解决方案。系统采用UML和ROSE技术建模和利用ADO.NET关键技术访问数据库有明显优势,使系统在分析阶段,就能严格把握软件的质量、提高软件的可能性,使系统在性能和功能上都具有可规模化和可靠性,能够形成大规模协同工作的软件系统群体。

代码设计中的作用

良好的代码设计风格,使程序代码易读、易懂、易修改,增加程序的可执行性和可维护性。

代码设计的原则包括惟一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。

确定性:一个对象可能有多个名称,也可按不同的方式对它进行描述。但在一个编码体系中,一个对象只能赋予它一个唯一的代码,反之一个代码只能唯一地标识一个对象。

标准化:代码结构应与相应的分类体系相对应。通用性:应留有充分的余地,以备将来不断扩充的需要。

在系统开发过程中:一,能否将原来不能度额定的东西,唯一地加以标识是编制代码的首要任务。二,唯一化虽是代码设计的首要任务,但如果我们仅仅为了唯一化来编制代码,那么代码编出来后可能是杂乱无章的,使人无法辨认,而且使用起来也不方便,所以我们在唯一化的前提下还要强调编码的规范化。三,系统所用代码应尽量标准化。

学习该课程的感想

软件开发特别是大型软件是一项浩大的工程,需要几个人、十几个人、几十个人甚至几百个人合作开发几个月、十几个月甚至几年。要保证系统的协调性、统一性和连续性,就需要在开发之前制定严格、详细的开发规范。开发规范的制定需要花费一定的时间和精力,但是“磨刀不误砍柴功”,它相当于把今后开发过程中开发人员都要遇到的问题提前做了一个考虑。有了开发规范,在后续的开发过程中,设计人员就不必每次考虑如何为一个字段命名,编程人员也不必去想某个程序的结构和布局应当 怎样,测试人员也有了判断程序对错的标准。开发规范在项目开发工作中起着事前约定的作用,需要所有开发人员共同遵守。它约束开发人员的行为和设计、编程风格,使不同子系统和模块的设计、编程人员达成默契,以便形成整个系统的和谐步调和统一风格,也便于今后的系统维护和扩展工作。

结束语

通过这学期的学习,使我们对软件开发平台与工具有了更深入的了解。小组分工式的作业给我们提供了很好的交流学习氛围,让大家能够在交流中学习,在学习中互相了解。但由于自己的水平和经验不足,还存在着一定的问题。还要继续努力,争取获得更大成绩。

第3篇:先进制造技术试题

一.先进制造技术的定义与内涵:先进制造技术是制造业不断吸收信息技术及现代化管理等方面的成果,并将其综合应用于产品设计.制造.检测.管理.销售.使用.服务乃至回收的制造全过程.已实现优质.高效.低耗.清洁.灵活生产.提高对动态多变的产品市场的适应能力和竞争能力的制造技术的总称.体系结构:主体技术群,制程技术群制造基础设施环境 二.先进制造技术的特点.1.先进制造技术已实现优质高效低耗清洁灵活生产.提高产品对动态多变的市场的适应能力和竞争力为目标

2.先进制造技术不局限于制造工艺,而是覆盖了市场分析.产品设计.加工和装配.销售.维修.服务以及回收再生的全过程.3.强调技术.人.管理和信息的四维集成,不仅设计无滞留和能量流,还涉及信息流和知识流,即四位集成和四维交汇是先进制造技术的重要特点

4.先进制造

未完,继续阅读 >

第4篇:读书笔记《信息处理技术与工具》

《信息处理技术与工具》

姓名:朱明薪

学号:10411037

第12章 信息处理概述

12.1信息处理基础知识

12.1.1信息的概述:信息是客观世界各种事物变化和特征的反映。1

2。信息是知识;

3信息是对数据的解释。信息是经过加工以后、并对客观世界产生影响的数据。12.1.2 信息处理及其全过程

1为了保证收集的质量:准确性原则、全面性原则、实效性原则。

2信息收集方法:社会调查、建立情报网、战略性情报的开发、从文献中获取信息。

3.信息分类:用途分类:决策信息、预测信息、统计信息、行政信息、控制信息、反馈信息、销售信息、计划信息、管理信息、经济信息。

3.信息加工

(1)信息加工的概念:是将收集到的信息按照一定的程序和方法进行分类、分析、整理、编制等,时期具有可用性,信息加工时信息得以利用的关键。

(2)信息加工

未完,继续阅读 >

第5篇:计算机软件开发技术与应用

计算机软件开发技术与应用

“软件开发技术与应用”以软件工程的原理和方法组织教学,以一个应用软件开发实 例贯穿于全书,让学生在课程学习和实验的过程中,既掌握应用软件开发的原理和技术,同时熟悉一个管理类应用系统开发过程,提高学生软件开发的实际应用能力。

课程内容:

(一)数据结构

1、数据结构概述

2、线性表

3、树与二叉树4、查找与排序

(二)操作系统1、操作系统概述2、进程及处理机管理3、存储管理,设备管理,文件管理,作业管理

(三)软件开发技术与应用1、绪论⑴ 软件开发技术的演变 ⑵ 软件工程范型⑶ 软件设计基础2、软件需求分析⑴ 软件需求分析的任务和步骤⑵ 软件需求分析的方法2、软件需求分析⑴ 软件需求分析的任务和步骤⑵ 软件需求分析的方法⑶ 结构化分析 ⑷ 面向对象分析方法3、软件设计方法⑴ 软件设计的

未完,继续阅读 >

第6篇:技术工具学习心得

技术工具学习心得

随着计算机、多媒体、现代通讯网络为代表的信息技术的迅猛发展,信息技术已经渗透到了教育领域,在教育领域中引起了一场深刻的变化。信息技术工具在教育领域的应用,对于转变信息教育观念,促进教育模式,教学内容,教学方法和教学手段的改革,对于推进中,全面提高教育质量和效益重要的意义。

通过这学期的网上研修学习,使我进一步了解了信息技术这一门科目。在各个工作领域中,每个职业都离不开信息技术。教会学生学习,对于知识更新快,实践性强的信息技术课来说,是最佳的教学策略。根据教学实践,我认为信息技术课学法指导应着重这几方面:

培养学生对信息技术的兴趣,学习的动力主要来自兴趣,有了兴趣学生学习主动性就高,学习效果也就会更好。要激发学生兴趣,首先要了解学生的对信息技术课的期望,在此基础上教师要根据学习内容

未完,继续阅读 >

下载《先进软件开发技术与工具》试题word格式文档
下载《先进软件开发技术与工具》试题.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

相关专题
热门文章
点击下载本文