軟件工程專業(yè)見習報告_第1頁
軟件工程專業(yè)見習報告_第2頁
軟件工程專業(yè)見習報告_第3頁
軟件工程專業(yè)見習報告_第4頁
軟件工程專業(yè)見習報告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2014級軟件工程專業(yè)專業(yè)見習報告姓名: 班級: 學號: 執(zhí)行學期: 成績評定:優(yōu) 良 中 及格 不及格 任課教師:2015年7月3日專業(yè)見習報告班級 姓名 學號 一、見習目的為了今后的工作需要,為了接觸廣闊的社會,豐富我們的知識和人生閱歷,去與我們專業(yè)相關的工作場所見習是一個很好的辦法。馬克思主義唯物辯證法的一個最為顯著的特點就是強調物的實踐性。這次見習的主要目的是使我們對本專業(yè)密切相關的一些工作做進一步的了解。二、見習要求 在課堂上我們學到的一般都是純理論的知識點,所以,借此機會,我們要把所學的知識理論和在學習過程中所遇到的有關專業(yè)方面的疑難點與此次較為寶貴的見習實踐相結合,真正做到學以致

2、用,并要在實際見習實踐中充分對軟件工程這個專業(yè)有進一步的認識和了解。此外,個人希望能通過此次見習活動對自己的未來職業(yè)有一個初步的認識和了解。三、見習過程和內容 見習地點:南京東軟實訓基地 見習內容:工作人員向我們介紹了東軟公司的發(fā)展歷程、主營業(yè)務、業(yè)務范圍、各分基地的大致情況及主要經辦過的工程。經過一天的學習,我們大致了解了企業(yè)里的一些運營模式,之后我們一起參觀了企業(yè)里的一些公司,對于一些員工的工作分工做到了能說出一二來。我們上了一周的java企業(yè)課程培訓,主要目的是讓我們更加理解企業(yè)里的一些具體工作案例,以便于我們更快的了解企業(yè)運行,而我們目前是大一下半學期,還有近兩年的時間來完善自身,為我

