软件开发实习生-转码平台-笔试

时间:2019-05-13 13:06:01下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件开发实习生-转码平台-笔试》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件开发实习生-转码平台-笔试》。

第一篇:软件开发实习生-转码平台-笔试

1.操作系统采用时间片轮转策略调度进程,是为了___a____。

A.多个进程都能得到系统的及时响应

B.最先调度优先级较高的进程

C.最先调度占用CPU时间短的进程

D.最先调度占用IO时间短的进程

2.导致操作系统出现死锁的原因不包括___a___。

A.系统中产生了资源依赖的环形链

B.当进程因请求资源而阻塞时,不释放本身已经获取的资源

C.对于一个进程占有的资源,在其未主动释放前,不能强制剥夺

D.同一时间内,资源能被不同进程共享

3.观察下面的三角形。给出第10行的序列之和:___19683_____1 12 3 2 13 6 7 6 3 14 10 16 19 16 10 4 1

4.一个平面内,被任意条直线划分而成的区域,最少用____c__种颜色着色,使得相邻的区域颜色不同。

A.1B.2C.3D.45.一棵具有30个结点的二叉树,其空指针的数目为:_____31_

6.快速排序平均时间复杂度是__O(n*log2n)____,平均空间复杂度是__O(log2n)___.最差情况的时间复杂度是__O(n2)____,最差情况的空间复杂度是____O(log2n)__.7.下面函数的平均时间复杂度为:___O(1)______

int f(unsigned int n){

if(n<=0)return 0;

if(n==1)return 1;

return3*f(n-1)-4*f(n-2);

}

8.某规则二叉树的定义是:对于树中任意两个叶结点A、B, 它们与根节点的距离分别为da、db,|da-db|<=1。请写出函数bool isRuledTree(Node * root)的代码实现。如果该二叉树为规则树,则返回true;否则返回false。

9.假设有两台通过网络互联的电脑A、B,A需要将自己的一棵二叉树结构传输到B。请设计一种编码、解码方法(不要求代码实现)。二叉树结点结构如下 struct Node{

struct Node * left;

struct Node* right;

charvalue;}

10.在一个大文件中有100亿个32位整数,乱序排列,要求找出中位数。内存限制为512M。写出算法设计思路,并分析时间复杂度。

答:第一步:把10G整数每2G读入一次内存,然后一次遍历这536,870,912个数据。每个数据用位运算“>>”取出最高8位(31-24)。这8bits(0-255)最多表示255个桶,那么可以根据8bit的值来确定丢入第几个桶。最后把每个桶写入一个磁盘文件中,同时在内存中统计每个桶内数据的数量,自然这个数量只需要255个整形空间即可。

第二步:根据内存中255个桶内的数量,计算中位数在第几个桶中。很显然,2,684,354,560个数中位数是第1,342,177,280个。假设前127个桶的数据量相加,发现少于1,342,177,280,把第128个桶数据量加上,大于1,342,177,280。说明,中位数必在磁盘的第128个桶中。而且在这个桶的第1,342,177,280-N(0-127)个数位上。N(0-127)表示前127个桶的数据量之和。然后把第128个文件中的整数读入内存。(平均而言,每个文件的大小估计在10G/128=80M左右,当然也不一定,但是超过2G的可能性很小)。

第三步:继续以内存中的整数的次高8bit进行桶排序(23-16)。过程和第一步相同,也是255个桶。

第四步:一直下去,直到最低字节(7-0bit)的桶排序结束。我相信这个时候完全可以在内存中使用一次快排就可以了。

整个过程的时间复杂度在O(n)的线性级别上(没有任何循环嵌套)。但主要时间消耗在第一步的第二次内存-磁盘数据交换上,即10G数据分255个文件写回磁盘上。一般而言,如果第二步过后,内存可以容纳下存在中位数的某一个文件的话,直接快排就可以了。

第二篇:Java软件开发工程师笔试

软件开发工程师(JAVA)笔试题

请在120分钟以内做答

一、选择题

1、下面哪项是不合法的标识符:()

A.$persons B.TwoUsers C.*point D._endline E.final 美元符 下划线 字母 数字 不能以数字开头 不能是关键字

2、下列运算符合法的是()

