System.out.print(i[x] + “、”);
} } } 對(duì)照范例寫(xiě)出如下題目:
(1).創(chuàng)建GrandFather類,其中包括
a)屬性:姓名(name),年齡(age)
b)方法getGrandFather():顯示爺爺?shù)男畔?/p>
c)構(gòu)造方法:給爺爺?shù)男彰?,年齡賦值(2).創(chuàng)建Father類,繼承Grandfather類 a)屬性:除了繼承爺爺?shù)膶傩砸酝?,還要增加自己的屬性:“職業(yè)”(occupation)b)構(gòu)造方法:顯式調(diào)用父類的構(gòu)造方法,為Father類的姓名和年齡賦初始值。再為職業(yè)輸入初始值。
c)方法getFather(): 顯示父親的相關(guān)信息
(3).創(chuàng)建ClassMain()類,定義main()方法,構(gòu)造GrandFather類的對(duì)象和Father類的對(duì)象,并分別顯示詳細(xì)信息。
3、面向?qū)ο蠖鄳B(tài)性
范例:計(jì)算柱體的體積。柱體體積計(jì)算公式是:底部面積乘以高度 柱體底部分為 圓形和矩形 要求:通過(guò)抽象類和多態(tài)實(shí)現(xiàn) package cn.jit.demo;abstract class Bottom { //父類抽象類 底部
public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圓形底
/** * 半徑
*/ private double radius;
@Override public double calculatorArea(){
return Math.PI * radius * radius;} public double getRadius(){
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
return radius;} public void setRadius(double radius){
this.radius = radius;} public CircleBottom(double radius){
super();
this.radius = radius;} } class SquareBottom extends Bottom{ //矩形底
private double sideA;
private double sideB;public double getSideA(){
return sideA;} public void setSideA(double sideA){
this.sideA = sideA;} public double getSideB(){
return sideB;} public void setSideB(double sideB){
this.sideB = sideB;} @Override public double calculatorArea(){
return sideA * sideB;} public SquareBottom(double sideA, double sideB){
super();
this.sideA = sideA;
this.sideB = sideB;} } class ZhuTi { //柱體類,完成形狀的拼裝
/** * 底
*/ private Bottom bottom;/** * 高
*/
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
private double height;/** * 計(jì)算體積
* @return */ public double calculatorVolumn(){
return bottom.calculatorArea()* height;} public ZhuTi(Bottom bottom, double height){
super();
this.bottom = bottom;
this.height = height;} public Bottom getBottom(){
return bottom;} public void setBottom(Bottom bottom){
this.bottom = bottom;} public double getHeight(){
return height;} public void setHeight(double height){
this.height = height;} public void changeBottom(Bottom bottom){
this.bottom = bottom;} } public class VolumnTest { //測(cè)試類
public static void main(String[] args){
Bottom bottom = new CircleBottom(1.0);
double height = 1.0;
ZhuTi zhuTi = new ZhuTi(bottom,height);
double result = zhuTi.calculatorVolumn();
System.out.println(“圓柱體的體積是:” + result);
bottom = new SquareBottom(1.0,1.0);
zhuTi.changeBottom(bottom);
result = zhuTi.calculatorVolumn();
System.out.println(“立方體的體積是:” + result);} } 范例:接口和多態(tài)的應(yīng)用,例如:電腦上實(shí)現(xiàn)了USB接口,U盤(pán),打印機(jī)等等也都實(shí)現(xiàn)了此標(biāo)準(zhǔn)。
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
interface USB{ public void start();// 開(kāi)始工作
public void stop();// 結(jié)束工作 } class Computer{ public static void plugin(USB usb){
usb.start();
usb.stop();} };class Flash implements USB{ public void start(){
System.out.println(“U盤(pán)開(kāi)始工作?!?;} public void stop(){
System.out.println(“U盤(pán)停止工作。”);} };class Print implements USB{ public void start(){
System.out.println(“打印機(jī)開(kāi)始工作?!?;} public void stop(){
System.out.println(“打印機(jī)停止工作?!?;} };public class InterPolDemo02{ public static void main(String args[]){
Computer.plugin(new Flash());
Computer.plugin(new Print());} };對(duì)照范例,寫(xiě)出以下程序:(1)樂(lè)器(Instrument)的標(biāo)準(zhǔn)為彈奏(play),而樂(lè)器類型分為:鋼琴(Piano)和小提琴(Violin),各種樂(lè)器的彈奏方法各不同。編寫(xiě)代碼實(shí)現(xiàn)不同樂(lè)器的彈奏。(2)計(jì)算機(jī)模擬
四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、實(shí)驗(yàn)體會(huì)
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: 類集
實(shí)驗(yàn)學(xué)時(shí): 4 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)2 類集
一、實(shí)驗(yàn)?zāi)康暮鸵螅?)理解類集概念
(2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList類、HashSet類和TreeSet類(4)理解TreeMap、HashMap
二、實(shí)驗(yàn)儀器和設(shè)備
奔騰以上個(gè)人計(jì)算機(jī),windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開(kāi)發(fā)環(huán)境(Eclipse)
三、實(shí)驗(yàn)內(nèi)容與過(guò)程
1、類集應(yīng)用
范例:實(shí)現(xiàn)一個(gè)超市管理系統(tǒng),要求可以添加貨物,刪除貨物和查詢貨物:
。代碼如下:
public interface Goods { public String getName();// 得到商品名稱
public int getCount();// 得到商品數(shù)量
public float getPrice();// 得到商品價(jià)格 }
public class Book implements Goods {
private String name;private int count;private float price;
public Book(){ }
public Book(String name, int count, float price){
this.name = name;
this.count = count;
this.price = price;}
public String getName(){
return name;}
public void setName(String name){
this.name = name;
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
public int getCount(){
return count;}
public void setCount(int count){
this.count = count;}
public float getPrice(){
return price;}
public void setPrice(float price){
this.price = price;}
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(!(obj instanceof Book)){
return false;
}
Book b =(Book)obj;
if(b.name.equals(this.name)&& b.count == this.count
&& b.price == this.price){
return true;
} else {
return false;
} }
public int hashCode(){
return this.name.hashCode()+ new Integer(this.count).hashCode()
+ new Float(this.price).hashCode();}
public String toString(){
return “書(shū)名:” + this.name + “;書(shū)的價(jià)格:” + this.price + “;書(shū)的數(shù)量:”
+ this.count;}
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
}
import java.util.ArrayList;import java.util.Iterator;import java.util.List;
public class SuperMarket { private List allGoods;
public SuperMarket(){
this.allGoods = new ArrayList();}
public void add(Goods goods){
this.allGoods.add(goods);}
public void remove(Goods goods){
this.allGoods.remove(goods);}
public List search(String keyWord){
List temp = new ArrayList();
Iterator iter = this.allGoods.iterator();
while(iter.hasNext()){
Goods g = iter.next();
if(g.getName().indexOf(keyWord)!=-1){
temp.add(g);
}
}
return temp;}
public List getAllGoods(){
return this.allGoods;} }
import java.util.Iterator;import java.util.List;
public class Test {
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
public static void main(String[] args){
SuperMarket mak = new SuperMarket();
mak.add(new Book(“Java”, 2, 30.9f));
mak.add(new Book(“C++”, 3, 10.9f));
mak.add(new Book(“JSP”, 5, 80.9f));
print(mak.search(“J”));
mak.remove(new Book(“Java”, 2, 30.9f));
print(mak.search(“J”));}
public static void print(List all){
Iterator iter = all.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
} } } 對(duì)照范例寫(xiě)出如下題目:
(1)寵物商店,要求可以添加、刪除和查找寵物(2)實(shí)現(xiàn)以下兩個(gè)關(guān)系
A、一個(gè)學(xué)??梢杂卸鄠€(gè)學(xué)生,所有學(xué)生屬于一個(gè)學(xué)校
B、一門(mén)課程可以有多個(gè)學(xué)生選,一個(gè)學(xué)生可以選多門(mén)課程
四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、實(shí)驗(yàn)體會(huì)
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: Java IO操作
實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)3 Java IO操作
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
(1)理解輸入輸出流概念(2)掌握文件輸入輸出流
(3)掌握鍵盤(pán)的輸入、顯示器的輸出(4)理解其他輸入輸出流
二、實(shí)驗(yàn)儀器和設(shè)備
奔騰以上個(gè)人計(jì)算機(jī),windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開(kāi)發(fā)環(huán)境(Eclipse)
三、實(shí)驗(yàn)內(nèi)容與過(guò)程
1、編寫(xiě)類模擬命令Copy
范例:實(shí)現(xiàn)文件的復(fù)制代碼。參考代碼如下:
File file1 = new File(“d:”+File.seperator +”demo.txt”);
// 找到第一個(gè)文件的File對(duì)象
File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目標(biāo)文件路徑 InputStream input = new FileInputStream(file1);// 輸入流 OutputStream output = new FileOutputStream(file2);// 輸出流 int temp = 0;// 定義一個(gè)整數(shù)表示接收的內(nèi)容
while((temp = input.read())!=-1){ // 表示還有內(nèi)容可以繼續(xù)讀
output.write(temp);// 寫(xiě)入數(shù)據(jù) } input.close();// 關(guān)閉 output.close();// 關(guān)閉
2、通過(guò)鍵盤(pán)的輸入,實(shí)現(xiàn)簡(jiǎn)單的選項(xiàng)操作。
*********XXXX管理系統(tǒng)***********
[1]添加
[2]刪除
[3]修改
[4]查詢
[5]退出
3、編寫(xiě)一個(gè)簡(jiǎn)單管理系統(tǒng),實(shí)現(xiàn)真實(shí)的操作。
四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、實(shí)驗(yàn)體會(huì)
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: JDBC
實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)4 JDBC
一、實(shí)驗(yàn)?zāi)康暮鸵螅?)理解JDBC分類
(2)掌握J(rèn)DBC數(shù)據(jù)庫(kù)連接步驟
(3)掌握J(rèn)DBC連接MySQL數(shù)據(jù)庫(kù)代碼(4)理解JDBC連接其他數(shù)據(jù)庫(kù)方式
二、實(shí)驗(yàn)儀器和設(shè)備
奔騰以上個(gè)人計(jì)算機(jī),windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開(kāi)發(fā)環(huán)境(Eclipse)
三、實(shí)驗(yàn)內(nèi)容與過(guò)程
1、安裝MySQL數(shù)據(jù)庫(kù),配置好數(shù)據(jù)庫(kù)
創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表,按要求給出詳細(xì)的字段設(shè)計(jì)
pid name age birthday salary
主要操作:
2、創(chuàng)建Eclipse項(xiàng)目,配置驅(qū)動(dòng)包
每個(gè)數(shù)據(jù)庫(kù)廠商都會(huì)提供對(duì)Java開(kāi)發(fā)技術(shù)的支持,即都會(huì)提供對(duì)應(yīng)的Java驅(qū)動(dòng),也就是一個(gè)jar包
主要操作:
3、項(xiàng)目中建立一個(gè)詳細(xì)例子,按照要求連接、操作、關(guān)閉數(shù)據(jù)庫(kù)
按照標(biāo)準(zhǔn)的步驟完成對(duì)MySQL數(shù)據(jù)庫(kù)的操作
主要代碼:(添加、修改、刪除和查詢)
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
4、試著連接其他類型數(shù)據(jù)庫(kù)。
四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、實(shí)驗(yàn)體會(huì)
《UML程序設(shè)計(jì)》
實(shí)驗(yàn)指導(dǎo)教程
適合專業(yè):計(jì)算機(jī)類專業(yè)
浙江樹(shù)人大學(xué)信息科技學(xué)院 2016.02
課程與實(shí)驗(yàn)綜述
第一部分實(shí)驗(yàn)綜述
一.課程簡(jiǎn)介及實(shí)踐要求:
《UML程序設(shè)計(jì)》是以介紹面向?qū)ο蟮慕y(tǒng)一建模語(yǔ)言UML為主,使學(xué)生了解面向?qū)ο蠹夹g(shù)的基本概念,掌握UML的分析和設(shè)計(jì)方法,同時(shí)掌握在Enterprise Architect環(huán)境下用UML進(jìn)行分析和設(shè)計(jì)的技術(shù)。本課程在教學(xué)內(nèi)容方面著重基本理論、基本知識(shí)和基本方法,在培養(yǎng)實(shí)踐能力方面著重設(shè)計(jì)構(gòu)思和設(shè)計(jì)技能的基本訓(xùn)練,熟練的上機(jī)操作能力和分析能力。
實(shí)驗(yàn)實(shí)踐訓(xùn)練是UML程序設(shè)計(jì)教學(xué)的重要技能環(huán)節(jié)。通過(guò)實(shí)驗(yàn),使學(xué)生加深理解、驗(yàn)證、鞏固課堂教學(xué)內(nèi)容,特別是通過(guò)設(shè)計(jì)和綜合實(shí)驗(yàn),發(fā)揮學(xué)生的想象力和創(chuàng)新能力。二.課程實(shí)驗(yàn)?zāi)康囊螅?/p>
通過(guò)UML的實(shí)驗(yàn),學(xué)生應(yīng)該: 1.學(xué)會(huì)用UML進(jìn)行面向?qū)ο蟮乃枷肴シ治龊驮O(shè)計(jì)相關(guān)系統(tǒng);2.學(xué)會(huì)用Rose建模工具進(jìn)行軟件建模。三.課程實(shí)驗(yàn)參考資料
1.(美)Joseph Schmuller著.UML基礎(chǔ)、案例與應(yīng)用.人民郵電出版社,2004 2.(美)Hans-Erik Eriksson.UML 2工具箱.電子工業(yè)出版社,2004 3.吳際,金茂忠.UML面向?qū)ο蠓治?北京航空航天大學(xué)出版社,2002 4.趙從軍.UML設(shè)計(jì)及應(yīng)用.機(jī)械工業(yè)出版社,2004 5.Grady Booch,James Rumbaugh,Ivar Jacobson.UML用戶指南.機(jī)械工業(yè)出版社,2001 6.吳建,鄭潮,汪杰.UML基礎(chǔ)與Rose建模案例.人民郵電出版社,2004 第二部分 實(shí)驗(yàn)實(shí)踐指導(dǎo)
實(shí)驗(yàn)一
構(gòu)建用例圖
一、實(shí)驗(yàn)?zāi)康?/p>
1.學(xué)會(huì)分析系統(tǒng)中的參與者和用例 2.掌握用例圖的繪制方法
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
1、分析ATM系統(tǒng)需求,按要求畫(huà)出用例圖;
2、建立一個(gè)學(xué)生管理信息系統(tǒng)的需求
3、建立設(shè)計(jì)一個(gè)學(xué)生管理信息系統(tǒng)的完整的用例圖
四、實(shí)驗(yàn)步驟
(一)ATM系統(tǒng)的用例圖
1.分析
ATM自動(dòng)取款機(jī):客戶可以取錢(qián),存錢(qián),查詢余額,轉(zhuǎn)帳,修改密碼。通過(guò)分析可找出如下幾個(gè)參與者:(1)ATM(2)客戶
通過(guò)分析得到如下用例:
(1)存款
(2)取款(3)查詢余額
(4)轉(zhuǎn)帳(5)修改密碼
(6)打印收據(jù)
2.繪圖步驟:
下面介紹在Enterprise Architect中創(chuàng)建用例圖的過(guò)程:
Enterprise Architect主界面如下圖所示:
1、建立項(xiàng)目:
如下圖在文件菜單選擇新建項(xiàng)目:
如下圖
選擇文件夾,輸入項(xiàng)目名:
如圖,選擇所需要的選項(xiàng):
2、建立用例圖
在合適的文件平夾下,右鍵
在UML Behavioral 下選擇Use Case,圖名處輸入用例名如ATM 如下圖,比雙擊ATM
在編輯界面下右鍵,如下圖
3、添加用例
選擇Use Case 依次添加存款、取款、查詢余額、轉(zhuǎn)帳、修改密碼、打印收據(jù),如圖1.4所示。
4、添加Actor 在編輯界面下右鍵,選擇Actor,5、添加邊界(ATM取款系統(tǒng))
如下圖
6、添加參與者和用例間的關(guān)聯(lián)關(guān)系,右鍵客戶,如上圖,選擇小箭頭,添加關(guān)聯(lián),同理添加ATM的關(guān)聯(lián)
添加Common中的Note,內(nèi)容為***制,如上圖
7、保存圖
完成用例圖后,保存該圖。
8、選擇所有的內(nèi)容,拷貝,粘貼到實(shí)驗(yàn)報(bào)告中,如下圖
uc ATMATM取款系統(tǒng)存款金智勇制取款查詢余額客戶ATM修改密碼打印收據(jù)轉(zhuǎn)帳
(二)建立設(shè)計(jì)一個(gè)學(xué)生管理信息系統(tǒng)的需求分析與完整的用例圖
(1)學(xué)生管理信息系統(tǒng)簡(jiǎn)介
學(xué)生管理信息系統(tǒng)主要為學(xué)校的學(xué)生處設(shè)計(jì):方便學(xué)校學(xué)生處與學(xué)院學(xué)生口管理員方便管理學(xué)生,學(xué)生成績(jī)由教務(wù)系統(tǒng)提供,教務(wù)系統(tǒng)提供相關(guān)的WEB service供學(xué)生管理信息系統(tǒng)調(diào)用。
? 通過(guò)分析可找出如下幾個(gè)參與者:
學(xué)生處管理員、學(xué)校領(lǐng)導(dǎo)(學(xué)校各種報(bào)表統(tǒng)計(jì)信息)、學(xué)院管理員、班主任(提供學(xué)生操行、查詢等)、學(xué)院領(lǐng)導(dǎo)(學(xué)院各種報(bào)表統(tǒng)計(jì)信息)、學(xué)生、后勤管理人員(衛(wèi)生管理、保衛(wèi)處異常情況處理)、財(cái)務(wù)人員、考勤管理員(由副班長(zhǎng)提供考勤信息)等
? 通過(guò)分析得到如下一些大的用例:
學(xué)生基本信息管理、考勤管理、成績(jī)導(dǎo)入、學(xué)校各種報(bào)表信息(要求細(xì)化)、學(xué)院各種報(bào)表信息(要求細(xì)化)、個(gè)人成才規(guī)劃、新學(xué)期注冊(cè),操行評(píng)定、學(xué)生任職信息系統(tǒng)、學(xué)生獎(jiǎng)懲管理系統(tǒng)(要求細(xì)化,包括評(píng)優(yōu)評(píng)獎(jiǎng)等)、學(xué)生變動(dòng)信息管理(培訓(xùn)內(nèi)容、助學(xué)貸款情況、學(xué)校還款情況、勤工助學(xué)情況,黨員管理),后勤衛(wèi)生管理、保衛(wèi)處的學(xué)生的異常情況處理、其它的具體由學(xué)生自己定。
2.建立設(shè)計(jì)一個(gè)學(xué)生管理信息系統(tǒng)的需求分析
分析學(xué)生管理信息系統(tǒng),建立系統(tǒng)需求分析,并要求畫(huà)出系統(tǒng)功能框圖,如學(xué)生管理信息系統(tǒng)的功能模塊圖如下
系統(tǒng)模塊圖如后勤衛(wèi)生查詢功能子系統(tǒng)模塊圖如下。
要求分析其它的子系統(tǒng)模塊
3.建立一個(gè)學(xué)生管理信息系統(tǒng)的完整的用例圖
完整的要求,就為每一類用戶分配一個(gè)用例模型,如一般學(xué)生查詢功能用例
要求分析其它參與者的用例模型
(4)建立用例的文字描述(要求學(xué)生寫(xiě)出兩個(gè))
1.“基本信息查詢”用例 用例編號(hào):04010101(共有4層用例圖結(jié)構(gòu),每層用2位數(shù)字表示,采用8位編號(hào)。)用例名:
基本信息查詢
執(zhí)行者: 學(xué)生自己、學(xué)生的班主任、輔導(dǎo)員及其它的特權(quán)用戶。目的: 查詢學(xué)生的基本信息,包括姓名、學(xué)號(hào)、家庭地址等信息。類
型: 端點(diǎn)、基本的 級(jí)
別: 二級(jí) ? 過(guò)程描述:
(三)上傳ATM系統(tǒng)的用例圖與學(xué)生管理信息系統(tǒng)的完整的用例圖
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
實(shí)驗(yàn)二
構(gòu)建類圖
一、實(shí)驗(yàn)?zāi)康?/p>
1.理解類的基本概念 2.理解類間的關(guān)系
3.掌握類圖的繪制方法
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
(1)分析學(xué)生管理系統(tǒng)中的選課子系統(tǒng)中類及關(guān)系,然后畫(huà)出它們的類圖。(2)分析學(xué)生管理系統(tǒng)的其它子系統(tǒng),并畫(huà)出詳細(xì)的系統(tǒng)類圖
四、實(shí)驗(yàn)步驟
(一).選課子系統(tǒng)
1、選課子系統(tǒng)分析
? 分析學(xué)生管理系統(tǒng)中的選課子系統(tǒng),通過(guò)分析可抽象出如下幾個(gè)類:
(1)學(xué)生類(student)(2)選課類(SelectCource)(3)課程類(Cource)
? 學(xué)生類、選課類和課程類屬性和方法
課程類的屬性和方法:
屬性包括
(1)課程名稱(CourceName)(2)開(kāi)課教室(Room)(3)課程號(hào)(CourceID)(4)授課教師(Teacher)(5)學(xué)年(academic year)(6)學(xué)期(Term)(7)允許選課的學(xué)生人數(shù)(SelectNoUp)方法包括
(1)設(shè)置課程號(hào)(SetCourceID)(2)設(shè)置課程名稱(SetCourceName)(3)查詢課程號(hào)(SeekCourceID)(4)查詢?cè)试S選課的學(xué)生人數(shù)(SeekSelectNoUp)
選課類的屬性和方法:
屬性包括
(1)ID號(hào)(ID)(2)課程號(hào)(CourceID)(3)學(xué)號(hào)(SNo)(4)成績(jī)(score)方法包括
1)選課(SelectCoure)2)退選(CancelSelected)3)查詢選課情況(SeekSelected)
2.繪圖步驟:
下面介紹在Enterprise Architect中創(chuàng)建類和它們之間關(guān)系的過(guò)程:
(1)在上圖的合適文件夾下選擇添加類圖,類圖名為選課系統(tǒng)類,如下圖。
(2)在選課系統(tǒng)類圖中,從工具欄中新建元素,選擇Class并取名Student表明新增一個(gè)類,,同理添加選課類(SelectCource),課程類(Cource),如下圖
(2)右鍵Studen,選擇功能與屬性---屬性,如下圖
(7)同樣的方法添加Course類與SelectCource類,(8)創(chuàng)建兩個(gè)類之間的關(guān)系,通過(guò)分析得出:Course類與SelectCource類之間為單向關(guān)聯(lián)。選擇圖標(biāo)欄的“關(guān)聯(lián)”,由Course類指向electCource類。如圖所示。
(10)分別在Course類與SelectCource類選項(xiàng)卡中鍵入名稱和多重性,圖2.10(11)重復(fù)(2)-(10)中的步驟完成選課系統(tǒng)整個(gè)類圖的創(chuàng)建。(12)如圖2.11轉(zhuǎn)換生成代碼,查看所生成的三個(gè)的代碼。
選擇對(duì)應(yīng)的類的文件名,生成代碼
查看代碼
(二)分析學(xué)生管理系統(tǒng)的其它子系統(tǒng),并畫(huà)出詳細(xì)的系統(tǒng)類圖
一般情況一個(gè)子系統(tǒng)至少有一個(gè)類,要求建立系統(tǒng)的詳細(xì)類圖,并建立類間的關(guān)聯(lián)
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
實(shí)驗(yàn)三
構(gòu)建活動(dòng)圖
一、實(shí)驗(yàn)?zāi)康?/p>
1. 熟悉活動(dòng)圖的基本功能和使用方法。
2. 掌握如何使用建模工具繪制活動(dòng)圖方法。
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
(1)分析圖書(shū)管理系統(tǒng)中管理員的活動(dòng)狀態(tài),畫(huà)出管理員的活動(dòng)圖。(2)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的活動(dòng)圖,并用活動(dòng)圖細(xì)化用例圖
四、實(shí)驗(yàn)步驟
(一)圖書(shū)管理系統(tǒng)活動(dòng)圖
1.分析
? 在圖書(shū)管理系統(tǒng)中管理員的活動(dòng)如下:
(1)處理還書(shū)(2)處理借書(shū)(3)處理罰款 ? 讀者的活動(dòng)如下:
(1)登錄(2)找書(shū)(3)預(yù)約(4)瀏覽
2.繪圖步驟:
下面介紹在Enterprise Architect中活動(dòng)圖的過(guò)程:(1)在的合適文件夾下選擇添加活動(dòng)圖(Activity),如下圖,在圖名中輸入在圖書(shū)管理系統(tǒng)管理員活動(dòng)圖如下圖所示
(2)添加活動(dòng)及其它元素,如下圖
圖 3.1
(2)繪制圖書(shū)管理員的活動(dòng)圖,如圖3.2所示:
圖3.2
(3)創(chuàng)建讀者的活動(dòng)圖如圖3.3所示:
圖3.3
(二)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的活動(dòng)圖,并用活動(dòng)圖細(xì)化用例圖
(1)學(xué)生基本信息保存的活動(dòng)圖
錄入基本信息、點(diǎn)擊保存、鏈接數(shù)據(jù)庫(kù)、判定學(xué)號(hào)是否已存在、判定錄入信息是否符合規(guī)范(日期信息、身份證號(hào)、郵編等信息)-保存。(2)學(xué)生基本信息查詢的活動(dòng)圖
鏈接數(shù)據(jù)庫(kù)、查詢基本信息表、倒出數(shù)據(jù)內(nèi)容、填入各字段信息到信息輸出框、根據(jù)學(xué)院代號(hào)查詢學(xué)院名稱、寫(xiě)入學(xué)院信息到列表框、定位學(xué)院信列表框、根據(jù)班級(jí)代號(hào)查詢班級(jí)名稱、寫(xiě)入班級(jí)信息、寫(xiě)入班級(jí)信息到列表框、定位班級(jí)信列表框、。(3)至少分析建立其它3個(gè)活動(dòng)圖
(4)根據(jù)活動(dòng)圖重新分析用例圖并細(xì)化用例圖,審核類圖
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
實(shí)驗(yàn)四
構(gòu)建順序圖
一、實(shí)驗(yàn)?zāi)康?/p>
學(xué)會(huì)用順序圖實(shí)現(xiàn)用例
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
(1)分析系統(tǒng)需求,畫(huà)出ATM取款的順序圖(2)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的順序圖
四、實(shí)驗(yàn)步驟(一)ATM取款的場(chǎng)景
1、ATM取款的場(chǎng)景分析:
(1)通過(guò)讀卡機(jī),用戶插入ATM卡;
(2)ATM系統(tǒng)從卡上讀取銀行ID、帳號(hào)、加密密碼、并用主銀行系統(tǒng)驗(yàn)證銀行ID和帳號(hào);
(3)用戶輸入密碼,ATM系統(tǒng)根據(jù)上面讀出的卡上加密密碼,對(duì)密碼進(jìn)行驗(yàn)證;(4)用戶輸入取款數(shù)量;
(5)ATM系統(tǒng)通知主銀行系統(tǒng),傳遞儲(chǔ)戶帳號(hào)和取款數(shù)量,并接收返回的確認(rèn)信息;
(6)ATM系統(tǒng)輸出先進(jìn)、ATM卡和顯示帳戶余額的收據(jù);(7)ATM系統(tǒng)記錄事務(wù)到日志文件。尋找場(chǎng)景中的對(duì)象:ATM、客戶和帳戶。
2、繪圖步驟:
下面介紹在Enterprise Architect中創(chuàng)建順序圖的過(guò)程:
(1)在的合適文件夾下選擇添加活動(dòng)圖(Activity),如下圖,21
在工具菜單中選擇選項(xiàng)如下圖
選擇圖—順序,如下圖,選擇“顯示順序編號(hào)”
(2)在順序圖前,為保證對(duì)象的可行性,可先在類圖中創(chuàng)建Customer、ATM、和Account類。也可新建元素LifeLine。如下圖,分別創(chuàng)建Customer、ATM、和Account.(4)根據(jù)ATM取款的場(chǎng)景,獲得第一條消息為“客戶向ATM機(jī)提交取款需求”,向圖中添加消息。
在圖中,點(diǎn)擊Customer,選擇小箭頭,指向ATM,在消息特征編輯窗口中,輸入Request。
圖4.4
(5)同樣的方法添加其它消息,如圖4.5所示。
圖4.5
(二)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的順序圖
(1)如學(xué)生獎(jiǎng)學(xué)金評(píng)定的順序圖:倒入成績(jī)、操行評(píng)定、計(jì)算綜合評(píng)分、獎(jiǎng)學(xué)金評(píng)定(2)用戶登入的順序圖:
(3)新學(xué)期注冊(cè)順序圖:學(xué)生交費(fèi)--向?qū)W院報(bào)到--判斷是否交費(fèi)--(是否申請(qǐng)助學(xué)金、是否申請(qǐng)緩交)--注冊(cè)(4)建立黨員管理順序圖
(5)建立其它的一個(gè)以上順序圖
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
實(shí)驗(yàn)五
構(gòu)建協(xié)作圖
一、實(shí)驗(yàn)?zāi)康?/p>
1.學(xué)會(huì)協(xié)作圖的繪制方法
2.掌握順序圖和協(xié)作圖的相互轉(zhuǎn)換。
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
(1)分析系統(tǒng)需求,畫(huà)出ATM取款的協(xié)作圖。
(2)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的順序圖
四、實(shí)驗(yàn)步驟
(一).ATM取款的場(chǎng)景
1、ATM取款的場(chǎng)景分析:
(1)通過(guò)讀卡機(jī),用戶插入ATM卡;
(2)ATM系統(tǒng)從卡上讀取銀行ID、帳號(hào)、加密密碼、并用主銀行系統(tǒng)驗(yàn)證銀行ID和帳號(hào);(3)用戶輸入密碼,ATM系統(tǒng)根據(jù)上面讀出的卡上加密密碼,對(duì)密碼進(jìn)行驗(yàn)證;(4)用戶輸入取款數(shù)量;
(5)ATM系統(tǒng)通知主銀行系統(tǒng),傳遞儲(chǔ)戶帳號(hào)和取款數(shù)量,并接收返回的確認(rèn)信息;(6)ATM系統(tǒng)輸出先進(jìn)、ATM卡和顯示帳戶余額的收據(jù);(7)ATM系統(tǒng)記錄事務(wù)到日志文件。尋找場(chǎng)景中的對(duì)象:ATM、客戶和帳戶。
2、繪圖步驟:
下面介紹在Enterprise Architect中創(chuàng)建協(xié)作圖的過(guò)程:
(1)在“Logical View”中新建“Collaboration Diagram“,雙擊圖標(biāo),出現(xiàn)圖5.1,為編輯順序圖做好準(zhǔn)備。
圖5.1
(2)創(chuàng)建類節(jié)點(diǎn)
創(chuàng)建四個(gè)類節(jié)點(diǎn)分別為ATM,Branch,Consortium,User。
分別選擇其中的三個(gè)類節(jié)點(diǎn)ATM,Branch,Consortium 把它們拖動(dòng)到CollaborationDiagram圖中,如圖5.2所示。
圖
4.2
選擇標(biāo)記為 User 的類節(jié)點(diǎn)。將選定的類拖放到CollaborationDiagram圖編輯器中,使其位于 ATM 生命線元素的上方,如圖5.3所示。
圖5.3
(3)添加連接器鏈接(Object Link)
協(xié)作圖中的每個(gè)元素均可通過(guò)連接器鏈接與其他元素建立連接。您可以標(biāo)識(shí)這些鏈
接,并在其中添加消息流。
從建模組件面板的“基本”類別中,選擇 “ Object Link ” 圖標(biāo)。單擊標(biāo)記為 User 的生命線元素,然后單擊 ATM。將在兩個(gè)元素之間繪制一條連接器鏈接。使用相同的步驟繪制以下鏈接:
從 ATM 至 Consortium 的鏈接
從 Consortium 至 Branch 的鏈接
從 ATM 至 Branch 的鏈接
注意:在創(chuàng)建從 ATM 至 Branch 的鏈接時(shí),請(qǐng)從 ATM 生命線的右側(cè)水平繪制一條鏈接,并在到達(dá) Branch 生命線的正上方時(shí)單擊鼠標(biāo)左鍵。這樣便會(huì)在鏈接線上出現(xiàn)一個(gè)頂點(diǎn),然后在頂點(diǎn)到 Branch 生命線之間垂直繪制一條鏈接。
此時(shí),該圖應(yīng)當(dāng)圖5.4類似。
圖5.4
在圖編輯器中的任意位置單擊鼠標(biāo)右鍵,選擇 “Edit” 的“delete from mode”菜單,可刪除模型,如圖5.5所示。
圖5.5
(4)顯示操作流
操作流將在圖中顯示為與鏈接平行的帶標(biāo)記箭頭。此鏈接用于向目標(biāo)元素傳輸消息或?qū)崿F(xiàn)這種傳輸。在圖編輯器中,選擇 User 和 ATM 之間的連接器鏈接。右鍵單擊距 ATM 生命線最近的連接器鏈接部分。如圖4.6所示,從彈出式菜單中選擇“Open Specification”,彈出”Link Specification For Untile”對(duì)話框,在對(duì)話框中按右鍵,從彈出式菜單中選擇“Insert To: ATM”,在Message Name中輸入public void GetCashOnHand(), 如圖5.6所示。
圖5.6
在 ATM 和Consortium 之間的連接器鏈接上,右鍵單擊靠近Consortium生命線的鏈接部分。
添加消息 “ public void validateAccountInfo()”。Rose顯示 2: public void validateAccountInfo()。
在 ATM 和 Branch 之間的連接器鏈接上,右鍵單擊靠近Branch 生命線的鏈接部分。
添加消息 “public char getConnected”。Rose顯示3: public char getConnected()。
右鍵單擊 Consortium 和 Branch 之間靠近Branch 生命線元素的連接器鏈接。添加消息 “public void verifyCardWithBank(int stringCardSTrip)”。Rose顯示 4: public void verifyCardWithBank(int stringCardSTrip)。
完成的協(xié)作圖應(yīng)當(dāng)與圖5.7類似。
圖5.7
(5)模型檢查并保存
使用Tools工具的”Check Model”,進(jìn)行模型檢查,查看是否有錯(cuò)。
如無(wú)誤則在完成協(xié)作圖后,您可以保存該圖。在圖編輯器中,從菜單中選擇“保存”。
(二)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的協(xié)作圖
(1)如學(xué)生獎(jiǎng)學(xué)金評(píng)定的協(xié)作圖:倒入成績(jī)、操行評(píng)定、計(jì)算綜合評(píng)分、獎(jiǎng)學(xué)金評(píng)定(2)助學(xué)貸款申請(qǐng)協(xié)作圖:學(xué)生申請(qǐng)—班主任批準(zhǔn)—學(xué)院批準(zhǔn)-學(xué)校領(lǐng)導(dǎo)批準(zhǔn)(3)助學(xué)勤工儉學(xué)申請(qǐng)協(xié)作圖:(4)建立其它的一個(gè)以上協(xié)作圖
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
實(shí)驗(yàn)六
構(gòu)建狀態(tài)圖
一、實(shí)驗(yàn)?zāi)康?/p>
1. 熟悉狀態(tài)圖的基本功能和使用方法。2. 掌握如何使用建模工具繪制狀態(tài)圖方法。
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
(1)分析圖書(shū)管理系統(tǒng)中的書(shū)和借書(shū)證的狀態(tài),畫(huà)出它們的狀態(tài)圖;
(2)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的順序圖
四、實(shí)驗(yàn)步驟
(一)圖書(shū)管理系統(tǒng)
1、分析
? 在圖書(shū)管理系統(tǒng)中,分析書(shū)的狀態(tài)如下:
(1)可借(2)被借(3)被預(yù)約(4)刪除
? 借書(shū)證的狀態(tài)如下:
(1)可用(2)不可用(3)刪除
2、繪圖步驟:
下面介紹在Rose2003中創(chuàng)建類和它們之間關(guān)系的過(guò)程:
(1)在“Logical View“中的“StateChart Diagram”菜單,雙擊圖標(biāo),出現(xiàn)圖6.1,為編輯狀態(tài)圖做好準(zhǔn)備。
圖6.1(2)在工具欄中選擇“Start State”圖標(biāo)添加到編輯窗口中,如圖6.2所示。
圖6.2(3)在工具欄中選擇“State”圖標(biāo),添加一個(gè)元素,命名為“New book”,如圖6.3所示。
圖6.3(4)同樣的方法添加其它狀態(tài),如圖6.4所示。
圖6.4 5)書(shū)的各個(gè)狀態(tài)之間添加轉(zhuǎn)移及相應(yīng)的事件,如圖6.5所示。
32(圖6.5(6)同樣的方法得借書(shū)證的狀態(tài)圖,如圖6.6所示。
圖6.6
(二)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的狀態(tài)圖
(1)建立學(xué)生交款狀態(tài)圖:已交、未交、緩交、部分申請(qǐng)助學(xué)貸款(2)建立學(xué)生懲罰(記過(guò)以上)狀態(tài)圖:
(3)建立學(xué)生黨員申請(qǐng)狀態(tài)圖:(4)建立其它的一個(gè)以上狀態(tài)圖
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
實(shí)驗(yàn)七
構(gòu)建組件圖和配置圖
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握UML中組件圖和配置圖的建立方法;
2.掌握使用Enterprise Architect繪制組件圖和配置圖;
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
(1)分析學(xué)校網(wǎng)上選課系統(tǒng)的組件圖,畫(huà)出系統(tǒng)組件圖。(2)分析學(xué)校網(wǎng)上選課系統(tǒng)的配置圖,畫(huà)出系統(tǒng)配置圖。(3)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的組件圖與配置圖
四、實(shí)驗(yàn)步驟
(一)網(wǎng)上選課系統(tǒng)
1.分析
設(shè)計(jì)學(xué)校網(wǎng)上選課系統(tǒng)的組件圖和配置圖,需求如下: 某學(xué)校的網(wǎng)上選課系統(tǒng)主要包括如下功能:
管理員通過(guò)系統(tǒng)管理界面進(jìn)入,建立本學(xué)期要開(kāi)的課程、將課程信息保存在數(shù)據(jù)庫(kù)中并可以對(duì)課程進(jìn)行改動(dòng)和刪除。
學(xué)生通過(guò)客戶機(jī)瀏覽器根據(jù)學(xué)號(hào)和密碼進(jìn)入選課界面,在這里學(xué)生可以進(jìn)行三種操作:查詢已選課程、選課以及付費(fèi)。
對(duì)于以上操作,可通過(guò)業(yè)務(wù)層,并將這些操作結(jié)果存入數(shù)據(jù)庫(kù)中。
2.繪圖步驟:
(1)繪制組件圖的步驟如下:
? 確定組件;(系統(tǒng)管理系統(tǒng), 課程管理系統(tǒng),選課系統(tǒng),查詢系統(tǒng),人員信息管理,注冊(cè)系統(tǒng),業(yè)務(wù)操作,備份系統(tǒng),付費(fèi)系統(tǒng))? 給組件加上必要的構(gòu)造型; ? 確定組件的聯(lián)系; ? 繪制組件圖。
下面介紹在Rose2003中創(chuàng)建組件圖的過(guò)程:
(a)在“Component View“中的 “New”的 “Component Diagram”中,出現(xiàn)圖7.1,為編輯組件圖做好準(zhǔn)備,35
圖7.1(b)創(chuàng)建組件圖(根據(jù)要求創(chuàng)建)。
(2)繪制配置圖的步驟如下: ? 確定節(jié)點(diǎn);(數(shù)據(jù)庫(kù)服務(wù)器,應(yīng)用服務(wù)器,打印機(jī),客戶端(n個(gè),連接為局域網(wǎng)))
? 加上構(gòu)造型;
? 確定節(jié)點(diǎn)的聯(lián)系; ? 繪制配置圖。
下面介紹在Rose2003中創(chuàng)建配置圖的過(guò)程:
(a)在“Deployment View“中,出現(xiàn)圖7.2,為編輯配置圖做好準(zhǔn)備,圖7.2
圖7.3 系統(tǒng)配置圖
(二)分析學(xué)生管理系統(tǒng),并畫(huà)出詳細(xì)的組件圖與配置圖
(1)系統(tǒng)組件圖 ? 分析系統(tǒng)接口
如建立查詢一個(gè)學(xué)生基本信息的接口,返回一個(gè)學(xué)生基本信息的類(類中有姓名、學(xué)號(hào)等屬性)
? 搜索系統(tǒng)用戶界面
搜索系統(tǒng)用戶界面,作為系統(tǒng)一種特殊的接口,用戶與系統(tǒng)的接口,建立單獨(dú)的包Web InterFace保存用戶界面,如學(xué)生基本信息操作的用戶界面定義如下(從View繼承過(guò)來(lái)的一個(gè)類,這里只考慮界面,類只考慮程序,可有部分重復(fù)):
為用戶界面考慮接口,并關(guān)聯(lián)不同的類
(2)系統(tǒng)配置圖
假設(shè)有以下的子系統(tǒng):學(xué)生管理系統(tǒng)用到財(cái)務(wù)子系統(tǒng)、成績(jī)管理子系統(tǒng),并各自有數(shù)據(jù)庫(kù)。
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
實(shí)驗(yàn)八
Enterprise Architect逆向工程
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握Enterprise Architect中逆向工程的建立方法; 2.掌握根據(jù)逆向工程畫(huà)出類圖;
二、實(shí)驗(yàn)器材
1.計(jì)算機(jī)一臺(tái);
2.Enterprise Architect 工具軟件;
三、實(shí)驗(yàn)內(nèi)容
(1)分析Java程序,實(shí)現(xiàn)EA逆向工程。(2)根據(jù)逆向工程所得類,畫(huà)出對(duì)應(yīng)類圖。
四、實(shí)驗(yàn)步驟
1.分析
Enterprise Architect功能十分強(qiáng)大,從項(xiàng)目需求分析、開(kāi)發(fā)、測(cè)試,整個(gè)項(xiàng)目過(guò)程都可使用Enterprise Architect,特別是在做需求分析與項(xiàng)目系統(tǒng)架構(gòu)時(shí)建模的能力巨強(qiáng)。但是每個(gè)人不是在項(xiàng)目一開(kāi)始就能參與到初期當(dāng)中來(lái)的,有時(shí)候整個(gè)項(xiàng)目一期完工了,進(jìn)行二期開(kāi)發(fā)時(shí),這個(gè)時(shí)候參與進(jìn)項(xiàng)目,為了能夠快速了解整個(gè)項(xiàng)目的框架,使用Enterprise Architect的逆向工程的功能極為有用。
2.繪圖步驟:
(1)分析J2EE源代碼,了解其結(jié)構(gòu)
(2)新建一個(gè)Enterprise Architect工程,選擇合適的文件夾,如下圖選擇包---代碼工程—導(dǎo)入---源程序目錄
選擇根包,原類型為Java
點(diǎn)擊確定即在對(duì)應(yīng)的包下生成三個(gè)類Env,EnvList和ListS,新建視圖,添加Env,EnvList和ListS到視圖中,具體如圖所示:
圖8.3
五、實(shí)驗(yàn)報(bào)告要求
1. 整理實(shí)驗(yàn)結(jié)果。
2. 小結(jié)實(shí)驗(yàn)心得體會(huì)。
學(xué) 生 實(shí) 驗(yàn) 報(bào) 告 冊(cè)
課程名稱:
學(xué)生學(xué)號(hào):
所屬院部:
(理工類)
專業(yè)班級(jí):
學(xué)生姓名:
指導(dǎo)教師: ——20 學(xué)年 第 學(xué)期
金陵科技學(xué)院教務(wù)處制
實(shí)驗(yàn)報(bào)告書(shū)寫(xiě)要求
實(shí)驗(yàn)報(bào)告原則上要求學(xué)生手寫(xiě),要求書(shū)寫(xiě)工整。若因課程特點(diǎn)需打印的,標(biāo)題采用四號(hào)黑體,正文采用小四號(hào)宋體,單倍行距。紙張一律采用A4的紙張。
實(shí)驗(yàn)報(bào)告書(shū)寫(xiě)說(shuō)明
實(shí)驗(yàn)報(bào)告中實(shí)驗(yàn)?zāi)康暮鸵蟆?shí)驗(yàn)儀器和設(shè)備、實(shí)驗(yàn)內(nèi)容與過(guò)程、實(shí)驗(yàn)結(jié)果與分析這四項(xiàng)內(nèi)容為必需項(xiàng)。教師可根據(jù)學(xué)科特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。
填寫(xiě)注意事項(xiàng)
(1)細(xì)致觀察,及時(shí)、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說(shuō)明,層次清晰。
(3)盡量采用專用術(shù)語(yǔ)來(lái)說(shuō)明事物。
(4)外文、符號(hào)、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號(hào)。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報(bào)告的書(shū)寫(xiě),嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。
實(shí)驗(yàn)報(bào)告批改說(shuō)明
實(shí)驗(yàn)報(bào)告的批改要及時(shí)、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn)報(bào)告的批改成績(jī)采用五級(jí)記分制或百分制,按《金陵科技學(xué)院課堂教學(xué)實(shí)施細(xì)則》中作業(yè)批閱成績(jī)?cè)u(píng)定要求執(zhí)行。
實(shí)驗(yàn)報(bào)告裝訂要求
實(shí)驗(yàn)批改完畢后,任課老師將每門(mén)課程的每個(gè)實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)報(bào)告以自然班為單位、按學(xué)號(hào)升序排列,裝訂成冊(cè),并附上一份該門(mén)課程的實(shí)驗(yàn)大綱。
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)項(xiàng)目名稱: 面向?qū)ο缶幊虒?shí)驗(yàn) 實(shí)驗(yàn)學(xué)時(shí): 8 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
金陵科技學(xué)院實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)1 面向?qū)ο缶幊虒?shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
(1)理解Java概念、掌握J(rèn)DK環(huán)境配置(2)熟悉Java開(kāi)發(fā)過(guò)程
(3)掌握J(rèn)ava面向?qū)ο缶幊袒A(chǔ):封裝、繼承、多態(tài)(4)掌握J(rèn)ava接口編程,理解開(kāi)發(fā)模式
二、實(shí)驗(yàn)儀器和設(shè)備
奔騰以上個(gè)人計(jì)算機(jī),windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開(kāi)發(fā)環(huán)境(Eclipse)
三、實(shí)驗(yàn)內(nèi)容與過(guò)程
1、JDK環(huán)境配置
2、面向?qū)ο蟮姆庋b性
范例:設(shè)計(jì)一個(gè)表示學(xué)生的類,里面有學(xué)生的三項(xiàng)成績(jī):計(jì)算機(jī)成績(jī)、數(shù)學(xué)成績(jī)、英語(yǔ)成績(jī)。要求可以求總分、平均分、最高分、最低分,并且可以輸出一個(gè)學(xué)生的完整信息。代碼如下: class Student{ private String name;private int age;private float english;private float computer;private float math;public Student(){} public Student(String n,int a,float e,float c,float m){
this.setName(n);
this.setAge(a);
this.setEnglish(e);
this.setComputer(c);
this.setMath(m);} public float sum(){
return english + computer + math;} public float avg(){
return this.sum()/ 3;} public float max(){
float max = computer>math?computer:math;
max = max>english?max:english;
return max;} public float min(){
float min = computer