3、們將來的工作實習打下堅實的基礎。通過講解。我們知道了一些java的基本情況:1.平臺無關性平臺無關性是指Java能運行于不同的平臺。Java引進虛擬機 原理,并運行于虛擬機,實現(xiàn)不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內共享。Java的數(shù)據(jù)類型與 機器無關,Java虛擬機(Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實現(xiàn)Java二進制代碼的解釋執(zhí)行功能, 提供于不同平臺的接口的。2.安全性Java的編程類似C+,學習過C+的讀者將很快掌握Java的精髓。Java舍棄了C+的指針對存儲器地址的直接操作,程序運行時,內存由操作系統(tǒng)分配,這樣可以避免病

4、毒通過指針侵入系統(tǒng)。Java對程序提供了安全管理器,防止程序的非法訪問。3.面向對象Java吸取了C+面向對象的概念,將數(shù)據(jù)封裝于類中,利用類的優(yōu)點,實現(xiàn)了程序的簡潔性和便于維護性。類的封裝性、繼承性等有關對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復利用。程序員只需把主要精力用在類和接口的設計和應用上。Java提供了眾多的一般對象的類,通過繼承即可使用父類的方法。在Java中,類的繼承關系是單一的非多重的,一個子類只有一個父類,子類的父類又有一個父類。Java提供的Object類及其子類的繼承關系如同一棵倒立的樹形,根類為Object類,Object類功能強大,經常會使用到它及其它

5、派生的子類。4.分布式Java建立在擴展TCP/IP網絡平臺上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網絡上的文件和使用本機文件一樣容易。5.健壯性Java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。Java自己操縱內存減少了內存出錯的可能性。Java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大提高了開發(fā)Java應用程序的周期。并且Java還提供了Null指針檢測、數(shù)組邊界檢測、異常出口、Byte code校驗等功能。6.解釋型我們知道C,C+等語言,都是針對CPU芯片進行編譯,生成機器代碼,該代碼的運行就和特定的C

6、PU有關。Java不像C或C+,它不針對CPU芯片進行編譯,而是把程序編譯成稱為自字節(jié)碼的一種“中間代碼”。字節(jié)碼是很接近機器碼的文件,可以在提供了java虛擬機(JVM)的任何系統(tǒng)上被解釋執(zhí)行。7.動態(tài)java程序的基本組成單元就是類,有些類是自己編寫的,有些是從類庫中引入的,而類又是運行時動態(tài)裝載的,這就使得Java可以在分部環(huán)境中動態(tài)的維護程序及分類,而不像C+那樣,沒檔期類庫升級以后,如果想讓程序具有新類庫提供的功能,就需要修改程序,重新編譯。Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特征。C+安全性不好,但C和C+被大家接受,所以Java設計成C+形式,讓大家很容易

7、學習。Java去掉了C+語言中的指針運算、結構、typedefs、#define、需要釋放內存等功能,減少了平常出錯的50%,讓Java的語言功能很精煉。而且,因為Java很小,所以整個解釋器只需215K的RAM,并增加了一些很有用的功能,如自動收集碎片。Java實現(xiàn)了C+的基本面象對象技術并有一些增強,(為了語言簡單,刪除了一些功能)。Java處理數(shù)據(jù)方式和用對象接口處理對象數(shù)據(jù)方式一樣。Java與C和C+直接相關.Java繼承了C的語法,Java 的對象模型是從C+改編而來的.現(xiàn)代程序設計始于C,而后過渡到C+,現(xiàn)在則是JAVA.通過大量的繼承,JAVA提供了一個強大的,可以更好地利用已有

8、成果的,邏輯一致的程序設計環(huán)境,并且增加了在線環(huán)境需求的新功能.或許最重要的一點在于,由于它們的相似性,C,C+和JAVA為專業(yè)程序員定義了一個統(tǒng)一的概念架構.程序員從其中的一種語言轉到另一種語言時,不會遇到太大的困難。作為目前企業(yè)最流行的一種計算機編程語言,java在企業(yè)里的地位是毋庸置疑的。這是一門強大的語言,電子商務是當今的熱門話題,然而傳統(tǒng)的編程語言難以勝任電子商務系統(tǒng),電子商務要求程序代碼具有基本的要求:安全、可靠、同時要求能與運行于不同平臺的機器的全世界客戶開展業(yè)務。Java以其強安全性、平臺無關性、硬件結構無關性、語言簡潔同時面向對象,在網絡編程語言中占據(jù)無可比擬的優(yōu)勢,成為實現(xiàn)

9、電子商務系統(tǒng)的首選語言。之后的幾天,我們一共學習了三個項目:月亮、十個小球、像素鳥。每個案例由簡到繁,一步一步的讓我們學會了java編程思想、指令的規(guī)范性、嚴謹?shù)讲荒苠e一個字符。程序本身不怎么重要,重要的是編程的想法,你對于這個項目本身是如何構思的,這將是決定這個程序的發(fā)展的重要基礎。同時,我們也了解了英語的重要性,因為編程從頭到尾都是由英語編的,甚至整個軟件也是全英文的,這也讓我們對英語有了更大的動力。三個項目的詳細源代碼在報告的最后。四、見習總結與體會 通過本次實習,我大致了解了企業(yè)里對于編程人員的一些需求,同時也更加明白了現(xiàn)實中殘酷的叢林法則,在見習過程中,我充分的了解到實踐的重要性。通

10、過學習,對自己專業(yè)有了更為詳盡而深刻的了解,也是對學校所學知識的鞏固與運用。從這次實踐中,我體會到了實際的工作與書本上的知識是有一定距離的,并且需要進一步的學習。只有把學到的理論知識和具體的實踐工作相結合,我們才能更好的為公司乃至社會服務。我們現(xiàn)在欠缺的主要是兩點: (1)不能全面系統(tǒng)的、深入的掌握某種技術,也就是會的挺多,但都是皮毛,不能滿足就業(yè)的需要。 (2)沒有任何實際的開發(fā)經驗,完全是想象中學習,考試還行,一到實際開發(fā)和應用就歇菜了。 而我覺得解決的方法就是通過項目練習,對所學知識進行深化,然后通過項目來獲取實際開發(fā)的經驗,從而彌補這些不足,盡快達到企業(yè)的實際要求。 項目既然那么重要,