A.&& B.<> C.if D.:= 算术 逻辑 关系 赋值 位

3、下面描述中哪两项相等:()[选择两项] A.<%= YoshiBean.size%> B.<%= YoshiBean.getSize()%> C.<%= YoshiBean.getProperty(“size”)%>

D. E. F. G. 金属片动作标签的使用:

<jsp:useBean id=“test” class=“hall.SimpleBean” />

<jsp:setProperty name=“test” property=“message” value=“Hello www.xiexiebang.compilation fails C.An exception is thrown at runtime ? ? ? ? ?

18、阅读下面的程序

1.public class Outer { 2.public void someOuterMethod(){ 3.//Line3 4.} 5.public class Inner(){} 6.public static void main(String[] args){ 7.Outer o = new Outer();8.//Line8 9.} 10.} Which instantiates is an instance of Inner?()

A.new Inner();// At line3 B.new Inner();// At line 8 C.new o.Inner();// At line 8 C.new Outer.inner();// At line 8

19、选出能正确赋值的: public class TestA { private int a;public int change(int m){ + return m;} } public class TestB extend TestA{ public int b;public static void main(){ TestA aa = new TestA();TestB bb = new TestB();int k;// Line 13 } } 在Line13处可以正确赋值的有:()

A.k= m;B.k=b;C.k=aa.a;D.k=bb.change(30);E.k=bb.a 静态 main方法中不能调用非静态类属性

对于私有属性,在类外打点无法调用,可以通过公共的方法访问。20、已知如下代码: switch(m){

case 0: System.out.println(”Condition 0“);case 1: System.out.println(”Condition 1“);case 2: System.out.println(”Condition 2“);case 3: System.out.println(”Condition 3“);break;default: System.out.println(”Other Condition“);} 当 m 的值为什么时输出 ”Condition 2“?()A.0 B.1 C.2 D.3 E.4 F.None

21、给出程序段

public class Parent { public int addValue(int a,int b){ int s;s=a+b;return s;} } class Child extends Parent{}

可以加在Child类的方法有:()A.int addValue(int a,int b){} B.public void addValue(int a,int b){} C.public int addValue(int a){} D.public int addValue(int a,int b){} 方法名 参数类表 返回类型相同是重写 控制符 和 异常不合法是不标准的重写

22、下述哪些说法是正确的?()A.实例变量是类的成员变量

B.实例变量是用static关键字声明的 C.方法变量在方法执行时创建 D.方法变量在使用之前必须初始化 ????????

23、对于下列代码: public class Sample{ long length;public Sample(long l){ length = l;} public static void main(String arg[]){ Sample s1, s2, s3;s1 = new Sample(21L);s2 = new Sample(21L);s3 = s2;long m = 21L;} } 下列哪些表达式返回值为'true'?()A.s1 = = s2;B.s2 = = s3;C.m = = s1;D.s1.equals(m)

????????????

24、哪个类可用于处理 Unicode? A.InputStreamReader B.BufferedReader C.Writer D.PipedInputStream

25、已知如下说明: TextArea ta = new TextArea(”Hello“, 5, 5);请问哪个语句是正确的?()A.The maximum number of characters in a line is 5.B.The displayed height is 5 lines otherwise constrain.C.The displayed string can use multiple fonts.D.The displayed strings are editable.26、当 Frame 改变大小时,放在其中的按钮大小不变,则使用如下哪个 layout?()A.FlowLayout B.CardLayout C.North and South of BorderLayout D.East and West of BorderLayout E.GridLayout

27、已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的?()A.args[0] = ”MyTest a b c“ B.args[0] = ”MyTest“ C.args[0] = ”a“ D.args[1]= ”b“

28、下面哪个语句是创建数组的正确语句?()A.float f[][] = new float[6][6];B.float []f[] = new float[6][6];C.float f[][] = new float[][6];D.float [][]f = new float[6][6];E.float [][]f = new float[6][];

29、下面叙述那些是正确的?()A:java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。但需要事先知道所存储对象的类型,才能正常使用。

B:在java中,我们可以用违例(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要更大的系统开销。C:java接口包含函数声明和变量声明。

D:java中,子类不可以访问父类的私有成员和受保护的成员。30、以下关于数据库范式的描述,哪些是错误的()

A.如果把多个数据项用一个大的 String 表示为一个字段,则不满足第一范式 B.满足数据库范式使得数据库的效率更高

C.如果满足更高的范式,则必须首先满足低级别的范式

D.数据库第二范式要求把表中与所有键没有直接关系的数据全部拆分到其他表中

31、在Hibernate中,元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?()A.none B.save C.delete D.save-update

32、以下程序代码对Customer的name属性修改了两次: tx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class, new Long(1));customer.setName(”Jack“);customer.setName(”Mike“);tx.commit();执行以上程序,Hibernate需要向数据库提交几条update语句?()A.0 B.1 C.2 D.3

33、假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况?()

Session session=sessionFactory.openSession();tx = session.beginTransaction();Customer customer=(Customer)session.get(Customer.class,new Long(1));tx.commit();session.close();Iterator orderIterator=customer.getOrders().iterator();A.编译出错 B.编译通过,并正常运行 C.编译通过,但运行时抛出异常

34、设栈最大长度为 3,入栈序列为 1,2,3,4,5,6,则不可能得出栈序列是()

A.1,2,3,4,5,6 B.2,1,3,4,5,6 C.3,4,2,1,5,6 D.4,3,2,1,5,6

35、在 UML 方法中,使用多种类型的图形来帮助进行设计,请问一下那些图形不是 UML 的图形类型()

A.类图 B.实体关系图 C.序列图 D.活动图

二、问答题

1、阅读下面的代码 interface Playable { void play();} interface Bounceable { void play();} interface Rollable extends Playable, Bounceable { Ball ball = new Ball(”PingPang“);} class Ball implements Rollable { private String name;public String getName(){ return name;} public Ball(String name){ this.name = name;} public void play(){ ball = new Ball(”Football“);System.out.println(ball.getName());} } 上面代码是否有错,如果有错,错误在何处?

2、详细解释下面的语句: Class.class.getClass()Class与class都继承自Object,class实体来代表java运行时的class和interface等等,Class.class就是得到或者生成这个Class类的Class Object; 而.getClass()本就是返回一个类对应的Class Object,所以Class.class.getClass()最后还是返回Class Object

3、解释一下什么是MVC,IOC,AOP,ORM,JNDI,,Hibernate,SSO、Portal?

4、什么是EJB?EJB和JAVA BEAN有何区别?

5、现有Mysql数据库,写Spring + Hibernate的配置文件 数据IP:127.0.0.1 数据库:bdtc 用户名:root 密码:mysql

6、请简要描述一下J2EE应用中的class loader的层次结构?

7、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”而不是“我ABC+汉的半个”。class SplitString{ private String str = ”“;//字符串

private int copyNum = 0;//要复制的字节数

private String arrStr[];//存放将字符串拆分成的字符数组

private int cutNum = 0;//已截取的字节数

private int cc = 0;//str中的中文字符数

public SplitString(String str,int copyNum){ this.str = str;this.copyNum = copyNum;} public String CopyStr(){ arrStr = str.split(”“);//将传的字符串拆分为字符数组

str = ”“;// 清空,用于存放已截取的字符

for(int i = 0;i < arrStr.length;i++){ if(arrStr[i].getBytes().length == 1){ // 非汉字

cutNum = cutNum + 1;str = str + arrStr[i];} else if(arrStr[i].getBytes().length == 2){ //汉字

cc = cc + 1;cutNum = cutNum + 2;str = str + arrStr[i];} if(cutNum >= copyNum)break;//已截取的字符数大于或等于要截取的字符数 } if(cutNum > copyNum){ //已截取的字符数大于要截取的字符数

return str.substring(0, copyNum-cc);} else { return str;} }

public static void main(String args[]){ SplitString cp = new SplitString(”as论者afs为什么",9);System.out.println(cp.CopyStr());} }

8、XML 的解析技术有哪些?区别是什么?你在项目中用到了xml技术的哪些方面?如何实现的? DOM,SAX,STAX等

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问

SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问

STAX:Streaming API for XML(StAX)

9、写一段代码,实现银行转帐功能: 接口定义如下:

Public interface ITransfer{ /** * 银行内部转帐,从转出帐号中扣除转帐金额,给转入帐号增加转帐金额,需要保证以上两个操作

* 要么同时成功,要么同时失败 * fromAccountId 转出帐号 * outAccountId 转入帐号 * amount 转帐金额 **/

Public void transferInner(String fromAccountId,String outAccountId, BigDecimal amount);/** * 外部转帐-转出,从转出帐号中扣除转帐金额 * fromAccountId 转出帐号 * amount 转帐金额 **/ Public void transferOut(String fromAccountId,BigDecimal amount);/** * 外部转帐-转入,给转入帐号增加转帐金额 * toAccountId 转入帐号 * amount 转帐金额

Public void transerIn(String toAccountId, BigDecimal amount);} 请编写你的实现类,来实现上述接口

第三篇:软件开发平台公司保密协议

保密协议书

甲方: 法定代表人:

注册地址: 联系电话:

乙方人员:

鉴于:

1、甲方在日常经营程中所涉及和接触的有关信息、数据、资料、技术及成果性文件等均属甲方商业秘密(包括甲方涉及相关公司及其关联方、甲方客户,下同)。且甲方目前正在研发及计划中的项目(以下简称“项目”),与项目相关的商业秘密信息一旦泄露或被不当利用,将给甲方造成巨大损失。

2、乙方为甲方的参与项目人员与涉及项目的相关人员,在甲方处工作期间或从其他渠道已经或将要知悉甲方的商业秘密。

3、甲乙双方认可,乙方作为甲方公司的员工或涉及项目的相关人员,除应履行一般的保密义务外,就该项目所涉的任何商业秘密,乙方应均予以严格保密。

为了保护甲方的正当合法权益,根据国家有关法律法规,本着平等、自愿、公平、诚信的原则,就乙方工作期间对甲方应承担的保密义务,经甲乙双方充分协商一致后,共同订立本协议,以资信守:

一、保密范围和内容

甲乙双方确认,乙方在甲方处工作期间,对甲方的如下商业秘密(包括但不限于)应承担保密义务:

1、甲方商业运作模式;

2、甲方系统业务规则和规章制度与流程;

3、甲方系统业务数据;

4、甲方系统财务数据;

5、甲方客户信息数据;

6、与项目相关的一切信息,包括但不限于:项目设计方案、实施方案、实施计划、甲方决策、数据库、技术文档、系统程序、源代码、图纸等;

7、乙方工作或参与项目期间,因工作关系而获得、交换的保密性信息以及其他一切与甲方有关的信息。

二、乙方保密义务

1、不得刺探与本职工作或本身业务无关的甲方商业秘密;不得向任何第三人披露甲方的商业秘密;

2、不得利用软件技术优势,为甲方系统植入木马,隐藏后门等非法手段,影响甲方软件系统的正常使用和安全性,造成损失的,一经发现,甲方有权向乙方要求经济赔偿和提起法律诉讼;

3、不得使任何第三人(包括甲方单位内部员工)获得、使用或计划使用甲方商业秘密信息,即除了得到甲方单位书面指示外,不得直接或间接向单位内部、外部的人员泄露甲方商业秘密信息;

4、项目完成/终止后或甲方与乙方的劳动合同终止或解除后,乙方应继续履行本协议,保守其已经知悉的甲方的商业秘密,否则甲方将依法追究乙方和获知甲方商业秘密第三方的全部法律责任;

5、不得以明示或默示、作为或不作为的方式允许或协助任何第三人获取、使用甲方商业秘密信息;

6、不得为自己利益使用或计划使用甲方的商业秘密;在甲方处工作或参与项目期间,不得从事与其竞争的其他同类产品的合作;

7、非工作之必须,不得复制、摘录、拷贝或擅自向外携带包含甲方单位商业秘密内容的文件、信函、磁盘、光盘、移动硬盘或U盘等;

8、因工作需要保管、接触的有关文件应妥善保存,未经许可不得超出工作范围使用,如发现商业秘密被泄露或因自己过失泄露的,应采取有效措施防止泄密进一步扩大,并及时向甲方报告;

9、乙方在职期间或参与项目,不得擅自实施可能侵犯第三方知识产权的行为,若因乙方行为导致甲方遭受第三方的侵权指控时,甲方因此而承担侵权赔偿责任的,有权向乙方追偿。

10、在商业秘密的个别部分或个别要素已被公知,但尚未使商业秘密的其他部分或整体成为公众知晓,以致商业秘密没有完全丧失价值的情况下,乙方应承担仍属秘密信息部分的保密义务,不得使用该部分信息或诱导第三人通过收集公开信息以整理出甲方的商业秘密。

11、本保密协议不免除乙方与甲方签订的其他保密协议约定的保密义务。

三、职务成果知识产权归属

双方确认,乙方在甲方工作或参与项目期间,因履行职务或者主要是利用甲方的物质技术条件、业务信息等产生的发明创造、作品、软件、技术秘密或其他商业秘密信息,有关的知识产权均属于甲方所有。甲方可以在其业务范围内充分自由地利用这些发明创造、作品、软件、技术秘密或其他商业秘密信息,进行生产、经营或者向第三方转让。乙方应当依甲方的要求,提供一切必要的信息和采取一切必要的行动,包括申请、注册、登记等,协助乙方取得和行使有关的知识产权。

乙方享有有关的发明权、署名权(依照法律规定应由甲方署名的除外)等民事权利或精神权利。

四、保密期限

甲乙双方确认,乙方的保密义务自乙方参与该项目或接触、知悉甲方商业秘密之日(二者以在先者为准)起开始,至上述商业秘密依法公开或被公众知悉时止。

乙方的保密义务并不因该项目完成/终止或甲方与乙方的劳动合同终止或解除而免除。

五、违约责任

1.在甲方处工作或参与项目期间,乙方违反此协议,虽未造成甲方、甲方关联单位及甲方客户经济、利益、声誉等各种损失,但给甲方正常经营活动带来不便的,甲方有权将乙方调离项目,并根据规章制度予以处罚;情节严重的,甲方有权无条件解除与乙方的劳动合同关系;

2.在甲方处工作或参与该项目期间,乙方违反此协议,造成甲方、甲方关联单位及甲方客户经济、利益、声誉等损失的,甲方有权要求乙方赔偿甲方相应的损失并无条件与乙方解除劳动合同关系;构成犯罪的,甲方将上报相关部门,依法追究乙方刑事责任;

3.项目完成/终止后或甲方与乙方的劳动合同终止或解除,乙方违反本协议,甲方仍有权依法追究乙方全部的赔偿责任。

六、争议解决

1、甲、乙双方在履行本协议过程中发生争议,应先行协商解决,如协商不成时,由甲方住所地人民法院管辖。

2、争议发生后,在对争议进行诉讼时,除争议事项外,双方应继续行使各自在本协议项下的其他权利,并应继续履行各自在本协议项下的其他义务。

七、其它

1、本协议未尽事宜,由甲乙双方另行协商一致,并签署书面文件,与本协议具有同等效力。本协议签订后,经双方当事人协商一致,可以对本协议有关条款进行变更或者补充,但应当以书面形式确认。上述文件一经签署,即具有法律效力并成为本协议的有效组成部分。

2、甲乙双方在签署或履行协议过程中具有实际权利义务内容的补充文件、通知、声明、信函、备忘录、会议纪要等均是本协议的附件。本协议附件为本协议的有效组成部分,与本协议具有同等效力。

3、本协议自甲乙双方签字或者盖章之日起生效。

4、本协议一式二份,甲乙双方各执一份,具有同等法律效力。

甲方(盖章)乙方人员(签字):

授权委托人 :

年 月 日 年 月 日

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

软件开发平台与工具

0 综述

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

背景知识

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

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

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

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

需求收集中的作用

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

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

用户往往习惯了给我们提希望系统实现什么功能,这些需求往往是用户已经转换后的需求而不是原始需求。当用户遇到业务上的问题的时候他们往往假设了一种实现方式,如果在需求收集过程中错误的把问题的解当做需求,则我们就忽略掉了真正的原始需求。需求收集的重点应该在用户真正面临的问题域和问题场景的收集。

需求收集人员的业务背景和经验往往对需求收集有效性有很大的影响。需求收集的访谈过程不是简单的听用户如何讲,而是需求我们去引导用户讲出他们真正面临的问题。通过我们积极的沟通让用户把他们真实的想法真正的表达出来。需求收集是整个软件产品开发的源头,是确定产品方向和定位的重要活动。需求收集活动出现大的误差将是方向性的重大错误。如果我们开发出来的产品不能真正满足用户的需要和得到用户的认可,那产品本身就不可能创造价值,及时这个产品有很好的质量,易用性和功能等,这个产品仍然是失败的。

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

软件设计中的作用

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

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

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

代码设计中的作用

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

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

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

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

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

学习该课程的感想

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

结束语

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

第五篇:软件开发实习生毕业实习报告

软件开发实习生毕业实习报告

院:物理与信息工程

业:物联网工程

名:陈xx

号:

11XX02

实习单位:xxxx时代教育科技有限公司

实习时间:XX.7.13-XX.9.26

实习单位(全称)

xxxx时代教育科技有限公司

邮编

xx

实习单位地址

xx

电话

xx

实习单位指导

教师姓名

邱xx

邮箱

xx

联系电话

xx

实习岗位

c++软件开发实习生

实习内容

xxxx时代教育科技有限公司是xx集团旗下的一家子公司。主要从事教育行业的子公司,特别是中高职物联网教育这一块。公司位于福建省福州市马尾区儒江西路1号xx科技园区。公司内部工作氛围好工作相对轻松。我在公司的岗位是c++软件开发实习生。主要完成公司中一些关于c++软件的开发与程序的完善修改的工作。由于我所属的开发部没有专门的c++软件工程师,所以经理让产品部的工程师作为我的导师,这让我的工作难度大于其他的实习生。在公司期间我搭建了“智慧城市”物联网系统、嵌入式冷链系统的修改,以及帮助修改51驱动和newlab51部分书籍的排版。

1、“智慧城市”物联网系统。主要是测试的工作,目的测试这套系统功能的完整性。结果我们顺利地搭建好了这套实验设备,并完成了功能的测试。我感觉自己完成的很好,挺开心的。

2、嵌入式冷链系统的修改完善。要求:

1、了解这套系统;

2、学会neat和microsoftvisualstudio的开发环境的搭建和开发;

3、对嵌入式冷链系统程序的烧写;

5、对嵌入式冷链系统进行修改;

5、按照不同要求进行功能的完善。完成情况:我完成了前面4项,最后的功能完善是由其他同事进行的。对这套陌生的系统进行修改完善对我来说有一定的难度,他不但要求我要了解硬件,还要熟练的c++编程技术并且还要学会xx自己开发的neat开发平台涉及的知识面很广不过我还是很开心自己能完成这么多,但是我明白我不过努力不然自己一定可以完成这套系统的所有工作的。

3、以及帮助修改51驱动和newlab51部分书籍的排版。排版由我完成,但是驱动部分我只测试修改了一部分,另外的交接给新同事做了。

自我评价

总体上前期中期的表现还不错,但是自己还可以更加努力的工作把事情做得更好。后期由于学校事务,参加招聘会等事和公司外聘的编书老师那边协调不好,最终没把握好时间问题,这是自己在未来工作中要非常主义的一点。

实习过程

第一周:XX.7.13-XX.7.17

任务要求:1.neat开发平台的搭建

2.熟悉嵌入式冷链系统

任务进度:1.完成对neat开发平台的搭建

2.完成熟悉嵌入式冷链系统

出勤情况:全勤

第二周:XX.7.20-XX.7.24

任务要求:1.搭建“智慧城市”物联网系统

2.烧写嵌入式冷链系统

任务进度:1.完成搭建“智慧城市”物联网系统

2.未成烧写嵌入式冷链系统

出勤情况:全勤

第三周:XX.7.27-XX.7.31

任务要求:1.熟悉linux系统

2.烧写嵌入式冷链系统

任务进度:1.完成熟悉linux系统

2.完成烧写嵌入式冷链系统

出勤情况:全勤

第四周:XX.8.3-XX.8.7

任务要求:1.学习neat编程和巩固c++基础知识

任务进度:1.完成学习neat编程和巩固c++基础知识

出勤情况:全勤

第五周:XX.8.10-XX.8.14

任务要求:1.学习neat编程和巩固c++基础知识

2、修改嵌入式冷链系统

任务进度:1.学习neat编程和巩固c++基础知识

2.完成修改嵌入式冷链系统

出勤情况:全勤

第六周:XX.8.17-XX.8.21

任务要求:1.修改嵌入式冷链系统

任务进度:1.完成修改嵌入式冷链系统50%

出勤情况:请假1天

第七周:XX.8.24-XX.8.28

任务要求:1.修改嵌入式冷链系统

任务进度:1.完成修改嵌入式冷链系统80%

出勤情况:请假2天

第八周:XX.8.31-XX.9.4

任务要求:1.修改嵌入式冷链系统

任务进度:1.完成修改嵌入式冷链系统

出勤情况:请假2天

第九周:XX.9.7-XX.9.11

任务要求:1.掌握newlab系统的使用

2.完成51单片机实验

任务进度:1.完成掌握newlab系统的使用

2.完成51单片机实验10%

出钱情况:全勤

第十周:XX.9.14-XX.9.18

任务要求:1.排版51单片机实验手册

2、完成51单片机实验

任务进度:1.排版51单片机实验手册30%

2.完成51单片机实验30%

出勤情况:请假1天

第十一周:XX.8.20-XX.9.25

任务要求:1.排版51单片机实验手册60%

2、完成51单片机实验

任务进度:1.排版51单片机实验手册60%

2.完成51单片机实验60%

出勤情况:请假1天

实习中存在的问题

实习中存在的主要问题:主要是接触的东西是比较陌生的,许多知识网上没有都需要请教导师等人,而导师相对比较忙,一直不怎么有空,对我这一块的东西了解也是半桶水。我问问题的人太多大家给的信息量大且乱我没有很好地分清及时的分清信息的正误,做好规划导致最后的进度偏慢。

实习总结

每件事的规划很重要,导师虽然忙但我们作为学生要积极抓导师空余时间与导师沟通,谦虚好学这样才能最好最快的完成任务。

下载软件开发实习生-转码平台-笔试word格式文档
下载软件开发实习生-转码平台-笔试.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


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

相关范文推荐

    2013NOKIA实习生笔试经验

    2013NOKIA实习生笔试经验(硬件类) 笔试时间:2013年5月25日 地点:北京邮电大学第三教学楼 笔试主要分为两部分,所有题目均为单项选择,每道题选项为3~5个不等,总共55道题左右。两套题......

    软件开发工程师笔试试题-应届毕业生[5篇模版]

    天音通信软件开发工程师岗位笔试试题1、 面向对象的思想主要包括什么? 封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。 继承:子类拥有......

    基于Android平台软件开发技术研究论文(精选5篇)

    在科技持续发展的浪潮下,移动式操作系统应运而生,移动终端传统定位发生了质的变化,移动终端已成为移动网络业务方面的核心平台以及应用载体,有利于移动互联网产业持续发展。就An......

    软件开发管理平台设计分析论文

    摘要:就软件开发管理平台进行了多元化的分析和设计,并根据相关技术和基本框架分别进行了探讨,希望在软件开发建设方面可以提供一定的借鉴和指导作用。关键词:软件开发管理平台;多......

    基于微信平台的软件开发可行性分析报告

    1.引言 1.1项目背景 随着人们物质质量的提高和对信息需求增强,特别是对移动端信息获取的需求。各类手 机APP应运而生,在众多APP中,微信应该是取得最大成功的一个APP了。从2010......

    JAVA BS软件开发工程师招聘试题(实习生)答案

    JAVA BS软件开发工程师招聘试题答案 一、单选题(共9题,每题2分) 1. C 2. D 3. D 4. A 5. D 6. 7. 8. 9. D D B A 10. C 二、简答题(共21题,1、2题每题3分,其余每题4分) 1. 答: long......

    档案信息资源平台软件开发项目招标书(精)(五篇范例)

    档案信息资源平台软件开发项目招标书 (JDBS 07-32 根据学校领导“数字档案馆建设要强调开放信息对外服务平台建设”的指示要求,为了实现档案信息资源及时、便捷的为学校中心......

    【招标公告】出租汽车监管平台软件开发项目公开招标公告五篇范文

    【招标公告】出租汽车监管平台软件开发项目公开招标公告 安徽顺风工程咨询有限公司受滁州市公路运输管理处的委托,现对出租汽车监管平台软件开发项目进行公开招标,欢迎具备条......