11、肯定不能隨隨便便找項目,那么究竟如何來選擇呢?根據(jù)Java的研究和實踐經驗總結,選擇項目的時候要注意以下方面: 1:項目不能太大,也不能太小 這個要根據(jù)項目練習的階段,練習的時間,練習的目標來判斷, 不能太大,太大了做不完,也不能太小,太小了沒有意義,達不到練習的目的。 2:項目不能脫離實際應用系統(tǒng),項目應該是實際的系統(tǒng),或者是實際系統(tǒng)的簡化和抽象,不能夠是沒有實戰(zhàn)意義的教學性或者是純練習性的項目。因為培訓的時間有限,必須讓我們盡快地融入到實際項目的開發(fā)當中去。任何人接受和掌握一個東西都需要時間去適應,需要重復幾次才能夠真正掌握,所以每個項目都必須跟實際應用掛鉤。 3:項目應能覆蓋所學的主要知

12、識點 學以致用,學完的知識點需要到應用中使用,才能夠真正理解和掌握,再說了,軟件開發(fā)是一個動手能力要求很高的行業(yè),什么算會了,那就是能夠做出來,寫出代碼來,把問題解決了,你就算會了!五、源代碼:/月亮package Ev1;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.util.Random;import javax.crypto.Mac;import javax.swing.JFrame;import javax.swing.JPanel;public class M1 publ

13、ic static void main(String args) throws InterruptedException /System.out.println( );JFrame jframe=new JFrame();jframe.setTitle(星星);MyJPanel mjp=new MyJPanel();jframe.add(mjp);jframe.setSize(700,800);jframe.setVisible(true);/顯示畫布/jframe.setLocationRelativeTo(null);jframe.setDefaultCloseOperation(3);m

14、jp.movesun();mjp.movesun1();class MyJPanel extends JPanel int xx; int yy; int a; int b; int i; public MyJPanel() a=120; b=150; i=0; xx=new int150; yy=new int150; Random rm=new Random(); for (int i = 0; i xx.length; i+) xxi=rm.nextInt(700);yyi=rm.nextInt(800); Override/右擊source/verrpublic void paint(

15、Graphics g) / TODO Auto-generated method stubsuper.paint(g);Font font=new Font(宋體,Font.BOLD,10); /設置字體,粗細,大小g.setFont(font);this.setBackground(Color.black); /畫布顏色g.setColor(Color.yellow);/設置畫筆顏色for(int i=0;i=700|b=800) yyi=0; i+; if(i=150) i=0; repaint(); try Thread.sleep(50); catch (InterruptedExce

16、ption e) / TODO Auto-generated catch block e.printStackTrace(); .start(); /十個小球package Ev1;import java.awt.Color;import javax.swing.JPanel;public class ball int x,y; /坐標int r; /半徑int speed; /速度int way; /方向Color color; /顏色 JPanel jpanel; /畫紙public static final int LEFT_UP=0;public static final int LE

17、FT_DOWN=1;public static final int RIGHT_UP=2;public static final int RIGHT_DOWN=3;public ball() public ball(int x,int y,int r,int speed,int way,Color color,JPanel jpanel)this.x=x;this.y=y;this.r=r;this.speed=speed;this.way=way;this.color=color;this.jpanel=jpanel;void move()switch(way)case LEFT_UP: x

18、=x-speed;y=y-speed;if(x=0)way=RIGHT_UP; if(y=0) way=LEFT_DOWN; break;case LEFT_DOWN:x=x-speed;y=y+speed; if(x=jpanel.getHeight()-2*r) way=LEFT_UP; break;case RIGHT_UP: x=x+speed; y=y-speed; if(x=jpanel.getWidth()-2*r) way=LEFT_UP; if(y=jpanel.getWidth()-2*r)way=LEFT_DOWN;if(y=jpanel.getHeight()-2*r)

19、way=RIGHT_UP;break;package Ev1;import javax.swing.JFrame;public class BallJFrame public static void main(String args) throws InterruptedExceptionJFrame k = new JFrame();BallJPanel p = new BallJPanel();k.add(p);k.setTitle(小球);k.setSize(700,800);k.setDefaultCloseOperation(3);k.setVisible(true); p.ball

20、run();package Ev1;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.util.Random;import javax.swing.JPanel;public class BallJPanel extends JPanelball ball; Random rm; Color co; BallJPanel() throws InterruptedException rm = new Random(); ball=new ball10; for (int i = 0; i

21、 ball.length; i+) int way=rm.nextInt(4); int a=rm.nextInt(256); int b=rm.nextInt(256); int c=rm.nextInt(256); int x=rm.nextInt(600); int y=rm.nextInt(700); int r=rm.nextInt(50)+1; int speed=rm.nextInt(10)+1; co=new Color(a,b,c); balli=new ball(x,y,r,speed, way, co,this); Override/右擊source/verr publi

22、c void paint(Graphics g) / TODO Auto-generated method stub super.paint(g);this.setBackground(Color.BLACK);/g.setFont(font);this.setBackground(Color.yellow); /畫布顏色for (int i = 0; i ball.length; i+) g.setColor(balli.color);g.fillArc(balli.x, balli.y, balli.r*2, balli.r*2, 0, 360); /坐標,半徑,大小,起始角度,全角度 v

23、oid ballrun() new Thread()Overridepublic void run() / TODO Auto-generated method stubsuper.run();for( ; ; )for (int i = 0; i ball.length; i+) balli.move();repaint(); /刷屏try Thread.sleep(10); catch (InterruptedException e) e.printStackTrace(); .start(); /像素鳥package birdfly03;import java.awt.Font;impo

24、rt java.awt.Graphics;import java.awt.Graphics2D;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.swing.JFrame;import

25、 javax.swing.JPanel;public class Birdgame03 public static void main(String args) throws IOException, InterruptedException JFrame jf =new JFrame();jf.setSize(432,670);MyJPanel03 mjp=new MyJPanel03();jf.add(mjp);jf.setTitle(小鳥,我讓你飛!);jf.setVisible(true);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

26、);mjp.action();class MyJPanel03 extends JPanelint score;BufferedImage backgroundimage;BufferedImage gameoverimage;BufferedImage startimage;boolean gameover;boolean started;Bird03 bird;Ground ground;Column column1,column2;public MyJPanel03() throws IOExceptionscore=0;backgroundimage=ImageIO.read(getC

27、lass().getResource(bg.png);gameoverimage=ImageIO.read(getClass().getResource(gameover.png);startimage=ImageIO.read(getClass().getResource(start.png);gameover=false;started=false;bird=new Bird03();ground =new Ground();column1=new Column(1);column2=new Column(2);Overridepublic void paint(Graphics g) /

28、 TODO Auto-generated method stubsuper.paint(g);g.drawImage(backgroundimage,0,0,null);Graphics2D g2=(Graphics2D)g;g2.rotate(-bird.aphan,bird.x,bird.y);g.drawImage(bird.image,bird.x-bird.width/2,bird.y-bird.height/2,null);g2.rotate(bird.aphan,bird.x,bird.y);Font font=new Font(宋體,Font.BOLD,50);g.setFon

29、t(font);g.drawString(+score, 20, 40);g.drawImage(ground.image,ground.x,ground.y,null);g.drawImage(column1.image,column1.x-column1.width/2,column1.y-column1.height/2,null);g.drawImage(column2.image,column2.x-column2.width/2,column2.y-column2.height/2,null);if(gameover)g.drawImage(gameoverimage,0,0,nu

30、ll);if(!started)g.drawImage(startimage,0,0,null);public void action() throws InterruptedExceptionMouseListener l =new MouseAdapter()Overridepublic void mousePressed(MouseEvent e) / TODO Auto-generated method stubsuper.mousePressed(e);if(gameover)try bird=new Bird03(); catch (IOException e1) / TODO A

31、uto-generated catch blocke1.printStackTrace();try ground=new Ground(); catch (IOException e1) / TODO Auto-generated catch blocke1.printStackTrace();try column1=new Column(1); catch (IOException e2) / TODO Auto-generated catch blocke2.printStackTrace();try column2=new Column(2); catch (IOException e1

32、) / TODO Auto-generated catch blocke1.printStackTrace();score=0;gameover=false;started=false;elsestarted=true;bird.startfly();/*public void MousePressed(MouseEvent e) throws IOExceptiontryif(gameover)bird=new Bird03();ground=new Ground();column1=new Column(1);column2=new Column(2);score=0;gameover=f

33、alse;started=false;elsestarted=true;bird.startfly();catch(Exception ex)ex.printStackTrace();*/;addMouseListener(l);while(true)if(!gameover)if(started)bird.step();column1.step();column2.step();bird.fly();ground.step();if(bird.x=column1.x|bird.x=column2.x)score+;if(bird.hit(column1)|bird.hit(column2)|bird.hit(ground)gameover=true;repaint();Thread.sleep(1000/60);class Bird03int x,y;int size;double v0;double speed;BufferedImage image;double g;double t;double aphan;int index;double s;int width;int heig

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論